{"version":3,"file":"vendor.7b27730d795760db.es5.js","mappings":"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L,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,WAEPC,YAAa,CACX,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,WAEPC,WAAY,CACV,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,WAEPC,OAAQ,CACN,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,WAEPC,MAAO,CACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,WAEPC,UAAW,CACT,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,WAEPC,MAAO,CACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,WAEPC,UAAW,CACT,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,WAEPC,MAAO,CACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,WAEPC,SAAU,CACR,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,WAEPC,KAAM,CACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,WAEPC,UAAW,CACT,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,WAEPC,SAAU,CACR,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,WAEPC,KAAM,CACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,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","sources":["webpack:///../../node_modules/@apollo/client/cache/core/cache.js","webpack:///../../node_modules/@apollo/client/cache/core/types/common.js","webpack:///../../node_modules/@apollo/client/utilities/common/maybeDeepFreeze.js","webpack:///../../node_modules/@apollo/client/cache/inmemory/helpers.js","webpack:///../../node_modules/@apollo/client/cache/inmemory/entityStore.js","webpack:///../../node_modules/@apollo/client/cache/inmemory/readFromStore.js","webpack:///../../node_modules/@apollo/client/cache/inmemory/writeToStore.js","webpack:///../../node_modules/@apollo/client/utilities/common/stringifyForDisplay.js","webpack:///../../node_modules/@apollo/client/cache/inmemory/policies.js","webpack:///../../node_modules/@apollo/client/cache/inmemory/inMemoryCache.js","webpack:///../../node_modules/@apollo/client/cache/inmemory/object-canon.js","webpack:///../../node_modules/@wry/context/lib/context.esm.js","webpack:///../../node_modules/@apollo/client/cache/inmemory/reactiveVars.js","webpack:///../../node_modules/@apollo/client/link/core/execute.js","webpack:///../../node_modules/@apollo/client/utilities/common/compact.js","webpack:///../../node_modules/@apollo/client/version.js","webpack:///../../node_modules/@apollo/client/utilities/observables/asyncMap.js","webpack:///../../node_modules/@apollo/client/utilities/common/errorHandling.js","webpack:///../../node_modules/@apollo/client/utilities/observables/iteration.js","webpack:///../../node_modules/@apollo/client/utilities/observables/subclassing.js","webpack:///../../node_modules/@apollo/client/utilities/observables/Concast.js","webpack:///../../node_modules/@apollo/client/core/ObservableQuery.js","webpack:///../../node_modules/@apollo/client/core/LocalState.js","webpack:///../../node_modules/@apollo/client/core/QueryInfo.js","webpack:///../../node_modules/@apollo/client/core/QueryManager.js","webpack:///../../node_modules/@apollo/client/core/ApolloClient.js","webpack:///../../node_modules/@apollo/client/core/networkStatus.js","webpack:///../../node_modules/@apollo/client/errors/index.js","webpack:///../../node_modules/@apollo/client/link/core/ApolloLink.js","webpack:///../../node_modules/@apollo/client/link/utils/createOperation.js","webpack:///../../node_modules/@apollo/client/link/utils/transformOperation.js","webpack:///../../node_modules/@apollo/client/link/utils/validateOperation.js","webpack:///../../node_modules/@apollo/client/link/core/from.js","webpack:///../../node_modules/@apollo/client/link/error/index.js","webpack:///../../node_modules/@apollo/client/link/http/serializeFetchParameter.js","webpack:///../../node_modules/@apollo/client/link/utils/throwServerError.js","webpack:///../../node_modules/@apollo/client/link/http/parseAndCheckHttpResponse.js","webpack:///../../node_modules/@apollo/client/link/http/checkFetcher.js","webpack:///../../node_modules/@apollo/client/link/http/selectHttpOptionsAndBody.js","webpack:///../../node_modules/@apollo/client/link/utils/fromError.js","webpack:///../../node_modules/@apollo/client/link/http/createHttpLink.js","webpack:///../../node_modules/@apollo/client/link/http/selectURI.js","webpack:///../../node_modules/@apollo/client/link/http/createSignalIfSupported.js","webpack:///../../node_modules/@apollo/client/link/http/rewriteURIForGET.js","webpack:///../../node_modules/@apollo/client/link/http/HttpLink.js","webpack:///../../node_modules/graphql/error/syntaxError.mjs","webpack:///../../node_modules/graphql/language/tokenKind.mjs","webpack:///../../node_modules/graphql/language/source.mjs","webpack:///../../node_modules/graphql/language/directiveLocation.mjs","webpack:///../../node_modules/graphql/language/lexer.mjs","webpack:///../../node_modules/graphql/language/parser.mjs","webpack:///../../node_modules/@apollo/client/node_modules/graphql-tag/lib/index.js","webpack:///../../node_modules/@apollo/client/react/context/ApolloContext.js","webpack:///../../node_modules/@apollo/client/react/context/ApolloProvider.js","webpack:///../../node_modules/@apollo/client/react/data/OperationData.js","webpack:///../../node_modules/@apollo/client/react/data/MutationData.js","webpack:///../../node_modules/@apollo/client/react/hooks/useMutation.js","webpack:///../../node_modules/@apollo/client/react/data/QueryData.js","webpack:///../../node_modules/@apollo/client/react/hooks/utils/useBaseQuery.js","webpack:///../../node_modules/@apollo/client/react/hooks/utils/useDeepMemo.js","webpack:///../../node_modules/@apollo/client/react/hooks/utils/useAfterFastRefresh.js","webpack:///../../node_modules/@apollo/client/react/hooks/useQuery.js","webpack:///../../node_modules/@apollo/client/react/parser/index.js","webpack:///../../node_modules/@apollo/client/utilities/common/arrays.js","webpack:///../../node_modules/@apollo/client/utilities/common/canUse.js","webpack:///../../node_modules/@apollo/client/utilities/common/cloneDeep.js","webpack:///../../node_modules/@apollo/client/utilities/common/makeUniqueId.js","webpack:///../../node_modules/@apollo/client/utilities/common/maybe.js","webpack:///../../node_modules/@apollo/client/utilities/common/mergeDeep.js","webpack:///../../node_modules/@apollo/client/utilities/common/objects.js","webpack:///../../node_modules/@apollo/client/utilities/common/global.js","webpack:///../../node_modules/@apollo/client/utilities/globals/DEV.js","webpack:///../../node_modules/ts-invariant/process/index.js","webpack:///../../node_modules/graphql/polyfills/objectEntries.mjs","webpack:///../../node_modules/graphql/jsutils/mapValue.mjs","webpack:///../../node_modules/graphql/jsutils/toObjMap.mjs","webpack:///../../node_modules/graphql/jsutils/keyValMap.mjs","webpack:///../../node_modules/graphql/jsutils/didYouMean.mjs","webpack:///../../node_modules/graphql/jsutils/identityFunc.mjs","webpack:///../../node_modules/graphql/jsutils/naturalCompare.mjs","webpack:///../../node_modules/graphql/jsutils/suggestionList.mjs","webpack:///../../node_modules/graphql/utilities/valueFromASTUntyped.mjs","webpack:///../../node_modules/graphql/type/definition.mjs","webpack:///../../node_modules/graphql/jsutils/keyMap.mjs","webpack:///../../node_modules/@apollo/client/utilities/globals/index.js","webpack:///../../node_modules/@apollo/client/utilities/globals/graphql.js","webpack:///../../node_modules/@apollo/client/utilities/graphql/directives.js","webpack:///../../node_modules/@apollo/client/utilities/graphql/fragments.js","webpack:///../../node_modules/@apollo/client/utilities/graphql/getFromAST.js","webpack:///../../node_modules/@apollo/client/utilities/graphql/storeUtils.js","webpack:///../../node_modules/@apollo/client/utilities/common/filterInPlace.js","webpack:///../../node_modules/@apollo/client/utilities/graphql/transform.js","webpack:///../../node_modules/@fluentui/dom-utilities/lib/elementContains.js","webpack:///../../node_modules/@fluentui/dom-utilities/lib/getParent.js","webpack:///../../node_modules/@fluentui/dom-utilities/lib/getVirtualParent.js","webpack:///../../node_modules/@fluentui/dom-utilities/lib/isVirtualElement.js","webpack:///../../node_modules/@fluentui/react-compose/node_modules/tslib/tslib.es6.js","webpack:///../../node_modules/@fluentui/react-compose/lib/computeDisplayNames.js","webpack:///../../node_modules/@fluentui/react-compose/lib/defaultComposeOptions.js","webpack:///../../node_modules/@fluentui/react-compose/lib/compose.js","webpack:///../../node_modules/@fluentui/react-compose/lib/mergeComposeOptions.js","webpack:///../../node_modules/@fluentui/react-compose/lib/wasComposedPreviously.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/components/Alert/AlertDismissAction.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/components/Box/Box.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/components/Button/ButtonContent.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/components/Button/Button.js","webpack:///../../node_modules/@fluentui/react-northstar/node_modules/@fluentui/accessibility/dist/es/behaviors/Button/buttonGroupBehavior.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/components/Button/ButtonGroup.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/components/Card/CardExpandableBox.js","webpack:///../../node_modules/compute-scroll-into-view/es/index.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack:///../../node_modules/downshift/node_modules/compute-scroll-into-view/dist/index.mjs","webpack:///../../node_modules/downshift/dist/downshift.esm.js","webpack:///../../node_modules/@fluentui/react-northstar/node_modules/@fluentui/accessibility/dist/es/behaviors/List/listBehavior.js","webpack:///../../node_modules/@fluentui/react-northstar/node_modules/@fluentui/accessibility/dist/es/behaviors/List/selectableListBehavior.js","webpack:///../../node_modules/@fluentui/react-northstar/node_modules/@fluentui/accessibility/dist/es/behaviors/List/navigableListBehavior.js","webpack:///../../node_modules/@fluentui/react-northstar/node_modules/@fluentui/accessibility/dist/es/behaviors/List/basicListBehavior.js","webpack:///../../node_modules/@fluentui/react-northstar/node_modules/@fluentui/react-bindings/dist/es/context-selector/utils.js","webpack:///../../node_modules/@fluentui/react-northstar/node_modules/@fluentui/react-bindings/dist/es/context-selector/createContext.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/components/List/listContext.js","webpack:///../../node_modules/@fluentui/react-northstar/node_modules/@fluentui/accessibility/dist/es/behaviors/List/listItemBehavior.js","webpack:///../../node_modules/@fluentui/react-northstar/node_modules/@fluentui/accessibility/dist/es/behaviors/List/selectableListItemBehavior.js","webpack:///../../node_modules/@fluentui/react-northstar/node_modules/@fluentui/accessibility/dist/es/behaviors/List/navigableListItemBehavior.js","webpack:///../../node_modules/@fluentui/react-northstar/node_modules/@fluentui/accessibility/dist/es/behaviors/List/basicListItemBehavior.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/components/List/ListItemMedia.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/components/List/ListItem.js","webpack:///../../node_modules/@fluentui/react-northstar/node_modules/@fluentui/react-bindings/dist/es/context-selector/useContextSelectors.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/components/List/List.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/components/Dropdown/DropdownSearchInput.js","webpack:///../../node_modules/@fluentui/react-northstar/node_modules/@fluentui/react-component-event-listener/dist/es/useEventListener.js","webpack:///../../node_modules/@fluentui/react-northstar/node_modules/@fluentui/react-component-event-listener/dist/es/EventListener.js","webpack:///../../node_modules/@fluentui/react-northstar/node_modules/@fluentui/react-bindings/dist/es/FocusZone/FocusTrapZone.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/utils/doesNodeContainClick.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/components/Portal/Portal.js","webpack:///../../node_modules/@fluentui/react-northstar/node_modules/@fluentui/react-icons-northstar/dist/es/components/ChevronDownIcon.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/components/Dropdown/Dropdown.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/utils/positioner/partitionPopperPropsFromShorthand.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/components/Dropdown/DropdownItem.js","webpack:///../../node_modules/@fluentui/react-northstar/node_modules/@fluentui/accessibility/dist/es/behaviors/Dropdown/dropdownSelectedItemBehavior.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/components/Dropdown/DropdownSelectedItem.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/components/Flex/FlexItem.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/components/Flex/Flex.js","webpack:///../../node_modules/@fluentui/react-northstar/node_modules/@fluentui/accessibility/dist/es/behaviors/Image/imageBehavior.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/components/Image/Image.js","webpack:///../../node_modules/@fluentui/react-northstar/node_modules/@fluentui/accessibility/dist/es/behaviors/Input/inputBehavior.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/utils/htmlPropsUtils.js","webpack:///../../node_modules/@fluentui/react-northstar/node_modules/@fluentui/react-icons-northstar/dist/es/components/CheckmarkCircleIcon.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/components/Input/InputLabel.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/components/Form/utils/formFieldBaseContext.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/components/Input/Input.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/components/List/ListItemContent.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/components/List/ListItemContentMedia.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/components/List/ListItemEndMedia.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/components/List/ListItemHeader.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/components/List/ListItemHeaderMedia.js","webpack:///../../node_modules/@fluentui/react-northstar/node_modules/@fluentui/accessibility/dist/es/behaviors/Loader/loaderBehavior.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/components/Loader/Loader.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/components/Portal/PortalInner.js","webpack:///../../node_modules/@fluentui/react-northstar/node_modules/@fluentui/react-bindings/dist/es/telemetry/types.js","webpack:///../../node_modules/fela-utils/es/processStyleWithPlugins.js","webpack:///../../node_modules/fela-utils/es/styleTypes.js","webpack:///../../node_modules/fela-utils/es/isNestedSelector.js","webpack:///../../node_modules/fela-utils/es/normalizeNestedProperty.js","webpack:///../../node_modules/fela-utils/es/isMediaQuery.js","webpack:///../../node_modules/fela-utils/es/generateCombinedMediaQuery.js","webpack:///../../node_modules/fela-utils/es/isSupport.js","webpack:///../../node_modules/fela-utils/es/generateDeclarationReference.js","webpack:///../../node_modules/fela-utils/es/isUndefinedValue.js","webpack:///../../node_modules/fela-utils/es/generateCSSSelector.js","webpack:///../../node_modules/fela/es/generateClassName.js","webpack:///../../node_modules/fela/es/isBase64.js","webpack:///../../node_modules/fela/es/getFontUrl.js","webpack:///../../node_modules/fela/es/getFontFormat.js","webpack:///../../node_modules/fela/es/generateFontSource.js","webpack:///../../node_modules/fela/es/isSafeClassName.js","webpack:///../../node_modules/fela/es/validateSelectorPrefix.js","webpack:///../../node_modules/fela/es/createRenderer.js","webpack:///../../node_modules/fela/es/generateAnimationName.js","webpack:///../../node_modules/fela/es/cssifyKeyframe.js","webpack:///../../node_modules/fela/es/toCSSString.js","webpack:///../../node_modules/fela/es/getFontLocals.js","webpack:///../../node_modules/fela/es/cssifyFontFace.js","webpack:///../../node_modules/fela/es/generateStaticReference.js","webpack:///../../node_modules/fela/es/cssifyStaticStyle.js","webpack:///../../node_modules/fela/es/minifyCSSString.js","webpack:///../../node_modules/fela-plugin-embedded/es/index.js","webpack:///../../node_modules/fela-plugin-fallback-value/es/index.js","webpack:///../../node_modules/fela-plugin-custom-property/es/index.js","webpack:///../../node_modules/fela-plugin-placeholder-prefixer/es/index.js","webpack:///../../node_modules/rtl-css-js/dist/esm/convert-9768a965.js","webpack:///../../node_modules/rtl-css-js/dist/esm/index.js","webpack:///../../node_modules/fela-utils/es/getRuleScore.js","webpack:///../../node_modules/fela-dom/es/dom/rehydration/extractSupportQuery.js","webpack:///../../node_modules/fela-dom/es/dom/rehydration/generateCacheEntry.js","webpack:///../../node_modules/fela-dom/es/dom/rehydration/rehydrateRules.js","webpack:///../../node_modules/fela-dom/es/dom/rehydration/rehydrateSupportRules.js","webpack:///../../node_modules/fela-dom/es/dom/connection/calculateNodeScore.js","webpack:///../../node_modules/fela-utils/es/clusterCache.js","webpack:///../../node_modules/fela-utils/es/generateCSSRule.js","webpack:///../../node_modules/fela-dom/es/dom/connection/getNodeFromCache.js","webpack:///../../node_modules/fela-dom/es/dom/connection/queryNode.js","webpack:///../../node_modules/fela-dom/es/dom/connection/createNode.js","webpack:///../../node_modules/fela-utils/es/generateCSSSupportRule.js","webpack:///../../node_modules/fela-utils/es/applyKeysInOrder.js","webpack:///../../node_modules/fela-utils/es/insertAtIndex.js","webpack:///../../node_modules/fela-utils/es/objectSortByScore.js","webpack:///../../node_modules/fela-utils/es/sheetMap.js","webpack:///../../node_modules/fela-utils/es/cssifySupportRules.js","webpack:///../../node_modules/fela-dom/es/server/getRehydrationIndex.js","webpack:///../../node_modules/fela-dom/es/server/renderToSheetList.js","webpack:///../../node_modules/fela-dom/es/dom/connection/insertRule.js","webpack:///../../node_modules/fela-dom/es/dom/connection/insertRuleInDevMode.js","webpack:///../../node_modules/fela-dom/es/dom/render.js","webpack:///../../node_modules/fela-dom/es/dom/connection/createSubscription.js","webpack:///../../node_modules/fela-dom/es/dom/rehydrate.js","webpack:///../../node_modules/fela-bindings/es/RendererProviderFactory.js","webpack:///../../node_modules/react-fela/es/context.js","webpack:///../../node_modules/react-fela/es/RendererProvider.js","webpack:///../../node_modules/@fluentui/react-northstar/node_modules/@fluentui/react-northstar-fela-renderer/dist/es/felaDisableAnimationsPlugin.js","webpack:///../../node_modules/inline-style-expand-shorthand/es/expandProperty.js","webpack:///../../node_modules/@fluentui/react-northstar/node_modules/@fluentui/react-northstar-fela-renderer/dist/es/felaExpandCssShorthandsPlugin.js","webpack:///../../node_modules/@fluentui/react-northstar/node_modules/@fluentui/react-northstar-fela-renderer/dist/es/felaPerformanceEnhancer.js","webpack:///../../node_modules/@fluentui/react-northstar/node_modules/@fluentui/react-northstar-fela-renderer/dist/es/felaSanitizeCssPlugin.js","webpack:///../../node_modules/@fluentui/react-northstar/node_modules/@fluentui/react-northstar-fela-renderer/dist/es/felaStylisEnhancer.js","webpack:///../../node_modules/@fluentui/react-northstar/node_modules/@fluentui/react-northstar-fela-renderer/dist/es/createFelaRenderer.js","webpack:///../../node_modules/@fluentui/react-northstar/node_modules/@fluentui/react-northstar-fela-renderer/dist/es/felaFocusVisibleEnhancer.js","webpack:///../../node_modules/@fluentui/react-northstar/node_modules/@fluentui/react-northstar-fela-renderer/dist/es/felaInvokeKeyframesPlugin.js","webpack:///../../node_modules/fela-plugin-rtl/es/index.js","webpack:///../../node_modules/@fluentui/react-northstar/node_modules/@fluentui/react-bindings/dist/es/renderer/RendererContext.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/utils/mergeProviderContexts.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/components/Provider/ProviderConsumer.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/components/Provider/Provider.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/components/Provider/usePortalBox.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/components/Skeleton/SkeletonAvatar.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/components/Skeleton/SkeletonButton.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/components/Skeleton/SkeletonInput.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/components/Skeleton/SkeletonLine.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/components/Skeleton/SkeletonShape.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/components/Text/Text.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/colorUtils.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams-v2/components/Chat/chatVariables.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams-v2/components/Chat/chatMessageVariables.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams-v2/index.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams-v2/siteVariables.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/categoryColors.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/colors.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Divider/dividerVariables.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Menu/menuVariables.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/utils/date-time-utilities/dateValues/dateValues.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/animations/timingFunctions.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/animations/durations.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/animations/scale.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/animations/fade.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/animations/slide.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/animations/index.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/siteVariables.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Accordion/accordionVariables.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Attachment/attachmentVariables.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Alert/alertVariables.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Avatar/avatarVariables.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Button/buttonVariables.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Breadcrumb/breadcrumbVariables.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Chat/chatVariables.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Chat/chatItemVariables.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Chat/chatMessageVariables.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Chat/chatMessageDetailsVariables.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Chat/chatMessageReadStatusVariables.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Checkbox/checkboxVariables.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Dialog/dialogVariables.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Dropdown/dropdownVariables.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Embed/embedVariables.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Flex/flexVariables.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Flex/flexItemVariables.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Form/formVariables.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Form/formFieldVariables.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Form/formMessageVariables.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Form/formLabelVariables.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Grid/gridVariables.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Header/headerVariables.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Header/headerDescriptionVariables.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/SvgIcon/svgIconVariables.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Image/imageVariables.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Input/inputVariables.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Input/inputLabelVariables.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Label/labelVariables.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Layout/layoutVariables.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Loader/loaderVariables.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Loader/loaderSvgDataUrl.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/ItemLayout/itemLayoutVariables.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/List/listItemVariables.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Pill/pillVariables.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Popup/popupContentVariables.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Provider/providerVariables.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/RadioGroup/radioGroupItemVariables.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Reaction/reactionVariables.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Reaction/reactionGroupVariables.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Segment/segmentVariables.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Skeleton/skeletonVariables.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Slider/sliderVariables.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Status/statusVariables.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Text/textVariables.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/TextArea/textAreaVariables.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Toolbar/toolbarVariables.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Tree/treeTitleVariables.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Video/videoVariables.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Tooltip/tooltipContentVariables.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/SplitButton/splitButtonVariables.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Carousel/carouselVariables.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Carousel/carouselNavigationVariables.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Table/tableVariables.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Card/cardVariables.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Datepicker/datepickerVariables.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Accordion/accordionStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Accordion/accordionContentStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Accordion/accordionTitleStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Accordion/activeIndicatorUrl.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Alert/alertStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/getBorderFocusStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/getIconFillOrOutlineStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Alert/dismissIndicatorUrl.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Alert/alertDismissActionStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/components/Attachment/AttachmentAction.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Attachment/attachmentStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Attachment/attachmentActionStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Attachment/attachmentBodyStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Attachment/attachmentDescriptionStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Attachment/attachmentHeaderStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Attachment/attachmentIconStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Avatar/avatarStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Avatar/avatarStatusStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Avatar/avatarStatusIconStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Avatar/avatarImageStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Avatar/avatarIconStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Avatar/avatarLabelStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Button/buttonStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Button/buttonGroupStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Button/buttonContentStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Breadcrumb/breadcrumbItemStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Breadcrumb/breadcrumbDividerStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Breadcrumb/breadcrumbLinkStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Breadcrumb/breadcrumbStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Chat/chatStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Chat/chatItemStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/components/Chat/ChatMessage.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Chat/chatMessageStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Chat/chatMessageDetailsStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Chat/chatMessageReadStatusStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/components/Checkbox/Checkbox.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Checkbox/checkboxIndicatorUrl.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Checkbox/checkboxIndeterminateIndicatorUrl.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Checkbox/checkboxStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Dialog/dialogStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Dialog/dialogFooterStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Divider/dividerStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Divider/dividerContentStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Dropdown/dropdownStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Dropdown/dropdownSearchInputStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Dropdown/dropdownSelectedItemStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Dropdown/dropdownItemStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Dropdown/checkableIndicatorUrl.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/components/Embed/Embed.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Embed/pauseIndicatorUrl.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Embed/embedStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Embed/playIndicatorUrl.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Form/formStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Form/formFieldStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Form/formLabelStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Form/formMessageStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Flex/utils.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Flex/flexStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Flex/flexItemStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Grid/gridStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/styles/translateAlignProp.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Header/headerStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Header/headerDescriptionStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/SvgIcon/svgIconStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Image/imageStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Input/inputStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Input/inputLabelStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Label/labelStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/styles/debugStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Layout/layoutStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Loader/loaderStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/ItemLayout/itemLayoutStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/List/listStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/List/listItemStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/List/listItemContentStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/List/listItemContentMediaStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/List/listItemEndMediaStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/List/listItemHeaderStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/List/listItemHeaderMediaStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/List/listItemMediaStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Menu/menuStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Menu/menuItemStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Menu/menuItemIconStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Menu/menuItemContentStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Menu/submenuIndicatorUrl.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Menu/menuItemIndicatorStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/components/Menu/MenuItem.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/components/Menu/MenuItemIndicator.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Menu/menuItemWrapperStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Menu/menuDividerStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/components/Popup/PopupContent.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/MenuButton/menuButtonStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Pill/pillStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Pill/pillContentStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Pill/pillActionStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Pill/pillImageStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Pill/pillIconStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/getPointerStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Popup/popupContentStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Provider/providerStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/RadioGroup/radioGroupStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/components/RadioGroup/RadioGroupItem.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/RadioGroup/radioGroupItemStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Segment/segmentStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Skeleton/utils/keyframes.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Skeleton/utils/animations.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Skeleton/skeletonStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Skeleton/skeletonLineStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Skeleton/skeletonShapeStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Skeleton/skeletonButtonStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Skeleton/skeletonTextStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Skeleton/skeletonInputStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Skeleton/skeletonAvatarStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/components/Slider/Slider.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Slider/sliderStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/components/Reaction/Reaction.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Reaction/reactionStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Reaction/reactionGroupStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Status/statusStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/SplitButton/splitButtonStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/SplitButton/toggleIndicatorUrl.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/SplitButton/splitButtonToggleStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Text/textStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/TextArea/textAreaStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Toolbar/toolbarStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Toolbar/toolbarRadioGroupStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Toolbar/toolbarCustomItemStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Toolbar/toolbarDividerStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Toolbar/toolbarItemStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Toolbar/toolbarMenuStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Toolbar/toolbarMenuDividerStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Toolbar/submenuIndicatorUrl.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Toolbar/activeIndicatorUrl.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/components/Toolbar/ToolbarMenuItemSubmenuIndicator.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/components/Toolbar/ToolbarMenuItemActiveIndicator.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Toolbar/toolbarMenuItemStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Toolbar/toolbarMenuItemIconStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Toolbar/toolbarMenuItemSubmenuIndicatorStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Toolbar/toolbarMenuItemActiveIndicatorStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Toolbar/toolbarMenuRadioGroupStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Toolbar/toolbarMenuRadioGroupWrapperStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Tree/treeStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/components/Tree/TreeTitle.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Tree/treeItemStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Tree/treeTitleStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Tree/checkboxIndicatorIndeterminatedUrl.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Video/videoStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Tooltip/tooltipContentStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/pointerSvgUrl.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Carousel/carouselStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Carousel/carouselItemStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Carousel/carouselNavigationStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/components/Carousel/CarouselNavigationItem.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Carousel/carouselNavigationItemStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/components/Carousel/CarouselPaddle.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Carousel/paddleIndicatorUrl.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Carousel/carouselPaddleStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Carousel/carouselPaddlesContainerStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Table/tableStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Table/tableRowStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Table/tableCellStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Card/cardStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Card/cardHeaderStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Card/cardBodyStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Card/cardFooterStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Card/cardPreviewStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Card/cardTopControlsStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Card/cardExpandableBoxStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Datepicker/datepickerStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Datepicker/datepickerCalendarStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Datepicker/datepickerCalendarHeaderStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Datepicker/datepickerCalendarHeaderCellStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Datepicker/datepickerCalendarCellStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Datepicker/datepickerCalendarCellButtonStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Datepicker/datepickerCalendarGridStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/components/Datepicker/DatepickerCalendarCellButton.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Datepicker/datepickerCalendarGridRowStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/staticStyles/index.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/staticStyles/normalizeCSS.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/staticStyles/globalStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/index.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/themes/teams/fontFaces.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/utils/accessibility/Styles/accessibilityStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/utils/commonPropTypes.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/utils/factories.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/utils/fontSizeUtility.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/utils/getOrGenerateIdFromShorthand.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/utils/isBrowser.js","webpack:///../../node_modules/@fluentui/react-northstar/node_modules/@fluentui/react-bindings/dist/es/hooks/useMergedRefs.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/utils/positioner/positioningHelper.js","webpack:///../../node_modules/@fluentui/react-northstar/node_modules/@fluentui/react-bindings/dist/es/hooks/useEventCallback.js","webpack:///../../node_modules/@fluentui/react-northstar/node_modules/@fluentui/react-bindings/dist/es/hooks/useCallbackRef.js","webpack:///../../node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","webpack:///../../node_modules/@popperjs/core/lib/enums.js","webpack:///../../node_modules/@popperjs/core/lib/dom-utils/getWindow.js","webpack:///../../node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","webpack:///../../node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","webpack:///../../node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","webpack:///../../node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","webpack:///../../node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","webpack:///../../node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","webpack:///../../node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","webpack:///../../node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","webpack:///../../node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","webpack:///../../node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","webpack:///../../node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","webpack:///../../node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","webpack:///../../node_modules/@popperjs/core/lib/dom-utils/contains.js","webpack:///../../node_modules/@popperjs/core/lib/utils/rectToClientRect.js","webpack:///../../node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","webpack:///../../node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","webpack:///../../node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","webpack:///../../node_modules/@popperjs/core/lib/utils/getBasePlacement.js","webpack:///../../node_modules/@popperjs/core/lib/utils/getVariation.js","webpack:///../../node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","webpack:///../../node_modules/@popperjs/core/lib/utils/computeOffsets.js","webpack:///../../node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","webpack:///../../node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","webpack:///../../node_modules/@popperjs/core/lib/utils/expandToHashMap.js","webpack:///../../node_modules/@popperjs/core/lib/utils/detectOverflow.js","webpack:///../../node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","webpack:///../../node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","webpack:///../../node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","webpack:///../../node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","webpack:///../../node_modules/@popperjs/core/lib/utils/orderModifiers.js","webpack:///../../node_modules/@popperjs/core/lib/index.js","webpack:///../../node_modules/@popperjs/core/lib/utils/debounce.js","webpack:///../../node_modules/@popperjs/core/lib/utils/mergeByName.js","webpack:///../../node_modules/@popperjs/core/lib/modifiers/eventListeners.js","webpack:///../../node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","webpack:///../../node_modules/@popperjs/core/lib/modifiers/computeStyles.js","webpack:///../../node_modules/@popperjs/core/lib/modifiers/offset.js","webpack:///../../node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","webpack:///../../node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","webpack:///../../node_modules/@popperjs/core/lib/utils/within.js","webpack:///../../node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","webpack:///../../node_modules/@popperjs/core/lib/utils/getAltAxis.js","webpack:///../../node_modules/@popperjs/core/lib/modifiers/arrow.js","webpack:///../../node_modules/@popperjs/core/lib/modifiers/hide.js","webpack:///../../node_modules/@popperjs/core/lib/popper.js","webpack:///../../node_modules/@popperjs/core/lib/modifiers/applyStyles.js","webpack:///../../node_modules/@popperjs/core/lib/modifiers/flip.js","webpack:///../../node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/utils/positioner/getScrollParent.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/utils/positioner/getBoundary.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/utils/positioner/usePopper.js","webpack:///../../node_modules/@fluentui/react-northstar/node_modules/@fluentui/react-bindings/dist/es/hooks/useDeepMemo.js","webpack:///../../node_modules/@fluentui/react-northstar/node_modules/@fluentui/react-bindings/dist/es/hooks/useFirstMount.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/utils/positioner/Popper.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/utils/positioner/types.internal.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/utils/rtlTextContainer.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/utils/stringLiteralsArray.js","webpack:///../../node_modules/@fluentui/react-northstar/dist/es/utils/whatInput.js","webpack:///../../node_modules/@fluentui/react-northstar/node_modules/@fluentui/accessibility/dist/es/attributes.js","webpack:///../../node_modules/@fluentui/react-northstar/node_modules/@fluentui/accessibility/dist/es/behaviors/Box/indicatorBehavior.js","webpack:///../../node_modules/@fluentui/react-northstar/node_modules/@fluentui/accessibility/dist/es/behaviors/Button/buttonBehavior.js","webpack:///../../node_modules/@fluentui/react-northstar/node_modules/@fluentui/accessibility/dist/es/focusZone/types.js","webpack:///../../node_modules/@fluentui/react-northstar/node_modules/@fluentui/accessibility/dist/es/keyboard-key/codes.js","webpack:///../../node_modules/@fluentui/react-northstar/node_modules/@fluentui/accessibility/dist/es/keyboard-key/index.js","webpack:///../../node_modules/@fluentui/react-northstar/node_modules/@fluentui/react-bindings/dist/es/FocusZone/focusUtilities.js","webpack:///../../node_modules/@fluentui/react-northstar/node_modules/@fluentui/react-bindings/dist/es/context.js","webpack:///../../node_modules/@fluentui/react-northstar/node_modules/@fluentui/react-northstar-styles-renderer/dist/es/noopRenderer.js","webpack:///../../node_modules/@fluentui/react-northstar/node_modules/@fluentui/react-bindings/dist/es/accessibility/getKeyDownHandlers.js","webpack:///../../node_modules/@fluentui/react-northstar/node_modules/@fluentui/react-bindings/dist/es/accessibility/shouldHandleOnKeys.js","webpack:///../../node_modules/@fluentui/react-northstar/node_modules/@fluentui/react-bindings/dist/es/accessibility/getAccessibility.js","webpack:///../../node_modules/@uifabric/utilities/lib/dom/raiseClick.js","webpack:///../../node_modules/@uifabric/merge-styles/node_modules/tslib/tslib.es6.js","webpack:///../../node_modules/@uifabric/merge-styles/lib/Stylesheet.js","webpack:///../../node_modules/@uifabric/merge-styles/lib/StyleOptionsState.js","webpack:///../../node_modules/@uifabric/merge-styles/lib/transforms/kebabRules.js","webpack:///../../node_modules/@uifabric/merge-styles/lib/getVendorSettings.js","webpack:///../../node_modules/@uifabric/merge-styles/lib/transforms/prefixRules.js","webpack:///../../node_modules/@uifabric/merge-styles/lib/transforms/provideUnits.js","webpack:///../../node_modules/@uifabric/merge-styles/lib/transforms/rtlifyRules.js","webpack:///../../node_modules/@uifabric/merge-styles/lib/styleToClassName.js","webpack:///../../node_modules/@uifabric/merge-styles/lib/mergeStyles.js","webpack:///../../node_modules/@uifabric/merge-styles/lib/extractStyleParts.js","webpack:///../../node_modules/@uifabric/utilities/lib/scroll.js","webpack:///../../node_modules/@fluentui/dom-utilities/lib/findElementRecursive.js","webpack:///../../node_modules/@fluentui/dom-utilities/lib/elementContainsAttribute.js","webpack:///../../node_modules/@fluentui/react-northstar/node_modules/@fluentui/react-bindings/dist/es/FocusZone/FocusZone.js","webpack:///../../node_modules/@uifabric/utilities/lib/focus.js","webpack:///../../node_modules/@fluentui/react-northstar/node_modules/@fluentui/react-bindings/dist/es/hooks/useAccessibility.js","webpack:///../../node_modules/@fluentui/react-northstar/node_modules/@fluentui/react-bindings/dist/es/hooks/useAutoControlled.js","webpack:///../../node_modules/@fluentui/react-northstar/node_modules/@fluentui/react-bindings/dist/es/hooks/useIsomorphicLayoutEffect.js","webpack:///../../node_modules/@fluentui/react-northstar/node_modules/@fluentui/react-bindings/dist/es/hooks/useStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/node_modules/@fluentui/react-bindings/dist/es/hooks/useUnhandledProps.js","webpack:///../../node_modules/@fluentui/react-northstar/node_modules/@fluentui/react-bindings/dist/es/styles/resolveVariables.js","webpack:///../../node_modules/@fluentui/react-northstar/node_modules/@fluentui/react-bindings/dist/es/styles/resolveStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/node_modules/@fluentui/react-bindings/dist/es/styles/getStyles.js","webpack:///../../node_modules/@fluentui/react-northstar/node_modules/@fluentui/react-bindings/dist/es/telemetry/useTelemetry.js","webpack:///../../node_modules/@fluentui/react-northstar/node_modules/@fluentui/react-bindings/dist/es/utils/childrenExist.js","webpack:///../../node_modules/@fluentui/react-northstar/node_modules/@fluentui/react-bindings/dist/es/utils/getElementType.js","webpack:///../../node_modules/@fluentui/react-northstar/node_modules/@fluentui/react-bindings/dist/es/utils/getUnhandledProps.js","webpack:///../../node_modules/@fluentui/react-northstar/node_modules/@fluentui/react-component-ref/dist/es/RefFindNode.js","webpack:///../../node_modules/@fluentui/react-northstar/node_modules/@fluentui/react-component-ref/dist/es/RefForward.js","webpack:///../../node_modules/@fluentui/react-northstar/node_modules/@fluentui/react-component-ref/dist/es/Ref.js","webpack:///../../node_modules/@fluentui/react-northstar/node_modules/@fluentui/react-component-ref/dist/es/utils.js","webpack:///../../node_modules/@fluentui/react-northstar/node_modules/@fluentui/react-icons-northstar/dist/es/components/CloseIcon.js","webpack:///../../node_modules/@fluentui/react-northstar/node_modules/@fluentui/react-icons-northstar/dist/es/components/ExclamationCircleIcon.js","webpack:///../../node_modules/@fluentui/react-northstar/node_modules/@fluentui/react-icons-northstar/dist/es/utils/createSvgIcon.js","webpack:///../../node_modules/@fluentui/react-northstar/node_modules/@fluentui/react-icons-northstar/dist/es/utils/iconClassNames.js","webpack:///../../node_modules/@fluentui/react-northstar/node_modules/@fluentui/react-proptypes/dist/es/index.js","webpack:///../../node_modules/@fluentui/react-northstar/node_modules/@fluentui/styles/dist/es/callable.js","webpack:///../../node_modules/@fluentui/react-northstar/node_modules/@fluentui/styles/dist/es/createTheme.js","webpack:///../../node_modules/@fluentui/react-northstar/node_modules/@fluentui/styles/dist/es/deepmerge.js","webpack:///../../node_modules/@fluentui/react-northstar/node_modules/@fluentui/styles/dist/es/toCompactArray.js","webpack:///../../node_modules/@fluentui/react-northstar/node_modules/@fluentui/styles/dist/es/mergeThemes.js","webpack:///../../node_modules/@fluentui/react-northstar/node_modules/@fluentui/styles/dist/es/withDebugId.js","webpack:///../../node_modules/@microsoft/applicationinsights-core-js/node_modules/@microsoft/applicationinsights-shims/dist-esm/Constants.js","webpack:///../../node_modules/@microsoft/applicationinsights-core-js/node_modules/@microsoft/applicationinsights-shims/dist-esm/Helpers.js","webpack:///../../node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/HelperFuncs.js","webpack:///../../node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/PerfManager.js","webpack:///../../node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK.Enums/LoggingEnums.js","webpack:///../../node_modules/@microsoft/1ds-core-js/dist-esm/src/Enums.js","webpack:///../../node_modules/@microsoft/applicationinsights-core-js/node_modules/@microsoft/applicationinsights-shims/dist-esm/TsLibShims.js","webpack:///../../node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/EnvUtils.js","webpack:///../../node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/DiagnosticLogger.js","webpack:///../../node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/TelemetryPluginChain.js","webpack:///../../node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/ProcessTelemetryContext.js","webpack:///../../node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/Constants.js","webpack:///../../node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/BaseTelemetryPlugin.js","webpack:///../../node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/TelemetryHelpers.js","webpack:///../../node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/ChannelController.js","webpack:///../../node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/CookieMgr.js","webpack:///../../node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/BaseCore.js","webpack:///../../node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK.Enums/EventsDiscardedReason.js","webpack:///../../node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/NotificationManager.js","webpack:///../../node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/AppInsightsCore.js","webpack:///../../node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/RandomHelper.js","webpack:///../../node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/CoreUtils.js","webpack:///../../node_modules/@microsoft/1ds-core-js/dist-esm/src/Utils.js","webpack:///../../node_modules/@microsoft/1ds-core-js/dist-esm/src/AppInsightsCore.js","webpack:///../../node_modules/@microsoft/1ds-analytics-web-js/node_modules/@microsoft/1ds-properties-js/dist-esm/src/context/Application.js","webpack:///../../node_modules/@microsoft/1ds-analytics-web-js/node_modules/@microsoft/1ds-properties-js/dist-esm/src/context/Cloud.js","webpack:///../../node_modules/@microsoft/1ds-analytics-web-js/node_modules/@microsoft/1ds-properties-js/dist-esm/src/context/User.js","webpack:///../../node_modules/@microsoft/1ds-analytics-web-js/node_modules/@microsoft/1ds-properties-js/dist-esm/src/context/Web.js","webpack:///../../node_modules/@microsoft/1ds-analytics-web-js/node_modules/@microsoft/1ds-properties-js/dist-esm/src/context/OperatingSystem.js","webpack:///../../node_modules/@microsoft/1ds-analytics-web-js/node_modules/@microsoft/1ds-properties-js/dist-esm/src/context/IntWeb.js","webpack:///../../node_modules/@microsoft/1ds-analytics-web-js/node_modules/@microsoft/1ds-properties-js/dist-esm/src/context/Utc.js","webpack:///../../node_modules/@microsoft/1ds-analytics-web-js/node_modules/@microsoft/1ds-properties-js/dist-esm/src/context/Loc.js","webpack:///../../node_modules/@microsoft/1ds-analytics-web-js/node_modules/@microsoft/1ds-properties-js/dist-esm/src/context/Device.js","webpack:///../../node_modules/@microsoft/1ds-analytics-web-js/node_modules/@microsoft/1ds-properties-js/dist-esm/src/context/Session.js","webpack:///../../node_modules/@microsoft/1ds-analytics-web-js/node_modules/@microsoft/1ds-properties-js/dist-esm/src/context/Trace.js","webpack:///../../node_modules/@microsoft/1ds-analytics-web-js/node_modules/@microsoft/1ds-properties-js/dist-esm/src/ExtensionKeys.js","webpack:///../../node_modules/@microsoft/1ds-analytics-web-js/node_modules/@microsoft/1ds-properties-js/dist-esm/src/Extensions.js","webpack:///../../node_modules/@microsoft/1ds-analytics-web-js/node_modules/@microsoft/1ds-properties-js/dist-esm/src/context/Sdk.js","webpack:///../../node_modules/@microsoft/1ds-analytics-web-js/node_modules/@microsoft/1ds-properties-js/dist-esm/src/Utils.js","webpack:///../../node_modules/@microsoft/1ds-analytics-web-js/node_modules/@microsoft/1ds-properties-js/dist-esm/src/SessionManager.js","webpack:///../../node_modules/@microsoft/1ds-analytics-web-js/node_modules/@microsoft/1ds-properties-js/dist-esm/src/TelemetryContext.js","webpack:///../../node_modules/@microsoft/1ds-analytics-web-js/node_modules/@microsoft/1ds-properties-js/dist-esm/src/PropertiesPlugin.js","webpack:///../../node_modules/@microsoft/1ds-analytics-web-js/node_modules/@microsoft/1ds-post-js/dist-esm/src/DataModels.js","webpack:///../../node_modules/@microsoft/1ds-analytics-web-js/node_modules/@microsoft/1ds-post-js/dist-esm/src/EventBatch.js","webpack:///../../node_modules/@microsoft/1ds-analytics-web-js/node_modules/@microsoft/1ds-post-js/dist-esm/src/Serializer.js","webpack:///../../node_modules/@microsoft/1ds-analytics-web-js/node_modules/@microsoft/1ds-post-js/dist-esm/src/RetryPolicy.js","webpack:///../../node_modules/@microsoft/1ds-analytics-web-js/node_modules/@microsoft/1ds-post-js/dist-esm/src/HttpManager.js","webpack:///../../node_modules/@microsoft/1ds-analytics-web-js/node_modules/@microsoft/1ds-post-js/dist-esm/src/KillSwitch.js","webpack:///../../node_modules/@microsoft/1ds-analytics-web-js/node_modules/@microsoft/1ds-post-js/dist-esm/src/ClockSkewManager.js","webpack:///../../node_modules/@microsoft/1ds-analytics-web-js/node_modules/@microsoft/1ds-post-js/dist-esm/src/PostChannel.js","webpack:///../../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-shims/dist-esm/Constants.js","webpack:///../../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-shims/dist-esm/Helpers.js","webpack:///../../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-shims/dist-esm/TsLibShims.js","webpack:///../../node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/Common/DataSanitizer.js","webpack:///../../node_modules/@microsoft/applicationinsights-common/dist-esm/Constants.js","webpack:///../../node_modules/@microsoft/applicationinsights-common/dist-esm/TelemetryItemCreator.js","webpack:///../../node_modules/@microsoft/applicationinsights-common/node_modules/@microsoft/applicationinsights-shims/dist-esm/Constants.js","webpack:///../../node_modules/@microsoft/applicationinsights-common/node_modules/@microsoft/applicationinsights-shims/dist-esm/Helpers.js","webpack:///../../node_modules/@microsoft/applicationinsights-common/node_modules/@microsoft/applicationinsights-shims/dist-esm/TsLibShims.js","webpack:///../../node_modules/@microsoft/applicationinsights-common/dist-esm/Interfaces/Contracts/Generated/EventData.js","webpack:///../../node_modules/@microsoft/applicationinsights-common/dist-esm/Interfaces/Contracts/Generated/DataPointType.js","webpack:///../../node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/Event.js","webpack:///../../node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/Trace.js","webpack:///../../node_modules/@microsoft/applicationinsights-common/dist-esm/Interfaces/Contracts/Generated/MessageData.js","webpack:///../../node_modules/@microsoft/applicationinsights-common/dist-esm/Interfaces/Contracts/Generated/MetricData.js","webpack:///../../node_modules/@microsoft/applicationinsights-common/dist-esm/Interfaces/Contracts/Generated/DataPoint.js","webpack:///../../node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/Common/DataPoint.js","webpack:///../../node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/Metric.js","webpack:///../../node_modules/@microsoft/applicationinsights-common/dist-esm/Interfaces/Contracts/Generated/PageViewData.js","webpack:///../../node_modules/@microsoft/applicationinsights-common/dist-esm/HelperFuncs.js","webpack:///../../node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/PageView.js","webpack:///../../node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/PageViewPerformance.js","webpack:///../../node_modules/@microsoft/applicationinsights-common/dist-esm/Interfaces/Contracts/Generated/PageViewPerfData.js","webpack:///../../node_modules/@microsoft/applicationinsights-common/dist-esm/Interfaces/Contracts/Generated/StackFrame.js","webpack:///../../node_modules/@microsoft/applicationinsights-common/dist-esm/Interfaces/Contracts/Generated/ExceptionDetails.js","webpack:///../../node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/Exception.js","webpack:///../../node_modules/@microsoft/applicationinsights-common/dist-esm/Interfaces/Contracts/Generated/SeverityLevel.js","webpack:///../../node_modules/@microsoft/applicationinsights-common/dist-esm/Enums.js","webpack:///../../node_modules/@microsoft/applicationinsights-common/dist-esm/Interfaces/Contracts/Generated/ExceptionData.js","webpack:///../../node_modules/@microsoft/applicationinsights-common/dist-esm/StorageHelperFuncs.js","webpack:///../../node_modules/@microsoft/applicationinsights-common/dist-esm/DomHelperFuncs.js","webpack:///../../node_modules/@microsoft/applicationinsights-common/dist-esm/RequestResponseHeaders.js","webpack:///../../node_modules/@microsoft/applicationinsights-common/dist-esm/UrlHelperFuncs.js","webpack:///../../node_modules/@microsoft/applicationinsights-common/dist-esm/Util.js","webpack:///../../node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/RemoteDependencyData.js","webpack:///../../node_modules/@microsoft/applicationinsights-common/dist-esm/Interfaces/Contracts/Generated/RemoteDependencyData.js","webpack:///../../node_modules/@microsoft/applicationinsights-analytics-js/dist-esm/JavaScriptSDK/Telemetry/PageViewManager.js","webpack:///../../node_modules/@microsoft/applicationinsights-analytics-js/dist-esm/JavaScriptSDK/Telemetry/PageVisitTimeManager.js","webpack:///../../node_modules/@microsoft/applicationinsights-analytics-js/dist-esm/JavaScriptSDK/Telemetry/PageViewPerformanceManager.js","webpack:///../../node_modules/@microsoft/applicationinsights-analytics-js/dist-esm/JavaScriptSDK/ApplicationInsights.js","webpack:///../../node_modules/@microsoft/applicationinsights-common/dist-esm/applicationinsights-common.js","webpack:///../../node_modules/@microsoft/1ds-wa-js/dist-esm/src/common/Utils.js","webpack:///../../node_modules/@microsoft/1ds-wa-js/dist-esm/src/Enums.js","webpack:///../../node_modules/@microsoft/1ds-wa-js/dist-esm/src/DataCollector.js","webpack:///../../node_modules/@microsoft/1ds-wa-js/dist-esm/src/common/Constants.js","webpack:///../../node_modules/@microsoft/1ds-wa-js/dist-esm/src/Behaviors.js","webpack:///../../node_modules/@microsoft/1ds-wa-js/dist-esm/src/handlers/DomContentHandler.js","webpack:///../../node_modules/@microsoft/1ds-wa-js/dist-esm/src/handlers/AutoCaptureHandler.js","webpack:///../../node_modules/@microsoft/1ds-wa-js/dist-esm/src/events/WebEvent.js","webpack:///../../node_modules/@microsoft/1ds-wa-js/dist-esm/src/events/PageView.js","webpack:///../../node_modules/@microsoft/1ds-wa-js/dist-esm/src/events/PageAction.js","webpack:///../../node_modules/@microsoft/1ds-wa-js/dist-esm/src/events/ContentUpdate.js","webpack:///../../node_modules/@microsoft/1ds-wa-js/dist-esm/src/events/PageUnload.js","webpack:///../../node_modules/@microsoft/1ds-wa-js/dist-esm/src/events/PageViewPerformance.js","webpack:///../../node_modules/@microsoft/1ds-wa-js/dist-esm/src/Id.js","webpack:///../../node_modules/@microsoft/1ds-wa-js/dist-esm/src/Timespan.js","webpack:///../../node_modules/@microsoft/1ds-wa-js/dist-esm/src/WebAnalyticsPlugin.js","webpack:///../../node_modules/@microsoft/1ds-analytics-web-js/dist-esm/src/ApplicationInsights.js","webpack:///../../node_modules/@microsoft/applicationinsights-shims/dist-esm/Constants.js","webpack:///../../node_modules/@microsoft/applicationinsights-shims/dist-esm/Helpers.js","webpack:///../../node_modules/@microsoft/applicationinsights-shims/dist-esm/TsLibShims.js","webpack:///../../node_modules/@microsoft/dynamicproto-js/lib/dist/esm/dynamicproto-js.js","webpack:///../../node_modules/@remix-run/router/dist/router.js","webpack:///../../node_modules/@uifabric/utilities/lib/dom/getDocument.js","webpack:///../../node_modules/@uifabric/utilities/lib/dom/getWindow.js","webpack:///../../node_modules/@uifabric/utilities/lib/dom/setSSR.js","webpack:///../../node_modules/@wry/trie/lib/trie.esm.js","webpack:///../../node_modules/bowser/es5.js","webpack:///../../node_modules/classnames/index.js","webpack:///../../node_modules/css-in-js-utils/lib/assignStyle.js","webpack:///../../node_modules/css-in-js-utils/lib/camelCaseProperty.js","webpack:///../../node_modules/css-in-js-utils/lib/cssifyDeclaration.js","webpack:///../../node_modules/css-in-js-utils/lib/cssifyObject.js","webpack:///../../node_modules/css-in-js-utils/lib/hyphenateProperty.js","webpack:///../../node_modules/css-in-js-utils/lib/resolveArrayValue.js","webpack:///../../node_modules/dayjs/dayjs.min.js","webpack:///../../node_modules/dayjs/plugin/utc.js","webpack:///../../node_modules/fast-loops/lib/arrayEach.js","webpack:///../../node_modules/fast-loops/lib/arrayReduce.js","webpack:///../../node_modules/fast-loops/lib/objectEach.js","webpack:///../../node_modules/fast-loops/lib/objectReduce.js","webpack:///../../node_modules/hyphenate-style-name/index.js","webpack:///../../node_modules/isobject/index.js","webpack:///../../node_modules/lodash/_DataView.js","webpack:///../../node_modules/lodash/_Hash.js","webpack:///../../node_modules/lodash/_ListCache.js","webpack:///../../node_modules/lodash/_Map.js","webpack:///../../node_modules/lodash/_MapCache.js","webpack:///../../node_modules/lodash/_Promise.js","webpack:///../../node_modules/lodash/_Set.js","webpack:///../../node_modules/lodash/_SetCache.js","webpack:///../../node_modules/lodash/_Stack.js","webpack:///../../node_modules/lodash/_Symbol.js","webpack:///../../node_modules/lodash/_Uint8Array.js","webpack:///../../node_modules/lodash/_WeakMap.js","webpack:///../../node_modules/lodash/_apply.js","webpack:///../../node_modules/lodash/_arrayEach.js","webpack:///../../node_modules/lodash/_arrayFilter.js","webpack:///../../node_modules/lodash/_arrayIncludes.js","webpack:///../../node_modules/lodash/_arrayIncludesWith.js","webpack:///../../node_modules/lodash/_arrayLikeKeys.js","webpack:///../../node_modules/lodash/_arrayMap.js","webpack:///../../node_modules/lodash/_arrayPush.js","webpack:///../../node_modules/lodash/_arraySome.js","webpack:///../../node_modules/lodash/_asciiToArray.js","webpack:///../../node_modules/lodash/_assignMergeValue.js","webpack:///../../node_modules/lodash/_assignValue.js","webpack:///../../node_modules/lodash/_assocIndexOf.js","webpack:///../../node_modules/lodash/_baseAssignValue.js","webpack:///../../node_modules/lodash/_baseCreate.js","webpack:///../../node_modules/lodash/_baseDifference.js","webpack:///../../node_modules/lodash/_baseEach.js","webpack:///../../node_modules/lodash/_baseExtremum.js","webpack:///../../node_modules/lodash/_baseFilter.js","webpack:///../../node_modules/lodash/_baseFindIndex.js","webpack:///../../node_modules/lodash/_baseFlatten.js","webpack:///../../node_modules/lodash/_baseFor.js","webpack:///../../node_modules/lodash/_baseForOwn.js","webpack:///../../node_modules/lodash/_baseGet.js","webpack:///../../node_modules/lodash/_baseGetAllKeys.js","webpack:///../../node_modules/lodash/_baseGetTag.js","webpack:///../../node_modules/lodash/_baseHasIn.js","webpack:///../../node_modules/lodash/_baseInRange.js","webpack:///../../node_modules/lodash/_baseIndexOf.js","webpack:///../../node_modules/lodash/_baseInvoke.js","webpack:///../../node_modules/lodash/_baseIsArguments.js","webpack:///../../node_modules/lodash/_baseIsEqual.js","webpack:///../../node_modules/lodash/_baseIsEqualDeep.js","webpack:///../../node_modules/lodash/_baseIsMatch.js","webpack:///../../node_modules/lodash/_baseIsNaN.js","webpack:///../../node_modules/lodash/_baseIsNative.js","webpack:///../../node_modules/lodash/_baseIsTypedArray.js","webpack:///../../node_modules/lodash/_baseIteratee.js","webpack:///../../node_modules/lodash/_baseKeys.js","webpack:///../../node_modules/lodash/_baseKeysIn.js","webpack:///../../node_modules/lodash/_baseLt.js","webpack:///../../node_modules/lodash/_baseMap.js","webpack:///../../node_modules/lodash/_baseMatches.js","webpack:///../../node_modules/lodash/_baseMatchesProperty.js","webpack:///../../node_modules/lodash/_baseMerge.js","webpack:///../../node_modules/lodash/_baseMergeDeep.js","webpack:///../../node_modules/lodash/_baseOrderBy.js","webpack:///../../node_modules/lodash/_basePick.js","webpack:///../../node_modules/lodash/_basePickBy.js","webpack:///../../node_modules/lodash/_baseProperty.js","webpack:///../../node_modules/lodash/_basePropertyDeep.js","webpack:///../../node_modules/lodash/_baseRest.js","webpack:///../../node_modules/lodash/_baseSet.js","webpack:///../../node_modules/lodash/_baseSetToString.js","webpack:///../../node_modules/lodash/_baseSlice.js","webpack:///../../node_modules/lodash/_baseSome.js","webpack:///../../node_modules/lodash/_baseSortBy.js","webpack:///../../node_modules/lodash/_baseSum.js","webpack:///../../node_modules/lodash/_baseTimes.js","webpack:///../../node_modules/lodash/_baseToString.js","webpack:///../../node_modules/lodash/_baseTrim.js","webpack:///../../node_modules/lodash/_baseUnary.js","webpack:///../../node_modules/lodash/_baseUniq.js","webpack:///../../node_modules/lodash/_baseValues.js","webpack:///../../node_modules/lodash/_cacheHas.js","webpack:///../../node_modules/lodash/_castFunction.js","webpack:///../../node_modules/lodash/_castPath.js","webpack:///../../node_modules/lodash/_castSlice.js","webpack:///../../node_modules/lodash/_charsEndIndex.js","webpack:///../../node_modules/lodash/_charsStartIndex.js","webpack:///../../node_modules/lodash/_cloneArrayBuffer.js","webpack:///../../node_modules/lodash/_cloneBuffer.js","webpack:///../../node_modules/lodash/_cloneTypedArray.js","webpack:///../../node_modules/lodash/_compareAscending.js","webpack:///../../node_modules/lodash/_compareMultiple.js","webpack:///../../node_modules/lodash/_copyArray.js","webpack:///../../node_modules/lodash/_copyObject.js","webpack:///../../node_modules/lodash/_coreJsData.js","webpack:///../../node_modules/lodash/_createAssigner.js","webpack:///../../node_modules/lodash/_createBaseEach.js","webpack:///../../node_modules/lodash/_createBaseFor.js","webpack:///../../node_modules/lodash/_createSet.js","webpack:///../../node_modules/lodash/_defineProperty.js","webpack:///../../node_modules/lodash/_equalArrays.js","webpack:///../../node_modules/lodash/_equalByTag.js","webpack:///../../node_modules/lodash/_equalObjects.js","webpack:///../../node_modules/lodash/_flatRest.js","webpack:///../../node_modules/lodash/_freeGlobal.js","webpack:///../../node_modules/lodash/_getAllKeys.js","webpack:///../../node_modules/lodash/_getMapData.js","webpack:///../../node_modules/lodash/_getMatchData.js","webpack:///../../node_modules/lodash/_getNative.js","webpack:///../../node_modules/lodash/_getPrototype.js","webpack:///../../node_modules/lodash/_getRawTag.js","webpack:///../../node_modules/lodash/_getSymbols.js","webpack:///../../node_modules/lodash/_getTag.js","webpack:///../../node_modules/lodash/_getValue.js","webpack:///../../node_modules/lodash/_hasPath.js","webpack:///../../node_modules/lodash/_hasUnicode.js","webpack:///../../node_modules/lodash/_hashClear.js","webpack:///../../node_modules/lodash/_hashDelete.js","webpack:///../../node_modules/lodash/_hashGet.js","webpack:///../../node_modules/lodash/_hashHas.js","webpack:///../../node_modules/lodash/_hashSet.js","webpack:///../../node_modules/lodash/_initCloneObject.js","webpack:///../../node_modules/lodash/_isFlattenable.js","webpack:///../../node_modules/lodash/_isIndex.js","webpack:///../../node_modules/lodash/_isIterateeCall.js","webpack:///../../node_modules/lodash/_isKey.js","webpack:///../../node_modules/lodash/_isKeyable.js","webpack:///../../node_modules/lodash/_isMasked.js","webpack:///../../node_modules/lodash/_isPrototype.js","webpack:///../../node_modules/lodash/_isStrictComparable.js","webpack:///../../node_modules/lodash/_listCacheClear.js","webpack:///../../node_modules/lodash/_listCacheDelete.js","webpack:///../../node_modules/lodash/_listCacheGet.js","webpack:///../../node_modules/lodash/_listCacheHas.js","webpack:///../../node_modules/lodash/_listCacheSet.js","webpack:///../../node_modules/lodash/_mapCacheClear.js","webpack:///../../node_modules/lodash/_mapCacheDelete.js","webpack:///../../node_modules/lodash/_mapCacheGet.js","webpack:///../../node_modules/lodash/_mapCacheHas.js","webpack:///../../node_modules/lodash/_mapCacheSet.js","webpack:///../../node_modules/lodash/_mapToArray.js","webpack:///../../node_modules/lodash/_matchesStrictComparable.js","webpack:///../../node_modules/lodash/_memoizeCapped.js","webpack:///../../node_modules/lodash/_nativeCreate.js","webpack:///../../node_modules/lodash/_nativeKeys.js","webpack:///../../node_modules/lodash/_nativeKeysIn.js","webpack:///../../node_modules/lodash/_nodeUtil.js","webpack:///../../node_modules/lodash/_objectToString.js","webpack:///../../node_modules/lodash/_overArg.js","webpack:///../../node_modules/lodash/_overRest.js","webpack:///../../node_modules/lodash/_parent.js","webpack:///../../node_modules/lodash/_root.js","webpack:///../../node_modules/lodash/_safeGet.js","webpack:///../../node_modules/lodash/_setCacheAdd.js","webpack:///../../node_modules/lodash/_setCacheHas.js","webpack:///../../node_modules/lodash/_setToArray.js","webpack:///../../node_modules/lodash/_setToString.js","webpack:///../../node_modules/lodash/_shortOut.js","webpack:///../../node_modules/lodash/_stackClear.js","webpack:///../../node_modules/lodash/_stackDelete.js","webpack:///../../node_modules/lodash/_stackGet.js","webpack:///../../node_modules/lodash/_stackHas.js","webpack:///../../node_modules/lodash/_stackSet.js","webpack:///../../node_modules/lodash/_strictIndexOf.js","webpack:///../../node_modules/lodash/_stringToArray.js","webpack:///../../node_modules/lodash/_stringToPath.js","webpack:///../../node_modules/lodash/_toKey.js","webpack:///../../node_modules/lodash/_toSource.js","webpack:///../../node_modules/lodash/_trimmedEndIndex.js","webpack:///../../node_modules/lodash/_unicodeToArray.js","webpack:///../../node_modules/lodash/compact.js","webpack:///../../node_modules/lodash/constant.js","webpack:///../../node_modules/lodash/debounce.js","webpack:///../../node_modules/lodash/difference.js","webpack:///../../node_modules/lodash/differenceBy.js","webpack:///../../node_modules/lodash/eq.js","webpack:///../../node_modules/lodash/filter.js","webpack:///../../node_modules/lodash/findIndex.js","webpack:///../../node_modules/lodash/first.js","webpack:///../../node_modules/lodash/flatten.js","webpack:///../../node_modules/lodash/forEach.js","webpack:///../../node_modules/lodash/get.js","webpack:///../../node_modules/lodash/hasIn.js","webpack:///../../node_modules/lodash/head.js","webpack:///../../node_modules/lodash/identity.js","webpack:///../../node_modules/lodash/inRange.js","webpack:///../../node_modules/lodash/includes.js","webpack:///../../node_modules/lodash/invoke.js","webpack:///../../node_modules/lodash/isArguments.js","webpack:///../../node_modules/lodash/isArray.js","webpack:///../../node_modules/lodash/isArrayLike.js","webpack:///../../node_modules/lodash/isArrayLikeObject.js","webpack:///../../node_modules/lodash/isBoolean.js","webpack:///../../node_modules/lodash/isBuffer.js","webpack:///../../node_modules/lodash/isEmpty.js","webpack:///../../node_modules/lodash/isEqual.js","webpack:///../../node_modules/lodash/isFunction.js","webpack:///../../node_modules/lodash/isLength.js","webpack:///../../node_modules/lodash/isNil.js","webpack:///../../node_modules/lodash/isNumber.js","webpack:///../../node_modules/lodash/isObject.js","webpack:///../../node_modules/lodash/isObjectLike.js","webpack:///../../node_modules/lodash/isPlainObject.js","webpack:///../../node_modules/lodash/isString.js","webpack:///../../node_modules/lodash/isSymbol.js","webpack:///../../node_modules/lodash/isTypedArray.js","webpack:///../../node_modules/lodash/keys.js","webpack:///../../node_modules/lodash/keysIn.js","webpack:///../../node_modules/lodash/last.js","webpack:///../../node_modules/lodash/map.js","webpack:///../../node_modules/lodash/memoize.js","webpack:///../../node_modules/lodash/merge.js","webpack:///../../node_modules/lodash/min.js","webpack:///../../node_modules/lodash/noop.js","webpack:///../../node_modules/lodash/now.js","webpack:///../../node_modules/lodash/pick.js","webpack:///../../node_modules/lodash/property.js","webpack:///../../node_modules/lodash/some.js","webpack:///../../node_modules/lodash/sortBy.js","webpack:///../../node_modules/lodash/stubArray.js","webpack:///../../node_modules/lodash/stubFalse.js","webpack:///../../node_modules/lodash/sum.js","webpack:///../../node_modules/lodash/take.js","webpack:///../../node_modules/lodash/toFinite.js","webpack:///../../node_modules/lodash/toInteger.js","webpack:///../../node_modules/lodash/toNumber.js","webpack:///../../node_modules/lodash/toPlainObject.js","webpack:///../../node_modules/lodash/toString.js","webpack:///../../node_modules/lodash/trim.js","webpack:///../../node_modules/lodash/union.js","webpack:///../../node_modules/lodash/uniq.js","webpack:///../../node_modules/lodash/uniqueId.js","webpack:///../../node_modules/lodash/values.js","webpack:///../../node_modules/object-assign/index.js","webpack:///../../node_modules/optimism/node_modules/@wry/context/lib/slot.js","webpack:///../../node_modules/optimism/node_modules/@wry/context/lib/index.js","webpack:///../../node_modules/optimism/lib/bundle.esm.js","webpack:///../../node_modules/prop-types/factoryWithThrowingShims.js","webpack:///../../node_modules/prop-types/index.js","webpack:///../../node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack:///../../node_modules/react-dom/cjs/react-dom.production.min.js","webpack:///../../node_modules/react-dom/index.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/typeof.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/createClass.js","webpack:///../../node_modules/react-i18next/dist/es/context.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack:///../../node_modules/react-i18next/dist/es/utils.js","webpack:///../../node_modules/react-i18next/dist/es/useTranslation.js","webpack:///../../node_modules/react-is/cjs/react-is.production.min.js","webpack:///../../node_modules/react-is/index.js","webpack:///../../node_modules/react-router-dom/dist/index.js","webpack:///../../node_modules/react-router/dist/index.js","webpack:///../../node_modules/react/cjs/react-jsx-runtime.production.min.js","webpack:///../../node_modules/react/cjs/react.production.min.js","webpack:///../../node_modules/react/index.js","webpack:///../../node_modules/react/jsx-runtime.js","webpack:///../../node_modules/scheduler/cjs/scheduler.production.min.js","webpack:///../../node_modules/scheduler/index.js","webpack:///../../node_modules/stylis/stylis.js","webpack:///../../node_modules/ts-invariant/lib/invariant.esm.js","webpack:///../../node_modules/uuid/dist/esm-browser/native.js","webpack:///../../node_modules/uuid/dist/esm-browser/rng.js","webpack:///../../node_modules/uuid/dist/esm-browser/stringify.js","webpack:///../../node_modules/uuid/dist/esm-browser/v4.js","webpack:///../../node_modules/@babel/runtime/helpers/inheritsLoose.js","webpack:///../../node_modules/@babel/runtime/helpers/setPrototypeOf.js","webpack:///../../node_modules/@babel/runtime/helpers/taggedTemplateLiteralLoose.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/extends.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/applicationinsights-core-js/dist-esm/__DynamicConstants.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/InternalConstants.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/HelperFuncs.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/PerfManager.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/EnvUtils.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/DbgExtensionUtils.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/DiagnosticLogger.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/CookieMgr.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/RandomHelper.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/DataCacheHelper.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/EventHelpers.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/CoreUtils.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/1ds-core-js/dist-esm/src/InternalConstants.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/1ds-core-js/dist-esm/src/Utils.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/W3cTraceParent.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/TelemetryHelpers.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/ProcessTelemetryContext.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/ChannelController.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/UnloadHandlerContainer.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/BaseTelemetryPlugin.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/TelemetryInitializerPlugin.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/BaseCore.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/NotificationManager.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/AppInsightsCore.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/1ds-core-js/dist-esm/src/AppInsightsCore.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK.Enums/EnumHelperFuncs.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK.Enums/EventsDiscardedReason.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/1ds-post-js/dist-esm/src/DataModels.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/1ds-post-js/dist-esm/src/InternalConstants.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/1ds-post-js/dist-esm/src/EventBatch.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/1ds-post-js/dist-esm/src/ClockSkewManager.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/1ds-post-js/dist-esm/src/KillSwitch.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/1ds-post-js/dist-esm/src/RetryPolicy.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/1ds-post-js/dist-esm/src/Serializer.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/1ds-post-js/dist-esm/src/HttpManager.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/1ds-post-js/dist-esm/src/TimeoutOverrideWrapper.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/1ds-post-js/dist-esm/src/PostChannel.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/1ds-properties-js/dist-esm/src/Utils.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/1ds-properties-js/dist-esm/src/InternalConstants.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/1ds-properties-js/dist-esm/src/ExtensionKeys.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/1ds-properties-js/dist-esm/src/context/Session.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/1ds-properties-js/dist-esm/src/SessionManager.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/1ds-properties-js/dist-esm/src/context/Application.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/1ds-properties-js/dist-esm/src/context/Cloud.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/1ds-properties-js/dist-esm/src/context/Device.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/1ds-properties-js/dist-esm/src/context/IntWeb.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/1ds-properties-js/dist-esm/src/context/Loc.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/1ds-properties-js/dist-esm/src/context/OperatingSystem.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/1ds-properties-js/dist-esm/src/context/Sdk.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/1ds-properties-js/dist-esm/src/context/Trace.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/1ds-properties-js/dist-esm/src/context/User.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/1ds-properties-js/dist-esm/src/context/Utc.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/1ds-properties-js/dist-esm/src/context/Web.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/1ds-properties-js/dist-esm/src/TelemetryContext.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/1ds-properties-js/dist-esm/src/PropertiesPlugin.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/1ds-wa-js/dist-esm/src/Id.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/1ds-wa-js/dist-esm/src/Timespan.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/applicationinsights-common/dist-esm/__DynamicConstants.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/applicationinsights-common/dist-esm/HelperFuncs.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/applicationinsights-common/dist-esm/Enums.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/applicationinsights-common/dist-esm/StorageHelperFuncs.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/applicationinsights-common/dist-esm/applicationinsights-common.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/Common/DataSanitizer.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/applicationinsights-common/dist-esm/Constants.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/applicationinsights-common/dist-esm/TelemetryItemCreator.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/Event.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/Trace.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/Common/DataPoint.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/Metric.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/PageView.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/PageViewPerformance.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/Exception.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/applicationinsights-common/dist-esm/DomHelperFuncs.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/applicationinsights-common/dist-esm/RequestResponseHeaders.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/applicationinsights-common/dist-esm/UrlHelperFuncs.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/applicationinsights-common/dist-esm/Util.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/RemoteDependencyData.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/InstrumentHooks.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/applicationinsights-analytics-js/dist-esm/__DynamicConstants.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/applicationinsights-analytics-js/dist-esm/JavaScriptSDK/Telemetry/PageViewManager.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/applicationinsights-analytics-js/dist-esm/JavaScriptSDK/Telemetry/PageViewPerformanceManager.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/applicationinsights-analytics-js/dist-esm/JavaScriptSDK/Telemetry/PageVisitTimeManager.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/applicationinsights-analytics-js/dist-esm/JavaScriptSDK/Timing.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/applicationinsights-analytics-js/dist-esm/JavaScriptSDK/AnalyticsPlugin.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/1ds-wa-js/dist-esm/src/common/Utils.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/1ds-wa-js/dist-esm/src/DataCollector.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/1ds-wa-js/dist-esm/src/common/Constants.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/1ds-wa-js/dist-esm/src/Behaviors.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/1ds-wa-js/dist-esm/src/events/WebEvent.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/1ds-wa-js/dist-esm/src/Enums.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/1ds-wa-js/dist-esm/src/events/ContentUpdate.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/1ds-wa-js/dist-esm/src/events/PageAction.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/1ds-wa-js/dist-esm/src/events/PageUnload.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/1ds-wa-js/dist-esm/src/events/PageView.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/1ds-wa-js/dist-esm/src/events/PageViewPerformance.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/1ds-wa-js/dist-esm/src/handlers/AutoCaptureHandler.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/1ds-wa-js/dist-esm/src/handlers/DomContentHandler.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/1ds-wa-js/dist-esm/src/WebAnalyticsPlugin.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/uuid/dist/esm-browser/rng.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/@microsoft/1ds-analytics-web-js/dist-esm/src/ApplicationInsights.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/uuid/dist/esm-browser/regex.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/uuid/dist/esm-browser/stringify.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/uuid/dist/esm-browser/validate.js","webpack:///../../node_modules/@mwt/web-js-telemetry/node_modules/uuid/dist/esm-browser/v4.js","webpack:///../../node_modules/@mwt/web-js-telemetry/index.js","webpack:///../../node_modules/@wry/equality/lib/index.js","webpack:///../../node_modules/graphql/language/location.mjs","webpack:///../../node_modules/graphql/language/printLocation.mjs","webpack:///../../node_modules/graphql/error/GraphQLError.mjs","webpack:///../../node_modules/graphql/jsutils/defineInspect.mjs","webpack:///../../node_modules/graphql/jsutils/devAssert.mjs","webpack:///../../node_modules/graphql/jsutils/inspect.mjs","webpack:///../../node_modules/graphql/jsutils/instanceOf.mjs","webpack:///../../node_modules/graphql/jsutils/invariant.mjs","webpack:///../../node_modules/graphql/jsutils/isObjectLike.mjs","webpack:///../../node_modules/graphql/jsutils/nodejsCustomInspectSymbol.mjs","webpack:///../../node_modules/graphql/language/ast.mjs","webpack:///../../node_modules/graphql/language/blockString.mjs","webpack:///../../node_modules/graphql/language/kinds.mjs","webpack:///../../node_modules/graphql/language/printer.mjs","webpack:///../../node_modules/graphql/language/visitor.mjs","webpack:///../../node_modules/graphql/polyfills/symbols.mjs","webpack:///../../node_modules/tslib/tslib.es6.mjs","webpack:///../../node_modules/unstated-next/dist/unstated-next.mjs","webpack:///../../node_modules/zen-observable-ts/module.js"],"sourcesContent":["import { __assign, __rest } from \"tslib\";\nimport { wrap } from 'optimism';\nimport { getFragmentQueryDocument, } from \"../../utilities/index.js\";\nvar ApolloCache = (function () {\n function ApolloCache() {\n this.getFragmentDoc = wrap(getFragmentQueryDocument);\n }\n ApolloCache.prototype.batch = function (options) {\n var optimisticId = typeof options.optimistic === \"string\" ? options.optimistic :\n options.optimistic === false ? null : void 0;\n this.performTransaction(options.update, optimisticId);\n };\n ApolloCache.prototype.recordOptimisticTransaction = function (transaction, optimisticId) {\n this.performTransaction(transaction, optimisticId);\n };\n ApolloCache.prototype.transformDocument = function (document) {\n return document;\n };\n ApolloCache.prototype.identify = function (object) {\n return;\n };\n ApolloCache.prototype.gc = function () {\n return [];\n };\n ApolloCache.prototype.modify = function (options) {\n return false;\n };\n ApolloCache.prototype.transformForLink = function (document) {\n return document;\n };\n ApolloCache.prototype.readQuery = function (options, optimistic) {\n if (optimistic === void 0) { optimistic = !!options.optimistic; }\n return this.read(__assign(__assign({}, options), { rootId: options.id || 'ROOT_QUERY', optimistic: optimistic }));\n };\n ApolloCache.prototype.readFragment = function (options, optimistic) {\n if (optimistic === void 0) { optimistic = !!options.optimistic; }\n return this.read(__assign(__assign({}, options), { query: this.getFragmentDoc(options.fragment, options.fragmentName), rootId: options.id, optimistic: optimistic }));\n };\n ApolloCache.prototype.writeQuery = function (_a) {\n var id = _a.id, data = _a.data, options = __rest(_a, [\"id\", \"data\"]);\n return this.write(Object.assign(options, {\n dataId: id || 'ROOT_QUERY',\n result: data,\n }));\n };\n ApolloCache.prototype.writeFragment = function (_a) {\n var id = _a.id, data = _a.data, fragment = _a.fragment, fragmentName = _a.fragmentName, options = __rest(_a, [\"id\", \"data\", \"fragment\", \"fragmentName\"]);\n return this.write(Object.assign(options, {\n query: this.getFragmentDoc(fragment, fragmentName),\n dataId: id,\n result: data,\n }));\n };\n return ApolloCache;\n}());\nexport { ApolloCache };\n//# sourceMappingURL=cache.js.map","import { __extends } from \"tslib\";\nvar MissingFieldError = (function (_super) {\n __extends(MissingFieldError, _super);\n function MissingFieldError(message, path, query, variables) {\n var _this = _super.call(this, message) || this;\n _this.message = message;\n _this.path = path;\n _this.query = query;\n _this.variables = variables;\n _this.__proto__ = MissingFieldError.prototype;\n return _this;\n }\n return MissingFieldError;\n}(Error));\nexport { MissingFieldError };\n//# sourceMappingURL=common.js.map","import \"../globals/index.js\";\nimport { isNonNullObject } from \"./objects.js\";\nfunction deepFreeze(value) {\n var workSet = new Set([value]);\n workSet.forEach(function (obj) {\n if (isNonNullObject(obj)) {\n if (!Object.isFrozen(obj))\n Object.freeze(obj);\n Object.getOwnPropertyNames(obj).forEach(function (name) {\n if (isNonNullObject(obj[name]))\n workSet.add(obj[name]);\n });\n }\n });\n return value;\n}\nexport function maybeDeepFreeze(obj) {\n if (__DEV__) {\n deepFreeze(obj);\n }\n return obj;\n}\n//# sourceMappingURL=maybeDeepFreeze.js.map","import { isReference, isField, DeepMerger, resultKeyNameFromField, shouldInclude, isNonNullObject, } from \"../../utilities/index.js\";\nexport var hasOwn = Object.prototype.hasOwnProperty;\nexport function getTypenameFromStoreObject(store, objectOrReference) {\n return isReference(objectOrReference)\n ? store.get(objectOrReference.__ref, \"__typename\")\n : objectOrReference && objectOrReference.__typename;\n}\nexport var TypeOrFieldNameRegExp = /^[_a-z][_0-9a-z]*/i;\nexport function fieldNameFromStoreName(storeFieldName) {\n var match = storeFieldName.match(TypeOrFieldNameRegExp);\n return match ? match[0] : storeFieldName;\n}\nexport function selectionSetMatchesResult(selectionSet, result, variables) {\n if (isNonNullObject(result)) {\n return Array.isArray(result)\n ? result.every(function (item) { return selectionSetMatchesResult(selectionSet, item, variables); })\n : selectionSet.selections.every(function (field) {\n if (isField(field) && shouldInclude(field, variables)) {\n var key = resultKeyNameFromField(field);\n return hasOwn.call(result, key) &&\n (!field.selectionSet ||\n selectionSetMatchesResult(field.selectionSet, result[key], variables));\n }\n return true;\n });\n }\n return false;\n}\nexport function storeValueIsStoreObject(value) {\n return isNonNullObject(value) &&\n !isReference(value) &&\n !Array.isArray(value);\n}\nexport function makeProcessedFieldsMerger() {\n return new DeepMerger;\n}\n//# sourceMappingURL=helpers.js.map","import { __assign, __extends, __rest } from \"tslib\";\nimport { dep } from 'optimism';\nimport { invariant } from 'ts-invariant';\nimport { equal } from '@wry/equality';\nimport { Trie } from '@wry/trie';\nimport { isReference, makeReference, DeepMerger, maybeDeepFreeze, canUseWeakMap, isNonNullObject, } from \"../../utilities/index.js\";\nimport { hasOwn, fieldNameFromStoreName } from \"./helpers.js\";\nvar DELETE = Object.create(null);\nvar delModifier = function () { return DELETE; };\nvar INVALIDATE = Object.create(null);\nvar EntityStore = (function () {\n function EntityStore(policies, group) {\n var _this = this;\n this.policies = policies;\n this.group = group;\n this.data = Object.create(null);\n this.rootIds = Object.create(null);\n this.refs = Object.create(null);\n this.getFieldValue = function (objectOrReference, storeFieldName) { return maybeDeepFreeze(isReference(objectOrReference)\n ? _this.get(objectOrReference.__ref, storeFieldName)\n : objectOrReference && objectOrReference[storeFieldName]); };\n this.canRead = function (objOrRef) {\n return isReference(objOrRef)\n ? _this.has(objOrRef.__ref)\n : typeof objOrRef === \"object\";\n };\n this.toReference = function (objOrIdOrRef, mergeIntoStore) {\n if (typeof objOrIdOrRef === \"string\") {\n return makeReference(objOrIdOrRef);\n }\n if (isReference(objOrIdOrRef)) {\n return objOrIdOrRef;\n }\n var id = _this.policies.identify(objOrIdOrRef)[0];\n if (id) {\n var ref = makeReference(id);\n if (mergeIntoStore) {\n _this.merge(id, objOrIdOrRef);\n }\n return ref;\n }\n };\n }\n EntityStore.prototype.toObject = function () {\n return __assign({}, this.data);\n };\n EntityStore.prototype.has = function (dataId) {\n return this.lookup(dataId, true) !== void 0;\n };\n EntityStore.prototype.get = function (dataId, fieldName) {\n this.group.depend(dataId, fieldName);\n if (hasOwn.call(this.data, dataId)) {\n var storeObject = this.data[dataId];\n if (storeObject && hasOwn.call(storeObject, fieldName)) {\n return storeObject[fieldName];\n }\n }\n if (fieldName === \"__typename\" &&\n hasOwn.call(this.policies.rootTypenamesById, dataId)) {\n return this.policies.rootTypenamesById[dataId];\n }\n if (this instanceof Layer) {\n return this.parent.get(dataId, fieldName);\n }\n };\n EntityStore.prototype.lookup = function (dataId, dependOnExistence) {\n if (dependOnExistence)\n this.group.depend(dataId, \"__exists\");\n if (hasOwn.call(this.data, dataId)) {\n return this.data[dataId];\n }\n if (this instanceof Layer) {\n return this.parent.lookup(dataId, dependOnExistence);\n }\n if (this.policies.rootTypenamesById[dataId]) {\n return Object.create(null);\n }\n };\n EntityStore.prototype.merge = function (older, newer) {\n var _this = this;\n var dataId;\n if (isReference(older))\n older = older.__ref;\n if (isReference(newer))\n newer = newer.__ref;\n var existing = typeof older === \"string\"\n ? this.lookup(dataId = older)\n : older;\n var incoming = typeof newer === \"string\"\n ? this.lookup(dataId = newer)\n : newer;\n if (!incoming)\n return;\n __DEV__ ? invariant(typeof dataId === \"string\", \"store.merge expects a string ID\") : invariant(typeof dataId === \"string\", 1);\n var merged = new DeepMerger(storeObjectReconciler).merge(existing, incoming);\n this.data[dataId] = merged;\n if (merged !== existing) {\n delete this.refs[dataId];\n if (this.group.caching) {\n var fieldsToDirty_1 = Object.create(null);\n if (!existing)\n fieldsToDirty_1.__exists = 1;\n Object.keys(incoming).forEach(function (storeFieldName) {\n if (!existing || existing[storeFieldName] !== merged[storeFieldName]) {\n fieldsToDirty_1[storeFieldName] = 1;\n var fieldName = fieldNameFromStoreName(storeFieldName);\n if (fieldName !== storeFieldName &&\n !_this.policies.hasKeyArgs(merged.__typename, fieldName)) {\n fieldsToDirty_1[fieldName] = 1;\n }\n if (merged[storeFieldName] === void 0 && !(_this instanceof Layer)) {\n delete merged[storeFieldName];\n }\n }\n });\n if (fieldsToDirty_1.__typename &&\n !(existing && existing.__typename) &&\n this.policies.rootTypenamesById[dataId] === merged.__typename) {\n delete fieldsToDirty_1.__typename;\n }\n Object.keys(fieldsToDirty_1).forEach(function (fieldName) { return _this.group.dirty(dataId, fieldName); });\n }\n }\n };\n EntityStore.prototype.modify = function (dataId, fields) {\n var _this = this;\n var storeObject = this.lookup(dataId);\n if (storeObject) {\n var changedFields_1 = Object.create(null);\n var needToMerge_1 = false;\n var allDeleted_1 = true;\n var sharedDetails_1 = {\n DELETE: DELETE,\n INVALIDATE: INVALIDATE,\n isReference: isReference,\n toReference: this.toReference,\n canRead: this.canRead,\n readField: function (fieldNameOrOptions, from) { return _this.policies.readField(typeof fieldNameOrOptions === \"string\" ? {\n fieldName: fieldNameOrOptions,\n from: from || makeReference(dataId),\n } : fieldNameOrOptions, { store: _this }); },\n };\n Object.keys(storeObject).forEach(function (storeFieldName) {\n var fieldName = fieldNameFromStoreName(storeFieldName);\n var fieldValue = storeObject[storeFieldName];\n if (fieldValue === void 0)\n return;\n var modify = typeof fields === \"function\"\n ? fields\n : fields[storeFieldName] || fields[fieldName];\n if (modify) {\n var newValue = modify === delModifier ? DELETE :\n modify(maybeDeepFreeze(fieldValue), __assign(__assign({}, sharedDetails_1), { fieldName: fieldName, storeFieldName: storeFieldName, storage: _this.getStorage(dataId, storeFieldName) }));\n if (newValue === INVALIDATE) {\n _this.group.dirty(dataId, storeFieldName);\n }\n else {\n if (newValue === DELETE)\n newValue = void 0;\n if (newValue !== fieldValue) {\n changedFields_1[storeFieldName] = newValue;\n needToMerge_1 = true;\n fieldValue = newValue;\n }\n }\n }\n if (fieldValue !== void 0) {\n allDeleted_1 = false;\n }\n });\n if (needToMerge_1) {\n this.merge(dataId, changedFields_1);\n if (allDeleted_1) {\n if (this instanceof Layer) {\n this.data[dataId] = void 0;\n }\n else {\n delete this.data[dataId];\n }\n this.group.dirty(dataId, \"__exists\");\n }\n return true;\n }\n }\n return false;\n };\n EntityStore.prototype.delete = function (dataId, fieldName, args) {\n var _a;\n var storeObject = this.lookup(dataId);\n if (storeObject) {\n var typename = this.getFieldValue(storeObject, \"__typename\");\n var storeFieldName = fieldName && args\n ? this.policies.getStoreFieldName({ typename: typename, fieldName: fieldName, args: args })\n : fieldName;\n return this.modify(dataId, storeFieldName ? (_a = {},\n _a[storeFieldName] = delModifier,\n _a) : delModifier);\n }\n return false;\n };\n EntityStore.prototype.evict = function (options) {\n var evicted = false;\n if (options.id) {\n if (hasOwn.call(this.data, options.id)) {\n evicted = this.delete(options.id, options.fieldName, options.args);\n }\n if (this instanceof Layer) {\n evicted = this.parent.evict(options) || evicted;\n }\n if (options.fieldName || evicted) {\n this.group.dirty(options.id, options.fieldName || \"__exists\");\n }\n }\n return evicted;\n };\n EntityStore.prototype.clear = function () {\n this.replace(null);\n };\n EntityStore.prototype.extract = function () {\n var _this = this;\n var obj = this.toObject();\n var extraRootIds = [];\n this.getRootIdSet().forEach(function (id) {\n if (!hasOwn.call(_this.policies.rootTypenamesById, id)) {\n extraRootIds.push(id);\n }\n });\n if (extraRootIds.length) {\n obj.__META = { extraRootIds: extraRootIds.sort() };\n }\n return obj;\n };\n EntityStore.prototype.replace = function (newData) {\n var _this = this;\n Object.keys(this.data).forEach(function (dataId) {\n if (!(newData && hasOwn.call(newData, dataId))) {\n _this.delete(dataId);\n }\n });\n if (newData) {\n var __META = newData.__META, rest_1 = __rest(newData, [\"__META\"]);\n Object.keys(rest_1).forEach(function (dataId) {\n _this.merge(dataId, rest_1[dataId]);\n });\n if (__META) {\n __META.extraRootIds.forEach(this.retain, this);\n }\n }\n };\n EntityStore.prototype.retain = function (rootId) {\n return this.rootIds[rootId] = (this.rootIds[rootId] || 0) + 1;\n };\n EntityStore.prototype.release = function (rootId) {\n if (this.rootIds[rootId] > 0) {\n var count = --this.rootIds[rootId];\n if (!count)\n delete this.rootIds[rootId];\n return count;\n }\n return 0;\n };\n EntityStore.prototype.getRootIdSet = function (ids) {\n if (ids === void 0) { ids = new Set(); }\n Object.keys(this.rootIds).forEach(ids.add, ids);\n if (this instanceof Layer) {\n this.parent.getRootIdSet(ids);\n }\n else {\n Object.keys(this.policies.rootTypenamesById).forEach(ids.add, ids);\n }\n return ids;\n };\n EntityStore.prototype.gc = function () {\n var _this = this;\n var ids = this.getRootIdSet();\n var snapshot = this.toObject();\n ids.forEach(function (id) {\n if (hasOwn.call(snapshot, id)) {\n Object.keys(_this.findChildRefIds(id)).forEach(ids.add, ids);\n delete snapshot[id];\n }\n });\n var idsToRemove = Object.keys(snapshot);\n if (idsToRemove.length) {\n var root_1 = this;\n while (root_1 instanceof Layer)\n root_1 = root_1.parent;\n idsToRemove.forEach(function (id) { return root_1.delete(id); });\n }\n return idsToRemove;\n };\n EntityStore.prototype.findChildRefIds = function (dataId) {\n if (!hasOwn.call(this.refs, dataId)) {\n var found_1 = this.refs[dataId] = Object.create(null);\n var root = this.data[dataId];\n if (!root)\n return found_1;\n var workSet_1 = new Set([root]);\n workSet_1.forEach(function (obj) {\n if (isReference(obj)) {\n found_1[obj.__ref] = true;\n }\n if (isNonNullObject(obj)) {\n Object.keys(obj).forEach(function (key) {\n var child = obj[key];\n if (isNonNullObject(child)) {\n workSet_1.add(child);\n }\n });\n }\n });\n }\n return this.refs[dataId];\n };\n EntityStore.prototype.makeCacheKey = function () {\n return this.group.keyMaker.lookupArray(arguments);\n };\n return EntityStore;\n}());\nexport { EntityStore };\nvar CacheGroup = (function () {\n function CacheGroup(caching, parent) {\n if (parent === void 0) { parent = null; }\n this.caching = caching;\n this.parent = parent;\n this.d = null;\n this.resetCaching();\n }\n CacheGroup.prototype.resetCaching = function () {\n this.d = this.caching ? dep() : null;\n this.keyMaker = new Trie(canUseWeakMap);\n };\n CacheGroup.prototype.depend = function (dataId, storeFieldName) {\n if (this.d) {\n this.d(makeDepKey(dataId, storeFieldName));\n var fieldName = fieldNameFromStoreName(storeFieldName);\n if (fieldName !== storeFieldName) {\n this.d(makeDepKey(dataId, fieldName));\n }\n if (this.parent) {\n this.parent.depend(dataId, storeFieldName);\n }\n }\n };\n CacheGroup.prototype.dirty = function (dataId, storeFieldName) {\n if (this.d) {\n this.d.dirty(makeDepKey(dataId, storeFieldName), storeFieldName === \"__exists\" ? \"forget\" : \"setDirty\");\n }\n };\n return CacheGroup;\n}());\nfunction makeDepKey(dataId, storeFieldName) {\n return storeFieldName + '#' + dataId;\n}\nexport function maybeDependOnExistenceOfEntity(store, entityId) {\n if (supportsResultCaching(store)) {\n store.group.depend(entityId, \"__exists\");\n }\n}\n(function (EntityStore) {\n var Root = (function (_super) {\n __extends(Root, _super);\n function Root(_a) {\n var policies = _a.policies, _b = _a.resultCaching, resultCaching = _b === void 0 ? true : _b, seed = _a.seed;\n var _this = _super.call(this, policies, new CacheGroup(resultCaching)) || this;\n _this.stump = new Stump(_this);\n _this.storageTrie = new Trie(canUseWeakMap);\n if (seed)\n _this.replace(seed);\n return _this;\n }\n Root.prototype.addLayer = function (layerId, replay) {\n return this.stump.addLayer(layerId, replay);\n };\n Root.prototype.removeLayer = function () {\n return this;\n };\n Root.prototype.getStorage = function () {\n return this.storageTrie.lookupArray(arguments);\n };\n return Root;\n }(EntityStore));\n EntityStore.Root = Root;\n})(EntityStore || (EntityStore = {}));\nvar Layer = (function (_super) {\n __extends(Layer, _super);\n function Layer(id, parent, replay, group) {\n var _this = _super.call(this, parent.policies, group) || this;\n _this.id = id;\n _this.parent = parent;\n _this.replay = replay;\n _this.group = group;\n replay(_this);\n return _this;\n }\n Layer.prototype.addLayer = function (layerId, replay) {\n return new Layer(layerId, this, replay, this.group);\n };\n Layer.prototype.removeLayer = function (layerId) {\n var _this = this;\n var parent = this.parent.removeLayer(layerId);\n if (layerId === this.id) {\n if (this.group.caching) {\n Object.keys(this.data).forEach(function (dataId) {\n var ownStoreObject = _this.data[dataId];\n var parentStoreObject = parent[\"lookup\"](dataId);\n if (!parentStoreObject) {\n _this.delete(dataId);\n }\n else if (!ownStoreObject) {\n _this.group.dirty(dataId, \"__exists\");\n Object.keys(parentStoreObject).forEach(function (storeFieldName) {\n _this.group.dirty(dataId, storeFieldName);\n });\n }\n else if (ownStoreObject !== parentStoreObject) {\n Object.keys(ownStoreObject).forEach(function (storeFieldName) {\n if (!equal(ownStoreObject[storeFieldName], parentStoreObject[storeFieldName])) {\n _this.group.dirty(dataId, storeFieldName);\n }\n });\n }\n });\n }\n return parent;\n }\n if (parent === this.parent)\n return this;\n return parent.addLayer(this.id, this.replay);\n };\n Layer.prototype.toObject = function () {\n return __assign(__assign({}, this.parent.toObject()), this.data);\n };\n Layer.prototype.findChildRefIds = function (dataId) {\n var fromParent = this.parent.findChildRefIds(dataId);\n return hasOwn.call(this.data, dataId) ? __assign(__assign({}, fromParent), _super.prototype.findChildRefIds.call(this, dataId)) : fromParent;\n };\n Layer.prototype.getStorage = function () {\n var p = this.parent;\n while (p.parent)\n p = p.parent;\n return p.getStorage.apply(p, arguments);\n };\n return Layer;\n}(EntityStore));\nvar Stump = (function (_super) {\n __extends(Stump, _super);\n function Stump(root) {\n return _super.call(this, \"EntityStore.Stump\", root, function () { }, new CacheGroup(root.group.caching, root.group)) || this;\n }\n Stump.prototype.removeLayer = function () {\n return this;\n };\n Stump.prototype.merge = function () {\n return this.parent.merge.apply(this.parent, arguments);\n };\n return Stump;\n}(Layer));\nfunction storeObjectReconciler(existingObject, incomingObject, property) {\n var existingValue = existingObject[property];\n var incomingValue = incomingObject[property];\n return equal(existingValue, incomingValue) ? existingValue : incomingValue;\n}\nexport function supportsResultCaching(store) {\n return !!(store instanceof EntityStore && store.group.caching);\n}\n//# sourceMappingURL=entityStore.js.map","import { __assign } from \"tslib\";\nimport { wrap } from 'optimism';\nimport { invariant, InvariantError } from 'ts-invariant';\nimport { isField, resultKeyNameFromField, isReference, makeReference, createFragmentMap, shouldInclude, addTypenameToDocument, getDefaultValues, getFragmentDefinitions, getMainDefinition, getQueryDefinition, mergeDeepArray, getFragmentFromSelection, maybeDeepFreeze, isNonNullObject, canUseWeakMap, } from \"../../utilities/index.js\";\nimport { maybeDependOnExistenceOfEntity, supportsResultCaching } from \"./entityStore.js\";\nimport { getTypenameFromStoreObject } from \"./helpers.js\";\nimport { MissingFieldError } from \"../core/types/common.js\";\nimport { canonicalStringify, ObjectCanon } from \"./object-canon.js\";\n;\nfunction missingFromInvariant(err, context) {\n return new MissingFieldError(err.message, context.path.slice(), context.query, context.variables);\n}\nfunction execSelectionSetKeyArgs(options) {\n return [\n options.selectionSet,\n options.objectOrReference,\n options.context,\n options.context.canonizeResults,\n ];\n}\nvar StoreReader = (function () {\n function StoreReader(config) {\n var _this = this;\n this.knownResults = new (canUseWeakMap ? WeakMap : Map)();\n this.config = __assign(__assign({}, config), { addTypename: config.addTypename !== false });\n this.canon = config.canon || new ObjectCanon;\n this.executeSelectionSet = wrap(function (options) {\n var _a;\n var canonizeResults = options.context.canonizeResults;\n var peekArgs = execSelectionSetKeyArgs(options);\n peekArgs[3] = !canonizeResults;\n var other = (_a = _this.executeSelectionSet).peek.apply(_a, peekArgs);\n if (other) {\n if (canonizeResults) {\n return __assign(__assign({}, other), { result: _this.canon.admit(other.result) });\n }\n return other;\n }\n maybeDependOnExistenceOfEntity(options.context.store, options.enclosingRef.__ref);\n return _this.execSelectionSetImpl(options);\n }, {\n max: this.config.resultCacheMaxSize,\n keyArgs: execSelectionSetKeyArgs,\n makeCacheKey: function (selectionSet, parent, context, canonizeResults) {\n if (supportsResultCaching(context.store)) {\n return context.store.makeCacheKey(selectionSet, isReference(parent) ? parent.__ref : parent, context.varString, canonizeResults);\n }\n }\n });\n this.executeSubSelectedArray = wrap(function (options) {\n maybeDependOnExistenceOfEntity(options.context.store, options.enclosingRef.__ref);\n return _this.execSubSelectedArrayImpl(options);\n }, {\n max: this.config.resultCacheMaxSize,\n makeCacheKey: function (_a) {\n var field = _a.field, array = _a.array, context = _a.context;\n if (supportsResultCaching(context.store)) {\n return context.store.makeCacheKey(field, array, context.varString);\n }\n }\n });\n }\n StoreReader.prototype.resetCanon = function () {\n this.canon = new ObjectCanon;\n };\n StoreReader.prototype.diffQueryAgainstStore = function (_a) {\n var store = _a.store, query = _a.query, _b = _a.rootId, rootId = _b === void 0 ? 'ROOT_QUERY' : _b, variables = _a.variables, _c = _a.returnPartialData, returnPartialData = _c === void 0 ? true : _c, _d = _a.canonizeResults, canonizeResults = _d === void 0 ? true : _d;\n var policies = this.config.cache.policies;\n variables = __assign(__assign({}, getDefaultValues(getQueryDefinition(query))), variables);\n var rootRef = makeReference(rootId);\n var execResult = this.executeSelectionSet({\n selectionSet: getMainDefinition(query).selectionSet,\n objectOrReference: rootRef,\n enclosingRef: rootRef,\n context: {\n store: store,\n query: query,\n policies: policies,\n variables: variables,\n varString: canonicalStringify(variables),\n canonizeResults: canonizeResults,\n fragmentMap: createFragmentMap(getFragmentDefinitions(query)),\n path: [],\n },\n });\n var hasMissingFields = execResult.missing && execResult.missing.length > 0;\n if (hasMissingFields && !returnPartialData) {\n throw execResult.missing[0];\n }\n return {\n result: execResult.result,\n missing: execResult.missing,\n complete: !hasMissingFields,\n };\n };\n StoreReader.prototype.isFresh = function (result, parent, selectionSet, context) {\n if (supportsResultCaching(context.store) &&\n this.knownResults.get(result) === selectionSet) {\n var latest = this.executeSelectionSet.peek(selectionSet, parent, context, this.canon.isKnown(result));\n if (latest && result === latest.result) {\n return true;\n }\n }\n return false;\n };\n StoreReader.prototype.execSelectionSetImpl = function (_a) {\n var _this = this;\n var selectionSet = _a.selectionSet, objectOrReference = _a.objectOrReference, enclosingRef = _a.enclosingRef, context = _a.context;\n if (isReference(objectOrReference) &&\n !context.policies.rootTypenamesById[objectOrReference.__ref] &&\n !context.store.has(objectOrReference.__ref)) {\n return {\n result: this.canon.empty,\n missing: [missingFromInvariant(__DEV__ ? new InvariantError(\"Dangling reference to missing \" + objectOrReference.__ref + \" object\") : new InvariantError(5), context)],\n };\n }\n var variables = context.variables, policies = context.policies, store = context.store;\n var objectsToMerge = [];\n var finalResult = { result: null };\n var typename = store.getFieldValue(objectOrReference, \"__typename\");\n if (this.config.addTypename &&\n typeof typename === \"string\" &&\n !policies.rootIdsByTypename[typename]) {\n objectsToMerge.push({ __typename: typename });\n }\n function getMissing() {\n return finalResult.missing || (finalResult.missing = []);\n }\n function handleMissing(result) {\n var _a;\n if (result.missing)\n (_a = getMissing()).push.apply(_a, result.missing);\n return result.result;\n }\n var workSet = new Set(selectionSet.selections);\n workSet.forEach(function (selection) {\n var _a;\n if (!shouldInclude(selection, variables))\n return;\n if (isField(selection)) {\n var fieldValue = policies.readField({\n fieldName: selection.name.value,\n field: selection,\n variables: context.variables,\n from: objectOrReference,\n }, context);\n var resultName = resultKeyNameFromField(selection);\n context.path.push(resultName);\n if (fieldValue === void 0) {\n if (!addTypenameToDocument.added(selection)) {\n getMissing().push(missingFromInvariant(__DEV__ ? new InvariantError(\"Can't find field '\" + selection.name.value + \"' on \" + (isReference(objectOrReference)\n ? objectOrReference.__ref + \" object\"\n : \"object \" + JSON.stringify(objectOrReference, null, 2))) : new InvariantError(6), context));\n }\n }\n else if (Array.isArray(fieldValue)) {\n fieldValue = handleMissing(_this.executeSubSelectedArray({\n field: selection,\n array: fieldValue,\n enclosingRef: enclosingRef,\n context: context,\n }));\n }\n else if (!selection.selectionSet) {\n if (context.canonizeResults) {\n fieldValue = _this.canon.pass(fieldValue);\n }\n }\n else if (fieldValue != null) {\n fieldValue = handleMissing(_this.executeSelectionSet({\n selectionSet: selection.selectionSet,\n objectOrReference: fieldValue,\n enclosingRef: isReference(fieldValue) ? fieldValue : enclosingRef,\n context: context,\n }));\n }\n if (fieldValue !== void 0) {\n objectsToMerge.push((_a = {}, _a[resultName] = fieldValue, _a));\n }\n invariant(context.path.pop() === resultName);\n }\n else {\n var fragment = getFragmentFromSelection(selection, context.fragmentMap);\n if (fragment && policies.fragmentMatches(fragment, typename)) {\n fragment.selectionSet.selections.forEach(workSet.add, workSet);\n }\n }\n });\n var merged = mergeDeepArray(objectsToMerge);\n finalResult.result = context.canonizeResults\n ? this.canon.admit(merged)\n : maybeDeepFreeze(merged);\n this.knownResults.set(finalResult.result, selectionSet);\n return finalResult;\n };\n StoreReader.prototype.execSubSelectedArrayImpl = function (_a) {\n var _this = this;\n var field = _a.field, array = _a.array, enclosingRef = _a.enclosingRef, context = _a.context;\n var missing;\n function handleMissing(childResult, i) {\n if (childResult.missing) {\n missing = missing || [];\n missing.push.apply(missing, childResult.missing);\n }\n invariant(context.path.pop() === i);\n return childResult.result;\n }\n if (field.selectionSet) {\n array = array.filter(context.store.canRead);\n }\n array = array.map(function (item, i) {\n if (item === null) {\n return null;\n }\n context.path.push(i);\n if (Array.isArray(item)) {\n return handleMissing(_this.executeSubSelectedArray({\n field: field,\n array: item,\n enclosingRef: enclosingRef,\n context: context,\n }), i);\n }\n if (field.selectionSet) {\n return handleMissing(_this.executeSelectionSet({\n selectionSet: field.selectionSet,\n objectOrReference: item,\n enclosingRef: isReference(item) ? item : enclosingRef,\n context: context,\n }), i);\n }\n if (__DEV__) {\n assertSelectionSetForIdValue(context.store, field, item);\n }\n invariant(context.path.pop() === i);\n return item;\n });\n return {\n result: context.canonizeResults ? this.canon.admit(array) : array,\n missing: missing,\n };\n };\n return StoreReader;\n}());\nexport { StoreReader };\nfunction assertSelectionSetForIdValue(store, field, fieldValue) {\n if (!field.selectionSet) {\n var workSet_1 = new Set([fieldValue]);\n workSet_1.forEach(function (value) {\n if (isNonNullObject(value)) {\n __DEV__ ? invariant(!isReference(value), \"Missing selection set for object of type \" + getTypenameFromStoreObject(store, value) + \" returned for query field \" + field.name.value) : invariant(!isReference(value), 7);\n Object.values(value).forEach(workSet_1.add, workSet_1);\n }\n });\n }\n}\n//# sourceMappingURL=readFromStore.js.map","import { __assign } from \"tslib\";\nimport { invariant, InvariantError } from 'ts-invariant';\nimport { equal } from '@wry/equality';\nimport { createFragmentMap, getFragmentFromSelection, getDefaultValues, getFragmentDefinitions, getOperationDefinition, getTypenameFromResult, makeReference, isField, resultKeyNameFromField, isReference, shouldInclude, cloneDeep, addTypenameToDocument, } from \"../../utilities/index.js\";\nimport { makeProcessedFieldsMerger, fieldNameFromStoreName, storeValueIsStoreObject } from \"./helpers.js\";\nimport { canonicalStringify } from \"./object-canon.js\";\n;\nvar StoreWriter = (function () {\n function StoreWriter(cache, reader) {\n this.cache = cache;\n this.reader = reader;\n }\n StoreWriter.prototype.writeToStore = function (store, _a) {\n var _this = this;\n var query = _a.query, result = _a.result, dataId = _a.dataId, variables = _a.variables, overwrite = _a.overwrite;\n var operationDefinition = getOperationDefinition(query);\n var merger = makeProcessedFieldsMerger();\n variables = __assign(__assign({}, getDefaultValues(operationDefinition)), variables);\n var context = {\n store: store,\n written: Object.create(null),\n merge: function (existing, incoming) {\n return merger.merge(existing, incoming);\n },\n variables: variables,\n varString: canonicalStringify(variables),\n fragmentMap: createFragmentMap(getFragmentDefinitions(query)),\n overwrite: !!overwrite,\n incomingById: new Map,\n clientOnly: false,\n };\n var ref = this.processSelectionSet({\n result: result || Object.create(null),\n dataId: dataId,\n selectionSet: operationDefinition.selectionSet,\n mergeTree: { map: new Map },\n context: context,\n });\n if (!isReference(ref)) {\n throw __DEV__ ? new InvariantError(\"Could not identify object \" + JSON.stringify(result)) : new InvariantError(8);\n }\n context.incomingById.forEach(function (_a, dataId) {\n var fields = _a.fields, mergeTree = _a.mergeTree, selections = _a.selections;\n var entityRef = makeReference(dataId);\n if (mergeTree && mergeTree.map.size) {\n var applied = _this.applyMerges(mergeTree, entityRef, fields, context);\n if (isReference(applied)) {\n return;\n }\n fields = applied;\n }\n if (__DEV__ && !context.overwrite) {\n var hasSelectionSet_1 = function (storeFieldName) {\n return fieldsWithSelectionSets_1.has(fieldNameFromStoreName(storeFieldName));\n };\n var fieldsWithSelectionSets_1 = new Set();\n selections.forEach(function (selection) {\n if (isField(selection) && selection.selectionSet) {\n fieldsWithSelectionSets_1.add(selection.name.value);\n }\n });\n var hasMergeFunction_1 = function (storeFieldName) {\n var childTree = mergeTree && mergeTree.map.get(storeFieldName);\n return Boolean(childTree && childTree.info && childTree.info.merge);\n };\n Object.keys(fields).forEach(function (storeFieldName) {\n if (hasSelectionSet_1(storeFieldName) &&\n !hasMergeFunction_1(storeFieldName)) {\n warnAboutDataLoss(entityRef, fields, storeFieldName, context.store);\n }\n });\n }\n store.merge(dataId, fields);\n });\n store.retain(ref.__ref);\n return ref;\n };\n StoreWriter.prototype.processSelectionSet = function (_a) {\n var _this = this;\n var dataId = _a.dataId, result = _a.result, selectionSet = _a.selectionSet, context = _a.context, mergeTree = _a.mergeTree;\n var policies = this.cache.policies;\n var _b = policies.identify(result, selectionSet, context.fragmentMap), id = _b[0], keyObject = _b[1];\n dataId = dataId || id;\n if (\"string\" === typeof dataId) {\n var sets = context.written[dataId] || (context.written[dataId] = []);\n var ref = makeReference(dataId);\n if (sets.indexOf(selectionSet) >= 0)\n return ref;\n sets.push(selectionSet);\n if (this.reader && this.reader.isFresh(result, ref, selectionSet, context)) {\n return ref;\n }\n }\n var incomingFields = Object.create(null);\n if (keyObject) {\n incomingFields = context.merge(incomingFields, keyObject);\n }\n var typename = (dataId && policies.rootTypenamesById[dataId]) ||\n getTypenameFromResult(result, selectionSet, context.fragmentMap) ||\n (dataId && context.store.get(dataId, \"__typename\"));\n if (\"string\" === typeof typename) {\n incomingFields.__typename = typename;\n }\n var selections = new Set(selectionSet.selections);\n selections.forEach(function (selection) {\n var _a;\n if (!shouldInclude(selection, context.variables))\n return;\n if (isField(selection)) {\n var resultFieldKey = resultKeyNameFromField(selection);\n var value = result[resultFieldKey];\n var wasClientOnly = context.clientOnly;\n context.clientOnly = wasClientOnly || !!(selection.directives &&\n selection.directives.some(function (d) { return d.name.value === \"client\"; }));\n if (value !== void 0) {\n var storeFieldName = policies.getStoreFieldName({\n typename: typename,\n fieldName: selection.name.value,\n field: selection,\n variables: context.variables,\n });\n var childTree = getChildMergeTree(mergeTree, storeFieldName);\n var incomingValue = _this.processFieldValue(value, selection, context, childTree);\n var childTypename = void 0;\n if (selection.selectionSet) {\n childTypename = context.store.getFieldValue(incomingValue, \"__typename\");\n if (!childTypename && isReference(incomingValue)) {\n var info = context.incomingById.get(incomingValue.__ref);\n childTypename = info && info.fields.__typename;\n }\n }\n var merge = policies.getMergeFunction(typename, selection.name.value, childTypename);\n if (merge) {\n childTree.info = {\n field: selection,\n typename: typename,\n merge: merge,\n };\n }\n else {\n maybeRecycleChildMergeTree(mergeTree, storeFieldName);\n }\n incomingFields = context.merge(incomingFields, (_a = {},\n _a[storeFieldName] = incomingValue,\n _a));\n }\n else if (!context.clientOnly &&\n !addTypenameToDocument.added(selection)) {\n __DEV__ && invariant.error((\"Missing field '\" + resultKeyNameFromField(selection) + \"' while writing result \" + JSON.stringify(result, null, 2)).substring(0, 1000));\n }\n context.clientOnly = wasClientOnly;\n }\n else {\n var fragment = getFragmentFromSelection(selection, context.fragmentMap);\n if (fragment &&\n policies.fragmentMatches(fragment, typename, result, context.variables)) {\n fragment.selectionSet.selections.forEach(selections.add, selections);\n }\n }\n });\n if (\"string\" === typeof dataId) {\n var previous = context.incomingById.get(dataId);\n if (previous) {\n previous.fields = context.merge(previous.fields, incomingFields);\n previous.mergeTree = mergeMergeTrees(previous.mergeTree, mergeTree);\n previous.selections.forEach(selections.add, selections);\n previous.selections = selections;\n }\n else {\n context.incomingById.set(dataId, {\n fields: incomingFields,\n mergeTree: mergeTreeIsEmpty(mergeTree) ? void 0 : mergeTree,\n selections: selections,\n });\n }\n return makeReference(dataId);\n }\n return incomingFields;\n };\n StoreWriter.prototype.processFieldValue = function (value, field, context, mergeTree) {\n var _this = this;\n if (!field.selectionSet || value === null) {\n return __DEV__ ? cloneDeep(value) : value;\n }\n if (Array.isArray(value)) {\n return value.map(function (item, i) {\n var value = _this.processFieldValue(item, field, context, getChildMergeTree(mergeTree, i));\n maybeRecycleChildMergeTree(mergeTree, i);\n return value;\n });\n }\n return this.processSelectionSet({\n result: value,\n selectionSet: field.selectionSet,\n context: context,\n mergeTree: mergeTree,\n });\n };\n StoreWriter.prototype.applyMerges = function (mergeTree, existing, incoming, context, getStorageArgs) {\n var _a;\n var _this = this;\n if (mergeTree.map.size && !isReference(incoming)) {\n var e_1 = (!Array.isArray(incoming) &&\n (isReference(existing) || storeValueIsStoreObject(existing))) ? existing : void 0;\n var i_1 = incoming;\n if (e_1 && !getStorageArgs) {\n getStorageArgs = [isReference(e_1) ? e_1.__ref : e_1];\n }\n var changedFields_1;\n var getValue_1 = function (from, name) {\n return Array.isArray(from)\n ? (typeof name === \"number\" ? from[name] : void 0)\n : context.store.getFieldValue(from, String(name));\n };\n mergeTree.map.forEach(function (childTree, storeFieldName) {\n var eVal = getValue_1(e_1, storeFieldName);\n var iVal = getValue_1(i_1, storeFieldName);\n if (void 0 === iVal)\n return;\n if (getStorageArgs) {\n getStorageArgs.push(storeFieldName);\n }\n var aVal = _this.applyMerges(childTree, eVal, iVal, context, getStorageArgs);\n if (aVal !== iVal) {\n changedFields_1 = changedFields_1 || new Map;\n changedFields_1.set(storeFieldName, aVal);\n }\n if (getStorageArgs) {\n invariant(getStorageArgs.pop() === storeFieldName);\n }\n });\n if (changedFields_1) {\n incoming = (Array.isArray(i_1) ? i_1.slice(0) : __assign({}, i_1));\n changedFields_1.forEach(function (value, name) {\n incoming[name] = value;\n });\n }\n }\n if (mergeTree.info) {\n return this.cache.policies.runMergeFunction(existing, incoming, mergeTree.info, context, getStorageArgs && (_a = context.store).getStorage.apply(_a, getStorageArgs));\n }\n return incoming;\n };\n return StoreWriter;\n}());\nexport { StoreWriter };\nvar emptyMergeTreePool = [];\nfunction getChildMergeTree(_a, name) {\n var map = _a.map;\n if (!map.has(name)) {\n map.set(name, emptyMergeTreePool.pop() || { map: new Map });\n }\n return map.get(name);\n}\nfunction mergeMergeTrees(left, right) {\n if (left === right || !right || mergeTreeIsEmpty(right))\n return left;\n if (!left || mergeTreeIsEmpty(left))\n return right;\n var info = left.info && right.info ? __assign(__assign({}, left.info), right.info) : left.info || right.info;\n var needToMergeMaps = left.map.size && right.map.size;\n var map = needToMergeMaps ? new Map :\n left.map.size ? left.map : right.map;\n var merged = { info: info, map: map };\n if (needToMergeMaps) {\n var remainingRightKeys_1 = new Set(right.map.keys());\n left.map.forEach(function (leftTree, key) {\n merged.map.set(key, mergeMergeTrees(leftTree, right.map.get(key)));\n remainingRightKeys_1.delete(key);\n });\n remainingRightKeys_1.forEach(function (key) {\n merged.map.set(key, mergeMergeTrees(right.map.get(key), left.map.get(key)));\n });\n }\n return merged;\n}\nfunction mergeTreeIsEmpty(tree) {\n return !tree || !(tree.info || tree.map.size);\n}\nfunction maybeRecycleChildMergeTree(_a, name) {\n var map = _a.map;\n var childTree = map.get(name);\n if (childTree && mergeTreeIsEmpty(childTree)) {\n emptyMergeTreePool.push(childTree);\n map.delete(name);\n }\n}\nvar warnings = new Set();\nfunction warnAboutDataLoss(existingRef, incomingObj, storeFieldName, store) {\n var getChild = function (objOrRef) {\n var child = store.getFieldValue(objOrRef, storeFieldName);\n return typeof child === \"object\" && child;\n };\n var existing = getChild(existingRef);\n if (!existing)\n return;\n var incoming = getChild(incomingObj);\n if (!incoming)\n return;\n if (isReference(existing))\n return;\n if (equal(existing, incoming))\n return;\n if (Object.keys(existing).every(function (key) { return store.getFieldValue(incoming, key) !== void 0; })) {\n return;\n }\n var parentType = store.getFieldValue(existingRef, \"__typename\") ||\n store.getFieldValue(incomingObj, \"__typename\");\n var fieldName = fieldNameFromStoreName(storeFieldName);\n var typeDotName = parentType + \".\" + fieldName;\n if (warnings.has(typeDotName))\n return;\n warnings.add(typeDotName);\n var childTypenames = [];\n if (!Array.isArray(existing) &&\n !Array.isArray(incoming)) {\n [existing, incoming].forEach(function (child) {\n var typename = store.getFieldValue(child, \"__typename\");\n if (typeof typename === \"string\" &&\n !childTypenames.includes(typename)) {\n childTypenames.push(typename);\n }\n });\n }\n __DEV__ && invariant.warn(\"Cache data may be lost when replacing the \" + fieldName + \" field of a \" + parentType + \" object.\\n\\nTo address this problem (which is not a bug in Apollo Client), \" + (childTypenames.length\n ? \"either ensure all objects of type \" +\n childTypenames.join(\" and \") + \" have an ID or a custom merge function, or \"\n : \"\") + \"define a custom merge function for the \" + typeDotName + \" field, so InMemoryCache can safely merge these objects:\\n\\n existing: \" + JSON.stringify(existing).slice(0, 1000) + \"\\n incoming: \" + JSON.stringify(incoming).slice(0, 1000) + \"\\n\\nFor more information about these options, please refer to the documentation:\\n\\n * Ensuring entity objects have IDs: https://go.apollo.dev/c/generating-unique-identifiers\\n * Defining custom merge functions: https://go.apollo.dev/c/merging-non-normalized-objects\\n\");\n}\n//# sourceMappingURL=writeToStore.js.map","import { makeUniqueId } from \"./makeUniqueId.js\";\nexport function stringifyForDisplay(value) {\n var undefId = makeUniqueId(\"stringifyForDisplay\");\n return JSON.stringify(value, function (key, value) {\n return value === void 0 ? undefId : value;\n }).split(JSON.stringify(undefId)).join(\"\");\n}\n//# sourceMappingURL=stringifyForDisplay.js.map","import { __assign, __rest } from \"tslib\";\nimport { Trie } from '@wry/trie';\nimport { invariant, InvariantError } from 'ts-invariant';\nimport { getFragmentFromSelection, isField, getTypenameFromResult, storeKeyNameFromField, argumentsObjectFromField, isReference, getStoreKeyName, canUseWeakMap, isNonNullObject, stringifyForDisplay, } from \"../../utilities/index.js\";\nimport { hasOwn, fieldNameFromStoreName, storeValueIsStoreObject, selectionSetMatchesResult, TypeOrFieldNameRegExp, } from \"./helpers.js\";\nimport { cacheSlot } from \"./reactiveVars.js\";\nimport { canonicalStringify } from \"./object-canon.js\";\ngetStoreKeyName.setStringify(canonicalStringify);\nfunction argsFromFieldSpecifier(spec) {\n return spec.args !== void 0 ? spec.args :\n spec.field ? argumentsObjectFromField(spec.field, spec.variables) : null;\n}\nexport var defaultDataIdFromObject = function (_a, context) {\n var __typename = _a.__typename, id = _a.id, _id = _a._id;\n if (typeof __typename === \"string\") {\n if (context) {\n context.keyObject =\n id !== void 0 ? { id: id } :\n _id !== void 0 ? { _id: _id } :\n void 0;\n }\n if (id === void 0)\n id = _id;\n if (id !== void 0) {\n return __typename + \":\" + ((typeof id === \"number\" ||\n typeof id === \"string\") ? id : JSON.stringify(id));\n }\n }\n};\nvar nullKeyFieldsFn = function () { return void 0; };\nvar simpleKeyArgsFn = function (_args, context) { return context.fieldName; };\nvar mergeTrueFn = function (existing, incoming, _a) {\n var mergeObjects = _a.mergeObjects;\n return mergeObjects(existing, incoming);\n};\nvar mergeFalseFn = function (_, incoming) { return incoming; };\nvar Policies = (function () {\n function Policies(config) {\n this.config = config;\n this.typePolicies = Object.create(null);\n this.toBeAdded = Object.create(null);\n this.supertypeMap = new Map();\n this.fuzzySubtypes = new Map();\n this.rootIdsByTypename = Object.create(null);\n this.rootTypenamesById = Object.create(null);\n this.usingPossibleTypes = false;\n this.config = __assign({ dataIdFromObject: defaultDataIdFromObject }, config);\n this.cache = this.config.cache;\n this.setRootTypename(\"Query\");\n this.setRootTypename(\"Mutation\");\n this.setRootTypename(\"Subscription\");\n if (config.possibleTypes) {\n this.addPossibleTypes(config.possibleTypes);\n }\n if (config.typePolicies) {\n this.addTypePolicies(config.typePolicies);\n }\n }\n Policies.prototype.identify = function (object, selectionSet, fragmentMap) {\n var typename = selectionSet && fragmentMap\n ? getTypenameFromResult(object, selectionSet, fragmentMap)\n : object.__typename;\n if (typename === this.rootTypenamesById.ROOT_QUERY) {\n return [\"ROOT_QUERY\"];\n }\n var context = {\n typename: typename,\n selectionSet: selectionSet,\n fragmentMap: fragmentMap,\n };\n var id;\n var policy = typename && this.getTypePolicy(typename);\n var keyFn = policy && policy.keyFn || this.config.dataIdFromObject;\n while (keyFn) {\n var specifierOrId = keyFn(object, context);\n if (Array.isArray(specifierOrId)) {\n keyFn = keyFieldsFnFromSpecifier(specifierOrId);\n }\n else {\n id = specifierOrId;\n break;\n }\n }\n id = id ? String(id) : void 0;\n return context.keyObject ? [id, context.keyObject] : [id];\n };\n Policies.prototype.addTypePolicies = function (typePolicies) {\n var _this = this;\n Object.keys(typePolicies).forEach(function (typename) {\n var _a = typePolicies[typename], queryType = _a.queryType, mutationType = _a.mutationType, subscriptionType = _a.subscriptionType, incoming = __rest(_a, [\"queryType\", \"mutationType\", \"subscriptionType\"]);\n if (queryType)\n _this.setRootTypename(\"Query\", typename);\n if (mutationType)\n _this.setRootTypename(\"Mutation\", typename);\n if (subscriptionType)\n _this.setRootTypename(\"Subscription\", typename);\n if (hasOwn.call(_this.toBeAdded, typename)) {\n _this.toBeAdded[typename].push(incoming);\n }\n else {\n _this.toBeAdded[typename] = [incoming];\n }\n });\n };\n Policies.prototype.updateTypePolicy = function (typename, incoming) {\n var _this = this;\n var existing = this.getTypePolicy(typename);\n var keyFields = incoming.keyFields, fields = incoming.fields;\n function setMerge(existing, merge) {\n existing.merge =\n typeof merge === \"function\" ? merge :\n merge === true ? mergeTrueFn :\n merge === false ? mergeFalseFn :\n existing.merge;\n }\n setMerge(existing, incoming.merge);\n existing.keyFn =\n keyFields === false ? nullKeyFieldsFn :\n Array.isArray(keyFields) ? keyFieldsFnFromSpecifier(keyFields) :\n typeof keyFields === \"function\" ? keyFields :\n existing.keyFn;\n if (fields) {\n Object.keys(fields).forEach(function (fieldName) {\n var existing = _this.getFieldPolicy(typename, fieldName, true);\n var incoming = fields[fieldName];\n if (typeof incoming === \"function\") {\n existing.read = incoming;\n }\n else {\n var keyArgs = incoming.keyArgs, read = incoming.read, merge = incoming.merge;\n existing.keyFn =\n keyArgs === false ? simpleKeyArgsFn :\n Array.isArray(keyArgs) ? keyArgsFnFromSpecifier(keyArgs) :\n typeof keyArgs === \"function\" ? keyArgs :\n existing.keyFn;\n if (typeof read === \"function\") {\n existing.read = read;\n }\n setMerge(existing, merge);\n }\n if (existing.read && existing.merge) {\n existing.keyFn = existing.keyFn || simpleKeyArgsFn;\n }\n });\n }\n };\n Policies.prototype.setRootTypename = function (which, typename) {\n if (typename === void 0) { typename = which; }\n var rootId = \"ROOT_\" + which.toUpperCase();\n var old = this.rootTypenamesById[rootId];\n if (typename !== old) {\n __DEV__ ? invariant(!old || old === which, \"Cannot change root \" + which + \" __typename more than once\") : invariant(!old || old === which, 2);\n if (old)\n delete this.rootIdsByTypename[old];\n this.rootIdsByTypename[typename] = rootId;\n this.rootTypenamesById[rootId] = typename;\n }\n };\n Policies.prototype.addPossibleTypes = function (possibleTypes) {\n var _this = this;\n this.usingPossibleTypes = true;\n Object.keys(possibleTypes).forEach(function (supertype) {\n _this.getSupertypeSet(supertype, true);\n possibleTypes[supertype].forEach(function (subtype) {\n _this.getSupertypeSet(subtype, true).add(supertype);\n var match = subtype.match(TypeOrFieldNameRegExp);\n if (!match || match[0] !== subtype) {\n _this.fuzzySubtypes.set(subtype, new RegExp(subtype));\n }\n });\n });\n };\n Policies.prototype.getTypePolicy = function (typename) {\n var _this = this;\n if (!hasOwn.call(this.typePolicies, typename)) {\n var policy_1 = this.typePolicies[typename] = Object.create(null);\n policy_1.fields = Object.create(null);\n var supertypes = this.supertypeMap.get(typename);\n if (supertypes && supertypes.size) {\n supertypes.forEach(function (supertype) {\n var _a = _this.getTypePolicy(supertype), fields = _a.fields, rest = __rest(_a, [\"fields\"]);\n Object.assign(policy_1, rest);\n Object.assign(policy_1.fields, fields);\n });\n }\n }\n var inbox = this.toBeAdded[typename];\n if (inbox && inbox.length) {\n inbox.splice(0).forEach(function (policy) {\n _this.updateTypePolicy(typename, policy);\n });\n }\n return this.typePolicies[typename];\n };\n Policies.prototype.getFieldPolicy = function (typename, fieldName, createIfMissing) {\n if (typename) {\n var fieldPolicies = this.getTypePolicy(typename).fields;\n return fieldPolicies[fieldName] || (createIfMissing && (fieldPolicies[fieldName] = Object.create(null)));\n }\n };\n Policies.prototype.getSupertypeSet = function (subtype, createIfMissing) {\n var supertypeSet = this.supertypeMap.get(subtype);\n if (!supertypeSet && createIfMissing) {\n this.supertypeMap.set(subtype, supertypeSet = new Set());\n }\n return supertypeSet;\n };\n Policies.prototype.fragmentMatches = function (fragment, typename, result, variables) {\n var _this = this;\n if (!fragment.typeCondition)\n return true;\n if (!typename)\n return false;\n var supertype = fragment.typeCondition.name.value;\n if (typename === supertype)\n return true;\n if (this.usingPossibleTypes &&\n this.supertypeMap.has(supertype)) {\n var typenameSupertypeSet = this.getSupertypeSet(typename, true);\n var workQueue_1 = [typenameSupertypeSet];\n var maybeEnqueue_1 = function (subtype) {\n var supertypeSet = _this.getSupertypeSet(subtype, false);\n if (supertypeSet &&\n supertypeSet.size &&\n workQueue_1.indexOf(supertypeSet) < 0) {\n workQueue_1.push(supertypeSet);\n }\n };\n var needToCheckFuzzySubtypes = !!(result && this.fuzzySubtypes.size);\n var checkingFuzzySubtypes = false;\n for (var i = 0; i < workQueue_1.length; ++i) {\n var supertypeSet = workQueue_1[i];\n if (supertypeSet.has(supertype)) {\n if (!typenameSupertypeSet.has(supertype)) {\n if (checkingFuzzySubtypes) {\n __DEV__ && invariant.warn(\"Inferring subtype \" + typename + \" of supertype \" + supertype);\n }\n typenameSupertypeSet.add(supertype);\n }\n return true;\n }\n supertypeSet.forEach(maybeEnqueue_1);\n if (needToCheckFuzzySubtypes &&\n i === workQueue_1.length - 1 &&\n selectionSetMatchesResult(fragment.selectionSet, result, variables)) {\n needToCheckFuzzySubtypes = false;\n checkingFuzzySubtypes = true;\n this.fuzzySubtypes.forEach(function (regExp, fuzzyString) {\n var match = typename.match(regExp);\n if (match && match[0] === typename) {\n maybeEnqueue_1(fuzzyString);\n }\n });\n }\n }\n }\n return false;\n };\n Policies.prototype.hasKeyArgs = function (typename, fieldName) {\n var policy = this.getFieldPolicy(typename, fieldName, false);\n return !!(policy && policy.keyFn);\n };\n Policies.prototype.getStoreFieldName = function (fieldSpec) {\n var typename = fieldSpec.typename, fieldName = fieldSpec.fieldName;\n var policy = this.getFieldPolicy(typename, fieldName, false);\n var storeFieldName;\n var keyFn = policy && policy.keyFn;\n if (keyFn && typename) {\n var context = {\n typename: typename,\n fieldName: fieldName,\n field: fieldSpec.field || null,\n variables: fieldSpec.variables,\n };\n var args = argsFromFieldSpecifier(fieldSpec);\n while (keyFn) {\n var specifierOrString = keyFn(args, context);\n if (Array.isArray(specifierOrString)) {\n keyFn = keyArgsFnFromSpecifier(specifierOrString);\n }\n else {\n storeFieldName = specifierOrString || fieldName;\n break;\n }\n }\n }\n if (storeFieldName === void 0) {\n storeFieldName = fieldSpec.field\n ? storeKeyNameFromField(fieldSpec.field, fieldSpec.variables)\n : getStoreKeyName(fieldName, argsFromFieldSpecifier(fieldSpec));\n }\n if (storeFieldName === false) {\n return fieldName;\n }\n return fieldName === fieldNameFromStoreName(storeFieldName)\n ? storeFieldName\n : fieldName + \":\" + storeFieldName;\n };\n Policies.prototype.readField = function (options, context) {\n var objectOrReference = options.from;\n if (!objectOrReference)\n return;\n var nameOrField = options.field || options.fieldName;\n if (!nameOrField)\n return;\n if (options.typename === void 0) {\n var typename = context.store.getFieldValue(objectOrReference, \"__typename\");\n if (typename)\n options.typename = typename;\n }\n var storeFieldName = this.getStoreFieldName(options);\n var fieldName = fieldNameFromStoreName(storeFieldName);\n var existing = context.store.getFieldValue(objectOrReference, storeFieldName);\n var policy = this.getFieldPolicy(options.typename, fieldName, false);\n var read = policy && policy.read;\n if (read) {\n var readOptions = makeFieldFunctionOptions(this, objectOrReference, options, context, context.store.getStorage(isReference(objectOrReference)\n ? objectOrReference.__ref\n : objectOrReference, storeFieldName));\n return cacheSlot.withValue(this.cache, read, [existing, readOptions]);\n }\n return existing;\n };\n Policies.prototype.getMergeFunction = function (parentTypename, fieldName, childTypename) {\n var policy = this.getFieldPolicy(parentTypename, fieldName, false);\n var merge = policy && policy.merge;\n if (!merge && childTypename) {\n policy = this.getTypePolicy(childTypename);\n merge = policy && policy.merge;\n }\n return merge;\n };\n Policies.prototype.runMergeFunction = function (existing, incoming, _a, context, storage) {\n var field = _a.field, typename = _a.typename, merge = _a.merge;\n if (merge === mergeTrueFn) {\n return makeMergeObjectsFunction(context.store)(existing, incoming);\n }\n if (merge === mergeFalseFn) {\n return incoming;\n }\n if (context.overwrite) {\n existing = void 0;\n }\n return merge(existing, incoming, makeFieldFunctionOptions(this, void 0, { typename: typename, fieldName: field.name.value, field: field, variables: context.variables }, context, storage || Object.create(null)));\n };\n return Policies;\n}());\nexport { Policies };\nfunction makeFieldFunctionOptions(policies, objectOrReference, fieldSpec, context, storage) {\n var storeFieldName = policies.getStoreFieldName(fieldSpec);\n var fieldName = fieldNameFromStoreName(storeFieldName);\n var variables = fieldSpec.variables || context.variables;\n var _a = context.store, toReference = _a.toReference, canRead = _a.canRead;\n return {\n args: argsFromFieldSpecifier(fieldSpec),\n field: fieldSpec.field || null,\n fieldName: fieldName,\n storeFieldName: storeFieldName,\n variables: variables,\n isReference: isReference,\n toReference: toReference,\n storage: storage,\n cache: policies.cache,\n canRead: canRead,\n readField: function (fieldNameOrOptions, from) {\n var options;\n if (typeof fieldNameOrOptions === \"string\") {\n options = {\n fieldName: fieldNameOrOptions,\n from: arguments.length > 1 ? from : objectOrReference,\n };\n }\n else if (isNonNullObject(fieldNameOrOptions)) {\n options = __assign({}, fieldNameOrOptions);\n if (!hasOwn.call(fieldNameOrOptions, \"from\")) {\n options.from = objectOrReference;\n }\n }\n else {\n __DEV__ && invariant.warn(\"Unexpected readField arguments: \" + stringifyForDisplay(Array.from(arguments)));\n return;\n }\n if (__DEV__ && options.from === void 0) {\n __DEV__ && invariant.warn(\"Undefined 'from' passed to readField with arguments \" + stringifyForDisplay(Array.from(arguments)));\n }\n if (void 0 === options.variables) {\n options.variables = variables;\n }\n return policies.readField(options, context);\n },\n mergeObjects: makeMergeObjectsFunction(context.store),\n };\n}\nfunction makeMergeObjectsFunction(store) {\n return function mergeObjects(existing, incoming) {\n if (Array.isArray(existing) || Array.isArray(incoming)) {\n throw __DEV__ ? new InvariantError(\"Cannot automatically merge arrays\") : new InvariantError(3);\n }\n if (isNonNullObject(existing) &&\n isNonNullObject(incoming)) {\n var eType = store.getFieldValue(existing, \"__typename\");\n var iType = store.getFieldValue(incoming, \"__typename\");\n var typesDiffer = eType && iType && eType !== iType;\n if (typesDiffer) {\n return incoming;\n }\n if (isReference(existing) &&\n storeValueIsStoreObject(incoming)) {\n store.merge(existing.__ref, incoming);\n return existing;\n }\n if (storeValueIsStoreObject(existing) &&\n isReference(incoming)) {\n store.merge(existing, incoming.__ref);\n return incoming;\n }\n if (storeValueIsStoreObject(existing) &&\n storeValueIsStoreObject(incoming)) {\n return __assign(__assign({}, existing), incoming);\n }\n }\n return incoming;\n };\n}\nfunction keyArgsFnFromSpecifier(specifier) {\n return function (args, context) {\n return args ? context.fieldName + \":\" + JSON.stringify(computeKeyObject(args, specifier, false)) : context.fieldName;\n };\n}\nfunction keyFieldsFnFromSpecifier(specifier) {\n var trie = new Trie(canUseWeakMap);\n return function (object, context) {\n var aliasMap;\n if (context.selectionSet && context.fragmentMap) {\n var info = trie.lookupArray([\n context.selectionSet,\n context.fragmentMap,\n ]);\n aliasMap = info.aliasMap || (info.aliasMap = makeAliasMap(context.selectionSet, context.fragmentMap));\n }\n var keyObject = context.keyObject =\n computeKeyObject(object, specifier, true, aliasMap);\n return context.typename + \":\" + JSON.stringify(keyObject);\n };\n}\nfunction makeAliasMap(selectionSet, fragmentMap) {\n var map = Object.create(null);\n var workQueue = new Set([selectionSet]);\n workQueue.forEach(function (selectionSet) {\n selectionSet.selections.forEach(function (selection) {\n if (isField(selection)) {\n if (selection.alias) {\n var responseKey = selection.alias.value;\n var storeKey = selection.name.value;\n if (storeKey !== responseKey) {\n var aliases = map.aliases || (map.aliases = Object.create(null));\n aliases[storeKey] = responseKey;\n }\n }\n if (selection.selectionSet) {\n var subsets = map.subsets || (map.subsets = Object.create(null));\n subsets[selection.name.value] =\n makeAliasMap(selection.selectionSet, fragmentMap);\n }\n }\n else {\n var fragment = getFragmentFromSelection(selection, fragmentMap);\n if (fragment) {\n workQueue.add(fragment.selectionSet);\n }\n }\n });\n });\n return map;\n}\nfunction computeKeyObject(response, specifier, strict, aliasMap) {\n var keyObj = Object.create(null);\n var lastResponseKey;\n var lastActualKey;\n specifier.forEach(function (s) {\n if (Array.isArray(s)) {\n if (typeof lastActualKey === \"string\" &&\n typeof lastResponseKey === \"string\") {\n var subsets = aliasMap && aliasMap.subsets;\n var subset = subsets && subsets[lastActualKey];\n keyObj[lastActualKey] =\n computeKeyObject(response[lastResponseKey], s, strict, subset);\n }\n }\n else {\n var aliases = aliasMap && aliasMap.aliases;\n var responseName = aliases && aliases[s] || s;\n if (hasOwn.call(response, responseName)) {\n keyObj[lastActualKey = s] = response[lastResponseKey = responseName];\n }\n else {\n __DEV__ ? invariant(!strict, \"Missing field '\" + responseName + \"' while computing key fields\") : invariant(!strict, 4);\n lastResponseKey = lastActualKey = void 0;\n }\n }\n });\n return keyObj;\n}\n//# sourceMappingURL=policies.js.map","import { __assign, __extends } from \"tslib\";\nimport \"./fixPolyfills.js\";\nimport { wrap } from 'optimism';\nimport { equal } from '@wry/equality';\nimport { ApolloCache } from \"../core/cache.js\";\nimport { MissingFieldError } from \"../core/types/common.js\";\nimport { addTypenameToDocument, isReference, } from \"../../utilities/index.js\";\nimport { StoreReader } from \"./readFromStore.js\";\nimport { StoreWriter } from \"./writeToStore.js\";\nimport { EntityStore, supportsResultCaching } from \"./entityStore.js\";\nimport { makeVar, forgetCache, recallCache } from \"./reactiveVars.js\";\nimport { defaultDataIdFromObject, Policies, } from \"./policies.js\";\nimport { hasOwn } from \"./helpers.js\";\nimport { canonicalStringify } from \"./object-canon.js\";\nvar defaultConfig = {\n dataIdFromObject: defaultDataIdFromObject,\n addTypename: true,\n resultCaching: true,\n typePolicies: {},\n};\nvar InMemoryCache = (function (_super) {\n __extends(InMemoryCache, _super);\n function InMemoryCache(config) {\n if (config === void 0) { config = {}; }\n var _this = _super.call(this) || this;\n _this.watches = new Set();\n _this.typenameDocumentCache = new Map();\n _this.makeVar = makeVar;\n _this.txCount = 0;\n _this.config = __assign(__assign({}, defaultConfig), config);\n _this.addTypename = !!_this.config.addTypename;\n _this.policies = new Policies({\n cache: _this,\n dataIdFromObject: _this.config.dataIdFromObject,\n possibleTypes: _this.config.possibleTypes,\n typePolicies: _this.config.typePolicies,\n });\n _this.init();\n return _this;\n }\n InMemoryCache.prototype.init = function () {\n var rootStore = this.data = new EntityStore.Root({\n policies: this.policies,\n resultCaching: this.config.resultCaching,\n });\n this.optimisticData = rootStore.stump;\n this.resetResultCache();\n };\n InMemoryCache.prototype.resetResultCache = function (resetResultIdentities) {\n var _this = this;\n var previousReader = this.storeReader;\n this.storeWriter = new StoreWriter(this, this.storeReader = new StoreReader({\n cache: this,\n addTypename: this.addTypename,\n resultCacheMaxSize: this.config.resultCacheMaxSize,\n canon: resetResultIdentities\n ? void 0\n : previousReader && previousReader.canon,\n }));\n this.maybeBroadcastWatch = wrap(function (c, options) {\n return _this.broadcastWatch(c, options);\n }, {\n max: this.config.resultCacheMaxSize,\n makeCacheKey: function (c) {\n var store = c.optimistic ? _this.optimisticData : _this.data;\n if (supportsResultCaching(store)) {\n var optimistic = c.optimistic, rootId = c.rootId, variables = c.variables;\n return store.makeCacheKey(c.query, c.callback, canonicalStringify({ optimistic: optimistic, rootId: rootId, variables: variables }));\n }\n }\n });\n new Set([\n this.data.group,\n this.optimisticData.group,\n ]).forEach(function (group) { return group.resetCaching(); });\n };\n InMemoryCache.prototype.restore = function (data) {\n this.init();\n if (data)\n this.data.replace(data);\n return this;\n };\n InMemoryCache.prototype.extract = function (optimistic) {\n if (optimistic === void 0) { optimistic = false; }\n return (optimistic ? this.optimisticData : this.data).extract();\n };\n InMemoryCache.prototype.read = function (options) {\n var _a = options.returnPartialData, returnPartialData = _a === void 0 ? false : _a;\n try {\n return this.storeReader.diffQueryAgainstStore(__assign(__assign({}, options), { store: options.optimistic ? this.optimisticData : this.data, config: this.config, returnPartialData: returnPartialData })).result || null;\n }\n catch (e) {\n if (e instanceof MissingFieldError) {\n return null;\n }\n throw e;\n }\n };\n InMemoryCache.prototype.write = function (options) {\n try {\n ++this.txCount;\n return this.storeWriter.writeToStore(this.data, options);\n }\n finally {\n if (!--this.txCount && options.broadcast !== false) {\n this.broadcastWatches();\n }\n }\n };\n InMemoryCache.prototype.modify = function (options) {\n if (hasOwn.call(options, \"id\") && !options.id) {\n return false;\n }\n var store = options.optimistic\n ? this.optimisticData\n : this.data;\n try {\n ++this.txCount;\n return store.modify(options.id || \"ROOT_QUERY\", options.fields);\n }\n finally {\n if (!--this.txCount && options.broadcast !== false) {\n this.broadcastWatches();\n }\n }\n };\n InMemoryCache.prototype.diff = function (options) {\n return this.storeReader.diffQueryAgainstStore(__assign(__assign({}, options), { store: options.optimistic ? this.optimisticData : this.data, rootId: options.id || \"ROOT_QUERY\", config: this.config }));\n };\n InMemoryCache.prototype.watch = function (watch) {\n var _this = this;\n if (!this.watches.size) {\n recallCache(this);\n }\n this.watches.add(watch);\n if (watch.immediate) {\n this.maybeBroadcastWatch(watch);\n }\n return function () {\n if (_this.watches.delete(watch) && !_this.watches.size) {\n forgetCache(_this);\n }\n _this.maybeBroadcastWatch.forget(watch);\n };\n };\n InMemoryCache.prototype.gc = function (options) {\n canonicalStringify.reset();\n var ids = this.optimisticData.gc();\n if (options && !this.txCount) {\n if (options.resetResultCache) {\n this.resetResultCache(options.resetResultIdentities);\n }\n else if (options.resetResultIdentities) {\n this.storeReader.resetCanon();\n }\n }\n return ids;\n };\n InMemoryCache.prototype.retain = function (rootId, optimistic) {\n return (optimistic ? this.optimisticData : this.data).retain(rootId);\n };\n InMemoryCache.prototype.release = function (rootId, optimistic) {\n return (optimistic ? this.optimisticData : this.data).release(rootId);\n };\n InMemoryCache.prototype.identify = function (object) {\n return isReference(object) ? object.__ref :\n this.policies.identify(object)[0];\n };\n InMemoryCache.prototype.evict = function (options) {\n if (!options.id) {\n if (hasOwn.call(options, \"id\")) {\n return false;\n }\n options = __assign(__assign({}, options), { id: \"ROOT_QUERY\" });\n }\n try {\n ++this.txCount;\n return this.optimisticData.evict(options);\n }\n finally {\n if (!--this.txCount && options.broadcast !== false) {\n this.broadcastWatches();\n }\n }\n };\n InMemoryCache.prototype.reset = function () {\n this.init();\n this.broadcastWatches();\n canonicalStringify.reset();\n return Promise.resolve();\n };\n InMemoryCache.prototype.removeOptimistic = function (idToRemove) {\n var newOptimisticData = this.optimisticData.removeLayer(idToRemove);\n if (newOptimisticData !== this.optimisticData) {\n this.optimisticData = newOptimisticData;\n this.broadcastWatches();\n }\n };\n InMemoryCache.prototype.batch = function (options) {\n var _this = this;\n var update = options.update, _a = options.optimistic, optimistic = _a === void 0 ? true : _a, removeOptimistic = options.removeOptimistic, onWatchUpdated = options.onWatchUpdated;\n var perform = function (layer) {\n var _a = _this, data = _a.data, optimisticData = _a.optimisticData;\n ++_this.txCount;\n if (layer) {\n _this.data = _this.optimisticData = layer;\n }\n try {\n update(_this);\n }\n finally {\n --_this.txCount;\n _this.data = data;\n _this.optimisticData = optimisticData;\n }\n };\n var alreadyDirty = new Set();\n if (onWatchUpdated && !this.txCount) {\n this.broadcastWatches(__assign(__assign({}, options), { onWatchUpdated: function (watch) {\n alreadyDirty.add(watch);\n return false;\n } }));\n }\n if (typeof optimistic === 'string') {\n this.optimisticData = this.optimisticData.addLayer(optimistic, perform);\n }\n else if (optimistic === false) {\n perform(this.data);\n }\n else {\n perform();\n }\n if (typeof removeOptimistic === \"string\") {\n this.optimisticData = this.optimisticData.removeLayer(removeOptimistic);\n }\n if (onWatchUpdated && alreadyDirty.size) {\n this.broadcastWatches(__assign(__assign({}, options), { onWatchUpdated: function (watch, diff) {\n var result = onWatchUpdated.call(this, watch, diff);\n if (result !== false) {\n alreadyDirty.delete(watch);\n }\n return result;\n } }));\n if (alreadyDirty.size) {\n alreadyDirty.forEach(function (watch) { return _this.maybeBroadcastWatch.dirty(watch); });\n }\n }\n else {\n this.broadcastWatches(options);\n }\n };\n InMemoryCache.prototype.performTransaction = function (update, optimisticId) {\n return this.batch({\n update: update,\n optimistic: optimisticId || (optimisticId !== null),\n });\n };\n InMemoryCache.prototype.transformDocument = function (document) {\n if (this.addTypename) {\n var result = this.typenameDocumentCache.get(document);\n if (!result) {\n result = addTypenameToDocument(document);\n this.typenameDocumentCache.set(document, result);\n this.typenameDocumentCache.set(result, result);\n }\n return result;\n }\n return document;\n };\n InMemoryCache.prototype.broadcastWatches = function (options) {\n var _this = this;\n if (!this.txCount) {\n this.watches.forEach(function (c) { return _this.maybeBroadcastWatch(c, options); });\n }\n };\n InMemoryCache.prototype.broadcastWatch = function (c, options) {\n var lastDiff = c.lastDiff;\n var diff = this.diff({\n query: c.query,\n variables: c.variables,\n optimistic: c.optimistic,\n });\n if (options) {\n if (c.optimistic &&\n typeof options.optimistic === \"string\") {\n diff.fromOptimisticTransaction = true;\n }\n if (options.onWatchUpdated &&\n options.onWatchUpdated.call(this, c, diff, lastDiff) === false) {\n return;\n }\n }\n if (!lastDiff || !equal(lastDiff.result, diff.result)) {\n c.callback(c.lastDiff = diff, lastDiff);\n }\n };\n return InMemoryCache;\n}(ApolloCache));\nexport { InMemoryCache };\n//# sourceMappingURL=inMemoryCache.js.map","import { __assign } from \"tslib\";\nimport { Trie } from \"@wry/trie\";\nimport { canUseWeakMap, canUseWeakSet, isNonNullObject as isObjectOrArray, } from \"../../utilities/index.js\";\nfunction shallowCopy(value) {\n if (isObjectOrArray(value)) {\n return Array.isArray(value)\n ? value.slice(0)\n : __assign({ __proto__: Object.getPrototypeOf(value) }, value);\n }\n return value;\n}\nvar ObjectCanon = (function () {\n function ObjectCanon() {\n this.known = new (canUseWeakSet ? WeakSet : Set)();\n this.pool = new Trie(canUseWeakMap);\n this.passes = new WeakMap();\n this.keysByJSON = new Map();\n this.empty = this.admit({});\n }\n ObjectCanon.prototype.isKnown = function (value) {\n return isObjectOrArray(value) && this.known.has(value);\n };\n ObjectCanon.prototype.pass = function (value) {\n if (isObjectOrArray(value)) {\n var copy = shallowCopy(value);\n this.passes.set(copy, value);\n return copy;\n }\n return value;\n };\n ObjectCanon.prototype.admit = function (value) {\n var _this = this;\n if (isObjectOrArray(value)) {\n var original = this.passes.get(value);\n if (original)\n return original;\n var proto = Object.getPrototypeOf(value);\n switch (proto) {\n case Array.prototype: {\n if (this.known.has(value))\n return value;\n var array = value.map(this.admit, this);\n var node = this.pool.lookupArray(array);\n if (!node.array) {\n this.known.add(node.array = array);\n if (__DEV__) {\n Object.freeze(array);\n }\n }\n return node.array;\n }\n case null:\n case Object.prototype: {\n if (this.known.has(value))\n return value;\n var proto_1 = Object.getPrototypeOf(value);\n var array_1 = [proto_1];\n var keys = this.sortedKeys(value);\n array_1.push(keys.json);\n var firstValueIndex_1 = array_1.length;\n keys.sorted.forEach(function (key) {\n array_1.push(_this.admit(value[key]));\n });\n var node = this.pool.lookupArray(array_1);\n if (!node.object) {\n var obj_1 = node.object = Object.create(proto_1);\n this.known.add(obj_1);\n keys.sorted.forEach(function (key, i) {\n obj_1[key] = array_1[firstValueIndex_1 + i];\n });\n if (__DEV__) {\n Object.freeze(obj_1);\n }\n }\n return node.object;\n }\n }\n }\n return value;\n };\n ObjectCanon.prototype.sortedKeys = function (obj) {\n var keys = Object.keys(obj);\n var node = this.pool.lookupArray(keys);\n if (!node.keys) {\n keys.sort();\n var json = JSON.stringify(keys);\n if (!(node.keys = this.keysByJSON.get(json))) {\n this.keysByJSON.set(json, node.keys = { sorted: keys, json: json });\n }\n }\n return node.keys;\n };\n return ObjectCanon;\n}());\nexport { ObjectCanon };\nexport var canonicalStringify = Object.assign(function (value) {\n if (isObjectOrArray(value)) {\n if (stringifyCanon === void 0) {\n resetCanonicalStringify();\n }\n var canonical = stringifyCanon.admit(value);\n var json = stringifyCache.get(canonical);\n if (json === void 0) {\n stringifyCache.set(canonical, json = JSON.stringify(canonical));\n }\n return json;\n }\n return JSON.stringify(value);\n}, {\n reset: resetCanonicalStringify,\n});\nvar stringifyCanon;\nvar stringifyCache;\nfunction resetCanonicalStringify() {\n stringifyCanon = new ObjectCanon;\n stringifyCache = new (canUseWeakMap ? WeakMap : Map)();\n}\n//# sourceMappingURL=object-canon.js.map","// This currentContext variable will only be used if the makeSlotClass\r\n// function is called, which happens only if this is the first copy of the\r\n// @wry/context package to be imported.\r\nvar currentContext = null;\r\n// This unique internal object is used to denote the absence of a value\r\n// for a given Slot, and is never exposed to outside code.\r\nvar MISSING_VALUE = {};\r\nvar idCounter = 1;\r\n// Although we can't do anything about the cost of duplicated code from\r\n// accidentally bundling multiple copies of the @wry/context package, we can\r\n// avoid creating the Slot class more than once using makeSlotClass.\r\nvar makeSlotClass = function () { return /** @class */ (function () {\r\n function Slot() {\r\n // If you have a Slot object, you can find out its slot.id, but you cannot\r\n // guess the slot.id of a Slot you don't have access to, thanks to the\r\n // randomized suffix.\r\n this.id = [\r\n \"slot\",\r\n idCounter++,\r\n Date.now(),\r\n Math.random().toString(36).slice(2),\r\n ].join(\":\");\r\n }\r\n Slot.prototype.hasValue = function () {\r\n for (var context_1 = currentContext; context_1; context_1 = context_1.parent) {\r\n // We use the Slot object iself as a key to its value, which means the\r\n // value cannot be obtained without a reference to the Slot object.\r\n if (this.id in context_1.slots) {\r\n var value = context_1.slots[this.id];\r\n if (value === MISSING_VALUE)\r\n break;\r\n if (context_1 !== currentContext) {\r\n // Cache the value in currentContext.slots so the next lookup will\r\n // be faster. This caching is safe because the tree of contexts and\r\n // the values of the slots are logically immutable.\r\n currentContext.slots[this.id] = value;\r\n }\r\n return true;\r\n }\r\n }\r\n if (currentContext) {\r\n // If a value was not found for this Slot, it's never going to be found\r\n // no matter how many times we look it up, so we might as well cache\r\n // the absence of the value, too.\r\n currentContext.slots[this.id] = MISSING_VALUE;\r\n }\r\n return false;\r\n };\r\n Slot.prototype.getValue = function () {\r\n if (this.hasValue()) {\r\n return currentContext.slots[this.id];\r\n }\r\n };\r\n Slot.prototype.withValue = function (value, callback, \r\n // Given the prevalence of arrow functions, specifying arguments is likely\r\n // to be much more common than specifying `this`, hence this ordering:\r\n args, thisArg) {\r\n var _a;\r\n var slots = (_a = {\r\n __proto__: null\r\n },\r\n _a[this.id] = value,\r\n _a);\r\n var parent = currentContext;\r\n currentContext = { parent: parent, slots: slots };\r\n try {\r\n // Function.prototype.apply allows the arguments array argument to be\r\n // omitted or undefined, so args! is fine here.\r\n return callback.apply(thisArg, args);\r\n }\r\n finally {\r\n currentContext = parent;\r\n }\r\n };\r\n // Capture the current context and wrap a callback function so that it\r\n // reestablishes the captured context when called.\r\n Slot.bind = function (callback) {\r\n var context = currentContext;\r\n return function () {\r\n var saved = currentContext;\r\n try {\r\n currentContext = context;\r\n return callback.apply(this, arguments);\r\n }\r\n finally {\r\n currentContext = saved;\r\n }\r\n };\r\n };\r\n // Immediately run a callback function without any captured context.\r\n Slot.noContext = function (callback, \r\n // Given the prevalence of arrow functions, specifying arguments is likely\r\n // to be much more common than specifying `this`, hence this ordering:\r\n args, thisArg) {\r\n if (currentContext) {\r\n var saved = currentContext;\r\n try {\r\n currentContext = null;\r\n // Function.prototype.apply allows the arguments array argument to be\r\n // omitted or undefined, so args! is fine here.\r\n return callback.apply(thisArg, args);\r\n }\r\n finally {\r\n currentContext = saved;\r\n }\r\n }\r\n else {\r\n return callback.apply(thisArg, args);\r\n }\r\n };\r\n return Slot;\r\n}()); };\r\n// We store a single global implementation of the Slot class as a permanent\r\n// non-enumerable symbol property of the Array constructor. This obfuscation\r\n// does nothing to prevent access to the Slot class, but at least it ensures\r\n// the implementation (i.e. currentContext) cannot be tampered with, and all\r\n// copies of the @wry/context package (hopefully just one) will share the\r\n// same Slot implementation. Since the first copy of the @wry/context package\r\n// to be imported wins, this technique imposes a very high cost for any\r\n// future breaking changes to the Slot class.\r\nvar globalKey = \"@wry/context:Slot\";\r\nvar host = Array;\r\nvar Slot = host[globalKey] || function () {\r\n var Slot = makeSlotClass();\r\n try {\r\n Object.defineProperty(host, globalKey, {\r\n value: host[globalKey] = Slot,\r\n enumerable: false,\r\n writable: false,\r\n configurable: false,\r\n });\r\n }\r\n finally {\r\n return Slot;\r\n }\r\n}();\n\nvar bind = Slot.bind, noContext = Slot.noContext;\r\nfunction setTimeoutWithContext(callback, delay) {\r\n return setTimeout(bind(callback), delay);\r\n}\r\n// Turn any generator function into an async function (using yield instead\r\n// of await), with context automatically preserved across yields.\r\nfunction asyncFromGen(genFn) {\r\n return function () {\r\n var gen = genFn.apply(this, arguments);\r\n var boundNext = bind(gen.next);\r\n var boundThrow = bind(gen.throw);\r\n return new Promise(function (resolve, reject) {\r\n function invoke(method, argument) {\r\n try {\r\n var result = method.call(gen, argument);\r\n }\r\n catch (error) {\r\n return reject(error);\r\n }\r\n var next = result.done ? resolve : invokeNext;\r\n if (isPromiseLike(result.value)) {\r\n result.value.then(next, result.done ? reject : invokeThrow);\r\n }\r\n else {\r\n next(result.value);\r\n }\r\n }\r\n var invokeNext = function (value) { return invoke(boundNext, value); };\r\n var invokeThrow = function (error) { return invoke(boundThrow, error); };\r\n invokeNext();\r\n });\r\n };\r\n}\r\nfunction isPromiseLike(value) {\r\n return value && typeof value.then === \"function\";\r\n}\r\n// If you use the fibers npm package to implement coroutines in Node.js,\r\n// you should call this function at least once to ensure context management\r\n// remains coherent across any yields.\r\nvar wrappedFibers = [];\r\nfunction wrapYieldingFiberMethods(Fiber) {\r\n // There can be only one implementation of Fiber per process, so this array\r\n // should never grow longer than one element.\r\n if (wrappedFibers.indexOf(Fiber) < 0) {\r\n var wrap = function (obj, method) {\r\n var fn = obj[method];\r\n obj[method] = function () {\r\n return noContext(fn, arguments, this);\r\n };\r\n };\r\n // These methods can yield, according to\r\n // https://github.com/laverdet/node-fibers/blob/ddebed9b8ae3883e57f822e2108e6943e5c8d2a8/fibers.js#L97-L100\r\n wrap(Fiber, \"yield\");\r\n wrap(Fiber.prototype, \"run\");\r\n wrap(Fiber.prototype, \"throwInto\");\r\n wrappedFibers.push(Fiber);\r\n }\r\n return Fiber;\r\n}\n\nexport { Slot, asyncFromGen, bind, noContext, setTimeoutWithContext as setTimeout, wrapYieldingFiberMethods };\n//# sourceMappingURL=context.esm.js.map\n","import { dep } from \"optimism\";\nimport { Slot } from \"@wry/context\";\nexport var cacheSlot = new Slot();\nvar cacheInfoMap = new WeakMap();\nfunction getCacheInfo(cache) {\n var info = cacheInfoMap.get(cache);\n if (!info) {\n cacheInfoMap.set(cache, info = {\n vars: new Set,\n dep: dep(),\n });\n }\n return info;\n}\nexport function forgetCache(cache) {\n getCacheInfo(cache).vars.forEach(function (rv) { return rv.forgetCache(cache); });\n}\nexport function recallCache(cache) {\n getCacheInfo(cache).vars.forEach(function (rv) { return rv.attachCache(cache); });\n}\nexport function makeVar(value) {\n var caches = new Set();\n var listeners = new Set();\n var rv = function (newValue) {\n if (arguments.length > 0) {\n if (value !== newValue) {\n value = newValue;\n caches.forEach(function (cache) {\n getCacheInfo(cache).dep.dirty(rv);\n broadcast(cache);\n });\n var oldListeners = Array.from(listeners);\n listeners.clear();\n oldListeners.forEach(function (listener) { return listener(value); });\n }\n }\n else {\n var cache = cacheSlot.getValue();\n if (cache) {\n attach(cache);\n getCacheInfo(cache).dep(rv);\n }\n }\n return value;\n };\n rv.onNextChange = function (listener) {\n listeners.add(listener);\n return function () {\n listeners.delete(listener);\n };\n };\n var attach = rv.attachCache = function (cache) {\n caches.add(cache);\n getCacheInfo(cache).vars.add(rv);\n return rv;\n };\n rv.forgetCache = function (cache) { return caches.delete(cache); };\n return rv;\n}\nfunction broadcast(cache) {\n if (cache.broadcastWatches) {\n cache.broadcastWatches();\n }\n}\n//# sourceMappingURL=reactiveVars.js.map","import { ApolloLink } from \"./ApolloLink.js\";\nexport var execute = ApolloLink.execute;\n//# sourceMappingURL=execute.js.map","export function compact() {\n var objects = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n objects[_i] = arguments[_i];\n }\n var result = Object.create(null);\n objects.forEach(function (obj) {\n if (!obj)\n return;\n Object.keys(obj).forEach(function (key) {\n var value = obj[key];\n if (value !== void 0) {\n result[key] = value;\n }\n });\n });\n return result;\n}\n//# sourceMappingURL=compact.js.map","export var version = '3.4.9';\n//# sourceMappingURL=version.js.map","import { Observable } from \"./Observable.js\";\nexport function asyncMap(observable, mapFn, catchFn) {\n return new Observable(function (observer) {\n var next = observer.next, error = observer.error, complete = observer.complete;\n var activeCallbackCount = 0;\n var completed = false;\n var promiseQueue = {\n then: function (callback) {\n return new Promise(function (resolve) { return resolve(callback()); });\n },\n };\n function makeCallback(examiner, delegate) {\n if (examiner) {\n return function (arg) {\n ++activeCallbackCount;\n var both = function () { return examiner(arg); };\n promiseQueue = promiseQueue.then(both, both).then(function (result) {\n --activeCallbackCount;\n next && next.call(observer, result);\n if (completed) {\n handler.complete();\n }\n }, function (error) {\n --activeCallbackCount;\n throw error;\n }).catch(function (caught) {\n error && error.call(observer, caught);\n });\n };\n }\n else {\n return function (arg) { return delegate && delegate.call(observer, arg); };\n }\n }\n var handler = {\n next: makeCallback(mapFn, next),\n error: makeCallback(catchFn, error),\n complete: function () {\n completed = true;\n if (!activeCallbackCount) {\n complete && complete.call(observer);\n }\n },\n };\n var sub = observable.subscribe(handler);\n return function () { return sub.unsubscribe(); };\n });\n}\n//# sourceMappingURL=asyncMap.js.map","export function graphQLResultHasError(result) {\n return (result.errors && result.errors.length > 0) || false;\n}\n//# sourceMappingURL=errorHandling.js.map","export function iterateObserversSafely(observers, method, argument) {\n var observersWithMethod = [];\n observers.forEach(function (obs) { return obs[method] && observersWithMethod.push(obs); });\n observersWithMethod.forEach(function (obs) { return obs[method](argument); });\n}\n//# sourceMappingURL=iteration.js.map","import { Observable } from \"./Observable.js\";\nexport function fixObservableSubclass(subclass) {\n function set(key) {\n Object.defineProperty(subclass, key, { value: Observable });\n }\n if (typeof Symbol === \"function\" && Symbol.species) {\n set(Symbol.species);\n }\n set(\"@@species\");\n return subclass;\n}\n//# sourceMappingURL=subclassing.js.map","import { __extends } from \"tslib\";\nimport { Observable } from \"./Observable.js\";\nimport { iterateObserversSafely } from \"./iteration.js\";\nimport { fixObservableSubclass } from \"./subclassing.js\";\nfunction isPromiseLike(value) {\n return value && typeof value.then === \"function\";\n}\nvar Concast = (function (_super) {\n __extends(Concast, _super);\n function Concast(sources) {\n var _this = _super.call(this, function (observer) {\n _this.addObserver(observer);\n return function () { return _this.removeObserver(observer); };\n }) || this;\n _this.observers = new Set();\n _this.addCount = 0;\n _this.promise = new Promise(function (resolve, reject) {\n _this.resolve = resolve;\n _this.reject = reject;\n });\n _this.handlers = {\n next: function (result) {\n if (_this.sub !== null) {\n _this.latest = [\"next\", result];\n iterateObserversSafely(_this.observers, \"next\", result);\n }\n },\n error: function (error) {\n var sub = _this.sub;\n if (sub !== null) {\n if (sub)\n setTimeout(function () { return sub.unsubscribe(); });\n _this.sub = null;\n _this.latest = [\"error\", error];\n _this.reject(error);\n iterateObserversSafely(_this.observers, \"error\", error);\n }\n },\n complete: function () {\n if (_this.sub !== null) {\n var value = _this.sources.shift();\n if (!value) {\n _this.sub = null;\n if (_this.latest &&\n _this.latest[0] === \"next\") {\n _this.resolve(_this.latest[1]);\n }\n else {\n _this.resolve();\n }\n iterateObserversSafely(_this.observers, \"complete\");\n }\n else if (isPromiseLike(value)) {\n value.then(function (obs) { return _this.sub = obs.subscribe(_this.handlers); });\n }\n else {\n _this.sub = value.subscribe(_this.handlers);\n }\n }\n },\n };\n _this.cancel = function (reason) {\n _this.reject(reason);\n _this.sources = [];\n _this.handlers.complete();\n };\n _this.promise.catch(function (_) { });\n if (typeof sources === \"function\") {\n sources = [new Observable(sources)];\n }\n if (isPromiseLike(sources)) {\n sources.then(function (iterable) { return _this.start(iterable); }, _this.handlers.error);\n }\n else {\n _this.start(sources);\n }\n return _this;\n }\n Concast.prototype.start = function (sources) {\n if (this.sub !== void 0)\n return;\n this.sources = Array.from(sources);\n this.handlers.complete();\n };\n Concast.prototype.deliverLastMessage = function (observer) {\n if (this.latest) {\n var nextOrError = this.latest[0];\n var method = observer[nextOrError];\n if (method) {\n method.call(observer, this.latest[1]);\n }\n if (this.sub === null &&\n nextOrError === \"next\" &&\n observer.complete) {\n observer.complete();\n }\n }\n };\n Concast.prototype.addObserver = function (observer) {\n if (!this.observers.has(observer)) {\n this.deliverLastMessage(observer);\n this.observers.add(observer);\n ++this.addCount;\n }\n };\n Concast.prototype.removeObserver = function (observer, quietly) {\n if (this.observers.delete(observer) &&\n --this.addCount < 1 &&\n !quietly) {\n this.handlers.error(new Error(\"Observable cancelled prematurely\"));\n }\n };\n Concast.prototype.cleanup = function (callback) {\n var _this = this;\n var called = false;\n var once = function () {\n if (!called) {\n called = true;\n _this.observers.delete(observer);\n callback();\n }\n };\n var observer = {\n next: once,\n error: once,\n complete: once,\n };\n var count = this.addCount;\n this.addObserver(observer);\n this.addCount = count;\n };\n return Concast;\n}(Observable));\nexport { Concast };\nfixObservableSubclass(Concast);\n//# sourceMappingURL=Concast.js.map","import { __assign, __extends } from \"tslib\";\nimport { invariant } from 'ts-invariant';\nimport { equal } from '@wry/equality';\nimport { NetworkStatus, isNetworkRequestInFlight } from \"./networkStatus.js\";\nimport { compact, cloneDeep, getOperationDefinition, Observable, iterateObserversSafely, isNonEmptyArray, fixObservableSubclass, } from \"../utilities/index.js\";\nvar warnedAboutUpdateQuery = false;\nvar ObservableQuery = (function (_super) {\n __extends(ObservableQuery, _super);\n function ObservableQuery(_a) {\n var queryManager = _a.queryManager, queryInfo = _a.queryInfo, options = _a.options;\n var _this = _super.call(this, function (observer) {\n try {\n var subObserver = observer._subscription._observer;\n if (subObserver && !subObserver.error) {\n subObserver.error = defaultSubscriptionObserverErrorCallback;\n }\n }\n catch (_a) { }\n var first = !_this.observers.size;\n _this.observers.add(observer);\n var last = _this.last;\n if (last && last.error) {\n observer.error && observer.error(last.error);\n }\n else if (last && last.result) {\n observer.next && observer.next(last.result);\n }\n if (first) {\n _this.reobserve().catch(function () { });\n }\n return function () {\n if (_this.observers.delete(observer) && !_this.observers.size) {\n _this.tearDownQuery();\n }\n };\n }) || this;\n _this.observers = new Set();\n _this.subscriptions = new Set();\n _this.isTornDown = false;\n _this.options = options;\n _this.queryId = queryInfo.queryId || queryManager.generateQueryId();\n var opDef = getOperationDefinition(options.query);\n _this.queryName = opDef && opDef.name && opDef.name.value;\n _this.initialFetchPolicy = options.fetchPolicy || \"cache-first\";\n _this.queryManager = queryManager;\n _this.queryInfo = queryInfo;\n return _this;\n }\n Object.defineProperty(ObservableQuery.prototype, \"variables\", {\n get: function () {\n return this.options.variables;\n },\n enumerable: false,\n configurable: true\n });\n ObservableQuery.prototype.result = function () {\n var _this = this;\n return new Promise(function (resolve, reject) {\n var observer = {\n next: function (result) {\n resolve(result);\n _this.observers.delete(observer);\n if (!_this.observers.size) {\n _this.queryManager.removeQuery(_this.queryId);\n }\n setTimeout(function () {\n subscription.unsubscribe();\n }, 0);\n },\n error: reject,\n };\n var subscription = _this.subscribe(observer);\n });\n };\n ObservableQuery.prototype.getCurrentResult = function (saveAsLastResult) {\n if (saveAsLastResult === void 0) { saveAsLastResult = true; }\n var lastResult = this.getLastResult(true);\n var networkStatus = this.queryInfo.networkStatus ||\n (lastResult && lastResult.networkStatus) ||\n NetworkStatus.ready;\n var result = __assign(__assign({}, lastResult), { loading: isNetworkRequestInFlight(networkStatus), networkStatus: networkStatus });\n if (!this.queryManager.transform(this.options.query).hasForcedResolvers) {\n var diff = this.queryInfo.getDiff();\n if (diff.complete || this.options.returnPartialData) {\n result.data = diff.result;\n }\n if (equal(result.data, {})) {\n result.data = void 0;\n }\n var _a = this.options.fetchPolicy, fetchPolicy = _a === void 0 ? \"cache-first\" : _a;\n if (diff.complete) {\n if (result.networkStatus === NetworkStatus.loading &&\n (fetchPolicy === 'cache-first' ||\n fetchPolicy === 'cache-only')) {\n result.networkStatus = NetworkStatus.ready;\n result.loading = false;\n }\n delete result.partial;\n }\n else if (fetchPolicy !== \"no-cache\") {\n result.partial = true;\n }\n if (__DEV__ &&\n !diff.complete &&\n !this.options.partialRefetch &&\n !result.loading &&\n !result.data &&\n !result.error) {\n logMissingFieldErrors(diff.missing);\n }\n }\n if (saveAsLastResult) {\n this.updateLastResult(result);\n }\n return result;\n };\n ObservableQuery.prototype.isDifferentFromLastResult = function (newResult) {\n return !this.last || !equal(this.last.result, newResult);\n };\n ObservableQuery.prototype.getLast = function (key, variablesMustMatch) {\n var last = this.last;\n if (last &&\n last[key] &&\n (!variablesMustMatch || equal(last.variables, this.variables))) {\n return last[key];\n }\n };\n ObservableQuery.prototype.getLastResult = function (variablesMustMatch) {\n return this.getLast(\"result\", variablesMustMatch);\n };\n ObservableQuery.prototype.getLastError = function (variablesMustMatch) {\n return this.getLast(\"error\", variablesMustMatch);\n };\n ObservableQuery.prototype.resetLastResults = function () {\n delete this.last;\n this.isTornDown = false;\n };\n ObservableQuery.prototype.resetQueryStoreErrors = function () {\n this.queryManager.resetErrors(this.queryId);\n };\n ObservableQuery.prototype.refetch = function (variables) {\n var reobserveOptions = {\n pollInterval: 0,\n };\n var fetchPolicy = this.options.fetchPolicy;\n if (fetchPolicy === 'no-cache') {\n reobserveOptions.fetchPolicy = 'no-cache';\n }\n else if (fetchPolicy !== 'cache-and-network') {\n reobserveOptions.fetchPolicy = 'network-only';\n }\n if (variables && !equal(this.options.variables, variables)) {\n reobserveOptions.variables = this.options.variables = __assign(__assign({}, this.options.variables), variables);\n }\n this.queryInfo.resetLastWrite();\n return this.reobserve(reobserveOptions, NetworkStatus.refetch);\n };\n ObservableQuery.prototype.fetchMore = function (fetchMoreOptions) {\n var _this = this;\n var combinedOptions = __assign(__assign({}, (fetchMoreOptions.query ? fetchMoreOptions : __assign(__assign(__assign({}, this.options), fetchMoreOptions), { variables: __assign(__assign({}, this.options.variables), fetchMoreOptions.variables) }))), { fetchPolicy: \"no-cache\" });\n var qid = this.queryManager.generateQueryId();\n if (combinedOptions.notifyOnNetworkStatusChange) {\n this.queryInfo.networkStatus = NetworkStatus.fetchMore;\n this.observe();\n }\n return this.queryManager.fetchQuery(qid, combinedOptions, NetworkStatus.fetchMore).then(function (fetchMoreResult) {\n var data = fetchMoreResult.data;\n var updateQuery = fetchMoreOptions.updateQuery;\n if (updateQuery) {\n if (__DEV__ &&\n !warnedAboutUpdateQuery) {\n __DEV__ && invariant.warn(\"The updateQuery callback for fetchMore is deprecated, and will be removed\\nin the next major version of Apollo Client.\\n\\nPlease convert updateQuery functions to field policies with appropriate\\nread and merge functions, or use/adapt a helper function (such as\\nconcatPagination, offsetLimitPagination, or relayStylePagination) from\\n@apollo/client/utilities.\\n\\nThe field policy system handles pagination more effectively than a\\nhand-written updateQuery function, and you only need to define the policy\\nonce, rather than every time you call fetchMore.\");\n warnedAboutUpdateQuery = true;\n }\n _this.updateQuery(function (previous) { return updateQuery(previous, {\n fetchMoreResult: data,\n variables: combinedOptions.variables,\n }); });\n }\n else {\n _this.queryManager.cache.writeQuery({\n query: combinedOptions.query,\n variables: combinedOptions.variables,\n data: data,\n });\n }\n return fetchMoreResult;\n }).finally(function () {\n _this.queryManager.stopQuery(qid);\n _this.reobserve();\n });\n };\n ObservableQuery.prototype.subscribeToMore = function (options) {\n var _this = this;\n var subscription = this.queryManager\n .startGraphQLSubscription({\n query: options.document,\n variables: options.variables,\n context: options.context,\n })\n .subscribe({\n next: function (subscriptionData) {\n var updateQuery = options.updateQuery;\n if (updateQuery) {\n _this.updateQuery(function (previous, _a) {\n var variables = _a.variables;\n return updateQuery(previous, {\n subscriptionData: subscriptionData,\n variables: variables,\n });\n });\n }\n },\n error: function (err) {\n if (options.onError) {\n options.onError(err);\n return;\n }\n __DEV__ && invariant.error('Unhandled GraphQL subscription error', err);\n },\n });\n this.subscriptions.add(subscription);\n return function () {\n if (_this.subscriptions.delete(subscription)) {\n subscription.unsubscribe();\n }\n };\n };\n ObservableQuery.prototype.setOptions = function (newOptions) {\n return this.reobserve(newOptions);\n };\n ObservableQuery.prototype.setVariables = function (variables) {\n if (equal(this.variables, variables)) {\n return this.observers.size\n ? this.result()\n : Promise.resolve();\n }\n this.options.variables = variables;\n if (!this.observers.size) {\n return Promise.resolve();\n }\n return this.reobserve({\n fetchPolicy: this.initialFetchPolicy,\n variables: variables,\n }, NetworkStatus.setVariables);\n };\n ObservableQuery.prototype.updateQuery = function (mapFn) {\n var queryManager = this.queryManager;\n var result = queryManager.cache.diff({\n query: this.options.query,\n variables: this.variables,\n returnPartialData: true,\n optimistic: false,\n }).result;\n var newResult = mapFn(result, {\n variables: this.variables,\n });\n if (newResult) {\n queryManager.cache.writeQuery({\n query: this.options.query,\n data: newResult,\n variables: this.variables,\n });\n queryManager.broadcastQueries();\n }\n };\n ObservableQuery.prototype.startPolling = function (pollInterval) {\n this.options.pollInterval = pollInterval;\n this.updatePolling();\n };\n ObservableQuery.prototype.stopPolling = function () {\n this.options.pollInterval = 0;\n this.updatePolling();\n };\n ObservableQuery.prototype.fetch = function (options, newNetworkStatus) {\n this.queryManager.setObservableQuery(this);\n return this.queryManager.fetchQueryObservable(this.queryId, options, newNetworkStatus);\n };\n ObservableQuery.prototype.updatePolling = function () {\n var _this = this;\n if (this.queryManager.ssrMode) {\n return;\n }\n var _a = this, pollingInfo = _a.pollingInfo, pollInterval = _a.options.pollInterval;\n if (!pollInterval) {\n if (pollingInfo) {\n clearTimeout(pollingInfo.timeout);\n delete this.pollingInfo;\n }\n return;\n }\n if (pollingInfo &&\n pollingInfo.interval === pollInterval) {\n return;\n }\n __DEV__ ? invariant(pollInterval, 'Attempted to start a polling query without a polling interval.') : invariant(pollInterval, 12);\n var info = pollingInfo || (this.pollingInfo = {});\n info.interval = pollInterval;\n var maybeFetch = function () {\n if (_this.pollingInfo) {\n if (!isNetworkRequestInFlight(_this.queryInfo.networkStatus)) {\n _this.reobserve({\n fetchPolicy: \"network-only\",\n }, NetworkStatus.poll).then(poll, poll);\n }\n else {\n poll();\n }\n }\n ;\n };\n var poll = function () {\n var info = _this.pollingInfo;\n if (info) {\n clearTimeout(info.timeout);\n info.timeout = setTimeout(maybeFetch, info.interval);\n }\n };\n poll();\n };\n ObservableQuery.prototype.updateLastResult = function (newResult, variables) {\n if (variables === void 0) { variables = this.variables; }\n this.last = __assign(__assign({}, this.last), { result: this.queryManager.assumeImmutableResults\n ? newResult\n : cloneDeep(newResult), variables: variables });\n if (!isNonEmptyArray(newResult.errors)) {\n delete this.last.error;\n }\n return this.last;\n };\n ObservableQuery.prototype.reobserve = function (newOptions, newNetworkStatus) {\n var _this = this;\n this.isTornDown = false;\n var useDisposableConcast = newNetworkStatus === NetworkStatus.refetch ||\n newNetworkStatus === NetworkStatus.fetchMore ||\n newNetworkStatus === NetworkStatus.poll;\n var oldVariables = this.options.variables;\n var options = useDisposableConcast\n ? compact(this.options, newOptions)\n : Object.assign(this.options, compact(newOptions));\n if (!useDisposableConcast) {\n this.updatePolling();\n if (newOptions &&\n newOptions.variables &&\n !newOptions.fetchPolicy &&\n !equal(newOptions.variables, oldVariables)) {\n options.fetchPolicy = this.initialFetchPolicy;\n if (newNetworkStatus === void 0) {\n newNetworkStatus = NetworkStatus.setVariables;\n }\n }\n }\n var variables = options.variables && __assign({}, options.variables);\n var concast = this.fetch(options, newNetworkStatus);\n var observer = {\n next: function (result) {\n _this.reportResult(result, variables);\n },\n error: function (error) {\n _this.reportError(error, variables);\n },\n };\n if (!useDisposableConcast) {\n if (this.concast && this.observer) {\n this.concast.removeObserver(this.observer, true);\n }\n this.concast = concast;\n this.observer = observer;\n }\n concast.addObserver(observer);\n return concast.promise;\n };\n ObservableQuery.prototype.observe = function () {\n this.reportResult(this.getCurrentResult(false), this.variables);\n };\n ObservableQuery.prototype.reportResult = function (result, variables) {\n if (this.getLastError() || this.isDifferentFromLastResult(result)) {\n this.updateLastResult(result, variables);\n iterateObserversSafely(this.observers, 'next', result);\n }\n };\n ObservableQuery.prototype.reportError = function (error, variables) {\n var errorResult = __assign(__assign({}, this.getLastResult()), { error: error, errors: error.graphQLErrors, networkStatus: NetworkStatus.error, loading: false });\n this.updateLastResult(errorResult, variables);\n iterateObserversSafely(this.observers, 'error', this.last.error = error);\n };\n ObservableQuery.prototype.hasObservers = function () {\n return this.observers.size > 0;\n };\n ObservableQuery.prototype.tearDownQuery = function () {\n if (this.isTornDown)\n return;\n if (this.concast && this.observer) {\n this.concast.removeObserver(this.observer);\n delete this.concast;\n delete this.observer;\n }\n this.stopPolling();\n this.subscriptions.forEach(function (sub) { return sub.unsubscribe(); });\n this.subscriptions.clear();\n this.queryManager.stopQuery(this.queryId);\n this.observers.clear();\n this.isTornDown = true;\n };\n return ObservableQuery;\n}(Observable));\nexport { ObservableQuery };\nfixObservableSubclass(ObservableQuery);\nfunction defaultSubscriptionObserverErrorCallback(error) {\n __DEV__ && invariant.error('Unhandled error', error.message, error.stack);\n}\nexport function logMissingFieldErrors(missing) {\n if (__DEV__ && isNonEmptyArray(missing)) {\n __DEV__ && invariant.debug(\"Missing cache result fields: \" + missing.map(function (m) { return m.path.join('.'); }).join(', '), missing);\n }\n}\nexport function applyNextFetchPolicy(options) {\n var _a = options.fetchPolicy, fetchPolicy = _a === void 0 ? \"cache-first\" : _a, nextFetchPolicy = options.nextFetchPolicy;\n if (nextFetchPolicy) {\n options.fetchPolicy = typeof nextFetchPolicy === \"function\"\n ? nextFetchPolicy.call(options, fetchPolicy)\n : nextFetchPolicy;\n }\n}\n//# sourceMappingURL=ObservableQuery.js.map","import { __assign, __awaiter, __generator } from \"tslib\";\nimport { visit, BREAK, } from 'graphql';\nimport { invariant } from 'ts-invariant';\nimport { argumentsObjectFromField, buildQueryFromSelectionSet, createFragmentMap, getFragmentDefinitions, getMainDefinition, hasDirectives, isField, isInlineFragment, mergeDeep, mergeDeepArray, removeClientSetsFromDocument, resultKeyNameFromField, shouldInclude, } from \"../utilities/index.js\";\nimport { cacheSlot } from \"../cache/index.js\";\nvar LocalState = (function () {\n function LocalState(_a) {\n var cache = _a.cache, client = _a.client, resolvers = _a.resolvers, fragmentMatcher = _a.fragmentMatcher;\n this.cache = cache;\n if (client) {\n this.client = client;\n }\n if (resolvers) {\n this.addResolvers(resolvers);\n }\n if (fragmentMatcher) {\n this.setFragmentMatcher(fragmentMatcher);\n }\n }\n LocalState.prototype.addResolvers = function (resolvers) {\n var _this = this;\n this.resolvers = this.resolvers || {};\n if (Array.isArray(resolvers)) {\n resolvers.forEach(function (resolverGroup) {\n _this.resolvers = mergeDeep(_this.resolvers, resolverGroup);\n });\n }\n else {\n this.resolvers = mergeDeep(this.resolvers, resolvers);\n }\n };\n LocalState.prototype.setResolvers = function (resolvers) {\n this.resolvers = {};\n this.addResolvers(resolvers);\n };\n LocalState.prototype.getResolvers = function () {\n return this.resolvers || {};\n };\n LocalState.prototype.runResolvers = function (_a) {\n var document = _a.document, remoteResult = _a.remoteResult, context = _a.context, variables = _a.variables, _b = _a.onlyRunForcedResolvers, onlyRunForcedResolvers = _b === void 0 ? false : _b;\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_c) {\n if (document) {\n return [2, this.resolveDocument(document, remoteResult.data, context, variables, this.fragmentMatcher, onlyRunForcedResolvers).then(function (localResult) { return (__assign(__assign({}, remoteResult), { data: localResult.result })); })];\n }\n return [2, remoteResult];\n });\n });\n };\n LocalState.prototype.setFragmentMatcher = function (fragmentMatcher) {\n this.fragmentMatcher = fragmentMatcher;\n };\n LocalState.prototype.getFragmentMatcher = function () {\n return this.fragmentMatcher;\n };\n LocalState.prototype.clientQuery = function (document) {\n if (hasDirectives(['client'], document)) {\n if (this.resolvers) {\n return document;\n }\n }\n return null;\n };\n LocalState.prototype.serverQuery = function (document) {\n return removeClientSetsFromDocument(document);\n };\n LocalState.prototype.prepareContext = function (context) {\n var cache = this.cache;\n return __assign(__assign({}, context), { cache: cache, getCacheKey: function (obj) {\n return cache.identify(obj);\n } });\n };\n LocalState.prototype.addExportedVariables = function (document, variables, context) {\n if (variables === void 0) { variables = {}; }\n if (context === void 0) { context = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n if (document) {\n return [2, this.resolveDocument(document, this.buildRootValueFromCache(document, variables) || {}, this.prepareContext(context), variables).then(function (data) { return (__assign(__assign({}, variables), data.exportedVariables)); })];\n }\n return [2, __assign({}, variables)];\n });\n });\n };\n LocalState.prototype.shouldForceResolvers = function (document) {\n var forceResolvers = false;\n visit(document, {\n Directive: {\n enter: function (node) {\n if (node.name.value === 'client' && node.arguments) {\n forceResolvers = node.arguments.some(function (arg) {\n return arg.name.value === 'always' &&\n arg.value.kind === 'BooleanValue' &&\n arg.value.value === true;\n });\n if (forceResolvers) {\n return BREAK;\n }\n }\n },\n },\n });\n return forceResolvers;\n };\n LocalState.prototype.buildRootValueFromCache = function (document, variables) {\n return this.cache.diff({\n query: buildQueryFromSelectionSet(document),\n variables: variables,\n returnPartialData: true,\n optimistic: false,\n }).result;\n };\n LocalState.prototype.resolveDocument = function (document, rootValue, context, variables, fragmentMatcher, onlyRunForcedResolvers) {\n if (context === void 0) { context = {}; }\n if (variables === void 0) { variables = {}; }\n if (fragmentMatcher === void 0) { fragmentMatcher = function () { return true; }; }\n if (onlyRunForcedResolvers === void 0) { onlyRunForcedResolvers = false; }\n return __awaiter(this, void 0, void 0, function () {\n var mainDefinition, fragments, fragmentMap, definitionOperation, defaultOperationType, _a, cache, client, execContext;\n return __generator(this, function (_b) {\n mainDefinition = getMainDefinition(document);\n fragments = getFragmentDefinitions(document);\n fragmentMap = createFragmentMap(fragments);\n definitionOperation = mainDefinition\n .operation;\n defaultOperationType = definitionOperation\n ? definitionOperation.charAt(0).toUpperCase() +\n definitionOperation.slice(1)\n : 'Query';\n _a = this, cache = _a.cache, client = _a.client;\n execContext = {\n fragmentMap: fragmentMap,\n context: __assign(__assign({}, context), { cache: cache, client: client }),\n variables: variables,\n fragmentMatcher: fragmentMatcher,\n defaultOperationType: defaultOperationType,\n exportedVariables: {},\n onlyRunForcedResolvers: onlyRunForcedResolvers,\n };\n return [2, this.resolveSelectionSet(mainDefinition.selectionSet, rootValue, execContext).then(function (result) { return ({\n result: result,\n exportedVariables: execContext.exportedVariables,\n }); })];\n });\n });\n };\n LocalState.prototype.resolveSelectionSet = function (selectionSet, rootValue, execContext) {\n return __awaiter(this, void 0, void 0, function () {\n var fragmentMap, context, variables, resultsToMerge, execute;\n var _this = this;\n return __generator(this, function (_a) {\n fragmentMap = execContext.fragmentMap, context = execContext.context, variables = execContext.variables;\n resultsToMerge = [rootValue];\n execute = function (selection) { return __awaiter(_this, void 0, void 0, function () {\n var fragment, typeCondition;\n return __generator(this, function (_a) {\n if (!shouldInclude(selection, variables)) {\n return [2];\n }\n if (isField(selection)) {\n return [2, this.resolveField(selection, rootValue, execContext).then(function (fieldResult) {\n var _a;\n if (typeof fieldResult !== 'undefined') {\n resultsToMerge.push((_a = {},\n _a[resultKeyNameFromField(selection)] = fieldResult,\n _a));\n }\n })];\n }\n if (isInlineFragment(selection)) {\n fragment = selection;\n }\n else {\n fragment = fragmentMap[selection.name.value];\n __DEV__ ? invariant(fragment, \"No fragment named \" + selection.name.value) : invariant(fragment, 11);\n }\n if (fragment && fragment.typeCondition) {\n typeCondition = fragment.typeCondition.name.value;\n if (execContext.fragmentMatcher(rootValue, typeCondition, context)) {\n return [2, this.resolveSelectionSet(fragment.selectionSet, rootValue, execContext).then(function (fragmentResult) {\n resultsToMerge.push(fragmentResult);\n })];\n }\n }\n return [2];\n });\n }); };\n return [2, Promise.all(selectionSet.selections.map(execute)).then(function () {\n return mergeDeepArray(resultsToMerge);\n })];\n });\n });\n };\n LocalState.prototype.resolveField = function (field, rootValue, execContext) {\n return __awaiter(this, void 0, void 0, function () {\n var variables, fieldName, aliasedFieldName, aliasUsed, defaultResult, resultPromise, resolverType, resolverMap, resolve;\n var _this = this;\n return __generator(this, function (_a) {\n variables = execContext.variables;\n fieldName = field.name.value;\n aliasedFieldName = resultKeyNameFromField(field);\n aliasUsed = fieldName !== aliasedFieldName;\n defaultResult = rootValue[aliasedFieldName] || rootValue[fieldName];\n resultPromise = Promise.resolve(defaultResult);\n if (!execContext.onlyRunForcedResolvers ||\n this.shouldForceResolvers(field)) {\n resolverType = rootValue.__typename || execContext.defaultOperationType;\n resolverMap = this.resolvers && this.resolvers[resolverType];\n if (resolverMap) {\n resolve = resolverMap[aliasUsed ? fieldName : aliasedFieldName];\n if (resolve) {\n resultPromise = Promise.resolve(cacheSlot.withValue(this.cache, resolve, [\n rootValue,\n argumentsObjectFromField(field, variables),\n execContext.context,\n { field: field, fragmentMap: execContext.fragmentMap },\n ]));\n }\n }\n }\n return [2, resultPromise.then(function (result) {\n if (result === void 0) { result = defaultResult; }\n if (field.directives) {\n field.directives.forEach(function (directive) {\n if (directive.name.value === 'export' && directive.arguments) {\n directive.arguments.forEach(function (arg) {\n if (arg.name.value === 'as' && arg.value.kind === 'StringValue') {\n execContext.exportedVariables[arg.value.value] = result;\n }\n });\n }\n });\n }\n if (!field.selectionSet) {\n return result;\n }\n if (result == null) {\n return result;\n }\n if (Array.isArray(result)) {\n return _this.resolveSubSelectedArray(field, result, execContext);\n }\n if (field.selectionSet) {\n return _this.resolveSelectionSet(field.selectionSet, result, execContext);\n }\n })];\n });\n });\n };\n LocalState.prototype.resolveSubSelectedArray = function (field, result, execContext) {\n var _this = this;\n return Promise.all(result.map(function (item) {\n if (item === null) {\n return null;\n }\n if (Array.isArray(item)) {\n return _this.resolveSubSelectedArray(field, item, execContext);\n }\n if (field.selectionSet) {\n return _this.resolveSelectionSet(field.selectionSet, item, execContext);\n }\n }));\n };\n return LocalState;\n}());\nexport { LocalState };\n//# sourceMappingURL=LocalState.js.map","import { __assign } from \"tslib\";\nimport { equal } from \"@wry/equality\";\nimport { isNonEmptyArray, graphQLResultHasError, canUseWeakMap, } from \"../utilities/index.js\";\nimport { NetworkStatus, isNetworkRequestInFlight, } from \"./networkStatus.js\";\n;\nvar destructiveMethodCounts = new (canUseWeakMap ? WeakMap : Map)();\nfunction wrapDestructiveCacheMethod(cache, methodName) {\n var original = cache[methodName];\n if (typeof original === \"function\") {\n cache[methodName] = function () {\n destructiveMethodCounts.set(cache, (destructiveMethodCounts.get(cache) + 1) % 1e15);\n return original.apply(this, arguments);\n };\n }\n}\nfunction cancelNotifyTimeout(info) {\n if (info[\"notifyTimeout\"]) {\n clearTimeout(info[\"notifyTimeout\"]);\n info[\"notifyTimeout\"] = void 0;\n }\n}\nvar QueryInfo = (function () {\n function QueryInfo(queryManager, queryId) {\n if (queryId === void 0) { queryId = queryManager.generateQueryId(); }\n this.queryId = queryId;\n this.listeners = new Set();\n this.document = null;\n this.lastRequestId = 1;\n this.subscriptions = new Set();\n this.stopped = false;\n this.dirty = false;\n this.observableQuery = null;\n var cache = this.cache = queryManager.cache;\n if (!destructiveMethodCounts.has(cache)) {\n destructiveMethodCounts.set(cache, 0);\n wrapDestructiveCacheMethod(cache, \"evict\");\n wrapDestructiveCacheMethod(cache, \"modify\");\n wrapDestructiveCacheMethod(cache, \"reset\");\n }\n }\n QueryInfo.prototype.init = function (query) {\n var networkStatus = query.networkStatus || NetworkStatus.loading;\n if (this.variables &&\n this.networkStatus !== NetworkStatus.loading &&\n !equal(this.variables, query.variables)) {\n networkStatus = NetworkStatus.setVariables;\n }\n if (!equal(query.variables, this.variables)) {\n this.lastDiff = void 0;\n }\n Object.assign(this, {\n document: query.document,\n variables: query.variables,\n networkError: null,\n graphQLErrors: this.graphQLErrors || [],\n networkStatus: networkStatus,\n });\n if (query.observableQuery) {\n this.setObservableQuery(query.observableQuery);\n }\n if (query.lastRequestId) {\n this.lastRequestId = query.lastRequestId;\n }\n return this;\n };\n QueryInfo.prototype.reset = function () {\n cancelNotifyTimeout(this);\n this.lastDiff = void 0;\n this.dirty = false;\n };\n QueryInfo.prototype.getDiff = function (variables) {\n if (variables === void 0) { variables = this.variables; }\n var options = this.getDiffOptions(variables);\n if (this.lastDiff && equal(options, this.lastDiff.options)) {\n return this.lastDiff.diff;\n }\n this.updateWatch(this.variables = variables);\n var oq = this.observableQuery;\n if (oq && oq.options.fetchPolicy === \"no-cache\") {\n return { complete: false };\n }\n var diff = this.cache.diff(options);\n this.updateLastDiff(diff, options);\n return diff;\n };\n QueryInfo.prototype.updateLastDiff = function (diff, options) {\n this.lastDiff = diff ? {\n diff: diff,\n options: options || this.getDiffOptions(),\n } : void 0;\n };\n QueryInfo.prototype.getDiffOptions = function (variables) {\n if (variables === void 0) { variables = this.variables; }\n var oq = this.observableQuery;\n return {\n query: this.document,\n variables: variables,\n returnPartialData: true,\n optimistic: true,\n canonizeResults: !oq || oq.options.canonizeResults !== false,\n };\n };\n QueryInfo.prototype.setDiff = function (diff) {\n var _this = this;\n var oldDiff = this.lastDiff && this.lastDiff.diff;\n this.updateLastDiff(diff);\n if (!this.dirty &&\n !equal(oldDiff && oldDiff.result, diff && diff.result)) {\n this.dirty = true;\n if (!this.notifyTimeout) {\n this.notifyTimeout = setTimeout(function () { return _this.notify(); }, 0);\n }\n }\n };\n QueryInfo.prototype.setObservableQuery = function (oq) {\n var _this = this;\n if (oq === this.observableQuery)\n return;\n if (this.oqListener) {\n this.listeners.delete(this.oqListener);\n }\n this.observableQuery = oq;\n if (oq) {\n oq[\"queryInfo\"] = this;\n this.listeners.add(this.oqListener = function () {\n if (_this.getDiff().fromOptimisticTransaction) {\n oq[\"observe\"]();\n }\n else {\n oq.reobserve();\n }\n });\n }\n else {\n delete this.oqListener;\n }\n };\n QueryInfo.prototype.notify = function () {\n var _this = this;\n cancelNotifyTimeout(this);\n if (this.shouldNotify()) {\n this.listeners.forEach(function (listener) { return listener(_this); });\n }\n this.dirty = false;\n };\n QueryInfo.prototype.shouldNotify = function () {\n if (!this.dirty || !this.listeners.size) {\n return false;\n }\n if (isNetworkRequestInFlight(this.networkStatus) &&\n this.observableQuery) {\n var fetchPolicy = this.observableQuery.options.fetchPolicy;\n if (fetchPolicy !== \"cache-only\" &&\n fetchPolicy !== \"cache-and-network\") {\n return false;\n }\n }\n return true;\n };\n QueryInfo.prototype.stop = function () {\n if (!this.stopped) {\n this.stopped = true;\n this.reset();\n this.cancel();\n this.cancel = QueryInfo.prototype.cancel;\n this.subscriptions.forEach(function (sub) { return sub.unsubscribe(); });\n var oq = this.observableQuery;\n if (oq)\n oq.stopPolling();\n }\n };\n QueryInfo.prototype.cancel = function () { };\n QueryInfo.prototype.updateWatch = function (variables) {\n var _this = this;\n if (variables === void 0) { variables = this.variables; }\n var oq = this.observableQuery;\n if (oq && oq.options.fetchPolicy === \"no-cache\") {\n return;\n }\n var watchOptions = __assign(__assign({}, this.getDiffOptions(variables)), { watcher: this, callback: function (diff) { return _this.setDiff(diff); } });\n if (!this.lastWatch ||\n !equal(watchOptions, this.lastWatch)) {\n this.cancel();\n this.cancel = this.cache.watch(this.lastWatch = watchOptions);\n }\n };\n QueryInfo.prototype.resetLastWrite = function () {\n this.lastWrite = void 0;\n };\n QueryInfo.prototype.shouldWrite = function (result, variables) {\n var lastWrite = this.lastWrite;\n return !(lastWrite &&\n lastWrite.dmCount === destructiveMethodCounts.get(this.cache) &&\n equal(variables, lastWrite.variables) &&\n equal(result.data, lastWrite.result.data));\n };\n QueryInfo.prototype.markResult = function (result, options, cacheWriteBehavior) {\n var _this = this;\n this.graphQLErrors = isNonEmptyArray(result.errors) ? result.errors : [];\n this.reset();\n if (options.fetchPolicy === 'no-cache') {\n this.updateLastDiff({ result: result.data, complete: true }, this.getDiffOptions(options.variables));\n }\n else if (cacheWriteBehavior !== 0) {\n if (shouldWriteResult(result, options.errorPolicy)) {\n this.cache.performTransaction(function (cache) {\n if (_this.shouldWrite(result, options.variables)) {\n cache.writeQuery({\n query: _this.document,\n data: result.data,\n variables: options.variables,\n overwrite: cacheWriteBehavior === 1,\n });\n _this.lastWrite = {\n result: result,\n variables: options.variables,\n dmCount: destructiveMethodCounts.get(_this.cache),\n };\n }\n else {\n if (_this.lastDiff &&\n _this.lastDiff.diff.complete) {\n result.data = _this.lastDiff.diff.result;\n return;\n }\n }\n var diffOptions = _this.getDiffOptions(options.variables);\n var diff = cache.diff(diffOptions);\n if (!_this.stopped) {\n _this.updateWatch(options.variables);\n }\n _this.updateLastDiff(diff, diffOptions);\n if (diff.complete) {\n result.data = diff.result;\n }\n });\n }\n else {\n this.lastWrite = void 0;\n }\n }\n };\n QueryInfo.prototype.markReady = function () {\n this.networkError = null;\n return this.networkStatus = NetworkStatus.ready;\n };\n QueryInfo.prototype.markError = function (error) {\n this.networkStatus = NetworkStatus.error;\n this.lastWrite = void 0;\n this.reset();\n if (error.graphQLErrors) {\n this.graphQLErrors = error.graphQLErrors;\n }\n if (error.networkError) {\n this.networkError = error.networkError;\n }\n return error;\n };\n return QueryInfo;\n}());\nexport { QueryInfo };\nexport function shouldWriteResult(result, errorPolicy) {\n if (errorPolicy === void 0) { errorPolicy = \"none\"; }\n var ignoreErrors = errorPolicy === \"ignore\" ||\n errorPolicy === \"all\";\n var writeWithErrors = !graphQLResultHasError(result);\n if (!writeWithErrors && ignoreErrors && result.data) {\n writeWithErrors = true;\n }\n return writeWithErrors;\n}\n//# sourceMappingURL=QueryInfo.js.map","import { __assign, __awaiter, __generator } from \"tslib\";\nimport { invariant, InvariantError } from 'ts-invariant';\nimport { equal } from '@wry/equality';\nimport { execute } from \"../link/core/index.js\";\nimport { canonicalStringify } from \"../cache/index.js\";\nimport { getDefaultValues, getOperationDefinition, getOperationName, hasClientExports, graphQLResultHasError, removeConnectionDirectiveFromDocument, canUseWeakMap, Observable, asyncMap, isNonEmptyArray, Concast, makeUniqueId, isDocumentNode, isNonNullObject, } from \"../utilities/index.js\";\nimport { ApolloError, isApolloError } from \"../errors/index.js\";\nimport { ObservableQuery, applyNextFetchPolicy, logMissingFieldErrors } from \"./ObservableQuery.js\";\nimport { NetworkStatus, isNetworkRequestInFlight } from \"./networkStatus.js\";\nimport { LocalState } from \"./LocalState.js\";\nimport { QueryInfo, shouldWriteResult, } from \"./QueryInfo.js\";\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar QueryManager = (function () {\n function QueryManager(_a) {\n var cache = _a.cache, link = _a.link, _b = _a.queryDeduplication, queryDeduplication = _b === void 0 ? false : _b, onBroadcast = _a.onBroadcast, _c = _a.ssrMode, ssrMode = _c === void 0 ? false : _c, _d = _a.clientAwareness, clientAwareness = _d === void 0 ? {} : _d, localState = _a.localState, assumeImmutableResults = _a.assumeImmutableResults;\n this.clientAwareness = {};\n this.queries = new Map();\n this.fetchCancelFns = new Map();\n this.transformCache = new (canUseWeakMap ? WeakMap : Map)();\n this.queryIdCounter = 1;\n this.requestIdCounter = 1;\n this.mutationIdCounter = 1;\n this.inFlightLinkObservables = new Map();\n this.cache = cache;\n this.link = link;\n this.queryDeduplication = queryDeduplication;\n this.clientAwareness = clientAwareness;\n this.localState = localState || new LocalState({ cache: cache });\n this.ssrMode = ssrMode;\n this.assumeImmutableResults = !!assumeImmutableResults;\n if ((this.onBroadcast = onBroadcast)) {\n this.mutationStore = Object.create(null);\n }\n }\n QueryManager.prototype.stop = function () {\n var _this = this;\n this.queries.forEach(function (_info, queryId) {\n _this.stopQueryNoBroadcast(queryId);\n });\n this.cancelPendingFetches(__DEV__ ? new InvariantError('QueryManager stopped while query was in flight') : new InvariantError(13));\n };\n QueryManager.prototype.cancelPendingFetches = function (error) {\n this.fetchCancelFns.forEach(function (cancel) { return cancel(error); });\n this.fetchCancelFns.clear();\n };\n QueryManager.prototype.mutate = function (_a) {\n var mutation = _a.mutation, variables = _a.variables, optimisticResponse = _a.optimisticResponse, updateQueries = _a.updateQueries, _b = _a.refetchQueries, refetchQueries = _b === void 0 ? [] : _b, _c = _a.awaitRefetchQueries, awaitRefetchQueries = _c === void 0 ? false : _c, updateWithProxyFn = _a.update, onQueryUpdated = _a.onQueryUpdated, _d = _a.errorPolicy, errorPolicy = _d === void 0 ? 'none' : _d, _e = _a.fetchPolicy, fetchPolicy = _e === void 0 ? 'network-only' : _e, keepRootFields = _a.keepRootFields, context = _a.context;\n return __awaiter(this, void 0, void 0, function () {\n var mutationId, mutationStoreValue, self;\n return __generator(this, function (_f) {\n switch (_f.label) {\n case 0:\n __DEV__ ? invariant(mutation, 'mutation option is required. You must specify your GraphQL document in the mutation option.') : invariant(mutation, 14);\n __DEV__ ? invariant(fetchPolicy === 'network-only' ||\n fetchPolicy === 'no-cache', \"Mutations support only 'network-only' or 'no-cache' fetchPolicy strings. The default `network-only` behavior automatically writes mutation results to the cache. Passing `no-cache` skips the cache write.\") : invariant(fetchPolicy === 'network-only' ||\n fetchPolicy === 'no-cache', 15);\n mutationId = this.generateMutationId();\n mutation = this.transform(mutation).document;\n variables = this.getVariables(mutation, variables);\n if (!this.transform(mutation).hasClientExports) return [3, 2];\n return [4, this.localState.addExportedVariables(mutation, variables, context)];\n case 1:\n variables = (_f.sent());\n _f.label = 2;\n case 2:\n mutationStoreValue = this.mutationStore &&\n (this.mutationStore[mutationId] = {\n mutation: mutation,\n variables: variables,\n loading: true,\n error: null,\n });\n if (optimisticResponse) {\n this.markMutationOptimistic(optimisticResponse, {\n mutationId: mutationId,\n document: mutation,\n variables: variables,\n fetchPolicy: fetchPolicy,\n errorPolicy: errorPolicy,\n context: context,\n updateQueries: updateQueries,\n update: updateWithProxyFn,\n keepRootFields: keepRootFields,\n });\n }\n this.broadcastQueries();\n self = this;\n return [2, new Promise(function (resolve, reject) {\n return asyncMap(self.getObservableFromLink(mutation, __assign(__assign({}, context), { optimisticResponse: optimisticResponse }), variables, false), function (result) {\n if (graphQLResultHasError(result) && errorPolicy === 'none') {\n throw new ApolloError({\n graphQLErrors: result.errors,\n });\n }\n if (mutationStoreValue) {\n mutationStoreValue.loading = false;\n mutationStoreValue.error = null;\n }\n var storeResult = __assign({}, result);\n if (typeof refetchQueries === \"function\") {\n refetchQueries = refetchQueries(storeResult);\n }\n if (errorPolicy === 'ignore' &&\n graphQLResultHasError(storeResult)) {\n delete storeResult.errors;\n }\n return self.markMutationResult({\n mutationId: mutationId,\n result: storeResult,\n document: mutation,\n variables: variables,\n fetchPolicy: fetchPolicy,\n errorPolicy: errorPolicy,\n context: context,\n update: updateWithProxyFn,\n updateQueries: updateQueries,\n awaitRefetchQueries: awaitRefetchQueries,\n refetchQueries: refetchQueries,\n removeOptimistic: optimisticResponse ? mutationId : void 0,\n onQueryUpdated: onQueryUpdated,\n keepRootFields: keepRootFields,\n });\n }).subscribe({\n next: function (storeResult) {\n self.broadcastQueries();\n resolve(storeResult);\n },\n error: function (err) {\n if (mutationStoreValue) {\n mutationStoreValue.loading = false;\n mutationStoreValue.error = err;\n }\n if (optimisticResponse) {\n self.cache.removeOptimistic(mutationId);\n }\n self.broadcastQueries();\n reject(err instanceof ApolloError ? err : new ApolloError({\n networkError: err,\n }));\n },\n });\n })];\n }\n });\n });\n };\n QueryManager.prototype.markMutationResult = function (mutation, cache) {\n var _this = this;\n if (cache === void 0) { cache = this.cache; }\n var result = mutation.result;\n var cacheWrites = [];\n var skipCache = mutation.fetchPolicy === \"no-cache\";\n if (!skipCache && shouldWriteResult(result, mutation.errorPolicy)) {\n cacheWrites.push({\n result: result.data,\n dataId: 'ROOT_MUTATION',\n query: mutation.document,\n variables: mutation.variables,\n });\n var updateQueries_1 = mutation.updateQueries;\n if (updateQueries_1) {\n this.queries.forEach(function (_a, queryId) {\n var observableQuery = _a.observableQuery;\n var queryName = observableQuery && observableQuery.queryName;\n if (!queryName || !hasOwnProperty.call(updateQueries_1, queryName)) {\n return;\n }\n var updater = updateQueries_1[queryName];\n var _b = _this.queries.get(queryId), document = _b.document, variables = _b.variables;\n var _c = cache.diff({\n query: document,\n variables: variables,\n returnPartialData: true,\n optimistic: false,\n }), currentQueryResult = _c.result, complete = _c.complete;\n if (complete && currentQueryResult) {\n var nextQueryResult = updater(currentQueryResult, {\n mutationResult: result,\n queryName: document && getOperationName(document) || void 0,\n queryVariables: variables,\n });\n if (nextQueryResult) {\n cacheWrites.push({\n result: nextQueryResult,\n dataId: 'ROOT_QUERY',\n query: document,\n variables: variables,\n });\n }\n }\n });\n }\n }\n if (cacheWrites.length > 0 ||\n mutation.refetchQueries ||\n mutation.update ||\n mutation.onQueryUpdated ||\n mutation.removeOptimistic) {\n var results_1 = [];\n this.refetchQueries({\n updateCache: function (cache) {\n if (!skipCache) {\n cacheWrites.forEach(function (write) { return cache.write(write); });\n }\n var update = mutation.update;\n if (update) {\n if (!skipCache) {\n var diff = cache.diff({\n id: \"ROOT_MUTATION\",\n query: _this.transform(mutation.document).asQuery,\n variables: mutation.variables,\n optimistic: false,\n returnPartialData: true,\n });\n if (diff.complete) {\n result = __assign(__assign({}, result), { data: diff.result });\n }\n }\n update(cache, result, {\n context: mutation.context,\n variables: mutation.variables,\n });\n }\n if (!skipCache && !mutation.keepRootFields) {\n cache.modify({\n id: 'ROOT_MUTATION',\n fields: function (value, _a) {\n var fieldName = _a.fieldName, DELETE = _a.DELETE;\n return fieldName === \"__typename\" ? value : DELETE;\n },\n });\n }\n },\n include: mutation.refetchQueries,\n optimistic: false,\n removeOptimistic: mutation.removeOptimistic,\n onQueryUpdated: mutation.onQueryUpdated || null,\n }).forEach(function (result) { return results_1.push(result); });\n if (mutation.awaitRefetchQueries || mutation.onQueryUpdated) {\n return Promise.all(results_1).then(function () { return result; });\n }\n }\n return Promise.resolve(result);\n };\n QueryManager.prototype.markMutationOptimistic = function (optimisticResponse, mutation) {\n var _this = this;\n var data = typeof optimisticResponse === \"function\"\n ? optimisticResponse(mutation.variables)\n : optimisticResponse;\n return this.cache.recordOptimisticTransaction(function (cache) {\n try {\n _this.markMutationResult(__assign(__assign({}, mutation), { result: { data: data } }), cache);\n }\n catch (error) {\n __DEV__ && invariant.error(error);\n }\n }, mutation.mutationId);\n };\n QueryManager.prototype.fetchQuery = function (queryId, options, networkStatus) {\n return this.fetchQueryObservable(queryId, options, networkStatus).promise;\n };\n QueryManager.prototype.getQueryStore = function () {\n var store = Object.create(null);\n this.queries.forEach(function (info, queryId) {\n store[queryId] = {\n variables: info.variables,\n networkStatus: info.networkStatus,\n networkError: info.networkError,\n graphQLErrors: info.graphQLErrors,\n };\n });\n return store;\n };\n QueryManager.prototype.resetErrors = function (queryId) {\n var queryInfo = this.queries.get(queryId);\n if (queryInfo) {\n queryInfo.networkError = undefined;\n queryInfo.graphQLErrors = [];\n }\n };\n QueryManager.prototype.transform = function (document) {\n var transformCache = this.transformCache;\n if (!transformCache.has(document)) {\n var transformed = this.cache.transformDocument(document);\n var forLink = removeConnectionDirectiveFromDocument(this.cache.transformForLink(transformed));\n var clientQuery = this.localState.clientQuery(transformed);\n var serverQuery = forLink && this.localState.serverQuery(forLink);\n var cacheEntry_1 = {\n document: transformed,\n hasClientExports: hasClientExports(transformed),\n hasForcedResolvers: this.localState.shouldForceResolvers(transformed),\n clientQuery: clientQuery,\n serverQuery: serverQuery,\n defaultVars: getDefaultValues(getOperationDefinition(transformed)),\n asQuery: __assign(__assign({}, transformed), { definitions: transformed.definitions.map(function (def) {\n if (def.kind === \"OperationDefinition\" &&\n def.operation !== \"query\") {\n return __assign(__assign({}, def), { operation: \"query\" });\n }\n return def;\n }) })\n };\n var add = function (doc) {\n if (doc && !transformCache.has(doc)) {\n transformCache.set(doc, cacheEntry_1);\n }\n };\n add(document);\n add(transformed);\n add(clientQuery);\n add(serverQuery);\n }\n return transformCache.get(document);\n };\n QueryManager.prototype.getVariables = function (document, variables) {\n return __assign(__assign({}, this.transform(document).defaultVars), variables);\n };\n QueryManager.prototype.watchQuery = function (options) {\n options = __assign(__assign({}, options), { variables: this.getVariables(options.query, options.variables) });\n if (typeof options.notifyOnNetworkStatusChange === 'undefined') {\n options.notifyOnNetworkStatusChange = false;\n }\n var queryInfo = new QueryInfo(this);\n var observable = new ObservableQuery({\n queryManager: this,\n queryInfo: queryInfo,\n options: options,\n });\n this.queries.set(observable.queryId, queryInfo);\n queryInfo.init({\n document: options.query,\n observableQuery: observable,\n variables: options.variables,\n });\n return observable;\n };\n QueryManager.prototype.query = function (options, queryId) {\n var _this = this;\n if (queryId === void 0) { queryId = this.generateQueryId(); }\n __DEV__ ? invariant(options.query, 'query option is required. You must specify your GraphQL document ' +\n 'in the query option.') : invariant(options.query, 16);\n __DEV__ ? invariant(options.query.kind === 'Document', 'You must wrap the query string in a \"gql\" tag.') : invariant(options.query.kind === 'Document', 17);\n __DEV__ ? invariant(!options.returnPartialData, 'returnPartialData option only supported on watchQuery.') : invariant(!options.returnPartialData, 18);\n __DEV__ ? invariant(!options.pollInterval, 'pollInterval option only supported on watchQuery.') : invariant(!options.pollInterval, 19);\n return this.fetchQuery(queryId, options).finally(function () { return _this.stopQuery(queryId); });\n };\n QueryManager.prototype.generateQueryId = function () {\n return String(this.queryIdCounter++);\n };\n QueryManager.prototype.generateRequestId = function () {\n return this.requestIdCounter++;\n };\n QueryManager.prototype.generateMutationId = function () {\n return String(this.mutationIdCounter++);\n };\n QueryManager.prototype.stopQueryInStore = function (queryId) {\n this.stopQueryInStoreNoBroadcast(queryId);\n this.broadcastQueries();\n };\n QueryManager.prototype.stopQueryInStoreNoBroadcast = function (queryId) {\n var queryInfo = this.queries.get(queryId);\n if (queryInfo)\n queryInfo.stop();\n };\n QueryManager.prototype.clearStore = function () {\n this.cancelPendingFetches(__DEV__ ? new InvariantError('Store reset while query was in flight (not completed in link chain)') : new InvariantError(20));\n this.queries.forEach(function (queryInfo) {\n if (queryInfo.observableQuery) {\n queryInfo.networkStatus = NetworkStatus.loading;\n }\n else {\n queryInfo.stop();\n }\n });\n if (this.mutationStore) {\n this.mutationStore = Object.create(null);\n }\n return this.cache.reset();\n };\n QueryManager.prototype.resetStore = function () {\n var _this = this;\n return this.clearStore().then(function () {\n return _this.reFetchObservableQueries();\n });\n };\n QueryManager.prototype.getObservableQueries = function (include) {\n var _this = this;\n if (include === void 0) { include = \"active\"; }\n var queries = new Map();\n var queryNamesAndDocs = new Map();\n var legacyQueryOptions = new Set();\n if (Array.isArray(include)) {\n include.forEach(function (desc) {\n if (typeof desc === \"string\") {\n queryNamesAndDocs.set(desc, false);\n }\n else if (isDocumentNode(desc)) {\n queryNamesAndDocs.set(_this.transform(desc).document, false);\n }\n else if (isNonNullObject(desc) && desc.query) {\n legacyQueryOptions.add(desc);\n }\n });\n }\n this.queries.forEach(function (_a, queryId) {\n var oq = _a.observableQuery, document = _a.document;\n if (oq) {\n if (include === \"all\") {\n queries.set(queryId, oq);\n return;\n }\n var queryName = oq.queryName, fetchPolicy = oq.options.fetchPolicy;\n if (fetchPolicy === \"standby\" || !oq.hasObservers()) {\n return;\n }\n if (include === \"active\" ||\n (queryName && queryNamesAndDocs.has(queryName)) ||\n (document && queryNamesAndDocs.has(document))) {\n queries.set(queryId, oq);\n if (queryName)\n queryNamesAndDocs.set(queryName, true);\n if (document)\n queryNamesAndDocs.set(document, true);\n }\n }\n });\n if (legacyQueryOptions.size) {\n legacyQueryOptions.forEach(function (options) {\n var queryId = makeUniqueId(\"legacyOneTimeQuery\");\n var queryInfo = _this.getQuery(queryId).init({\n document: options.query,\n variables: options.variables,\n });\n var oq = new ObservableQuery({\n queryManager: _this,\n queryInfo: queryInfo,\n options: __assign(__assign({}, options), { fetchPolicy: \"network-only\" }),\n });\n invariant(oq.queryId === queryId);\n queryInfo.setObservableQuery(oq);\n queries.set(queryId, oq);\n });\n }\n if (__DEV__ && queryNamesAndDocs.size) {\n queryNamesAndDocs.forEach(function (included, nameOrDoc) {\n if (!included) {\n __DEV__ && invariant.warn(\"Unknown query \" + (typeof nameOrDoc === \"string\" ? \"named \" : \"\") + JSON.stringify(nameOrDoc, null, 2) + \" requested in refetchQueries options.include array\");\n }\n });\n }\n return queries;\n };\n QueryManager.prototype.reFetchObservableQueries = function (includeStandby) {\n var _this = this;\n if (includeStandby === void 0) { includeStandby = false; }\n var observableQueryPromises = [];\n this.getObservableQueries(includeStandby ? \"all\" : \"active\").forEach(function (observableQuery, queryId) {\n var fetchPolicy = observableQuery.options.fetchPolicy;\n observableQuery.resetLastResults();\n if (includeStandby ||\n (fetchPolicy !== \"standby\" &&\n fetchPolicy !== \"cache-only\")) {\n observableQueryPromises.push(observableQuery.refetch());\n }\n _this.getQuery(queryId).setDiff(null);\n });\n this.broadcastQueries();\n return Promise.all(observableQueryPromises);\n };\n QueryManager.prototype.setObservableQuery = function (observableQuery) {\n this.getQuery(observableQuery.queryId).setObservableQuery(observableQuery);\n };\n QueryManager.prototype.startGraphQLSubscription = function (_a) {\n var _this = this;\n var query = _a.query, fetchPolicy = _a.fetchPolicy, errorPolicy = _a.errorPolicy, variables = _a.variables, _b = _a.context, context = _b === void 0 ? {} : _b;\n query = this.transform(query).document;\n variables = this.getVariables(query, variables);\n var makeObservable = function (variables) {\n return _this.getObservableFromLink(query, context, variables).map(function (result) {\n if (fetchPolicy !== 'no-cache') {\n if (shouldWriteResult(result, errorPolicy)) {\n _this.cache.write({\n query: query,\n result: result.data,\n dataId: 'ROOT_SUBSCRIPTION',\n variables: variables,\n });\n }\n _this.broadcastQueries();\n }\n if (graphQLResultHasError(result)) {\n throw new ApolloError({\n graphQLErrors: result.errors,\n });\n }\n return result;\n });\n };\n if (this.transform(query).hasClientExports) {\n var observablePromise_1 = this.localState.addExportedVariables(query, variables, context).then(makeObservable);\n return new Observable(function (observer) {\n var sub = null;\n observablePromise_1.then(function (observable) { return sub = observable.subscribe(observer); }, observer.error);\n return function () { return sub && sub.unsubscribe(); };\n });\n }\n return makeObservable(variables);\n };\n QueryManager.prototype.stopQuery = function (queryId) {\n this.stopQueryNoBroadcast(queryId);\n this.broadcastQueries();\n };\n QueryManager.prototype.stopQueryNoBroadcast = function (queryId) {\n this.stopQueryInStoreNoBroadcast(queryId);\n this.removeQuery(queryId);\n };\n QueryManager.prototype.removeQuery = function (queryId) {\n this.fetchCancelFns.delete(queryId);\n this.getQuery(queryId).stop();\n this.queries.delete(queryId);\n };\n QueryManager.prototype.broadcastQueries = function () {\n if (this.onBroadcast)\n this.onBroadcast();\n this.queries.forEach(function (info) { return info.notify(); });\n };\n QueryManager.prototype.getLocalState = function () {\n return this.localState;\n };\n QueryManager.prototype.getObservableFromLink = function (query, context, variables, deduplication) {\n var _this = this;\n var _a;\n if (deduplication === void 0) { deduplication = (_a = context === null || context === void 0 ? void 0 : context.queryDeduplication) !== null && _a !== void 0 ? _a : this.queryDeduplication; }\n var observable;\n var serverQuery = this.transform(query).serverQuery;\n if (serverQuery) {\n var _b = this, inFlightLinkObservables_1 = _b.inFlightLinkObservables, link = _b.link;\n var operation = {\n query: serverQuery,\n variables: variables,\n operationName: getOperationName(serverQuery) || void 0,\n context: this.prepareContext(__assign(__assign({}, context), { forceFetch: !deduplication })),\n };\n context = operation.context;\n if (deduplication) {\n var byVariables_1 = inFlightLinkObservables_1.get(serverQuery) || new Map();\n inFlightLinkObservables_1.set(serverQuery, byVariables_1);\n var varJson_1 = canonicalStringify(variables);\n observable = byVariables_1.get(varJson_1);\n if (!observable) {\n var concast = new Concast([\n execute(link, operation)\n ]);\n byVariables_1.set(varJson_1, observable = concast);\n concast.cleanup(function () {\n if (byVariables_1.delete(varJson_1) &&\n byVariables_1.size < 1) {\n inFlightLinkObservables_1.delete(serverQuery);\n }\n });\n }\n }\n else {\n observable = new Concast([\n execute(link, operation)\n ]);\n }\n }\n else {\n observable = new Concast([\n Observable.of({ data: {} })\n ]);\n context = this.prepareContext(context);\n }\n var clientQuery = this.transform(query).clientQuery;\n if (clientQuery) {\n observable = asyncMap(observable, function (result) {\n return _this.localState.runResolvers({\n document: clientQuery,\n remoteResult: result,\n context: context,\n variables: variables,\n });\n });\n }\n return observable;\n };\n QueryManager.prototype.getResultsFromLink = function (queryInfo, cacheWriteBehavior, options) {\n var requestId = queryInfo.lastRequestId = this.generateRequestId();\n return asyncMap(this.getObservableFromLink(queryInfo.document, options.context, options.variables), function (result) {\n var hasErrors = isNonEmptyArray(result.errors);\n if (requestId >= queryInfo.lastRequestId) {\n if (hasErrors && options.errorPolicy === \"none\") {\n throw queryInfo.markError(new ApolloError({\n graphQLErrors: result.errors,\n }));\n }\n queryInfo.markResult(result, options, cacheWriteBehavior);\n queryInfo.markReady();\n }\n var aqr = {\n data: result.data,\n loading: false,\n networkStatus: queryInfo.networkStatus || NetworkStatus.ready,\n };\n if (hasErrors && options.errorPolicy !== \"ignore\") {\n aqr.errors = result.errors;\n }\n return aqr;\n }, function (networkError) {\n var error = isApolloError(networkError)\n ? networkError\n : new ApolloError({ networkError: networkError });\n if (requestId >= queryInfo.lastRequestId) {\n queryInfo.markError(error);\n }\n throw error;\n });\n };\n QueryManager.prototype.fetchQueryObservable = function (queryId, options, networkStatus) {\n var _this = this;\n if (networkStatus === void 0) { networkStatus = NetworkStatus.loading; }\n var query = this.transform(options.query).document;\n var variables = this.getVariables(query, options.variables);\n var queryInfo = this.getQuery(queryId);\n var _a = options.fetchPolicy, fetchPolicy = _a === void 0 ? \"cache-first\" : _a, _b = options.errorPolicy, errorPolicy = _b === void 0 ? \"none\" : _b, _c = options.returnPartialData, returnPartialData = _c === void 0 ? false : _c, _d = options.notifyOnNetworkStatusChange, notifyOnNetworkStatusChange = _d === void 0 ? false : _d, _e = options.context, context = _e === void 0 ? {} : _e;\n var normalized = Object.assign({}, options, {\n query: query,\n variables: variables,\n fetchPolicy: fetchPolicy,\n errorPolicy: errorPolicy,\n returnPartialData: returnPartialData,\n notifyOnNetworkStatusChange: notifyOnNetworkStatusChange,\n context: context,\n });\n var fromVariables = function (variables) {\n normalized.variables = variables;\n return _this.fetchQueryByPolicy(queryInfo, normalized, networkStatus);\n };\n this.fetchCancelFns.set(queryId, function (reason) {\n setTimeout(function () { return concast.cancel(reason); });\n });\n var concast = new Concast(this.transform(normalized.query).hasClientExports\n ? this.localState.addExportedVariables(normalized.query, normalized.variables, normalized.context).then(fromVariables)\n : fromVariables(normalized.variables));\n concast.cleanup(function () {\n _this.fetchCancelFns.delete(queryId);\n applyNextFetchPolicy(options);\n });\n return concast;\n };\n QueryManager.prototype.refetchQueries = function (_a) {\n var _this = this;\n var updateCache = _a.updateCache, include = _a.include, _b = _a.optimistic, optimistic = _b === void 0 ? false : _b, _c = _a.removeOptimistic, removeOptimistic = _c === void 0 ? optimistic ? makeUniqueId(\"refetchQueries\") : void 0 : _c, onQueryUpdated = _a.onQueryUpdated;\n var includedQueriesById = new Map();\n if (include) {\n this.getObservableQueries(include).forEach(function (oq, queryId) {\n includedQueriesById.set(queryId, {\n oq: oq,\n lastDiff: _this.getQuery(queryId).getDiff(),\n });\n });\n }\n var results = new Map;\n if (updateCache) {\n this.cache.batch({\n update: updateCache,\n optimistic: optimistic && removeOptimistic || false,\n removeOptimistic: removeOptimistic,\n onWatchUpdated: function (watch, diff, lastDiff) {\n var oq = watch.watcher instanceof QueryInfo &&\n watch.watcher.observableQuery;\n if (oq) {\n if (onQueryUpdated) {\n includedQueriesById.delete(oq.queryId);\n var result = onQueryUpdated(oq, diff, lastDiff);\n if (result === true) {\n result = oq.refetch();\n }\n if (result !== false) {\n results.set(oq, result);\n }\n return false;\n }\n if (onQueryUpdated !== null) {\n includedQueriesById.set(oq.queryId, { oq: oq, lastDiff: lastDiff, diff: diff });\n }\n }\n },\n });\n }\n if (includedQueriesById.size) {\n includedQueriesById.forEach(function (_a, queryId) {\n var oq = _a.oq, lastDiff = _a.lastDiff, diff = _a.diff;\n var result;\n if (onQueryUpdated) {\n if (!diff) {\n var info = oq[\"queryInfo\"];\n info.reset();\n diff = info.getDiff();\n }\n result = onQueryUpdated(oq, diff, lastDiff);\n }\n if (!onQueryUpdated || result === true) {\n result = oq.refetch();\n }\n if (result !== false) {\n results.set(oq, result);\n }\n if (queryId.indexOf(\"legacyOneTimeQuery\") >= 0) {\n _this.stopQueryNoBroadcast(queryId);\n }\n });\n }\n if (removeOptimistic) {\n this.cache.removeOptimistic(removeOptimistic);\n }\n return results;\n };\n QueryManager.prototype.fetchQueryByPolicy = function (queryInfo, _a, networkStatus) {\n var _this = this;\n var query = _a.query, variables = _a.variables, fetchPolicy = _a.fetchPolicy, refetchWritePolicy = _a.refetchWritePolicy, errorPolicy = _a.errorPolicy, returnPartialData = _a.returnPartialData, context = _a.context, notifyOnNetworkStatusChange = _a.notifyOnNetworkStatusChange;\n var oldNetworkStatus = queryInfo.networkStatus;\n queryInfo.init({\n document: query,\n variables: variables,\n networkStatus: networkStatus,\n });\n var readCache = function () { return queryInfo.getDiff(variables); };\n var resultsFromCache = function (diff, networkStatus) {\n if (networkStatus === void 0) { networkStatus = queryInfo.networkStatus || NetworkStatus.loading; }\n var data = diff.result;\n if (__DEV__ &&\n !returnPartialData &&\n !equal(data, {})) {\n logMissingFieldErrors(diff.missing);\n }\n var fromData = function (data) { return Observable.of(__assign({ data: data, loading: isNetworkRequestInFlight(networkStatus), networkStatus: networkStatus }, (diff.complete ? null : { partial: true }))); };\n if (data && _this.transform(query).hasForcedResolvers) {\n return _this.localState.runResolvers({\n document: query,\n remoteResult: { data: data },\n context: context,\n variables: variables,\n onlyRunForcedResolvers: true,\n }).then(function (resolved) { return fromData(resolved.data || void 0); });\n }\n return fromData(data);\n };\n var cacheWriteBehavior = fetchPolicy === \"no-cache\" ? 0 :\n (networkStatus === NetworkStatus.refetch &&\n refetchWritePolicy !== \"merge\") ? 1\n : 2;\n var resultsFromLink = function () {\n return _this.getResultsFromLink(queryInfo, cacheWriteBehavior, {\n variables: variables,\n context: context,\n fetchPolicy: fetchPolicy,\n errorPolicy: errorPolicy,\n });\n };\n var shouldNotify = notifyOnNetworkStatusChange &&\n typeof oldNetworkStatus === \"number\" &&\n oldNetworkStatus !== networkStatus &&\n isNetworkRequestInFlight(networkStatus);\n switch (fetchPolicy) {\n default:\n case \"cache-first\": {\n var diff = readCache();\n if (diff.complete) {\n return [\n resultsFromCache(diff, queryInfo.markReady()),\n ];\n }\n if (returnPartialData || shouldNotify) {\n return [\n resultsFromCache(diff),\n resultsFromLink(),\n ];\n }\n return [\n resultsFromLink(),\n ];\n }\n case \"cache-and-network\": {\n var diff = readCache();\n if (diff.complete || returnPartialData || shouldNotify) {\n return [\n resultsFromCache(diff),\n resultsFromLink(),\n ];\n }\n return [\n resultsFromLink(),\n ];\n }\n case \"cache-only\":\n return [\n resultsFromCache(readCache(), queryInfo.markReady()),\n ];\n case \"network-only\":\n if (shouldNotify) {\n return [\n resultsFromCache(readCache()),\n resultsFromLink(),\n ];\n }\n return [resultsFromLink()];\n case \"no-cache\":\n if (shouldNotify) {\n return [\n resultsFromCache(queryInfo.getDiff()),\n resultsFromLink(),\n ];\n }\n return [resultsFromLink()];\n case \"standby\":\n return [];\n }\n };\n QueryManager.prototype.getQuery = function (queryId) {\n if (queryId && !this.queries.has(queryId)) {\n this.queries.set(queryId, new QueryInfo(this, queryId));\n }\n return this.queries.get(queryId);\n };\n QueryManager.prototype.prepareContext = function (context) {\n if (context === void 0) { context = {}; }\n var newContext = this.localState.prepareContext(context);\n return __assign(__assign({}, newContext), { clientAwareness: this.clientAwareness });\n };\n return QueryManager;\n}());\nexport { QueryManager };\n//# sourceMappingURL=QueryManager.js.map","import { __assign } from \"tslib\";\nimport { invariant, InvariantError } from 'ts-invariant';\nimport { ApolloLink, execute } from \"../link/core/index.js\";\nimport { compact } from \"../utilities/index.js\";\nimport { version } from \"../version.js\";\nimport { HttpLink } from \"../link/http/index.js\";\nimport { QueryManager } from \"./QueryManager.js\";\nimport { LocalState, } from \"./LocalState.js\";\nvar hasSuggestedDevtools = false;\nexport function mergeOptions(defaults, options) {\n return compact(defaults, options, options.variables && {\n variables: __assign(__assign({}, defaults.variables), options.variables),\n });\n}\nvar ApolloClient = (function () {\n function ApolloClient(options) {\n var _this = this;\n this.defaultOptions = {};\n this.resetStoreCallbacks = [];\n this.clearStoreCallbacks = [];\n var uri = options.uri, credentials = options.credentials, headers = options.headers, cache = options.cache, _a = options.ssrMode, ssrMode = _a === void 0 ? false : _a, _b = options.ssrForceFetchDelay, ssrForceFetchDelay = _b === void 0 ? 0 : _b, _c = options.connectToDevTools, connectToDevTools = _c === void 0 ? typeof window === 'object' &&\n !window.__APOLLO_CLIENT__ &&\n __DEV__ : _c, _d = options.queryDeduplication, queryDeduplication = _d === void 0 ? true : _d, defaultOptions = options.defaultOptions, _e = options.assumeImmutableResults, assumeImmutableResults = _e === void 0 ? false : _e, resolvers = options.resolvers, typeDefs = options.typeDefs, fragmentMatcher = options.fragmentMatcher, clientAwarenessName = options.name, clientAwarenessVersion = options.version;\n var link = options.link;\n if (!link) {\n link = uri\n ? new HttpLink({ uri: uri, credentials: credentials, headers: headers })\n : ApolloLink.empty();\n }\n if (!cache) {\n throw __DEV__ ? new InvariantError(\"To initialize Apollo Client, you must specify a 'cache' property \" +\n \"in the options object. \\n\" +\n \"For more information, please visit: https://go.apollo.dev/c/docs\") : new InvariantError(9);\n }\n this.link = link;\n this.cache = cache;\n this.disableNetworkFetches = ssrMode || ssrForceFetchDelay > 0;\n this.queryDeduplication = queryDeduplication;\n this.defaultOptions = defaultOptions || {};\n this.typeDefs = typeDefs;\n if (ssrForceFetchDelay) {\n setTimeout(function () { return (_this.disableNetworkFetches = false); }, ssrForceFetchDelay);\n }\n this.watchQuery = this.watchQuery.bind(this);\n this.query = this.query.bind(this);\n this.mutate = this.mutate.bind(this);\n this.resetStore = this.resetStore.bind(this);\n this.reFetchObservableQueries = this.reFetchObservableQueries.bind(this);\n if (connectToDevTools && typeof window === 'object') {\n window.__APOLLO_CLIENT__ = this;\n }\n if (!hasSuggestedDevtools && __DEV__) {\n hasSuggestedDevtools = true;\n if (typeof window !== 'undefined' &&\n window.document &&\n window.top === window.self &&\n !window.__APOLLO_DEVTOOLS_GLOBAL_HOOK__) {\n var nav = window.navigator;\n var ua = nav && nav.userAgent;\n var url = void 0;\n if (typeof ua === \"string\") {\n if (ua.indexOf(\"Chrome/\") > -1) {\n url = \"https://chrome.google.com/webstore/detail/\" +\n \"apollo-client-developer-t/jdkknkkbebbapilgoeccciglkfbmbnfm\";\n }\n else if (ua.indexOf(\"Firefox/\") > -1) {\n url = \"https://addons.mozilla.org/en-US/firefox/addon/apollo-developer-tools/\";\n }\n }\n if (url) {\n __DEV__ && invariant.log(\"Download the Apollo DevTools for a better development \" +\n \"experience: \" + url);\n }\n }\n }\n this.version = version;\n this.localState = new LocalState({\n cache: cache,\n client: this,\n resolvers: resolvers,\n fragmentMatcher: fragmentMatcher,\n });\n this.queryManager = new QueryManager({\n cache: this.cache,\n link: this.link,\n queryDeduplication: queryDeduplication,\n ssrMode: ssrMode,\n clientAwareness: {\n name: clientAwarenessName,\n version: clientAwarenessVersion,\n },\n localState: this.localState,\n assumeImmutableResults: assumeImmutableResults,\n onBroadcast: connectToDevTools ? function () {\n if (_this.devToolsHookCb) {\n _this.devToolsHookCb({\n action: {},\n state: {\n queries: _this.queryManager.getQueryStore(),\n mutations: _this.queryManager.mutationStore || {},\n },\n dataWithOptimisticResults: _this.cache.extract(true),\n });\n }\n } : void 0,\n });\n }\n ApolloClient.prototype.stop = function () {\n this.queryManager.stop();\n };\n ApolloClient.prototype.watchQuery = function (options) {\n if (this.defaultOptions.watchQuery) {\n options = mergeOptions(this.defaultOptions.watchQuery, options);\n }\n if (this.disableNetworkFetches &&\n (options.fetchPolicy === 'network-only' ||\n options.fetchPolicy === 'cache-and-network')) {\n options = __assign(__assign({}, options), { fetchPolicy: 'cache-first' });\n }\n return this.queryManager.watchQuery(options);\n };\n ApolloClient.prototype.query = function (options) {\n if (this.defaultOptions.query) {\n options = mergeOptions(this.defaultOptions.query, options);\n }\n __DEV__ ? invariant(options.fetchPolicy !== 'cache-and-network', 'The cache-and-network fetchPolicy does not work with client.query, because ' +\n 'client.query can only return a single result. Please use client.watchQuery ' +\n 'to receive multiple results from the cache and the network, or consider ' +\n 'using a different fetchPolicy, such as cache-first or network-only.') : invariant(options.fetchPolicy !== 'cache-and-network', 10);\n if (this.disableNetworkFetches && options.fetchPolicy === 'network-only') {\n options = __assign(__assign({}, options), { fetchPolicy: 'cache-first' });\n }\n return this.queryManager.query(options);\n };\n ApolloClient.prototype.mutate = function (options) {\n if (this.defaultOptions.mutate) {\n options = mergeOptions(this.defaultOptions.mutate, options);\n }\n return this.queryManager.mutate(options);\n };\n ApolloClient.prototype.subscribe = function (options) {\n return this.queryManager.startGraphQLSubscription(options);\n };\n ApolloClient.prototype.readQuery = function (options, optimistic) {\n if (optimistic === void 0) { optimistic = false; }\n return this.cache.readQuery(options, optimistic);\n };\n ApolloClient.prototype.readFragment = function (options, optimistic) {\n if (optimistic === void 0) { optimistic = false; }\n return this.cache.readFragment(options, optimistic);\n };\n ApolloClient.prototype.writeQuery = function (options) {\n this.cache.writeQuery(options);\n this.queryManager.broadcastQueries();\n };\n ApolloClient.prototype.writeFragment = function (options) {\n this.cache.writeFragment(options);\n this.queryManager.broadcastQueries();\n };\n ApolloClient.prototype.__actionHookForDevTools = function (cb) {\n this.devToolsHookCb = cb;\n };\n ApolloClient.prototype.__requestRaw = function (payload) {\n return execute(this.link, payload);\n };\n ApolloClient.prototype.resetStore = function () {\n var _this = this;\n return Promise.resolve()\n .then(function () { return _this.queryManager.clearStore(); })\n .then(function () { return Promise.all(_this.resetStoreCallbacks.map(function (fn) { return fn(); })); })\n .then(function () { return _this.reFetchObservableQueries(); });\n };\n ApolloClient.prototype.clearStore = function () {\n var _this = this;\n return Promise.resolve()\n .then(function () { return _this.queryManager.clearStore(); })\n .then(function () { return Promise.all(_this.clearStoreCallbacks.map(function (fn) { return fn(); })); });\n };\n ApolloClient.prototype.onResetStore = function (cb) {\n var _this = this;\n this.resetStoreCallbacks.push(cb);\n return function () {\n _this.resetStoreCallbacks = _this.resetStoreCallbacks.filter(function (c) { return c !== cb; });\n };\n };\n ApolloClient.prototype.onClearStore = function (cb) {\n var _this = this;\n this.clearStoreCallbacks.push(cb);\n return function () {\n _this.clearStoreCallbacks = _this.clearStoreCallbacks.filter(function (c) { return c !== cb; });\n };\n };\n ApolloClient.prototype.reFetchObservableQueries = function (includeStandby) {\n return this.queryManager.reFetchObservableQueries(includeStandby);\n };\n ApolloClient.prototype.refetchQueries = function (options) {\n var map = this.queryManager.refetchQueries(options);\n var queries = [];\n var results = [];\n map.forEach(function (result, obsQuery) {\n queries.push(obsQuery);\n results.push(result);\n });\n var result = Promise.all(results);\n result.queries = queries;\n result.results = results;\n result.catch(function (error) {\n __DEV__ && invariant.debug(\"In client.refetchQueries, Promise.all promise rejected with error \" + error);\n });\n return result;\n };\n ApolloClient.prototype.getObservableQueries = function (include) {\n if (include === void 0) { include = \"active\"; }\n return this.queryManager.getObservableQueries(include);\n };\n ApolloClient.prototype.extract = function (optimistic) {\n return this.cache.extract(optimistic);\n };\n ApolloClient.prototype.restore = function (serializedState) {\n return this.cache.restore(serializedState);\n };\n ApolloClient.prototype.addResolvers = function (resolvers) {\n this.localState.addResolvers(resolvers);\n };\n ApolloClient.prototype.setResolvers = function (resolvers) {\n this.localState.setResolvers(resolvers);\n };\n ApolloClient.prototype.getResolvers = function () {\n return this.localState.getResolvers();\n };\n ApolloClient.prototype.setLocalStateFragmentMatcher = function (fragmentMatcher) {\n this.localState.setFragmentMatcher(fragmentMatcher);\n };\n ApolloClient.prototype.setLink = function (newLink) {\n this.link = this.queryManager.link = newLink;\n };\n return ApolloClient;\n}());\nexport { ApolloClient };\n//# sourceMappingURL=ApolloClient.js.map","export var NetworkStatus;\n(function (NetworkStatus) {\n NetworkStatus[NetworkStatus[\"loading\"] = 1] = \"loading\";\n NetworkStatus[NetworkStatus[\"setVariables\"] = 2] = \"setVariables\";\n NetworkStatus[NetworkStatus[\"fetchMore\"] = 3] = \"fetchMore\";\n NetworkStatus[NetworkStatus[\"refetch\"] = 4] = \"refetch\";\n NetworkStatus[NetworkStatus[\"poll\"] = 6] = \"poll\";\n NetworkStatus[NetworkStatus[\"ready\"] = 7] = \"ready\";\n NetworkStatus[NetworkStatus[\"error\"] = 8] = \"error\";\n})(NetworkStatus || (NetworkStatus = {}));\nexport function isNetworkRequestInFlight(networkStatus) {\n return networkStatus ? networkStatus < 7 : false;\n}\n//# sourceMappingURL=networkStatus.js.map","import { __extends } from \"tslib\";\nimport { checkDEV } from \"../utilities/index.js\";\ncheckDEV();\nimport { isNonEmptyArray } from \"../utilities/index.js\";\nexport function isApolloError(err) {\n return err.hasOwnProperty('graphQLErrors');\n}\nvar generateErrorMessage = function (err) {\n var message = '';\n if (isNonEmptyArray(err.graphQLErrors) || isNonEmptyArray(err.clientErrors)) {\n var errors = (err.graphQLErrors || [])\n .concat(err.clientErrors || []);\n errors.forEach(function (error) {\n var errorMessage = error\n ? error.message\n : 'Error message not found.';\n message += errorMessage + \"\\n\";\n });\n }\n if (err.networkError) {\n message += err.networkError.message + \"\\n\";\n }\n message = message.replace(/\\n$/, '');\n return message;\n};\nvar ApolloError = (function (_super) {\n __extends(ApolloError, _super);\n function ApolloError(_a) {\n var graphQLErrors = _a.graphQLErrors, clientErrors = _a.clientErrors, networkError = _a.networkError, errorMessage = _a.errorMessage, extraInfo = _a.extraInfo;\n var _this = _super.call(this, errorMessage) || this;\n _this.graphQLErrors = graphQLErrors || [];\n _this.clientErrors = clientErrors || [];\n _this.networkError = networkError || null;\n _this.message = errorMessage || generateErrorMessage(_this);\n _this.extraInfo = extraInfo;\n _this.__proto__ = ApolloError.prototype;\n return _this;\n }\n return ApolloError;\n}(Error));\nexport { ApolloError };\n//# sourceMappingURL=index.js.map","import { __extends } from \"tslib\";\nimport { InvariantError, invariant } from 'ts-invariant';\nimport { Observable } from \"../../utilities/index.js\";\nimport { validateOperation, createOperation, transformOperation, } from \"../utils/index.js\";\nfunction passthrough(op, forward) {\n return (forward ? forward(op) : Observable.of());\n}\nfunction toLink(handler) {\n return typeof handler === 'function' ? new ApolloLink(handler) : handler;\n}\nfunction isTerminating(link) {\n return link.request.length <= 1;\n}\nvar LinkError = (function (_super) {\n __extends(LinkError, _super);\n function LinkError(message, link) {\n var _this = _super.call(this, message) || this;\n _this.link = link;\n return _this;\n }\n return LinkError;\n}(Error));\nvar ApolloLink = (function () {\n function ApolloLink(request) {\n if (request)\n this.request = request;\n }\n ApolloLink.empty = function () {\n return new ApolloLink(function () { return Observable.of(); });\n };\n ApolloLink.from = function (links) {\n if (links.length === 0)\n return ApolloLink.empty();\n return links.map(toLink).reduce(function (x, y) { return x.concat(y); });\n };\n ApolloLink.split = function (test, left, right) {\n var leftLink = toLink(left);\n var rightLink = toLink(right || new ApolloLink(passthrough));\n if (isTerminating(leftLink) && isTerminating(rightLink)) {\n return new ApolloLink(function (operation) {\n return test(operation)\n ? leftLink.request(operation) || Observable.of()\n : rightLink.request(operation) || Observable.of();\n });\n }\n else {\n return new ApolloLink(function (operation, forward) {\n return test(operation)\n ? leftLink.request(operation, forward) || Observable.of()\n : rightLink.request(operation, forward) || Observable.of();\n });\n }\n };\n ApolloLink.execute = function (link, operation) {\n return (link.request(createOperation(operation.context, transformOperation(validateOperation(operation)))) || Observable.of());\n };\n ApolloLink.concat = function (first, second) {\n var firstLink = toLink(first);\n if (isTerminating(firstLink)) {\n __DEV__ && invariant.warn(new LinkError(\"You are calling concat on a terminating link, which will have no effect\", firstLink));\n return firstLink;\n }\n var nextLink = toLink(second);\n if (isTerminating(nextLink)) {\n return new ApolloLink(function (operation) {\n return firstLink.request(operation, function (op) { return nextLink.request(op) || Observable.of(); }) || Observable.of();\n });\n }\n else {\n return new ApolloLink(function (operation, forward) {\n return (firstLink.request(operation, function (op) {\n return nextLink.request(op, forward) || Observable.of();\n }) || Observable.of());\n });\n }\n };\n ApolloLink.prototype.split = function (test, left, right) {\n return this.concat(ApolloLink.split(test, left, right || new ApolloLink(passthrough)));\n };\n ApolloLink.prototype.concat = function (next) {\n return ApolloLink.concat(this, next);\n };\n ApolloLink.prototype.request = function (operation, forward) {\n throw __DEV__ ? new InvariantError('request is not implemented') : new InvariantError(21);\n };\n ApolloLink.prototype.onError = function (error, observer) {\n if (observer && observer.error) {\n observer.error(error);\n return false;\n }\n throw error;\n };\n ApolloLink.prototype.setOnError = function (fn) {\n this.onError = fn;\n return this;\n };\n return ApolloLink;\n}());\nexport { ApolloLink };\n//# sourceMappingURL=ApolloLink.js.map","import { __assign } from \"tslib\";\nexport function createOperation(starting, operation) {\n var context = __assign({}, starting);\n var setContext = function (next) {\n if (typeof next === 'function') {\n context = __assign(__assign({}, context), next(context));\n }\n else {\n context = __assign(__assign({}, context), next);\n }\n };\n var getContext = function () { return (__assign({}, context)); };\n Object.defineProperty(operation, 'setContext', {\n enumerable: false,\n value: setContext,\n });\n Object.defineProperty(operation, 'getContext', {\n enumerable: false,\n value: getContext,\n });\n return operation;\n}\n//# sourceMappingURL=createOperation.js.map","import { getOperationName } from \"../../utilities/index.js\";\nexport function transformOperation(operation) {\n var transformedOperation = {\n variables: operation.variables || {},\n extensions: operation.extensions || {},\n operationName: operation.operationName,\n query: operation.query,\n };\n if (!transformedOperation.operationName) {\n transformedOperation.operationName =\n typeof transformedOperation.query !== 'string'\n ? getOperationName(transformedOperation.query) || undefined\n : '';\n }\n return transformedOperation;\n}\n//# sourceMappingURL=transformOperation.js.map","import { InvariantError } from 'ts-invariant';\nexport function validateOperation(operation) {\n var OPERATION_FIELDS = [\n 'query',\n 'operationName',\n 'variables',\n 'extensions',\n 'context',\n ];\n for (var _i = 0, _a = Object.keys(operation); _i < _a.length; _i++) {\n var key = _a[_i];\n if (OPERATION_FIELDS.indexOf(key) < 0) {\n throw __DEV__ ? new InvariantError(\"illegal argument: \" + key) : new InvariantError(26);\n }\n }\n return operation;\n}\n//# sourceMappingURL=validateOperation.js.map","import { ApolloLink } from \"./ApolloLink.js\";\nexport var from = ApolloLink.from;\n//# sourceMappingURL=from.js.map","import { __extends } from \"tslib\";\nimport { ApolloLink } from \"../core/index.js\";\nimport { Observable } from \"../../utilities/index.js\";\nexport function onError(errorHandler) {\n return new ApolloLink(function (operation, forward) {\n return new Observable(function (observer) {\n var sub;\n var retriedSub;\n var retriedResult;\n try {\n sub = forward(operation).subscribe({\n next: function (result) {\n if (result.errors) {\n retriedResult = errorHandler({\n graphQLErrors: result.errors,\n response: result,\n operation: operation,\n forward: forward,\n });\n if (retriedResult) {\n retriedSub = retriedResult.subscribe({\n next: observer.next.bind(observer),\n error: observer.error.bind(observer),\n complete: observer.complete.bind(observer),\n });\n return;\n }\n }\n observer.next(result);\n },\n error: function (networkError) {\n retriedResult = errorHandler({\n operation: operation,\n networkError: networkError,\n graphQLErrors: networkError &&\n networkError.result &&\n networkError.result.errors,\n forward: forward,\n });\n if (retriedResult) {\n retriedSub = retriedResult.subscribe({\n next: observer.next.bind(observer),\n error: observer.error.bind(observer),\n complete: observer.complete.bind(observer),\n });\n return;\n }\n observer.error(networkError);\n },\n complete: function () {\n if (!retriedResult) {\n observer.complete.bind(observer)();\n }\n },\n });\n }\n catch (e) {\n errorHandler({ networkError: e, operation: operation, forward: forward });\n observer.error(e);\n }\n return function () {\n if (sub)\n sub.unsubscribe();\n if (retriedSub)\n sub.unsubscribe();\n };\n });\n });\n}\nvar ErrorLink = (function (_super) {\n __extends(ErrorLink, _super);\n function ErrorLink(errorHandler) {\n var _this = _super.call(this) || this;\n _this.link = onError(errorHandler);\n return _this;\n }\n ErrorLink.prototype.request = function (operation, forward) {\n return this.link.request(operation, forward);\n };\n return ErrorLink;\n}(ApolloLink));\nexport { ErrorLink };\n//# sourceMappingURL=index.js.map","import { InvariantError } from 'ts-invariant';\nexport var serializeFetchParameter = function (p, label) {\n var serialized;\n try {\n serialized = JSON.stringify(p);\n }\n catch (e) {\n var parseError = __DEV__ ? new InvariantError(\"Network request failed. \" + label + \" is not serializable: \" + e.message) : new InvariantError(23);\n parseError.parseError = e;\n throw parseError;\n }\n return serialized;\n};\n//# sourceMappingURL=serializeFetchParameter.js.map","export var throwServerError = function (response, result, message) {\n var error = new Error(message);\n error.name = 'ServerError';\n error.response = response;\n error.statusCode = response.status;\n error.result = result;\n throw error;\n};\n//# sourceMappingURL=throwServerError.js.map","import { throwServerError } from \"../utils/index.js\";\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nexport function parseAndCheckHttpResponse(operations) {\n return function (response) { return response\n .text()\n .then(function (bodyText) {\n try {\n return JSON.parse(bodyText);\n }\n catch (err) {\n var parseError = err;\n parseError.name = 'ServerParseError';\n parseError.response = response;\n parseError.statusCode = response.status;\n parseError.bodyText = bodyText;\n throw parseError;\n }\n })\n .then(function (result) {\n if (response.status >= 300) {\n throwServerError(response, result, \"Response not successful: Received status code \" + response.status);\n }\n if (!Array.isArray(result) &&\n !hasOwnProperty.call(result, 'data') &&\n !hasOwnProperty.call(result, 'errors')) {\n throwServerError(response, result, \"Server response was missing for query '\" + (Array.isArray(operations)\n ? operations.map(function (op) { return op.operationName; })\n : operations.operationName) + \"'.\");\n }\n return result;\n }); };\n}\n//# sourceMappingURL=parseAndCheckHttpResponse.js.map","import { InvariantError } from 'ts-invariant';\nexport var checkFetcher = function (fetcher) {\n if (!fetcher && typeof fetch === 'undefined') {\n throw __DEV__ ? new InvariantError(\"\\n\\\"fetch\\\" has not been found globally and no fetcher has been configured. To fix this, install a fetch package (like https://www.npmjs.com/package/cross-fetch), instantiate the fetcher, and pass it into your HttpLink constructor. For example:\\n\\nimport fetch from 'cross-fetch';\\nimport { ApolloClient, HttpLink } from '@apollo/client';\\nconst client = new ApolloClient({\\n link: new HttpLink({ uri: '/graphql', fetch })\\n});\\n \") : new InvariantError(22);\n }\n};\n//# sourceMappingURL=checkFetcher.js.map","import { __assign } from \"tslib\";\nimport { print } from 'graphql';\nvar defaultHttpOptions = {\n includeQuery: true,\n includeExtensions: false,\n};\nvar defaultHeaders = {\n accept: '*/*',\n 'content-type': 'application/json',\n};\nvar defaultOptions = {\n method: 'POST',\n};\nexport var fallbackHttpConfig = {\n http: defaultHttpOptions,\n headers: defaultHeaders,\n options: defaultOptions,\n};\nexport var selectHttpOptionsAndBody = function (operation, fallbackConfig) {\n var configs = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n configs[_i - 2] = arguments[_i];\n }\n var options = __assign(__assign({}, fallbackConfig.options), { headers: fallbackConfig.headers, credentials: fallbackConfig.credentials });\n var http = fallbackConfig.http || {};\n configs.forEach(function (config) {\n options = __assign(__assign(__assign({}, options), config.options), { headers: __assign(__assign({}, options.headers), headersToLowerCase(config.headers)) });\n if (config.credentials)\n options.credentials = config.credentials;\n http = __assign(__assign({}, http), config.http);\n });\n var operationName = operation.operationName, extensions = operation.extensions, variables = operation.variables, query = operation.query;\n var body = { operationName: operationName, variables: variables };\n if (http.includeExtensions)\n body.extensions = extensions;\n if (http.includeQuery)\n body.query = print(query);\n return {\n options: options,\n body: body,\n };\n};\nfunction headersToLowerCase(headers) {\n if (headers) {\n var normalized_1 = Object.create(null);\n Object.keys(Object(headers)).forEach(function (name) {\n normalized_1[name.toLowerCase()] = headers[name];\n });\n return normalized_1;\n }\n return headers;\n}\n//# sourceMappingURL=selectHttpOptionsAndBody.js.map","import { Observable } from \"../../utilities/index.js\";\nexport function fromError(errorValue) {\n return new Observable(function (observer) {\n observer.error(errorValue);\n });\n}\n//# sourceMappingURL=fromError.js.map","import { __assign, __rest } from \"tslib\";\nimport { visit } from 'graphql';\nimport { ApolloLink } from \"../core/index.js\";\nimport { Observable } from \"../../utilities/index.js\";\nimport { serializeFetchParameter } from \"./serializeFetchParameter.js\";\nimport { selectURI } from \"./selectURI.js\";\nimport { parseAndCheckHttpResponse } from \"./parseAndCheckHttpResponse.js\";\nimport { checkFetcher } from \"./checkFetcher.js\";\nimport { selectHttpOptionsAndBody, fallbackHttpConfig } from \"./selectHttpOptionsAndBody.js\";\nimport { createSignalIfSupported } from \"./createSignalIfSupported.js\";\nimport { rewriteURIForGET } from \"./rewriteURIForGET.js\";\nimport { fromError } from \"../utils/index.js\";\nimport { maybe } from \"../../utilities/index.js\";\nvar backupFetch = maybe(function () { return fetch; });\nexport var createHttpLink = function (linkOptions) {\n if (linkOptions === void 0) { linkOptions = {}; }\n var _a = linkOptions.uri, uri = _a === void 0 ? '/graphql' : _a, preferredFetch = linkOptions.fetch, includeExtensions = linkOptions.includeExtensions, useGETForQueries = linkOptions.useGETForQueries, _b = linkOptions.includeUnusedVariables, includeUnusedVariables = _b === void 0 ? false : _b, requestOptions = __rest(linkOptions, [\"uri\", \"fetch\", \"includeExtensions\", \"useGETForQueries\", \"includeUnusedVariables\"]);\n if (__DEV__) {\n checkFetcher(preferredFetch || backupFetch);\n }\n var linkConfig = {\n http: { includeExtensions: includeExtensions },\n options: requestOptions.fetchOptions,\n credentials: requestOptions.credentials,\n headers: requestOptions.headers,\n };\n return new ApolloLink(function (operation) {\n var chosenURI = selectURI(operation, uri);\n var context = operation.getContext();\n var clientAwarenessHeaders = {};\n if (context.clientAwareness) {\n var _a = context.clientAwareness, name_1 = _a.name, version = _a.version;\n if (name_1) {\n clientAwarenessHeaders['apollographql-client-name'] = name_1;\n }\n if (version) {\n clientAwarenessHeaders['apollographql-client-version'] = version;\n }\n }\n var contextHeaders = __assign(__assign({}, clientAwarenessHeaders), context.headers);\n var contextConfig = {\n http: context.http,\n options: context.fetchOptions,\n credentials: context.credentials,\n headers: contextHeaders,\n };\n var _b = selectHttpOptionsAndBody(operation, fallbackHttpConfig, linkConfig, contextConfig), options = _b.options, body = _b.body;\n if (body.variables && !includeUnusedVariables) {\n var unusedNames_1 = new Set(Object.keys(body.variables));\n visit(operation.query, {\n Variable: function (node, _key, parent) {\n if (parent && parent.kind !== 'VariableDefinition') {\n unusedNames_1.delete(node.name.value);\n }\n },\n });\n if (unusedNames_1.size) {\n body.variables = __assign({}, body.variables);\n unusedNames_1.forEach(function (name) {\n delete body.variables[name];\n });\n }\n }\n var controller;\n if (!options.signal) {\n var _c = createSignalIfSupported(), _controller = _c.controller, signal = _c.signal;\n controller = _controller;\n if (controller)\n options.signal = signal;\n }\n var definitionIsMutation = function (d) {\n return d.kind === 'OperationDefinition' && d.operation === 'mutation';\n };\n if (useGETForQueries &&\n !operation.query.definitions.some(definitionIsMutation)) {\n options.method = 'GET';\n }\n if (options.method === 'GET') {\n var _d = rewriteURIForGET(chosenURI, body), newURI = _d.newURI, parseError = _d.parseError;\n if (parseError) {\n return fromError(parseError);\n }\n chosenURI = newURI;\n }\n else {\n try {\n options.body = serializeFetchParameter(body, 'Payload');\n }\n catch (parseError) {\n return fromError(parseError);\n }\n }\n return new Observable(function (observer) {\n var currentFetch = preferredFetch || maybe(function () { return fetch; }) || backupFetch;\n currentFetch(chosenURI, options)\n .then(function (response) {\n operation.setContext({ response: response });\n return response;\n })\n .then(parseAndCheckHttpResponse(operation))\n .then(function (result) {\n observer.next(result);\n observer.complete();\n return result;\n })\n .catch(function (err) {\n if (err.name === 'AbortError')\n return;\n if (err.result && err.result.errors && err.result.data) {\n observer.next(err.result);\n }\n observer.error(err);\n });\n return function () {\n if (controller)\n controller.abort();\n };\n });\n });\n};\n//# sourceMappingURL=createHttpLink.js.map","export var selectURI = function (operation, fallbackURI) {\n var context = operation.getContext();\n var contextURI = context.uri;\n if (contextURI) {\n return contextURI;\n }\n else if (typeof fallbackURI === 'function') {\n return fallbackURI(operation);\n }\n else {\n return fallbackURI || '/graphql';\n }\n};\n//# sourceMappingURL=selectURI.js.map","export var createSignalIfSupported = function () {\n if (typeof AbortController === 'undefined')\n return { controller: false, signal: false };\n var controller = new AbortController();\n var signal = controller.signal;\n return { controller: controller, signal: signal };\n};\n//# sourceMappingURL=createSignalIfSupported.js.map","import { serializeFetchParameter } from \"./serializeFetchParameter.js\";\nexport function rewriteURIForGET(chosenURI, body) {\n var queryParams = [];\n var addQueryParam = function (key, value) {\n queryParams.push(key + \"=\" + encodeURIComponent(value));\n };\n if ('query' in body) {\n addQueryParam('query', body.query);\n }\n if (body.operationName) {\n addQueryParam('operationName', body.operationName);\n }\n if (body.variables) {\n var serializedVariables = void 0;\n try {\n serializedVariables = serializeFetchParameter(body.variables, 'Variables map');\n }\n catch (parseError) {\n return { parseError: parseError };\n }\n addQueryParam('variables', serializedVariables);\n }\n if (body.extensions) {\n var serializedExtensions = void 0;\n try {\n serializedExtensions = serializeFetchParameter(body.extensions, 'Extensions map');\n }\n catch (parseError) {\n return { parseError: parseError };\n }\n addQueryParam('extensions', serializedExtensions);\n }\n var fragment = '', preFragment = chosenURI;\n var fragmentStart = chosenURI.indexOf('#');\n if (fragmentStart !== -1) {\n fragment = chosenURI.substr(fragmentStart);\n preFragment = chosenURI.substr(0, fragmentStart);\n }\n var queryParamsPrefix = preFragment.indexOf('?') === -1 ? '?' : '&';\n var newURI = preFragment + queryParamsPrefix + queryParams.join('&') + fragment;\n return { newURI: newURI };\n}\n//# sourceMappingURL=rewriteURIForGET.js.map","import { __extends } from \"tslib\";\nimport { ApolloLink } from \"../core/index.js\";\nimport { createHttpLink } from \"./createHttpLink.js\";\nvar HttpLink = (function (_super) {\n __extends(HttpLink, _super);\n function HttpLink(options) {\n if (options === void 0) { options = {}; }\n var _this = _super.call(this, createHttpLink(options).request) || this;\n _this.options = options;\n return _this;\n }\n return HttpLink;\n}(ApolloLink));\nexport { HttpLink };\n//# sourceMappingURL=HttpLink.js.map","import { GraphQLError } from \"./GraphQLError.mjs\";\n/**\n * Produces a GraphQLError representing a syntax error, containing useful\n * descriptive information about the syntax error's position in the source.\n */\n\nexport function syntaxError(source, position, description) {\n return new GraphQLError(\"Syntax Error: \".concat(description), undefined, source, [position]);\n}\n","/**\n * An exported enum describing the different kinds of tokens that the\n * lexer emits.\n */\nexport var TokenKind = Object.freeze({\n SOF: '',\n EOF: '',\n BANG: '!',\n DOLLAR: '$',\n AMP: '&',\n PAREN_L: '(',\n PAREN_R: ')',\n SPREAD: '...',\n COLON: ':',\n EQUALS: '=',\n AT: '@',\n BRACKET_L: '[',\n BRACKET_R: ']',\n BRACE_L: '{',\n PIPE: '|',\n BRACE_R: '}',\n NAME: 'Name',\n INT: 'Int',\n FLOAT: 'Float',\n STRING: 'String',\n BLOCK_STRING: 'BlockString',\n COMMENT: 'Comment'\n});\n/**\n * The enum type representing the token kinds values.\n */\n","function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nimport { SYMBOL_TO_STRING_TAG } from \"../polyfills/symbols.mjs\";\nimport inspect from \"../jsutils/inspect.mjs\";\nimport devAssert from \"../jsutils/devAssert.mjs\";\nimport instanceOf from \"../jsutils/instanceOf.mjs\";\n\n/**\n * A representation of source input to GraphQL. The `name` and `locationOffset` parameters are\n * optional, but they are useful for clients who store GraphQL documents in source files.\n * For example, if the GraphQL input starts at line 40 in a file named `Foo.graphql`, it might\n * be useful for `name` to be `\"Foo.graphql\"` and location to be `{ line: 40, column: 1 }`.\n * The `line` and `column` properties in `locationOffset` are 1-indexed.\n */\nexport var Source = /*#__PURE__*/function () {\n function Source(body) {\n var name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'GraphQL request';\n var locationOffset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {\n line: 1,\n column: 1\n };\n typeof body === 'string' || devAssert(0, \"Body must be a string. Received: \".concat(inspect(body), \".\"));\n this.body = body;\n this.name = name;\n this.locationOffset = locationOffset;\n this.locationOffset.line > 0 || devAssert(0, 'line in locationOffset is 1-indexed and must be positive.');\n this.locationOffset.column > 0 || devAssert(0, 'column in locationOffset is 1-indexed and must be positive.');\n } // $FlowFixMe[unsupported-syntax] Flow doesn't support computed properties yet\n\n\n _createClass(Source, [{\n key: SYMBOL_TO_STRING_TAG,\n get: function get() {\n return 'Source';\n }\n }]);\n\n return Source;\n}();\n/**\n * Test if the given value is a Source object.\n *\n * @internal\n */\n\n// eslint-disable-next-line no-redeclare\nexport function isSource(source) {\n return instanceOf(source, Source);\n}\n","/**\n * The set of allowed directive location values.\n */\nexport var DirectiveLocation = Object.freeze({\n // Request Definitions\n QUERY: 'QUERY',\n MUTATION: 'MUTATION',\n SUBSCRIPTION: 'SUBSCRIPTION',\n FIELD: 'FIELD',\n FRAGMENT_DEFINITION: 'FRAGMENT_DEFINITION',\n FRAGMENT_SPREAD: 'FRAGMENT_SPREAD',\n INLINE_FRAGMENT: 'INLINE_FRAGMENT',\n VARIABLE_DEFINITION: 'VARIABLE_DEFINITION',\n // Type System Definitions\n SCHEMA: 'SCHEMA',\n SCALAR: 'SCALAR',\n OBJECT: 'OBJECT',\n FIELD_DEFINITION: 'FIELD_DEFINITION',\n ARGUMENT_DEFINITION: 'ARGUMENT_DEFINITION',\n INTERFACE: 'INTERFACE',\n UNION: 'UNION',\n ENUM: 'ENUM',\n ENUM_VALUE: 'ENUM_VALUE',\n INPUT_OBJECT: 'INPUT_OBJECT',\n INPUT_FIELD_DEFINITION: 'INPUT_FIELD_DEFINITION'\n});\n/**\n * The enum type representing the directive location values.\n */\n","import { syntaxError } from \"../error/syntaxError.mjs\";\nimport { Token } from \"./ast.mjs\";\nimport { TokenKind } from \"./tokenKind.mjs\";\nimport { dedentBlockStringValue } from \"./blockString.mjs\";\n/**\n * Given a Source object, creates a Lexer for that source.\n * A Lexer is a stateful stream generator in that every time\n * it is advanced, it returns the next token in the Source. Assuming the\n * source lexes, the final Token emitted by the lexer will be of kind\n * EOF, after which the lexer will repeatedly return the same EOF token\n * whenever called.\n */\n\nexport var Lexer = /*#__PURE__*/function () {\n /**\n * The previously focused non-ignored token.\n */\n\n /**\n * The currently focused non-ignored token.\n */\n\n /**\n * The (1-indexed) line containing the current token.\n */\n\n /**\n * The character offset at which the current line begins.\n */\n function Lexer(source) {\n var startOfFileToken = new Token(TokenKind.SOF, 0, 0, 0, 0, null);\n this.source = source;\n this.lastToken = startOfFileToken;\n this.token = startOfFileToken;\n this.line = 1;\n this.lineStart = 0;\n }\n /**\n * Advances the token stream to the next non-ignored token.\n */\n\n\n var _proto = Lexer.prototype;\n\n _proto.advance = function advance() {\n this.lastToken = this.token;\n var token = this.token = this.lookahead();\n return token;\n }\n /**\n * Looks ahead and returns the next non-ignored token, but does not change\n * the state of Lexer.\n */\n ;\n\n _proto.lookahead = function lookahead() {\n var token = this.token;\n\n if (token.kind !== TokenKind.EOF) {\n do {\n var _token$next;\n\n // Note: next is only mutable during parsing, so we cast to allow this.\n token = (_token$next = token.next) !== null && _token$next !== void 0 ? _token$next : token.next = readToken(this, token);\n } while (token.kind === TokenKind.COMMENT);\n }\n\n return token;\n };\n\n return Lexer;\n}();\n/**\n * @internal\n */\n\nexport function isPunctuatorTokenKind(kind) {\n return kind === TokenKind.BANG || kind === TokenKind.DOLLAR || kind === TokenKind.AMP || kind === TokenKind.PAREN_L || kind === TokenKind.PAREN_R || kind === TokenKind.SPREAD || kind === TokenKind.COLON || kind === TokenKind.EQUALS || kind === TokenKind.AT || kind === TokenKind.BRACKET_L || kind === TokenKind.BRACKET_R || kind === TokenKind.BRACE_L || kind === TokenKind.PIPE || kind === TokenKind.BRACE_R;\n}\n\nfunction printCharCode(code) {\n return (// NaN/undefined represents access beyond the end of the file.\n isNaN(code) ? TokenKind.EOF : // Trust JSON for ASCII.\n code < 0x007f ? JSON.stringify(String.fromCharCode(code)) : // Otherwise print the escaped form.\n \"\\\"\\\\u\".concat(('00' + code.toString(16).toUpperCase()).slice(-4), \"\\\"\")\n );\n}\n/**\n * Gets the next token from the source starting at the given position.\n *\n * This skips over whitespace until it finds the next lexable token, then lexes\n * punctuators immediately or calls the appropriate helper function for more\n * complicated tokens.\n */\n\n\nfunction readToken(lexer, prev) {\n var source = lexer.source;\n var body = source.body;\n var bodyLength = body.length;\n var pos = prev.end;\n\n while (pos < bodyLength) {\n var code = body.charCodeAt(pos);\n var _line = lexer.line;\n\n var _col = 1 + pos - lexer.lineStart; // SourceCharacter\n\n\n switch (code) {\n case 0xfeff: // \n\n case 9: // \\t\n\n case 32: // \n\n case 44:\n // ,\n ++pos;\n continue;\n\n case 10:\n // \\n\n ++pos;\n ++lexer.line;\n lexer.lineStart = pos;\n continue;\n\n case 13:\n // \\r\n if (body.charCodeAt(pos + 1) === 10) {\n pos += 2;\n } else {\n ++pos;\n }\n\n ++lexer.line;\n lexer.lineStart = pos;\n continue;\n\n case 33:\n // !\n return new Token(TokenKind.BANG, pos, pos + 1, _line, _col, prev);\n\n case 35:\n // #\n return readComment(source, pos, _line, _col, prev);\n\n case 36:\n // $\n return new Token(TokenKind.DOLLAR, pos, pos + 1, _line, _col, prev);\n\n case 38:\n // &\n return new Token(TokenKind.AMP, pos, pos + 1, _line, _col, prev);\n\n case 40:\n // (\n return new Token(TokenKind.PAREN_L, pos, pos + 1, _line, _col, prev);\n\n case 41:\n // )\n return new Token(TokenKind.PAREN_R, pos, pos + 1, _line, _col, prev);\n\n case 46:\n // .\n if (body.charCodeAt(pos + 1) === 46 && body.charCodeAt(pos + 2) === 46) {\n return new Token(TokenKind.SPREAD, pos, pos + 3, _line, _col, prev);\n }\n\n break;\n\n case 58:\n // :\n return new Token(TokenKind.COLON, pos, pos + 1, _line, _col, prev);\n\n case 61:\n // =\n return new Token(TokenKind.EQUALS, pos, pos + 1, _line, _col, prev);\n\n case 64:\n // @\n return new Token(TokenKind.AT, pos, pos + 1, _line, _col, prev);\n\n case 91:\n // [\n return new Token(TokenKind.BRACKET_L, pos, pos + 1, _line, _col, prev);\n\n case 93:\n // ]\n return new Token(TokenKind.BRACKET_R, pos, pos + 1, _line, _col, prev);\n\n case 123:\n // {\n return new Token(TokenKind.BRACE_L, pos, pos + 1, _line, _col, prev);\n\n case 124:\n // |\n return new Token(TokenKind.PIPE, pos, pos + 1, _line, _col, prev);\n\n case 125:\n // }\n return new Token(TokenKind.BRACE_R, pos, pos + 1, _line, _col, prev);\n\n case 34:\n // \"\n if (body.charCodeAt(pos + 1) === 34 && body.charCodeAt(pos + 2) === 34) {\n return readBlockString(source, pos, _line, _col, prev, lexer);\n }\n\n return readString(source, pos, _line, _col, prev);\n\n case 45: // -\n\n case 48: // 0\n\n case 49: // 1\n\n case 50: // 2\n\n case 51: // 3\n\n case 52: // 4\n\n case 53: // 5\n\n case 54: // 6\n\n case 55: // 7\n\n case 56: // 8\n\n case 57:\n // 9\n return readNumber(source, pos, code, _line, _col, prev);\n\n case 65: // A\n\n case 66: // B\n\n case 67: // C\n\n case 68: // D\n\n case 69: // E\n\n case 70: // F\n\n case 71: // G\n\n case 72: // H\n\n case 73: // I\n\n case 74: // J\n\n case 75: // K\n\n case 76: // L\n\n case 77: // M\n\n case 78: // N\n\n case 79: // O\n\n case 80: // P\n\n case 81: // Q\n\n case 82: // R\n\n case 83: // S\n\n case 84: // T\n\n case 85: // U\n\n case 86: // V\n\n case 87: // W\n\n case 88: // X\n\n case 89: // Y\n\n case 90: // Z\n\n case 95: // _\n\n case 97: // a\n\n case 98: // b\n\n case 99: // c\n\n case 100: // d\n\n case 101: // e\n\n case 102: // f\n\n case 103: // g\n\n case 104: // h\n\n case 105: // i\n\n case 106: // j\n\n case 107: // k\n\n case 108: // l\n\n case 109: // m\n\n case 110: // n\n\n case 111: // o\n\n case 112: // p\n\n case 113: // q\n\n case 114: // r\n\n case 115: // s\n\n case 116: // t\n\n case 117: // u\n\n case 118: // v\n\n case 119: // w\n\n case 120: // x\n\n case 121: // y\n\n case 122:\n // z\n return readName(source, pos, _line, _col, prev);\n }\n\n throw syntaxError(source, pos, unexpectedCharacterMessage(code));\n }\n\n var line = lexer.line;\n var col = 1 + pos - lexer.lineStart;\n return new Token(TokenKind.EOF, bodyLength, bodyLength, line, col, prev);\n}\n/**\n * Report a message that an unexpected character was encountered.\n */\n\n\nfunction unexpectedCharacterMessage(code) {\n if (code < 0x0020 && code !== 0x0009 && code !== 0x000a && code !== 0x000d) {\n return \"Cannot contain the invalid character \".concat(printCharCode(code), \".\");\n }\n\n if (code === 39) {\n // '\n return 'Unexpected single quote character (\\'), did you mean to use a double quote (\")?';\n }\n\n return \"Cannot parse the unexpected character \".concat(printCharCode(code), \".\");\n}\n/**\n * Reads a comment token from the source file.\n *\n * #[\\u0009\\u0020-\\uFFFF]*\n */\n\n\nfunction readComment(source, start, line, col, prev) {\n var body = source.body;\n var code;\n var position = start;\n\n do {\n code = body.charCodeAt(++position);\n } while (!isNaN(code) && ( // SourceCharacter but not LineTerminator\n code > 0x001f || code === 0x0009));\n\n return new Token(TokenKind.COMMENT, start, position, line, col, prev, body.slice(start + 1, position));\n}\n/**\n * Reads a number token from the source file, either a float\n * or an int depending on whether a decimal point appears.\n *\n * Int: -?(0|[1-9][0-9]*)\n * Float: -?(0|[1-9][0-9]*)(\\.[0-9]+)?((E|e)(+|-)?[0-9]+)?\n */\n\n\nfunction readNumber(source, start, firstCode, line, col, prev) {\n var body = source.body;\n var code = firstCode;\n var position = start;\n var isFloat = false;\n\n if (code === 45) {\n // -\n code = body.charCodeAt(++position);\n }\n\n if (code === 48) {\n // 0\n code = body.charCodeAt(++position);\n\n if (code >= 48 && code <= 57) {\n throw syntaxError(source, position, \"Invalid number, unexpected digit after 0: \".concat(printCharCode(code), \".\"));\n }\n } else {\n position = readDigits(source, position, code);\n code = body.charCodeAt(position);\n }\n\n if (code === 46) {\n // .\n isFloat = true;\n code = body.charCodeAt(++position);\n position = readDigits(source, position, code);\n code = body.charCodeAt(position);\n }\n\n if (code === 69 || code === 101) {\n // E e\n isFloat = true;\n code = body.charCodeAt(++position);\n\n if (code === 43 || code === 45) {\n // + -\n code = body.charCodeAt(++position);\n }\n\n position = readDigits(source, position, code);\n code = body.charCodeAt(position);\n } // Numbers cannot be followed by . or NameStart\n\n\n if (code === 46 || isNameStart(code)) {\n throw syntaxError(source, position, \"Invalid number, expected digit but got: \".concat(printCharCode(code), \".\"));\n }\n\n return new Token(isFloat ? TokenKind.FLOAT : TokenKind.INT, start, position, line, col, prev, body.slice(start, position));\n}\n/**\n * Returns the new position in the source after reading digits.\n */\n\n\nfunction readDigits(source, start, firstCode) {\n var body = source.body;\n var position = start;\n var code = firstCode;\n\n if (code >= 48 && code <= 57) {\n // 0 - 9\n do {\n code = body.charCodeAt(++position);\n } while (code >= 48 && code <= 57); // 0 - 9\n\n\n return position;\n }\n\n throw syntaxError(source, position, \"Invalid number, expected digit but got: \".concat(printCharCode(code), \".\"));\n}\n/**\n * Reads a string token from the source file.\n *\n * \"([^\"\\\\\\u000A\\u000D]|(\\\\(u[0-9a-fA-F]{4}|[\"\\\\/bfnrt])))*\"\n */\n\n\nfunction readString(source, start, line, col, prev) {\n var body = source.body;\n var position = start + 1;\n var chunkStart = position;\n var code = 0;\n var value = '';\n\n while (position < body.length && !isNaN(code = body.charCodeAt(position)) && // not LineTerminator\n code !== 0x000a && code !== 0x000d) {\n // Closing Quote (\")\n if (code === 34) {\n value += body.slice(chunkStart, position);\n return new Token(TokenKind.STRING, start, position + 1, line, col, prev, value);\n } // SourceCharacter\n\n\n if (code < 0x0020 && code !== 0x0009) {\n throw syntaxError(source, position, \"Invalid character within String: \".concat(printCharCode(code), \".\"));\n }\n\n ++position;\n\n if (code === 92) {\n // \\\n value += body.slice(chunkStart, position - 1);\n code = body.charCodeAt(position);\n\n switch (code) {\n case 34:\n value += '\"';\n break;\n\n case 47:\n value += '/';\n break;\n\n case 92:\n value += '\\\\';\n break;\n\n case 98:\n value += '\\b';\n break;\n\n case 102:\n value += '\\f';\n break;\n\n case 110:\n value += '\\n';\n break;\n\n case 114:\n value += '\\r';\n break;\n\n case 116:\n value += '\\t';\n break;\n\n case 117:\n {\n // uXXXX\n var charCode = uniCharCode(body.charCodeAt(position + 1), body.charCodeAt(position + 2), body.charCodeAt(position + 3), body.charCodeAt(position + 4));\n\n if (charCode < 0) {\n var invalidSequence = body.slice(position + 1, position + 5);\n throw syntaxError(source, position, \"Invalid character escape sequence: \\\\u\".concat(invalidSequence, \".\"));\n }\n\n value += String.fromCharCode(charCode);\n position += 4;\n break;\n }\n\n default:\n throw syntaxError(source, position, \"Invalid character escape sequence: \\\\\".concat(String.fromCharCode(code), \".\"));\n }\n\n ++position;\n chunkStart = position;\n }\n }\n\n throw syntaxError(source, position, 'Unterminated string.');\n}\n/**\n * Reads a block string token from the source file.\n *\n * \"\"\"(\"?\"?(\\\\\"\"\"|\\\\(?!=\"\"\")|[^\"\\\\]))*\"\"\"\n */\n\n\nfunction readBlockString(source, start, line, col, prev, lexer) {\n var body = source.body;\n var position = start + 3;\n var chunkStart = position;\n var code = 0;\n var rawValue = '';\n\n while (position < body.length && !isNaN(code = body.charCodeAt(position))) {\n // Closing Triple-Quote (\"\"\")\n if (code === 34 && body.charCodeAt(position + 1) === 34 && body.charCodeAt(position + 2) === 34) {\n rawValue += body.slice(chunkStart, position);\n return new Token(TokenKind.BLOCK_STRING, start, position + 3, line, col, prev, dedentBlockStringValue(rawValue));\n } // SourceCharacter\n\n\n if (code < 0x0020 && code !== 0x0009 && code !== 0x000a && code !== 0x000d) {\n throw syntaxError(source, position, \"Invalid character within String: \".concat(printCharCode(code), \".\"));\n }\n\n if (code === 10) {\n // new line\n ++position;\n ++lexer.line;\n lexer.lineStart = position;\n } else if (code === 13) {\n // carriage return\n if (body.charCodeAt(position + 1) === 10) {\n position += 2;\n } else {\n ++position;\n }\n\n ++lexer.line;\n lexer.lineStart = position;\n } else if ( // Escape Triple-Quote (\\\"\"\")\n code === 92 && body.charCodeAt(position + 1) === 34 && body.charCodeAt(position + 2) === 34 && body.charCodeAt(position + 3) === 34) {\n rawValue += body.slice(chunkStart, position) + '\"\"\"';\n position += 4;\n chunkStart = position;\n } else {\n ++position;\n }\n }\n\n throw syntaxError(source, position, 'Unterminated string.');\n}\n/**\n * Converts four hexadecimal chars to the integer that the\n * string represents. For example, uniCharCode('0','0','0','f')\n * will return 15, and uniCharCode('0','0','f','f') returns 255.\n *\n * Returns a negative number on error, if a char was invalid.\n *\n * This is implemented by noting that char2hex() returns -1 on error,\n * which means the result of ORing the char2hex() will also be negative.\n */\n\n\nfunction uniCharCode(a, b, c, d) {\n return char2hex(a) << 12 | char2hex(b) << 8 | char2hex(c) << 4 | char2hex(d);\n}\n/**\n * Converts a hex character to its integer value.\n * '0' becomes 0, '9' becomes 9\n * 'A' becomes 10, 'F' becomes 15\n * 'a' becomes 10, 'f' becomes 15\n *\n * Returns -1 on error.\n */\n\n\nfunction char2hex(a) {\n return a >= 48 && a <= 57 ? a - 48 // 0-9\n : a >= 65 && a <= 70 ? a - 55 // A-F\n : a >= 97 && a <= 102 ? a - 87 // a-f\n : -1;\n}\n/**\n * Reads an alphanumeric + underscore name from the source.\n *\n * [_A-Za-z][_0-9A-Za-z]*\n */\n\n\nfunction readName(source, start, line, col, prev) {\n var body = source.body;\n var bodyLength = body.length;\n var position = start + 1;\n var code = 0;\n\n while (position !== bodyLength && !isNaN(code = body.charCodeAt(position)) && (code === 95 || // _\n code >= 48 && code <= 57 || // 0-9\n code >= 65 && code <= 90 || // A-Z\n code >= 97 && code <= 122) // a-z\n ) {\n ++position;\n }\n\n return new Token(TokenKind.NAME, start, position, line, col, prev, body.slice(start, position));\n} // _ A-Z a-z\n\n\nfunction isNameStart(code) {\n return code === 95 || code >= 65 && code <= 90 || code >= 97 && code <= 122;\n}\n","import { syntaxError } from \"../error/syntaxError.mjs\";\nimport { Kind } from \"./kinds.mjs\";\nimport { Location } from \"./ast.mjs\";\nimport { TokenKind } from \"./tokenKind.mjs\";\nimport { Source, isSource } from \"./source.mjs\";\nimport { DirectiveLocation } from \"./directiveLocation.mjs\";\nimport { Lexer, isPunctuatorTokenKind } from \"./lexer.mjs\";\n/**\n * Configuration options to control parser behavior\n */\n\n/**\n * Given a GraphQL source, parses it into a Document.\n * Throws GraphQLError if a syntax error is encountered.\n */\nexport function parse(source, options) {\n var parser = new Parser(source, options);\n return parser.parseDocument();\n}\n/**\n * Given a string containing a GraphQL value (ex. `[42]`), parse the AST for\n * that value.\n * Throws GraphQLError if a syntax error is encountered.\n *\n * This is useful within tools that operate upon GraphQL Values directly and\n * in isolation of complete GraphQL documents.\n *\n * Consider providing the results to the utility function: valueFromAST().\n */\n\nexport function parseValue(source, options) {\n var parser = new Parser(source, options);\n parser.expectToken(TokenKind.SOF);\n var value = parser.parseValueLiteral(false);\n parser.expectToken(TokenKind.EOF);\n return value;\n}\n/**\n * Given a string containing a GraphQL Type (ex. `[Int!]`), parse the AST for\n * that type.\n * Throws GraphQLError if a syntax error is encountered.\n *\n * This is useful within tools that operate upon GraphQL Types directly and\n * in isolation of complete GraphQL documents.\n *\n * Consider providing the results to the utility function: typeFromAST().\n */\n\nexport function parseType(source, options) {\n var parser = new Parser(source, options);\n parser.expectToken(TokenKind.SOF);\n var type = parser.parseTypeReference();\n parser.expectToken(TokenKind.EOF);\n return type;\n}\n/**\n * This class is exported only to assist people in implementing their own parsers\n * without duplicating too much code and should be used only as last resort for cases\n * such as experimental syntax or if certain features could not be contributed upstream.\n *\n * It is still part of the internal API and is versioned, so any changes to it are never\n * considered breaking changes. If you still need to support multiple versions of the\n * library, please use the `versionInfo` variable for version detection.\n *\n * @internal\n */\n\nexport var Parser = /*#__PURE__*/function () {\n function Parser(source, options) {\n var sourceObj = isSource(source) ? source : new Source(source);\n this._lexer = new Lexer(sourceObj);\n this._options = options;\n }\n /**\n * Converts a name lex token into a name parse node.\n */\n\n\n var _proto = Parser.prototype;\n\n _proto.parseName = function parseName() {\n var token = this.expectToken(TokenKind.NAME);\n return {\n kind: Kind.NAME,\n value: token.value,\n loc: this.loc(token)\n };\n } // Implements the parsing rules in the Document section.\n\n /**\n * Document : Definition+\n */\n ;\n\n _proto.parseDocument = function parseDocument() {\n var start = this._lexer.token;\n return {\n kind: Kind.DOCUMENT,\n definitions: this.many(TokenKind.SOF, this.parseDefinition, TokenKind.EOF),\n loc: this.loc(start)\n };\n }\n /**\n * Definition :\n * - ExecutableDefinition\n * - TypeSystemDefinition\n * - TypeSystemExtension\n *\n * ExecutableDefinition :\n * - OperationDefinition\n * - FragmentDefinition\n */\n ;\n\n _proto.parseDefinition = function parseDefinition() {\n if (this.peek(TokenKind.NAME)) {\n switch (this._lexer.token.value) {\n case 'query':\n case 'mutation':\n case 'subscription':\n return this.parseOperationDefinition();\n\n case 'fragment':\n return this.parseFragmentDefinition();\n\n case 'schema':\n case 'scalar':\n case 'type':\n case 'interface':\n case 'union':\n case 'enum':\n case 'input':\n case 'directive':\n return this.parseTypeSystemDefinition();\n\n case 'extend':\n return this.parseTypeSystemExtension();\n }\n } else if (this.peek(TokenKind.BRACE_L)) {\n return this.parseOperationDefinition();\n } else if (this.peekDescription()) {\n return this.parseTypeSystemDefinition();\n }\n\n throw this.unexpected();\n } // Implements the parsing rules in the Operations section.\n\n /**\n * OperationDefinition :\n * - SelectionSet\n * - OperationType Name? VariableDefinitions? Directives? SelectionSet\n */\n ;\n\n _proto.parseOperationDefinition = function parseOperationDefinition() {\n var start = this._lexer.token;\n\n if (this.peek(TokenKind.BRACE_L)) {\n return {\n kind: Kind.OPERATION_DEFINITION,\n operation: 'query',\n name: undefined,\n variableDefinitions: [],\n directives: [],\n selectionSet: this.parseSelectionSet(),\n loc: this.loc(start)\n };\n }\n\n var operation = this.parseOperationType();\n var name;\n\n if (this.peek(TokenKind.NAME)) {\n name = this.parseName();\n }\n\n return {\n kind: Kind.OPERATION_DEFINITION,\n operation: operation,\n name: name,\n variableDefinitions: this.parseVariableDefinitions(),\n directives: this.parseDirectives(false),\n selectionSet: this.parseSelectionSet(),\n loc: this.loc(start)\n };\n }\n /**\n * OperationType : one of query mutation subscription\n */\n ;\n\n _proto.parseOperationType = function parseOperationType() {\n var operationToken = this.expectToken(TokenKind.NAME);\n\n switch (operationToken.value) {\n case 'query':\n return 'query';\n\n case 'mutation':\n return 'mutation';\n\n case 'subscription':\n return 'subscription';\n }\n\n throw this.unexpected(operationToken);\n }\n /**\n * VariableDefinitions : ( VariableDefinition+ )\n */\n ;\n\n _proto.parseVariableDefinitions = function parseVariableDefinitions() {\n return this.optionalMany(TokenKind.PAREN_L, this.parseVariableDefinition, TokenKind.PAREN_R);\n }\n /**\n * VariableDefinition : Variable : Type DefaultValue? Directives[Const]?\n */\n ;\n\n _proto.parseVariableDefinition = function parseVariableDefinition() {\n var start = this._lexer.token;\n return {\n kind: Kind.VARIABLE_DEFINITION,\n variable: this.parseVariable(),\n type: (this.expectToken(TokenKind.COLON), this.parseTypeReference()),\n defaultValue: this.expectOptionalToken(TokenKind.EQUALS) ? this.parseValueLiteral(true) : undefined,\n directives: this.parseDirectives(true),\n loc: this.loc(start)\n };\n }\n /**\n * Variable : $ Name\n */\n ;\n\n _proto.parseVariable = function parseVariable() {\n var start = this._lexer.token;\n this.expectToken(TokenKind.DOLLAR);\n return {\n kind: Kind.VARIABLE,\n name: this.parseName(),\n loc: this.loc(start)\n };\n }\n /**\n * SelectionSet : { Selection+ }\n */\n ;\n\n _proto.parseSelectionSet = function parseSelectionSet() {\n var start = this._lexer.token;\n return {\n kind: Kind.SELECTION_SET,\n selections: this.many(TokenKind.BRACE_L, this.parseSelection, TokenKind.BRACE_R),\n loc: this.loc(start)\n };\n }\n /**\n * Selection :\n * - Field\n * - FragmentSpread\n * - InlineFragment\n */\n ;\n\n _proto.parseSelection = function parseSelection() {\n return this.peek(TokenKind.SPREAD) ? this.parseFragment() : this.parseField();\n }\n /**\n * Field : Alias? Name Arguments? Directives? SelectionSet?\n *\n * Alias : Name :\n */\n ;\n\n _proto.parseField = function parseField() {\n var start = this._lexer.token;\n var nameOrAlias = this.parseName();\n var alias;\n var name;\n\n if (this.expectOptionalToken(TokenKind.COLON)) {\n alias = nameOrAlias;\n name = this.parseName();\n } else {\n name = nameOrAlias;\n }\n\n return {\n kind: Kind.FIELD,\n alias: alias,\n name: name,\n arguments: this.parseArguments(false),\n directives: this.parseDirectives(false),\n selectionSet: this.peek(TokenKind.BRACE_L) ? this.parseSelectionSet() : undefined,\n loc: this.loc(start)\n };\n }\n /**\n * Arguments[Const] : ( Argument[?Const]+ )\n */\n ;\n\n _proto.parseArguments = function parseArguments(isConst) {\n var item = isConst ? this.parseConstArgument : this.parseArgument;\n return this.optionalMany(TokenKind.PAREN_L, item, TokenKind.PAREN_R);\n }\n /**\n * Argument[Const] : Name : Value[?Const]\n */\n ;\n\n _proto.parseArgument = function parseArgument() {\n var start = this._lexer.token;\n var name = this.parseName();\n this.expectToken(TokenKind.COLON);\n return {\n kind: Kind.ARGUMENT,\n name: name,\n value: this.parseValueLiteral(false),\n loc: this.loc(start)\n };\n };\n\n _proto.parseConstArgument = function parseConstArgument() {\n var start = this._lexer.token;\n return {\n kind: Kind.ARGUMENT,\n name: this.parseName(),\n value: (this.expectToken(TokenKind.COLON), this.parseValueLiteral(true)),\n loc: this.loc(start)\n };\n } // Implements the parsing rules in the Fragments section.\n\n /**\n * Corresponds to both FragmentSpread and InlineFragment in the spec.\n *\n * FragmentSpread : ... FragmentName Directives?\n *\n * InlineFragment : ... TypeCondition? Directives? SelectionSet\n */\n ;\n\n _proto.parseFragment = function parseFragment() {\n var start = this._lexer.token;\n this.expectToken(TokenKind.SPREAD);\n var hasTypeCondition = this.expectOptionalKeyword('on');\n\n if (!hasTypeCondition && this.peek(TokenKind.NAME)) {\n return {\n kind: Kind.FRAGMENT_SPREAD,\n name: this.parseFragmentName(),\n directives: this.parseDirectives(false),\n loc: this.loc(start)\n };\n }\n\n return {\n kind: Kind.INLINE_FRAGMENT,\n typeCondition: hasTypeCondition ? this.parseNamedType() : undefined,\n directives: this.parseDirectives(false),\n selectionSet: this.parseSelectionSet(),\n loc: this.loc(start)\n };\n }\n /**\n * FragmentDefinition :\n * - fragment FragmentName on TypeCondition Directives? SelectionSet\n *\n * TypeCondition : NamedType\n */\n ;\n\n _proto.parseFragmentDefinition = function parseFragmentDefinition() {\n var _this$_options;\n\n var start = this._lexer.token;\n this.expectKeyword('fragment'); // Experimental support for defining variables within fragments changes\n // the grammar of FragmentDefinition:\n // - fragment FragmentName VariableDefinitions? on TypeCondition Directives? SelectionSet\n\n if (((_this$_options = this._options) === null || _this$_options === void 0 ? void 0 : _this$_options.experimentalFragmentVariables) === true) {\n return {\n kind: Kind.FRAGMENT_DEFINITION,\n name: this.parseFragmentName(),\n variableDefinitions: this.parseVariableDefinitions(),\n typeCondition: (this.expectKeyword('on'), this.parseNamedType()),\n directives: this.parseDirectives(false),\n selectionSet: this.parseSelectionSet(),\n loc: this.loc(start)\n };\n }\n\n return {\n kind: Kind.FRAGMENT_DEFINITION,\n name: this.parseFragmentName(),\n typeCondition: (this.expectKeyword('on'), this.parseNamedType()),\n directives: this.parseDirectives(false),\n selectionSet: this.parseSelectionSet(),\n loc: this.loc(start)\n };\n }\n /**\n * FragmentName : Name but not `on`\n */\n ;\n\n _proto.parseFragmentName = function parseFragmentName() {\n if (this._lexer.token.value === 'on') {\n throw this.unexpected();\n }\n\n return this.parseName();\n } // Implements the parsing rules in the Values section.\n\n /**\n * Value[Const] :\n * - [~Const] Variable\n * - IntValue\n * - FloatValue\n * - StringValue\n * - BooleanValue\n * - NullValue\n * - EnumValue\n * - ListValue[?Const]\n * - ObjectValue[?Const]\n *\n * BooleanValue : one of `true` `false`\n *\n * NullValue : `null`\n *\n * EnumValue : Name but not `true`, `false` or `null`\n */\n ;\n\n _proto.parseValueLiteral = function parseValueLiteral(isConst) {\n var token = this._lexer.token;\n\n switch (token.kind) {\n case TokenKind.BRACKET_L:\n return this.parseList(isConst);\n\n case TokenKind.BRACE_L:\n return this.parseObject(isConst);\n\n case TokenKind.INT:\n this._lexer.advance();\n\n return {\n kind: Kind.INT,\n value: token.value,\n loc: this.loc(token)\n };\n\n case TokenKind.FLOAT:\n this._lexer.advance();\n\n return {\n kind: Kind.FLOAT,\n value: token.value,\n loc: this.loc(token)\n };\n\n case TokenKind.STRING:\n case TokenKind.BLOCK_STRING:\n return this.parseStringLiteral();\n\n case TokenKind.NAME:\n this._lexer.advance();\n\n switch (token.value) {\n case 'true':\n return {\n kind: Kind.BOOLEAN,\n value: true,\n loc: this.loc(token)\n };\n\n case 'false':\n return {\n kind: Kind.BOOLEAN,\n value: false,\n loc: this.loc(token)\n };\n\n case 'null':\n return {\n kind: Kind.NULL,\n loc: this.loc(token)\n };\n\n default:\n return {\n kind: Kind.ENUM,\n value: token.value,\n loc: this.loc(token)\n };\n }\n\n case TokenKind.DOLLAR:\n if (!isConst) {\n return this.parseVariable();\n }\n\n break;\n }\n\n throw this.unexpected();\n };\n\n _proto.parseStringLiteral = function parseStringLiteral() {\n var token = this._lexer.token;\n\n this._lexer.advance();\n\n return {\n kind: Kind.STRING,\n value: token.value,\n block: token.kind === TokenKind.BLOCK_STRING,\n loc: this.loc(token)\n };\n }\n /**\n * ListValue[Const] :\n * - [ ]\n * - [ Value[?Const]+ ]\n */\n ;\n\n _proto.parseList = function parseList(isConst) {\n var _this = this;\n\n var start = this._lexer.token;\n\n var item = function item() {\n return _this.parseValueLiteral(isConst);\n };\n\n return {\n kind: Kind.LIST,\n values: this.any(TokenKind.BRACKET_L, item, TokenKind.BRACKET_R),\n loc: this.loc(start)\n };\n }\n /**\n * ObjectValue[Const] :\n * - { }\n * - { ObjectField[?Const]+ }\n */\n ;\n\n _proto.parseObject = function parseObject(isConst) {\n var _this2 = this;\n\n var start = this._lexer.token;\n\n var item = function item() {\n return _this2.parseObjectField(isConst);\n };\n\n return {\n kind: Kind.OBJECT,\n fields: this.any(TokenKind.BRACE_L, item, TokenKind.BRACE_R),\n loc: this.loc(start)\n };\n }\n /**\n * ObjectField[Const] : Name : Value[?Const]\n */\n ;\n\n _proto.parseObjectField = function parseObjectField(isConst) {\n var start = this._lexer.token;\n var name = this.parseName();\n this.expectToken(TokenKind.COLON);\n return {\n kind: Kind.OBJECT_FIELD,\n name: name,\n value: this.parseValueLiteral(isConst),\n loc: this.loc(start)\n };\n } // Implements the parsing rules in the Directives section.\n\n /**\n * Directives[Const] : Directive[?Const]+\n */\n ;\n\n _proto.parseDirectives = function parseDirectives(isConst) {\n var directives = [];\n\n while (this.peek(TokenKind.AT)) {\n directives.push(this.parseDirective(isConst));\n }\n\n return directives;\n }\n /**\n * Directive[Const] : @ Name Arguments[?Const]?\n */\n ;\n\n _proto.parseDirective = function parseDirective(isConst) {\n var start = this._lexer.token;\n this.expectToken(TokenKind.AT);\n return {\n kind: Kind.DIRECTIVE,\n name: this.parseName(),\n arguments: this.parseArguments(isConst),\n loc: this.loc(start)\n };\n } // Implements the parsing rules in the Types section.\n\n /**\n * Type :\n * - NamedType\n * - ListType\n * - NonNullType\n */\n ;\n\n _proto.parseTypeReference = function parseTypeReference() {\n var start = this._lexer.token;\n var type;\n\n if (this.expectOptionalToken(TokenKind.BRACKET_L)) {\n type = this.parseTypeReference();\n this.expectToken(TokenKind.BRACKET_R);\n type = {\n kind: Kind.LIST_TYPE,\n type: type,\n loc: this.loc(start)\n };\n } else {\n type = this.parseNamedType();\n }\n\n if (this.expectOptionalToken(TokenKind.BANG)) {\n return {\n kind: Kind.NON_NULL_TYPE,\n type: type,\n loc: this.loc(start)\n };\n }\n\n return type;\n }\n /**\n * NamedType : Name\n */\n ;\n\n _proto.parseNamedType = function parseNamedType() {\n var start = this._lexer.token;\n return {\n kind: Kind.NAMED_TYPE,\n name: this.parseName(),\n loc: this.loc(start)\n };\n } // Implements the parsing rules in the Type Definition section.\n\n /**\n * TypeSystemDefinition :\n * - SchemaDefinition\n * - TypeDefinition\n * - DirectiveDefinition\n *\n * TypeDefinition :\n * - ScalarTypeDefinition\n * - ObjectTypeDefinition\n * - InterfaceTypeDefinition\n * - UnionTypeDefinition\n * - EnumTypeDefinition\n * - InputObjectTypeDefinition\n */\n ;\n\n _proto.parseTypeSystemDefinition = function parseTypeSystemDefinition() {\n // Many definitions begin with a description and require a lookahead.\n var keywordToken = this.peekDescription() ? this._lexer.lookahead() : this._lexer.token;\n\n if (keywordToken.kind === TokenKind.NAME) {\n switch (keywordToken.value) {\n case 'schema':\n return this.parseSchemaDefinition();\n\n case 'scalar':\n return this.parseScalarTypeDefinition();\n\n case 'type':\n return this.parseObjectTypeDefinition();\n\n case 'interface':\n return this.parseInterfaceTypeDefinition();\n\n case 'union':\n return this.parseUnionTypeDefinition();\n\n case 'enum':\n return this.parseEnumTypeDefinition();\n\n case 'input':\n return this.parseInputObjectTypeDefinition();\n\n case 'directive':\n return this.parseDirectiveDefinition();\n }\n }\n\n throw this.unexpected(keywordToken);\n };\n\n _proto.peekDescription = function peekDescription() {\n return this.peek(TokenKind.STRING) || this.peek(TokenKind.BLOCK_STRING);\n }\n /**\n * Description : StringValue\n */\n ;\n\n _proto.parseDescription = function parseDescription() {\n if (this.peekDescription()) {\n return this.parseStringLiteral();\n }\n }\n /**\n * SchemaDefinition : Description? schema Directives[Const]? { OperationTypeDefinition+ }\n */\n ;\n\n _proto.parseSchemaDefinition = function parseSchemaDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('schema');\n var directives = this.parseDirectives(true);\n var operationTypes = this.many(TokenKind.BRACE_L, this.parseOperationTypeDefinition, TokenKind.BRACE_R);\n return {\n kind: Kind.SCHEMA_DEFINITION,\n description: description,\n directives: directives,\n operationTypes: operationTypes,\n loc: this.loc(start)\n };\n }\n /**\n * OperationTypeDefinition : OperationType : NamedType\n */\n ;\n\n _proto.parseOperationTypeDefinition = function parseOperationTypeDefinition() {\n var start = this._lexer.token;\n var operation = this.parseOperationType();\n this.expectToken(TokenKind.COLON);\n var type = this.parseNamedType();\n return {\n kind: Kind.OPERATION_TYPE_DEFINITION,\n operation: operation,\n type: type,\n loc: this.loc(start)\n };\n }\n /**\n * ScalarTypeDefinition : Description? scalar Name Directives[Const]?\n */\n ;\n\n _proto.parseScalarTypeDefinition = function parseScalarTypeDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('scalar');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n return {\n kind: Kind.SCALAR_TYPE_DEFINITION,\n description: description,\n name: name,\n directives: directives,\n loc: this.loc(start)\n };\n }\n /**\n * ObjectTypeDefinition :\n * Description?\n * type Name ImplementsInterfaces? Directives[Const]? FieldsDefinition?\n */\n ;\n\n _proto.parseObjectTypeDefinition = function parseObjectTypeDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('type');\n var name = this.parseName();\n var interfaces = this.parseImplementsInterfaces();\n var directives = this.parseDirectives(true);\n var fields = this.parseFieldsDefinition();\n return {\n kind: Kind.OBJECT_TYPE_DEFINITION,\n description: description,\n name: name,\n interfaces: interfaces,\n directives: directives,\n fields: fields,\n loc: this.loc(start)\n };\n }\n /**\n * ImplementsInterfaces :\n * - implements `&`? NamedType\n * - ImplementsInterfaces & NamedType\n */\n ;\n\n _proto.parseImplementsInterfaces = function parseImplementsInterfaces() {\n var _this$_options2;\n\n if (!this.expectOptionalKeyword('implements')) {\n return [];\n }\n\n if (((_this$_options2 = this._options) === null || _this$_options2 === void 0 ? void 0 : _this$_options2.allowLegacySDLImplementsInterfaces) === true) {\n var types = []; // Optional leading ampersand\n\n this.expectOptionalToken(TokenKind.AMP);\n\n do {\n types.push(this.parseNamedType());\n } while (this.expectOptionalToken(TokenKind.AMP) || this.peek(TokenKind.NAME));\n\n return types;\n }\n\n return this.delimitedMany(TokenKind.AMP, this.parseNamedType);\n }\n /**\n * FieldsDefinition : { FieldDefinition+ }\n */\n ;\n\n _proto.parseFieldsDefinition = function parseFieldsDefinition() {\n var _this$_options3;\n\n // Legacy support for the SDL?\n if (((_this$_options3 = this._options) === null || _this$_options3 === void 0 ? void 0 : _this$_options3.allowLegacySDLEmptyFields) === true && this.peek(TokenKind.BRACE_L) && this._lexer.lookahead().kind === TokenKind.BRACE_R) {\n this._lexer.advance();\n\n this._lexer.advance();\n\n return [];\n }\n\n return this.optionalMany(TokenKind.BRACE_L, this.parseFieldDefinition, TokenKind.BRACE_R);\n }\n /**\n * FieldDefinition :\n * - Description? Name ArgumentsDefinition? : Type Directives[Const]?\n */\n ;\n\n _proto.parseFieldDefinition = function parseFieldDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n var name = this.parseName();\n var args = this.parseArgumentDefs();\n this.expectToken(TokenKind.COLON);\n var type = this.parseTypeReference();\n var directives = this.parseDirectives(true);\n return {\n kind: Kind.FIELD_DEFINITION,\n description: description,\n name: name,\n arguments: args,\n type: type,\n directives: directives,\n loc: this.loc(start)\n };\n }\n /**\n * ArgumentsDefinition : ( InputValueDefinition+ )\n */\n ;\n\n _proto.parseArgumentDefs = function parseArgumentDefs() {\n return this.optionalMany(TokenKind.PAREN_L, this.parseInputValueDef, TokenKind.PAREN_R);\n }\n /**\n * InputValueDefinition :\n * - Description? Name : Type DefaultValue? Directives[Const]?\n */\n ;\n\n _proto.parseInputValueDef = function parseInputValueDef() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n var name = this.parseName();\n this.expectToken(TokenKind.COLON);\n var type = this.parseTypeReference();\n var defaultValue;\n\n if (this.expectOptionalToken(TokenKind.EQUALS)) {\n defaultValue = this.parseValueLiteral(true);\n }\n\n var directives = this.parseDirectives(true);\n return {\n kind: Kind.INPUT_VALUE_DEFINITION,\n description: description,\n name: name,\n type: type,\n defaultValue: defaultValue,\n directives: directives,\n loc: this.loc(start)\n };\n }\n /**\n * InterfaceTypeDefinition :\n * - Description? interface Name Directives[Const]? FieldsDefinition?\n */\n ;\n\n _proto.parseInterfaceTypeDefinition = function parseInterfaceTypeDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('interface');\n var name = this.parseName();\n var interfaces = this.parseImplementsInterfaces();\n var directives = this.parseDirectives(true);\n var fields = this.parseFieldsDefinition();\n return {\n kind: Kind.INTERFACE_TYPE_DEFINITION,\n description: description,\n name: name,\n interfaces: interfaces,\n directives: directives,\n fields: fields,\n loc: this.loc(start)\n };\n }\n /**\n * UnionTypeDefinition :\n * - Description? union Name Directives[Const]? UnionMemberTypes?\n */\n ;\n\n _proto.parseUnionTypeDefinition = function parseUnionTypeDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('union');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n var types = this.parseUnionMemberTypes();\n return {\n kind: Kind.UNION_TYPE_DEFINITION,\n description: description,\n name: name,\n directives: directives,\n types: types,\n loc: this.loc(start)\n };\n }\n /**\n * UnionMemberTypes :\n * - = `|`? NamedType\n * - UnionMemberTypes | NamedType\n */\n ;\n\n _proto.parseUnionMemberTypes = function parseUnionMemberTypes() {\n return this.expectOptionalToken(TokenKind.EQUALS) ? this.delimitedMany(TokenKind.PIPE, this.parseNamedType) : [];\n }\n /**\n * EnumTypeDefinition :\n * - Description? enum Name Directives[Const]? EnumValuesDefinition?\n */\n ;\n\n _proto.parseEnumTypeDefinition = function parseEnumTypeDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('enum');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n var values = this.parseEnumValuesDefinition();\n return {\n kind: Kind.ENUM_TYPE_DEFINITION,\n description: description,\n name: name,\n directives: directives,\n values: values,\n loc: this.loc(start)\n };\n }\n /**\n * EnumValuesDefinition : { EnumValueDefinition+ }\n */\n ;\n\n _proto.parseEnumValuesDefinition = function parseEnumValuesDefinition() {\n return this.optionalMany(TokenKind.BRACE_L, this.parseEnumValueDefinition, TokenKind.BRACE_R);\n }\n /**\n * EnumValueDefinition : Description? EnumValue Directives[Const]?\n *\n * EnumValue : Name\n */\n ;\n\n _proto.parseEnumValueDefinition = function parseEnumValueDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n return {\n kind: Kind.ENUM_VALUE_DEFINITION,\n description: description,\n name: name,\n directives: directives,\n loc: this.loc(start)\n };\n }\n /**\n * InputObjectTypeDefinition :\n * - Description? input Name Directives[Const]? InputFieldsDefinition?\n */\n ;\n\n _proto.parseInputObjectTypeDefinition = function parseInputObjectTypeDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('input');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n var fields = this.parseInputFieldsDefinition();\n return {\n kind: Kind.INPUT_OBJECT_TYPE_DEFINITION,\n description: description,\n name: name,\n directives: directives,\n fields: fields,\n loc: this.loc(start)\n };\n }\n /**\n * InputFieldsDefinition : { InputValueDefinition+ }\n */\n ;\n\n _proto.parseInputFieldsDefinition = function parseInputFieldsDefinition() {\n return this.optionalMany(TokenKind.BRACE_L, this.parseInputValueDef, TokenKind.BRACE_R);\n }\n /**\n * TypeSystemExtension :\n * - SchemaExtension\n * - TypeExtension\n *\n * TypeExtension :\n * - ScalarTypeExtension\n * - ObjectTypeExtension\n * - InterfaceTypeExtension\n * - UnionTypeExtension\n * - EnumTypeExtension\n * - InputObjectTypeDefinition\n */\n ;\n\n _proto.parseTypeSystemExtension = function parseTypeSystemExtension() {\n var keywordToken = this._lexer.lookahead();\n\n if (keywordToken.kind === TokenKind.NAME) {\n switch (keywordToken.value) {\n case 'schema':\n return this.parseSchemaExtension();\n\n case 'scalar':\n return this.parseScalarTypeExtension();\n\n case 'type':\n return this.parseObjectTypeExtension();\n\n case 'interface':\n return this.parseInterfaceTypeExtension();\n\n case 'union':\n return this.parseUnionTypeExtension();\n\n case 'enum':\n return this.parseEnumTypeExtension();\n\n case 'input':\n return this.parseInputObjectTypeExtension();\n }\n }\n\n throw this.unexpected(keywordToken);\n }\n /**\n * SchemaExtension :\n * - extend schema Directives[Const]? { OperationTypeDefinition+ }\n * - extend schema Directives[Const]\n */\n ;\n\n _proto.parseSchemaExtension = function parseSchemaExtension() {\n var start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('schema');\n var directives = this.parseDirectives(true);\n var operationTypes = this.optionalMany(TokenKind.BRACE_L, this.parseOperationTypeDefinition, TokenKind.BRACE_R);\n\n if (directives.length === 0 && operationTypes.length === 0) {\n throw this.unexpected();\n }\n\n return {\n kind: Kind.SCHEMA_EXTENSION,\n directives: directives,\n operationTypes: operationTypes,\n loc: this.loc(start)\n };\n }\n /**\n * ScalarTypeExtension :\n * - extend scalar Name Directives[Const]\n */\n ;\n\n _proto.parseScalarTypeExtension = function parseScalarTypeExtension() {\n var start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('scalar');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n\n if (directives.length === 0) {\n throw this.unexpected();\n }\n\n return {\n kind: Kind.SCALAR_TYPE_EXTENSION,\n name: name,\n directives: directives,\n loc: this.loc(start)\n };\n }\n /**\n * ObjectTypeExtension :\n * - extend type Name ImplementsInterfaces? Directives[Const]? FieldsDefinition\n * - extend type Name ImplementsInterfaces? Directives[Const]\n * - extend type Name ImplementsInterfaces\n */\n ;\n\n _proto.parseObjectTypeExtension = function parseObjectTypeExtension() {\n var start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('type');\n var name = this.parseName();\n var interfaces = this.parseImplementsInterfaces();\n var directives = this.parseDirectives(true);\n var fields = this.parseFieldsDefinition();\n\n if (interfaces.length === 0 && directives.length === 0 && fields.length === 0) {\n throw this.unexpected();\n }\n\n return {\n kind: Kind.OBJECT_TYPE_EXTENSION,\n name: name,\n interfaces: interfaces,\n directives: directives,\n fields: fields,\n loc: this.loc(start)\n };\n }\n /**\n * InterfaceTypeExtension :\n * - extend interface Name ImplementsInterfaces? Directives[Const]? FieldsDefinition\n * - extend interface Name ImplementsInterfaces? Directives[Const]\n * - extend interface Name ImplementsInterfaces\n */\n ;\n\n _proto.parseInterfaceTypeExtension = function parseInterfaceTypeExtension() {\n var start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('interface');\n var name = this.parseName();\n var interfaces = this.parseImplementsInterfaces();\n var directives = this.parseDirectives(true);\n var fields = this.parseFieldsDefinition();\n\n if (interfaces.length === 0 && directives.length === 0 && fields.length === 0) {\n throw this.unexpected();\n }\n\n return {\n kind: Kind.INTERFACE_TYPE_EXTENSION,\n name: name,\n interfaces: interfaces,\n directives: directives,\n fields: fields,\n loc: this.loc(start)\n };\n }\n /**\n * UnionTypeExtension :\n * - extend union Name Directives[Const]? UnionMemberTypes\n * - extend union Name Directives[Const]\n */\n ;\n\n _proto.parseUnionTypeExtension = function parseUnionTypeExtension() {\n var start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('union');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n var types = this.parseUnionMemberTypes();\n\n if (directives.length === 0 && types.length === 0) {\n throw this.unexpected();\n }\n\n return {\n kind: Kind.UNION_TYPE_EXTENSION,\n name: name,\n directives: directives,\n types: types,\n loc: this.loc(start)\n };\n }\n /**\n * EnumTypeExtension :\n * - extend enum Name Directives[Const]? EnumValuesDefinition\n * - extend enum Name Directives[Const]\n */\n ;\n\n _proto.parseEnumTypeExtension = function parseEnumTypeExtension() {\n var start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('enum');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n var values = this.parseEnumValuesDefinition();\n\n if (directives.length === 0 && values.length === 0) {\n throw this.unexpected();\n }\n\n return {\n kind: Kind.ENUM_TYPE_EXTENSION,\n name: name,\n directives: directives,\n values: values,\n loc: this.loc(start)\n };\n }\n /**\n * InputObjectTypeExtension :\n * - extend input Name Directives[Const]? InputFieldsDefinition\n * - extend input Name Directives[Const]\n */\n ;\n\n _proto.parseInputObjectTypeExtension = function parseInputObjectTypeExtension() {\n var start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('input');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n var fields = this.parseInputFieldsDefinition();\n\n if (directives.length === 0 && fields.length === 0) {\n throw this.unexpected();\n }\n\n return {\n kind: Kind.INPUT_OBJECT_TYPE_EXTENSION,\n name: name,\n directives: directives,\n fields: fields,\n loc: this.loc(start)\n };\n }\n /**\n * DirectiveDefinition :\n * - Description? directive @ Name ArgumentsDefinition? `repeatable`? on DirectiveLocations\n */\n ;\n\n _proto.parseDirectiveDefinition = function parseDirectiveDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('directive');\n this.expectToken(TokenKind.AT);\n var name = this.parseName();\n var args = this.parseArgumentDefs();\n var repeatable = this.expectOptionalKeyword('repeatable');\n this.expectKeyword('on');\n var locations = this.parseDirectiveLocations();\n return {\n kind: Kind.DIRECTIVE_DEFINITION,\n description: description,\n name: name,\n arguments: args,\n repeatable: repeatable,\n locations: locations,\n loc: this.loc(start)\n };\n }\n /**\n * DirectiveLocations :\n * - `|`? DirectiveLocation\n * - DirectiveLocations | DirectiveLocation\n */\n ;\n\n _proto.parseDirectiveLocations = function parseDirectiveLocations() {\n return this.delimitedMany(TokenKind.PIPE, this.parseDirectiveLocation);\n }\n /*\n * DirectiveLocation :\n * - ExecutableDirectiveLocation\n * - TypeSystemDirectiveLocation\n *\n * ExecutableDirectiveLocation : one of\n * `QUERY`\n * `MUTATION`\n * `SUBSCRIPTION`\n * `FIELD`\n * `FRAGMENT_DEFINITION`\n * `FRAGMENT_SPREAD`\n * `INLINE_FRAGMENT`\n *\n * TypeSystemDirectiveLocation : one of\n * `SCHEMA`\n * `SCALAR`\n * `OBJECT`\n * `FIELD_DEFINITION`\n * `ARGUMENT_DEFINITION`\n * `INTERFACE`\n * `UNION`\n * `ENUM`\n * `ENUM_VALUE`\n * `INPUT_OBJECT`\n * `INPUT_FIELD_DEFINITION`\n */\n ;\n\n _proto.parseDirectiveLocation = function parseDirectiveLocation() {\n var start = this._lexer.token;\n var name = this.parseName();\n\n if (DirectiveLocation[name.value] !== undefined) {\n return name;\n }\n\n throw this.unexpected(start);\n } // Core parsing utility functions\n\n /**\n * Returns a location object, used to identify the place in the source that created a given parsed object.\n */\n ;\n\n _proto.loc = function loc(startToken) {\n var _this$_options4;\n\n if (((_this$_options4 = this._options) === null || _this$_options4 === void 0 ? void 0 : _this$_options4.noLocation) !== true) {\n return new Location(startToken, this._lexer.lastToken, this._lexer.source);\n }\n }\n /**\n * Determines if the next token is of a given kind\n */\n ;\n\n _proto.peek = function peek(kind) {\n return this._lexer.token.kind === kind;\n }\n /**\n * If the next token is of the given kind, return that token after advancing the lexer.\n * Otherwise, do not change the parser state and throw an error.\n */\n ;\n\n _proto.expectToken = function expectToken(kind) {\n var token = this._lexer.token;\n\n if (token.kind === kind) {\n this._lexer.advance();\n\n return token;\n }\n\n throw syntaxError(this._lexer.source, token.start, \"Expected \".concat(getTokenKindDesc(kind), \", found \").concat(getTokenDesc(token), \".\"));\n }\n /**\n * If the next token is of the given kind, return that token after advancing the lexer.\n * Otherwise, do not change the parser state and return undefined.\n */\n ;\n\n _proto.expectOptionalToken = function expectOptionalToken(kind) {\n var token = this._lexer.token;\n\n if (token.kind === kind) {\n this._lexer.advance();\n\n return token;\n }\n\n return undefined;\n }\n /**\n * If the next token is a given keyword, advance the lexer.\n * Otherwise, do not change the parser state and throw an error.\n */\n ;\n\n _proto.expectKeyword = function expectKeyword(value) {\n var token = this._lexer.token;\n\n if (token.kind === TokenKind.NAME && token.value === value) {\n this._lexer.advance();\n } else {\n throw syntaxError(this._lexer.source, token.start, \"Expected \\\"\".concat(value, \"\\\", found \").concat(getTokenDesc(token), \".\"));\n }\n }\n /**\n * If the next token is a given keyword, return \"true\" after advancing the lexer.\n * Otherwise, do not change the parser state and return \"false\".\n */\n ;\n\n _proto.expectOptionalKeyword = function expectOptionalKeyword(value) {\n var token = this._lexer.token;\n\n if (token.kind === TokenKind.NAME && token.value === value) {\n this._lexer.advance();\n\n return true;\n }\n\n return false;\n }\n /**\n * Helper function for creating an error when an unexpected lexed token is encountered.\n */\n ;\n\n _proto.unexpected = function unexpected(atToken) {\n var token = atToken !== null && atToken !== void 0 ? atToken : this._lexer.token;\n return syntaxError(this._lexer.source, token.start, \"Unexpected \".concat(getTokenDesc(token), \".\"));\n }\n /**\n * Returns a possibly empty list of parse nodes, determined by the parseFn.\n * This list begins with a lex token of openKind and ends with a lex token of closeKind.\n * Advances the parser to the next lex token after the closing token.\n */\n ;\n\n _proto.any = function any(openKind, parseFn, closeKind) {\n this.expectToken(openKind);\n var nodes = [];\n\n while (!this.expectOptionalToken(closeKind)) {\n nodes.push(parseFn.call(this));\n }\n\n return nodes;\n }\n /**\n * Returns a list of parse nodes, determined by the parseFn.\n * It can be empty only if open token is missing otherwise it will always return non-empty list\n * that begins with a lex token of openKind and ends with a lex token of closeKind.\n * Advances the parser to the next lex token after the closing token.\n */\n ;\n\n _proto.optionalMany = function optionalMany(openKind, parseFn, closeKind) {\n if (this.expectOptionalToken(openKind)) {\n var nodes = [];\n\n do {\n nodes.push(parseFn.call(this));\n } while (!this.expectOptionalToken(closeKind));\n\n return nodes;\n }\n\n return [];\n }\n /**\n * Returns a non-empty list of parse nodes, determined by the parseFn.\n * This list begins with a lex token of openKind and ends with a lex token of closeKind.\n * Advances the parser to the next lex token after the closing token.\n */\n ;\n\n _proto.many = function many(openKind, parseFn, closeKind) {\n this.expectToken(openKind);\n var nodes = [];\n\n do {\n nodes.push(parseFn.call(this));\n } while (!this.expectOptionalToken(closeKind));\n\n return nodes;\n }\n /**\n * Returns a non-empty list of parse nodes, determined by the parseFn.\n * This list may begin with a lex token of delimiterKind followed by items separated by lex tokens of tokenKind.\n * Advances the parser to the next lex token after last item in the list.\n */\n ;\n\n _proto.delimitedMany = function delimitedMany(delimiterKind, parseFn) {\n this.expectOptionalToken(delimiterKind);\n var nodes = [];\n\n do {\n nodes.push(parseFn.call(this));\n } while (this.expectOptionalToken(delimiterKind));\n\n return nodes;\n };\n\n return Parser;\n}();\n/**\n * A helper function to describe a token as a string for debugging.\n */\n\nfunction getTokenDesc(token) {\n var value = token.value;\n return getTokenKindDesc(token.kind) + (value != null ? \" \\\"\".concat(value, \"\\\"\") : '');\n}\n/**\n * A helper function to describe a token kind as a string for debugging.\n */\n\n\nfunction getTokenKindDesc(kind) {\n return isPunctuatorTokenKind(kind) ? \"\\\"\".concat(kind, \"\\\"\") : kind;\n}\n","import { __assign } from \"tslib\";\nimport { parse } from 'graphql';\nvar docCache = new Map();\nvar fragmentSourceMap = new Map();\nvar printFragmentWarnings = true;\nvar experimentalFragmentVariables = false;\nfunction normalize(string) {\n return string.replace(/[\\s,]+/g, ' ').trim();\n}\nfunction cacheKeyFromLoc(loc) {\n return normalize(loc.source.body.substring(loc.start, loc.end));\n}\nfunction processFragments(ast) {\n var seenKeys = new Set();\n var definitions = [];\n ast.definitions.forEach(function (fragmentDefinition) {\n if (fragmentDefinition.kind === 'FragmentDefinition') {\n var fragmentName = fragmentDefinition.name.value;\n var sourceKey = cacheKeyFromLoc(fragmentDefinition.loc);\n var sourceKeySet = fragmentSourceMap.get(fragmentName);\n if (sourceKeySet && !sourceKeySet.has(sourceKey)) {\n if (printFragmentWarnings) {\n console.warn(\"Warning: fragment with name \" + fragmentName + \" already exists.\\n\"\n + \"graphql-tag enforces all fragment names across your application to be unique; read more about\\n\"\n + \"this in the docs: http://dev.apollodata.com/core/fragments.html#unique-names\");\n }\n }\n else if (!sourceKeySet) {\n fragmentSourceMap.set(fragmentName, sourceKeySet = new Set);\n }\n sourceKeySet.add(sourceKey);\n if (!seenKeys.has(sourceKey)) {\n seenKeys.add(sourceKey);\n definitions.push(fragmentDefinition);\n }\n }\n else {\n definitions.push(fragmentDefinition);\n }\n });\n return __assign(__assign({}, ast), { definitions: definitions });\n}\nfunction stripLoc(doc) {\n var workSet = new Set(doc.definitions);\n workSet.forEach(function (node) {\n if (node.loc)\n delete node.loc;\n Object.keys(node).forEach(function (key) {\n var value = node[key];\n if (value && typeof value === 'object') {\n workSet.add(value);\n }\n });\n });\n var loc = doc.loc;\n if (loc) {\n delete loc.startToken;\n delete loc.endToken;\n }\n return doc;\n}\nfunction parseDocument(source) {\n var cacheKey = normalize(source);\n if (!docCache.has(cacheKey)) {\n var parsed = parse(source, {\n experimentalFragmentVariables: experimentalFragmentVariables,\n allowLegacyFragmentVariables: experimentalFragmentVariables\n });\n if (!parsed || parsed.kind !== 'Document') {\n throw new Error('Not a valid GraphQL document.');\n }\n docCache.set(cacheKey, stripLoc(processFragments(parsed)));\n }\n return docCache.get(cacheKey);\n}\nexport function gql(literals) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n if (typeof literals === 'string') {\n literals = [literals];\n }\n var result = literals[0];\n args.forEach(function (arg, i) {\n if (arg && arg.kind === 'Document') {\n result += arg.loc.source.body;\n }\n else {\n result += arg;\n }\n result += literals[i + 1];\n });\n return parseDocument(result);\n}\nexport function resetCaches() {\n docCache.clear();\n fragmentSourceMap.clear();\n}\nexport function disableFragmentWarnings() {\n printFragmentWarnings = false;\n}\nexport function enableExperimentalFragmentVariables() {\n experimentalFragmentVariables = true;\n}\nexport function disableExperimentalFragmentVariables() {\n experimentalFragmentVariables = false;\n}\nvar extras = {\n gql: gql,\n resetCaches: resetCaches,\n disableFragmentWarnings: disableFragmentWarnings,\n enableExperimentalFragmentVariables: enableExperimentalFragmentVariables,\n disableExperimentalFragmentVariables: disableExperimentalFragmentVariables\n};\n(function (gql_1) {\n gql_1.gql = extras.gql, gql_1.resetCaches = extras.resetCaches, gql_1.disableFragmentWarnings = extras.disableFragmentWarnings, gql_1.enableExperimentalFragmentVariables = extras.enableExperimentalFragmentVariables, gql_1.disableExperimentalFragmentVariables = extras.disableExperimentalFragmentVariables;\n})(gql || (gql = {}));\ngql[\"default\"] = gql;\nexport default gql;\n//# sourceMappingURL=index.js.map","import * as React from 'react';\nimport { canUseWeakMap } from \"../../utilities/index.js\";\nvar cache = new (canUseWeakMap ? WeakMap : Map)();\nexport function getApolloContext() {\n var context = cache.get(React.createContext);\n if (!context) {\n context = React.createContext({});\n context.displayName = 'ApolloContext';\n cache.set(React.createContext, context);\n }\n return context;\n}\nexport { getApolloContext as resetApolloContext };\n//# sourceMappingURL=ApolloContext.js.map","import * as React from 'react';\nimport { invariant } from 'ts-invariant';\nimport { getApolloContext } from \"./ApolloContext.js\";\nexport var ApolloProvider = function (_a) {\n var client = _a.client, children = _a.children;\n var ApolloContext = getApolloContext();\n return React.createElement(ApolloContext.Consumer, null, function (context) {\n if (context === void 0) { context = {}; }\n if (client && context.client !== client) {\n context = Object.assign({}, context, { client: client });\n }\n __DEV__ ? invariant(context.client, 'ApolloProvider was not passed a client instance. Make ' +\n 'sure you pass in your client via the \"client\" prop.') : invariant(context.client, 28);\n return (React.createElement(ApolloContext.Provider, { value: context }, children));\n });\n};\n//# sourceMappingURL=ApolloProvider.js.map","import { equal } from '@wry/equality';\nimport { invariant } from 'ts-invariant';\nimport { parser, operationName } from \"../parser/index.js\";\nvar OperationData = (function () {\n function OperationData(options, context) {\n this.isMounted = false;\n this.previousOptions = {};\n this.context = {};\n this.options = {};\n this.options = options || {};\n this.context = context || {};\n }\n OperationData.prototype.getOptions = function () {\n return this.options;\n };\n OperationData.prototype.setOptions = function (newOptions, storePrevious) {\n if (storePrevious === void 0) { storePrevious = false; }\n if (storePrevious && !equal(this.options, newOptions)) {\n this.previousOptions = this.options;\n }\n this.options = newOptions;\n };\n OperationData.prototype.unmount = function () {\n this.isMounted = false;\n };\n OperationData.prototype.refreshClient = function () {\n var client = (this.options && this.options.client) ||\n (this.context && this.context.client);\n __DEV__ ? invariant(!!client, 'Could not find \"client\" in the context or passed in as an option. ' +\n 'Wrap the root component in an , or pass an ' +\n 'ApolloClient instance in via options.') : invariant(!!client, 29);\n var isNew = false;\n if (client !== this.client) {\n isNew = true;\n this.client = client;\n this.cleanup();\n }\n return {\n client: this.client,\n isNew: isNew\n };\n };\n OperationData.prototype.verifyDocumentType = function (document, type) {\n var operation = parser(document);\n var requiredOperationName = operationName(type);\n var usedOperationName = operationName(operation.type);\n __DEV__ ? invariant(operation.type === type, \"Running a \" + requiredOperationName + \" requires a graphql \" +\n (requiredOperationName + \", but a \" + usedOperationName + \" was used instead.\")) : invariant(operation.type === type, 30);\n };\n return OperationData;\n}());\nexport { OperationData };\n//# sourceMappingURL=OperationData.js.map","import { __assign, __extends } from \"tslib\";\nimport { equal } from '@wry/equality';\nimport { DocumentType } from \"../parser/index.js\";\nimport { ApolloError } from \"../../errors/index.js\";\nimport { OperationData } from \"./OperationData.js\";\nimport { mergeOptions } from \"../../core/index.js\";\nvar MutationData = (function (_super) {\n __extends(MutationData, _super);\n function MutationData(_a) {\n var options = _a.options, context = _a.context, result = _a.result, setResult = _a.setResult;\n var _this = _super.call(this, options, context) || this;\n _this.runMutation = function (mutationFunctionOptions) {\n if (mutationFunctionOptions === void 0) { mutationFunctionOptions = {}; }\n _this.onMutationStart();\n var mutationId = _this.generateNewMutationId();\n return _this.mutate(mutationFunctionOptions)\n .then(function (response) {\n _this.onMutationCompleted(response, mutationId);\n return response;\n })\n .catch(function (error) {\n var onError = _this.getOptions().onError;\n _this.onMutationError(error, mutationId);\n if (onError) {\n onError(error);\n return {\n data: undefined,\n errors: error,\n };\n }\n else {\n throw error;\n }\n });\n };\n _this.verifyDocumentType(options.mutation, DocumentType.Mutation);\n _this.result = result;\n _this.setResult = setResult;\n _this.mostRecentMutationId = 0;\n return _this;\n }\n MutationData.prototype.execute = function (result) {\n this.isMounted = true;\n this.verifyDocumentType(this.getOptions().mutation, DocumentType.Mutation);\n return [\n this.runMutation,\n __assign(__assign({}, result), { client: this.refreshClient().client })\n ];\n };\n MutationData.prototype.afterExecute = function () {\n this.isMounted = true;\n return this.unmount.bind(this);\n };\n MutationData.prototype.cleanup = function () {\n };\n MutationData.prototype.mutate = function (options) {\n return this.refreshClient().client.mutate(mergeOptions(this.getOptions(), options));\n };\n MutationData.prototype.onMutationStart = function () {\n if (!this.result.loading && !this.getOptions().ignoreResults) {\n this.updateResult({\n loading: true,\n error: undefined,\n data: undefined,\n called: true\n });\n }\n };\n MutationData.prototype.onMutationCompleted = function (response, mutationId) {\n var _a = this.getOptions(), onCompleted = _a.onCompleted, ignoreResults = _a.ignoreResults;\n var data = response.data, errors = response.errors;\n var error = errors && errors.length > 0\n ? new ApolloError({ graphQLErrors: errors })\n : undefined;\n var callOncomplete = function () {\n return onCompleted ? onCompleted(data) : null;\n };\n if (this.isMostRecentMutation(mutationId) && !ignoreResults) {\n this.updateResult({\n called: true,\n loading: false,\n data: data,\n error: error\n });\n }\n callOncomplete();\n };\n MutationData.prototype.onMutationError = function (error, mutationId) {\n if (this.isMostRecentMutation(mutationId)) {\n this.updateResult({\n loading: false,\n error: error,\n data: undefined,\n called: true\n });\n }\n };\n MutationData.prototype.generateNewMutationId = function () {\n return ++this.mostRecentMutationId;\n };\n MutationData.prototype.isMostRecentMutation = function (mutationId) {\n return this.mostRecentMutationId === mutationId;\n };\n MutationData.prototype.updateResult = function (result) {\n if (this.isMounted &&\n (!this.previousResult || !equal(this.previousResult, result))) {\n this.setResult(result);\n this.previousResult = result;\n return result;\n }\n };\n return MutationData;\n}(OperationData));\nexport { MutationData };\n//# sourceMappingURL=MutationData.js.map","import { __assign } from \"tslib\";\nimport { useContext, useState, useRef, useEffect } from 'react';\nimport { MutationData } from \"../data/index.js\";\nimport { getApolloContext } from \"../context/index.js\";\nexport function useMutation(mutation, options) {\n var context = useContext(getApolloContext());\n var _a = useState({ called: false, loading: false }), result = _a[0], setResult = _a[1];\n var updatedOptions = options ? __assign(__assign({}, options), { mutation: mutation }) : { mutation: mutation };\n var mutationDataRef = useRef();\n function getMutationDataRef() {\n if (!mutationDataRef.current) {\n mutationDataRef.current = new MutationData({\n options: updatedOptions,\n context: context,\n result: result,\n setResult: setResult\n });\n }\n return mutationDataRef.current;\n }\n var mutationData = getMutationDataRef();\n mutationData.setOptions(updatedOptions);\n mutationData.context = context;\n useEffect(function () { return mutationData.afterExecute(); });\n return mutationData.execute(result);\n}\n//# sourceMappingURL=useMutation.js.map","import { __assign, __extends } from \"tslib\";\nimport { equal } from '@wry/equality';\nimport { ApolloError } from \"../../errors/index.js\";\nimport { NetworkStatus, } from \"../../core/index.js\";\nimport { DocumentType } from \"../parser/index.js\";\nimport { OperationData } from \"./OperationData.js\";\nvar QueryData = (function (_super) {\n __extends(QueryData, _super);\n function QueryData(_a) {\n var options = _a.options, context = _a.context, onNewData = _a.onNewData;\n var _this = _super.call(this, options, context) || this;\n _this.runLazy = false;\n _this.previous = Object.create(null);\n _this.runLazyQuery = function (options) {\n _this.cleanup();\n _this.runLazy = true;\n _this.lazyOptions = options;\n _this.onNewData();\n };\n _this.obsRefetch = function (variables) { var _a; return (_a = _this.currentObservable) === null || _a === void 0 ? void 0 : _a.refetch(variables); };\n _this.obsFetchMore = function (fetchMoreOptions) { var _a; return (_a = _this.currentObservable) === null || _a === void 0 ? void 0 : _a.fetchMore(fetchMoreOptions); };\n _this.obsUpdateQuery = function (mapFn) { var _a; return (_a = _this.currentObservable) === null || _a === void 0 ? void 0 : _a.updateQuery(mapFn); };\n _this.obsStartPolling = function (pollInterval) {\n var _a;\n (_a = _this.currentObservable) === null || _a === void 0 ? void 0 : _a.startPolling(pollInterval);\n };\n _this.obsStopPolling = function () {\n var _a;\n (_a = _this.currentObservable) === null || _a === void 0 ? void 0 : _a.stopPolling();\n };\n _this.obsSubscribeToMore = function (options) { var _a; return (_a = _this.currentObservable) === null || _a === void 0 ? void 0 : _a.subscribeToMore(options); };\n _this.onNewData = onNewData;\n return _this;\n }\n QueryData.prototype.execute = function () {\n this.refreshClient();\n var _a = this.getOptions(), skip = _a.skip, query = _a.query;\n if (skip || query !== this.previous.query) {\n this.removeQuerySubscription();\n this.removeObservable(!skip);\n this.previous.query = query;\n }\n this.updateObservableQuery();\n return this.getExecuteSsrResult() || this.getExecuteResult();\n };\n QueryData.prototype.executeLazy = function () {\n return !this.runLazy\n ? [\n this.runLazyQuery,\n {\n loading: false,\n networkStatus: NetworkStatus.ready,\n called: false,\n data: undefined\n }\n ]\n : [this.runLazyQuery, this.execute()];\n };\n QueryData.prototype.fetchData = function () {\n var _this = this;\n var options = this.getOptions();\n if (options.skip || options.ssr === false)\n return false;\n return new Promise(function (resolve) { return _this.startQuerySubscription(resolve); });\n };\n QueryData.prototype.afterExecute = function (_a) {\n var _b = _a === void 0 ? {} : _a, _c = _b.lazy, lazy = _c === void 0 ? false : _c;\n this.isMounted = true;\n var options = this.getOptions();\n if (this.currentObservable &&\n !this.ssrInitiated() &&\n !this.client.disableNetworkFetches) {\n this.startQuerySubscription();\n }\n if (!lazy || this.runLazy) {\n this.handleErrorOrCompleted();\n }\n this.previousOptions = options;\n return this.unmount.bind(this);\n };\n QueryData.prototype.cleanup = function () {\n this.removeQuerySubscription();\n this.removeObservable(true);\n delete this.previous.result;\n };\n QueryData.prototype.getOptions = function () {\n var options = _super.prototype.getOptions.call(this);\n if (this.lazyOptions) {\n options.variables = __assign(__assign({}, options.variables), this.lazyOptions.variables);\n options.context = __assign(__assign({}, options.context), this.lazyOptions.context);\n }\n if (this.runLazy) {\n delete options.skip;\n }\n return options;\n };\n QueryData.prototype.ssrInitiated = function () {\n return this.context && this.context.renderPromises;\n };\n QueryData.prototype.getExecuteSsrResult = function () {\n var _a = this.getOptions(), ssr = _a.ssr, skip = _a.skip;\n var ssrDisabled = ssr === false;\n var fetchDisabled = this.refreshClient().client.disableNetworkFetches;\n var ssrLoading = __assign({ loading: true, networkStatus: NetworkStatus.loading, called: true, data: undefined, stale: false, client: this.client }, this.observableQueryFields());\n if (ssrDisabled && (this.ssrInitiated() || fetchDisabled)) {\n this.previous.result = ssrLoading;\n return ssrLoading;\n }\n if (this.ssrInitiated()) {\n var result = this.getExecuteResult() || ssrLoading;\n if (result.loading && !skip) {\n this.context.renderPromises.addQueryPromise(this, function () { return null; });\n }\n return result;\n }\n };\n QueryData.prototype.prepareObservableQueryOptions = function () {\n var options = this.getOptions();\n this.verifyDocumentType(options.query, DocumentType.Query);\n var displayName = options.displayName || 'Query';\n if (this.ssrInitiated() &&\n (options.fetchPolicy === 'network-only' ||\n options.fetchPolicy === 'cache-and-network')) {\n options.fetchPolicy = 'cache-first';\n }\n return __assign(__assign({}, options), { displayName: displayName, context: options.context });\n };\n QueryData.prototype.initializeObservableQuery = function () {\n if (this.ssrInitiated()) {\n this.currentObservable = this.context.renderPromises.getSSRObservable(this.getOptions());\n }\n if (!this.currentObservable) {\n var observableQueryOptions = this.prepareObservableQueryOptions();\n this.previous.observableQueryOptions = __assign(__assign({}, observableQueryOptions), { children: void 0 });\n this.currentObservable = this.refreshClient().client.watchQuery(__assign({}, observableQueryOptions));\n if (this.ssrInitiated()) {\n this.context.renderPromises.registerSSRObservable(this.currentObservable, observableQueryOptions);\n }\n }\n };\n QueryData.prototype.updateObservableQuery = function () {\n if (!this.currentObservable) {\n this.initializeObservableQuery();\n return;\n }\n var newObservableQueryOptions = __assign(__assign({}, this.prepareObservableQueryOptions()), { children: void 0 });\n if (this.getOptions().skip) {\n this.previous.observableQueryOptions = newObservableQueryOptions;\n return;\n }\n if (!equal(newObservableQueryOptions, this.previous.observableQueryOptions)) {\n this.previous.observableQueryOptions = newObservableQueryOptions;\n this.currentObservable\n .setOptions(newObservableQueryOptions)\n .catch(function () { });\n }\n };\n QueryData.prototype.startQuerySubscription = function (onNewData) {\n var _this = this;\n if (onNewData === void 0) { onNewData = this.onNewData; }\n if (this.currentSubscription || this.getOptions().skip)\n return;\n this.currentSubscription = this.currentObservable.subscribe({\n next: function (_a) {\n var loading = _a.loading, networkStatus = _a.networkStatus, data = _a.data;\n var previousResult = _this.previous.result;\n if (previousResult &&\n previousResult.loading === loading &&\n previousResult.networkStatus === networkStatus &&\n equal(previousResult.data, data)) {\n return;\n }\n onNewData();\n },\n error: function (error) {\n _this.resubscribeToQuery();\n if (!error.hasOwnProperty('graphQLErrors'))\n throw error;\n var previousResult = _this.previous.result;\n if ((previousResult && previousResult.loading) ||\n !equal(error, _this.previous.error)) {\n _this.previous.error = error;\n onNewData();\n }\n }\n });\n };\n QueryData.prototype.resubscribeToQuery = function () {\n this.removeQuerySubscription();\n var currentObservable = this.currentObservable;\n if (currentObservable) {\n var last = currentObservable[\"last\"];\n try {\n currentObservable.resetLastResults();\n this.startQuerySubscription();\n }\n finally {\n currentObservable[\"last\"] = last;\n }\n }\n };\n QueryData.prototype.getExecuteResult = function () {\n var result = this.observableQueryFields();\n var options = this.getOptions();\n if (options.skip) {\n result = __assign(__assign({}, result), { data: undefined, error: undefined, loading: false, networkStatus: NetworkStatus.ready, called: true });\n }\n else if (this.currentObservable) {\n var currentResult = this.currentObservable.getCurrentResult();\n var data = currentResult.data, loading = currentResult.loading, partial = currentResult.partial, networkStatus = currentResult.networkStatus, errors = currentResult.errors;\n var error = currentResult.error;\n if (errors && errors.length > 0) {\n error = new ApolloError({ graphQLErrors: errors });\n }\n result = __assign(__assign({}, result), { data: data, loading: loading, networkStatus: networkStatus, error: error, called: true });\n if (loading) {\n }\n else if (error) {\n Object.assign(result, {\n data: (this.currentObservable.getLastResult() || {})\n .data\n });\n }\n else {\n var fetchPolicy = this.currentObservable.options.fetchPolicy;\n var partialRefetch = options.partialRefetch;\n if (partialRefetch &&\n partial &&\n (!data || Object.keys(data).length === 0) &&\n fetchPolicy !== 'cache-only') {\n Object.assign(result, {\n loading: true,\n networkStatus: NetworkStatus.loading\n });\n result.refetch();\n return result;\n }\n }\n }\n result.client = this.client;\n this.setOptions(options, true);\n var previousResult = this.previous.result;\n this.previous.loading =\n previousResult && previousResult.loading || false;\n result.previousData = previousResult &&\n (previousResult.data || previousResult.previousData);\n this.previous.result = result;\n this.currentObservable && this.currentObservable.resetQueryStoreErrors();\n return result;\n };\n QueryData.prototype.handleErrorOrCompleted = function () {\n if (!this.currentObservable || !this.previous.result)\n return;\n var _a = this.previous.result, data = _a.data, loading = _a.loading, error = _a.error;\n if (!loading) {\n var _b = this.getOptions(), query = _b.query, variables = _b.variables, onCompleted = _b.onCompleted, onError = _b.onError, skip = _b.skip;\n if (this.previousOptions &&\n !this.previous.loading &&\n equal(this.previousOptions.query, query) &&\n equal(this.previousOptions.variables, variables)) {\n return;\n }\n if (onCompleted && !error && !skip) {\n onCompleted(data);\n }\n else if (onError && error) {\n onError(error);\n }\n }\n };\n QueryData.prototype.removeQuerySubscription = function () {\n if (this.currentSubscription) {\n this.currentSubscription.unsubscribe();\n delete this.currentSubscription;\n }\n };\n QueryData.prototype.removeObservable = function (andDelete) {\n if (this.currentObservable) {\n this.currentObservable[\"tearDownQuery\"]();\n if (andDelete) {\n delete this.currentObservable;\n }\n }\n };\n QueryData.prototype.observableQueryFields = function () {\n var _a;\n return {\n variables: (_a = this.currentObservable) === null || _a === void 0 ? void 0 : _a.variables,\n refetch: this.obsRefetch,\n fetchMore: this.obsFetchMore,\n updateQuery: this.obsUpdateQuery,\n startPolling: this.obsStartPolling,\n stopPolling: this.obsStopPolling,\n subscribeToMore: this.obsSubscribeToMore\n };\n };\n return QueryData;\n}(OperationData));\nexport { QueryData };\n//# sourceMappingURL=QueryData.js.map","import { __assign } from \"tslib\";\nimport { useContext, useEffect, useReducer, useRef } from 'react';\nimport { QueryData } from \"../../data/index.js\";\nimport { useDeepMemo } from \"./useDeepMemo.js\";\nimport { getApolloContext } from \"../../context/index.js\";\nimport { useAfterFastRefresh } from \"./useAfterFastRefresh.js\";\nexport function useBaseQuery(query, options, lazy) {\n if (lazy === void 0) { lazy = false; }\n var context = useContext(getApolloContext());\n var _a = useReducer(function (x) { return x + 1; }, 0), tick = _a[0], forceUpdate = _a[1];\n var updatedOptions = options ? __assign(__assign({}, options), { query: query }) : { query: query };\n var queryDataRef = useRef();\n var queryData = queryDataRef.current || (queryDataRef.current = new QueryData({\n options: updatedOptions,\n context: context,\n onNewData: function () {\n if (!queryData.ssrInitiated()) {\n Promise.resolve().then(function () { return queryDataRef.current && queryDataRef.current.isMounted && forceUpdate(); });\n }\n else {\n forceUpdate();\n }\n }\n }));\n queryData.setOptions(updatedOptions);\n queryData.context = context;\n var memo = {\n options: __assign(__assign({}, updatedOptions), { onError: void 0, onCompleted: void 0 }),\n context: context,\n tick: tick\n };\n var result = useDeepMemo(function () { return (lazy ? queryData.executeLazy() : queryData.execute()); }, memo);\n var queryResult = lazy\n ? result[1]\n : result;\n if (__DEV__) {\n useAfterFastRefresh(forceUpdate);\n }\n useEffect(function () {\n return function () {\n queryData.cleanup();\n queryDataRef.current = void 0;\n };\n }, []);\n useEffect(function () { return queryData.afterExecute({ lazy: lazy }); }, [\n queryResult.loading,\n queryResult.networkStatus,\n queryResult.error,\n queryResult.data,\n queryData.currentObservable,\n ]);\n return result;\n}\n//# sourceMappingURL=useBaseQuery.js.map","import { useRef } from 'react';\nimport { equal } from '@wry/equality';\nexport function useDeepMemo(memoFn, key) {\n var ref = useRef();\n if (!ref.current || !equal(key, ref.current.key)) {\n ref.current = { key: key, value: memoFn() };\n }\n return ref.current.value;\n}\n//# sourceMappingURL=useDeepMemo.js.map","import { useEffect, useRef } from \"react\";\nexport function useAfterFastRefresh(effectFn) {\n if (__DEV__) {\n var didRefresh_1 = useRef(false);\n useEffect(function () {\n return function () {\n didRefresh_1.current = true;\n };\n }, []);\n useEffect(function () {\n if (didRefresh_1.current === true) {\n didRefresh_1.current = false;\n effectFn();\n }\n }, []);\n }\n}\n//# sourceMappingURL=useAfterFastRefresh.js.map","import { useBaseQuery } from \"./utils/useBaseQuery.js\";\nexport function useQuery(query, options) {\n return useBaseQuery(query, options, false);\n}\n//# sourceMappingURL=useQuery.js.map","import { checkDEV } from \"../../utilities/index.js\";\ncheckDEV();\nimport { invariant } from 'ts-invariant';\nexport var DocumentType;\n(function (DocumentType) {\n DocumentType[DocumentType[\"Query\"] = 0] = \"Query\";\n DocumentType[DocumentType[\"Mutation\"] = 1] = \"Mutation\";\n DocumentType[DocumentType[\"Subscription\"] = 2] = \"Subscription\";\n})(DocumentType || (DocumentType = {}));\nvar cache = new Map();\nexport function operationName(type) {\n var name;\n switch (type) {\n case DocumentType.Query:\n name = 'Query';\n break;\n case DocumentType.Mutation:\n name = 'Mutation';\n break;\n case DocumentType.Subscription:\n name = 'Subscription';\n break;\n }\n return name;\n}\nexport function parser(document) {\n var cached = cache.get(document);\n if (cached)\n return cached;\n var variables, type, name;\n __DEV__ ? invariant(!!document && !!document.kind, \"Argument of \" + document + \" passed to parser was not a valid GraphQL \" +\n \"DocumentNode. You may need to use 'graphql-tag' or another method \" +\n \"to convert your operation into a document\") : invariant(!!document && !!document.kind, 34);\n var fragments = document.definitions.filter(function (x) { return x.kind === 'FragmentDefinition'; });\n var queries = document.definitions.filter(function (x) {\n return x.kind === 'OperationDefinition' && x.operation === 'query';\n });\n var mutations = document.definitions.filter(function (x) {\n return x.kind === 'OperationDefinition' && x.operation === 'mutation';\n });\n var subscriptions = document.definitions.filter(function (x) {\n return x.kind === 'OperationDefinition' && x.operation === 'subscription';\n });\n __DEV__ ? invariant(!fragments.length ||\n (queries.length || mutations.length || subscriptions.length), \"Passing only a fragment to 'graphql' is not yet supported. \" +\n \"You must include a query, subscription or mutation as well\") : invariant(!fragments.length ||\n (queries.length || mutations.length || subscriptions.length), 35);\n __DEV__ ? invariant(queries.length + mutations.length + subscriptions.length <= 1, \"react-apollo only supports a query, subscription, or a mutation per HOC. \" +\n (document + \" had \" + queries.length + \" queries, \" + subscriptions.length + \" \") +\n (\"subscriptions and \" + mutations.length + \" mutations. \") +\n \"You can use 'compose' to join multiple operation types to a component\") : invariant(queries.length + mutations.length + subscriptions.length <= 1, 36);\n type = queries.length ? DocumentType.Query : DocumentType.Mutation;\n if (!queries.length && !mutations.length)\n type = DocumentType.Subscription;\n var definitions = queries.length\n ? queries\n : mutations.length\n ? mutations\n : subscriptions;\n __DEV__ ? invariant(definitions.length === 1, \"react-apollo only supports one definition per HOC. \" + document + \" had \" +\n (definitions.length + \" definitions. \") +\n \"You can use 'compose' to join multiple operation types to a component\") : invariant(definitions.length === 1, 37);\n var definition = definitions[0];\n variables = definition.variableDefinitions || [];\n if (definition.name && definition.name.kind === 'Name') {\n name = definition.name.value;\n }\n else {\n name = 'data';\n }\n var payload = { name: name, type: type, variables: variables };\n cache.set(document, payload);\n return payload;\n}\n//# sourceMappingURL=index.js.map","export function isNonEmptyArray(value) {\n return Array.isArray(value) && value.length > 0;\n}\n//# sourceMappingURL=arrays.js.map","export var canUseWeakMap = typeof WeakMap === 'function' && !(typeof navigator === 'object' &&\n navigator.product === 'ReactNative');\nexport var canUseWeakSet = typeof WeakSet === 'function';\n//# sourceMappingURL=canUse.js.map","var toString = Object.prototype.toString;\nexport function cloneDeep(value) {\n return cloneDeepHelper(value);\n}\nfunction cloneDeepHelper(val, seen) {\n switch (toString.call(val)) {\n case \"[object Array]\": {\n seen = seen || new Map;\n if (seen.has(val))\n return seen.get(val);\n var copy_1 = val.slice(0);\n seen.set(val, copy_1);\n copy_1.forEach(function (child, i) {\n copy_1[i] = cloneDeepHelper(child, seen);\n });\n return copy_1;\n }\n case \"[object Object]\": {\n seen = seen || new Map;\n if (seen.has(val))\n return seen.get(val);\n var copy_2 = Object.create(Object.getPrototypeOf(val));\n seen.set(val, copy_2);\n Object.keys(val).forEach(function (key) {\n copy_2[key] = cloneDeepHelper(val[key], seen);\n });\n return copy_2;\n }\n default:\n return val;\n }\n}\n//# sourceMappingURL=cloneDeep.js.map","var prefixCounts = new Map();\nexport function makeUniqueId(prefix) {\n var count = prefixCounts.get(prefix) || 1;\n prefixCounts.set(prefix, count + 1);\n return prefix + \":\" + count + \":\" + Math.random().toString(36).slice(2);\n}\n//# sourceMappingURL=makeUniqueId.js.map","export function maybe(thunk) {\n try {\n return thunk();\n }\n catch (_a) { }\n}\n//# sourceMappingURL=maybe.js.map","import { __assign, __spreadArray } from \"tslib\";\nimport { isNonNullObject } from \"./objects.js\";\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nexport function mergeDeep() {\n var sources = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n sources[_i] = arguments[_i];\n }\n return mergeDeepArray(sources);\n}\nexport function mergeDeepArray(sources) {\n var target = sources[0] || {};\n var count = sources.length;\n if (count > 1) {\n var merger = new DeepMerger();\n for (var i = 1; i < count; ++i) {\n target = merger.merge(target, sources[i]);\n }\n }\n return target;\n}\nvar defaultReconciler = function (target, source, property) {\n return this.merge(target[property], source[property]);\n};\nvar DeepMerger = (function () {\n function DeepMerger(reconciler) {\n if (reconciler === void 0) { reconciler = defaultReconciler; }\n this.reconciler = reconciler;\n this.isObject = isNonNullObject;\n this.pastCopies = new Set();\n }\n DeepMerger.prototype.merge = function (target, source) {\n var _this = this;\n var context = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n context[_i - 2] = arguments[_i];\n }\n if (isNonNullObject(source) && isNonNullObject(target)) {\n Object.keys(source).forEach(function (sourceKey) {\n if (hasOwnProperty.call(target, sourceKey)) {\n var targetValue = target[sourceKey];\n if (source[sourceKey] !== targetValue) {\n var result = _this.reconciler.apply(_this, __spreadArray([target, source, sourceKey], context));\n if (result !== targetValue) {\n target = _this.shallowCopyForMerge(target);\n target[sourceKey] = result;\n }\n }\n }\n else {\n target = _this.shallowCopyForMerge(target);\n target[sourceKey] = source[sourceKey];\n }\n });\n return target;\n }\n return source;\n };\n DeepMerger.prototype.shallowCopyForMerge = function (value) {\n if (isNonNullObject(value) && !this.pastCopies.has(value)) {\n if (Array.isArray(value)) {\n value = value.slice(0);\n }\n else {\n value = __assign({ __proto__: Object.getPrototypeOf(value) }, value);\n }\n this.pastCopies.add(value);\n }\n return value;\n };\n return DeepMerger;\n}());\nexport { DeepMerger };\n//# sourceMappingURL=mergeDeep.js.map","export function isNonNullObject(obj) {\n return obj !== null && typeof obj === 'object';\n}\n//# sourceMappingURL=objects.js.map","import { maybe } from \"./maybe.js\";\nexport default (maybe(function () { return globalThis; }) ||\n maybe(function () { return window; }) ||\n maybe(function () { return self; }) ||\n maybe(function () { return global; }) ||\n maybe(function () { return Function(\"return this\")(); }));\n//# sourceMappingURL=global.js.map","import global from \"../common/global.js\";\nimport { maybe } from \"../common/maybe.js\";\nvar __ = \"__\";\nvar GLOBAL_KEY = [__, __].join(\"DEV\");\nfunction getDEV() {\n try {\n return Boolean(__DEV__);\n }\n catch (_a) {\n Object.defineProperty(global, GLOBAL_KEY, {\n value: maybe(function () { return process.env.NODE_ENV; }) !== \"production\",\n enumerable: false,\n configurable: true,\n writable: true,\n });\n return global[GLOBAL_KEY];\n }\n}\nexport default getDEV();\n//# sourceMappingURL=DEV.js.map","function maybe(thunk) {\n try { return thunk() } catch (_) {}\n}\n\nvar safeGlobal = (\n maybe(function() { return globalThis }) ||\n maybe(function() { return window }) ||\n maybe(function() { return self }) ||\n maybe(function() { return global }) ||\n // We don't expect the Function constructor ever to be invoked at runtime, as\n // long as at least one of globalThis, window, self, or global is defined, so\n // we are under no obligation to make it easy for static analysis tools to\n // detect syntactic usage of the Function constructor. If you think you can\n // improve your static analysis to detect this obfuscation, think again. This\n // is an arms race you cannot win, at least not in JavaScript.\n maybe(function() { return maybe.constructor(\"return this\")() })\n);\n\nvar needToRemove = false;\n\nexport function install() {\n if (safeGlobal &&\n !maybe(function() { return process.env.NODE_ENV }) &&\n !maybe(function() { return process })) {\n Object.defineProperty(safeGlobal, \"process\", {\n value: {\n env: {\n // This default needs to be \"production\" instead of \"development\", to\n // avoid the problem https://github.com/graphql/graphql-js/pull/2894\n // will eventually solve, once merged and released.\n NODE_ENV: \"production\",\n },\n },\n // Let anyone else change global.process as they see fit, but hide it from\n // Object.keys(global) enumeration.\n configurable: true,\n enumerable: false,\n writable: true,\n });\n needToRemove = true;\n }\n}\n\n// Call install() at least once, when this module is imported.\ninstall();\n\nexport function remove() {\n if (needToRemove) {\n delete safeGlobal.process;\n needToRemove = false;\n }\n}\n","/* eslint-disable no-redeclare */\n// $FlowFixMe[name-already-bound] workaround for: https://github.com/facebook/flow/issues/4441\nvar objectEntries = Object.entries || function (obj) {\n return Object.keys(obj).map(function (key) {\n return [key, obj[key]];\n });\n};\n\nexport default objectEntries;\n","import objectEntries from \"../polyfills/objectEntries.mjs\";\n\n/**\n * Creates an object map with the same keys as `map` and values generated by\n * running each value of `map` thru `fn`.\n */\nexport default function mapValue(map, fn) {\n var result = Object.create(null);\n\n for (var _i2 = 0, _objectEntries2 = objectEntries(map); _i2 < _objectEntries2.length; _i2++) {\n var _ref2 = _objectEntries2[_i2];\n var _key = _ref2[0];\n var _value = _ref2[1];\n result[_key] = fn(_value, _key);\n }\n\n return result;\n}\n","import objectEntries from \"../polyfills/objectEntries.mjs\";\nexport default function toObjMap(obj) {\n /* eslint-enable no-redeclare */\n if (Object.getPrototypeOf(obj) === null) {\n return obj;\n }\n\n var map = Object.create(null);\n\n for (var _i2 = 0, _objectEntries2 = objectEntries(obj); _i2 < _objectEntries2.length; _i2++) {\n var _ref2 = _objectEntries2[_i2];\n var key = _ref2[0];\n var value = _ref2[1];\n map[key] = value;\n }\n\n return map;\n}\n","/**\n * Creates a keyed JS object from an array, given a function to produce the keys\n * and a function to produce the values from each item in the array.\n *\n * const phoneBook = [\n * { name: 'Jon', num: '555-1234' },\n * { name: 'Jenny', num: '867-5309' }\n * ]\n *\n * // { Jon: '555-1234', Jenny: '867-5309' }\n * const phonesByName = keyValMap(\n * phoneBook,\n * entry => entry.name,\n * entry => entry.num\n * )\n *\n */\nexport default function keyValMap(list, keyFn, valFn) {\n return list.reduce(function (map, item) {\n map[keyFn(item)] = valFn(item);\n return map;\n }, Object.create(null));\n}\n","var MAX_SUGGESTIONS = 5;\n/**\n * Given [ A, B, C ] return ' Did you mean A, B, or C?'.\n */\n\n// eslint-disable-next-line no-redeclare\nexport default function didYouMean(firstArg, secondArg) {\n var _ref = typeof firstArg === 'string' ? [firstArg, secondArg] : [undefined, firstArg],\n subMessage = _ref[0],\n suggestionsArg = _ref[1];\n\n var message = ' Did you mean ';\n\n if (subMessage) {\n message += subMessage + ' ';\n }\n\n var suggestions = suggestionsArg.map(function (x) {\n return \"\\\"\".concat(x, \"\\\"\");\n });\n\n switch (suggestions.length) {\n case 0:\n return '';\n\n case 1:\n return message + suggestions[0] + '?';\n\n case 2:\n return message + suggestions[0] + ' or ' + suggestions[1] + '?';\n }\n\n var selected = suggestions.slice(0, MAX_SUGGESTIONS);\n var lastItem = selected.pop();\n return message + selected.join(', ') + ', or ' + lastItem + '?';\n}\n","/**\n * Returns the first argument it receives.\n */\nexport default function identityFunc(x) {\n return x;\n}\n","/**\n * Returns a number indicating whether a reference string comes before, or after,\n * or is the same as the given string in natural sort order.\n *\n * See: https://en.wikipedia.org/wiki/Natural_sort_order\n *\n */\nexport default function naturalCompare(aStr, bStr) {\n var aIdx = 0;\n var bIdx = 0;\n\n while (aIdx < aStr.length && bIdx < bStr.length) {\n var aChar = aStr.charCodeAt(aIdx);\n var bChar = bStr.charCodeAt(bIdx);\n\n if (isDigit(aChar) && isDigit(bChar)) {\n var aNum = 0;\n\n do {\n ++aIdx;\n aNum = aNum * 10 + aChar - DIGIT_0;\n aChar = aStr.charCodeAt(aIdx);\n } while (isDigit(aChar) && aNum > 0);\n\n var bNum = 0;\n\n do {\n ++bIdx;\n bNum = bNum * 10 + bChar - DIGIT_0;\n bChar = bStr.charCodeAt(bIdx);\n } while (isDigit(bChar) && bNum > 0);\n\n if (aNum < bNum) {\n return -1;\n }\n\n if (aNum > bNum) {\n return 1;\n }\n } else {\n if (aChar < bChar) {\n return -1;\n }\n\n if (aChar > bChar) {\n return 1;\n }\n\n ++aIdx;\n ++bIdx;\n }\n }\n\n return aStr.length - bStr.length;\n}\nvar DIGIT_0 = 48;\nvar DIGIT_9 = 57;\n\nfunction isDigit(code) {\n return !isNaN(code) && DIGIT_0 <= code && code <= DIGIT_9;\n}\n","import naturalCompare from \"./naturalCompare.mjs\";\n/**\n * Given an invalid input string and a list of valid options, returns a filtered\n * list of valid options sorted based on their similarity with the input.\n */\n\nexport default function suggestionList(input, options) {\n var optionsByDistance = Object.create(null);\n var lexicalDistance = new LexicalDistance(input);\n var threshold = Math.floor(input.length * 0.4) + 1;\n\n for (var _i2 = 0; _i2 < options.length; _i2++) {\n var option = options[_i2];\n var distance = lexicalDistance.measure(option, threshold);\n\n if (distance !== undefined) {\n optionsByDistance[option] = distance;\n }\n }\n\n return Object.keys(optionsByDistance).sort(function (a, b) {\n var distanceDiff = optionsByDistance[a] - optionsByDistance[b];\n return distanceDiff !== 0 ? distanceDiff : naturalCompare(a, b);\n });\n}\n/**\n * Computes the lexical distance between strings A and B.\n *\n * The \"distance\" between two strings is given by counting the minimum number\n * of edits needed to transform string A into string B. An edit can be an\n * insertion, deletion, or substitution of a single character, or a swap of two\n * adjacent characters.\n *\n * Includes a custom alteration from Damerau-Levenshtein to treat case changes\n * as a single edit which helps identify mis-cased values with an edit distance\n * of 1.\n *\n * This distance can be useful for detecting typos in input or sorting\n */\n\nvar LexicalDistance = /*#__PURE__*/function () {\n function LexicalDistance(input) {\n this._input = input;\n this._inputLowerCase = input.toLowerCase();\n this._inputArray = stringToArray(this._inputLowerCase);\n this._rows = [new Array(input.length + 1).fill(0), new Array(input.length + 1).fill(0), new Array(input.length + 1).fill(0)];\n }\n\n var _proto = LexicalDistance.prototype;\n\n _proto.measure = function measure(option, threshold) {\n if (this._input === option) {\n return 0;\n }\n\n var optionLowerCase = option.toLowerCase(); // Any case change counts as a single edit\n\n if (this._inputLowerCase === optionLowerCase) {\n return 1;\n }\n\n var a = stringToArray(optionLowerCase);\n var b = this._inputArray;\n\n if (a.length < b.length) {\n var tmp = a;\n a = b;\n b = tmp;\n }\n\n var aLength = a.length;\n var bLength = b.length;\n\n if (aLength - bLength > threshold) {\n return undefined;\n }\n\n var rows = this._rows;\n\n for (var j = 0; j <= bLength; j++) {\n rows[0][j] = j;\n }\n\n for (var i = 1; i <= aLength; i++) {\n var upRow = rows[(i - 1) % 3];\n var currentRow = rows[i % 3];\n var smallestCell = currentRow[0] = i;\n\n for (var _j = 1; _j <= bLength; _j++) {\n var cost = a[i - 1] === b[_j - 1] ? 0 : 1;\n var currentCell = Math.min(upRow[_j] + 1, // delete\n currentRow[_j - 1] + 1, // insert\n upRow[_j - 1] + cost // substitute\n );\n\n if (i > 1 && _j > 1 && a[i - 1] === b[_j - 2] && a[i - 2] === b[_j - 1]) {\n // transposition\n var doubleDiagonalCell = rows[(i - 2) % 3][_j - 2];\n currentCell = Math.min(currentCell, doubleDiagonalCell + 1);\n }\n\n if (currentCell < smallestCell) {\n smallestCell = currentCell;\n }\n\n currentRow[_j] = currentCell;\n } // Early exit, since distance can't go smaller than smallest element of the previous row.\n\n\n if (smallestCell > threshold) {\n return undefined;\n }\n }\n\n var distance = rows[aLength % 3][bLength];\n return distance <= threshold ? distance : undefined;\n };\n\n return LexicalDistance;\n}();\n\nfunction stringToArray(str) {\n var strLength = str.length;\n var array = new Array(strLength);\n\n for (var i = 0; i < strLength; ++i) {\n array[i] = str.charCodeAt(i);\n }\n\n return array;\n}\n","import inspect from \"../jsutils/inspect.mjs\";\nimport invariant from \"../jsutils/invariant.mjs\";\nimport keyValMap from \"../jsutils/keyValMap.mjs\";\nimport { Kind } from \"../language/kinds.mjs\";\n\n/**\n * Produces a JavaScript value given a GraphQL Value AST.\n *\n * Unlike `valueFromAST()`, no type is provided. The resulting JavaScript value\n * will reflect the provided GraphQL value AST.\n *\n * | GraphQL Value | JavaScript Value |\n * | -------------------- | ---------------- |\n * | Input Object | Object |\n * | List | Array |\n * | Boolean | Boolean |\n * | String / Enum | String |\n * | Int / Float | Number |\n * | Null | null |\n *\n */\nexport function valueFromASTUntyped(valueNode, variables) {\n switch (valueNode.kind) {\n case Kind.NULL:\n return null;\n\n case Kind.INT:\n return parseInt(valueNode.value, 10);\n\n case Kind.FLOAT:\n return parseFloat(valueNode.value);\n\n case Kind.STRING:\n case Kind.ENUM:\n case Kind.BOOLEAN:\n return valueNode.value;\n\n case Kind.LIST:\n return valueNode.values.map(function (node) {\n return valueFromASTUntyped(node, variables);\n });\n\n case Kind.OBJECT:\n return keyValMap(valueNode.fields, function (field) {\n return field.name.value;\n }, function (field) {\n return valueFromASTUntyped(field.value, variables);\n });\n\n case Kind.VARIABLE:\n return variables === null || variables === void 0 ? void 0 : variables[valueNode.name.value];\n } // istanbul ignore next (Not reachable. All possible value nodes have been considered)\n\n\n false || invariant(0, 'Unexpected value node: ' + inspect(valueNode));\n}\n","function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nimport objectEntries from \"../polyfills/objectEntries.mjs\";\nimport { SYMBOL_TO_STRING_TAG } from \"../polyfills/symbols.mjs\";\nimport inspect from \"../jsutils/inspect.mjs\";\nimport keyMap from \"../jsutils/keyMap.mjs\";\nimport mapValue from \"../jsutils/mapValue.mjs\";\nimport toObjMap from \"../jsutils/toObjMap.mjs\";\nimport devAssert from \"../jsutils/devAssert.mjs\";\nimport keyValMap from \"../jsutils/keyValMap.mjs\";\nimport instanceOf from \"../jsutils/instanceOf.mjs\";\nimport didYouMean from \"../jsutils/didYouMean.mjs\";\nimport isObjectLike from \"../jsutils/isObjectLike.mjs\";\nimport identityFunc from \"../jsutils/identityFunc.mjs\";\nimport defineInspect from \"../jsutils/defineInspect.mjs\";\nimport suggestionList from \"../jsutils/suggestionList.mjs\";\nimport { GraphQLError } from \"../error/GraphQLError.mjs\";\nimport { Kind } from \"../language/kinds.mjs\";\nimport { print } from \"../language/printer.mjs\";\nimport { valueFromASTUntyped } from \"../utilities/valueFromASTUntyped.mjs\";\nexport function isType(type) {\n return isScalarType(type) || isObjectType(type) || isInterfaceType(type) || isUnionType(type) || isEnumType(type) || isInputObjectType(type) || isListType(type) || isNonNullType(type);\n}\nexport function assertType(type) {\n if (!isType(type)) {\n throw new Error(\"Expected \".concat(inspect(type), \" to be a GraphQL type.\"));\n }\n\n return type;\n}\n/**\n * There are predicates for each kind of GraphQL type.\n */\n\n// eslint-disable-next-line no-redeclare\nexport function isScalarType(type) {\n return instanceOf(type, GraphQLScalarType);\n}\nexport function assertScalarType(type) {\n if (!isScalarType(type)) {\n throw new Error(\"Expected \".concat(inspect(type), \" to be a GraphQL Scalar type.\"));\n }\n\n return type;\n}\n// eslint-disable-next-line no-redeclare\nexport function isObjectType(type) {\n return instanceOf(type, GraphQLObjectType);\n}\nexport function assertObjectType(type) {\n if (!isObjectType(type)) {\n throw new Error(\"Expected \".concat(inspect(type), \" to be a GraphQL Object type.\"));\n }\n\n return type;\n}\n// eslint-disable-next-line no-redeclare\nexport function isInterfaceType(type) {\n return instanceOf(type, GraphQLInterfaceType);\n}\nexport function assertInterfaceType(type) {\n if (!isInterfaceType(type)) {\n throw new Error(\"Expected \".concat(inspect(type), \" to be a GraphQL Interface type.\"));\n }\n\n return type;\n}\n// eslint-disable-next-line no-redeclare\nexport function isUnionType(type) {\n return instanceOf(type, GraphQLUnionType);\n}\nexport function assertUnionType(type) {\n if (!isUnionType(type)) {\n throw new Error(\"Expected \".concat(inspect(type), \" to be a GraphQL Union type.\"));\n }\n\n return type;\n}\n// eslint-disable-next-line no-redeclare\nexport function isEnumType(type) {\n return instanceOf(type, GraphQLEnumType);\n}\nexport function assertEnumType(type) {\n if (!isEnumType(type)) {\n throw new Error(\"Expected \".concat(inspect(type), \" to be a GraphQL Enum type.\"));\n }\n\n return type;\n}\n// eslint-disable-next-line no-redeclare\nexport function isInputObjectType(type) {\n return instanceOf(type, GraphQLInputObjectType);\n}\nexport function assertInputObjectType(type) {\n if (!isInputObjectType(type)) {\n throw new Error(\"Expected \".concat(inspect(type), \" to be a GraphQL Input Object type.\"));\n }\n\n return type;\n}\n// eslint-disable-next-line no-redeclare\nexport function isListType(type) {\n return instanceOf(type, GraphQLList);\n}\nexport function assertListType(type) {\n if (!isListType(type)) {\n throw new Error(\"Expected \".concat(inspect(type), \" to be a GraphQL List type.\"));\n }\n\n return type;\n}\n// eslint-disable-next-line no-redeclare\nexport function isNonNullType(type) {\n return instanceOf(type, GraphQLNonNull);\n}\nexport function assertNonNullType(type) {\n if (!isNonNullType(type)) {\n throw new Error(\"Expected \".concat(inspect(type), \" to be a GraphQL Non-Null type.\"));\n }\n\n return type;\n}\n/**\n * These types may be used as input types for arguments and directives.\n */\n\nexport function isInputType(type) {\n return isScalarType(type) || isEnumType(type) || isInputObjectType(type) || isWrappingType(type) && isInputType(type.ofType);\n}\nexport function assertInputType(type) {\n if (!isInputType(type)) {\n throw new Error(\"Expected \".concat(inspect(type), \" to be a GraphQL input type.\"));\n }\n\n return type;\n}\n/**\n * These types may be used as output types as the result of fields.\n */\n\nexport function isOutputType(type) {\n return isScalarType(type) || isObjectType(type) || isInterfaceType(type) || isUnionType(type) || isEnumType(type) || isWrappingType(type) && isOutputType(type.ofType);\n}\nexport function assertOutputType(type) {\n if (!isOutputType(type)) {\n throw new Error(\"Expected \".concat(inspect(type), \" to be a GraphQL output type.\"));\n }\n\n return type;\n}\n/**\n * These types may describe types which may be leaf values.\n */\n\nexport function isLeafType(type) {\n return isScalarType(type) || isEnumType(type);\n}\nexport function assertLeafType(type) {\n if (!isLeafType(type)) {\n throw new Error(\"Expected \".concat(inspect(type), \" to be a GraphQL leaf type.\"));\n }\n\n return type;\n}\n/**\n * These types may describe the parent context of a selection set.\n */\n\nexport function isCompositeType(type) {\n return isObjectType(type) || isInterfaceType(type) || isUnionType(type);\n}\nexport function assertCompositeType(type) {\n if (!isCompositeType(type)) {\n throw new Error(\"Expected \".concat(inspect(type), \" to be a GraphQL composite type.\"));\n }\n\n return type;\n}\n/**\n * These types may describe the parent context of a selection set.\n */\n\nexport function isAbstractType(type) {\n return isInterfaceType(type) || isUnionType(type);\n}\nexport function assertAbstractType(type) {\n if (!isAbstractType(type)) {\n throw new Error(\"Expected \".concat(inspect(type), \" to be a GraphQL abstract type.\"));\n }\n\n return type;\n}\n/**\n * List Type Wrapper\n *\n * A list is a wrapping type which points to another type.\n * Lists are often created within the context of defining the fields of\n * an object type.\n *\n * Example:\n *\n * const PersonType = new GraphQLObjectType({\n * name: 'Person',\n * fields: () => ({\n * parents: { type: new GraphQLList(PersonType) },\n * children: { type: new GraphQLList(PersonType) },\n * })\n * })\n *\n */\n// FIXME: workaround to fix issue with Babel parser\n\n/* ::\ndeclare class GraphQLList<+T: GraphQLType> {\n +ofType: T;\n static (ofType: T): GraphQLList;\n // Note: constructors cannot be used for covariant types. Drop the \"new\".\n constructor(ofType: GraphQLType): void;\n}\n*/\n\nexport function GraphQLList(ofType) {\n // istanbul ignore else (to be removed in v16.0.0)\n if (this instanceof GraphQLList) {\n this.ofType = assertType(ofType);\n } else {\n return new GraphQLList(ofType);\n }\n} // Need to cast through any to alter the prototype.\n\nGraphQLList.prototype.toString = function toString() {\n return '[' + String(this.ofType) + ']';\n};\n\nGraphQLList.prototype.toJSON = function toJSON() {\n return this.toString();\n};\n\nObject.defineProperty(GraphQLList.prototype, SYMBOL_TO_STRING_TAG, {\n get: function get() {\n return 'GraphQLList';\n }\n}); // Print a simplified form when appearing in `inspect` and `util.inspect`.\n\ndefineInspect(GraphQLList);\n/**\n * Non-Null Type Wrapper\n *\n * A non-null is a wrapping type which points to another type.\n * Non-null types enforce that their values are never null and can ensure\n * an error is raised if this ever occurs during a request. It is useful for\n * fields which you can make a strong guarantee on non-nullability, for example\n * usually the id field of a database row will never be null.\n *\n * Example:\n *\n * const RowType = new GraphQLObjectType({\n * name: 'Row',\n * fields: () => ({\n * id: { type: new GraphQLNonNull(GraphQLString) },\n * })\n * })\n *\n * Note: the enforcement of non-nullability occurs within the executor.\n */\n// FIXME: workaround to fix issue with Babel parser\n\n/* ::\ndeclare class GraphQLNonNull<+T: GraphQLNullableType> {\n +ofType: T;\n static (ofType: T): GraphQLNonNull;\n // Note: constructors cannot be used for covariant types. Drop the \"new\".\n constructor(ofType: GraphQLType): void;\n}\n*/\n\nexport function GraphQLNonNull(ofType) {\n // istanbul ignore else (to be removed in v16.0.0)\n if (this instanceof GraphQLNonNull) {\n this.ofType = assertNullableType(ofType);\n } else {\n return new GraphQLNonNull(ofType);\n }\n} // Need to cast through any to alter the prototype.\n\nGraphQLNonNull.prototype.toString = function toString() {\n return String(this.ofType) + '!';\n};\n\nGraphQLNonNull.prototype.toJSON = function toJSON() {\n return this.toString();\n};\n\nObject.defineProperty(GraphQLNonNull.prototype, SYMBOL_TO_STRING_TAG, {\n get: function get() {\n return 'GraphQLNonNull';\n }\n}); // Print a simplified form when appearing in `inspect` and `util.inspect`.\n\ndefineInspect(GraphQLNonNull);\n/**\n * These types wrap and modify other types\n */\n\nexport function isWrappingType(type) {\n return isListType(type) || isNonNullType(type);\n}\nexport function assertWrappingType(type) {\n if (!isWrappingType(type)) {\n throw new Error(\"Expected \".concat(inspect(type), \" to be a GraphQL wrapping type.\"));\n }\n\n return type;\n}\n/**\n * These types can all accept null as a value.\n */\n\nexport function isNullableType(type) {\n return isType(type) && !isNonNullType(type);\n}\nexport function assertNullableType(type) {\n if (!isNullableType(type)) {\n throw new Error(\"Expected \".concat(inspect(type), \" to be a GraphQL nullable type.\"));\n }\n\n return type;\n}\n/* eslint-disable no-redeclare */\n\nexport function getNullableType(type) {\n /* eslint-enable no-redeclare */\n if (type) {\n return isNonNullType(type) ? type.ofType : type;\n }\n}\n/**\n * These named types do not include modifiers like List or NonNull.\n */\n\nexport function isNamedType(type) {\n return isScalarType(type) || isObjectType(type) || isInterfaceType(type) || isUnionType(type) || isEnumType(type) || isInputObjectType(type);\n}\nexport function assertNamedType(type) {\n if (!isNamedType(type)) {\n throw new Error(\"Expected \".concat(inspect(type), \" to be a GraphQL named type.\"));\n }\n\n return type;\n}\n/* eslint-disable no-redeclare */\n\nexport function getNamedType(type) {\n /* eslint-enable no-redeclare */\n if (type) {\n var unwrappedType = type;\n\n while (isWrappingType(unwrappedType)) {\n unwrappedType = unwrappedType.ofType;\n }\n\n return unwrappedType;\n }\n}\n/**\n * Used while defining GraphQL types to allow for circular references in\n * otherwise immutable type definitions.\n */\n\nfunction resolveThunk(thunk) {\n // $FlowFixMe[incompatible-use]\n return typeof thunk === 'function' ? thunk() : thunk;\n}\n\nfunction undefineIfEmpty(arr) {\n return arr && arr.length > 0 ? arr : undefined;\n}\n/**\n * Scalar Type Definition\n *\n * The leaf values of any request and input values to arguments are\n * Scalars (or Enums) and are defined with a name and a series of functions\n * used to parse input from ast or variables and to ensure validity.\n *\n * If a type's serialize function does not return a value (i.e. it returns\n * `undefined`) then an error will be raised and a `null` value will be returned\n * in the response. If the serialize function returns `null`, then no error will\n * be included in the response.\n *\n * Example:\n *\n * const OddType = new GraphQLScalarType({\n * name: 'Odd',\n * serialize(value) {\n * if (value % 2 === 1) {\n * return value;\n * }\n * }\n * });\n *\n */\n\n\nexport var GraphQLScalarType = /*#__PURE__*/function () {\n function GraphQLScalarType(config) {\n var _config$parseValue, _config$serialize, _config$parseLiteral;\n\n var parseValue = (_config$parseValue = config.parseValue) !== null && _config$parseValue !== void 0 ? _config$parseValue : identityFunc;\n this.name = config.name;\n this.description = config.description;\n this.specifiedByUrl = config.specifiedByUrl;\n this.serialize = (_config$serialize = config.serialize) !== null && _config$serialize !== void 0 ? _config$serialize : identityFunc;\n this.parseValue = parseValue;\n this.parseLiteral = (_config$parseLiteral = config.parseLiteral) !== null && _config$parseLiteral !== void 0 ? _config$parseLiteral : function (node, variables) {\n return parseValue(valueFromASTUntyped(node, variables));\n };\n this.extensions = config.extensions && toObjMap(config.extensions);\n this.astNode = config.astNode;\n this.extensionASTNodes = undefineIfEmpty(config.extensionASTNodes);\n typeof config.name === 'string' || devAssert(0, 'Must provide name.');\n config.specifiedByUrl == null || typeof config.specifiedByUrl === 'string' || devAssert(0, \"\".concat(this.name, \" must provide \\\"specifiedByUrl\\\" as a string, \") + \"but got: \".concat(inspect(config.specifiedByUrl), \".\"));\n config.serialize == null || typeof config.serialize === 'function' || devAssert(0, \"\".concat(this.name, \" must provide \\\"serialize\\\" function. If this custom Scalar is also used as an input type, ensure \\\"parseValue\\\" and \\\"parseLiteral\\\" functions are also provided.\"));\n\n if (config.parseLiteral) {\n typeof config.parseValue === 'function' && typeof config.parseLiteral === 'function' || devAssert(0, \"\".concat(this.name, \" must provide both \\\"parseValue\\\" and \\\"parseLiteral\\\" functions.\"));\n }\n }\n\n var _proto = GraphQLScalarType.prototype;\n\n _proto.toConfig = function toConfig() {\n var _this$extensionASTNod;\n\n return {\n name: this.name,\n description: this.description,\n specifiedByUrl: this.specifiedByUrl,\n serialize: this.serialize,\n parseValue: this.parseValue,\n parseLiteral: this.parseLiteral,\n extensions: this.extensions,\n astNode: this.astNode,\n extensionASTNodes: (_this$extensionASTNod = this.extensionASTNodes) !== null && _this$extensionASTNod !== void 0 ? _this$extensionASTNod : []\n };\n };\n\n _proto.toString = function toString() {\n return this.name;\n };\n\n _proto.toJSON = function toJSON() {\n return this.toString();\n } // $FlowFixMe[unsupported-syntax] Flow doesn't support computed properties yet\n ;\n\n _createClass(GraphQLScalarType, [{\n key: SYMBOL_TO_STRING_TAG,\n get: function get() {\n return 'GraphQLScalarType';\n }\n }]);\n\n return GraphQLScalarType;\n}(); // Print a simplified form when appearing in `inspect` and `util.inspect`.\n\ndefineInspect(GraphQLScalarType);\n\n/**\n * Object Type Definition\n *\n * Almost all of the GraphQL types you define will be object types. Object types\n * have a name, but most importantly describe their fields.\n *\n * Example:\n *\n * const AddressType = new GraphQLObjectType({\n * name: 'Address',\n * fields: {\n * street: { type: GraphQLString },\n * number: { type: GraphQLInt },\n * formatted: {\n * type: GraphQLString,\n * resolve(obj) {\n * return obj.number + ' ' + obj.street\n * }\n * }\n * }\n * });\n *\n * When two types need to refer to each other, or a type needs to refer to\n * itself in a field, you can use a function expression (aka a closure or a\n * thunk) to supply the fields lazily.\n *\n * Example:\n *\n * const PersonType = new GraphQLObjectType({\n * name: 'Person',\n * fields: () => ({\n * name: { type: GraphQLString },\n * bestFriend: { type: PersonType },\n * })\n * });\n *\n */\nexport var GraphQLObjectType = /*#__PURE__*/function () {\n function GraphQLObjectType(config) {\n this.name = config.name;\n this.description = config.description;\n this.isTypeOf = config.isTypeOf;\n this.extensions = config.extensions && toObjMap(config.extensions);\n this.astNode = config.astNode;\n this.extensionASTNodes = undefineIfEmpty(config.extensionASTNodes);\n this._fields = defineFieldMap.bind(undefined, config);\n this._interfaces = defineInterfaces.bind(undefined, config);\n typeof config.name === 'string' || devAssert(0, 'Must provide name.');\n config.isTypeOf == null || typeof config.isTypeOf === 'function' || devAssert(0, \"\".concat(this.name, \" must provide \\\"isTypeOf\\\" as a function, \") + \"but got: \".concat(inspect(config.isTypeOf), \".\"));\n }\n\n var _proto2 = GraphQLObjectType.prototype;\n\n _proto2.getFields = function getFields() {\n if (typeof this._fields === 'function') {\n this._fields = this._fields();\n }\n\n return this._fields;\n };\n\n _proto2.getInterfaces = function getInterfaces() {\n if (typeof this._interfaces === 'function') {\n this._interfaces = this._interfaces();\n }\n\n return this._interfaces;\n };\n\n _proto2.toConfig = function toConfig() {\n return {\n name: this.name,\n description: this.description,\n interfaces: this.getInterfaces(),\n fields: fieldsToFieldsConfig(this.getFields()),\n isTypeOf: this.isTypeOf,\n extensions: this.extensions,\n astNode: this.astNode,\n extensionASTNodes: this.extensionASTNodes || []\n };\n };\n\n _proto2.toString = function toString() {\n return this.name;\n };\n\n _proto2.toJSON = function toJSON() {\n return this.toString();\n } // $FlowFixMe[unsupported-syntax] Flow doesn't support computed properties yet\n ;\n\n _createClass(GraphQLObjectType, [{\n key: SYMBOL_TO_STRING_TAG,\n get: function get() {\n return 'GraphQLObjectType';\n }\n }]);\n\n return GraphQLObjectType;\n}(); // Print a simplified form when appearing in `inspect` and `util.inspect`.\n\ndefineInspect(GraphQLObjectType);\n\nfunction defineInterfaces(config) {\n var _resolveThunk;\n\n var interfaces = (_resolveThunk = resolveThunk(config.interfaces)) !== null && _resolveThunk !== void 0 ? _resolveThunk : [];\n Array.isArray(interfaces) || devAssert(0, \"\".concat(config.name, \" interfaces must be an Array or a function which returns an Array.\"));\n return interfaces;\n}\n\nfunction defineFieldMap(config) {\n var fieldMap = resolveThunk(config.fields);\n isPlainObj(fieldMap) || devAssert(0, \"\".concat(config.name, \" fields must be an object with field names as keys or a function which returns such an object.\"));\n return mapValue(fieldMap, function (fieldConfig, fieldName) {\n var _fieldConfig$args;\n\n isPlainObj(fieldConfig) || devAssert(0, \"\".concat(config.name, \".\").concat(fieldName, \" field config must be an object.\"));\n !('isDeprecated' in fieldConfig) || devAssert(0, \"\".concat(config.name, \".\").concat(fieldName, \" should provide \\\"deprecationReason\\\" instead of \\\"isDeprecated\\\".\"));\n fieldConfig.resolve == null || typeof fieldConfig.resolve === 'function' || devAssert(0, \"\".concat(config.name, \".\").concat(fieldName, \" field resolver must be a function if \") + \"provided, but got: \".concat(inspect(fieldConfig.resolve), \".\"));\n var argsConfig = (_fieldConfig$args = fieldConfig.args) !== null && _fieldConfig$args !== void 0 ? _fieldConfig$args : {};\n isPlainObj(argsConfig) || devAssert(0, \"\".concat(config.name, \".\").concat(fieldName, \" args must be an object with argument names as keys.\"));\n var args = objectEntries(argsConfig).map(function (_ref) {\n var argName = _ref[0],\n argConfig = _ref[1];\n return {\n name: argName,\n description: argConfig.description,\n type: argConfig.type,\n defaultValue: argConfig.defaultValue,\n deprecationReason: argConfig.deprecationReason,\n extensions: argConfig.extensions && toObjMap(argConfig.extensions),\n astNode: argConfig.astNode\n };\n });\n return {\n name: fieldName,\n description: fieldConfig.description,\n type: fieldConfig.type,\n args: args,\n resolve: fieldConfig.resolve,\n subscribe: fieldConfig.subscribe,\n isDeprecated: fieldConfig.deprecationReason != null,\n deprecationReason: fieldConfig.deprecationReason,\n extensions: fieldConfig.extensions && toObjMap(fieldConfig.extensions),\n astNode: fieldConfig.astNode\n };\n });\n}\n\nfunction isPlainObj(obj) {\n return isObjectLike(obj) && !Array.isArray(obj);\n}\n\nfunction fieldsToFieldsConfig(fields) {\n return mapValue(fields, function (field) {\n return {\n description: field.description,\n type: field.type,\n args: argsToArgsConfig(field.args),\n resolve: field.resolve,\n subscribe: field.subscribe,\n deprecationReason: field.deprecationReason,\n extensions: field.extensions,\n astNode: field.astNode\n };\n });\n}\n/**\n * @internal\n */\n\n\nexport function argsToArgsConfig(args) {\n return keyValMap(args, function (arg) {\n return arg.name;\n }, function (arg) {\n return {\n description: arg.description,\n type: arg.type,\n defaultValue: arg.defaultValue,\n deprecationReason: arg.deprecationReason,\n extensions: arg.extensions,\n astNode: arg.astNode\n };\n });\n}\nexport function isRequiredArgument(arg) {\n return isNonNullType(arg.type) && arg.defaultValue === undefined;\n}\n\n/**\n * Interface Type Definition\n *\n * When a field can return one of a heterogeneous set of types, a Interface type\n * is used to describe what types are possible, what fields are in common across\n * all types, as well as a function to determine which type is actually used\n * when the field is resolved.\n *\n * Example:\n *\n * const EntityType = new GraphQLInterfaceType({\n * name: 'Entity',\n * fields: {\n * name: { type: GraphQLString }\n * }\n * });\n *\n */\nexport var GraphQLInterfaceType = /*#__PURE__*/function () {\n function GraphQLInterfaceType(config) {\n this.name = config.name;\n this.description = config.description;\n this.resolveType = config.resolveType;\n this.extensions = config.extensions && toObjMap(config.extensions);\n this.astNode = config.astNode;\n this.extensionASTNodes = undefineIfEmpty(config.extensionASTNodes);\n this._fields = defineFieldMap.bind(undefined, config);\n this._interfaces = defineInterfaces.bind(undefined, config);\n typeof config.name === 'string' || devAssert(0, 'Must provide name.');\n config.resolveType == null || typeof config.resolveType === 'function' || devAssert(0, \"\".concat(this.name, \" must provide \\\"resolveType\\\" as a function, \") + \"but got: \".concat(inspect(config.resolveType), \".\"));\n }\n\n var _proto3 = GraphQLInterfaceType.prototype;\n\n _proto3.getFields = function getFields() {\n if (typeof this._fields === 'function') {\n this._fields = this._fields();\n }\n\n return this._fields;\n };\n\n _proto3.getInterfaces = function getInterfaces() {\n if (typeof this._interfaces === 'function') {\n this._interfaces = this._interfaces();\n }\n\n return this._interfaces;\n };\n\n _proto3.toConfig = function toConfig() {\n var _this$extensionASTNod2;\n\n return {\n name: this.name,\n description: this.description,\n interfaces: this.getInterfaces(),\n fields: fieldsToFieldsConfig(this.getFields()),\n resolveType: this.resolveType,\n extensions: this.extensions,\n astNode: this.astNode,\n extensionASTNodes: (_this$extensionASTNod2 = this.extensionASTNodes) !== null && _this$extensionASTNod2 !== void 0 ? _this$extensionASTNod2 : []\n };\n };\n\n _proto3.toString = function toString() {\n return this.name;\n };\n\n _proto3.toJSON = function toJSON() {\n return this.toString();\n } // $FlowFixMe[unsupported-syntax] Flow doesn't support computed properties yet\n ;\n\n _createClass(GraphQLInterfaceType, [{\n key: SYMBOL_TO_STRING_TAG,\n get: function get() {\n return 'GraphQLInterfaceType';\n }\n }]);\n\n return GraphQLInterfaceType;\n}(); // Print a simplified form when appearing in `inspect` and `util.inspect`.\n\ndefineInspect(GraphQLInterfaceType);\n\n/**\n * Union Type Definition\n *\n * When a field can return one of a heterogeneous set of types, a Union type\n * is used to describe what types are possible as well as providing a function\n * to determine which type is actually used when the field is resolved.\n *\n * Example:\n *\n * const PetType = new GraphQLUnionType({\n * name: 'Pet',\n * types: [ DogType, CatType ],\n * resolveType(value) {\n * if (value instanceof Dog) {\n * return DogType;\n * }\n * if (value instanceof Cat) {\n * return CatType;\n * }\n * }\n * });\n *\n */\nexport var GraphQLUnionType = /*#__PURE__*/function () {\n function GraphQLUnionType(config) {\n this.name = config.name;\n this.description = config.description;\n this.resolveType = config.resolveType;\n this.extensions = config.extensions && toObjMap(config.extensions);\n this.astNode = config.astNode;\n this.extensionASTNodes = undefineIfEmpty(config.extensionASTNodes);\n this._types = defineTypes.bind(undefined, config);\n typeof config.name === 'string' || devAssert(0, 'Must provide name.');\n config.resolveType == null || typeof config.resolveType === 'function' || devAssert(0, \"\".concat(this.name, \" must provide \\\"resolveType\\\" as a function, \") + \"but got: \".concat(inspect(config.resolveType), \".\"));\n }\n\n var _proto4 = GraphQLUnionType.prototype;\n\n _proto4.getTypes = function getTypes() {\n if (typeof this._types === 'function') {\n this._types = this._types();\n }\n\n return this._types;\n };\n\n _proto4.toConfig = function toConfig() {\n var _this$extensionASTNod3;\n\n return {\n name: this.name,\n description: this.description,\n types: this.getTypes(),\n resolveType: this.resolveType,\n extensions: this.extensions,\n astNode: this.astNode,\n extensionASTNodes: (_this$extensionASTNod3 = this.extensionASTNodes) !== null && _this$extensionASTNod3 !== void 0 ? _this$extensionASTNod3 : []\n };\n };\n\n _proto4.toString = function toString() {\n return this.name;\n };\n\n _proto4.toJSON = function toJSON() {\n return this.toString();\n } // $FlowFixMe[unsupported-syntax] Flow doesn't support computed properties yet\n ;\n\n _createClass(GraphQLUnionType, [{\n key: SYMBOL_TO_STRING_TAG,\n get: function get() {\n return 'GraphQLUnionType';\n }\n }]);\n\n return GraphQLUnionType;\n}(); // Print a simplified form when appearing in `inspect` and `util.inspect`.\n\ndefineInspect(GraphQLUnionType);\n\nfunction defineTypes(config) {\n var types = resolveThunk(config.types);\n Array.isArray(types) || devAssert(0, \"Must provide Array of types or a function which returns such an array for Union \".concat(config.name, \".\"));\n return types;\n}\n\n/**\n * Enum Type Definition\n *\n * Some leaf values of requests and input values are Enums. GraphQL serializes\n * Enum values as strings, however internally Enums can be represented by any\n * kind of type, often integers.\n *\n * Example:\n *\n * const RGBType = new GraphQLEnumType({\n * name: 'RGB',\n * values: {\n * RED: { value: 0 },\n * GREEN: { value: 1 },\n * BLUE: { value: 2 }\n * }\n * });\n *\n * Note: If a value is not provided in a definition, the name of the enum value\n * will be used as its internal value.\n */\nexport var GraphQLEnumType\n/* */\n= /*#__PURE__*/function () {\n function GraphQLEnumType(config) {\n this.name = config.name;\n this.description = config.description;\n this.extensions = config.extensions && toObjMap(config.extensions);\n this.astNode = config.astNode;\n this.extensionASTNodes = undefineIfEmpty(config.extensionASTNodes);\n this._values = defineEnumValues(this.name, config.values);\n this._valueLookup = new Map(this._values.map(function (enumValue) {\n return [enumValue.value, enumValue];\n }));\n this._nameLookup = keyMap(this._values, function (value) {\n return value.name;\n });\n typeof config.name === 'string' || devAssert(0, 'Must provide name.');\n }\n\n var _proto5 = GraphQLEnumType.prototype;\n\n _proto5.getValues = function getValues() {\n return this._values;\n };\n\n _proto5.getValue = function getValue(name) {\n return this._nameLookup[name];\n };\n\n _proto5.serialize = function serialize(outputValue) {\n var enumValue = this._valueLookup.get(outputValue);\n\n if (enumValue === undefined) {\n throw new GraphQLError(\"Enum \\\"\".concat(this.name, \"\\\" cannot represent value: \").concat(inspect(outputValue)));\n }\n\n return enumValue.name;\n };\n\n _proto5.parseValue = function parseValue(inputValue)\n /* T */\n {\n if (typeof inputValue !== 'string') {\n var valueStr = inspect(inputValue);\n throw new GraphQLError(\"Enum \\\"\".concat(this.name, \"\\\" cannot represent non-string value: \").concat(valueStr, \".\") + didYouMeanEnumValue(this, valueStr));\n }\n\n var enumValue = this.getValue(inputValue);\n\n if (enumValue == null) {\n throw new GraphQLError(\"Value \\\"\".concat(inputValue, \"\\\" does not exist in \\\"\").concat(this.name, \"\\\" enum.\") + didYouMeanEnumValue(this, inputValue));\n }\n\n return enumValue.value;\n };\n\n _proto5.parseLiteral = function parseLiteral(valueNode, _variables)\n /* T */\n {\n // Note: variables will be resolved to a value before calling this function.\n if (valueNode.kind !== Kind.ENUM) {\n var valueStr = print(valueNode);\n throw new GraphQLError(\"Enum \\\"\".concat(this.name, \"\\\" cannot represent non-enum value: \").concat(valueStr, \".\") + didYouMeanEnumValue(this, valueStr), valueNode);\n }\n\n var enumValue = this.getValue(valueNode.value);\n\n if (enumValue == null) {\n var _valueStr = print(valueNode);\n\n throw new GraphQLError(\"Value \\\"\".concat(_valueStr, \"\\\" does not exist in \\\"\").concat(this.name, \"\\\" enum.\") + didYouMeanEnumValue(this, _valueStr), valueNode);\n }\n\n return enumValue.value;\n };\n\n _proto5.toConfig = function toConfig() {\n var _this$extensionASTNod4;\n\n var values = keyValMap(this.getValues(), function (value) {\n return value.name;\n }, function (value) {\n return {\n description: value.description,\n value: value.value,\n deprecationReason: value.deprecationReason,\n extensions: value.extensions,\n astNode: value.astNode\n };\n });\n return {\n name: this.name,\n description: this.description,\n values: values,\n extensions: this.extensions,\n astNode: this.astNode,\n extensionASTNodes: (_this$extensionASTNod4 = this.extensionASTNodes) !== null && _this$extensionASTNod4 !== void 0 ? _this$extensionASTNod4 : []\n };\n };\n\n _proto5.toString = function toString() {\n return this.name;\n };\n\n _proto5.toJSON = function toJSON() {\n return this.toString();\n } // $FlowFixMe[unsupported-syntax] Flow doesn't support computed properties yet\n ;\n\n _createClass(GraphQLEnumType, [{\n key: SYMBOL_TO_STRING_TAG,\n get: function get() {\n return 'GraphQLEnumType';\n }\n }]);\n\n return GraphQLEnumType;\n}(); // Print a simplified form when appearing in `inspect` and `util.inspect`.\n\ndefineInspect(GraphQLEnumType);\n\nfunction didYouMeanEnumValue(enumType, unknownValueStr) {\n var allNames = enumType.getValues().map(function (value) {\n return value.name;\n });\n var suggestedValues = suggestionList(unknownValueStr, allNames);\n return didYouMean('the enum value', suggestedValues);\n}\n\nfunction defineEnumValues(typeName, valueMap) {\n isPlainObj(valueMap) || devAssert(0, \"\".concat(typeName, \" values must be an object with value names as keys.\"));\n return objectEntries(valueMap).map(function (_ref2) {\n var valueName = _ref2[0],\n valueConfig = _ref2[1];\n isPlainObj(valueConfig) || devAssert(0, \"\".concat(typeName, \".\").concat(valueName, \" must refer to an object with a \\\"value\\\" key \") + \"representing an internal value but got: \".concat(inspect(valueConfig), \".\"));\n !('isDeprecated' in valueConfig) || devAssert(0, \"\".concat(typeName, \".\").concat(valueName, \" should provide \\\"deprecationReason\\\" instead of \\\"isDeprecated\\\".\"));\n return {\n name: valueName,\n description: valueConfig.description,\n value: valueConfig.value !== undefined ? valueConfig.value : valueName,\n isDeprecated: valueConfig.deprecationReason != null,\n deprecationReason: valueConfig.deprecationReason,\n extensions: valueConfig.extensions && toObjMap(valueConfig.extensions),\n astNode: valueConfig.astNode\n };\n });\n}\n\n/**\n * Input Object Type Definition\n *\n * An input object defines a structured collection of fields which may be\n * supplied to a field argument.\n *\n * Using `NonNull` will ensure that a value must be provided by the query\n *\n * Example:\n *\n * const GeoPoint = new GraphQLInputObjectType({\n * name: 'GeoPoint',\n * fields: {\n * lat: { type: new GraphQLNonNull(GraphQLFloat) },\n * lon: { type: new GraphQLNonNull(GraphQLFloat) },\n * alt: { type: GraphQLFloat, defaultValue: 0 },\n * }\n * });\n *\n */\nexport var GraphQLInputObjectType = /*#__PURE__*/function () {\n function GraphQLInputObjectType(config) {\n this.name = config.name;\n this.description = config.description;\n this.extensions = config.extensions && toObjMap(config.extensions);\n this.astNode = config.astNode;\n this.extensionASTNodes = undefineIfEmpty(config.extensionASTNodes);\n this._fields = defineInputFieldMap.bind(undefined, config);\n typeof config.name === 'string' || devAssert(0, 'Must provide name.');\n }\n\n var _proto6 = GraphQLInputObjectType.prototype;\n\n _proto6.getFields = function getFields() {\n if (typeof this._fields === 'function') {\n this._fields = this._fields();\n }\n\n return this._fields;\n };\n\n _proto6.toConfig = function toConfig() {\n var _this$extensionASTNod5;\n\n var fields = mapValue(this.getFields(), function (field) {\n return {\n description: field.description,\n type: field.type,\n defaultValue: field.defaultValue,\n extensions: field.extensions,\n astNode: field.astNode\n };\n });\n return {\n name: this.name,\n description: this.description,\n fields: fields,\n extensions: this.extensions,\n astNode: this.astNode,\n extensionASTNodes: (_this$extensionASTNod5 = this.extensionASTNodes) !== null && _this$extensionASTNod5 !== void 0 ? _this$extensionASTNod5 : []\n };\n };\n\n _proto6.toString = function toString() {\n return this.name;\n };\n\n _proto6.toJSON = function toJSON() {\n return this.toString();\n } // $FlowFixMe[unsupported-syntax] Flow doesn't support computed properties yet\n ;\n\n _createClass(GraphQLInputObjectType, [{\n key: SYMBOL_TO_STRING_TAG,\n get: function get() {\n return 'GraphQLInputObjectType';\n }\n }]);\n\n return GraphQLInputObjectType;\n}(); // Print a simplified form when appearing in `inspect` and `util.inspect`.\n\ndefineInspect(GraphQLInputObjectType);\n\nfunction defineInputFieldMap(config) {\n var fieldMap = resolveThunk(config.fields);\n isPlainObj(fieldMap) || devAssert(0, \"\".concat(config.name, \" fields must be an object with field names as keys or a function which returns such an object.\"));\n return mapValue(fieldMap, function (fieldConfig, fieldName) {\n !('resolve' in fieldConfig) || devAssert(0, \"\".concat(config.name, \".\").concat(fieldName, \" field has a resolve property, but Input Types cannot define resolvers.\"));\n return {\n name: fieldName,\n description: fieldConfig.description,\n type: fieldConfig.type,\n defaultValue: fieldConfig.defaultValue,\n deprecationReason: fieldConfig.deprecationReason,\n extensions: fieldConfig.extensions && toObjMap(fieldConfig.extensions),\n astNode: fieldConfig.astNode\n };\n });\n}\n\nexport function isRequiredInputField(field) {\n return isNonNullType(field.type) && field.defaultValue === undefined;\n}\n","/**\n * Creates a keyed JS object from an array, given a function to produce the keys\n * for each value in the array.\n *\n * This provides a convenient lookup for the array items if the key function\n * produces unique results.\n *\n * const phoneBook = [\n * { name: 'Jon', num: '555-1234' },\n * { name: 'Jenny', num: '867-5309' }\n * ]\n *\n * // { Jon: { name: 'Jon', num: '555-1234' },\n * // Jenny: { name: 'Jenny', num: '867-5309' } }\n * const entriesByName = keyMap(\n * phoneBook,\n * entry => entry.name\n * )\n *\n * // { name: 'Jenny', num: '857-6309' }\n * const jennyEntry = entriesByName['Jenny']\n *\n */\nexport default function keyMap(list, keyFn) {\n return list.reduce(function (map, item) {\n map[keyFn(item)] = item;\n return map;\n }, Object.create(null));\n}\n","import { invariant } from \"ts-invariant\";\nimport DEV from \"./DEV.js\";\nexport { DEV };\nexport function checkDEV() {\n __DEV__ ? invariant(\"boolean\" === typeof DEV, DEV) : invariant(\"boolean\" === typeof DEV, 38);\n}\nimport { removeTemporaryGlobals } from \"./graphql.js\";\nexport { removeTemporaryGlobals };\nremoveTemporaryGlobals();\n//# sourceMappingURL=index.js.map","import { remove } from 'ts-invariant/process';\nimport { isType } from 'graphql';\nexport function removeTemporaryGlobals() {\n isType(null);\n return remove();\n}\n//# sourceMappingURL=graphql.js.map","import { visit, } from 'graphql';\nimport { invariant } from 'ts-invariant';\nexport function shouldInclude(_a, variables) {\n var directives = _a.directives;\n if (!directives || !directives.length) {\n return true;\n }\n return getInclusionDirectives(directives).every(function (_a) {\n var directive = _a.directive, ifArgument = _a.ifArgument;\n var evaledValue = false;\n if (ifArgument.value.kind === 'Variable') {\n evaledValue = variables && variables[ifArgument.value.name.value];\n __DEV__ ? invariant(evaledValue !== void 0, \"Invalid variable referenced in @\" + directive.name.value + \" directive.\") : invariant(evaledValue !== void 0, 39);\n }\n else {\n evaledValue = ifArgument.value.value;\n }\n return directive.name.value === 'skip' ? !evaledValue : evaledValue;\n });\n}\nexport function getDirectiveNames(root) {\n var names = [];\n visit(root, {\n Directive: function (node) {\n names.push(node.name.value);\n },\n });\n return names;\n}\nexport function hasDirectives(names, root) {\n return getDirectiveNames(root).some(function (name) { return names.indexOf(name) > -1; });\n}\nexport function hasClientExports(document) {\n return (document &&\n hasDirectives(['client'], document) &&\n hasDirectives(['export'], document));\n}\nfunction isInclusionDirective(_a) {\n var value = _a.name.value;\n return value === 'skip' || value === 'include';\n}\nexport function getInclusionDirectives(directives) {\n var result = [];\n if (directives && directives.length) {\n directives.forEach(function (directive) {\n if (!isInclusionDirective(directive))\n return;\n var directiveArguments = directive.arguments;\n var directiveName = directive.name.value;\n __DEV__ ? invariant(directiveArguments && directiveArguments.length === 1, \"Incorrect number of arguments for the @\" + directiveName + \" directive.\") : invariant(directiveArguments && directiveArguments.length === 1, 40);\n var ifArgument = directiveArguments[0];\n __DEV__ ? invariant(ifArgument.name && ifArgument.name.value === 'if', \"Invalid argument for the @\" + directiveName + \" directive.\") : invariant(ifArgument.name && ifArgument.name.value === 'if', 41);\n var ifValue = ifArgument.value;\n __DEV__ ? invariant(ifValue &&\n (ifValue.kind === 'Variable' || ifValue.kind === 'BooleanValue'), \"Argument for the @\" + directiveName + \" directive must be a variable or a boolean value.\") : invariant(ifValue &&\n (ifValue.kind === 'Variable' || ifValue.kind === 'BooleanValue'), 42);\n result.push({ directive: directive, ifArgument: ifArgument });\n });\n }\n return result;\n}\n//# sourceMappingURL=directives.js.map","import { __assign, __spreadArray } from \"tslib\";\nimport { invariant, InvariantError } from 'ts-invariant';\nexport function getFragmentQueryDocument(document, fragmentName) {\n var actualFragmentName = fragmentName;\n var fragments = [];\n document.definitions.forEach(function (definition) {\n if (definition.kind === 'OperationDefinition') {\n throw __DEV__ ? new InvariantError(\"Found a \" + definition.operation + \" operation\" + (definition.name ? \" named '\" + definition.name.value + \"'\" : '') + \". \" +\n 'No operations are allowed when using a fragment as a query. Only fragments are allowed.') : new InvariantError(43);\n }\n if (definition.kind === 'FragmentDefinition') {\n fragments.push(definition);\n }\n });\n if (typeof actualFragmentName === 'undefined') {\n __DEV__ ? invariant(fragments.length === 1, \"Found \" + fragments.length + \" fragments. `fragmentName` must be provided when there is not exactly 1 fragment.\") : invariant(fragments.length === 1, 44);\n actualFragmentName = fragments[0].name.value;\n }\n var query = __assign(__assign({}, document), { definitions: __spreadArray([\n {\n kind: 'OperationDefinition',\n operation: 'query',\n selectionSet: {\n kind: 'SelectionSet',\n selections: [\n {\n kind: 'FragmentSpread',\n name: {\n kind: 'Name',\n value: actualFragmentName,\n },\n },\n ],\n },\n }\n ], document.definitions) });\n return query;\n}\nexport function createFragmentMap(fragments) {\n if (fragments === void 0) { fragments = []; }\n var symTable = {};\n fragments.forEach(function (fragment) {\n symTable[fragment.name.value] = fragment;\n });\n return symTable;\n}\nexport function getFragmentFromSelection(selection, fragmentMap) {\n switch (selection.kind) {\n case 'InlineFragment':\n return selection;\n case 'FragmentSpread': {\n var fragment = fragmentMap && fragmentMap[selection.name.value];\n __DEV__ ? invariant(fragment, \"No fragment named \" + selection.name.value + \".\") : invariant(fragment, 45);\n return fragment;\n }\n default:\n return null;\n }\n}\n//# sourceMappingURL=fragments.js.map","import { invariant, InvariantError } from 'ts-invariant';\nimport { valueToObjectRepresentation } from \"./storeUtils.js\";\nexport function checkDocument(doc) {\n __DEV__ ? invariant(doc && doc.kind === 'Document', \"Expecting a parsed GraphQL document. Perhaps you need to wrap the query string in a \\\"gql\\\" tag? http://docs.apollostack.com/apollo-client/core.html#gql\") : invariant(doc && doc.kind === 'Document', 46);\n var operations = doc.definitions\n .filter(function (d) { return d.kind !== 'FragmentDefinition'; })\n .map(function (definition) {\n if (definition.kind !== 'OperationDefinition') {\n throw __DEV__ ? new InvariantError(\"Schema type definitions not allowed in queries. Found: \\\"\" + definition.kind + \"\\\"\") : new InvariantError(47);\n }\n return definition;\n });\n __DEV__ ? invariant(operations.length <= 1, \"Ambiguous GraphQL document: contains \" + operations.length + \" operations\") : invariant(operations.length <= 1, 48);\n return doc;\n}\nexport function getOperationDefinition(doc) {\n checkDocument(doc);\n return doc.definitions.filter(function (definition) { return definition.kind === 'OperationDefinition'; })[0];\n}\nexport function getOperationName(doc) {\n return (doc.definitions\n .filter(function (definition) {\n return definition.kind === 'OperationDefinition' && definition.name;\n })\n .map(function (x) { return x.name.value; })[0] || null);\n}\nexport function getFragmentDefinitions(doc) {\n return doc.definitions.filter(function (definition) { return definition.kind === 'FragmentDefinition'; });\n}\nexport function getQueryDefinition(doc) {\n var queryDef = getOperationDefinition(doc);\n __DEV__ ? invariant(queryDef && queryDef.operation === 'query', 'Must contain a query definition.') : invariant(queryDef && queryDef.operation === 'query', 49);\n return queryDef;\n}\nexport function getFragmentDefinition(doc) {\n __DEV__ ? invariant(doc.kind === 'Document', \"Expecting a parsed GraphQL document. Perhaps you need to wrap the query string in a \\\"gql\\\" tag? http://docs.apollostack.com/apollo-client/core.html#gql\") : invariant(doc.kind === 'Document', 50);\n __DEV__ ? invariant(doc.definitions.length <= 1, 'Fragment must have exactly one definition.') : invariant(doc.definitions.length <= 1, 51);\n var fragmentDef = doc.definitions[0];\n __DEV__ ? invariant(fragmentDef.kind === 'FragmentDefinition', 'Must be a fragment definition.') : invariant(fragmentDef.kind === 'FragmentDefinition', 52);\n return fragmentDef;\n}\nexport function getMainDefinition(queryDoc) {\n checkDocument(queryDoc);\n var fragmentDefinition;\n for (var _i = 0, _a = queryDoc.definitions; _i < _a.length; _i++) {\n var definition = _a[_i];\n if (definition.kind === 'OperationDefinition') {\n var operation = definition.operation;\n if (operation === 'query' ||\n operation === 'mutation' ||\n operation === 'subscription') {\n return definition;\n }\n }\n if (definition.kind === 'FragmentDefinition' && !fragmentDefinition) {\n fragmentDefinition = definition;\n }\n }\n if (fragmentDefinition) {\n return fragmentDefinition;\n }\n throw __DEV__ ? new InvariantError('Expected a parsed GraphQL query with a query, mutation, subscription, or a fragment.') : new InvariantError(53);\n}\nexport function getDefaultValues(definition) {\n var defaultValues = Object.create(null);\n var defs = definition && definition.variableDefinitions;\n if (defs && defs.length) {\n defs.forEach(function (def) {\n if (def.defaultValue) {\n valueToObjectRepresentation(defaultValues, def.variable.name, def.defaultValue);\n }\n });\n }\n return defaultValues;\n}\n//# sourceMappingURL=getFromAST.js.map","import { InvariantError } from 'ts-invariant';\nimport { isNonNullObject } from \"../common/objects.js\";\nimport { getFragmentFromSelection } from \"./fragments.js\";\nexport function makeReference(id) {\n return { __ref: String(id) };\n}\nexport function isReference(obj) {\n return Boolean(obj && typeof obj === 'object' && typeof obj.__ref === 'string');\n}\nexport function isDocumentNode(value) {\n return (isNonNullObject(value) &&\n value.kind === \"Document\" &&\n Array.isArray(value.definitions));\n}\nfunction isStringValue(value) {\n return value.kind === 'StringValue';\n}\nfunction isBooleanValue(value) {\n return value.kind === 'BooleanValue';\n}\nfunction isIntValue(value) {\n return value.kind === 'IntValue';\n}\nfunction isFloatValue(value) {\n return value.kind === 'FloatValue';\n}\nfunction isVariable(value) {\n return value.kind === 'Variable';\n}\nfunction isObjectValue(value) {\n return value.kind === 'ObjectValue';\n}\nfunction isListValue(value) {\n return value.kind === 'ListValue';\n}\nfunction isEnumValue(value) {\n return value.kind === 'EnumValue';\n}\nfunction isNullValue(value) {\n return value.kind === 'NullValue';\n}\nexport function valueToObjectRepresentation(argObj, name, value, variables) {\n if (isIntValue(value) || isFloatValue(value)) {\n argObj[name.value] = Number(value.value);\n }\n else if (isBooleanValue(value) || isStringValue(value)) {\n argObj[name.value] = value.value;\n }\n else if (isObjectValue(value)) {\n var nestedArgObj_1 = {};\n value.fields.map(function (obj) {\n return valueToObjectRepresentation(nestedArgObj_1, obj.name, obj.value, variables);\n });\n argObj[name.value] = nestedArgObj_1;\n }\n else if (isVariable(value)) {\n var variableValue = (variables || {})[value.name.value];\n argObj[name.value] = variableValue;\n }\n else if (isListValue(value)) {\n argObj[name.value] = value.values.map(function (listValue) {\n var nestedArgArrayObj = {};\n valueToObjectRepresentation(nestedArgArrayObj, name, listValue, variables);\n return nestedArgArrayObj[name.value];\n });\n }\n else if (isEnumValue(value)) {\n argObj[name.value] = value.value;\n }\n else if (isNullValue(value)) {\n argObj[name.value] = null;\n }\n else {\n throw __DEV__ ? new InvariantError(\"The inline argument \\\"\" + name.value + \"\\\" of kind \\\"\" + value.kind + \"\\\"\" +\n 'is not supported. Use variables instead of inline arguments to ' +\n 'overcome this limitation.') : new InvariantError(54);\n }\n}\nexport function storeKeyNameFromField(field, variables) {\n var directivesObj = null;\n if (field.directives) {\n directivesObj = {};\n field.directives.forEach(function (directive) {\n directivesObj[directive.name.value] = {};\n if (directive.arguments) {\n directive.arguments.forEach(function (_a) {\n var name = _a.name, value = _a.value;\n return valueToObjectRepresentation(directivesObj[directive.name.value], name, value, variables);\n });\n }\n });\n }\n var argObj = null;\n if (field.arguments && field.arguments.length) {\n argObj = {};\n field.arguments.forEach(function (_a) {\n var name = _a.name, value = _a.value;\n return valueToObjectRepresentation(argObj, name, value, variables);\n });\n }\n return getStoreKeyName(field.name.value, argObj, directivesObj);\n}\nvar KNOWN_DIRECTIVES = [\n 'connection',\n 'include',\n 'skip',\n 'client',\n 'rest',\n 'export',\n];\nexport var getStoreKeyName = Object.assign(function (fieldName, args, directives) {\n if (args &&\n directives &&\n directives['connection'] &&\n directives['connection']['key']) {\n if (directives['connection']['filter'] &&\n directives['connection']['filter'].length > 0) {\n var filterKeys = directives['connection']['filter']\n ? directives['connection']['filter']\n : [];\n filterKeys.sort();\n var filteredArgs_1 = {};\n filterKeys.forEach(function (key) {\n filteredArgs_1[key] = args[key];\n });\n return directives['connection']['key'] + \"(\" + stringify(filteredArgs_1) + \")\";\n }\n else {\n return directives['connection']['key'];\n }\n }\n var completeFieldName = fieldName;\n if (args) {\n var stringifiedArgs = stringify(args);\n completeFieldName += \"(\" + stringifiedArgs + \")\";\n }\n if (directives) {\n Object.keys(directives).forEach(function (key) {\n if (KNOWN_DIRECTIVES.indexOf(key) !== -1)\n return;\n if (directives[key] && Object.keys(directives[key]).length) {\n completeFieldName += \"@\" + key + \"(\" + stringify(directives[key]) + \")\";\n }\n else {\n completeFieldName += \"@\" + key;\n }\n });\n }\n return completeFieldName;\n}, {\n setStringify: function (s) {\n var previous = stringify;\n stringify = s;\n return previous;\n },\n});\nvar stringify = function defaultStringify(value) {\n return JSON.stringify(value, stringifyReplacer);\n};\nfunction stringifyReplacer(_key, value) {\n if (isNonNullObject(value) && !Array.isArray(value)) {\n value = Object.keys(value).sort().reduce(function (copy, key) {\n copy[key] = value[key];\n return copy;\n }, {});\n }\n return value;\n}\nexport function argumentsObjectFromField(field, variables) {\n if (field.arguments && field.arguments.length) {\n var argObj_1 = {};\n field.arguments.forEach(function (_a) {\n var name = _a.name, value = _a.value;\n return valueToObjectRepresentation(argObj_1, name, value, variables);\n });\n return argObj_1;\n }\n return null;\n}\nexport function resultKeyNameFromField(field) {\n return field.alias ? field.alias.value : field.name.value;\n}\nexport function getTypenameFromResult(result, selectionSet, fragmentMap) {\n if (typeof result.__typename === 'string') {\n return result.__typename;\n }\n for (var _i = 0, _a = selectionSet.selections; _i < _a.length; _i++) {\n var selection = _a[_i];\n if (isField(selection)) {\n if (selection.name.value === '__typename') {\n return result[resultKeyNameFromField(selection)];\n }\n }\n else {\n var typename = getTypenameFromResult(result, getFragmentFromSelection(selection, fragmentMap).selectionSet, fragmentMap);\n if (typeof typename === 'string') {\n return typename;\n }\n }\n }\n}\nexport function isField(selection) {\n return selection.kind === 'Field';\n}\nexport function isInlineFragment(selection) {\n return selection.kind === 'InlineFragment';\n}\n//# sourceMappingURL=storeUtils.js.map","export function filterInPlace(array, test, context) {\n var target = 0;\n array.forEach(function (elem, i) {\n if (test.call(this, elem, i, array)) {\n array[target++] = elem;\n }\n }, context);\n array.length = target;\n return array;\n}\n//# sourceMappingURL=filterInPlace.js.map","import { __assign, __spreadArray } from \"tslib\";\nimport { visit, } from 'graphql';\nimport { invariant } from 'ts-invariant';\nimport { checkDocument, getOperationDefinition, getFragmentDefinition, getFragmentDefinitions, getMainDefinition, } from \"./getFromAST.js\";\nimport { filterInPlace } from \"../common/filterInPlace.js\";\nimport { isField, isInlineFragment } from \"./storeUtils.js\";\nimport { createFragmentMap, } from \"./fragments.js\";\nvar TYPENAME_FIELD = {\n kind: 'Field',\n name: {\n kind: 'Name',\n value: '__typename',\n },\n};\nfunction isEmpty(op, fragments) {\n return op.selectionSet.selections.every(function (selection) {\n return selection.kind === 'FragmentSpread' &&\n isEmpty(fragments[selection.name.value], fragments);\n });\n}\nfunction nullIfDocIsEmpty(doc) {\n return isEmpty(getOperationDefinition(doc) || getFragmentDefinition(doc), createFragmentMap(getFragmentDefinitions(doc)))\n ? null\n : doc;\n}\nfunction getDirectiveMatcher(directives) {\n return function directiveMatcher(directive) {\n return directives.some(function (dir) {\n return (dir.name && dir.name === directive.name.value) ||\n (dir.test && dir.test(directive));\n });\n };\n}\nexport function removeDirectivesFromDocument(directives, doc) {\n var variablesInUse = Object.create(null);\n var variablesToRemove = [];\n var fragmentSpreadsInUse = Object.create(null);\n var fragmentSpreadsToRemove = [];\n var modifiedDoc = nullIfDocIsEmpty(visit(doc, {\n Variable: {\n enter: function (node, _key, parent) {\n if (parent.kind !== 'VariableDefinition') {\n variablesInUse[node.name.value] = true;\n }\n },\n },\n Field: {\n enter: function (node) {\n if (directives && node.directives) {\n var shouldRemoveField = directives.some(function (directive) { return directive.remove; });\n if (shouldRemoveField &&\n node.directives &&\n node.directives.some(getDirectiveMatcher(directives))) {\n if (node.arguments) {\n node.arguments.forEach(function (arg) {\n if (arg.value.kind === 'Variable') {\n variablesToRemove.push({\n name: arg.value.name.value,\n });\n }\n });\n }\n if (node.selectionSet) {\n getAllFragmentSpreadsFromSelectionSet(node.selectionSet).forEach(function (frag) {\n fragmentSpreadsToRemove.push({\n name: frag.name.value,\n });\n });\n }\n return null;\n }\n }\n },\n },\n FragmentSpread: {\n enter: function (node) {\n fragmentSpreadsInUse[node.name.value] = true;\n },\n },\n Directive: {\n enter: function (node) {\n if (getDirectiveMatcher(directives)(node)) {\n return null;\n }\n },\n },\n }));\n if (modifiedDoc &&\n filterInPlace(variablesToRemove, function (v) { return !!v.name && !variablesInUse[v.name]; }).length) {\n modifiedDoc = removeArgumentsFromDocument(variablesToRemove, modifiedDoc);\n }\n if (modifiedDoc &&\n filterInPlace(fragmentSpreadsToRemove, function (fs) { return !!fs.name && !fragmentSpreadsInUse[fs.name]; })\n .length) {\n modifiedDoc = removeFragmentSpreadFromDocument(fragmentSpreadsToRemove, modifiedDoc);\n }\n return modifiedDoc;\n}\nexport var addTypenameToDocument = Object.assign(function (doc) {\n return visit(checkDocument(doc), {\n SelectionSet: {\n enter: function (node, _key, parent) {\n if (parent &&\n parent.kind === 'OperationDefinition') {\n return;\n }\n var selections = node.selections;\n if (!selections) {\n return;\n }\n var skip = selections.some(function (selection) {\n return (isField(selection) &&\n (selection.name.value === '__typename' ||\n selection.name.value.lastIndexOf('__', 0) === 0));\n });\n if (skip) {\n return;\n }\n var field = parent;\n if (isField(field) &&\n field.directives &&\n field.directives.some(function (d) { return d.name.value === 'export'; })) {\n return;\n }\n return __assign(__assign({}, node), { selections: __spreadArray(__spreadArray([], selections), [TYPENAME_FIELD]) });\n },\n },\n });\n}, {\n added: function (field) {\n return field === TYPENAME_FIELD;\n },\n});\nvar connectionRemoveConfig = {\n test: function (directive) {\n var willRemove = directive.name.value === 'connection';\n if (willRemove) {\n if (!directive.arguments ||\n !directive.arguments.some(function (arg) { return arg.name.value === 'key'; })) {\n __DEV__ && invariant.warn('Removing an @connection directive even though it does not have a key. ' +\n 'You may want to use the key parameter to specify a store key.');\n }\n }\n return willRemove;\n },\n};\nexport function removeConnectionDirectiveFromDocument(doc) {\n return removeDirectivesFromDocument([connectionRemoveConfig], checkDocument(doc));\n}\nfunction hasDirectivesInSelectionSet(directives, selectionSet, nestedCheck) {\n if (nestedCheck === void 0) { nestedCheck = true; }\n return (!!selectionSet &&\n selectionSet.selections &&\n selectionSet.selections.some(function (selection) {\n return hasDirectivesInSelection(directives, selection, nestedCheck);\n }));\n}\nfunction hasDirectivesInSelection(directives, selection, nestedCheck) {\n if (nestedCheck === void 0) { nestedCheck = true; }\n if (!isField(selection)) {\n return true;\n }\n if (!selection.directives) {\n return false;\n }\n return (selection.directives.some(getDirectiveMatcher(directives)) ||\n (nestedCheck &&\n hasDirectivesInSelectionSet(directives, selection.selectionSet, nestedCheck)));\n}\nfunction getArgumentMatcher(config) {\n return function argumentMatcher(argument) {\n return config.some(function (aConfig) {\n return argument.value &&\n argument.value.kind === 'Variable' &&\n argument.value.name &&\n (aConfig.name === argument.value.name.value ||\n (aConfig.test && aConfig.test(argument)));\n });\n };\n}\nexport function removeArgumentsFromDocument(config, doc) {\n var argMatcher = getArgumentMatcher(config);\n return nullIfDocIsEmpty(visit(doc, {\n OperationDefinition: {\n enter: function (node) {\n return __assign(__assign({}, node), { variableDefinitions: node.variableDefinitions ? node.variableDefinitions.filter(function (varDef) {\n return !config.some(function (arg) { return arg.name === varDef.variable.name.value; });\n }) : [] });\n },\n },\n Field: {\n enter: function (node) {\n var shouldRemoveField = config.some(function (argConfig) { return argConfig.remove; });\n if (shouldRemoveField) {\n var argMatchCount_1 = 0;\n if (node.arguments) {\n node.arguments.forEach(function (arg) {\n if (argMatcher(arg)) {\n argMatchCount_1 += 1;\n }\n });\n }\n if (argMatchCount_1 === 1) {\n return null;\n }\n }\n },\n },\n Argument: {\n enter: function (node) {\n if (argMatcher(node)) {\n return null;\n }\n },\n },\n }));\n}\nexport function removeFragmentSpreadFromDocument(config, doc) {\n function enter(node) {\n if (config.some(function (def) { return def.name === node.name.value; })) {\n return null;\n }\n }\n return nullIfDocIsEmpty(visit(doc, {\n FragmentSpread: { enter: enter },\n FragmentDefinition: { enter: enter },\n }));\n}\nfunction getAllFragmentSpreadsFromSelectionSet(selectionSet) {\n var allFragments = [];\n selectionSet.selections.forEach(function (selection) {\n if ((isField(selection) || isInlineFragment(selection)) &&\n selection.selectionSet) {\n getAllFragmentSpreadsFromSelectionSet(selection.selectionSet).forEach(function (frag) { return allFragments.push(frag); });\n }\n else if (selection.kind === 'FragmentSpread') {\n allFragments.push(selection);\n }\n });\n return allFragments;\n}\nexport function buildQueryFromSelectionSet(document) {\n var definition = getMainDefinition(document);\n var definitionOperation = definition.operation;\n if (definitionOperation === 'query') {\n return document;\n }\n var modifiedDoc = visit(document, {\n OperationDefinition: {\n enter: function (node) {\n return __assign(__assign({}, node), { operation: 'query' });\n },\n },\n });\n return modifiedDoc;\n}\nexport function removeClientSetsFromDocument(document) {\n checkDocument(document);\n var modifiedDoc = removeDirectivesFromDocument([\n {\n test: function (directive) { return directive.name.value === 'client'; },\n remove: true,\n },\n ], document);\n if (modifiedDoc) {\n modifiedDoc = visit(modifiedDoc, {\n FragmentDefinition: {\n enter: function (node) {\n if (node.selectionSet) {\n var isTypenameOnly = node.selectionSet.selections.every(function (selection) {\n return isField(selection) && selection.name.value === '__typename';\n });\n if (isTypenameOnly) {\n return null;\n }\n }\n },\n },\n });\n }\n return modifiedDoc;\n}\n//# sourceMappingURL=transform.js.map","import { getParent } from './getParent';\n/**\n * Determines whether or not a parent element contains a given child element.\n * If `allowVirtualParents` is true, this method may return `true` if the child\n * has the parent in its virtual element hierarchy.\n *\n * @public\n */\nexport function elementContains(parent, child, allowVirtualParents) {\n if (allowVirtualParents === void 0) { allowVirtualParents = true; }\n var isContained = false;\n if (parent && child) {\n if (allowVirtualParents) {\n if (parent === child) {\n isContained = true;\n }\n else {\n isContained = false;\n while (child) {\n var nextParent = getParent(child);\n if (nextParent === parent) {\n isContained = true;\n break;\n }\n child = nextParent;\n }\n }\n }\n else if (parent.contains) {\n isContained = parent.contains(child);\n }\n }\n return isContained;\n}\n//# sourceMappingURL=elementContains.js.map","import { getVirtualParent } from './getVirtualParent';\n/**\n * Gets the element which is the parent of a given element.\n * If `allowVirtuaParents` is `true`, this method prefers the virtual parent over\n * real DOM parent when present.\n *\n * @public\n */\nexport function getParent(child, allowVirtualParents) {\n if (allowVirtualParents === void 0) { allowVirtualParents = true; }\n return (child &&\n ((allowVirtualParents && getVirtualParent(child)) || (child.parentNode && child.parentNode)));\n}\n//# sourceMappingURL=getParent.js.map","import { isVirtualElement } from './isVirtualElement';\n/**\n * Gets the virtual parent given the child element, if it exists.\n *\n * @public\n */\nexport function getVirtualParent(child) {\n var parent;\n if (child && isVirtualElement(child)) {\n parent = child._virtual.parent;\n }\n return parent;\n}\n//# sourceMappingURL=getVirtualParent.js.map","/**\n * Determines whether or not an element has the virtual hierarchy extension.\n *\n * @public\n */\nexport function isVirtualElement(element) {\n return element && !!element._virtual;\n}\n//# sourceMappingURL=isVirtualElement.js.map","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","/**\n * Given input/parent options, which are both assumed to be defined and populated with\n * displayNames array, return a string array of display names.\n */\nexport function computeDisplayNames(inputOptions, parentOptions) {\n if (inputOptions.overrideStyles) {\n return [inputOptions.displayName].filter(Boolean);\n }\n // To support styles composition we need to properly pick up display names\n return inputOptions.displayName\n ? parentOptions.displayNames.concat(inputOptions.displayName)\n : parentOptions.displayNames;\n}\n//# sourceMappingURL=computeDisplayNames.js.map","export var defaultComposeOptions = {\n className: process.env.NODE_ENV === 'production' ? '' : 'no-classname-🙉',\n classes: [],\n displayName: '',\n displayNames: [],\n mapPropsToStylesPropsChain: [],\n render: function () { return null; },\n handledProps: [],\n overrideStyles: false,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n slots: { __self: function () { return null; } },\n slotProps: [],\n state: function (props) { return props; },\n resolveSlotProps: function () { return ({}); },\n shorthandConfig: {},\n};\n//# sourceMappingURL=defaultComposeOptions.js.map","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { wasComposedPreviously } from './wasComposedPreviously';\nimport { mergeComposeOptions } from './mergeComposeOptions';\nfunction compose(input, inputOptions) {\n if (inputOptions === void 0) { inputOptions = {}; }\n var composeOptions = mergeComposeOptions(input, inputOptions, wasComposedPreviously(input) ? input.fluentComposeConfig : undefined);\n var Component = React.forwardRef(function (props, ref) {\n return composeOptions.render(props, ref, __assign(__assign({}, composeOptions), { state: composeOptions.state(props, ref, composeOptions), slots: __assign(__assign({}, composeOptions.slots), { __self: Component }) }));\n });\n Component.displayName = composeOptions.displayName;\n if (input.defaultProps) {\n Component.defaultProps = input.defaultProps;\n }\n Component.fluentComposeConfig = composeOptions;\n return Component;\n}\nexport default compose;\n//# sourceMappingURL=compose.js.map","import { __assign, __spreadArrays } from \"tslib\";\nimport { computeDisplayNames } from './computeDisplayNames';\nimport { defaultComposeOptions } from './defaultComposeOptions';\nexport function mergeComposeOptions(input, inputOptions, parentOptions) {\n if (parentOptions === void 0) { parentOptions = defaultComposeOptions; }\n var mapPropsToSlotPropsChain = inputOptions.slotProps\n ? __spreadArrays(parentOptions.slotProps, [inputOptions.slotProps]) : parentOptions.slotProps;\n var resolveSlotProps = function (props) {\n return mapPropsToSlotPropsChain.reduce(function (acc, definition) {\n var nextProps = __assign({}, definition(props));\n var slots = __spreadArrays(Object.keys(acc), Object.keys(nextProps));\n var mergedSlotProps = {};\n slots.forEach(function (slot) {\n if (!mergedSlotProps[slot]) {\n mergedSlotProps[slot] = __assign(__assign({}, acc[slot]), nextProps[slot]);\n }\n });\n return mergedSlotProps;\n }, {});\n };\n var inputClasses = Array.isArray(inputOptions.classes) ? inputOptions.classes : [inputOptions.classes];\n var state = function (props, ref, options) {\n if (inputOptions.state) {\n return inputOptions.state(parentOptions.state(props, ref, options), ref, options);\n }\n return parentOptions.state(props, ref, options);\n };\n return {\n className: inputOptions.className || parentOptions.className,\n classes: __spreadArrays(parentOptions.classes, inputClasses),\n displayName: inputOptions.displayName || parentOptions.displayName,\n displayNames: computeDisplayNames(inputOptions, parentOptions),\n mapPropsToStylesPropsChain: inputOptions.mapPropsToStylesProps\n ? __spreadArrays(parentOptions.mapPropsToStylesPropsChain, [inputOptions.mapPropsToStylesProps]) : parentOptions.mapPropsToStylesPropsChain,\n render: typeof input === 'function' ? input : parentOptions.render,\n handledProps: __spreadArrays(parentOptions.handledProps, (inputOptions.handledProps || [])),\n overrideStyles: inputOptions.overrideStyles || false,\n slots: __assign(__assign({}, parentOptions.slots), inputOptions.slots),\n slotProps: mapPropsToSlotPropsChain,\n state: state,\n resolveSlotProps: resolveSlotProps,\n shorthandConfig: __assign(__assign({}, parentOptions.shorthandConfig), inputOptions.shorthandConfig),\n };\n}\n//# sourceMappingURL=mergeComposeOptions.js.map","/**\n * compose() allows you to pass two inputs:\n * - React.forwardRef + static fluentComposeConfig, i.e. previously composed component\n * - a function\n */\nexport function wasComposedPreviously(input) {\n return !!input.fluentComposeConfig;\n}\n//# sourceMappingURL=wasComposedPreviously.js.map","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _invoke from \"lodash/invoke\";\nimport _isEmpty from \"lodash/isEmpty\";\nimport { buttonBehavior } from '@fluentui/accessibility';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { childrenExist, createShorthandFactory, commonPropTypes, rtlTextContainer } from '../../utils';\nimport { getElementType, useAccessibility, useFluentContext, useStyles, useTelemetry, useUnhandledProps } from '@fluentui/react-bindings';\nimport { Box } from '../Box/Box';\nexport var alertDismissActionClassName = 'ui-alert__dismissaction';\nexport var alertDismissActionSlotClassNames = {\n content: alertDismissActionClassName + \"__content\"\n};\n/**\n * A AlertDismissAction allows users to customize the dismissAction slot inside the Alert component.\n *\n * @accessibility\n * Implements [ARIA Button](https://www.w3.org/TR/wai-aria-practices-1.1/#button) design pattern.\n */\n\nexport var AlertDismissAction = /*#__PURE__*/function () {\n var AlertDismissAction = function AlertDismissAction(props) {\n var context = useFluentContext();\n\n var _useTelemetry = useTelemetry(AlertDismissAction.displayName, context.telemetry),\n setStart = _useTelemetry.setStart,\n setEnd = _useTelemetry.setEnd;\n\n setStart();\n var accessibility = props.accessibility,\n as = props.as,\n children = props.children,\n className = props.className,\n content = props.content,\n disabled = props.disabled,\n design = props.design,\n styles = props.styles,\n variables = props.variables,\n danger = props.danger,\n warning = props.warning,\n info = props.info,\n success = props.success;\n var hasChildren = childrenExist(children);\n var hasContent = !!content && !_isEmpty(content);\n var getA11Props = useAccessibility(accessibility, {\n debugName: AlertDismissAction.displayName,\n mapPropsToBehavior: function mapPropsToBehavior() {\n return {\n as: String(as),\n disabled: disabled\n };\n },\n actionHandlers: {\n performClick: function performClick(event) {\n event.preventDefault();\n handleClick(event);\n }\n },\n rtl: context.rtl\n });\n\n var _useStyles = useStyles(AlertDismissAction.displayName, {\n className: alertDismissActionClassName,\n mapPropsToStyles: function mapPropsToStyles() {\n return {\n disabled: disabled,\n danger: danger,\n warning: warning,\n info: info,\n success: success,\n hasContent: hasContent || hasChildren\n };\n },\n mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n return {\n className: className,\n design: design,\n styles: styles,\n variables: variables\n };\n },\n rtl: context.rtl\n }),\n classes = _useStyles.classes,\n resolvedStyles = _useStyles.styles;\n\n var unhandledProps = useUnhandledProps(AlertDismissAction.handledProps, props);\n var ElementType = getElementType(props);\n\n var handleClick = function handleClick(e) {\n if (disabled) {\n e.preventDefault();\n return;\n }\n\n _invoke(props, 'onClick', e, props);\n };\n\n var result = /*#__PURE__*/React.createElement(ElementType, _extends({}, rtlTextContainer.getAttributes({\n forElements: [children]\n }), getA11Props('root', Object.assign({\n onClick: handleClick,\n disabled: disabled,\n className: classes.root\n }, unhandledProps))), hasChildren ? children : Box.create(content, {\n defaultProps: function defaultProps() {\n return getA11Props('content', {\n as: 'span',\n className: alertDismissActionSlotClassNames.content,\n styles: resolvedStyles.content\n });\n }\n }));\n setEnd();\n return result;\n };\n\n AlertDismissAction.defaultProps = {\n as: 'button',\n accessibility: buttonBehavior,\n content: {}\n };\n AlertDismissAction.displayName = 'AlertDismissAction';\n AlertDismissAction.propTypes = Object.assign({}, commonPropTypes.createCommon({\n content: 'shorthand'\n }), {\n disabled: PropTypes.bool,\n danger: PropTypes.bool,\n warning: PropTypes.bool,\n info: PropTypes.bool,\n onClick: PropTypes.func,\n success: PropTypes.bool\n });\n AlertDismissAction.handledProps = Object.keys(AlertDismissAction.propTypes);\n AlertDismissAction.create = createShorthandFactory({\n Component: AlertDismissAction,\n mappedProp: 'content'\n });\n return AlertDismissAction;\n}();\n//# sourceMappingURL=AlertDismissAction.js.map\n","import { compose, getElementType, useUnhandledProps, useAccessibility, useStyles, useTelemetry, useFluentContext } from '@fluentui/react-bindings';\nimport * as React from 'react';\nimport { childrenExist, createShorthandFactory, commonPropTypes, rtlTextContainer } from '../../utils';\nexport var boxClassName = 'ui-box';\n/**\n * A Box is a basic component, commonly used for slots in other Fluent UI components.\n * By default it just renders a `div`.\n */\n\nexport var Box = /*#__PURE__*/function () {\n var Box = compose(function (props, ref, composeOptions) {\n var context = useFluentContext();\n\n var _useTelemetry = useTelemetry(composeOptions.displayName, context.telemetry),\n setStart = _useTelemetry.setStart,\n setEnd = _useTelemetry.setEnd;\n\n setStart();\n var accessibility = props.accessibility,\n className = props.className,\n design = props.design,\n styles = props.styles,\n variables = props.variables,\n children = props.children,\n content = props.content;\n var getA11yProps = useAccessibility(accessibility, {\n debugName: composeOptions.displayName,\n rtl: context.rtl\n });\n\n var _useStyles = useStyles(composeOptions.displayName, {\n className: composeOptions.className,\n composeOptions: composeOptions,\n mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n return {\n className: className,\n design: design,\n styles: styles,\n variables: variables\n };\n },\n rtl: context.rtl,\n unstable_props: props\n }),\n classes = _useStyles.classes;\n\n var unhandledProps = useUnhandledProps(composeOptions.handledProps, props);\n var ElementType = getElementType(props);\n var result = getA11yProps.unstable_wrapWithFocusZone( /*#__PURE__*/React.createElement(ElementType, getA11yProps('root', Object.assign({}, rtlTextContainer.getAttributes({\n forElements: [children, content]\n }), {\n className: classes.root,\n ref: ref\n }, unhandledProps)), childrenExist(children) ? children : content));\n setEnd();\n return result;\n }, {\n className: boxClassName,\n displayName: 'Box',\n handledProps: ['accessibility', 'as', 'className', 'children', 'content', 'design', 'styles', 'variables']\n });\n Box.propTypes = commonPropTypes.createCommon();\n Box.create = createShorthandFactory({\n Component: Box\n });\n return Box;\n}();\n//# sourceMappingURL=Box.js.map\n","import { compose } from '@fluentui/react-bindings';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport { commonPropTypes } from '../../utils';\nimport { Box } from '../Box/Box';\nexport var buttonContentClassName = 'ui-button__content';\n/**\n * A ButtonContent allows a user to have a dedicated component that can be targeted from the theme.\n */\n\nexport var ButtonContent = /*#__PURE__*/function () {\n var ButtonContent = compose(Box, {\n className: buttonContentClassName,\n displayName: 'ButtonContent',\n mapPropsToStylesProps: function mapPropsToStylesProps(props) {\n return {\n size: props.size\n };\n },\n handledProps: ['size'],\n overrideStyles: true,\n shorthandConfig: {\n mappedProp: 'content'\n }\n });\n ButtonContent.defaultProps = {\n as: 'span'\n };\n ButtonContent.propTypes = Object.assign({}, commonPropTypes.createCommon(), {\n size: customPropTypes.size\n });\n return ButtonContent;\n}();\n//# sourceMappingURL=ButtonContent.js.map\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _invoke from \"lodash/invoke\";\nimport { buttonBehavior } from '@fluentui/accessibility';\nimport { compose, getElementType, useAccessibility, useFluentContext, useStyles, useTelemetry, useUnhandledProps } from '@fluentui/react-bindings';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { childrenExist, createShorthandFactory, commonPropTypes, rtlTextContainer, createShorthand } from '../../utils';\nimport { Box } from '../Box/Box';\nimport { Loader } from '../Loader/Loader';\nimport { ButtonGroup } from './ButtonGroup';\nimport { ButtonContent } from './ButtonContent';\nexport var buttonClassName = 'ui-button';\n/**\n * A Button enables users to take an action, such as submitting a form, opening a dialog, etc.\n *\n * @accessibility\n * Implements [ARIA Button](https://www.w3.org/TR/wai-aria-practices-1.1/#button) design pattern.\n */\n\nexport var Button = /*#__PURE__*/function () {\n var Button = compose(function (props, ref, composeOptions) {\n var context = useFluentContext();\n\n var _useTelemetry = useTelemetry(composeOptions.displayName, context.telemetry),\n setStart = _useTelemetry.setStart,\n setEnd = _useTelemetry.setEnd;\n\n setStart();\n var accessibility = props.accessibility,\n active = props.active,\n as = props.as,\n children = props.children,\n content = props.content,\n icon = props.icon,\n loader = props.loader,\n disabled = props.disabled,\n disabledFocusable = props.disabledFocusable,\n iconPosition = props.iconPosition,\n loading = props.loading,\n text = props.text,\n primary = props.primary,\n inverted = props.inverted,\n size = props.size,\n iconOnly = props.iconOnly,\n fluid = props.fluid,\n circular = props.circular,\n className = props.className,\n styles = props.styles,\n tinted = props.tinted,\n variables = props.variables,\n design = props.design;\n var hasChildren = childrenExist(children);\n var getA11yProps = useAccessibility(accessibility, {\n debugName: composeOptions.displayName,\n mapPropsToBehavior: function mapPropsToBehavior() {\n return {\n as: as,\n active: active,\n disabled: disabled,\n disabledFocusable: disabledFocusable\n };\n },\n actionHandlers: {\n performClick: function performClick(event) {\n event.preventDefault();\n handleClick(event);\n }\n },\n rtl: context.rtl\n });\n\n var _useStyles = useStyles(composeOptions.displayName, {\n className: composeOptions.className,\n mapPropsToStyles: function mapPropsToStyles() {\n return {\n text: text,\n primary: primary,\n disabled: disabled,\n tinted: tinted,\n disabledFocusable: disabledFocusable,\n circular: circular,\n size: size,\n loading: loading,\n inverted: inverted,\n iconOnly: iconOnly,\n iconPosition: iconPosition,\n fluid: fluid,\n hasContent: !!content\n };\n },\n mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n return {\n className: className,\n design: design,\n styles: styles,\n variables: variables\n };\n },\n rtl: context.rtl,\n composeOptions: composeOptions,\n unstable_props: props\n }),\n classes = _useStyles.classes,\n resolvedStyles = _useStyles.styles;\n\n var slotProps = composeOptions.resolveSlotProps(props);\n var unhandledProps = useUnhandledProps(composeOptions.handledProps, props);\n var ElementType = getElementType(props);\n\n var renderIcon = function renderIcon() {\n return createShorthand(composeOptions.slots.icon, icon, {\n defaultProps: function defaultProps() {\n return getA11yProps('icon', Object.assign({\n styles: resolvedStyles.icon\n }, slotProps.icon));\n }\n });\n };\n\n var renderLoader = function renderLoader() {\n return createShorthand(composeOptions.slots.loader, loader || {}, {\n defaultProps: function defaultProps() {\n return getA11yProps('loader', Object.assign({\n styles: resolvedStyles.loader\n }, slotProps.loader));\n }\n });\n };\n\n var renderContent = function renderContent() {\n return createShorthand(composeOptions.slots.content, content, {\n defaultProps: function defaultProps() {\n return getA11yProps('content', slotProps.content);\n }\n });\n };\n\n var handleClick = function handleClick(e) {\n if (disabled || disabledFocusable) {\n e.preventDefault();\n return;\n }\n\n _invoke(props, 'onClick', e, props);\n };\n\n var handleFocus = function handleFocus(e) {\n _invoke(props, 'onFocus', e, props);\n };\n\n var result = /*#__PURE__*/React.createElement(ElementType, _extends({}, rtlTextContainer.getAttributes({\n forElements: [children]\n }), getA11yProps('root', Object.assign({\n onClick: handleClick,\n className: classes.root,\n onFocus: handleFocus,\n ref: ref\n }, unhandledProps))), hasChildren ? children : /*#__PURE__*/React.createElement(React.Fragment, null, loading && renderLoader(), iconPosition !== 'after' && renderIcon(), renderContent(), iconPosition === 'after' && renderIcon()));\n setEnd();\n return result;\n }, {\n className: buttonClassName,\n displayName: 'Button',\n slots: {\n content: ButtonContent,\n icon: Box,\n loader: Loader\n },\n slotProps: function slotProps(props) {\n return {\n content: {\n size: props.size\n },\n loader: {\n role: undefined\n }\n };\n },\n shorthandConfig: {\n mappedProp: 'content'\n },\n handledProps: ['accessibility', 'as', 'children', 'circular', 'className', 'content', 'design', 'disabled', 'tinted', 'disabledFocusable', 'fluid', 'icon', 'iconOnly', 'iconPosition', 'inverted', 'loader', 'loading', 'onClick', 'onFocus', 'primary', 'text', 'secondary', 'size', 'styles', 'variables']\n });\n Button.defaultProps = {\n as: 'button',\n accessibility: buttonBehavior,\n size: 'medium'\n };\n Button.propTypes = Object.assign({}, commonPropTypes.createCommon({\n content: 'shorthand'\n }), {\n circular: PropTypes.bool,\n disabled: PropTypes.bool,\n disabledFocusable: PropTypes.bool,\n fluid: PropTypes.bool,\n icon: customPropTypes.shorthandAllowingChildren,\n iconOnly: PropTypes.bool,\n iconPosition: PropTypes.oneOf(['before', 'after']),\n inverted: PropTypes.bool,\n loader: customPropTypes.itemShorthandWithoutJSX,\n loading: PropTypes.bool,\n onClick: PropTypes.func,\n onFocus: PropTypes.func,\n tinted: customPropTypes.every([customPropTypes.disallow(['secondary']), PropTypes.bool]),\n primary: customPropTypes.every([customPropTypes.disallow(['secondary']), PropTypes.bool]),\n text: PropTypes.bool,\n secondary: customPropTypes.every([customPropTypes.disallow(['primary']), PropTypes.bool]),\n size: PropTypes.oneOf(['medium', 'small'])\n });\n Button.Group = ButtonGroup;\n Button.Content = ButtonContent;\n Button.create = createShorthandFactory({\n Component: Button,\n mappedProp: 'content'\n });\n return Button;\n}();\n//# sourceMappingURL=Button.js.map\n","export var buttonGroupBehavior = function buttonGroupBehavior() {\n return {\n attributes: {\n root: {\n role: 'group'\n }\n }\n };\n};\n//# sourceMappingURL=buttonGroupBehavior.js.map\n","import _map from \"lodash/map\";\nimport _isNil from \"lodash/isNil\";\nimport { buttonGroupBehavior } from '@fluentui/accessibility';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { childrenExist, commonPropTypes, rtlTextContainer, createShorthandFactory, createShorthand } from '../../utils';\nimport { Button } from './Button';\nimport { getElementType, useAccessibility, useUnhandledProps, useTelemetry, useStyles, useFluentContext } from '@fluentui/react-bindings';\nexport var buttonGroupClassName = 'ui-buttons';\n/**\n * A ButtonGroup represents multiple related actions as a group.\n */\n\nexport var ButtonGroup = /*#__PURE__*/function () {\n var ButtonGroup = function ButtonGroup(props) {\n var context = useFluentContext();\n\n var _useTelemetry = useTelemetry(ButtonGroup.displayName, context.telemetry),\n setStart = _useTelemetry.setStart,\n setEnd = _useTelemetry.setEnd;\n\n setStart();\n var children = props.children,\n buttons = props.buttons,\n circular = props.circular,\n content = props.content,\n className = props.className,\n design = props.design,\n styles = props.styles,\n variables = props.variables;\n var ElementType = getElementType(props);\n var unhandledProps = useUnhandledProps(ButtonGroup.handledProps, props);\n\n var _useStyles = useStyles(ButtonGroup.displayName, {\n className: buttonGroupClassName,\n mapPropsToStyles: function mapPropsToStyles() {\n return {\n circular: circular\n };\n },\n mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n return {\n className: className,\n design: design,\n styles: styles,\n variables: variables\n };\n },\n rtl: context.rtl\n }),\n classes = _useStyles.classes,\n resolvedStyles = _useStyles.styles;\n\n var getA11yProps = useAccessibility(props.accessibility, {\n debugName: ButtonGroup.displayName,\n rtl: context.rtl\n });\n\n var getStyleForButtonIndex = function getStyleForButtonIndex(styles, isFirst, isLast) {\n var resultStyles = {};\n\n if (isFirst) {\n resultStyles = styles.firstButton;\n }\n\n if (isLast) {\n resultStyles = Object.assign({}, resultStyles, styles.lastButton);\n }\n\n if (!isFirst && !isLast) {\n resultStyles = styles.middleButton;\n }\n\n return resultStyles;\n };\n\n var emptyButtons = _isNil(buttons);\n\n var element = /*#__PURE__*/React.createElement(ElementType, Object.assign({}, getA11yProps('root', Object.assign({\n className: classes.root\n }, unhandledProps)), emptyButtons && Object.assign({}, rtlTextContainer.getAttributes({\n forElements: [children, content]\n }))), emptyButtons ? childrenExist(children) ? children : content : _map(buttons, function (button, idx) {\n return createShorthand(Button, button, {\n defaultProps: function defaultProps() {\n return {\n circular: circular,\n styles: getStyleForButtonIndex(resolvedStyles, idx === 0, idx === buttons.length - 1)\n };\n }\n });\n }));\n setEnd();\n return element;\n };\n\n ButtonGroup.displayName = 'ButtonGroup';\n ButtonGroup.propTypes = Object.assign({}, commonPropTypes.createCommon(), {\n buttons: customPropTypes.collectionShorthand,\n circular: PropTypes.bool\n });\n ButtonGroup.defaultProps = {\n accessibility: buttonGroupBehavior\n };\n ButtonGroup.handledProps = Object.keys(ButtonGroup.propTypes);\n ButtonGroup.create = createShorthandFactory({\n Component: ButtonGroup,\n mappedProp: 'content',\n mappedArrayProp: 'buttons'\n });\n return ButtonGroup;\n}();\n//# sourceMappingURL=ButtonGroup.js.map\n","import { compose } from '@fluentui/react-bindings';\nimport { commonPropTypes } from '../../utils';\nimport { Box } from '../Box/Box';\nexport var cardExpandableBoxClassName = 'ui-card__expandablebox';\n/**\n * A CardExpandableBox is used to display data in which is partially hidden and shown on focus/hover.\n */\n\nexport var CardExpandableBox = /*#__PURE__*/function () {\n var CardExpandableBox = compose(Box, {\n className: cardExpandableBoxClassName,\n displayName: 'CardExpandableBox',\n shorthandConfig: {\n mappedProp: 'content'\n }\n });\n CardExpandableBox.propTypes = commonPropTypes.createCommon();\n return CardExpandableBox;\n}();\n//# sourceMappingURL=CardExpandableBox.js.map\n","function isElement(el) {\n return el != null && typeof el === 'object' && el.nodeType === 1;\n}\n\nfunction canOverflow(overflow, skipOverflowHiddenElements) {\n if (skipOverflowHiddenElements && overflow === 'hidden') {\n return false;\n }\n\n return overflow !== 'visible' && overflow !== 'clip';\n}\n\nfunction isScrollable(el, skipOverflowHiddenElements) {\n if (el.clientHeight < el.scrollHeight || el.clientWidth < el.scrollWidth) {\n var style = getComputedStyle(el, null);\n return canOverflow(style.overflowY, skipOverflowHiddenElements) || canOverflow(style.overflowX, skipOverflowHiddenElements);\n }\n\n return false;\n}\n\nfunction alignNearest(scrollingEdgeStart, scrollingEdgeEnd, scrollingSize, scrollingBorderStart, scrollingBorderEnd, elementEdgeStart, elementEdgeEnd, elementSize) {\n if (elementEdgeStart < scrollingEdgeStart && elementEdgeEnd > scrollingEdgeEnd || elementEdgeStart > scrollingEdgeStart && elementEdgeEnd < scrollingEdgeEnd) {\n return 0;\n }\n\n if (elementEdgeStart <= scrollingEdgeStart && elementSize <= scrollingSize || elementEdgeEnd >= scrollingEdgeEnd && elementSize >= scrollingSize) {\n return elementEdgeStart - scrollingEdgeStart - scrollingBorderStart;\n }\n\n if (elementEdgeEnd > scrollingEdgeEnd && elementSize < scrollingSize || elementEdgeStart < scrollingEdgeStart && elementSize > scrollingSize) {\n return elementEdgeEnd - scrollingEdgeEnd + scrollingBorderEnd;\n }\n\n return 0;\n}\n\nexport default (function (target, options) {\n var scrollMode = options.scrollMode,\n block = options.block,\n inline = options.inline,\n boundary = options.boundary,\n skipOverflowHiddenElements = options.skipOverflowHiddenElements;\n var checkBoundary = typeof boundary === 'function' ? boundary : function (node) {\n return node !== boundary;\n };\n\n if (!isElement(target)) {\n throw new TypeError('Invalid target');\n }\n\n var scrollingElement = document.scrollingElement || document.documentElement;\n var frames = [];\n var cursor = target;\n\n while (isElement(cursor) && checkBoundary(cursor)) {\n cursor = cursor.parentNode;\n\n if (cursor === scrollingElement) {\n frames.push(cursor);\n break;\n }\n\n if (cursor === document.body && isScrollable(cursor) && !isScrollable(document.documentElement)) {\n continue;\n }\n\n if (isScrollable(cursor, skipOverflowHiddenElements)) {\n frames.push(cursor);\n }\n }\n\n var viewportWidth = window.visualViewport ? visualViewport.width : innerWidth;\n var viewportHeight = window.visualViewport ? visualViewport.height : innerHeight;\n var viewportX = window.scrollX || pageXOffset;\n var viewportY = window.scrollY || pageYOffset;\n\n var _target$getBoundingCl = target.getBoundingClientRect(),\n targetHeight = _target$getBoundingCl.height,\n targetWidth = _target$getBoundingCl.width,\n targetTop = _target$getBoundingCl.top,\n targetRight = _target$getBoundingCl.right,\n targetBottom = _target$getBoundingCl.bottom,\n targetLeft = _target$getBoundingCl.left;\n\n var targetBlock = block === 'start' || block === 'nearest' ? targetTop : block === 'end' ? targetBottom : targetTop + targetHeight / 2;\n var targetInline = inline === 'center' ? targetLeft + targetWidth / 2 : inline === 'end' ? targetRight : targetLeft;\n var computations = [];\n\n for (var index = 0; index < frames.length; index++) {\n var frame = frames[index];\n\n var _frame$getBoundingCli = frame.getBoundingClientRect(),\n _height = _frame$getBoundingCli.height,\n _width = _frame$getBoundingCli.width,\n _top = _frame$getBoundingCli.top,\n right = _frame$getBoundingCli.right,\n bottom = _frame$getBoundingCli.bottom,\n _left = _frame$getBoundingCli.left;\n\n if (scrollMode === 'if-needed' && targetTop >= 0 && targetLeft >= 0 && targetBottom <= viewportHeight && targetRight <= viewportWidth && targetTop >= _top && targetBottom <= bottom && targetLeft >= _left && targetRight <= right) {\n return computations;\n }\n\n var frameStyle = getComputedStyle(frame);\n var borderLeft = parseInt(frameStyle.borderLeftWidth, 10);\n var borderTop = parseInt(frameStyle.borderTopWidth, 10);\n var borderRight = parseInt(frameStyle.borderRightWidth, 10);\n var borderBottom = parseInt(frameStyle.borderBottomWidth, 10);\n var blockScroll = 0;\n var inlineScroll = 0;\n var scrollbarWidth = 'offsetWidth' in frame ? frame.offsetWidth - frame.clientWidth - borderLeft - borderRight : 0;\n var scrollbarHeight = 'offsetHeight' in frame ? frame.offsetHeight - frame.clientHeight - borderTop - borderBottom : 0;\n\n if (scrollingElement === frame) {\n if (block === 'start') {\n blockScroll = targetBlock;\n } else if (block === 'end') {\n blockScroll = targetBlock - viewportHeight;\n } else if (block === 'nearest') {\n blockScroll = alignNearest(viewportY, viewportY + viewportHeight, viewportHeight, borderTop, borderBottom, viewportY + targetBlock, viewportY + targetBlock + targetHeight, targetHeight);\n } else {\n blockScroll = targetBlock - viewportHeight / 2;\n }\n\n if (inline === 'start') {\n inlineScroll = targetInline;\n } else if (inline === 'center') {\n inlineScroll = targetInline - viewportWidth / 2;\n } else if (inline === 'end') {\n inlineScroll = targetInline - viewportWidth;\n } else {\n inlineScroll = alignNearest(viewportX, viewportX + viewportWidth, viewportWidth, borderLeft, borderRight, viewportX + targetInline, viewportX + targetInline + targetWidth, targetWidth);\n }\n\n blockScroll = Math.max(0, blockScroll + viewportY);\n inlineScroll = Math.max(0, inlineScroll + viewportX);\n } else {\n if (block === 'start') {\n blockScroll = targetBlock - _top - borderTop;\n } else if (block === 'end') {\n blockScroll = targetBlock - bottom + borderBottom + scrollbarHeight;\n } else if (block === 'nearest') {\n blockScroll = alignNearest(_top, bottom, _height, borderTop, borderBottom + scrollbarHeight, targetBlock, targetBlock + targetHeight, targetHeight);\n } else {\n blockScroll = targetBlock - (_top + _height / 2) + scrollbarHeight / 2;\n }\n\n if (inline === 'start') {\n inlineScroll = targetInline - _left - borderLeft;\n } else if (inline === 'center') {\n inlineScroll = targetInline - (_left + _width / 2) + scrollbarWidth / 2;\n } else if (inline === 'end') {\n inlineScroll = targetInline - right + borderRight + scrollbarWidth;\n } else {\n inlineScroll = alignNearest(_left, right, _width, borderLeft, borderRight + scrollbarWidth, targetInline, targetInline + targetWidth, targetWidth);\n }\n\n var scrollLeft = frame.scrollLeft,\n scrollTop = frame.scrollTop;\n blockScroll = Math.max(0, Math.min(scrollTop + blockScroll, frame.scrollHeight - _height + scrollbarHeight));\n inlineScroll = Math.max(0, Math.min(scrollLeft + inlineScroll, frame.scrollWidth - _width + scrollbarWidth));\n targetBlock += scrollTop - blockScroll;\n targetInline += scrollLeft - inlineScroll;\n }\n\n computations.push({\n el: frame,\n top: blockScroll,\n left: inlineScroll\n });\n }\n\n return computations;\n});","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}","function t(t){return\"object\"==typeof t&&null!=t&&1===t.nodeType}function e(t,e){return(!e||\"hidden\"!==t)&&\"visible\"!==t&&\"clip\"!==t}function n(t,n){if(t.clientHeighte||o>t&&l=e&&d>=n?o-t-r:l>e&&dn?l-e+i:0}var i=function(e,i){var o=window,l=i.scrollMode,d=i.block,f=i.inline,h=i.boundary,u=i.skipOverflowHiddenElements,s=\"function\"==typeof h?h:function(t){return t!==h};if(!t(e))throw new TypeError(\"Invalid target\");for(var a,c,g=document.scrollingElement||document.documentElement,p=[],m=e;t(m)&&s(m);){if((m=null==(c=(a=m).parentElement)?a.getRootNode().host||null:c)===g){p.push(m);break}null!=m&&m===document.body&&n(m)&&!n(document.documentElement)||null!=m&&n(m,u)&&p.push(m)}for(var w=o.visualViewport?o.visualViewport.width:innerWidth,v=o.visualViewport?o.visualViewport.height:innerHeight,W=window.scrollX||pageXOffset,H=window.scrollY||pageYOffset,b=e.getBoundingClientRect(),y=b.height,E=b.width,M=b.top,V=b.right,x=b.bottom,I=b.left,C=\"start\"===d||\"nearest\"===d?M:\"end\"===d?x:M+y/2,R=\"center\"===f?I+E/2:\"end\"===f?V:I,T=[],k=0;k=0&&I>=0&&x<=v&&V<=w&&M>=Y&&x<=S&&I>=j&&V<=L)return T;var N=getComputedStyle(B),q=parseInt(N.borderLeftWidth,10),z=parseInt(N.borderTopWidth,10),A=parseInt(N.borderRightWidth,10),F=parseInt(N.borderBottomWidth,10),G=0,J=0,K=\"offsetWidth\"in B?B.offsetWidth-B.clientWidth-q-A:0,P=\"offsetHeight\"in B?B.offsetHeight-B.clientHeight-z-F:0,Q=\"offsetWidth\"in B?0===B.offsetWidth?0:X/B.offsetWidth:0,U=\"offsetHeight\"in B?0===B.offsetHeight?0:O/B.offsetHeight:0;if(g===B)G=\"start\"===d?C:\"end\"===d?C-v:\"nearest\"===d?r(H,H+v,v,z,F,H+C,H+C+y,y):C-v/2,J=\"start\"===f?R:\"center\"===f?R-w/2:\"end\"===f?R-w:r(W,W+w,w,q,A,W+R,W+R+E,E),G=Math.max(0,G+H),J=Math.max(0,J+W);else{G=\"start\"===d?C-Y-z:\"end\"===d?C-S+F+P:\"nearest\"===d?r(Y,S,O,z,F+P,C,C+y,y):C-(Y+O/2)+P/2,J=\"start\"===f?R-j-q:\"center\"===f?R-(j+X/2)+K/2:\"end\"===f?R-L+A+K:r(j,L,X,q,A+K,R,R+E,E);var Z=B.scrollLeft,$=B.scrollTop;C+=$-(G=Math.max(0,Math.min($+G/U,B.scrollHeight-O/U+P))),R+=Z-(J=Math.max(0,Math.min(Z+J/Q,B.scrollWidth-X/Q+K)))}T.push({el:B,top:G,left:J})}return T};export{i as default};\n//# sourceMappingURL=index.mjs.map\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, useCallback, useReducer, useRef, useEffect } from 'react';\nimport { isForwardRef } from 'react-is';\nimport computeScrollIntoView from 'compute-scroll-into-view';\n\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\n if (!isOpen) {\n return '';\n }\n\n if (!resultCount) {\n return 'No results are available.';\n }\n\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 * 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;\n\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 =\n/*#__PURE__*/\nfunction () {\n var Downshift =\n /*#__PURE__*/\n 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 (_ref, _temp) {\n var _extends2;\n\n if (_ref === void 0) {\n _ref = {};\n }\n\n var _ref2 = _temp === void 0 ? {} : _temp,\n _ref2$suppressRefErro = _ref2.suppressRefError,\n suppressRefError = _ref2$suppressRefErro === void 0 ? false : _ref2$suppressRefErro;\n\n var _ref3 = _ref,\n _ref3$refKey = _ref3.refKey,\n refKey = _ref3$refKey === void 0 ? 'ref' : _ref3$refKey,\n ref = _ref3.ref,\n rest = _objectWithoutPropertiesLoose(_ref3, [\"refKey\", \"ref\"]);\n\n // 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 _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 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 (_ref4) {\n if (_ref4 === void 0) {\n _ref4 = {};\n }\n\n var _ref5 = _ref4,\n onClick = _ref5.onClick,\n onPress = _ref5.onPress,\n onKeyDown = _ref5.onKeyDown,\n onKeyUp = _ref5.onKeyUp,\n onBlur = _ref5.onBlur,\n rest = _objectWithoutPropertiesLoose(_ref5, [\"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 (_ref6) {\n if (_ref6 === void 0) {\n _ref6 = {};\n }\n\n var _ref7 = _ref6,\n onKeyDown = _ref7.onKeyDown,\n onBlur = _ref7.onBlur,\n onChange = _ref7.onChange,\n onInput = _ref7.onInput,\n onChangeText = _ref7.onChangeText,\n rest = _objectWithoutPropertiesLoose(_ref7, [\"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 (_ref8, _temp2) {\n var _extends3;\n\n if (_ref8 === void 0) {\n _ref8 = {};\n }\n\n var _ref9 = _temp2 === void 0 ? {} : _temp2,\n _ref9$suppressRefErro = _ref9.suppressRefError,\n suppressRefError = _ref9$suppressRefErro === void 0 ? false : _ref9$suppressRefErro;\n\n var _ref10 = _ref8,\n _ref10$refKey = _ref10.refKey,\n refKey = _ref10$refKey === void 0 ? 'ref' : _ref10$refKey,\n ref = _ref10.ref,\n props = _objectWithoutPropertiesLoose(_ref10, [\"refKey\", \"ref\"]);\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 (_ref11) {\n var _enabledEventHandlers;\n\n if (_ref11 === void 0) {\n _ref11 = {};\n }\n\n var _ref12 = _ref11,\n onMouseMove = _ref12.onMouseMove,\n onMouseDown = _ref12.onMouseDown,\n onClick = _ref12.onClick,\n onPress = _ref12.onPress,\n index = _ref12.index,\n _ref12$item = _ref12.item,\n item = _ref12$item === void 0 ? process.env.NODE_ENV === 'production' ?\n /* istanbul ignore next */\n undefined : requiredProp('getItemProps', 'item') : _ref12$item,\n rest = _objectWithoutPropertiesLoose(_ref12, [\"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 (_ref13) {\n var selectedItem = _ref13.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 (_ref14) {\n var isOpen = _ref14.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);\n\n // 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 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 /**\n * Clear all running timeouts\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\n /* istanbul ignore if (react-native) */\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 () {\n _this7.isMouseDown = true;\n };\n\n var onMouseUp = function (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 () {\n _this7.isTouchMove = false;\n };\n\n var onTouchMove = function () {\n _this7.isTouchMove = true;\n };\n\n var onTouchEnd = function (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 _ref15 = this.props.highlightedIndex === undefined ? this.getState() : this.props,\n currentHighlightedIndex = _ref15.highlightedIndex;\n\n var _ref16 = prevProps.highlightedIndex === undefined ? prevState : prevProps,\n prevHighlightedIndex = _ref16.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\" ? Downshift.propTypes = {\n children: PropTypes.func,\n defaultHighlightedIndex: PropTypes.number,\n defaultIsOpen: PropTypes.bool,\n initialHighlightedIndex: PropTypes.number,\n initialSelectedItem: PropTypes.any,\n initialInputValue: PropTypes.string,\n initialIsOpen: PropTypes.bool,\n getA11yStatusMessage: PropTypes.func,\n itemToString: PropTypes.func,\n onChange: PropTypes.func,\n onSelect: PropTypes.func,\n onStateChange: PropTypes.func,\n onInputValueChange: PropTypes.func,\n onUserAction: PropTypes.func,\n onOuterClick: PropTypes.func,\n selectedItemChanged: PropTypes.func,\n stateReducer: PropTypes.func,\n itemCount: PropTypes.number,\n id: 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 suppressRefError: PropTypes.bool,\n scrollIntoView: PropTypes.func,\n // things we keep in state for uncontrolled components\n // but can accept as props for controlled components\n\n /* eslint-disable react/no-unused-prop-types */\n selectedItem: PropTypes.any,\n isOpen: PropTypes.bool,\n inputValue: PropTypes.string,\n highlightedIndex: PropTypes.number,\n labelId: PropTypes.string,\n inputId: PropTypes.string,\n menuId: PropTypes.string,\n getItemId: PropTypes.func\n /* eslint-enable react/no-unused-prop-types */\n\n} : void 0;\n\nfunction validateGetMenuPropsCalledCorrectly(node, _ref17) {\n var refKey = _ref17.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, _ref18) {\n var refKey = _ref18.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 defaultStateValues = {\n highlightedIndex: -1,\n isOpen: false,\n selectedItem: null,\n inputValue: ''\n};\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\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\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 useEnhancedReducer(reducer, initialState, props) {\n var enhancedReducer = useCallback(function (state, action) {\n state = getState(state, action.props);\n var stateReduceLocal = action.props.stateReducer;\n var changes = reducer(state, action);\n var newState = stateReduceLocal(state, _extends({}, action, {\n changes: changes\n }));\n callOnChangeProps(action, state, newState);\n return newState;\n }, [reducer]);\n\n var _useReducer = useReducer(enhancedReducer, initialState),\n state = _useReducer[0],\n dispatch = _useReducer[1];\n\n return [getState(state, props), function dispatchWithProps(action) {\n return dispatch(_extends({\n props: props\n }, action));\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 itemToStringLocal(selectedItem) + \" has been selected.\";\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) {\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) {\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);\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 (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\n if (!isOpen) {\n return '';\n }\n\n if (!resultCount) {\n return 'No results are available.';\n }\n\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\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;\n\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\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\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\n /* istanbul ignore else */\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 itemToString = props.itemToString,\n getA11yStatusMessage = props.getA11yStatusMessage,\n getA11ySelectionMessage = props.getA11ySelectionMessage,\n scrollIntoView = props.scrollIntoView,\n environment = props.environment,\n initialIsOpen = props.initialIsOpen,\n defaultIsOpen = props.defaultIsOpen; // Initial state depending on controlled props.\n\n var initialState = getInitialState(props); // Reducer init.\n\n var _useEnhancedReducer = useEnhancedReducer(downshiftSelectReducer, initialState, props),\n _useEnhancedReducer$ = _useEnhancedReducer[0],\n isOpen = _useEnhancedReducer$.isOpen,\n highlightedIndex = _useEnhancedReducer$.highlightedIndex,\n selectedItem = _useEnhancedReducer$.selectedItem,\n inputValue = _useEnhancedReducer$.inputValue,\n dispatch = _useEnhancedReducer[1];\n /* 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)); // Some utils.\n\n var getItemNodeFromIndex = function (index) {\n return environment.document.getElementById(elementIds.current.getItemId(index));\n };\n /* Effects */\n\n /* Sets a11y status message on changes in isOpen. */\n\n\n useEffect(function () {\n if (isInitialMount.current) {\n return;\n }\n\n setStatus(getA11yStatusMessage({\n highlightedIndex: highlightedIndex,\n inputValue: inputValue,\n isOpen: isOpen,\n itemToString: itemToString,\n resultCount: items.length,\n highlightedItem: items[highlightedIndex],\n selectedItem: selectedItem\n }), environment.document); // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isOpen]);\n /* Sets a11y status message on changes in selectedItem. */\n\n useEffect(function () {\n if (isInitialMount.current) {\n return;\n }\n\n setStatus(getA11ySelectionMessage({\n highlightedIndex: highlightedIndex,\n inputValue: inputValue,\n isOpen: isOpen,\n itemToString: itemToString,\n resultCount: items.length,\n highlightedItem: items[highlightedIndex],\n selectedItem: selectedItem\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 /* 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 () {\n mouseAndTouchTrackers.current.isMouseDown = true;\n };\n\n var onMouseUp = function (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 () {\n mouseAndTouchTrackers.current.isTouchMove = false;\n };\n\n var onTouchMove = function () {\n mouseAndTouchTrackers.current.isTouchMove = true;\n };\n\n var onTouchEnd = function (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 (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 () {\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 () {\n dispatch({\n type: MenuMouseLeave\n });\n };\n\n var toggleButtonHandleClick = function () {\n dispatch({\n type: ToggleButtonClick\n });\n };\n\n var toggleButtonHandleKeyDown = function (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 (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 (index) {\n dispatch({\n type: ItemClick,\n index: index\n });\n }; // Action functions.\n\n\n return {\n // prop getters.\n getToggleButtonProps: function getToggleButtonProps(_ref3) {\n var _extends3;\n\n if (_ref3 === void 0) {\n _ref3 = {};\n }\n\n var _ref4 = _ref3,\n onClick = _ref4.onClick,\n onKeyDown = _ref4.onKeyDown,\n _ref4$refKey = _ref4.refKey,\n refKey = _ref4$refKey === void 0 ? 'ref' : _ref4$refKey,\n ref = _ref4.ref,\n rest = _objectWithoutPropertiesLoose(_ref4, [\"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(_ref) {\n var _extends2;\n\n if (_ref === void 0) {\n _ref = {};\n }\n\n var _ref2 = _ref,\n onMouseLeave = _ref2.onMouseLeave,\n _ref2$refKey = _ref2.refKey,\n refKey = _ref2$refKey === void 0 ? 'ref' : _ref2$refKey,\n onKeyDown = _ref2.onKeyDown,\n onBlur = _ref2.onBlur,\n ref = _ref2.ref,\n rest = _objectWithoutPropertiesLoose(_ref2, [\"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(_ref5) {\n if (_ref5 === void 0) {\n _ref5 = {};\n }\n\n var _ref6 = _ref5,\n item = _ref6.item,\n index = _ref6.index,\n onMouseMove = _ref6.onMouseMove,\n onClick = _ref6.onClick,\n rest = _objectWithoutPropertiesLoose(_ref6, [\"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\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\nvar defaultProps$2 = _extends({}, defaultProps, {\n getA11yStatusMessage: getA11yStatusMessage,\n circularNavigation: true\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;\n\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});\n\n/* eslint-disable complexity */\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 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\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\n /* istanbul ignore else */\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 getA11ySelectionMessage = props.getA11ySelectionMessage,\n getA11yStatusMessage = props.getA11yStatusMessage,\n itemToString = props.itemToString,\n environment = props.environment; // Initial state depending on controlled props.\n\n var initialState = getInitialState$1(props); // Reducer init.\n\n var _useEnhancedReducer = useEnhancedReducer(downshiftUseComboboxReducer, initialState, props),\n _useEnhancedReducer$ = _useEnhancedReducer[0],\n isOpen = _useEnhancedReducer$.isOpen,\n highlightedIndex = _useEnhancedReducer$.highlightedIndex,\n selectedItem = _useEnhancedReducer$.selectedItem,\n inputValue = _useEnhancedReducer$.inputValue,\n dispatch = _useEnhancedReducer[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 /* Effects */\n\n /* Sets a11y status message on changes in isOpen. */\n\n useEffect(function () {\n if (isInitialMount.current) {\n return;\n }\n\n setStatus(getA11yStatusMessage({\n highlightedIndex: highlightedIndex,\n inputValue: inputValue,\n isOpen: isOpen,\n itemToString: itemToString,\n resultCount: items.length,\n highlightedItem: items[highlightedIndex],\n selectedItem: selectedItem\n }), environment.document); // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isOpen]);\n /* Sets a11y status message on changes in selectedItem. */\n\n useEffect(function () {\n if (isInitialMount.current) {\n return;\n }\n\n setStatus(getA11ySelectionMessage({\n highlightedIndex: highlightedIndex,\n inputValue: inputValue,\n isOpen: isOpen,\n itemToString: itemToString,\n resultCount: items.length,\n highlightedItem: items[highlightedIndex],\n selectedItem: selectedItem\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 /* 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 () {\n mouseAndTouchTrackers.current.isMouseDown = true;\n };\n\n var onMouseUp = function (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 () {\n mouseAndTouchTrackers.current.isTouchMove = false;\n };\n\n var onTouchMove = function () {\n mouseAndTouchTrackers.current.isTouchMove = true;\n };\n\n var onTouchEnd = function (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 (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 event.preventDefault();\n dispatch({\n type: InputKeyDownEnter,\n getItemNodeFromIndex: getItemNodeFromIndex\n });\n }\n }; // Event handlers.\n\n var inputHandleKeyDown = function (event) {\n var key = normalizeArrowKey(event);\n\n if (key && inputKeyDownHandlers[key]) {\n inputKeyDownHandlers[key](event);\n }\n };\n\n var inputHandleChange = function (event) {\n dispatch({\n type: InputChange,\n inputValue: event.target.value\n });\n };\n\n var inputHandleBlur = function () {\n /* istanbul ignore else */\n if (!mouseAndTouchTrackers.current.isMouseDown) {\n dispatch({\n type: InputBlur\n });\n }\n };\n\n var menuHandleMouseLeave = function () {\n dispatch({\n type: MenuMouseLeave$1\n });\n };\n\n var itemHandleMouseMove = function (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 (index) {\n dispatch({\n type: ItemClick$1,\n index: index\n });\n };\n\n var toggleButtonHandleClick = function () {\n dispatch({\n type: ToggleButtonClick$1\n });\n\n if (!isOpen && inputRef.current) {\n inputRef.current.focus();\n }\n }; // returns\n\n\n return {\n // prop getters.\n getItemProps: function getItemProps(_ref3) {\n var _extends3, _ref5;\n\n if (_ref3 === void 0) {\n _ref3 = {};\n }\n\n var _ref4 = _ref3,\n item = _ref4.item,\n index = _ref4.index,\n _ref4$refKey = _ref4.refKey,\n refKey = _ref4$refKey === void 0 ? 'ref' : _ref4$refKey,\n ref = _ref4.ref,\n onMouseMove = _ref4.onMouseMove,\n onClick = _ref4.onClick,\n onPress = _ref4.onPress,\n rest = _objectWithoutPropertiesLoose(_ref4, [\"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 && (_ref5 = {\n onMouseMove: callAllEventHandlers(onMouseMove, function () {\n itemHandleMouseMove(itemIndex);\n })\n }, _ref5[onSelectKey] = callAllEventHandlers(customClickHandler, function () {\n itemHandleClick(itemIndex);\n }), _ref5), {}, 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(_ref) {\n var _extends2;\n\n if (_ref === void 0) {\n _ref = {};\n }\n\n var _ref2 = _ref,\n onMouseLeave = _ref2.onMouseLeave,\n _ref2$refKey = _ref2.refKey,\n refKey = _ref2$refKey === void 0 ? 'ref' : _ref2$refKey,\n ref = _ref2.ref,\n rest = _objectWithoutPropertiesLoose(_ref2, [\"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(_ref8) {\n var _extends5;\n\n if (_ref8 === void 0) {\n _ref8 = {};\n }\n\n var _ref9 = _ref8,\n onKeyDown = _ref9.onKeyDown,\n onChange = _ref9.onChange,\n onInput = _ref9.onInput,\n onBlur = _ref9.onBlur,\n onChangeText = _ref9.onChangeText,\n _ref9$refKey = _ref9.refKey,\n refKey = _ref9$refKey === void 0 ? 'ref' : _ref9$refKey,\n ref = _ref9.ref,\n rest = _objectWithoutPropertiesLoose(_ref9, [\"onKeyDown\", \"onChange\", \"onInput\", \"onBlur\", \"onChangeText\", \"refKey\", \"ref\"]);\n\n /* istanbul ignore next (preact) */\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(_ref10) {\n var _extends6;\n\n if (_ref10 === void 0) {\n _ref10 = {};\n }\n\n var _ref11 = _ref10,\n _ref11$refKey = _ref11.refKey,\n refKey = _ref11$refKey === void 0 ? 'ref' : _ref11$refKey,\n ref = _ref11.ref,\n rest = _objectWithoutPropertiesLoose(_ref11, [\"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(_ref6) {\n var _extends4;\n\n if (_ref6 === void 0) {\n _ref6 = {};\n }\n\n var _ref7 = _ref6,\n onClick = _ref7.onClick,\n onPress = _ref7.onPress,\n _ref7$refKey = _ref7.refKey,\n refKey = _ref7$refKey === void 0 ? 'ref' : _ref7$refKey,\n ref = _ref7.ref,\n rest = _objectWithoutPropertiesLoose(_ref7, [\"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\nexport default Downshift;\nexport { resetIdCounter, useCombobox, useSelect };\n","import { selectableListBehavior } from './selectableListBehavior';\nimport { basicListBehavior } from './basicListBehavior';\nimport { navigableListBehavior } from './navigableListBehavior';\n/**\n * @description\n * Defines a behavior 'BasicListBehavior' or 'SelectableListBehavior' based on property 'selectable'.\n */\n\nexport var listBehavior = function listBehavior(props) {\n return props.selectable ? selectableListBehavior(props) : props.navigable ? navigableListBehavior(props) : basicListBehavior(props);\n};\n//# sourceMappingURL=listBehavior.js.map\n","import { FocusZoneDirection } from '../../focusZone/types';\n\n/**\n * @description\n * The listbox role is used to identify an element that creates a list from which a user may select one or more items.\n *\n * @specification\n * Adds role='listbox'.\n * Adds attribute 'tabIndex=-1' to 'root' slot.\n * Adds attribute 'aria-orientation=horizontal' to 'root' slot if 'horizontal' property is true. Does not set the attribute otherwise.\n * Provides arrow key navigation in bidirectionalDomOrder direction.\n */\nexport var selectableListBehavior = function selectableListBehavior(props) {\n return {\n attributes: {\n root: Object.assign({\n role: 'listbox',\n tabIndex: -1\n }, props.horizontal && {\n 'aria-orientation': 'horizontal'\n })\n },\n focusZone: {\n props: {\n shouldFocusInnerElementWhenReceivedFocus: true,\n direction: FocusZoneDirection.bidirectionalDomOrder\n }\n }\n };\n};\n//# sourceMappingURL=selectableListBehavior.js.map\n","import { FocusZoneDirection } from '../../focusZone/types';\n\n/**\n * @specification\n * Adds role='menu'.\n * Provides arrow key navigation in bidirectionalDomOrder direction.\n */\nexport var navigableListBehavior = function navigableListBehavior(props) {\n return {\n attributes: {\n root: {\n role: 'menu'\n }\n },\n focusZone: {\n props: {\n shouldFocusInnerElementWhenReceivedFocus: true,\n direction: FocusZoneDirection.bidirectionalDomOrder\n }\n }\n };\n};\n//# sourceMappingURL=navigableListBehavior.js.map\n","/**\n * @description\n * The 'list' role is used to identify an element that creates a list.\n *\n * @specification\n * Adds role='list'.\n */\nexport var basicListBehavior = function basicListBehavior(props) {\n return {\n attributes: {\n root: {\n role: 'list'\n }\n }\n };\n};\n//# sourceMappingURL=basicListBehavior.js.map\n","import * as React from 'react';\nimport { unstable_NormalPriority as NormalPriority, unstable_runWithPriority as runWithPriority } from 'scheduler';\nvar isSSR = typeof window === 'undefined' || /ServerSideRendering/.test(window.navigator && window.navigator.userAgent);\nexport var useIsomorphicLayoutEffect = isSSR ? React.useEffect : React.useLayoutEffect;\nexport function runWithNormalPriority(thunk) {\n return runWithPriority(NormalPriority, thunk);\n}\n//# sourceMappingURL=utils.js.map\n","import * as React from 'react';\nimport { runWithNormalPriority, useIsomorphicLayoutEffect } from './utils';\n\nvar createProvider = function createProvider(Original) {\n var Provider = function Provider(props) {\n // Holds an actual \"props.value\"\n var valueRef = React.useRef(props.value); // Used to sync context updates and avoid stale values, can be considered as render/effect counter of Provider.\n\n var versionRef = React.useRef(0); // A stable object, is used to avoid context updates via mutation of its values.\n\n var contextValue = React.useRef();\n\n if (!contextValue.current) {\n contextValue.current = {\n value: valueRef,\n version: versionRef,\n listeners: []\n };\n }\n\n useIsomorphicLayoutEffect(function () {\n valueRef.current = props.value;\n versionRef.current += 1;\n runWithNormalPriority(function () {\n contextValue.current.listeners.forEach(function (listener) {\n listener([versionRef.current, props.value]);\n });\n });\n }, [props.value]);\n return /*#__PURE__*/React.createElement(Original, {\n value: contextValue.current\n }, props.children);\n };\n /* istanbul ignore else */\n\n\n if (process.env.NODE_ENV !== 'production') {\n Provider.displayName = 'ContextSelector.Provider';\n }\n\n return Provider;\n};\n\nexport var createContext = function createContext(defaultValue) {\n var context = /*#__PURE__*/React.createContext({\n value: {\n current: defaultValue\n },\n version: {\n current: -1\n },\n listeners: []\n });\n context.Provider = createProvider(context.Provider); // We don't support Consumer API\n\n delete context.Consumer;\n return context;\n};\n//# sourceMappingURL=createContext.js.map\n","import { createContext } from '@fluentui/react-bindings';\nexport var ListContext = createContext({\n debug: false,\n selectable: false,\n navigable: false,\n truncateContent: false,\n truncateHeader: false,\n variables: {},\n onItemClick: function onItemClick() {},\n selectedIndex: -1\n});\nexport var ListContextProvider = ListContext.Provider;\n//# sourceMappingURL=listContext.js.map\n","import { selectableListItemBehavior } from './selectableListItemBehavior';\nimport { basicListItemBehavior } from './basicListItemBehavior';\nimport { navigableListItemBehavior } from './navigableListItemBehavior';\n/**\n * @description\n * Defines a behavior \"BasicListItemBehavior\" or \"SelectableListItemBehavior\" based on \"selectable\" property.\n */\n\nexport var listItemBehavior = function listItemBehavior(props) {\n return props.selectable ? selectableListItemBehavior(props) : props.navigable ? navigableListItemBehavior(props) : basicListItemBehavior(props);\n};\n//# sourceMappingURL=listItemBehavior.js.map\n","import { keyboardKey, SpacebarKey } from '../../keyboard-key';\nimport { IS_FOCUSABLE_ATTRIBUTE } from '../../attributes';\n\n/**\n * @specification\n * Adds role='option'. This role is used for a selectable item in a list.\n * Adds attribute 'data-is-focusable=true' to 'root' slot.\n * Adds attribute 'aria-selected=true' based on the property 'selected'. Based on this screen readers will recognize the selected state of the item.\n * Triggers 'performClick' action with 'Enter' or 'Spacebar' on 'root'.\n */\nexport var selectableListItemBehavior = function selectableListItemBehavior(props) {\n var _root;\n\n return {\n attributes: {\n root: (_root = {\n role: 'option',\n 'aria-selected': !!props.selected\n }, _root[IS_FOCUSABLE_ATTRIBUTE] = true, _root)\n },\n keyActions: {\n root: {\n performClick: {\n keyCombinations: [{\n keyCode: keyboardKey.Enter\n }, {\n keyCode: SpacebarKey\n }]\n }\n }\n }\n };\n};\n//# sourceMappingURL=selectableListItemBehavior.js.map\n","import { keyboardKey, SpacebarKey } from '../../keyboard-key';\nimport { IS_FOCUSABLE_ATTRIBUTE } from '../../attributes';\n\n/**\n * @specification\n * Adds role='menuitem'.\n * Adds attribute 'data-is-focusable=true' to 'root' slot.\n * Triggers 'performClick' action with 'Enter' or 'Spacebar' on 'root'.\n */\nexport var navigableListItemBehavior = function navigableListItemBehavior(props) {\n var _root;\n\n return {\n attributes: {\n root: (_root = {\n role: 'menuitem'\n }, _root[IS_FOCUSABLE_ATTRIBUTE] = true, _root)\n },\n keyActions: {\n root: {\n performClick: {\n keyCombinations: [{\n keyCode: keyboardKey.Enter\n }, {\n keyCode: SpacebarKey\n }]\n }\n }\n }\n };\n};\n//# sourceMappingURL=navigableListItemBehavior.js.map\n","/**\n * @description\n * The 'listitem' role is used to identify an element that is a single item in a list.\n *\n * @specification\n * Adds role='listitem'.\n */\nexport var basicListItemBehavior = function basicListItemBehavior(props) {\n return {\n attributes: {\n root: {\n role: 'listitem'\n }\n }\n };\n};\n//# sourceMappingURL=basicListItemBehavior.js.map\n","import { compose } from '@fluentui/react-bindings';\nimport { commonPropTypes } from '../../utils';\nimport { Box } from '../Box/Box';\nexport var listItemMediaClassName = 'ui-list__itemmedia';\n/**\n * Provides a content for the ListItem.\n */\n\nexport var ListItemMedia = /*#__PURE__*/function () {\n var ListItemMedia = compose(Box, {\n className: listItemMediaClassName,\n displayName: 'ListItemMedia',\n mapPropsToStylesProps: function mapPropsToStylesProps(_ref) {\n var hasContent = _ref.hasContent,\n hasHeader = _ref.hasHeader,\n important = _ref.important;\n return {\n hasContent: hasContent,\n hasHeader: hasHeader,\n important: important\n };\n },\n handledProps: ['hasContent', 'hasHeader', 'important'],\n overrideStyles: true,\n shorthandConfig: {\n mappedProp: 'content'\n }\n });\n ListItemMedia.propTypes = commonPropTypes.createCommon();\n return ListItemMedia;\n}();\n//# sourceMappingURL=ListItemMedia.js.map\n","import _invoke from \"lodash/invoke\";\nimport { listItemBehavior } from '@fluentui/accessibility';\nimport { getElementType, useUnhandledProps, useAccessibility, useFluentContext, useStyles, useTelemetry, useContextSelectors } from '@fluentui/react-bindings';\nimport cx from 'classnames';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { createShorthandFactory, commonPropTypes, createShorthand } from '../../utils';\nimport { ListContext } from './listContext';\nimport { ListItemContent } from './ListItemContent';\nimport { ListItemContentMedia } from './ListItemContentMedia';\nimport { ListItemEndMedia } from './ListItemEndMedia';\nimport { ListItemHeader } from './ListItemHeader';\nimport { ListItemHeaderMedia } from './ListItemHeaderMedia';\nimport { ListItemMedia } from './ListItemMedia';\nexport var listItemClassName = 'ui-list__item';\nexport var listItemSlotClassNames = {\n headerWrapper: listItemClassName + \"__headerWrapper\",\n main: listItemClassName + \"__main\",\n contentWrapper: listItemClassName + \"__contentWrapper\"\n};\n/**\n * A ListItem contains a single piece of content within a List.\n */\n\nexport var ListItem = /*#__PURE__*/function () {\n var ListItem = function ListItem(props) {\n var context = useFluentContext();\n\n var _useTelemetry = useTelemetry(ListItem.displayName, context.telemetry),\n setStart = _useTelemetry.setStart,\n setEnd = _useTelemetry.setEnd;\n\n setStart();\n var accessibility = props.accessibility,\n className = props.className,\n content = props.content,\n contentMedia = props.contentMedia,\n design = props.design,\n endMedia = props.endMedia,\n header = props.header,\n important = props.important,\n headerMedia = props.headerMedia,\n media = props.media,\n styles = props.styles;\n var parentProps = useContextSelectors(ListContext, {\n debug: function debug(v) {\n return v.debug;\n },\n navigable: function navigable(v) {\n return v.navigable;\n },\n selectable: function selectable(v) {\n return v.selectable;\n },\n truncateContent: function truncateContent(v) {\n return v.truncateContent;\n },\n truncateHeader: function truncateHeader(v) {\n return v.truncateHeader;\n },\n variables: function variables(v) {\n return v.variables;\n },\n onItemClick: function onItemClick(v) {\n return v.onItemClick;\n },\n selected: function selected(v) {\n return v.selectedIndex === props.index;\n }\n });\n var _props$debug = props.debug,\n debug = _props$debug === void 0 ? parentProps.debug : _props$debug,\n _props$navigable = props.navigable,\n navigable = _props$navigable === void 0 ? parentProps.navigable : _props$navigable,\n _props$selectable = props.selectable,\n selectable = _props$selectable === void 0 ? parentProps.selectable : _props$selectable,\n _props$selected = props.selected,\n selected = _props$selected === void 0 ? parentProps.selected : _props$selected,\n _props$truncateConten = props.truncateContent,\n truncateContent = _props$truncateConten === void 0 ? parentProps.truncateContent : _props$truncateConten,\n _props$truncateHeader = props.truncateHeader,\n truncateHeader = _props$truncateHeader === void 0 ? parentProps.truncateHeader : _props$truncateHeader,\n _props$variables = props.variables,\n variables = _props$variables === void 0 ? parentProps.variables : _props$variables;\n var getA11Props = useAccessibility(accessibility, {\n debugName: ListItem.displayName,\n actionHandlers: {\n performClick: function performClick(e) {\n e.preventDefault();\n handleClick(e);\n }\n },\n mapPropsToBehavior: function mapPropsToBehavior() {\n return {\n navigable: navigable,\n selectable: selectable,\n selected: selected\n };\n },\n rtl: context.rtl\n });\n\n var _useStyles = useStyles(ListItem.displayName, {\n className: listItemClassName,\n mapPropsToStyles: function mapPropsToStyles() {\n return {\n debug: debug,\n navigable: navigable,\n important: important,\n selectable: selectable,\n selected: selected\n };\n },\n mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n return {\n className: className,\n design: design,\n styles: styles,\n variables: variables\n };\n },\n rtl: context.rtl\n }),\n classes = _useStyles.classes;\n\n var ElementType = getElementType(props);\n var unhandledProps = useUnhandledProps(ListItem.handledProps, props);\n\n var handleClick = function handleClick(e) {\n _invoke(props, 'onClick', e, props);\n\n parentProps.onItemClick(e, props.index);\n };\n\n var contentElement = createShorthand(ListItemContent, content, {\n defaultProps: function defaultProps() {\n return {\n hasContentMedia: !!contentMedia,\n hasHeader: !!header,\n truncate: truncateContent\n };\n }\n });\n var contentMediaElement = createShorthand(ListItemContentMedia, contentMedia);\n var headerElement = createShorthand(ListItemHeader, header, {\n defaultProps: function defaultProps() {\n return {\n hasContent: !!content,\n hasHeaderMedia: !!headerMedia,\n truncate: truncateHeader\n };\n }\n });\n var headerMediaElement = createShorthand(ListItemHeaderMedia, headerMedia);\n var endMediaElement = createShorthand(ListItemEndMedia, endMedia, {\n defaultProps: function defaultProps() {\n return {\n navigable: navigable,\n selectable: selectable\n };\n }\n });\n var mediaElement = createShorthand(ListItemMedia, media, {\n defaultProps: function defaultProps() {\n return {\n hasContent: !!content,\n hasHeader: !!header,\n important: important\n };\n }\n });\n var element = getA11Props.unstable_wrapWithFocusZone( /*#__PURE__*/React.createElement(ElementType, getA11Props('root', Object.assign({\n className: classes.root,\n onClick: handleClick\n }, unhandledProps)), mediaElement, /*#__PURE__*/React.createElement(\"div\", {\n className: cx(listItemSlotClassNames.main, classes.main)\n }, (headerElement || headerMediaElement) && /*#__PURE__*/React.createElement(\"div\", {\n className: cx(listItemSlotClassNames.headerWrapper, classes.headerWrapper)\n }, headerElement, headerMediaElement), (contentElement || contentMediaElement) && /*#__PURE__*/React.createElement(\"div\", {\n className: cx(listItemSlotClassNames.contentWrapper, classes.contentWrapper)\n }, contentElement, contentMediaElement)), endMediaElement));\n setEnd();\n return element;\n };\n\n ListItem.displayName = 'ListItem';\n ListItem.defaultProps = {\n as: 'li',\n accessibility: listItemBehavior\n };\n ListItem.propTypes = Object.assign({}, commonPropTypes.createCommon({\n content: false\n }), {\n contentMedia: PropTypes.any,\n content: PropTypes.any,\n debug: PropTypes.bool,\n header: PropTypes.any,\n endMedia: PropTypes.any,\n headerMedia: PropTypes.any,\n important: PropTypes.bool,\n media: PropTypes.any,\n selectable: PropTypes.bool,\n navigable: PropTypes.bool,\n index: PropTypes.number,\n selected: PropTypes.bool,\n truncateContent: PropTypes.bool,\n truncateHeader: PropTypes.bool,\n onClick: PropTypes.func\n });\n ListItem.handledProps = Object.keys(ListItem.propTypes);\n ListItem.create = createShorthandFactory({\n Component: ListItem,\n mappedProp: 'content'\n });\n return ListItem;\n}();\n//# sourceMappingURL=ListItem.js.map\n","import * as React from 'react';\nimport { useIsomorphicLayoutEffect } from './utils';\n/**\n * This hook returns context selected value by selectors.\n * It will only accept context created by `createContext`.\n * It will trigger re-render if only the selected value is referencially changed.\n */\n\nexport var useContextSelectors = function useContextSelectors(context, selectors) {\n var contextValue = React.useContext(context);\n var value = contextValue.value.current,\n version = contextValue.version.current,\n listeners = contextValue.listeners;\n var selected = {};\n Object.keys(selectors).forEach(function (key) {\n selected[key] = selectors[key](value);\n });\n\n var _React$useReducer = React.useReducer(function (prevState, payload) // from provider effect\n {\n if (!payload) {\n // early bail out when is dispatched during render\n return [value, selected];\n }\n\n if (payload[0] <= version) {\n var stateHasNotChanged = Object.keys(selectors).every(function (key) {\n return Object.is(prevState[1][key], selected[key]);\n });\n\n if (stateHasNotChanged) {\n return prevState; // bail out\n }\n\n return [value, selected];\n }\n\n try {\n var statePayloadHasChanged = Object.keys(prevState[0]).some(function (key) {\n return !Object.is(prevState[0]\n /* previous contextValue */\n [key], payload[1]\n /* current contextValue */\n [key]);\n });\n\n if (!statePayloadHasChanged) {\n return prevState;\n }\n\n var nextSelected = {};\n Object.keys(selectors).forEach(function (key) {\n nextSelected[key] = selectors[key](payload[1]);\n });\n var selectedHasNotChanged = Object.keys(selectors).every(function (key) {\n return Object.is(prevState[1][key]\n /* previous { [key]: selector(value) } */\n , nextSelected[key]);\n });\n\n if (selectedHasNotChanged) {\n return prevState;\n }\n\n return [payload[1], nextSelected];\n } catch (e) {// ignored (stale props or some other reason)\n }\n\n return [].concat(prevState); // schedule update\n }, [value, selected]),\n state = _React$useReducer[0],\n dispatch = _React$useReducer[1]; // schedule re-render when selected context is updated\n\n\n var hasSelectedValuesUpdates = Object.keys(selectors).find(function (key) {\n return !Object.is(state[1]\n /* previous { [key]: selector(value) } */\n [key], selected[key]);\n });\n\n if (hasSelectedValuesUpdates !== undefined) {\n dispatch(undefined);\n }\n\n useIsomorphicLayoutEffect(function () {\n listeners.push(dispatch);\n return function () {\n var index = listeners.indexOf(dispatch);\n listeners.splice(index, 1);\n };\n }, [listeners]);\n return state[1];\n};\n//# sourceMappingURL=useContextSelectors.js.map\n","import _map from \"lodash/map\";\nimport _invoke from \"lodash/invoke\";\nimport { listBehavior } from '@fluentui/accessibility';\nimport { getElementType, useUnhandledProps, useAccessibility, useAutoControlled, useFluentContext, useStyles, useTelemetry } from '@fluentui/react-bindings';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { childrenExist, commonPropTypes, rtlTextContainer, createShorthandFactory } from '../../utils';\nimport { ListContextProvider } from './listContext';\nimport { ListItem } from './ListItem';\nimport { ListItemContent } from './ListItemContent';\nimport { ListItemContentMedia } from './ListItemContentMedia';\nimport { ListItemEndMedia } from './ListItemEndMedia';\nimport { ListItemHeader } from './ListItemHeader';\nimport { ListItemHeaderMedia } from './ListItemHeaderMedia';\nimport { ListItemMedia } from './ListItemMedia';\nexport var listClassName = 'ui-list';\n/**\n * A List displays a group of related sequential items.\n *\n * @accessibility\n * List may follow one of the following accessibility semantics:\n * - Static non-navigable list. Implements [ARIA list](https://www.w3.org/TR/wai-aria-1.1/#list) role.\n * - Selectable list: allows the user to select item from a list of choices. Implements [ARIA Listbox](https://www.w3.org/TR/wai-aria-practices-1.1/#Listbox) design pattern.\n */\n\nexport var List = /*#__PURE__*/function () {\n var List = function List(props) {\n var context = useFluentContext();\n\n var _useTelemetry = useTelemetry(List.displayName, context.telemetry),\n setStart = _useTelemetry.setStart,\n setEnd = _useTelemetry.setEnd;\n\n setStart();\n var accessibility = props.accessibility,\n as = props.as,\n children = props.children,\n className = props.className,\n debug = props.debug,\n design = props.design,\n horizontal = props.horizontal,\n items = props.items,\n navigable = props.navigable,\n selectable = props.selectable,\n styles = props.styles,\n truncateContent = props.truncateContent,\n truncateHeader = props.truncateHeader,\n variables = props.variables,\n wrap = props.wrap;\n\n var _useAutoControlled = useAutoControlled({\n defaultValue: props.defaultSelectedIndex,\n value: props.selectedIndex,\n initialValue: -1\n }),\n selectedIndex = _useAutoControlled[0],\n setSelectedIndex = _useAutoControlled[1];\n\n var getA11Props = useAccessibility(accessibility, {\n debugName: List.displayName,\n mapPropsToBehavior: function mapPropsToBehavior() {\n return {\n horizontal: horizontal,\n navigable: navigable,\n selectable: selectable\n };\n },\n rtl: context.rtl\n });\n\n var _useStyles = useStyles(List.displayName, {\n className: listClassName,\n mapPropsToStyles: function mapPropsToStyles() {\n return {\n isListTag: as === 'ol' || as === 'ul',\n debug: debug,\n horizontal: horizontal\n };\n },\n mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n return {\n className: className,\n design: design,\n styles: styles,\n variables: variables\n };\n },\n rtl: context.rtl\n }),\n classes = _useStyles.classes;\n\n var latestProps = React.useRef(props);\n latestProps.current = props;\n var ElementType = getElementType(props);\n var unhandledProps = useUnhandledProps(List.handledProps, props);\n var hasContent = childrenExist(children) || items && items.length > 0;\n var onItemClick = React.useCallback(function (e, itemIndex) {\n if (latestProps.current.selectable) {\n setSelectedIndex(itemIndex);\n\n _invoke(latestProps.current, 'onSelectedIndexChange', e, Object.assign({}, latestProps.current, {\n selectedIndex: itemIndex\n }));\n }\n }, [latestProps, setSelectedIndex]);\n var childProps = {\n debug: debug,\n navigable: navigable,\n onItemClick: onItemClick,\n selectable: selectable,\n selectedIndex: selectedIndex,\n truncateContent: truncateContent,\n truncateHeader: truncateHeader,\n variables: variables\n };\n\n var renderItems = function renderItems() {\n return _map(items, function (item, index) {\n return ListItem.create(item, {\n defaultProps: function defaultProps() {\n return {\n index: index\n };\n }\n });\n });\n };\n\n var element = getA11Props.unstable_wrapWithFocusZone( /*#__PURE__*/React.createElement(ElementType, getA11Props('root', Object.assign({\n className: classes.root\n }, rtlTextContainer.getAttributes({\n forElements: [children]\n }), unhandledProps)), /*#__PURE__*/React.createElement(ListContextProvider, {\n value: childProps\n }, hasContent && wrap(childrenExist(children) ? children : renderItems()))));\n setEnd();\n return element;\n };\n\n List.displayName = 'List';\n List.defaultProps = {\n as: 'ul',\n accessibility: listBehavior,\n wrap: function wrap(children) {\n return children;\n }\n };\n List.propTypes = Object.assign({}, commonPropTypes.createCommon({\n content: false\n }), {\n debug: PropTypes.bool,\n items: customPropTypes.collectionShorthand,\n selectable: customPropTypes.every([customPropTypes.disallow(['navigable']), PropTypes.bool]),\n navigable: customPropTypes.every([customPropTypes.disallow(['selectable']), PropTypes.bool]),\n truncateContent: PropTypes.bool,\n truncateHeader: PropTypes.bool,\n selectedIndex: PropTypes.number,\n defaultSelectedIndex: PropTypes.number,\n onSelectedIndexChange: PropTypes.func,\n horizontal: PropTypes.bool,\n wrap: PropTypes.func\n });\n List.handledProps = Object.keys(List.propTypes);\n List.Item = ListItem;\n List.ItemContent = ListItemContent;\n List.ItemContentMedia = ListItemContentMedia;\n List.ItemEndMedia = ListItemEndMedia;\n List.ItemHeader = ListItemHeader;\n List.ItemHeaderMedia = ListItemHeaderMedia;\n List.ItemMedia = ListItemMedia;\n List.create = createShorthandFactory({\n Component: List,\n mappedArrayProp: 'items'\n });\n return List;\n}();\n//# sourceMappingURL=List.js.map\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _invoke from \"lodash/invoke\";\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport cx from 'classnames';\nimport { createShorthandFactory, commonPropTypes } from '../../utils';\nimport { Input } from '../Input/Input';\nimport { useFluentContext, useTelemetry, useStyles, useUnhandledProps } from '@fluentui/react-bindings';\nexport var dropdownSearchInputClassName = 'ui-dropdown__searchinput';\nexport var dropdownSearchInputSlotClassNames = {\n input: dropdownSearchInputClassName + \"__input\",\n wrapper: dropdownSearchInputClassName + \"__wrapper\"\n};\n\n/**\n * A DropdownSearchInput represents item of 'search' Dropdown.\n * Used to display the search input field.\n */\nexport var DropdownSearchInput = /*#__PURE__*/function () {\n var DropdownSearchInput = function DropdownSearchInput(props) {\n var context = useFluentContext();\n\n var _useTelemetry = useTelemetry(DropdownSearchInput.displayName, context.telemetry),\n setStart = _useTelemetry.setStart,\n setEnd = _useTelemetry.setEnd;\n\n setStart();\n var accessibilityComboboxProps = props.accessibilityComboboxProps,\n accessibilityInputProps = props.accessibilityInputProps,\n inputRef = props.inputRef,\n inline = props.inline,\n placeholder = props.placeholder,\n disabled = props.disabled,\n className = props.className,\n design = props.design,\n styles = props.styles,\n variables = props.variables;\n var unhandledProps = useUnhandledProps(DropdownSearchInput.handledProps, props);\n\n var _useStyles = useStyles(DropdownSearchInput.displayName, {\n className: dropdownSearchInputClassName,\n mapPropsToStyles: function mapPropsToStyles() {\n return {\n inline: inline\n };\n },\n mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n return {\n className: className,\n design: design,\n styles: styles,\n variables: variables\n };\n }\n }),\n resolvedStyles = _useStyles.styles;\n\n var handleFocus = function handleFocus(e) {\n _invoke(props, 'onFocus', e, props);\n };\n\n var handleInputKeyDown = function handleInputKeyDown(e) {\n _invoke(props, 'onInputKeyDown', e, props);\n };\n\n var handleInputBlur = function handleInputBlur(e) {\n _invoke(props, 'onInputBlur', e, props);\n };\n\n var handleKeyUp = function handleKeyUp(e) {\n _invoke(props, 'onKeyUp', e, props);\n };\n\n var element = /*#__PURE__*/React.createElement(Input, _extends({\n disabled: disabled,\n inputRef: inputRef,\n onFocus: handleFocus,\n onKeyUp: handleKeyUp\n }, unhandledProps, {\n wrapper: Object.assign({\n className: cx(dropdownSearchInputSlotClassNames.wrapper, className),\n styles: resolvedStyles.root\n }, accessibilityComboboxProps, unhandledProps.wrapper),\n input: Object.assign({\n type: 'text',\n className: dropdownSearchInputSlotClassNames.input,\n styles: resolvedStyles.input,\n placeholder: placeholder,\n onBlur: handleInputBlur,\n onKeyDown: handleInputKeyDown\n }, accessibilityInputProps, unhandledProps.input)\n }));\n setEnd();\n return element;\n };\n\n DropdownSearchInput.displayName = 'DropdownSearchInput';\n DropdownSearchInput.propTypes = Object.assign({}, commonPropTypes.createCommon({\n accessibility: false,\n children: false,\n content: false\n }), {\n accessibilityInputProps: PropTypes.object,\n accessibilityComboboxProps: PropTypes.object,\n disabled: PropTypes.bool,\n inline: PropTypes.bool,\n inputRef: customPropTypes.ref,\n onFocus: PropTypes.func,\n onInputBlur: PropTypes.func,\n onInputKeyDown: PropTypes.func,\n onKeyUp: PropTypes.func,\n placeholder: PropTypes.string\n });\n DropdownSearchInput.handledProps = Object.keys(DropdownSearchInput.propTypes);\n DropdownSearchInput.create = createShorthandFactory({\n Component: DropdownSearchInput\n });\n return DropdownSearchInput;\n}();\n//# sourceMappingURL=DropdownSearchInput.js.map\n","import * as React from 'react';\n\nvar getWindowEvent = function getWindowEvent(target) {\n if (target) {\n var _ownerDocument$defaul, _ownerDocument, _ownerDocument$defaul2;\n\n if (typeof target.window === 'object' && target.window === target) {\n return target.event;\n }\n\n return (_ownerDocument$defaul = (_ownerDocument = target.ownerDocument) == null ? void 0 : (_ownerDocument$defaul2 = _ownerDocument.defaultView) == null ? void 0 : _ownerDocument$defaul2.event) != null ? _ownerDocument$defaul : undefined;\n }\n\n return undefined;\n};\n\nvar isActionSupported = function isActionSupported(element, method) {\n return element ? !!element[method] : false;\n};\n\nexport var useEventListener = function useEventListener(options) {\n var capture = options.capture,\n listener = options.listener,\n type = options.type,\n target = options.target,\n targetRef = options.targetRef;\n var latestListener = React.useRef(listener);\n latestListener.current = listener;\n var eventHandler = React.useCallback(function (event) {\n return latestListener.current(event);\n }, []);\n var timeoutId = React.useRef(undefined);\n\n if (process.env.NODE_ENV !== 'production') {\n // This is fine to violate there conditional rule as environment variables will never change during component\n // lifecycle\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useEffect(function () {\n if (typeof target !== 'undefined' && typeof targetRef !== 'undefined') {\n throw new Error('`target` and `targetRef` props are mutually exclusive, please use one of them.');\n }\n\n if (typeof target === 'undefined' && typeof targetRef === 'undefined') {\n throw new Error(\"`target` and `targetRef` props are `undefined`, it' required to use one of them.\");\n }\n }, [target, targetRef]);\n }\n\n React.useEffect(function () {\n var element = typeof targetRef === 'undefined' ? target : targetRef.current; // Store the current event to avoid triggering handlers immediately\n // Note this depends on a deprecated but extremely well supported quirk of the web platform\n // https://github.com/facebook/react/issues/20074\n\n var currentEvent = getWindowEvent(window);\n\n var conditionalHandler = function conditionalHandler(event) {\n // Skip if this event is the same as the one running when we added the handlers\n if (event === currentEvent) {\n currentEvent = undefined;\n return;\n }\n\n eventHandler(event);\n };\n\n if (isActionSupported(element, 'addEventListener')) {\n element.addEventListener(type, conditionalHandler, capture);\n } else if (process.env.NODE_ENV !== 'production') {\n throw new Error('@fluentui/react-component-event-listener: Passed `element` is not valid or does not support `addEventListener()` method.');\n } // @ts-ignore We have a collision between types from DOM and @types/node\n\n\n timeoutId.current = setTimeout(function () {\n currentEvent = undefined;\n }, 1);\n return function () {\n clearTimeout(timeoutId.current);\n currentEvent = undefined;\n\n if (isActionSupported(element, 'removeEventListener')) {\n element.removeEventListener(type, conditionalHandler, capture);\n } else if (process.env.NODE_ENV !== 'production') {\n throw new Error('@fluentui/react-component-event-listener: Passed `element` is not valid or does not support `removeEventListener()` method.');\n }\n };\n }, [capture, eventHandler, target, targetRef, type]);\n};\n//# sourceMappingURL=useEventListener.js.map\n","import { useEventListener } from './useEventListener';\nexport var EventListener = /*#__PURE__*/function () {\n function EventListener(props) {\n useEventListener(props);\n return null;\n }\n\n EventListener.defaultProps = {\n capture: false\n };\n return EventListener;\n}();\n//# sourceMappingURL=EventListener.js.map\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport _keys from \"lodash/keys\";\nimport { EventListener } from '@fluentui/react-component-event-listener';\nimport * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport * as PropTypes from 'prop-types';\nimport { getElementType } from '../utils/getElementType';\nimport { getUnhandledProps } from '../utils/getUnhandledProps';\nimport { getNextElement, getFirstTabbable, getLastTabbable, getWindow, getDocument, focusAsync, HIDDEN_FROM_ACC_TREE } from './focusUtilities';\n\n/** FocusTrapZone is used to trap the focus in any html element placed in body\n * and hide other elements outside of Focus Trap Zone from accessibility tree.\n * Pressing tab will circle focus within the inner focusable elements of the FocusTrapZone. */\nexport var FocusTrapZone = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(FocusTrapZone, _React$Component);\n\n function FocusTrapZone() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this._root = {\n current: null\n };\n _this._previouslyFocusedElementOutsideTrapZone = void 0;\n _this._previouslyFocusedElementInTrapZone = void 0;\n _this._firstBumper = /*#__PURE__*/React.createRef();\n _this._lastBumper = /*#__PURE__*/React.createRef();\n _this._hasFocus = false;\n _this.windowRef = /*#__PURE__*/React.createRef();\n\n _this.createRef = function (elem) {\n _this._root.current = ReactDOM.findDOMNode(elem); // @ts-ignore\n\n _this.windowRef.current = getWindow(_this._root.current);\n };\n\n _this.shouldHandleOutsideClick = function () {\n return !_this.props.isClickableOutsideFocusTrap || !_this.props.focusTriggerOnOutsideClick;\n };\n\n _this._onRootFocus = function (ev) {\n if (_this.props.onFocus) {\n _this.props.onFocus(ev);\n }\n\n _this._hasFocus = true;\n };\n\n _this._onRootBlur = function (ev) {\n if (_this.props.onBlur) {\n _this.props.onBlur(ev);\n }\n\n var relatedTarget = ev.relatedTarget;\n\n if (ev.relatedTarget === null) {\n // In IE11, due to lack of support, event.relatedTarget is always\n // null making every onBlur call to be \"outside\" of the ComboBox\n // even when it's not. Using document.activeElement is another way\n // for us to be able to get what the relatedTarget without relying\n // on the event\n var doc = getDocument(_this._root.current); // @ts-ignore\n\n relatedTarget = doc.activeElement;\n } // @ts-ignore\n\n\n if (!_this._root.current.contains(relatedTarget)) {\n _this._hasFocus = false;\n }\n };\n\n _this._onFirstBumperFocus = function () {\n _this._onBumperFocus(true);\n };\n\n _this._onLastBumperFocus = function () {\n _this._onBumperFocus(false);\n };\n\n _this._onBumperFocus = function (isFirstBumper) {\n if (!_this._root.current) {\n return;\n }\n\n var currentBumper = isFirstBumper === _this._hasFocus ? _this._lastBumper.current : _this._firstBumper.current;\n var nextFocusable = isFirstBumper === _this._hasFocus ? getLastTabbable(_this._root.current, currentBumper, true, false) : getFirstTabbable(_this._root.current, currentBumper, true, false);\n\n if (nextFocusable) {\n if (_this._isBumper(nextFocusable)) {\n // This can happen when FTZ contains no tabbable elements. Focus will take care of finding a focusable element in FTZ.\n _this._findElementAndFocusAsync();\n } else {\n nextFocusable.focus();\n }\n }\n };\n\n _this._enableFocusTrapZone = function () {\n var _this$props$disabled = _this.props.disabled,\n disabled = _this$props$disabled === void 0 ? false : _this$props$disabled;\n\n if (disabled) {\n return;\n }\n\n FocusTrapZone._focusStack.push(_assertThisInitialized(_this));\n\n _this._bringFocusIntoZone();\n\n _this._hideContentFromAccessibilityTree();\n };\n\n _this._bringFocusIntoZone = function () {\n var _this$props$disableFi = _this.props.disableFirstFocus,\n disableFirstFocus = _this$props$disableFi === void 0 ? false : _this$props$disableFi;\n _this._previouslyFocusedElementOutsideTrapZone = _this._getPreviouslyFocusedElementOutsideTrapZone();\n\n if ( // @ts-ignore\n !_this._root.current.contains(_this._previouslyFocusedElementOutsideTrapZone) && !disableFirstFocus) {\n _this._findElementAndFocusAsync();\n }\n };\n\n _this._releaseFocusTrapZone = function () {\n var ignoreExternalFocusing = _this.props.ignoreExternalFocusing;\n FocusTrapZone._focusStack = FocusTrapZone._focusStack.filter(function (value) {\n return _assertThisInitialized(_this) !== value;\n }); // try to focus element which triggered FocusTrapZone - prviously focused element outside trap zone\n\n var doc = getDocument(_this._root.current); // @ts-ignore\n\n var activeElement = doc.activeElement;\n\n if (!ignoreExternalFocusing && _this._previouslyFocusedElementOutsideTrapZone && ( // @ts-ignore\n _this._root.current.contains(activeElement) || activeElement === doc.body)) {\n _this._focusAsync(_this._previouslyFocusedElementOutsideTrapZone);\n } // if last active focus trap zone is going to be released - show previously hidden content in accessibility tree\n\n\n var lastActiveFocusTrap = FocusTrapZone._focusStack.length && FocusTrapZone._focusStack[FocusTrapZone._focusStack.length - 1];\n\n if (!lastActiveFocusTrap) {\n _this._showContentInAccessibilityTree();\n } else if (lastActiveFocusTrap._root.current && lastActiveFocusTrap._root.current.hasAttribute(HIDDEN_FROM_ACC_TREE)) {\n lastActiveFocusTrap._root.current.removeAttribute(HIDDEN_FROM_ACC_TREE);\n\n lastActiveFocusTrap._root.current.removeAttribute('aria-hidden');\n }\n };\n\n _this._findElementAndFocusAsync = function () {\n if (!_this._root.current) {\n return;\n }\n\n var _this$props = _this.props,\n focusPreviouslyFocusedInnerElement = _this$props.focusPreviouslyFocusedInnerElement,\n firstFocusableSelector = _this$props.firstFocusableSelector;\n\n if (focusPreviouslyFocusedInnerElement && _this._previouslyFocusedElementInTrapZone && _this._root.current.contains(_this._previouslyFocusedElementInTrapZone)) {\n // focus on the last item that had focus in the zone before we left the zone\n _this._focusAsync(_this._previouslyFocusedElementInTrapZone);\n\n return;\n }\n\n var focusSelector = firstFocusableSelector && (typeof firstFocusableSelector === 'string' ? firstFocusableSelector : firstFocusableSelector());\n var firstFocusableChild = null;\n\n if (focusSelector) {\n firstFocusableChild = _this._root.current.querySelector(focusSelector);\n } // Fall back to first element if query selector did not match any elements.\n\n\n if (!firstFocusableChild) {\n firstFocusableChild = getNextElement(_this._root.current, _this._root.current.firstChild, false, false, false, true);\n }\n\n firstFocusableChild && _this._focusAsync(firstFocusableChild);\n };\n\n _this._onFocusCapture = function (ev) {\n _this.props.onFocusCapture && _this.props.onFocusCapture(ev);\n\n if (ev.target !== ev.currentTarget && !_this._isBumper(ev.target)) {\n // every time focus changes within the trap zone, remember the focused element so that\n // it can be restored if focus leaves the pane and returns via keystroke (i.e. via a call to this.focus(true))\n _this._previouslyFocusedElementInTrapZone = ev.target;\n }\n };\n\n _this._forceFocusInTrap = function (ev, triggeredElement) {\n if (FocusTrapZone._focusStack.length && _assertThisInitialized(_this) === FocusTrapZone._focusStack[FocusTrapZone._focusStack.length - 1]) {\n // @ts-ignore\n if (!_this._root.current.contains(triggeredElement)) {\n _this._findElementAndFocusAsync();\n\n ev.preventDefault();\n ev.stopPropagation();\n }\n }\n };\n\n _this._handleOutsideFocus = function (ev) {\n var doc = getDocument(_this._root.current); // @ts-ignore\n\n var focusedElement = doc.activeElement;\n focusedElement && _this._forceFocusInTrap(ev, focusedElement);\n };\n\n _this._handleOutsideClick = function (ev) {\n var clickedElement = ev.target;\n var _this$props2 = _this.props,\n isClickableOutsideFocusTrap = _this$props2.isClickableOutsideFocusTrap,\n focusTriggerOnOutsideClick = _this$props2.focusTriggerOnOutsideClick;\n\n if (!isClickableOutsideFocusTrap) {\n clickedElement && _this._forceFocusInTrap(ev, clickedElement);\n } else if (!focusTriggerOnOutsideClick) {\n var isOutsideFocusTrapZone = _this._root.current && !_this._root.current.contains(clickedElement);\n var isOutsideTriggerElement = _this._previouslyFocusedElementOutsideTrapZone && !_this._previouslyFocusedElementOutsideTrapZone.contains(clickedElement);\n\n if (isOutsideFocusTrapZone && isOutsideTriggerElement) {\n // set it to NULL, so the trigger will not be focused on componentWillUnmount\n // @ts-ignore\n _this._previouslyFocusedElementOutsideTrapZone = null;\n }\n }\n };\n\n _this._onKeyboardHandler = function (ev) {\n if (_this.props.onKeyDown) {\n _this.props.onKeyDown(ev);\n } // do not propogate keyboard events outside focus trap zone\n // https://github.com/microsoft/fluent-ui-react/pull/1180\n\n\n ev.stopPropagation();\n };\n\n _this._getPreviouslyFocusedElementOutsideTrapZone = function () {\n var elementToFocusOnDismiss = _this.props.elementToFocusOnDismiss;\n var previouslyFocusedElement = _this._previouslyFocusedElementOutsideTrapZone;\n\n if (elementToFocusOnDismiss && previouslyFocusedElement !== elementToFocusOnDismiss) {\n previouslyFocusedElement = elementToFocusOnDismiss;\n } else if (!previouslyFocusedElement) {\n var doc = getDocument(_this._root.current); // @ts-ignore\n\n previouslyFocusedElement = doc.activeElement;\n }\n\n return previouslyFocusedElement;\n };\n\n _this._hideContentFromAccessibilityTree = function () {\n var doc = getDocument(_this._root.current); // @ts-ignore\n\n var bodyChildren = doc.body && doc.body.children || []; // @ts-ignore\n\n if (bodyChildren.length && !doc.body.contains(_this._root.current)) {\n // In case popup render options will change\n\n /* eslint-disable-next-line no-console */\n console.warn('Body element does not contain trap zone element. Please, ensure the trap zone element is placed inside body, so it will work properly.');\n }\n\n for (var index = 0; index < bodyChildren.length; index++) {\n var currentChild = bodyChildren[index];\n var isOrHasFocusTrapZone = currentChild === _this._root.current || currentChild.contains(_this._root.current);\n var isAriaLiveRegion = currentChild.hasAttribute('aria-live');\n\n if (!isOrHasFocusTrapZone && !isAriaLiveRegion && currentChild.getAttribute('aria-hidden') !== 'true') {\n currentChild.setAttribute('aria-hidden', 'true');\n currentChild.setAttribute(HIDDEN_FROM_ACC_TREE, 'true');\n }\n }\n };\n\n _this._showContentInAccessibilityTree = function () {\n var doc = getDocument(_this._root.current); // @ts-ignore\n\n var hiddenElements = doc.querySelectorAll(\"[\" + HIDDEN_FROM_ACC_TREE + \"=\\\"true\\\"]\");\n\n for (var index = 0; index < hiddenElements.length; index++) {\n var element = hiddenElements[index];\n element.removeAttribute('aria-hidden');\n element.removeAttribute(HIDDEN_FROM_ACC_TREE);\n }\n };\n\n return _this;\n }\n\n var _proto = FocusTrapZone.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this._enableFocusTrapZone();\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var _this$props3 = this.props,\n forceFocusInsideTrapOnComponentUpdate = _this$props3.forceFocusInsideTrapOnComponentUpdate,\n forceFocusInsideTrapOnOutsideFocus = _this$props3.forceFocusInsideTrapOnOutsideFocus,\n disabled = _this$props3.disabled;\n var doc = getDocument(this._root.current); // @ts-ignore\n\n var activeElement = doc.activeElement; // if after componentDidUpdate focus is not inside the focus trap, bring it back\n\n if (!disabled && // @ts-ignore\n !this._root.current.contains(activeElement) && forceFocusInsideTrapOnComponentUpdate) {\n this._bringFocusIntoZone();\n\n return;\n }\n\n var prevForceFocusInsideTrap = prevProps.forceFocusInsideTrapOnOutsideFocus !== undefined ? prevProps.forceFocusInsideTrapOnOutsideFocus : true;\n var newForceFocusInsideTrap = forceFocusInsideTrapOnOutsideFocus !== undefined ? forceFocusInsideTrapOnOutsideFocus : true;\n var prevDisabled = prevProps.disabled !== undefined ? prevProps.disabled : false;\n var newDisabled = disabled !== undefined ? disabled : false;\n\n if (!prevForceFocusInsideTrap && newForceFocusInsideTrap || prevDisabled && !newDisabled) {\n // Transition from forceFocusInsideTrap / FTZ disabled to enabled.\n // Emulate what happens when a FocusTrapZone gets mounted.\n this._enableFocusTrapZone();\n } else if (prevForceFocusInsideTrap && !newForceFocusInsideTrap || !prevDisabled && newDisabled) {\n // Transition from forceFocusInsideTrap / FTZ enabled to disabled.\n // Emulate what happens when a FocusTrapZone gets unmounted.\n this._releaseFocusTrapZone();\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n // don't handle return focus unless forceFocusInsideTrapOnOutsideFocus is true or focus is still within FocusTrapZone\n var doc = getDocument(this._root.current);\n\n if (!this.props.disabled || this.props.forceFocusInsideTrapOnOutsideFocus || // @ts-ignore\n !this._root.current.contains(doc.activeElement)) {\n this._releaseFocusTrapZone();\n } // Dispose of element references so the DOM Nodes can be garbage-collected\n\n\n delete this._previouslyFocusedElementInTrapZone;\n delete this._previouslyFocusedElementOutsideTrapZone;\n };\n\n _proto.render = function render() {\n var _this$props4 = this.props,\n className = _this$props4.className,\n forceFocusInsideTrapOnOutsideFocus = _this$props4.forceFocusInsideTrapOnOutsideFocus,\n ariaLabelledBy = _this$props4.ariaLabelledBy,\n _this$props4$disabled = _this$props4.disabled,\n disabled = _this$props4$disabled === void 0 ? false : _this$props4$disabled;\n var unhandledProps = getUnhandledProps(_keys(FocusTrapZone.propTypes), this.props);\n var ElementType = getElementType(this.props);\n var bumperProps = {\n 'aria-hidden': true,\n style: {\n pointerEvents: 'none',\n position: 'fixed' // 'fixed' prevents browsers from scrolling to bumpers when viewport does not contain them\n\n },\n tabIndex: disabled ? -1 : 0,\n // make bumpers tabbable only when enabled\n 'data-is-visible': true\n };\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(ElementType, _extends({}, unhandledProps, {\n className: className,\n ref: this.createRef,\n \"aria-labelledby\": ariaLabelledBy,\n onKeyDown: this._onKeyboardHandler,\n onFocusCapture: this._onFocusCapture,\n onFocus: this._onRootFocus,\n onBlur: this._onRootBlur\n }), /*#__PURE__*/React.createElement(\"div\", _extends({}, bumperProps, {\n ref: this._firstBumper,\n onFocus: this._onFirstBumperFocus\n })), this.props.children, /*#__PURE__*/React.createElement(\"div\", _extends({}, bumperProps, {\n ref: this._lastBumper,\n onFocus: this._onLastBumperFocus\n }))), forceFocusInsideTrapOnOutsideFocus && /*#__PURE__*/React.createElement(EventListener, {\n capture: true,\n listener: this._handleOutsideFocus,\n targetRef: this.windowRef,\n type: \"focus\"\n }), this.shouldHandleOutsideClick() && /*#__PURE__*/React.createElement(EventListener, {\n capture: true,\n listener: this._handleOutsideClick,\n targetRef: this.windowRef,\n type: \"click\"\n }));\n };\n\n _proto._isBumper = function _isBumper(element) {\n return element === this._firstBumper.current || element === this._lastBumper.current;\n };\n\n _proto._focusAsync = function _focusAsync(element) {\n if (!this._isBumper(element)) {\n focusAsync(element);\n }\n };\n\n return FocusTrapZone;\n}(React.Component);\nFocusTrapZone._focusStack = [];\nFocusTrapZone.propTypes = {\n as: PropTypes.elementType,\n className: PropTypes.string,\n elementToFocusOnDismiss: PropTypes.object,\n ariaLabelledBy: PropTypes.string,\n isClickableOutsideFocusTrap: PropTypes.bool,\n ignoreExternalFocusing: PropTypes.bool,\n forceFocusInsideTrapOnOutsideFocus: PropTypes.bool,\n forceFocusInsideTrapOnComponentUpdate: PropTypes.bool,\n firstFocusableSelector: PropTypes.string,\n disableFirstFocus: PropTypes.bool,\n focusPreviouslyFocusedInnerElement: PropTypes.bool,\n focusTriggerOnOutsideClick: PropTypes.bool\n};\nFocusTrapZone.defaultProps = {\n as: 'div',\n isClickableOutsideFocusTrap: true,\n forceFocusInsideTrapOnOutsideFocus: false\n};\n//# sourceMappingURL=FocusTrapZone.js.map\n","import _inRange from \"lodash/inRange\";\nimport _first from \"lodash/first\";\nimport _invoke from \"lodash/invoke\";\nimport _isNil from \"lodash/isNil\";\nimport _some from \"lodash/some\";\nimport { elementContains } from '@fluentui/dom-utilities';\n/**\n * Determines if a click's coordinates are within the bounds of a node.\n *\n * @see https://github.com/Semantic-Org/Semantic-UI-React/pull/2384\n *\n * @param node - A DOM node.\n * @param e - A SyntheticEvent or DOM Event.\n * @param target - A target document.\n * @param allowVirtualParents - A setting for `elementContains()`.\n */\n\nexport var doesNodeContainClick = function doesNodeContainClick(node, e, // eslint-disable-next-line no-undef\ntarget, allowVirtualParents) {\n if (target === void 0) {\n target = document;\n }\n\n if (allowVirtualParents === void 0) {\n allowVirtualParents = true;\n }\n\n if (_some([e, node], _isNil)) return false; // if there is an e.target and it is in the document, use a simple node.contains() check\n\n if (e.target) {\n _invoke(e.target, 'setAttribute', 'data-suir-click-target', true);\n\n if (target.querySelector('[data-suir-click-target=true]')) {\n _invoke(e.target, 'removeAttribute', 'data-suir-click-target');\n\n return elementContains(node, e.target, allowVirtualParents);\n }\n } // Below logic handles cases where the e.target is no longer in the document.\n // The result of the click likely has removed the e.target node.\n // Instead of node.contains(), we'll identify the click by X/Y position.\n // return early if the event properties aren't available\n // prevent measuring the node and repainting if we don't need to\n\n\n var clientX = e.clientX,\n clientY = e.clientY;\n if (_some([clientX, clientY], _isNil)) return false; // false if the node is not visible\n\n var clientRects = node.getClientRects(); // Heads Up!\n // getClientRects returns a DOMRectList, not an array nor a plain object\n // We explicitly avoid _.isEmpty and check .length to cover all possible shapes\n\n if (!node.offsetWidth || !node.offsetHeight || !clientRects || !clientRects.length) return false; // false if the node doesn't have a valid bounding rect\n\n var _first2 = _first(clientRects),\n top = _first2.top,\n bottom = _first2.bottom,\n left = _first2.left,\n right = _first2.right;\n\n if (_some([top, bottom, left, right], _isNil)) return false; // we add a small decimal to the upper bound just to make it inclusive\n // don't add an whole pixel (1) as the event/node values may be decimal sensitive\n\n return _inRange(clientY, top, bottom + 0.001) && _inRange(clientX, left, right + 0.001);\n};\n//# sourceMappingURL=doesNodeContainClick.js.map\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _invoke from \"lodash/invoke\";\nimport _keys from \"lodash/keys\";\nimport { FocusTrapZone, useFluentContext, useTelemetry, useAutoControlled } from '@fluentui/react-bindings';\nimport { EventListener } from '@fluentui/react-component-event-listener';\nimport { handleRef, Ref } from '@fluentui/react-component-ref';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { childrenExist, doesNodeContainClick, commonPropTypes, rtlTextContainer, createShorthandFactory } from '../../utils';\nimport { PortalInner } from './PortalInner';\n\n/**\n * (DEPRECATED) A Portal allows to render children outside of their parent.\n *\n * @deprecated Please use \"Popup\" or \"Dialog\" components instead.\n */\nexport var Portal = /*#__PURE__*/function () {\n var Portal = function Portal(props) {\n var context = useFluentContext();\n\n var _useTelemetry = useTelemetry(Portal.displayName, context.telemetry),\n setStart = _useTelemetry.setStart,\n setEnd = _useTelemetry.setEnd;\n\n setStart();\n var children = props.children,\n content = props.content,\n trapFocus = props.trapFocus,\n trigger = props.trigger,\n triggerAccessibility = props.triggerAccessibility;\n var portalRef = React.useRef();\n var triggerRef = React.useRef();\n\n var _useAutoControlled = useAutoControlled({\n defaultValue: props.defaultOpen,\n value: props.open,\n initialValue: false\n }),\n open = _useAutoControlled[0],\n setOpen = _useAutoControlled[1];\n\n var renderPortal = function renderPortal() {\n var contentToRender = childrenExist(children) ? children : content;\n var focusTrapZoneProps = _keys(trapFocus).length && trapFocus || {};\n return open && /*#__PURE__*/React.createElement(Ref, {\n innerRef: portalRef\n }, /*#__PURE__*/React.createElement(PortalInner, _extends({\n onMount: handleMount,\n onUnmount: handleUnmount\n }, rtlTextContainer.getAttributes({\n forElements: [contentToRender]\n })), trapFocus ? /*#__PURE__*/React.createElement(FocusTrapZone, focusTrapZoneProps, contentToRender) : contentToRender, /*#__PURE__*/React.createElement(EventListener, {\n listener: handleDocumentClick,\n target: context.target,\n type: \"click\"\n })));\n };\n\n var renderTrigger = function renderTrigger() {\n return trigger && /*#__PURE__*/React.createElement(Ref, {\n innerRef: handleTriggerRef\n }, /*#__PURE__*/React.cloneElement(trigger, Object.assign({\n onClick: handleTriggerClick\n }, triggerAccessibility.attributes, triggerAccessibility.keyHandlers)));\n };\n\n var handleMount = function handleMount() {\n _invoke(props, 'onMount', props);\n };\n\n var handleUnmount = function handleUnmount() {\n _invoke(props, 'onUnmount', props);\n };\n\n var handleTriggerRef = function handleTriggerRef(node) {\n triggerRef.current = node;\n handleRef(props.triggerRef, node);\n };\n\n var handleTriggerClick = function handleTriggerClick(e) {\n _invoke(props, 'onTriggerClick', e); // Call handler from parent component\n\n\n for (var _len = arguments.length, unhandledProps = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n unhandledProps[_key - 1] = arguments[_key];\n }\n\n _invoke.apply(void 0, [trigger, 'props.onClick', e].concat(unhandledProps)); // Call original event handler\n\n\n setOpen(function (isOpen) {\n return !isOpen;\n });\n };\n\n var handleDocumentClick = function handleDocumentClick(e) {\n if (!portalRef || // no portal\n doesNodeContainClick(triggerRef.current, e, context.target) || // event happened in trigger (delegate to trigger handlers)\n doesNodeContainClick(portalRef.current, e, context.target) // event happened in the portal\n ) {\n return; // ignore the click\n }\n\n _invoke(props, 'onOutsideClick', e);\n\n setOpen(false);\n };\n\n var element = /*#__PURE__*/React.createElement(React.Fragment, null, renderPortal(), renderTrigger());\n setEnd();\n return element;\n };\n\n Portal.propTypes = Object.assign({}, commonPropTypes.createCommon({\n accessibility: false,\n as: false,\n className: false,\n styled: false\n }), {\n defaultOpen: PropTypes.bool,\n onMount: PropTypes.func,\n onUnmount: PropTypes.func,\n open: PropTypes.bool,\n trigger: PropTypes.element,\n triggerRef: customPropTypes.ref,\n triggerAccessibility: PropTypes.object,\n onTriggerClick: PropTypes.func,\n onOutsideClick: PropTypes.func,\n trapFocus: PropTypes.oneOfType([PropTypes.bool, PropTypes.object])\n });\n Portal.handledProps = Object.keys(Portal.propTypes);\n Portal.create = createShorthandFactory({\n Component: Portal\n });\n Portal.defaultProps = {\n triggerAccessibility: {}\n };\n return Portal;\n}();\n//# sourceMappingURL=Portal.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var ChevronDownIcon = /*#__PURE__*/createSvgIcon({\n svg: function svg(_ref) {\n var classes = _ref.classes;\n return /*#__PURE__*/React.createElement(\"svg\", {\n role: \"presentation\",\n focusable: \"false\",\n viewBox: \"2 2 16 16\",\n className: classes.svg\n }, /*#__PURE__*/React.createElement(\"path\", {\n className: cx(iconClassNames.outline, classes.outlinePart),\n d: \"M15.8527 7.64582C16.0484 7.84073 16.0489 8.15731 15.854 8.35292L10.389 13.8374C10.1741 14.0531 9.82477 14.0531 9.60982 13.8374L4.14484 8.35292C3.94993 8.15731 3.95049 7.84073 4.1461 7.64582C4.34171 7.4509 4.65829 7.45147 4.85321 7.64708L9.99942 12.8117L15.1456 7.64708C15.3406 7.45147 15.6571 7.4509 15.8527 7.64582Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: cx(iconClassNames.filled, classes.filledPart),\n d: \"M15.793 7.73271C16.0787 8.03263 16.0672 8.50737 15.7672 8.79306L10.5168 13.7944C10.2271 14.0703 9.77187 14.0703 9.4822 13.7944L4.23173 8.79306C3.93181 8.50737 3.92028 8.03263 4.20597 7.73271C4.49166 7.43279 4.96639 7.42125 5.26631 7.70694L9.99949 12.2155L14.7327 7.70694C15.0326 7.42125 15.5073 7.43279 15.793 7.73271Z\"\n }));\n },\n displayName: 'ChevronDownIcon'\n});\n//# sourceMappingURL=ChevronDownIcon.js.map\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _findIndex from \"lodash/findIndex\";\nimport _isNil from \"lodash/isNil\";\nimport _isEmpty from \"lodash/isEmpty\";\nimport _isNumber from \"lodash/isNumber\";\nimport _invoke from \"lodash/invoke\";\nimport _debounce from \"lodash/debounce\";\nimport _uniqueId from \"lodash/uniqueId\";\nimport _get from \"lodash/get\";\nimport _isFunction from \"lodash/isFunction\";\nimport _map from \"lodash/map\";\nimport _differenceBy from \"lodash/differenceBy\";\nimport { getElementType, useAutoControlled, useStyles, useUnhandledProps, useFluentContext, useTelemetry } from '@fluentui/react-bindings';\nimport { handleRef, Ref } from '@fluentui/react-component-ref';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport { indicatorBehavior, getCode, keyboardKey } from '@fluentui/accessibility';\nimport * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport cx from 'classnames';\nimport computeScrollIntoView from 'compute-scroll-into-view';\nimport Downshift from 'downshift';\nimport { commonPropTypes, isFromKeyboard as detectIsFromKeyboard, createShorthand } from '../../utils';\nimport { List } from '../List/List';\nimport { DropdownItem } from './DropdownItem';\nimport { DropdownSelectedItem } from './DropdownSelectedItem';\nimport { DropdownSearchInput } from './DropdownSearchInput';\nimport { Button } from '../Button/Button';\nimport { screenReaderContainerStyles } from '../../utils/accessibility/Styles/accessibilityStyles';\nimport { Box } from '../Box/Box';\nimport { Portal } from '../Portal/Portal';\nimport { ALIGNMENTS, POSITIONS, Popper, partitionPopperPropsFromShorthand, AUTOSIZES } from '../../utils/positioner';\nimport { CloseIcon, ChevronDownIcon } from '@fluentui/react-icons-northstar';\nexport var dropdownClassName = 'ui-dropdown';\nexport var dropdownSlotClassNames = {\n clearIndicator: dropdownClassName + \"__clear-indicator\",\n container: dropdownClassName + \"__container\",\n toggleIndicator: dropdownClassName + \"__toggle-indicator\",\n item: dropdownClassName + \"__item\",\n itemsList: dropdownClassName + \"__items-list\",\n searchInput: dropdownClassName + \"__searchinput\",\n selectedItem: dropdownClassName + \"__selecteditem\",\n selectedItems: dropdownClassName + \"__selected-items\",\n triggerButton: dropdownClassName + \"__trigger-button\"\n};\nvar a11yStatusCleanupTime = 500;\nvar charKeyPressedCleanupTime = 500;\n/** `normalizedValue` should be normalized always as it can be received from props */\n\nfunction normalizeValue(multiple, rawValue) {\n var normalizedValue = Array.isArray(rawValue) ? rawValue : [rawValue];\n return multiple ? normalizedValue : normalizedValue.slice(0, 1);\n}\n/**\n * Used to compute the filtered items (by value and search query) and, if needed,\n * their string equivalents, in order to be used throughout the component.\n */\n\n\nfunction getFilteredValues(options) {\n var items = options.items,\n itemToString = options.itemToString,\n itemToValue = options.itemToValue,\n multiple = options.multiple,\n search = options.search,\n searchQuery = options.searchQuery,\n value = options.value;\n var filteredItemsByValue = multiple ? _differenceBy(items, value, itemToValue) : items;\n\n var filteredItemStrings = _map(filteredItemsByValue, function (filteredItem) {\n return itemToString(filteredItem).toLowerCase();\n });\n\n if (search) {\n if (_isFunction(search)) {\n return {\n filteredItems: search(filteredItemsByValue, searchQuery),\n filteredItemStrings: filteredItemStrings\n };\n }\n\n return {\n filteredItems: filteredItemsByValue.filter(function (item) {\n return itemToString(item).toLowerCase().indexOf(searchQuery.toLowerCase()) !== -1;\n }),\n filteredItemStrings: filteredItemStrings\n };\n }\n\n return {\n filteredItems: filteredItemsByValue,\n filteredItemStrings: filteredItemStrings\n };\n}\n\nvar isEmpty = function isEmpty(prop) {\n return typeof prop === 'object' && !prop.props && !_get(prop, 'children') && !_get(prop, 'content');\n};\n/**\n * A Dropdown allows user to select one or more values from a list of options.\n * Can be created with search and multi-selection capabilities.\n *\n * @accessibility\n * Implements [ARIA Combo Box](https://www.w3.org/TR/wai-aria-practices-1.1/#combobox) design pattern, uses aria-live to announce state changes.\n * @accessibilityIssues\n * [Issue 991203: VoiceOver doesn't narrate properly elements in the input/combobox](https://bugs.chromium.org/p/chromium/issues/detail?id=991203)\n */\n\n\nexport var Dropdown = /*#__PURE__*/function () {\n var Dropdown = function Dropdown(props) {\n var _context$target;\n\n var context = useFluentContext();\n\n var _useTelemetry = useTelemetry(Dropdown.displayName, context.telemetry),\n setStart = _useTelemetry.setStart,\n setEnd = _useTelemetry.setEnd;\n\n setStart();\n var align = props.align,\n ariaLabelledby = props['aria-labelledby'],\n ariaInvalid = props['aria-invalid'],\n clearable = props.clearable,\n clearIndicator = props.clearIndicator,\n checkable = props.checkable,\n checkableIndicator = props.checkableIndicator,\n className = props.className,\n design = props.design,\n disabled = props.disabled,\n error = props.error,\n fluid = props.fluid,\n getA11ySelectionMessage = props.getA11ySelectionMessage,\n a11ySelectedItemsMessage = props.a11ySelectedItemsMessage,\n getA11yStatusMessage = props.getA11yStatusMessage,\n inline = props.inline,\n inverted = props.inverted,\n itemToString = props.itemToString,\n itemToValue = props.itemToValue,\n items = props.items,\n highlightFirstItemOnOpen = props.highlightFirstItemOnOpen,\n multiple = props.multiple,\n headerMessage = props.headerMessage,\n moveFocusOnTab = props.moveFocusOnTab,\n noResultsMessage = props.noResultsMessage,\n loading = props.loading,\n loadingMessage = props.loadingMessage,\n placeholder = props.placeholder,\n position = props.position,\n offset = props.offset,\n renderItem = props.renderItem,\n renderSelectedItem = props.renderSelectedItem,\n search = props.search,\n searchInput = props.searchInput,\n styles = props.styles,\n toggleIndicator = props.toggleIndicator,\n triggerButton = props.triggerButton,\n unstable_disableTether = props.unstable_disableTether,\n unstable_pinned = props.unstable_pinned,\n autoSize = props.autoSize,\n variables = props.variables;\n\n var _partitionPopperProps = partitionPopperPropsFromShorthand(props.list),\n list = _partitionPopperProps[0],\n positioningProps = _partitionPopperProps[1];\n\n var buttonRef = React.useRef();\n\n var _inputRef = React.useRef();\n\n var listRef = React.useRef();\n var selectedItemsRef = React.useRef();\n var containerRef = React.useRef();\n var defaultTriggerButtonId = React.useMemo(function () {\n return _uniqueId('dropdown-trigger-button-');\n }, []);\n var ElementType = getElementType(props);\n var unhandledProps = useUnhandledProps(Dropdown.handledProps, props);\n\n var _useAutoControlled = useAutoControlled({\n defaultValue: props.defaultActiveSelectedIndex,\n initialValue: multiple ? null : undefined,\n value: props.activeSelectedIndex\n }),\n activeSelectedIndex = _useAutoControlled[0],\n setActiveSelectedIndex = _useAutoControlled[1];\n\n var _useAutoControlled2 = useAutoControlled({\n defaultValue: props.defaultHighlightedIndex,\n initialValue: highlightFirstItemOnOpen ? 0 : null,\n value: props.highlightedIndex\n }),\n highlightedIndex = _useAutoControlled2[0],\n setHighlightedIndex = _useAutoControlled2[1];\n\n var _useAutoControlled3 = useAutoControlled({\n defaultValue: props.defaultOpen,\n initialValue: false,\n value: props.open\n }),\n open = _useAutoControlled3[0],\n setOpen = _useAutoControlled3[1];\n\n var _useAutoControlled4 = useAutoControlled({\n defaultValue: props.defaultSearchQuery,\n initialValue: search ? '' : undefined,\n value: props.searchQuery\n }),\n searchQuery = _useAutoControlled4[0],\n setSearchQuery = _useAutoControlled4[1];\n\n var _useAutoControlled5 = useAutoControlled({\n defaultValue: props.defaultValue,\n initialValue: [],\n value: props.value\n }),\n rawValue = _useAutoControlled5[0],\n setValue = _useAutoControlled5[1];\n\n var value = normalizeValue(multiple, rawValue);\n\n var _React$useState = React.useState(''),\n a11ySelectionStatus = _React$useState[0],\n setA11ySelectionStatus = _React$useState[1];\n\n var _React$useState2 = React.useState(false),\n focused = _React$useState2[0],\n setFocused = _React$useState2[1];\n\n var _React$useState3 = React.useState(false),\n isFromKeyboard = _React$useState3[0],\n setIsFromKeyboard = _React$useState3[1];\n\n var _React$useState4 = React.useState(false),\n itemIsFromKeyboard = _React$useState4[0],\n setItemIsFromKeyboard = _React$useState4[1];\n\n var _React$useState5 = React.useState(search ? undefined : ''),\n startingString = _React$useState5[0],\n setStartingString = _React$useState5[1];\n\n var _getFilteredValues = getFilteredValues({\n itemToString: itemToString,\n itemToValue: itemToValue,\n items: items,\n multiple: multiple,\n search: search,\n searchQuery: searchQuery,\n value: value\n }),\n filteredItems = _getFilteredValues.filteredItems,\n filteredItemStrings = _getFilteredValues.filteredItemStrings;\n\n var _useStyles = useStyles(Dropdown.displayName, {\n className: dropdownClassName,\n mapPropsToStyles: function mapPropsToStyles() {\n return {\n disabled: disabled,\n error: error,\n fluid: fluid,\n focused: focused,\n isEmptyClearIndicator: isEmpty(clearIndicator),\n hasToggleIndicator: !!toggleIndicator,\n inline: inline,\n inverted: inverted,\n isFromKeyboard: isFromKeyboard,\n multiple: multiple,\n open: open,\n position: position,\n search: !!search,\n hasItemsSelected: value.length > 0\n };\n },\n mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n return {\n className: className,\n design: design,\n styles: styles,\n variables: variables\n };\n },\n rtl: context.rtl\n }),\n classes = _useStyles.classes,\n resolvedStyles = _useStyles.styles;\n\n var clearA11ySelectionMessage = React.useMemo(function () {\n return _debounce(function () {\n setA11ySelectionStatus('');\n }, a11yStatusCleanupTime);\n }, []);\n var clearStartingString = React.useMemo(function () {\n return _debounce(function () {\n setStartingString('');\n }, charKeyPressedCleanupTime);\n }, []);\n\n var handleChange = function handleChange(e) {\n // Dropdown component doesn't present any `input` component in markup, however all of our\n // components should handle events transparently.\n _invoke(props, 'onChange', e, Object.assign({}, props, {\n value: value\n }));\n };\n\n var handleOnBlur = function handleOnBlur(e) {\n // Dropdown component doesn't present any `input` component in markup, however all of our\n // components should handle events transparently.\n if (e.target !== buttonRef.current) {\n _invoke(props, 'onBlur', e, props);\n }\n };\n\n var renderTriggerButton = function renderTriggerButton(getToggleButtonProps) {\n var content = getSelectedItemAsString(value[0]);\n var triggerButtonId = triggerButton['id'] || defaultTriggerButtonId;\n var triggerButtonProps = getToggleButtonProps({\n disabled: disabled,\n onFocus: handleTriggerButtonOrListFocus,\n onBlur: handleTriggerButtonBlur,\n onKeyDown: function onKeyDown(e) {\n handleTriggerButtonKeyDown(e);\n },\n 'aria-invalid': ariaInvalid,\n 'aria-label': undefined,\n 'aria-labelledby': [ariaLabelledby, triggerButtonId].filter(function (l) {\n return !!l;\n }).join(' ')\n });\n\n var _onClick = triggerButtonProps.onClick,\n _onFocus = triggerButtonProps.onFocus,\n _onBlur = triggerButtonProps.onBlur,\n _onKeyDown = triggerButtonProps.onKeyDown,\n restTriggerButtonProps = _objectWithoutPropertiesLoose(triggerButtonProps, [\"onClick\", \"onFocus\", \"onBlur\", \"onKeyDown\"]);\n\n return /*#__PURE__*/React.createElement(Ref, {\n innerRef: buttonRef\n }, createShorthand(Button, triggerButton, {\n defaultProps: function defaultProps() {\n return Object.assign({\n className: dropdownSlotClassNames.triggerButton,\n content: content,\n disabled: disabled,\n id: triggerButtonId,\n fluid: true,\n styles: resolvedStyles.triggerButton\n }, restTriggerButtonProps);\n },\n overrideProps: function overrideProps(predefinedProps) {\n return {\n onClick: function onClick(e) {\n _onClick(e);\n\n _invoke(predefinedProps, 'onClick', e, predefinedProps);\n },\n onFocus: function onFocus(e) {\n _onFocus(e);\n\n _invoke(predefinedProps, 'onFocus', e, predefinedProps);\n },\n onBlur: function onBlur(e) {\n if (!disabled) {\n _onBlur(e);\n }\n\n _invoke(predefinedProps, 'onBlur', e, predefinedProps);\n },\n onKeyDown: function onKeyDown(e) {\n if (!disabled) {\n _onKeyDown(e);\n }\n\n _invoke(predefinedProps, 'onKeyDown', e, predefinedProps);\n }\n };\n }\n }));\n };\n\n var renderSearchInput = function renderSearchInput(accessibilityComboboxProps, highlightedIndex, getInputProps, selectItemAtIndex, toggleMenu, variables) {\n var noPlaceholder = searchQuery.length > 0 || multiple && value.length > 0;\n return DropdownSearchInput.create(searchInput || {}, {\n defaultProps: function defaultProps() {\n return {\n className: dropdownSlotClassNames.searchInput,\n placeholder: noPlaceholder ? '' : placeholder,\n inline: inline,\n variables: variables,\n disabled: disabled\n };\n },\n overrideProps: handleSearchInputOverrides(highlightedIndex, selectItemAtIndex, toggleMenu, accessibilityComboboxProps, getInputProps)\n });\n };\n\n var renderItemsList = function renderItemsList(highlightedIndex, toggleMenu, selectItemAtIndex, getMenuProps, getItemProps, getInputProps) {\n var items = open ? renderItems(getItemProps) : [];\n\n var _getMenuProps = getMenuProps({\n refKey: 'innerRef'\n }, {\n suppressRefError: true\n }),\n _innerRef = _getMenuProps.innerRef,\n accessibilityMenuProps = _objectWithoutPropertiesLoose(_getMenuProps, [\"innerRef\"]); // If it's just a selection, some attributes and listeners from Downshift input need to go on the menu list.\n\n\n if (!search) {\n var accessibilityInputProps = getInputProps();\n accessibilityMenuProps['aria-activedescendant'] = accessibilityInputProps['aria-activedescendant'];\n\n accessibilityMenuProps['onKeyDown'] = function (e) {\n handleListKeyDown(e, highlightedIndex, accessibilityInputProps['onKeyDown'], toggleMenu, selectItemAtIndex);\n };\n }\n\n return /*#__PURE__*/React.createElement(Ref, {\n innerRef: function innerRef(listElement) {\n handleRef(listRef, listElement);\n handleRef(_innerRef, listElement);\n }\n }, /*#__PURE__*/React.createElement(Popper, _extends({\n align: align,\n position: position,\n offset: offset,\n rtl: context.rtl,\n enabled: open,\n targetRef: containerRef,\n unstable_disableTether: unstable_disableTether,\n unstable_pinned: unstable_pinned,\n positioningDependencies: [items.length],\n autoSize: autoSize\n }, positioningProps), List.create(list, {\n defaultProps: function defaultProps() {\n return Object.assign({\n className: dropdownSlotClassNames.itemsList\n }, accessibilityMenuProps, {\n styles: resolvedStyles.list,\n items: items,\n tabIndex: search ? undefined : -1,\n // needs to be focused when trigger button is activated.\n 'aria-hidden': !open\n });\n },\n overrideProps: function overrideProps(predefinedProps) {\n return {\n onFocus: function onFocus(e, listProps) {\n handleTriggerButtonOrListFocus();\n\n _invoke(predefinedProps, 'onClick', e, listProps);\n },\n onBlur: function onBlur(e, listProps) {\n handleListBlur(e);\n\n _invoke(predefinedProps, 'onBlur', e, listProps);\n }\n };\n }\n })));\n };\n\n var renderItems = function renderItems(getItemProps) {\n var footerItem = renderItemsListFooter();\n var headerItem = renderItemsListHeader();\n\n var items = _map(filteredItems, function (item, index) {\n return {\n children: function children() {\n var selected = value.indexOf(item) !== -1;\n return DropdownItem.create(item, {\n defaultProps: function defaultProps() {\n return Object.assign({\n className: dropdownSlotClassNames.item,\n active: highlightedIndex === index,\n selected: selected,\n checkable: checkable,\n checkableIndicator: checkableIndicator,\n isFromKeyboard: itemIsFromKeyboard,\n variables: variables\n }, typeof item === 'object' && !item.hasOwnProperty('key') && {\n key: item.header\n });\n },\n overrideProps: handleItemOverrides(item, index, getItemProps, selected),\n render: renderItem\n });\n }\n };\n });\n\n if (footerItem) {\n items.push(footerItem);\n }\n\n return headerItem ? [headerItem].concat(items) : items;\n };\n\n var renderItemsListHeader = function renderItemsListHeader() {\n if (headerMessage) {\n return {\n children: function children() {\n return DropdownItem.create(headerMessage, {\n defaultProps: function defaultProps() {\n return {\n key: 'items-list-footer-message',\n styles: resolvedStyles.headerMessage\n };\n }\n });\n }\n };\n }\n\n return null;\n };\n\n var renderItemsListFooter = function renderItemsListFooter() {\n if (loading) {\n return {\n children: function children() {\n return DropdownItem.create(loadingMessage, {\n defaultProps: function defaultProps() {\n return {\n key: 'loading-message',\n styles: resolvedStyles.loadingMessage\n };\n }\n });\n }\n };\n }\n\n if (filteredItems && filteredItems.length === 0) {\n return {\n children: function children() {\n return DropdownItem.create(noResultsMessage, {\n defaultProps: function defaultProps() {\n return {\n key: 'no-results-message',\n styles: resolvedStyles.noResultsMessage\n };\n }\n });\n }\n };\n }\n\n return null;\n };\n\n var renderSelectedItems = function renderSelectedItems() {\n if (value.length === 0) {\n return null;\n }\n\n var selectedItems = value.map(function (item, index) {\n return (// (!) an item matches DropdownItemProps\n DropdownSelectedItem.create(item, {\n defaultProps: function defaultProps() {\n return Object.assign({\n className: dropdownSlotClassNames.selectedItem,\n active: isSelectedItemActive(index),\n variables: variables\n }, typeof item === 'object' && !item.hasOwnProperty('key') && {\n key: item.header\n });\n },\n overrideProps: handleSelectedItemOverrides(item),\n render: renderSelectedItem\n })\n );\n });\n return /*#__PURE__*/React.createElement(\"div\", {\n role: \"listbox\",\n tabIndex: -1,\n \"aria-label\": a11ySelectedItemsMessage\n }, selectedItems);\n };\n\n var downshiftStateReducer = function downshiftStateReducer(state, changes) {\n var activeElement = context.target.activeElement;\n\n switch (changes.type) {\n case Downshift.stateChangeTypes.blurButton:\n // Downshift closes the list by default on trigger blur. It does not support the case when dropdown is\n // single selection and focuses list on trigger click/up/down/space/enter. Treating that here.\n if (state.isOpen && activeElement === listRef.current) {\n return {}; // won't change state in this case.\n }\n\n _invoke(props, 'onBlur', null);\n\n default:\n return changes;\n }\n };\n\n var handleStateChange = function handleStateChange(changes) {\n var type = changes.type;\n var newState = {};\n\n switch (type) {\n case Downshift.stateChangeTypes.changeInput:\n {\n var shouldValueChange = changes.inputValue === '' && !multiple && value.length > 0;\n newState.searchQuery = changes.inputValue;\n newState.highlightedIndex = highlightFirstItemOnOpen ? 0 : null;\n\n if (shouldValueChange) {\n newState.value = [];\n }\n\n if (open) {\n // we clear value when in single selection user cleared the query.\n var shouldMenuClose = changes.inputValue === '' || changes.selectedItem !== undefined;\n\n if (shouldMenuClose) {\n newState.open = false;\n }\n } else {\n newState.open = true;\n }\n\n break;\n }\n\n case Downshift.stateChangeTypes.keyDownEnter:\n case Downshift.stateChangeTypes.clickItem:\n var shouldAddHighlightedIndex = !multiple && items && items.length > 0;\n var isSameItemSelected = changes.selectedItem === undefined;\n var newValue = isSameItemSelected ? value[0] : changes.selectedItem;\n newState.searchQuery = getSelectedItemAsString(newValue);\n newState.open = false;\n newState.highlightedIndex = shouldAddHighlightedIndex ? items.indexOf(newValue) : null;\n\n if (!isSameItemSelected) {\n newState.value = multiple ? [].concat(value, [changes.selectedItem]) : [changes.selectedItem];\n\n if (getA11ySelectionMessage && getA11ySelectionMessage.onAdd) {\n setA11ySelectionMessage(getA11ySelectionMessage.onAdd(newValue));\n }\n }\n\n if (multiple) {\n setTimeout(function () {\n return selectedItemsRef.current.scrollTop = selectedItemsRef.current.scrollHeight;\n }, 0);\n }\n\n tryFocusTriggerButton();\n break;\n\n case Downshift.stateChangeTypes.keyDownEscape:\n if (search) {\n newState.searchQuery = '';\n\n if (!multiple) {\n newState.value = [];\n }\n }\n\n newState.open = false;\n newState.highlightedIndex = highlightFirstItemOnOpen ? 0 : null;\n break;\n\n case Downshift.stateChangeTypes.keyDownArrowDown:\n case Downshift.stateChangeTypes.keyDownArrowUp:\n if (changes.isOpen !== undefined) {\n newState.open = changes.isOpen;\n newState.highlightedIndex = changes.highlightedIndex;\n\n if (changes.isOpen) {\n var highlightedIndexOnArrowKeyOpen = getHighlightedIndexOnArrowKeyOpen(changes);\n\n if (_isNumber(highlightedIndexOnArrowKeyOpen)) {\n newState.highlightedIndex = highlightedIndexOnArrowKeyOpen;\n }\n\n if (!search) {\n listRef.current.focus();\n }\n } else {\n newState.highlightedIndex = null;\n }\n }\n\n case Downshift.stateChangeTypes['keyDownHome']:\n case Downshift.stateChangeTypes['keyDownEnd']:\n if (open && _isNumber(changes.highlightedIndex)) {\n newState.highlightedIndex = changes.highlightedIndex;\n newState.itemIsFromKeyboard = true;\n }\n\n break;\n\n case Downshift.stateChangeTypes.mouseUp:\n if (open) {\n newState.open = false;\n newState.highlightedIndex = null;\n }\n\n break;\n\n case Downshift.stateChangeTypes.clickButton:\n case Downshift.stateChangeTypes.keyDownSpaceButton:\n newState.open = changes.isOpen;\n\n if (changes.isOpen) {\n var _highlightedIndexOnArrowKeyOpen = getHighlightedIndexOnArrowKeyOpen(changes);\n\n if (_isNumber(_highlightedIndexOnArrowKeyOpen)) {\n newState.highlightedIndex = _highlightedIndexOnArrowKeyOpen;\n }\n\n if (!search) {\n listRef.current.focus();\n }\n } else {\n newState.highlightedIndex = null;\n }\n\n break;\n\n case Downshift.stateChangeTypes.itemMouseEnter:\n newState.highlightedIndex = changes.highlightedIndex;\n newState.itemIsFromKeyboard = false;\n break;\n\n case Downshift.stateChangeTypes.unknown:\n if (changes.selectedItem) {\n newState.value = multiple ? [].concat(value, [changes.selectedItem]) : [changes.selectedItem];\n newState.searchQuery = multiple ? '' : changes.inputValue;\n newState.open = false;\n newState.highlightedIndex = changes.highlightedIndex;\n tryFocusTriggerButton();\n } else {\n newState.open = changes.isOpen;\n }\n\n default:\n break;\n }\n\n if (_isEmpty(newState)) {\n return;\n }\n\n var handlers = [newState.highlightedIndex !== undefined && 'onHighlightedIndexChange', newState.open !== undefined && 'onOpenChange', newState.searchQuery !== undefined && 'onSearchQueryChange', newState.value !== undefined && 'onChange'].filter(Boolean);\n setStateAndInvokeHandler(handlers, null, newState);\n };\n\n var isSelectedItemActive = function isSelectedItemActive(index) {\n return index === activeSelectedIndex;\n };\n\n var handleItemOverrides = function handleItemOverrides(item, index, getItemProps, selected) {\n return function (predefinedProps) {\n return {\n accessibilityItemProps: Object.assign({}, getItemProps({\n item: item,\n index: index,\n disabled: item['disabled'],\n onClick: function onClick(e) {\n e.stopPropagation();\n e.nativeEvent.stopImmediatePropagation();\n\n _invoke(predefinedProps, 'onClick', e, predefinedProps);\n }\n }), !multiple && {\n 'aria-selected': selected\n })\n };\n };\n };\n\n var handleSelectedItemOverrides = function handleSelectedItemOverrides(item) {\n return function (predefinedProps) {\n return {\n onRemove: function onRemove(e, dropdownSelectedItemProps) {\n handleSelectedItemRemove(e, item, predefinedProps, dropdownSelectedItemProps);\n },\n onClick: function onClick(e, dropdownSelectedItemProps) {\n setStateAndInvokeHandler(['onActiveSelectedIndexChange'], null, {\n activeSelectedIndex: value.indexOf(item)\n });\n e.stopPropagation();\n\n _invoke(predefinedProps, 'onClick', e, dropdownSelectedItemProps);\n },\n onKeyDown: function onKeyDown(e, dropdownSelectedItemProps) {\n handleSelectedItemKeyDown(e, item, predefinedProps, dropdownSelectedItemProps);\n }\n };\n };\n };\n\n var handleSearchInputOverrides = function handleSearchInputOverrides(highlightedIndex, selectItemAtIndex, toggleMenu, accessibilityComboboxProps, getInputProps) {\n return function (predefinedProps) {\n var handleInputBlur = function handleInputBlur(e, searchInputProps) {\n if (!disabled) {\n setFocused(false);\n setIsFromKeyboard(detectIsFromKeyboard());\n e.nativeEvent['preventDownshiftDefault'] = true;\n }\n\n _invoke(predefinedProps, 'onInputBlur', e, searchInputProps);\n };\n\n var handleInputKeyDown = function handleInputKeyDown(e, searchInputProps) {\n if (!disabled) {\n switch (getCode(e)) {\n // https://github.com/downshift-js/downshift/issues/1097\n // Downshift skips Home/End if Deopdown is opened\n case keyboardKey.Home:\n e.nativeEvent['preventDownshiftDefault'] = filteredItems.length === 0;\n break;\n\n case keyboardKey.End:\n e.nativeEvent['preventDownshiftDefault'] = filteredItems.length === 0;\n break;\n\n case keyboardKey.Tab:\n e.stopPropagation();\n handleTabSelection(e, highlightedIndex, selectItemAtIndex, toggleMenu);\n break;\n\n case keyboardKey.ArrowLeft:\n e.stopPropagation();\n\n if (!context.rtl) {\n trySetLastSelectedItemAsActive();\n }\n\n break;\n\n case keyboardKey.ArrowRight:\n e.stopPropagation();\n\n if (context.rtl) {\n trySetLastSelectedItemAsActive();\n }\n\n break;\n\n case keyboardKey.Backspace:\n e.stopPropagation();\n tryRemoveItemFromValue();\n break;\n\n case keyboardKey.Escape:\n // If dropdown list is open ESC should close it and not propagate to the parent\n // otherwise event should propagate\n if (open) {\n e.stopPropagation();\n }\n\n default:\n break;\n }\n }\n\n _invoke(predefinedProps, 'onInputKeyDown', e, Object.assign({}, searchInputProps, {\n highlightedIndex: highlightedIndex,\n selectItemAtIndex: selectItemAtIndex\n }));\n };\n\n return {\n // getInputProps adds Downshift handlers. We also add our own by passing them as params to that function.\n // user handlers were also added to our handlers previously, at the beginning of this function.\n accessibilityInputProps: Object.assign({}, getInputProps({\n disabled: disabled,\n onBlur: function onBlur(e) {\n handleInputBlur(e, predefinedProps);\n },\n onKeyDown: function onKeyDown(e) {\n handleInputKeyDown(e, predefinedProps);\n },\n onChange: function onChange(e) {\n // we prevent the onChange input event to bubble up to our Dropdown handler,\n // since in Dropdown it gets handled as onSearchQueryChange.\n e.stopPropagation(); // A state modification should be triggered there otherwise it will go to an another frame and will break\n // cursor position:\n // https://github.com/facebook/react/issues/955#issuecomment-469352730\n\n setSearchQuery(e.target.value);\n }\n })),\n // same story as above for getRootProps.\n accessibilityComboboxProps: accessibilityComboboxProps,\n inputRef: function inputRef(node) {\n handleRef(predefinedProps.inputRef, node);\n _inputRef.current = node;\n },\n onFocus: function onFocus(e, searchInputProps) {\n if (!disabled) {\n setFocused(true);\n setIsFromKeyboard(detectIsFromKeyboard());\n }\n\n _invoke(predefinedProps, 'onFocus', e, searchInputProps);\n },\n onInputBlur: function onInputBlur(e, searchInputProps) {\n handleInputBlur(e, searchInputProps);\n },\n onInputKeyDown: function onInputKeyDown(e, searchInputProps) {\n handleInputKeyDown(e, searchInputProps);\n }\n };\n };\n };\n /**\n * Custom Tab selection logic, at least until Downshift will implement selection on blur.\n * Also keeps focus on multiple selection dropdown when selecting by Tab.\n */\n\n\n var handleTabSelection = function handleTabSelection(e, highlightedIndex, selectItemAtIndex, toggleMenu) {\n if (open) {\n if (!_isNil(highlightedIndex) && filteredItems.length && !items[highlightedIndex]['disabled']) {\n selectItemAtIndex(highlightedIndex);\n\n if (multiple && !moveFocusOnTab) {\n e.preventDefault();\n }\n } else {\n toggleMenu();\n }\n }\n };\n\n var trySetLastSelectedItemAsActive = function trySetLastSelectedItemAsActive() {\n if (!multiple || _inputRef.current && _inputRef.current.selectionStart !== 0) {\n return;\n }\n\n if (value.length > 0) {\n // If last element was already active, perform a 'reset' of activeSelectedIndex.\n if (activeSelectedIndex === value.length - 1) {\n setStateAndInvokeHandler(['onActiveSelectedIndexChange'], null, {\n activeSelectedIndex: value.length - 1\n });\n } else {\n setStateAndInvokeHandler(['onActiveSelectedIndexChange'], null, {\n activeSelectedIndex: value.length - 1\n });\n }\n }\n };\n\n var tryRemoveItemFromValue = function tryRemoveItemFromValue() {\n if (multiple && (searchQuery === '' || _inputRef.current.selectionStart === 0 && _inputRef.current.selectionEnd === 0) && value.length > 0) {\n removeItemFromValue();\n }\n };\n\n var handleClear = function handleClear(e) {\n setStateAndInvokeHandler(['onChange', 'onActiveSelectedIndexChange', 'onHighlightedIndexChange'], e, {\n activeSelectedIndex: multiple ? null : undefined,\n highlightedIndex: highlightFirstItemOnOpen ? 0 : null,\n open: false,\n searchQuery: search ? '' : undefined,\n value: []\n });\n tryFocusSearchInput();\n tryFocusTriggerButton();\n };\n\n var handleContainerClick = function handleContainerClick() {\n tryFocusSearchInput();\n };\n\n var handleTriggerButtonKeyDown = function handleTriggerButtonKeyDown(e) {\n switch (getCode(e)) {\n case keyboardKey.ArrowLeft:\n if (!context.rtl) {\n trySetLastSelectedItemAsActive();\n }\n\n return;\n\n case keyboardKey.ArrowRight:\n if (context.rtl) {\n trySetLastSelectedItemAsActive();\n }\n\n return;\n\n default:\n return;\n }\n };\n\n var handleListKeyDown = function handleListKeyDown(e, highlightedIndex, accessibilityInputPropsKeyDown, toggleMenu, selectItemAtIndex) {\n var keyCode = getCode(e);\n\n switch (keyCode) {\n case keyboardKey.Tab:\n handleTabSelection(e, highlightedIndex, selectItemAtIndex, toggleMenu);\n return;\n\n case keyboardKey.Escape:\n accessibilityInputPropsKeyDown(e);\n tryFocusTriggerButton();\n e.stopPropagation();\n return;\n\n default:\n var keyString = String.fromCharCode(keyCode);\n\n if (/[a-zA-Z0-9]/.test(keyString)) {\n setHighlightedIndexOnCharKeyDown(keyString);\n }\n\n accessibilityInputPropsKeyDown(e);\n return;\n }\n };\n\n var handleSelectedItemKeyDown = function handleSelectedItemKeyDown(e, item, predefinedProps, dropdownSelectedItemProps) {\n var previousKey = context.rtl ? keyboardKey.ArrowRight : keyboardKey.ArrowLeft;\n var nextKey = context.rtl ? keyboardKey.ArrowLeft : keyboardKey.ArrowRight;\n\n switch (getCode(e)) {\n case keyboardKey.Delete:\n case keyboardKey.Backspace:\n handleSelectedItemRemove(e, item, predefinedProps, dropdownSelectedItemProps);\n break;\n\n case previousKey:\n if (value.length > 0 && !_isNil(activeSelectedIndex) && activeSelectedIndex > 0) {\n setStateAndInvokeHandler(['onActiveSelectedIndexChange'], null, {\n activeSelectedIndex: activeSelectedIndex - 1\n });\n }\n\n break;\n\n case nextKey:\n if (value.length > 0 && !_isNil(activeSelectedIndex)) {\n if (activeSelectedIndex < value.length - 1) {\n setStateAndInvokeHandler(['onActiveSelectedIndexChange'], null, {\n activeSelectedIndex: activeSelectedIndex + 1\n });\n } else {\n setStateAndInvokeHandler(['onActiveSelectedIndexChange'], null, {\n activeSelectedIndex: null\n });\n\n if (search) {\n e.preventDefault(); // prevents caret to forward one position in input.\n\n _inputRef.current.focus();\n } else {\n buttonRef.current.focus();\n }\n }\n }\n\n break;\n\n default:\n break;\n }\n\n _invoke(predefinedProps, 'onKeyDown', e, dropdownSelectedItemProps);\n };\n\n var handleTriggerButtonOrListFocus = function handleTriggerButtonOrListFocus() {\n setFocused(true);\n setIsFromKeyboard(detectIsFromKeyboard());\n };\n\n var handleTriggerButtonBlur = function handleTriggerButtonBlur(e) {\n if (listRef.current !== e.relatedTarget) {\n setFocused(false);\n setIsFromKeyboard(detectIsFromKeyboard());\n }\n };\n\n var handleListBlur = function handleListBlur(e) {\n if (buttonRef.current !== e.relatedTarget) {\n setFocused(false);\n setIsFromKeyboard(detectIsFromKeyboard());\n }\n };\n /**\n * Sets highlightedIndex to be the item that starts with the character keys the\n * user has typed. Only used in non-search dropdowns.\n *\n * @param keystring - The string the item needs to start with. It is composed by typing keys in fast succession.\n */\n\n\n var setHighlightedIndexOnCharKeyDown = function setHighlightedIndexOnCharKeyDown(keyString) {\n var newStartingString = \"\" + startingString + keyString.toLowerCase();\n var newHighlightedIndex = -1;\n setStartingString(newStartingString);\n clearStartingString();\n\n if (_isNumber(highlightedIndex)) {\n newHighlightedIndex = _findIndex(filteredItemStrings, function (item) {\n return item.startsWith(newStartingString);\n }, highlightedIndex + (startingString.length > 0 ? 0 : 1));\n }\n\n if (newHighlightedIndex < 0) {\n newHighlightedIndex = _findIndex(filteredItemStrings, function (item) {\n return item.startsWith(newStartingString);\n });\n }\n\n if (newHighlightedIndex >= 0) {\n setStateAndInvokeHandler(['onHighlightedIndexChange'], null, {\n highlightedIndex: newHighlightedIndex\n });\n }\n };\n\n var handleSelectedItemRemove = function handleSelectedItemRemove(e, item, predefinedProps, dropdownSelectedItemProps) {\n setStateAndInvokeHandler(['onActiveSelectedIndexChange'], null, {\n activeSelectedIndex: null\n });\n removeItemFromValue(item);\n tryFocusSearchInput();\n tryFocusTriggerButton();\n\n _invoke(predefinedProps, 'onRemove', e, dropdownSelectedItemProps);\n };\n\n var removeItemFromValue = function removeItemFromValue(item) {\n var poppedItem = item;\n var newValue = [].concat(value);\n\n if (poppedItem) {\n newValue = newValue.filter(function (currentElement) {\n return currentElement !== item;\n });\n } else {\n poppedItem = newValue.pop();\n }\n\n if (getA11ySelectionMessage && getA11ySelectionMessage.onRemove) {\n setA11ySelectionMessage(getA11ySelectionMessage.onRemove(poppedItem));\n }\n\n setStateAndInvokeHandler(['onChange'], null, {\n value: newValue\n });\n };\n /**\n * Calls setState and invokes event handler exposed to user.\n * We don't have the event object for most events coming from Downshift se we send an empty event\n * because we want to keep the event handling interface\n */\n\n\n var setStateAndInvokeHandler = function setStateAndInvokeHandler(handlerNames, event, newState) {\n var proposedValue = _isNil(newState.value) ? value : newState.value; // `proposedValue` should be normalized for single/multiple variations, `null` condition is\n // required as first item can be undefined\n\n var newValue = multiple ? proposedValue : proposedValue[0] || null;\n\n if (newState.hasOwnProperty('activeSelectedIndex')) {\n setActiveSelectedIndex(newState.activeSelectedIndex);\n }\n\n if (newState.hasOwnProperty('highlightedIndex')) {\n setHighlightedIndex(newState.highlightedIndex);\n }\n\n if (newState.hasOwnProperty('itemIsFromKeyboard')) {\n setItemIsFromKeyboard(newState.itemIsFromKeyboard);\n }\n\n if (newState.hasOwnProperty('open')) {\n setOpen(newState.open);\n }\n\n if (newState.hasOwnProperty('searchQuery')) {\n setSearchQuery(newState.searchQuery);\n }\n\n if (newState.hasOwnProperty('value')) {\n setValue(newState.value);\n }\n\n handlerNames.forEach(function (handlerName) {\n _invoke(props, handlerName, event, Object.assign({}, props, newState, {\n value: newValue\n }));\n });\n };\n\n var tryFocusTriggerButton = function tryFocusTriggerButton() {\n if (!search && buttonRef.current) {\n buttonRef.current.focus();\n }\n };\n\n var tryFocusSearchInput = function tryFocusSearchInput() {\n if (search && _inputRef.current) {\n _inputRef.current.focus();\n }\n };\n /**\n * If there is no value we use the placeholder value\n * otherwise, for single selection we convert the value with itemToString\n * and for multiple selection we return empty string, the values are rendered by renderSelectedItems\n */\n\n\n var getSelectedItemAsString = function getSelectedItemAsString(value) {\n if (!value) {\n return search ? '' : placeholder;\n }\n\n if (multiple) {\n return '';\n }\n\n return itemToString(value);\n };\n\n var getHighlightedIndexOnArrowKeyOpen = function getHighlightedIndexOnArrowKeyOpen(changes) {\n var isArrowUp = changes.type === Downshift.stateChangeTypes.keyDownArrowUp;\n var isArrowDown = changes.type === Downshift.stateChangeTypes.keyDownArrowDown;\n var itemsLength = filteredItems.length;\n\n if (highlightedIndex) {\n return highlightedIndex;\n }\n\n if (highlightFirstItemOnOpen) {\n // otherwise, if highlightFirstItemOnOpen prop is provied, highlight first item.\n return 0;\n }\n\n if (!multiple && !search && value.length > 0) {\n // in single selection, if there is a selected item, highlight it.\n var _offset = isArrowUp ? -1 : isArrowDown ? 1 : 0;\n\n var newHighlightedIndex = items.indexOf(value[0]) + _offset;\n\n if (newHighlightedIndex >= itemsLength) {\n return 0;\n }\n\n if (newHighlightedIndex < 0) {\n return itemsLength - 1;\n }\n\n return newHighlightedIndex;\n }\n\n if (isArrowDown) {\n return 0;\n }\n\n if (isArrowUp) {\n return itemsLength - 1;\n }\n\n return null;\n };\n /**\n * Function that sets and cleans the selection message after it has been set,\n * so it is not read anymore via virtual cursor.\n */\n\n\n var setA11ySelectionMessage = function setA11ySelectionMessage(a11ySelectionStatus) {\n setA11ySelectionStatus(a11ySelectionStatus);\n clearA11ySelectionMessage();\n };\n\n React.useEffect(function () {\n return function () {\n clearStartingString.cancel();\n clearA11ySelectionMessage.cancel();\n };\n }, [clearA11ySelectionMessage, clearStartingString]);\n var element = /*#__PURE__*/React.createElement(ElementType, _extends({\n className: classes.root,\n onBlur: handleOnBlur,\n onChange: handleChange\n }, unhandledProps, process.env.NODE_ENV === 'test' && {\n 'data-test-focused': focused\n }), /*#__PURE__*/React.createElement(Downshift, {\n isOpen: open,\n inputValue: search ? searchQuery : null,\n stateReducer: downshiftStateReducer,\n itemToString: itemToString // downshift does not work with arrays as selectedItem.\n ,\n selectedItem: multiple || !value.length ? null : value[0],\n scrollIntoView: function scrollIntoView(node, menu) {\n if (node) {\n var children = menu.children;\n var nodeToScroll = node;\n /**\n * If it's loading downshift doesn't take the last node with loadingMessage\n * in consideration to scrolld so we need to check if the current is the\n * antepenultimate and is so scroll the loading into view, same for headerMessage\n */\n\n if (loading && children[children.length - 2] === node) {\n nodeToScroll = children[children.length - 1];\n } else if (headerMessage && children[1] === node) {\n nodeToScroll = children[0];\n } // Replicating same config that Downshift uses\n\n\n var actions = computeScrollIntoView(nodeToScroll, {\n boundary: menu,\n // Explicitly set boundary to avoid unnecessary scrolling by checking all parent elements\n scrollMode: 'if-needed',\n block: 'nearest',\n inline: 'nearest'\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 getA11yStatusMessage: getA11yStatusMessage,\n highlightedIndex: highlightedIndex,\n onStateChange: handleStateChange,\n labelId: ariaLabelledby,\n environment: (_context$target = context.target) == null ? void 0 : _context$target.defaultView,\n inputId: searchInput && searchInput['id'] ? searchInput['id'] : undefined\n }, function (_ref2) {\n var getInputProps = _ref2.getInputProps,\n getItemProps = _ref2.getItemProps,\n getMenuProps = _ref2.getMenuProps,\n getRootProps = _ref2.getRootProps,\n getToggleButtonProps = _ref2.getToggleButtonProps,\n toggleMenu = _ref2.toggleMenu,\n highlightedIndex = _ref2.highlightedIndex,\n selectItemAtIndex = _ref2.selectItemAtIndex;\n\n var _getRootProps = getRootProps({\n refKey: 'innerRef'\n }, {\n suppressRefError: true\n }),\n innerRef = _getRootProps.innerRef,\n accessibilityRootPropsRest = _objectWithoutPropertiesLoose(_getRootProps, [\"innerRef\"]);\n\n var showClearIndicator = clearable && value.length > 0;\n return /*#__PURE__*/React.createElement(Ref, {\n innerRef: innerRef\n }, /*#__PURE__*/React.createElement(\"div\", {\n ref: containerRef,\n className: cx(dropdownSlotClassNames.container, classes.container),\n onClick: search && !open ? handleContainerClick : undefined\n }, /*#__PURE__*/React.createElement(\"div\", {\n ref: selectedItemsRef,\n className: cx(dropdownSlotClassNames.selectedItems, classes.selectedItems)\n }, !search && renderTriggerButton(getToggleButtonProps), multiple && renderSelectedItems(), search && renderSearchInput(accessibilityRootPropsRest, highlightedIndex, getInputProps, selectItemAtIndex, toggleMenu, variables)), showClearIndicator ? Box.create(clearIndicator, {\n defaultProps: function defaultProps() {\n return Object.assign({\n className: dropdownSlotClassNames.clearIndicator,\n styles: resolvedStyles.clearIndicator,\n accessibility: indicatorBehavior\n }, !search && {\n tabIndex: 0,\n role: 'button'\n });\n },\n overrideProps: function overrideProps(predefinedProps) {\n return {\n onClick: function onClick(e) {\n _invoke(predefinedProps, 'onClick', e);\n\n handleClear(e);\n }\n };\n }\n }) : Box.create(toggleIndicator, {\n defaultProps: function defaultProps() {\n return {\n className: dropdownSlotClassNames.toggleIndicator,\n styles: resolvedStyles.toggleIndicator,\n accessibility: indicatorBehavior\n };\n },\n overrideProps: function overrideProps(predefinedProps) {\n return {\n onClick: function onClick(e) {\n if (!disabled) {\n getToggleButtonProps({\n disabled: disabled\n }).onClick(e);\n }\n\n _invoke(predefinedProps, 'onClick', e);\n }\n };\n }\n }), renderItemsList(highlightedIndex, toggleMenu, selectItemAtIndex, getMenuProps, getItemProps, getInputProps)));\n }), /*#__PURE__*/React.createElement(Portal, {\n open: !!getA11ySelectionMessage\n }, /*#__PURE__*/React.createElement(\"div\", {\n role: \"status\",\n \"aria-live\": \"polite\",\n \"aria-relevant\": \"additions text\",\n style: screenReaderContainerStyles\n }, a11ySelectionStatus)));\n setEnd();\n return element;\n };\n\n Dropdown.displayName = 'Dropdown';\n Dropdown.propTypes = Object.assign({}, commonPropTypes.createCommon({\n accessibility: false,\n children: false,\n content: false\n }), {\n activeSelectedIndex: PropTypes.number,\n align: PropTypes.oneOf(ALIGNMENTS),\n checkable: PropTypes.bool,\n checkableIndicator: customPropTypes.shorthandAllowingChildren,\n clearable: PropTypes.bool,\n clearIndicator: customPropTypes.shorthandAllowingChildren,\n defaultActiveSelectedIndex: PropTypes.number,\n defaultOpen: PropTypes.bool,\n defaultHighlightedIndex: PropTypes.number,\n defaultSearchQuery: PropTypes.string,\n defaultValue: PropTypes.oneOfType([customPropTypes.itemShorthand, customPropTypes.collectionShorthand]),\n disabled: PropTypes.bool,\n error: PropTypes.bool,\n fluid: PropTypes.bool,\n getA11ySelectionMessage: PropTypes.object,\n getA11yStatusMessage: PropTypes.func,\n highlightFirstItemOnOpen: PropTypes.bool,\n highlightedIndex: PropTypes.number,\n inline: PropTypes.bool,\n inverted: PropTypes.bool,\n items: customPropTypes.collectionShorthand,\n itemToString: PropTypes.func,\n itemToValue: PropTypes.func,\n headerMessage: customPropTypes.itemShorthand,\n list: customPropTypes.itemShorthand,\n loading: PropTypes.bool,\n loadingMessage: customPropTypes.itemShorthand,\n moveFocusOnTab: PropTypes.bool,\n multiple: PropTypes.bool,\n noResultsMessage: customPropTypes.itemShorthand,\n offset: PropTypes.oneOfType([PropTypes.func, PropTypes.arrayOf(PropTypes.number)]),\n onOpenChange: PropTypes.func,\n onSearchQueryChange: PropTypes.func,\n onBlur: PropTypes.func,\n onChange: PropTypes.func,\n onActiveSelectedIndexChange: PropTypes.func,\n onHighlightedIndexChange: PropTypes.func,\n open: PropTypes.bool,\n placeholder: PropTypes.string,\n position: PropTypes.oneOf(POSITIONS),\n renderItem: PropTypes.func,\n renderSelectedItem: PropTypes.func,\n search: PropTypes.oneOfType([PropTypes.bool, PropTypes.func]),\n searchQuery: PropTypes.string,\n searchInput: customPropTypes.itemShorthand,\n toggleIndicator: customPropTypes.shorthandAllowingChildren,\n triggerButton: customPropTypes.itemShorthand,\n unstable_disableTether: PropTypes.oneOf([true, false, 'all']),\n unstable_pinned: PropTypes.bool,\n autoSize: PropTypes.oneOf(AUTOSIZES),\n value: PropTypes.oneOfType([customPropTypes.itemShorthand, customPropTypes.collectionShorthand]),\n 'aria-labelledby': PropTypes.string,\n 'aria-invalid': PropTypes.bool,\n a11ySelectedItemsMessage: PropTypes.string\n });\n Dropdown.handledProps = Object.keys(Dropdown.propTypes);\n Dropdown.defaultProps = {\n align: 'start',\n clearIndicator: /*#__PURE__*/React.createElement(CloseIcon, {\n outline: true\n }),\n itemToString: function itemToString(item) {\n if (!item || /*#__PURE__*/React.isValidElement(item)) {\n return '';\n } // targets DropdownItem shorthand objects\n\n\n return item.header || String(item);\n },\n itemToValue: function itemToValue(item) {\n if (!item || /*#__PURE__*/React.isValidElement(item)) {\n return '';\n } // targets DropdownItem shorthand objects\n\n\n return item.header || String(item);\n },\n list: {},\n position: 'below',\n toggleIndicator: /*#__PURE__*/React.createElement(ChevronDownIcon, {\n outline: true\n }),\n triggerButton: {}\n };\n Dropdown.Item = DropdownItem;\n Dropdown.SearchInput = DropdownSearchInput;\n Dropdown.SelectedItem = DropdownSelectedItem;\n return Dropdown;\n}();\n//# sourceMappingURL=Dropdown.js.map\n","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nexport function partitionPopperPropsFromShorthand(value) {\n if (typeof value === 'object' && value !== null && !Array.isArray(value)) {\n var _ref = value,\n popper = _ref.popper,\n props = _objectWithoutPropertiesLoose(_ref, [\"popper\"]);\n\n return [props, popper];\n }\n\n return [value, {}];\n}\n//# sourceMappingURL=partitionPopperPropsFromShorthand.js.map\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _invoke from \"lodash/invoke\";\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport { indicatorBehavior } from '@fluentui/accessibility';\nimport * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { getElementType, useUnhandledProps, useFluentContext, useStyles, useTelemetry } from '@fluentui/react-bindings';\nimport cx from 'classnames';\nimport { createShorthandFactory, commonPropTypes } from '../../utils';\nimport { Image } from '../Image/Image';\nimport { Box } from '../Box/Box';\nexport var dropdownItemClassName = 'ui-dropdown__item';\nexport var dropdownItemSlotClassNames = {\n main: dropdownItemClassName + \"__main\",\n content: dropdownItemClassName + \"__content\",\n header: dropdownItemClassName + \"__header\",\n image: dropdownItemClassName + \"__image\",\n checkableIndicator: dropdownItemClassName + \"__checkable-indicator\"\n};\n/**\n * A DropdownItem represents an option of Dropdown list.\n * Displays an item with optional rich media metadata.\n */\n\nexport var DropdownItem = /*#__PURE__*/function () {\n var DropdownItem = function DropdownItem(props) {\n var context = useFluentContext();\n\n var _useTelemetry = useTelemetry(DropdownItem.displayName, context.telemetry),\n setStart = _useTelemetry.setStart,\n setEnd = _useTelemetry.setEnd;\n\n setStart();\n var active = props.active,\n accessibilityItemProps = props.accessibilityItemProps,\n className = props.className,\n content = props.content,\n design = props.design,\n header = props.header,\n image = props.image,\n isFromKeyboard = props.isFromKeyboard,\n styles = props.styles,\n checkable = props.checkable,\n checkableIndicator = props.checkableIndicator,\n selected = props.selected,\n variables = props.variables;\n\n var _useStyles = useStyles(DropdownItem.displayName, {\n className: dropdownItemClassName,\n mapPropsToStyles: function mapPropsToStyles() {\n return {\n active: active,\n isFromKeyboard: isFromKeyboard,\n selected: selected,\n hasContent: !!content,\n hasHeader: !!header\n };\n },\n mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n return {\n className: className,\n design: design,\n styles: styles,\n variables: variables\n };\n },\n rtl: context.rtl\n }),\n classes = _useStyles.classes,\n resolvedStyles = _useStyles.styles;\n\n var ElementType = getElementType(props);\n var unhandledProps = useUnhandledProps(DropdownItem.handledProps, props);\n\n var handleClick = function handleClick(e) {\n _invoke(props, 'onClick', e, props);\n };\n\n var contentElement = Box.create(content, {\n defaultProps: function defaultProps() {\n return {\n className: dropdownItemSlotClassNames.content,\n styles: resolvedStyles.content\n };\n }\n });\n var headerElement = Box.create(header, {\n defaultProps: function defaultProps() {\n return {\n className: dropdownItemSlotClassNames.header,\n styles: resolvedStyles.header\n };\n }\n });\n var endMediaElement = selected && checkable ? Box.create(checkableIndicator, {\n defaultProps: function defaultProps() {\n return {\n className: dropdownItemSlotClassNames.checkableIndicator,\n styles: resolvedStyles.checkableIndicator,\n accessibility: indicatorBehavior\n };\n }\n }) : null;\n var imageElement = Box.create(Image.create(image, {\n defaultProps: function defaultProps() {\n return {\n avatar: true,\n className: dropdownItemSlotClassNames.image,\n styles: resolvedStyles.image\n };\n }\n }), {\n defaultProps: function defaultProps() {\n return {\n className: dropdownItemSlotClassNames.image,\n styles: resolvedStyles.media\n };\n }\n });\n var element = /*#__PURE__*/React.createElement(ElementType, _extends({\n className: classes.root,\n onClick: handleClick\n }, accessibilityItemProps, unhandledProps), imageElement, /*#__PURE__*/React.createElement(\"div\", {\n className: cx(dropdownItemSlotClassNames.main, classes.main)\n }, headerElement, contentElement), endMediaElement);\n setEnd();\n return element;\n };\n\n DropdownItem.displayName = 'DropdownItem';\n DropdownItem.defaultProps = {\n as: 'li',\n checkableIndicator: {}\n };\n DropdownItem.propTypes = Object.assign({}, commonPropTypes.createCommon({\n accessibility: false,\n children: false,\n content: false\n }), {\n accessibilityItemProps: PropTypes.object,\n active: PropTypes.bool,\n content: customPropTypes.itemShorthand,\n checkable: PropTypes.bool,\n checkableIndicator: customPropTypes.shorthandAllowingChildren,\n disabled: PropTypes.bool,\n header: customPropTypes.itemShorthand,\n image: customPropTypes.itemShorthandWithoutJSX,\n onClick: PropTypes.func,\n isFromKeyboard: PropTypes.bool,\n selected: PropTypes.bool\n });\n DropdownItem.handledProps = Object.keys(DropdownItem.propTypes);\n DropdownItem.create = createShorthandFactory({\n Component: DropdownItem,\n mappedProp: 'header'\n });\n return DropdownItem;\n}();\n//# sourceMappingURL=DropdownItem.js.map\n","/**\n * @description\n * Add tabIndex to 0 if active and -1 if not\n * @specification\n * Adds role='option'.\n * Adds attribute 'aria-hidden=true' to 'icon' slot.\n */\nexport var dropdownSelectedItemBehavior = function dropdownSelectedItemBehavior(props) {\n return {\n attributes: {\n root: {\n role: 'option',\n tabIndex: props.active ? 0 : -1\n },\n icon: {\n 'aria-hidden': 'true'\n }\n }\n };\n};\n//# sourceMappingURL=dropdownSelectedItemBehavior.js.map\n","import _invoke from \"lodash/invoke\";\nimport { dropdownSelectedItemBehavior, getCode, keyboardKey } from '@fluentui/accessibility';\nimport { Ref } from '@fluentui/react-component-ref';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { CloseIcon } from '@fluentui/react-icons-northstar';\nimport { createShorthandFactory, commonPropTypes } from '../../utils';\nimport { Image } from '../Image/Image';\nimport { Box } from '../Box/Box';\nimport { useUnhandledProps, useStyles, useFluentContext, useTelemetry, getElementType, useAccessibility } from '@fluentui/react-bindings';\nexport var dropdownSelectedItemClassName = 'ui-dropdown__selecteditem';\nexport var dropdownSelectedItemSlotClassNames = {\n header: dropdownSelectedItemClassName + \"__header\",\n icon: dropdownSelectedItemClassName + \"__icon\",\n image: dropdownSelectedItemClassName + \"__image\"\n};\n\n/**\n * A DropdownSelectedItem represents a selected item of 'multiple-selection' Dropdown.\n */\nexport var DropdownSelectedItem = /*#__PURE__*/function () {\n var DropdownSelectedItem = function DropdownSelectedItem(props) {\n var context = useFluentContext();\n\n var _useTelemetry = useTelemetry(DropdownSelectedItem.displayName, context.telemetry),\n setStart = _useTelemetry.setStart,\n setEnd = _useTelemetry.setEnd;\n\n setStart();\n var active = props.active,\n header = props.header,\n icon = props.icon,\n image = props.image,\n className = props.className,\n design = props.design,\n styles = props.styles,\n variables = props.variables;\n var itemRef = React.useRef();\n var ElementType = getElementType(props);\n var unhandledProps = useUnhandledProps(DropdownSelectedItem.handledProps, props);\n var getA11yProps = useAccessibility(props.accessibility, {\n debugName: DropdownSelectedItem.displayName,\n mapPropsToBehavior: function mapPropsToBehavior() {\n return {\n header: header,\n active: active\n };\n },\n rtl: context.rtl\n });\n React.useEffect(function () {\n if (active) {\n itemRef.current.focus();\n }\n }, [active]);\n\n var _useStyles = useStyles(DropdownSelectedItem.displayName, {\n className: dropdownSelectedItemClassName,\n mapPropsToStyles: function mapPropsToStyles() {\n return {\n hasImage: !!image\n };\n },\n mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n return {\n className: className,\n design: design,\n styles: styles,\n variables: variables\n };\n },\n rtl: context.rtl\n }),\n classes = _useStyles.classes,\n resolvedStyles = _useStyles.styles;\n\n var handleClick = function handleClick(e) {\n _invoke(props, 'onClick', e, props);\n };\n\n var handleKeyDown = function handleKeyDown(e) {\n _invoke(props, 'onKeyDown', e, props);\n };\n\n var handleIconOverrides = function handleIconOverrides(iconProps) {\n return Object.assign({}, iconProps, {\n onClick: function onClick(e, iconProps) {\n e.stopPropagation();\n\n _invoke(props, 'onRemove', e, iconProps);\n\n _invoke(props, 'onClick', e, iconProps);\n },\n onKeyDown: function onKeyDown(e, iconProps) {\n e.stopPropagation();\n\n if (getCode(e) === keyboardKey.Enter) {\n _invoke(props, 'onRemove', e, iconProps);\n }\n\n _invoke(props, 'onKeyDown', e, iconProps);\n }\n });\n };\n\n var headerElement = Box.create(header, {\n defaultProps: function defaultProps() {\n return getA11yProps('header', {\n as: 'span',\n className: dropdownSelectedItemSlotClassNames.header,\n styles: resolvedStyles.header\n });\n }\n });\n var iconElement = Box.create(icon, {\n defaultProps: function defaultProps() {\n return getA11yProps('icon', {\n className: dropdownSelectedItemSlotClassNames.icon,\n styles: resolvedStyles.icon\n });\n },\n overrideProps: handleIconOverrides\n });\n var imageElement = Image.create(image, {\n defaultProps: function defaultProps() {\n return getA11yProps('image', {\n avatar: true,\n className: dropdownSelectedItemSlotClassNames.image,\n styles: resolvedStyles.image\n });\n }\n });\n var element = /*#__PURE__*/React.createElement(Ref, {\n innerRef: itemRef\n }, /*#__PURE__*/React.createElement(ElementType, getA11yProps('root', Object.assign({\n className: classes.root,\n onClick: handleClick,\n onKeyDown: handleKeyDown\n }, unhandledProps)), imageElement, headerElement, iconElement));\n setEnd();\n return element;\n };\n\n DropdownSelectedItem.displayName = 'DropdownSelectedItem';\n DropdownSelectedItem.propTypes = Object.assign({}, commonPropTypes.createCommon({\n children: false\n }), {\n active: PropTypes.bool,\n header: customPropTypes.itemShorthand,\n icon: customPropTypes.shorthandAllowingChildren,\n image: customPropTypes.itemShorthandWithoutJSX,\n onClick: PropTypes.func,\n onKeyDown: PropTypes.func,\n onRemove: PropTypes.func\n });\n DropdownSelectedItem.handledProps = Object.keys(DropdownSelectedItem.propTypes);\n DropdownSelectedItem.defaultProps = {\n accessibility: dropdownSelectedItemBehavior,\n as: 'span',\n icon: /*#__PURE__*/React.createElement(CloseIcon, null)\n };\n DropdownSelectedItem.create = createShorthandFactory({\n Component: DropdownSelectedItem,\n mappedProp: 'header'\n });\n return DropdownSelectedItem;\n}();\n//# sourceMappingURL=DropdownSelectedItem.js.map\n","import _isNil from \"lodash/isNil\";\nimport { useStyles, useTelemetry, useFluentContext } from '@fluentui/react-bindings';\nimport { mergeStyles } from '@fluentui/styles';\nimport cx from 'classnames';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { commonPropTypes } from '../../utils';\n\nvar applyStyles = function applyStyles(element, styles, classes) {\n if (!styles) {\n return element;\n } // if element is DOM element\n\n\n if (typeof element.type === 'string') {\n return /*#__PURE__*/React.cloneElement(element, {\n className: cx(element.props.className, classes.root)\n });\n } // assuming element is Fluent UI element\n\n\n return /*#__PURE__*/React.cloneElement(element, {\n styles: mergeStyles(styles.root || {}, element.props.styles)\n });\n};\n\nexport var flexItemClassName = 'ui-flex__item';\n/**\n * A FlexItem is a layout component that customizes alignment of Flex child.\n */\n\nexport var FlexItem = /*#__PURE__*/function () {\n var FlexItem = function FlexItem(props) {\n var context = useFluentContext();\n\n var _useTelemetry = useTelemetry(FlexItem.displayName, context.telemetry),\n setStart = _useTelemetry.setStart,\n setEnd = _useTelemetry.setEnd;\n\n setStart();\n var align = props.align,\n children = props.children,\n className = props.className,\n design = props.design,\n grow = props.grow,\n flexDirection = props.flexDirection,\n push = props.push,\n shrink = props.shrink,\n size = props.size,\n styles = props.styles,\n variables = props.variables;\n\n var _useStyles = useStyles(FlexItem.displayName, {\n className: flexItemClassName,\n mapPropsToStyles: function mapPropsToStyles() {\n return {\n align: align,\n grow: grow,\n flexDirection: flexDirection,\n push: push,\n shrink: shrink,\n size: size\n };\n },\n mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n return {\n className: className,\n design: design,\n styles: styles,\n variables: variables\n };\n },\n rtl: context.rtl\n }),\n classes = _useStyles.classes,\n resolvedStyles = _useStyles.styles;\n\n var element; // pass calculated bits using Render Props pattern\n\n if (typeof children === 'function') {\n element = children({\n styles: resolvedStyles.root,\n classes: classes.root\n });\n } else if (_isNil(children)) {\n element = null;\n } else {\n element = applyStyles(React.Children.only(children), resolvedStyles, classes);\n }\n\n setEnd();\n return element;\n };\n\n FlexItem.displayName = 'FlexItem';\n FlexItem.propTypes = Object.assign({}, commonPropTypes.createCommon({\n children: false,\n accessibility: false,\n content: false\n }), {\n children: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),\n align: PropTypes.oneOf(['auto', 'start', 'end', 'center', 'baseline', 'stretch']),\n size: PropTypes.oneOfType([PropTypes.oneOf(['size.half', 'size.quarter', 'size.small', 'size.medium', 'size.large']), PropTypes.string]),\n shrink: PropTypes.oneOfType([PropTypes.bool, PropTypes.number]),\n push: PropTypes.bool,\n\n /**\n * Will be automatically set by parent Flex component\n */\n flexDirection: PropTypes.oneOf(['row', 'column'])\n }); // Boolean flag for now, Symbol-based approach may be used instead.\n // However, there are concerns related to browser compatibility if Symbols will be used.\n // Completely alternative approach - check class name of React element (and generalize this logic).\n\n FlexItem.__isFlexItem = true;\n return FlexItem;\n}();\n//# sourceMappingURL=FlexItem.js.map\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _get from \"lodash/get\";\nimport { getElementType, useUnhandledProps, useFluentContext, useStyles, useTelemetry } from '@fluentui/react-bindings';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { commonPropTypes } from '../../utils';\nimport { FlexItem } from './FlexItem';\nexport var flexClassName = 'ui-flex';\n/**\n * A Flex is a layout component that arranges group of items aligned towards common direction (either row or column).\n */\n\nexport var Flex = /*#__PURE__*/function () {\n var Flex = function Flex(props) {\n var context = useFluentContext();\n\n var _useTelemetry = useTelemetry(Flex.displayName, context.telemetry),\n setStart = _useTelemetry.setStart,\n setEnd = _useTelemetry.setEnd;\n\n setStart();\n var children = props.children,\n className = props.className,\n column = props.column,\n debug = props.debug,\n design = props.design,\n fill = props.fill,\n gap = props.gap,\n hAlign = props.hAlign,\n inline = props.inline,\n padding = props.padding,\n space = props.space,\n styles = props.styles,\n variables = props.variables,\n vAlign = props.vAlign,\n wrap = props.wrap;\n\n var _useStyles = useStyles(Flex.displayName, {\n className: flexClassName,\n mapPropsToStyles: function mapPropsToStyles() {\n return {\n column: column,\n debug: debug,\n fill: fill,\n gap: gap,\n hAlign: hAlign,\n inline: inline,\n padding: padding,\n space: space,\n vAlign: vAlign,\n wrap: wrap\n };\n },\n mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n return {\n className: className,\n design: design,\n styles: styles,\n variables: variables\n };\n },\n rtl: context.rtl\n }),\n classes = _useStyles.classes;\n\n var ElementType = getElementType(props);\n var unhandledProps = useUnhandledProps(Flex.handledProps, props);\n var content = React.Children.map(children, function (child) {\n var isFlexItemElement = _get(child, 'type.__isFlexItem');\n\n return isFlexItemElement ? /*#__PURE__*/React.cloneElement(child, {\n flexDirection: column ? 'column' : 'row'\n }) : child;\n });\n var element = /*#__PURE__*/React.createElement(ElementType, _extends({\n className: classes.root\n }, unhandledProps), content);\n setEnd();\n return element;\n };\n\n Flex.displayName = 'Flex';\n Flex.propTypes = Object.assign({}, commonPropTypes.createCommon({\n accessibility: false,\n content: false\n }), {\n inline: PropTypes.bool,\n column: PropTypes.bool,\n wrap: PropTypes.bool,\n hAlign: PropTypes.oneOf(['start', 'center', 'end', 'stretch']),\n vAlign: PropTypes.oneOf(['start', 'center', 'end', 'stretch']),\n space: PropTypes.oneOf(['around', 'between', 'evenly']),\n gap: PropTypes.oneOf(['gap.smaller', 'gap.small', 'gap.medium', 'gap.large']),\n padding: PropTypes.oneOf(['padding.medium']),\n fill: PropTypes.bool,\n debug: PropTypes.bool\n });\n Flex.handledProps = Object.keys(Flex.propTypes);\n Flex.Item = FlexItem;\n return Flex;\n}();\n//# sourceMappingURL=Flex.js.map\n","/**\n * @description\n * Image is usually only visual representation and therefore is hidden from screen readers, unless 'alt' property is provided.\n *\n * @specification\n * Adds attribute 'aria-hidden=true', if there is no 'alt' property provided.\n */\nexport var imageBehavior = function imageBehavior(props) {\n return {\n attributes: {\n root: {\n 'aria-hidden': props.alt || props['aria-label'] ? undefined : 'true'\n }\n }\n };\n};\n//# sourceMappingURL=imageBehavior.js.map\n","import { imageBehavior } from '@fluentui/accessibility';\nimport { getElementType, useUnhandledProps, useAccessibility, useFluentContext, useStyles, useTelemetry } from '@fluentui/react-bindings';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { createShorthandFactory, commonPropTypes } from '../../utils';\nexport var imageClassName = 'ui-image';\n/**\n * An Image is a graphic representation of something.\n *\n * @accessibility\n * If image should be visible to screen readers, textual representation needs to be provided in 'alt' property.\n *\n * Other considerations:\n * - when alt property is empty, then Narrator in scan mode navigates to image and narrates it as empty paragraph.\n * - when image has role='presentation' then screen readers navigate to the element in scan/virtual mode. To avoid this, the attribute \"aria-hidden='true'\" is applied by the default image behavior.\n * - when alt property is used in combination with aria-label, arialabbeledby or title, additional screen readers verification is needed as each screen reader handles this combination differently.\n */\n\nexport var Image = /*#__PURE__*/function () {\n var Image = function Image(props) {\n var context = useFluentContext();\n\n var _useTelemetry = useTelemetry(Image.displayName, context.telemetry),\n setStart = _useTelemetry.setStart,\n setEnd = _useTelemetry.setEnd;\n\n setStart();\n var accessibility = props.accessibility,\n alt = props.alt,\n ariaLabel = props['aria-label'],\n avatar = props.avatar,\n circular = props.circular,\n className = props.className,\n design = props.design,\n fluid = props.fluid,\n styles = props.styles,\n variables = props.variables;\n var getA11Props = useAccessibility(accessibility, {\n debugName: Image.displayName,\n mapPropsToBehavior: function mapPropsToBehavior() {\n return {\n alt: alt,\n 'aria-label': ariaLabel\n };\n },\n rtl: context.rtl\n });\n\n var _useStyles = useStyles(Image.displayName, {\n className: imageClassName,\n mapPropsToStyles: function mapPropsToStyles() {\n return {\n avatar: avatar,\n circular: circular,\n fluid: fluid\n };\n },\n mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n return {\n className: className,\n design: design,\n styles: styles,\n variables: variables\n };\n },\n rtl: context.rtl\n }),\n classes = _useStyles.classes;\n\n var ElementType = getElementType(props);\n var unhandledProps = useUnhandledProps(Image.handledProps, props);\n var result = /*#__PURE__*/React.createElement(ElementType, getA11Props('root', Object.assign({\n className: classes.root\n }, unhandledProps)));\n setEnd();\n return result;\n };\n\n Image.displayName = 'Image';\n Image.defaultProps = {\n as: 'img',\n accessibility: imageBehavior\n };\n Image.propTypes = Object.assign({}, commonPropTypes.createCommon({\n children: false,\n content: false\n }), {\n avatar: PropTypes.bool,\n circular: PropTypes.bool,\n fluid: PropTypes.bool\n });\n Image.handledProps = Object.keys(Image.propTypes);\n Image.create = createShorthandFactory({\n Component: Image,\n mappedProp: 'src',\n allowsJSX: false\n });\n return Image;\n}();\n//# sourceMappingURL=Image.js.map\n","import { keyboardKey } from '../../keyboard-key';\n/**\n * @specification\n * Adds attribute 'aria-disabled=true' based on the property 'disabled' to 'input' slot.\n * Adds attribute 'aria-required=true' based on the property 'required' to 'input' slot.\n * Adds attribute 'aria-invalid=true' based on the property 'error' to 'input' slot.\n * Triggers 'clear' action with 'Escape' on 'input'.\n */\n\nexport var inputBehavior = function inputBehavior(props) {\n return {\n attributes: {\n input: Object.assign({\n 'aria-disabled': props.disabled\n }, props.required && {\n 'aria-required': true\n }, props.error && {\n 'aria-invalid': true\n })\n },\n keyActions: {\n input: {\n clear: {\n keyCombinations: [{\n keyCode: keyboardKey.Escape\n }]\n }\n }\n }\n };\n};\n//# sourceMappingURL=inputBehavior.js.map\n","import _includes from \"lodash/includes\";\nimport _forEach from \"lodash/forEach\";\nexport var htmlImageProps = ['alt', 'height', 'src', 'srcSet', 'width'];\nexport var htmlInputAttrs = [// REACT\n'selected', 'defaultValue', 'defaultChecked', // LIMITED HTML PROPS\n'accept', 'autoCapitalize', 'autoComplete', 'autoCorrect', 'autoFocus', 'checked', 'disabled', 'form', 'id', 'list', 'max', 'maxLength', 'min', 'minLength', 'multiple', 'name', 'pattern', 'placeholder', 'readOnly', 'required', 'step', 'type', 'value'];\nexport var htmlInputEvents = [// EVENTS\n// keyboard\n'onKeyDown', 'onKeyPress', 'onKeyUp', // focus\n'onFocus', 'onBlur', // form\n'onChange', 'onInput', // mouse\n'onClick', 'onContextMenu', 'onDrag', 'onDragEnd', 'onDragEnter', 'onDragExit', 'onDragLeave', 'onDragOver', 'onDragStart', 'onDrop', 'onMouseDown', 'onMouseEnter', 'onMouseLeave', 'onMouseMove', 'onMouseOut', 'onMouseOver', 'onMouseUp', // selection\n'onSelect', // touch\n'onTouchCancel', 'onTouchEnd', 'onTouchMove', 'onTouchStart'];\nexport var htmlInputProps = [].concat(htmlInputAttrs, htmlInputEvents);\n\n/**\n * Returns props of html input element and restProps.\n * @param props - A ReactElement props object\n * @param options - Options for\n * @returns - 2-element array. First element is props of HTML input element and second element is the other props.\n */\nexport var partitionHTMLProps = function partitionHTMLProps(props, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$htmlProps = _options.htmlProps,\n htmlProps = _options$htmlProps === void 0 ? htmlInputProps : _options$htmlProps,\n _options$includeAria = _options.includeAria,\n includeAria = _options$includeAria === void 0 ? true : _options$includeAria;\n var inputProps = {};\n var restProps = {};\n\n _forEach(props, function (val, prop) {\n var possibleAria = includeAria && (/^aria-.*$/.test(prop) || prop === 'role');\n var target = _includes(htmlProps, prop) || possibleAria ? inputProps : restProps;\n target[prop] = val;\n });\n\n return [inputProps, restProps];\n};\n//# sourceMappingURL=htmlPropsUtils.js.map\n","// This is Fluent icon. Originally on a 20x20 canvas. No resize, just 'viewBox' update.\nimport * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var CheckmarkCircleIcon = /*#__PURE__*/createSvgIcon({\n svg: function svg(_ref) {\n var classes = _ref.classes;\n return /*#__PURE__*/React.createElement(\"svg\", {\n role: \"presentation\",\n focusable: \"false\",\n viewBox: \"2 2 16 16\",\n className: classes.svg\n }, /*#__PURE__*/React.createElement(\"path\", {\n className: cx(iconClassNames.outline, classes.outlinePart),\n d: \"M10 2C14.4183 2 18 5.58172 18 10C18 14.4183 14.4183 18 10 18C5.58172 18 2 14.4183 2 10C2 5.58172 5.58172 2 10 2ZM10 3C6.13401 3 3 6.13401 3 10C3 13.866 6.13401 17 10 17C13.866 17 17 13.866 17 10C17 6.13401 13.866 3 10 3ZM13.3584 7.64645C13.532 7.82001 13.5513 8.08944 13.4163 8.28431L13.3584 8.35355L9.35355 12.3584C9.17999 12.532 8.91056 12.5513 8.71569 12.4163L8.64645 12.3584L6.64645 10.3584C6.45118 10.1632 6.45118 9.84658 6.64645 9.65131C6.82001 9.47775 7.08944 9.45846 7.28431 9.59346L7.35355 9.65131L9 11.298L12.6513 7.64645C12.8466 7.45118 13.1632 7.45118 13.3584 7.64645Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: cx(iconClassNames.filled, classes.filledPart),\n d: \"M10 2C14.4183 2 18 5.58172 18 10C18 14.4183 14.4183 18 10 18C5.58172 18 2 14.4183 2 10C2 5.58172 5.58172 2 10 2ZM13.3584 7.64645C13.1849 7.47288 12.9154 7.4536 12.7206 7.58859L12.6513 7.64645L9 11.298L7.35355 9.65131L7.28431 9.59346C7.08944 9.45846 6.82001 9.47775 6.64645 9.65131C6.47288 9.82488 6.4536 10.0943 6.58859 10.2892L6.64645 10.3584L8.64645 12.3584L8.71569 12.4163C8.8862 12.5344 9.1138 12.5344 9.28431 12.4163L9.35355 12.3584L13.3584 8.35355L13.4163 8.28431C13.5513 8.08944 13.532 7.82001 13.3584 7.64645Z\"\n }));\n },\n displayName: 'CheckmarkCircleIcon'\n});\n//# sourceMappingURL=CheckmarkCircleIcon.js.map\n","import { compose } from '@fluentui/react-bindings';\nimport { commonPropTypes } from '../../utils';\nimport { Box } from '../Box/Box';\nimport * as PropTypes from 'prop-types';\nexport var inputLabelClassName = 'ui-input__label';\n/**\n * An InputLabel provides a slot for label in the Input.\n */\n\nexport var InputLabel = /*#__PURE__*/function () {\n var InputLabel = compose(Box, {\n className: inputLabelClassName,\n displayName: 'InputLabel',\n overrideStyles: true,\n mapPropsToStylesProps: function mapPropsToStylesProps(_ref) {\n var labelPosition = _ref.labelPosition,\n required = _ref.required,\n hasValue = _ref.hasValue;\n return {\n labelPosition: labelPosition,\n required: required,\n hasValue: hasValue\n };\n },\n handledProps: ['required', 'labelPosition', 'hasValue'],\n shorthandConfig: {\n mappedProp: 'content'\n }\n });\n InputLabel.defaultProps = {\n as: 'label'\n };\n InputLabel.propTypes = Object.assign({}, commonPropTypes.createCommon(), {\n labelPosition: PropTypes.oneOf(['inside', 'inline']),\n required: PropTypes.bool,\n hasValue: PropTypes.bool\n });\n return InputLabel;\n}();\n//# sourceMappingURL=InputLabel.js.map\n","import * as React from 'react';\nexport var FormFieldBaseContext = /*#__PURE__*/React.createContext({\n labelId: null\n});\nexport var FormFieldBaseProvider = FormFieldBaseContext.Provider;\n//# sourceMappingURL=formFieldBaseContext.js.map\n","import _get from \"lodash/get\";\nimport _invoke from \"lodash/invoke\";\nimport _isNil from \"lodash/isNil\";\nimport { inputBehavior } from '@fluentui/accessibility';\nimport { handleRef, Ref } from '@fluentui/react-component-ref';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { partitionHTMLProps, commonPropTypes, createShorthandFactory, createShorthand, getOrGenerateIdFromShorthand } from '../../utils';\nimport { Box } from '../Box/Box';\nimport { useAutoControlled, getElementType, useUnhandledProps, useTelemetry, useFluentContext, useStyles, useAccessibility, compose } from '@fluentui/react-bindings';\nimport { ExclamationCircleIcon, CheckmarkCircleIcon, CloseIcon } from '@fluentui/react-icons-northstar';\nimport { InputLabel } from './InputLabel';\nimport { FormFieldBaseContext } from '../Form/utils/formFieldBaseContext';\nexport var inputClassName = 'ui-input';\nexport var inputSlotClassNames = {\n input: inputClassName + \"__input\",\n icon: inputClassName + \"__icon\"\n};\n/**\n * An Input is a field used to elicit an input from a user.\n *\n * @accessibility\n * For good screen reader experience set `aria-label` or `aria-labelledby` attribute for input.\n */\n\nexport var Input = /*#__PURE__*/function () {\n var Input = compose(function (props, ref, composeOptions) {\n var context = useFluentContext();\n\n var _useTelemetry = useTelemetry(composeOptions.displayName, context.telemetry),\n setStart = _useTelemetry.setStart,\n setEnd = _useTelemetry.setEnd;\n\n setStart();\n var className = props.className,\n input = props.input,\n type = props.type,\n wrapper = props.wrapper,\n disabled = props.disabled,\n fluid = props.fluid,\n inverted = props.inverted,\n inline = props.inline,\n clearable = props.clearable,\n icon = props.icon,\n iconPosition = props.iconPosition,\n design = props.design,\n styles = props.styles,\n variables = props.variables,\n required = props.required,\n successIndicator = props.successIndicator,\n error = props.error,\n errorIndicator = props.errorIndicator,\n showSuccessIndicator = props.showSuccessIndicator,\n label = props.label,\n labelPosition = props.labelPosition;\n var inputRef = React.useRef();\n\n var _React$useContext = React.useContext(FormFieldBaseContext),\n labelId = _React$useContext.labelId;\n\n var inputId = React.useRef();\n inputId.current = props.id || getOrGenerateIdFromShorthand('ui-input-', '', inputId.current);\n var ElementType = getElementType(props);\n var unhandledProps = useUnhandledProps(composeOptions.handledProps, props);\n\n var _partitionHTMLProps = partitionHTMLProps(unhandledProps),\n htmlInputProps = _partitionHTMLProps[0],\n restProps = _partitionHTMLProps[1];\n\n var _useAutoControlled = useAutoControlled({\n defaultValue: props.defaultValue,\n value: props.value,\n initialValue: ''\n }),\n value = _useAutoControlled[0],\n setValue = _useAutoControlled[1];\n\n var hasValue = !!value && (value == null ? void 0 : value.length) !== 0;\n var isShowSuccessIndicatorUndefined = typeof showSuccessIndicator === 'undefined';\n var requiredAndSuccessful = isShowSuccessIndicatorUndefined ? (required && hasValue || showSuccessIndicator) && !error : showSuccessIndicator;\n var hasIcon = !!icon || showSuccessIndicator || required && isShowSuccessIndicatorUndefined || !_isNil(error);\n\n var _useStyles = useStyles(composeOptions.displayName, {\n className: inputClassName,\n mapPropsToStyles: function mapPropsToStyles() {\n return {\n fluid: fluid,\n inverted: inverted,\n inline: inline,\n disabled: disabled,\n clearable: clearable,\n hasIcon: hasIcon,\n requiredAndSuccessful: requiredAndSuccessful,\n iconPosition: iconPosition,\n hasValue: hasValue,\n labelPosition: labelPosition,\n error: error\n };\n },\n mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n return {\n className: className,\n design: design,\n styles: styles,\n variables: variables\n };\n },\n rtl: context.rtl,\n composeOptions: composeOptions,\n unstable_props: props\n }),\n classes = _useStyles.classes,\n resolvedStyles = _useStyles.styles;\n\n var getA11yProps = useAccessibility(props.accessibility, {\n debugName: composeOptions.displayName,\n actionHandlers: {\n clear: function clear(e) {\n if (clearable && value !== '') {\n e.stopPropagation();\n e.nativeEvent && e.nativeEvent.stopPropagation();\n handleOnClear(e);\n }\n }\n },\n mapPropsToBehavior: function mapPropsToBehavior() {\n return {\n disabled: disabled,\n required: required,\n error: error\n };\n },\n rtl: context.rtl\n });\n\n var handleIconOverrides = function handleIconOverrides(predefinedProps) {\n return {\n onClick: function onClick(e) {\n if (!disabled) {\n handleOnClear(e);\n inputRef.current.focus();\n }\n\n _invoke(predefinedProps, 'onClick', e, props);\n }\n };\n };\n\n var handleChange = function handleChange(e) {\n if (disabled) {\n return;\n }\n\n var newValue = _get(e, 'target.value');\n\n _invoke(props, 'onChange', e, Object.assign({}, props, {\n value: newValue\n }));\n\n setValue(newValue);\n };\n\n var handleOnClear = function handleOnClear(e) {\n if (clearable) {\n _invoke(props, 'onChange', e, Object.assign({}, props, {\n value: ''\n }));\n\n setValue('');\n }\n };\n\n var computeIcon = function computeIcon() {\n if (clearable && (value == null ? void 0 : value.length) !== 0) {\n return /*#__PURE__*/React.createElement(CloseIcon, {\n outline: true\n });\n }\n\n if (requiredAndSuccessful) {\n return successIndicator;\n }\n\n if (error) {\n return errorIndicator;\n }\n\n return icon || null;\n };\n\n var labelElement = createShorthand(composeOptions.slots.label, label, {\n defaultProps: function defaultProps() {\n return {\n labelPosition: labelPosition,\n label: label,\n required: required,\n htmlFor: inputId.current,\n hasValue: hasValue,\n id: labelId\n };\n }\n });\n var inputElement = Box.create({}, {\n defaultProps: function defaultProps() {\n return {\n children: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Ref, {\n innerRef: function innerRef(inputElement) {\n handleRef(inputRef, inputElement);\n handleRef(props.inputRef, inputElement);\n handleRef(ref, inputElement);\n }\n }, createShorthand(composeOptions.slots.control, input || type, {\n defaultProps: function defaultProps() {\n return getA11yProps('input', Object.assign({}, htmlInputProps, {\n as: 'input',\n disabled: disabled,\n type: type,\n required: required,\n value: value || '',\n id: inputId.current,\n className: inputSlotClassNames.input,\n styles: resolvedStyles.input,\n onChange: handleChange\n }));\n }\n })), createShorthand(composeOptions.slots.icon, computeIcon(), {\n defaultProps: function defaultProps() {\n return getA11yProps('icon', {\n className: inputSlotClassNames.icon,\n styles: resolvedStyles.icon\n });\n },\n overrideProps: handleIconOverrides\n })),\n styles: resolvedStyles.inputContainer\n };\n }\n });\n var element = Box.create(wrapper, {\n defaultProps: function defaultProps() {\n return getA11yProps('root', Object.assign({\n className: classes.root,\n children: /*#__PURE__*/React.createElement(React.Fragment, null, labelElement, inputElement),\n styles: resolvedStyles.root\n }, restProps));\n },\n overrideProps: {\n as: wrapper && wrapper.as || ElementType\n }\n });\n setEnd();\n return element;\n }, {\n className: inputClassName,\n displayName: 'Input',\n slots: {\n control: Box,\n icon: Box,\n label: InputLabel\n },\n handledProps: ['accessibility', 'as', 'children', 'className', 'design', 'styles', 'variables', 'clearable', 'defaultValue', 'disabled', 'fluid', 'icon', 'iconPosition', 'input', 'inputRef', 'inline', 'inverted', 'onChange', 'type', 'value', 'wrapper', 'required', 'successIndicator', 'error', 'errorIndicator', 'showSuccessIndicator', 'label', 'labelPosition']\n });\n Input.propTypes = Object.assign({}, commonPropTypes.createCommon({\n content: false\n }), {\n clearable: PropTypes.bool,\n defaultValue: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]),\n disabled: PropTypes.bool,\n fluid: PropTypes.bool,\n label: customPropTypes.itemShorthand,\n labelPosition: PropTypes.oneOf(['inside', 'inline']),\n icon: customPropTypes.shorthandAllowingChildren,\n iconPosition: PropTypes.oneOf(['start', 'end']),\n input: customPropTypes.itemShorthand,\n inputRef: customPropTypes.ref,\n inline: PropTypes.bool,\n inverted: PropTypes.bool,\n onChange: PropTypes.func,\n type: PropTypes.string,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n wrapper: customPropTypes.wrapperShorthand,\n required: PropTypes.bool,\n successIndicator: customPropTypes.shorthandAllowingChildren,\n error: PropTypes.bool,\n errorIndicator: customPropTypes.shorthandAllowingChildren,\n showSuccessIndicator: PropTypes.bool\n });\n Input.defaultProps = {\n accessibility: inputBehavior,\n type: 'text',\n wrapper: {},\n iconPosition: 'end',\n errorIndicator: /*#__PURE__*/React.createElement(ExclamationCircleIcon, null),\n successIndicator: /*#__PURE__*/React.createElement(CheckmarkCircleIcon, {\n outline: true\n })\n };\n Input.Label = InputLabel;\n Input.create = createShorthandFactory({\n Component: Input\n });\n return Input;\n}();\n//# sourceMappingURL=Input.js.map\n","import { compose } from '@fluentui/react-bindings';\nimport { commonPropTypes } from '../../utils';\nimport { Box } from '../Box/Box';\nexport var listItemContentClassName = 'ui-list__itemcontent';\n/**\n * Provides a content for the ListItem.\n */\n\nexport var ListItemContent = /*#__PURE__*/function () {\n var ListItemContent = compose(Box, {\n className: listItemContentClassName,\n displayName: 'ListItemContent',\n mapPropsToStylesProps: function mapPropsToStylesProps(_ref) {\n var hasContentMedia = _ref.hasContentMedia,\n hasHeader = _ref.hasHeader,\n truncate = _ref.truncate;\n return {\n hasContentMedia: hasContentMedia,\n hasHeader: hasHeader,\n truncate: truncate\n };\n },\n handledProps: ['hasContentMedia', 'hasHeader', 'truncate'],\n overrideStyles: true,\n shorthandConfig: {\n mappedProp: 'content'\n }\n });\n ListItemContent.propTypes = commonPropTypes.createCommon();\n return ListItemContent;\n}();\n//# sourceMappingURL=ListItemContent.js.map\n","import { compose } from '@fluentui/react-bindings';\nimport { commonPropTypes } from '../../utils';\nimport { Box } from '../Box/Box';\nexport var listItemContentMediaClassName = 'ui-list__itemcontentmedia';\n/**\n * Provides a content media for the ListItem.\n */\n\nexport var ListItemContentMedia = /*#__PURE__*/function () {\n var ListItemContentMedia = compose(Box, {\n className: listItemContentMediaClassName,\n displayName: 'ListItemContentMedia',\n overrideStyles: true,\n shorthandConfig: {\n mappedProp: 'content'\n }\n });\n ListItemContentMedia.propTypes = commonPropTypes.createCommon();\n return ListItemContentMedia;\n}();\n//# sourceMappingURL=ListItemContentMedia.js.map\n","import { compose } from '@fluentui/react-bindings';\nimport { commonPropTypes } from '../../utils';\nimport { Box } from '../Box/Box';\nexport var listItemEndMediaClassName = 'ui-list__itemendmedia';\n/**\n * Provides a header media for the ListItem.\n */\n\nexport var ListItemEndMedia = /*#__PURE__*/function () {\n var ListItemEndMedia = compose(Box, {\n className: listItemEndMediaClassName,\n displayName: 'ListItemEndMedia',\n mapPropsToStylesProps: function mapPropsToStylesProps(_ref) {\n var navigable = _ref.navigable,\n selectable = _ref.selectable;\n return {\n navigable: navigable,\n selectable: selectable\n };\n },\n handledProps: ['navigable', 'selectable'],\n overrideStyles: true,\n shorthandConfig: {\n mappedProp: 'content'\n }\n });\n ListItemEndMedia.propTypes = commonPropTypes.createCommon();\n return ListItemEndMedia;\n}();\n//# sourceMappingURL=ListItemEndMedia.js.map\n","import { compose } from '@fluentui/react-bindings';\nimport { commonPropTypes } from '../../utils';\nimport { Box } from '../Box/Box';\nexport var listItemHeaderClassName = 'ui-list__itemheader';\n/**\n * Provides a header for the ListItem.\n */\n\nexport var ListItemHeader = /*#__PURE__*/function () {\n var ListItemHeader = compose(Box, {\n className: listItemHeaderClassName,\n displayName: 'ListItemHeader',\n mapPropsToStylesProps: function mapPropsToStylesProps(_ref) {\n var hasContent = _ref.hasContent,\n hasHeaderMedia = _ref.hasHeaderMedia,\n truncate = _ref.truncate;\n return {\n hasContent: hasContent,\n hasHeaderMedia: hasHeaderMedia,\n truncate: truncate\n };\n },\n handledProps: ['hasContent', 'hasHeaderMedia', 'truncate'],\n overrideStyles: true,\n shorthandConfig: {\n mappedProp: 'content'\n }\n });\n ListItemHeader.propTypes = commonPropTypes.createCommon();\n return ListItemHeader;\n}();\n//# sourceMappingURL=ListItemHeader.js.map\n","import { compose } from '@fluentui/react-bindings';\nimport { commonPropTypes } from '../../utils';\nimport { Box } from '../Box/Box';\nexport var listItemHeaderMediaClassName = 'ui-list__itemheadermedia';\n/**\n * Provides a header media for the ListItem.\n */\n\nexport var ListItemHeaderMedia = /*#__PURE__*/function () {\n var ListItemHeaderMedia = compose(Box, {\n className: listItemHeaderMediaClassName,\n displayName: 'ListItemHeaderMedia',\n overrideStyles: true,\n shorthandConfig: {\n mappedProp: 'content'\n }\n });\n ListItemHeaderMedia.propTypes = commonPropTypes.createCommon();\n return ListItemHeaderMedia;\n}();\n//# sourceMappingURL=ListItemHeaderMedia.js.map\n","/**\n * @description\n * Loader is usually an element that displays the progress status for a task that take a long time or consists of several steps.\n * Adds attribute 'aria-labelledby' on 'root' when loader has 'tabIndex' prop. This can be overriden by providing 'aria-labelledby' or 'aria-label' property directly to the component.\n *\n * @specification\n * Adds role 'progressbar' to 'root' slot.\n */\nexport var loaderBehavior = function loaderBehavior(props) {\n return {\n attributes: {\n root: {\n role: 'progressbar',\n 'aria-labelledby': getDefaultAriaLabelledBy(props)\n }\n }\n };\n};\n\n/**\n * Returns the id of the loader label if user provide tabIndex prop. It is used when user does not provide aria-label or\n * aria-labelledby as prop.\n */\nvar getDefaultAriaLabelledBy = function getDefaultAriaLabelledBy(props) {\n if (props['aria-label'] || props['aria-labelledby']) {\n return undefined;\n }\n\n return props['tabIndex'] === undefined ? undefined : props.labelId;\n};\n//# sourceMappingURL=loaderBehavior.js.map\n","import { loaderBehavior } from '@fluentui/accessibility';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport { useTelemetry, useFluentContext, getElementType, useUnhandledProps, useStyles, useAccessibility } from '@fluentui/react-bindings';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { createShorthandFactory, commonPropTypes, getOrGenerateIdFromShorthand } from '../../utils';\nimport { Box } from '../Box/Box';\nimport { Text } from '../Text/Text';\nexport var loaderClassName = 'ui-loader';\nexport var loaderSlotClassNames = {\n indicator: loaderClassName + \"__indicator\",\n label: loaderClassName + \"__label\",\n svg: loaderClassName + \"__svg\"\n};\n\n/**\n * A loader alerts a user that content is being loaded or processed and they should wait for the activity to complete.\n *\n * @accessibility\n * Implements [ARIA progressbar](https://www.w3.org/TR/wai-aria-1.1/#progressbar) role.\n */\nexport var Loader = /*#__PURE__*/function () {\n var Loader = function Loader(props) {\n var context = useFluentContext();\n\n var _useTelemetry = useTelemetry(Loader.displayName, context.telemetry),\n setStart = _useTelemetry.setStart,\n setEnd = _useTelemetry.setEnd;\n\n setStart();\n var delay = props.delay,\n label = props.label,\n indicator = props.indicator,\n svg = props.svg,\n inline = props.inline,\n labelPosition = props.labelPosition,\n className = props.className,\n design = props.design,\n styles = props.styles,\n variables = props.variables,\n size = props.size;\n var ElementType = getElementType(props);\n var unhandledProps = useUnhandledProps(Loader.handledProps, props);\n var delayTimer = React.useRef();\n\n var _React$useState = React.useState(props.delay === 0),\n visible = _React$useState[0],\n setVisible = _React$useState[1];\n\n var labelId = React.useRef();\n labelId.current = getOrGenerateIdFromShorthand('loader-label-', label, labelId.current);\n\n var _useStyles = useStyles(Loader.displayName, {\n className: loaderClassName,\n mapPropsToStyles: function mapPropsToStyles() {\n return {\n inline: inline,\n labelPosition: labelPosition,\n size: size\n };\n },\n mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n return {\n className: className,\n design: design,\n styles: styles,\n variables: variables\n };\n },\n rtl: context.rtl\n }),\n classes = _useStyles.classes,\n resolvedStyles = _useStyles.styles;\n\n var getA11yProps = useAccessibility(props.accessibility, {\n debugName: Loader.displayName,\n mapPropsToBehavior: function mapPropsToBehavior() {\n return {\n labelId: labelId.current\n };\n },\n rtl: context.rtl\n });\n React.useEffect(function () {\n if (delay > 0) {\n // @ts-ignore We have a collision between types from DOM and @types/node\n delayTimer.current = setTimeout(function () {\n setVisible(true);\n }, delay);\n }\n\n return function () {\n return clearTimeout(delayTimer.current);\n };\n }, [delay]);\n var svgElement = Box.create(svg, {\n defaultProps: function defaultProps() {\n return {\n className: loaderSlotClassNames.svg,\n styles: resolvedStyles.svg\n };\n }\n });\n var element = visible && /*#__PURE__*/React.createElement(ElementType, getA11yProps('root', Object.assign({\n className: classes.root\n }, unhandledProps)), Box.create(indicator, {\n defaultProps: function defaultProps() {\n return getA11yProps('indicator', {\n children: svgElement,\n className: loaderSlotClassNames.indicator,\n styles: resolvedStyles.indicator\n });\n }\n }), Text.create(label, {\n defaultProps: function defaultProps() {\n return getA11yProps('label', {\n className: loaderSlotClassNames.label,\n styles: resolvedStyles.label,\n id: labelId.current\n });\n }\n }));\n setEnd();\n return element;\n };\n\n Loader.displayName = 'Loader';\n Loader.propTypes = Object.assign({}, commonPropTypes.createCommon({\n children: false,\n content: false\n }), {\n delay: PropTypes.number,\n indicator: customPropTypes.itemShorthand,\n inline: PropTypes.bool,\n label: customPropTypes.itemShorthand,\n labelPosition: PropTypes.oneOf(['above', 'below', 'start', 'end']),\n size: customPropTypes.size,\n svg: customPropTypes.itemShorthand\n });\n Loader.defaultProps = {\n accessibility: loaderBehavior,\n delay: 0,\n indicator: {},\n labelPosition: 'below',\n svg: '',\n size: 'medium'\n };\n Loader.handledProps = Object.keys(Loader.propTypes);\n Loader.create = createShorthandFactory({\n Component: Loader,\n mappedProp: 'label'\n });\n Loader.shorthandConfig = {\n mappedProp: 'label'\n };\n return Loader;\n}();\n//# sourceMappingURL=Loader.js.map\n","import _invoke from \"lodash/invoke\";\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport { isBrowser, commonPropTypes } from '../../utils';\nimport { PortalBoxContext } from '../Provider/usePortalBox';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport { useIsomorphicLayoutEffect } from '@fluentui/react-bindings';\n\n/**\n * A PortalInner is a container for Portal's content.\n */\nexport var PortalInner = /*#__PURE__*/function () {\n var PortalInner = function PortalInner(props) {\n var context = React.useContext(PortalBoxContext);\n var children = props.children,\n mountNode = props.mountNode; // PortalInner should render elements even without a context\n // eslint-disable-next-line\n\n var target = isBrowser() ? context || document.body : null;\n var container = mountNode || target;\n useIsomorphicLayoutEffect(function () {\n _invoke(props, 'onMount', props);\n\n return function () {\n return _invoke(props, 'onUnmount', props);\n };\n }, []);\n return container && /*#__PURE__*/ReactDOM.createPortal(children, container);\n };\n\n PortalInner.propTypes = Object.assign({}, commonPropTypes.createCommon({\n accessibility: false,\n as: false,\n className: false,\n content: false,\n styled: false\n }), {\n mountNode: customPropTypes.domNode,\n onMount: PropTypes.func,\n onUnmount: PropTypes.func\n });\n return PortalInner;\n}();\n//# sourceMappingURL=PortalInner.js.map\n","export var Telemetry = /*#__PURE__*/function () {\n function Telemetry() {\n this.performance = void 0;\n this.enabled = void 0;\n this.performance = {};\n this.enabled = true;\n }\n\n var _proto = Telemetry.prototype;\n\n _proto.reset = function reset() {\n this.performance = {};\n };\n\n return Telemetry;\n}();\n//# sourceMappingURL=types.js.map\n","import arrayReduce from 'fast-loops/lib/arrayReduce';\n\nexport default function processStyleWithPlugins(renderer, style, type) {\n var props = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n if (renderer.plugins.length > 0) {\n return arrayReduce(renderer.plugins, function (processedStyle, plugin) {\n return plugin(processedStyle, type, renderer, props);\n }, style);\n }\n\n return style;\n}","export var RULE_TYPE = 'RULE';\nexport var KEYFRAME_TYPE = 'KEYFRAME';\nexport var FONT_TYPE = 'FONT';\nexport var STATIC_TYPE = 'STATIC';\nexport var CLEAR_TYPE = 'CLEAR';","var regex = /^(:|\\[|>|&)/;\n\nexport default function isNestedSelector(property) {\n return regex.test(property);\n}","export default function normalizeNestedProperty(nestedProperty) {\n if (nestedProperty.charAt(0) === '&') {\n return nestedProperty.slice(1);\n }\n\n return nestedProperty;\n}","export default function isMediaQuery(property) {\n return property.substr(0, 6) === '@media';\n}","export default function generateCombinedMediaQuery(currentMediaQuery, nestedMediaQuery) {\n if (currentMediaQuery.length === 0) {\n return nestedMediaQuery;\n }\n\n return currentMediaQuery + \" and \" + nestedMediaQuery;\n}","export default function isSupport(property) {\n return property.substr(0, 9) === '@supports';\n}","import camelCaseProperty from 'css-in-js-utils/lib/camelCaseProperty';\n\nexport default function generateDeclarationReference(property, value) {\n var pseudo = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';\n var media = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';\n var support = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : '';\n\n return support + media + pseudo + camelCaseProperty(property) + value;\n}","export default function isUndefinedValue(value) {\n return value === undefined || value === null || typeof value === 'string' && value.match(/(undefined|null)/) !== null;\n}","export default function generateCSSSelector(className) {\n var pseudo = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n\n return '.' + className + pseudo;\n}","var chars = 'abcdefghijklmnopqrstuvwxyz';\nvar charLength = chars.length;\n\nfunction generateUniqueClassName(id) {\n var className = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n\n if (id <= charLength) {\n return chars[id - 1] + className;\n }\n\n // Bitwise floor as safari performs much faster\n // https://jsperf.com/math-floor-vs-math-round-vs-parseint/55\n return generateUniqueClassName(id / charLength | 0, chars[id % charLength] + className);\n}\n\nexport default function generateClassName(getId) {\n var filterClassName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : function () {\n return true;\n };\n\n var startId = getId();\n var generatedClassName = generateUniqueClassName(startId);\n\n if (!filterClassName(generatedClassName)) {\n return generateClassName(getId, filterClassName);\n }\n\n return generatedClassName;\n}","export default function isBase64(property) {\n return property.substr(0, 5) === 'data:';\n}","import isBase64 from './isBase64';\n\nexport default function getFontUrl(src) {\n if (isBase64(src)) {\n return src;\n }\n\n return '\\'' + src + '\\'';\n}","import isBase64 from './isBase64';\n\nvar formats = {\n '.woff': 'woff',\n '.woff2': 'woff2',\n '.eot': 'embedded-opentype',\n '.ttf': 'truetype',\n '.otf': 'opentype',\n '.svg': 'svg',\n '.svgz': 'svg'\n};\n\nvar base64Formats = {\n 'image/svg+xml': 'svg',\n 'application/x-font-woff': 'woff',\n 'application/font-woff': 'woff',\n 'application/x-font-woff2': 'woff2',\n 'application/font-woff2': 'woff2',\n 'font/woff2': 'woff2',\n 'application/octet-stream': 'truetype',\n 'application/x-font-ttf': 'truetype',\n 'application/x-font-truetype': 'truetype',\n 'application/x-font-opentype': 'opentype',\n 'application/vnd.ms-fontobject': 'embedded-opentype',\n 'application/font-sfnt': 'sfnt'\n};\n\nexport default function getFontFormat(src) {\n if (isBase64(src)) {\n var mime = '';\n for (var i = 5;; i++) {\n // 'data:'.length === 5\n var c = src.charAt(i);\n\n if (c === ';' || c === ',') {\n break;\n }\n\n mime += c;\n }\n\n var fmt = base64Formats[mime];\n if (fmt) {\n return fmt;\n }\n\n console.warn('A invalid base64 font was used. Please use one of the following mime type: ' + Object.keys(base64Formats).join(', ') + '.');\n } else {\n var extension = '';\n for (var _i = src.length - 1;; _i--) {\n var _c = src.charAt(_i);\n\n if (_c === '.') {\n extension = _c + extension;\n break;\n }\n\n extension = _c + extension;\n }\n\n var _fmt = formats[extension];\n if (_fmt) {\n return _fmt;\n }\n\n console.warn('A invalid font-format was used in \"' + src + '\". Use one of these: ' + Object.keys(formats).join(', ') + '.');\n }\n return '';\n}","import arrayReduce from 'fast-loops/lib/arrayReduce';\n\nimport getFontUrl from './getFontUrl';\nimport getFontFormat from './getFontFormat';\n\nexport default function generateFontSource() {\n var files = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var fontLocals = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n\n var localSource = arrayReduce(fontLocals, function (src, local, index) {\n var prefix = index > 0 ? ',' : '';\n var localUrl = getFontUrl(local);\n\n return '' + src + prefix + 'local(' + localUrl + ')';\n }, '');\n var urlSource = arrayReduce(files, function (src, fileSource, index) {\n var prefix = index > 0 ? ',' : '';\n var fileFormat = getFontFormat(fileSource);\n var fileUrl = getFontUrl(fileSource);\n\n return '' + src + prefix + 'url(' + fileUrl + ') format(\\'' + fileFormat + '\\')';\n }, '');\n var delimiter = localSource.length > 0 && urlSource.length > 0 ? ',' : '';\n\n return '' + localSource + delimiter + urlSource;\n}","export default function isSafeClassName(className) {\n return className.indexOf('ad') === -1;\n}","var PREFIX_SYNTAX = /^[a-z_][a-z0-9-_]*$/gi;\n\nexport default function validateSelectorPrefix() {\n var selectorPrefix = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n\n if (selectorPrefix.length > 0 && selectorPrefix.match(PREFIX_SYNTAX) === null) {\n console.error('An invalid selectorPrefix (' + selectorPrefix + ') has been used to create a new Fela renderer.\\nIt must only contain a-Z, 0-9, - and _ while it must start with either _ or a-Z.\\nSee http://fela.js.org/docs/advanced/RendererConfiguration.html');\n }\n\n return selectorPrefix;\n}","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nimport cssifyDeclaration from 'css-in-js-utils/lib/cssifyDeclaration';\nimport arrayEach from 'fast-loops/lib/arrayEach';\nimport isPlainObject from 'isobject';\n\nimport { generateDeclarationReference, generateCombinedMediaQuery, generateCSSSelector, isMediaQuery, isNestedSelector, isUndefinedValue, isSupport, normalizeNestedProperty, processStyleWithPlugins, STATIC_TYPE, RULE_TYPE, KEYFRAME_TYPE, FONT_TYPE, CLEAR_TYPE } from 'fela-utils';\n\nimport cssifyFontFace from './cssifyFontFace';\nimport cssifyKeyframe from './cssifyKeyframe';\nimport cssifyStaticStyle from './cssifyStaticStyle';\nimport generateAnimationName from './generateAnimationName';\nimport generateClassName from './generateClassName';\nimport generateFontSource from './generateFontSource';\nimport generateStaticReference from './generateStaticReference';\nimport getFontLocals from './getFontLocals';\nimport isSafeClassName from './isSafeClassName';\nimport toCSSString from './toCSSString';\nimport validateSelectorPrefix from './validateSelectorPrefix';\n\nexport default function createRenderer() {\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var renderer = {\n listeners: [],\n keyframePrefixes: config.keyframePrefixes || ['-webkit-', '-moz-'],\n plugins: config.plugins || [],\n mediaQueryOrder: config.mediaQueryOrder || [],\n supportQueryOrder: config.supportQueryOrder || [],\n ruleOrder: [/^:link/, /^:visited/, /^:hover/, /^:focus-within/, /^:focus/, /^:active/],\n selectorPrefix: validateSelectorPrefix(config.selectorPrefix),\n filterClassName: config.filterClassName || isSafeClassName,\n devMode: config.devMode || false,\n\n uniqueRuleIdentifier: 0,\n uniqueKeyframeIdentifier: 0,\n\n nodes: {},\n scoreIndex: {},\n // use a flat cache object with pure string references\n // to achieve maximal lookup performance and memoization speed\n cache: {},\n\n getNextRuleIdentifier: function getNextRuleIdentifier() {\n return ++renderer.uniqueRuleIdentifier;\n },\n renderRule: function renderRule(rule) {\n var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n return renderer._renderStyle(rule(props, renderer), props);\n },\n renderKeyframe: function renderKeyframe(keyframe) {\n var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var resolvedKeyframe = keyframe(props, renderer);\n var processedKeyframe = processStyleWithPlugins(renderer, resolvedKeyframe, KEYFRAME_TYPE, props);\n\n var keyframeReference = JSON.stringify(processedKeyframe);\n\n if (!renderer.cache.hasOwnProperty(keyframeReference)) {\n // use another unique identifier to ensure minimal css markup\n var animationName = renderer.selectorPrefix + generateAnimationName(++renderer.uniqueKeyframeIdentifier);\n\n var cssKeyframe = cssifyKeyframe(processedKeyframe, animationName, renderer.keyframePrefixes);\n\n var change = {\n type: KEYFRAME_TYPE,\n keyframe: cssKeyframe,\n name: animationName\n };\n\n renderer.cache[keyframeReference] = change;\n renderer._emitChange(change);\n }\n\n return renderer.cache[keyframeReference].name;\n },\n renderFont: function renderFont(family, files) {\n var properties = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n var localAlias = properties.localAlias,\n otherProperties = _objectWithoutProperties(properties, ['localAlias']);\n\n var fontReference = family + JSON.stringify(properties);\n var fontLocals = getFontLocals(localAlias);\n\n if (!renderer.cache.hasOwnProperty(fontReference)) {\n var fontFamily = toCSSString(family);\n\n var fontFace = _extends({}, otherProperties, {\n src: generateFontSource(files, fontLocals),\n fontFamily: fontFamily\n });\n\n var cssFontFace = cssifyFontFace(fontFace);\n\n var change = {\n type: FONT_TYPE,\n fontFace: cssFontFace,\n fontFamily: fontFamily\n };\n\n renderer.cache[fontReference] = change;\n renderer._emitChange(change);\n }\n\n return renderer.cache[fontReference].fontFamily;\n },\n renderStatic: function renderStatic(staticStyle, selector) {\n var staticReference = generateStaticReference(staticStyle, selector);\n\n if (!renderer.cache.hasOwnProperty(staticReference)) {\n var cssDeclarations = cssifyStaticStyle(staticStyle, renderer);\n\n var change = {\n type: STATIC_TYPE,\n css: cssDeclarations,\n selector: selector\n };\n\n renderer.cache[staticReference] = change;\n renderer._emitChange(change);\n }\n },\n subscribe: function subscribe(callback) {\n renderer.listeners.push(callback);\n\n return {\n unsubscribe: function unsubscribe() {\n return renderer.listeners.splice(renderer.listeners.indexOf(callback), 1);\n }\n };\n },\n clear: function clear() {\n renderer.uniqueRuleIdentifier = 0;\n renderer.uniqueKeyframeIdentifier = 0;\n renderer.cache = {};\n\n renderer._emitChange({\n type: CLEAR_TYPE\n });\n },\n _renderStyle: function _renderStyle() {\n var style = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var processedStyle = processStyleWithPlugins(renderer, style, RULE_TYPE, props);\n\n return renderer._renderStyleToClassNames(processedStyle).slice(1);\n },\n _renderStyleToClassNames: function _renderStyleToClassNames(_ref) {\n var pseudo = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var media = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';\n var support = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';\n\n var _className = _ref._className,\n style = _objectWithoutProperties(_ref, ['_className']);\n\n var classNames = _className ? ' ' + _className : '';\n\n for (var property in style) {\n var value = style[property];\n\n if (isPlainObject(value)) {\n if (isNestedSelector(property)) {\n classNames += renderer._renderStyleToClassNames(value, pseudo + normalizeNestedProperty(property), media, support);\n } else if (isMediaQuery(property)) {\n var combinedMediaQuery = generateCombinedMediaQuery(media, property.slice(6).trim());\n classNames += renderer._renderStyleToClassNames(value, pseudo, combinedMediaQuery, support);\n } else if (isSupport(property)) {\n var combinedSupport = generateCombinedMediaQuery(support, property.slice(9).trim());\n classNames += renderer._renderStyleToClassNames(value, pseudo, media, combinedSupport);\n } else {\n console.warn('The object key \"' + property + '\" is not a valid nested key in Fela.\\nMaybe you forgot to add a plugin to resolve it?\\nCheck http://fela.js.org/docs/basics/Rules.html#styleobject for more information.');\n }\n } else {\n var declarationReference = generateDeclarationReference(property, value, pseudo, media, support);\n\n if (!renderer.cache.hasOwnProperty(declarationReference)) {\n // we remove undefined values to enable\n // usage of optional props without side-effects\n if (isUndefinedValue(value)) {\n renderer.cache[declarationReference] = {\n className: ''\n /* eslint-disable no-continue */\n };continue;\n /* eslint-enable */\n }\n\n var className = renderer.selectorPrefix + generateClassName(renderer.getNextRuleIdentifier, renderer.filterClassName);\n\n var declaration = cssifyDeclaration(property, value);\n var selector = generateCSSSelector(className, pseudo);\n\n var change = {\n type: RULE_TYPE,\n className: className,\n selector: selector,\n declaration: declaration,\n pseudo: pseudo,\n media: media,\n support: support\n };\n\n renderer.cache[declarationReference] = change;\n renderer._emitChange(change);\n }\n\n var cachedClassName = renderer.cache[declarationReference].className;\n\n // only append if we got a class cached\n if (cachedClassName) {\n classNames += ' ' + cachedClassName;\n }\n }\n }\n\n return classNames;\n },\n _emitChange: function _emitChange(change) {\n arrayEach(renderer.listeners, function (listener) {\n return listener(change);\n });\n }\n };\n\n // initial setup\n renderer.keyframePrefixes.push('');\n\n if (config.enhancers) {\n arrayEach(config.enhancers, function (enhancer) {\n renderer = enhancer(renderer);\n });\n }\n\n return renderer;\n}","export default function generateAnimationName(id) {\n return 'k' + id;\n}","import arrayReduce from 'fast-loops/lib/arrayReduce';\nimport objectReduce from 'fast-loops/lib/objectReduce';\nimport cssifyObject from 'css-in-js-utils/lib/cssifyObject';\n\nexport default function cssifyKeyframe(frames, animationName) {\n var prefixes = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [''];\n\n var keyframe = objectReduce(frames, function (css, frame, percentage) {\n return '' + css + percentage + '{' + cssifyObject(frame) + '}';\n }, '');\n\n return arrayReduce(prefixes, function (cssKeyframe, prefix) {\n return cssKeyframe + '@' + prefix + 'keyframes ' + animationName + '{' + keyframe + '}';\n }, '');\n}","export default function toCSSString(value) {\n if (value.charAt(0) === '\"') {\n return value;\n }\n\n return '\"' + value + '\"';\n}","export default function getFontLocals(localAlias) {\n if (typeof localAlias === 'string') {\n return [localAlias];\n }\n\n if (Array.isArray(localAlias)) {\n return localAlias.slice();\n }\n\n return [];\n}","import cssifyObject from 'css-in-js-utils/lib/cssifyObject';\n\nexport default function cssifyFontFace(fontFace) {\n return '@font-face{' + cssifyObject(fontFace) + '}';\n}","export default function generateStaticReference(style, selector) {\n if (typeof style === 'string') {\n return style;\n }\n\n if (selector) {\n return selector + JSON.stringify(style);\n }\n\n return '';\n}","import cssifyObject from 'css-in-js-utils/lib/cssifyObject';\nimport { processStyleWithPlugins, STATIC_TYPE } from 'fela-utils';\n\nimport minifyCSSString from './minifyCSSString';\n\nexport default function cssifyStaticStyle(staticStyle, renderer) {\n if (typeof staticStyle === 'string') {\n return minifyCSSString(staticStyle);\n }\n\n var processedStaticStyle = processStyleWithPlugins(renderer, staticStyle, STATIC_TYPE);\n\n return cssifyObject(processedStaticStyle);\n}","export default function minifyCSSString(style) {\n return style.replace(/\\s{2,}/g, '');\n}","var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nimport arrayReduce from 'fast-loops/lib/arrayReduce';\nimport isPlainObject from 'isobject';\n\nfunction renderFontFace(_ref, renderer) {\n var fontFamily = _ref.fontFamily,\n src = _ref.src,\n otherProps = _objectWithoutProperties(_ref, ['fontFamily', 'src']);\n\n if (typeof fontFamily === 'string' && Array.isArray(src)) {\n return renderer.renderFont(fontFamily, src, otherProps);\n }\n\n // TODO: warning - invalid font data\n return undefined;\n}\n\nfunction embedded(style, type, renderer, props) {\n var _loop = function _loop(property) {\n var value = style[property];\n\n if (property === 'fontFace' && (typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object') {\n if (Array.isArray(value)) {\n style.fontFamily = arrayReduce(value, function (fontFamilyList, fontFace) {\n var fontFamily = renderFontFace(fontFace, renderer);\n\n if (fontFamily && fontFamilyList.indexOf(fontFamily) === -1) {\n fontFamilyList.push(fontFamily);\n }\n\n return fontFamilyList;\n }, []).join(',');\n } else {\n style.fontFamily = renderFontFace(value, renderer);\n }\n delete style.fontFace;\n } else if (property === 'animationName' && (typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object') {\n if (Array.isArray(value)) {\n style[property] = value.map(function (frame) {\n return renderer.renderKeyframe(function () {\n return frame;\n });\n }, props).join(',');\n } else {\n style[property] = renderer.renderKeyframe(function () {\n return value;\n }, props);\n }\n } else if (isPlainObject(value)) {\n embedded(value, type, renderer, props);\n }\n };\n\n for (var property in style) {\n _loop(property);\n }\n\n return style;\n}\n\nexport default (function () {\n return embedded;\n});","import resolveArrayValue from 'css-in-js-utils/lib/resolveArrayValue';\nimport isPlainObject from 'isobject';\n\nfunction resolveFallbackValues(style) {\n for (var property in style) {\n var value = style[property];\n\n if (Array.isArray(value)) {\n style[property] = resolveArrayValue(property, value);\n } else if (isPlainObject(value) && property !== 'fontFace') {\n style[property] = resolveFallbackValues(value);\n }\n }\n\n return style;\n}\n\nexport default (function () {\n return resolveFallbackValues;\n});","import isPlainObject from 'isobject';\nimport assignStyle from 'css-in-js-utils/lib/assignStyle';\n\nfunction resolveCustomProperty(style, properties) {\n for (var property in style) {\n var value = style[property];\n\n if (properties.hasOwnProperty(property)) {\n var resolved = properties[property](value);\n assignStyle(style, resolved);\n\n if (!resolved.hasOwnProperty(property)) {\n delete style[property];\n }\n }\n\n if (style.hasOwnProperty(property) && isPlainObject(value)) {\n style[property] = resolveCustomProperty(value, properties);\n }\n }\n\n return style;\n}\n\nexport default function customProperty(properties) {\n return function (style) {\n return resolveCustomProperty(style, properties);\n };\n}","import customProperty from 'fela-plugin-custom-property';\nimport arrayReduce from 'fast-loops/lib/arrayReduce';\n\nvar placeholderPrefixes = ['::-webkit-input-placeholder', '::-moz-placeholder', ':-ms-input-placeholder', ':-moz-placeholder', '::placeholder'];\n\nexport default function placeholderPrefixer() {\n return customProperty({\n '::placeholder': function placeholder(value) {\n return arrayReduce(placeholderPrefixes, function (style, prefix) {\n style[prefix] = value;\n return style;\n }, {});\n }\n });\n}","/**\n * Takes an array of [keyValue1, keyValue2] pairs and creates an object of {keyValue1: keyValue2, keyValue2: keyValue1}\n * @param {Array} array the array of pairs\n * @return {Object} the {key, value} pair object\n */\nfunction arrayToObject(array) {\n return array.reduce(function (obj, _ref) {\n var prop1 = _ref[0],\n prop2 = _ref[1];\n obj[prop1] = prop2;\n obj[prop2] = prop1;\n return obj;\n }, {});\n}\nfunction isBoolean(val) {\n return typeof val === 'boolean';\n}\nfunction isFunction(val) {\n return typeof val === 'function';\n}\nfunction isNumber(val) {\n return typeof val === 'number';\n}\nfunction isNullOrUndefined(val) {\n return val === null || typeof val === 'undefined';\n}\nfunction isObject(val) {\n return val && typeof val === 'object';\n}\nfunction isString(val) {\n return typeof val === 'string';\n}\nfunction includes(inclusive, inclusee) {\n return inclusive.indexOf(inclusee) !== -1;\n}\n\n/**\n * Flip the sign of a CSS value, possibly with a unit.\n *\n * We can't just negate the value with unary minus due to the units.\n *\n * @private\n * @param {String} value - the original value (for example 77%)\n * @return {String} the result (for example -77%)\n */\nfunction flipSign(value) {\n if (parseFloat(value) === 0) {\n // Don't mangle zeroes\n return value;\n }\n if (value[0] === '-') {\n return value.slice(1);\n }\n return \"-\" + value;\n}\nfunction flipTransformSign(match, prefix, offset, suffix) {\n return prefix + flipSign(offset) + suffix;\n}\n\n/**\n * Takes a percentage for background position and inverts it.\n * This was copied and modified from CSSJanus:\n * https://github.com/cssjanus/cssjanus/blob/4245f834365f6cfb0239191a151432fb85abab23/src/cssjanus.js#L152-L175\n * @param {String} value - the original value (for example 77%)\n * @return {String} the result (for example 23%)\n */\nfunction calculateNewBackgroundPosition(value) {\n var idx = value.indexOf('.');\n if (idx === -1) {\n value = 100 - parseFloat(value) + \"%\";\n } else {\n // Two off, one for the \"%\" at the end, one for the dot itself\n var len = value.length - idx - 2;\n value = 100 - parseFloat(value);\n value = value.toFixed(len) + \"%\";\n }\n return value;\n}\n\n/**\n * This takes a list of CSS values and converts it to an array\n * @param {String} value - something like `1px`, `1px 2em`, or `3pt rgb(150, 230, 550) 40px calc(100% - 5px)`\n * @return {Array} the split values (for example: `['3pt', 'rgb(150, 230, 550)', '40px', 'calc(100% - 5px)']`)\n */\nfunction getValuesAsList(value) {\n return value.replace(/ +/g, ' ') // remove all extraneous spaces\n .split(' ').map(function (i) {\n return i.trim();\n }) // get rid of extra space before/after each item\n .filter(Boolean) // get rid of empty strings\n // join items which are within parenthese\n // luckily `calc (100% - 5px)` is invalid syntax and it must be `calc(100% - 5px)`, otherwise this would be even more complex\n .reduce(function (_ref2, item) {\n var list = _ref2.list,\n state = _ref2.state;\n var openParansCount = (item.match(/\\(/g) || []).length;\n var closedParansCount = (item.match(/\\)/g) || []).length;\n if (state.parensDepth > 0) {\n list[list.length - 1] = list[list.length - 1] + \" \" + item;\n } else {\n list.push(item);\n }\n state.parensDepth += openParansCount - closedParansCount;\n return {\n list: list,\n state: state\n };\n }, {\n list: [],\n state: {\n parensDepth: 0\n }\n }).list;\n}\n\n/**\n * This is intended for properties that are `top right bottom left` and will switch them to `top left bottom right`\n * @param {String} value - `1px 2px 3px 4px` for example, but also handles cases where there are too few/too many and\n * simply returns the value in those cases (which is the correct behavior)\n * @return {String} the result - `1px 4px 3px 2px` for example.\n */\nfunction handleQuartetValues(value) {\n var splitValues = getValuesAsList(value);\n if (splitValues.length <= 3 || splitValues.length > 4) {\n return value;\n }\n var top = splitValues[0],\n right = splitValues[1],\n bottom = splitValues[2],\n left = splitValues[3];\n return [top, left, bottom, right].join(' ');\n}\n\n/**\n *\n * @param {String|Number|Object} value css property value to test\n * @returns If the css property value can(should?) have an RTL equivalent\n */\nfunction canConvertValue(value) {\n return !isBoolean(value) && !isNullOrUndefined(value);\n}\n\n/**\n * Splits a shadow style into its separate shadows using the comma delimiter, but creating an exception\n * for comma separated values in parentheses often used for rgba colours.\n * @param {String} value\n * @returns {Array} array of all box shadow values in the string\n */\nfunction splitShadow(value) {\n var shadows = [];\n var start = 0;\n var end = 0;\n var rgba = false;\n while (end < value.length) {\n if (!rgba && value[end] === ',') {\n shadows.push(value.substring(start, end).trim());\n end++;\n start = end;\n } else if (value[end] === \"(\") {\n rgba = true;\n end++;\n } else if (value[end] === ')') {\n rgba = false;\n end++;\n } else {\n end++;\n }\n }\n\n // push the last shadow value if there is one\n // istanbul ignore next\n if (start != end) {\n shadows.push(value.substring(start, end + 1));\n }\n return shadows;\n}\n\n// some values require a little fudging, that fudging goes here.\nvar propertyValueConverters = {\n padding: function padding(_ref) {\n var value = _ref.value;\n if (isNumber(value)) {\n return value;\n }\n return handleQuartetValues(value);\n },\n textShadow: function textShadow(_ref2) {\n var value = _ref2.value;\n var flippedShadows = splitShadow(value).map(function (shadow) {\n // intentionally leaving off the `g` flag here because we only want to change the first number (which is the offset-x)\n return shadow.replace(/(^|\\s)(-*)([.|\\d]+)/, function (match, whiteSpace, negative, number) {\n if (number === '0') {\n return match;\n }\n var doubleNegative = negative === '' ? '-' : '';\n return \"\" + whiteSpace + doubleNegative + number;\n });\n });\n return flippedShadows.join(',');\n },\n borderColor: function borderColor(_ref3) {\n var value = _ref3.value;\n return handleQuartetValues(value);\n },\n borderRadius: function borderRadius(_ref4) {\n var value = _ref4.value;\n if (isNumber(value)) {\n return value;\n }\n if (includes(value, '/')) {\n var _value$split = value.split('/'),\n radius1 = _value$split[0],\n radius2 = _value$split[1];\n var convertedRadius1 = propertyValueConverters.borderRadius({\n value: radius1.trim()\n });\n var convertedRadius2 = propertyValueConverters.borderRadius({\n value: radius2.trim()\n });\n return convertedRadius1 + \" / \" + convertedRadius2;\n }\n var splitValues = getValuesAsList(value);\n switch (splitValues.length) {\n case 2:\n {\n return splitValues.reverse().join(' ');\n }\n case 4:\n {\n var topLeft = splitValues[0],\n topRight = splitValues[1],\n bottomRight = splitValues[2],\n bottomLeft = splitValues[3];\n return [topRight, topLeft, bottomLeft, bottomRight].join(' ');\n }\n default:\n {\n return value;\n }\n }\n },\n background: function background(_ref5) {\n var value = _ref5.value,\n valuesToConvert = _ref5.valuesToConvert,\n isRtl = _ref5.isRtl,\n bgImgDirectionRegex = _ref5.bgImgDirectionRegex,\n bgPosDirectionRegex = _ref5.bgPosDirectionRegex;\n if (isNumber(value)) {\n return value;\n }\n\n // Yeah, this is in need of a refactor 🙃...\n // but this property is a tough cookie 🍪\n // get the backgroundPosition out of the string by removing everything that couldn't be the backgroundPosition value\n var backgroundPositionValue = value.replace(/(url\\(.*?\\))|(rgba?\\(.*?\\))|(hsl\\(.*?\\))|(#[a-fA-F0-9]+)|((^| )(\\D)+( |$))/g, '').trim();\n // replace that backgroundPosition value with the converted version\n value = value.replace(backgroundPositionValue, propertyValueConverters.backgroundPosition({\n value: backgroundPositionValue,\n valuesToConvert: valuesToConvert,\n isRtl: isRtl,\n bgPosDirectionRegex: bgPosDirectionRegex\n }));\n // do the backgroundImage value replacing on the whole value (because why not?)\n return propertyValueConverters.backgroundImage({\n value: value,\n valuesToConvert: valuesToConvert,\n bgImgDirectionRegex: bgImgDirectionRegex\n });\n },\n backgroundImage: function backgroundImage(_ref6) {\n var value = _ref6.value,\n valuesToConvert = _ref6.valuesToConvert,\n bgImgDirectionRegex = _ref6.bgImgDirectionRegex;\n if (!includes(value, 'url(') && !includes(value, 'linear-gradient(')) {\n return value;\n }\n return value.replace(bgImgDirectionRegex, function (match, g1, group2) {\n return match.replace(group2, valuesToConvert[group2]);\n });\n },\n backgroundPosition: function backgroundPosition(_ref7) {\n var value = _ref7.value,\n valuesToConvert = _ref7.valuesToConvert,\n isRtl = _ref7.isRtl,\n bgPosDirectionRegex = _ref7.bgPosDirectionRegex;\n return value\n // intentionally only grabbing the first instance of this because that represents `left`\n .replace(isRtl ? /^((-|\\d|\\.)+%)/ : null, function (match, group) {\n return calculateNewBackgroundPosition(group);\n }).replace(bgPosDirectionRegex, function (match) {\n return valuesToConvert[match];\n });\n },\n backgroundPositionX: function backgroundPositionX(_ref8) {\n var value = _ref8.value,\n valuesToConvert = _ref8.valuesToConvert,\n isRtl = _ref8.isRtl,\n bgPosDirectionRegex = _ref8.bgPosDirectionRegex;\n if (isNumber(value)) {\n return value;\n }\n return propertyValueConverters.backgroundPosition({\n value: value,\n valuesToConvert: valuesToConvert,\n isRtl: isRtl,\n bgPosDirectionRegex: bgPosDirectionRegex\n });\n },\n transition: function transition(_ref9) {\n var value = _ref9.value,\n propertiesToConvert = _ref9.propertiesToConvert;\n return value.split(/,\\s*/g).map(function (transition) {\n var values = transition.split(' ');\n\n // Property is always defined first\n values[0] = propertiesToConvert[values[0]] || values[0];\n return values.join(' ');\n }).join(', ');\n },\n transitionProperty: function transitionProperty(_ref10) {\n var value = _ref10.value,\n propertiesToConvert = _ref10.propertiesToConvert;\n return value.split(/,\\s*/g).map(function (prop) {\n return propertiesToConvert[prop] || prop;\n }).join(', ');\n },\n transform: function transform(_ref11) {\n var value = _ref11.value;\n // This was copied and modified from CSSJanus:\n // https://github.com/cssjanus/cssjanus/blob/4a40f001b1ba35567112d8b8e1d9d95eda4234c3/src/cssjanus.js#L152-L153\n var nonAsciiPattern = \"[^\\\\u0020-\\\\u007e]\";\n var escapePattern = \"(?:\" + '(?:(?:\\\\[0-9a-f]{1,6})(?:\\\\r\\\\n|\\\\s)?)' + \"|\\\\\\\\[^\\\\r\\\\n\\\\f0-9a-f])\";\n var signedQuantPattern = \"((?:-?\" + ('(?:[0-9]*\\\\.[0-9]+|[0-9]+)' + \"(?:\\\\s*\" + '(?:em|ex|px|cm|mm|in|pt|pc|deg|rad|grad|ms|s|hz|khz|%)' + \"|\" + (\"-?\" + (\"(?:[_a-z]|\" + nonAsciiPattern + \"|\" + escapePattern + \")\") + (\"(?:[_a-z0-9-]|\" + nonAsciiPattern + \"|\" + escapePattern + \")\") + \"*\") + \")?\") + \")|(?:inherit|auto))\";\n var translateXRegExp = new RegExp(\"(translateX\\\\s*\\\\(\\\\s*)\" + signedQuantPattern + \"(\\\\s*\\\\))\", 'gi');\n var translateRegExp = new RegExp(\"(translate\\\\s*\\\\(\\\\s*)\" + signedQuantPattern + \"((?:\\\\s*,\\\\s*\" + signedQuantPattern + \"){0,1}\\\\s*\\\\))\", 'gi');\n var translate3dRegExp = new RegExp(\"(translate3d\\\\s*\\\\(\\\\s*)\" + signedQuantPattern + \"((?:\\\\s*,\\\\s*\" + signedQuantPattern + \"){0,2}\\\\s*\\\\))\", 'gi');\n var rotateRegExp = new RegExp(\"(rotate[ZY]?\\\\s*\\\\(\\\\s*)\" + signedQuantPattern + \"(\\\\s*\\\\))\", 'gi');\n return value.replace(translateXRegExp, flipTransformSign).replace(translateRegExp, flipTransformSign).replace(translate3dRegExp, flipTransformSign).replace(rotateRegExp, flipTransformSign);\n }\n};\npropertyValueConverters.objectPosition = propertyValueConverters.backgroundPosition;\npropertyValueConverters.margin = propertyValueConverters.padding;\npropertyValueConverters.borderWidth = propertyValueConverters.padding;\npropertyValueConverters.boxShadow = propertyValueConverters.textShadow;\npropertyValueConverters.webkitBoxShadow = propertyValueConverters.boxShadow;\npropertyValueConverters.mozBoxShadow = propertyValueConverters.boxShadow;\npropertyValueConverters.WebkitBoxShadow = propertyValueConverters.boxShadow;\npropertyValueConverters.MozBoxShadow = propertyValueConverters.boxShadow;\npropertyValueConverters.borderStyle = propertyValueConverters.borderColor;\npropertyValueConverters.webkitTransform = propertyValueConverters.transform;\npropertyValueConverters.mozTransform = propertyValueConverters.transform;\npropertyValueConverters.WebkitTransform = propertyValueConverters.transform;\npropertyValueConverters.MozTransform = propertyValueConverters.transform;\npropertyValueConverters.transformOrigin = propertyValueConverters.backgroundPosition;\npropertyValueConverters.webkitTransformOrigin = propertyValueConverters.transformOrigin;\npropertyValueConverters.mozTransformOrigin = propertyValueConverters.transformOrigin;\npropertyValueConverters.WebkitTransformOrigin = propertyValueConverters.transformOrigin;\npropertyValueConverters.MozTransformOrigin = propertyValueConverters.transformOrigin;\npropertyValueConverters.webkitTransition = propertyValueConverters.transition;\npropertyValueConverters.mozTransition = propertyValueConverters.transition;\npropertyValueConverters.WebkitTransition = propertyValueConverters.transition;\npropertyValueConverters.MozTransition = propertyValueConverters.transition;\npropertyValueConverters.webkitTransitionProperty = propertyValueConverters.transitionProperty;\npropertyValueConverters.mozTransitionProperty = propertyValueConverters.transitionProperty;\npropertyValueConverters.WebkitTransitionProperty = propertyValueConverters.transitionProperty;\npropertyValueConverters.MozTransitionProperty = propertyValueConverters.transitionProperty;\n\n// kebab-case versions\n\npropertyValueConverters['text-shadow'] = propertyValueConverters.textShadow;\npropertyValueConverters['border-color'] = propertyValueConverters.borderColor;\npropertyValueConverters['border-radius'] = propertyValueConverters.borderRadius;\npropertyValueConverters['background-image'] = propertyValueConverters.backgroundImage;\npropertyValueConverters['background-position'] = propertyValueConverters.backgroundPosition;\npropertyValueConverters['background-position-x'] = propertyValueConverters.backgroundPositionX;\npropertyValueConverters['object-position'] = propertyValueConverters.objectPosition;\npropertyValueConverters['border-width'] = propertyValueConverters.padding;\npropertyValueConverters['box-shadow'] = propertyValueConverters.textShadow;\npropertyValueConverters['-webkit-box-shadow'] = propertyValueConverters.textShadow;\npropertyValueConverters['-moz-box-shadow'] = propertyValueConverters.textShadow;\npropertyValueConverters['border-style'] = propertyValueConverters.borderColor;\npropertyValueConverters['-webkit-transform'] = propertyValueConverters.transform;\npropertyValueConverters['-moz-transform'] = propertyValueConverters.transform;\npropertyValueConverters['transform-origin'] = propertyValueConverters.transformOrigin;\npropertyValueConverters['-webkit-transform-origin'] = propertyValueConverters.transformOrigin;\npropertyValueConverters['-moz-transform-origin'] = propertyValueConverters.transformOrigin;\npropertyValueConverters['-webkit-transition'] = propertyValueConverters.transition;\npropertyValueConverters['-moz-transition'] = propertyValueConverters.transition;\npropertyValueConverters['transition-property'] = propertyValueConverters.transitionProperty;\npropertyValueConverters['-webkit-transition-property'] = propertyValueConverters.transitionProperty;\npropertyValueConverters['-moz-transition-property'] = propertyValueConverters.transitionProperty;\n\n// this will be an object of properties that map to their corresponding rtl property (their doppelganger)\nvar propertiesToConvert = arrayToObject([['paddingLeft', 'paddingRight'], ['marginLeft', 'marginRight'], ['left', 'right'], ['borderLeft', 'borderRight'], ['borderLeftColor', 'borderRightColor'], ['borderLeftStyle', 'borderRightStyle'], ['borderLeftWidth', 'borderRightWidth'], ['borderTopLeftRadius', 'borderTopRightRadius'], ['borderBottomLeftRadius', 'borderBottomRightRadius'],\n// kebab-case versions\n['padding-left', 'padding-right'], ['margin-left', 'margin-right'], ['border-left', 'border-right'], ['border-left-color', 'border-right-color'], ['border-left-style', 'border-right-style'], ['border-left-width', 'border-right-width'], ['border-top-left-radius', 'border-top-right-radius'], ['border-bottom-left-radius', 'border-bottom-right-radius']]);\nvar propsToIgnore = ['content'];\n\n// this is the same as the propertiesToConvert except for values\nvar valuesToConvert = arrayToObject([['ltr', 'rtl'], ['left', 'right'], ['w-resize', 'e-resize'], ['sw-resize', 'se-resize'], ['nw-resize', 'ne-resize']]);\n\n// Sorry for the regex 😞, but basically thisis used to replace _every_ instance of\n// `ltr`, `rtl`, `right`, and `left` in `backgroundimage` with the corresponding opposite.\n// A situation we're accepting here:\n// url('/left/right/rtl/ltr.png') will be changed to url('/right/left/ltr/rtl.png')\n// Definite trade-offs here, but I think it's a good call.\nvar bgImgDirectionRegex = new RegExp('(^|\\\\W|_)((ltr)|(rtl)|(left)|(right))(\\\\W|_|$)', 'g');\nvar bgPosDirectionRegex = new RegExp('(left)|(right)');\n\n/**\n * converts properties and values in the CSS in JS object to their corresponding RTL values\n * @param {Object} object the CSS in JS object\n * @return {Object} the RTL converted object\n */\nfunction convert(object) {\n return Object.keys(object).reduce(function (newObj, originalKey) {\n var originalValue = object[originalKey];\n if (isString(originalValue)) {\n // you're welcome to later code 😺\n originalValue = originalValue.trim();\n }\n\n // Some properties should never be transformed\n if (includes(propsToIgnore, originalKey)) {\n newObj[originalKey] = originalValue;\n return newObj;\n }\n var _convertProperty = convertProperty(originalKey, originalValue),\n key = _convertProperty.key,\n value = _convertProperty.value;\n newObj[key] = value;\n return newObj;\n }, Array.isArray(object) ? [] : {});\n}\n\n/**\n * Converts a property and its value to the corresponding RTL key and value\n * @param {String} originalKey the original property key\n * @param {Number|String|Object} originalValue the original css property value\n * @return {Object} the new {key, value} pair\n */\nfunction convertProperty(originalKey, originalValue) {\n var isNoFlip = /\\/\\*\\s?@noflip\\s?\\*\\//.test(originalValue);\n var key = isNoFlip ? originalKey : getPropertyDoppelganger(originalKey);\n var value = isNoFlip ? originalValue : getValueDoppelganger(key, originalValue);\n return {\n key: key,\n value: value\n };\n}\n\n/**\n * This gets the RTL version of the given property if it has a corresponding RTL property\n * @param {String} property the name of the property\n * @return {String} the name of the RTL property\n */\nfunction getPropertyDoppelganger(property) {\n return propertiesToConvert[property] || property;\n}\n\n/**\n * This converts the given value to the RTL version of that value based on the key\n * @param {String} key this is the key (note: this should be the RTL version of the originalKey)\n * @param {String|Number|Object} originalValue the original css property value. If it's an object, then we'll convert that as well\n * @return {String|Number|Object} the converted value\n */\nfunction getValueDoppelganger(key, originalValue) {\n if (!canConvertValue(originalValue)) {\n return originalValue;\n }\n if (isObject(originalValue)) {\n return convert(originalValue); // recursion 🌀\n }\n\n var isNum = isNumber(originalValue);\n var isFunc = isFunction(originalValue);\n var importantlessValue = isNum || isFunc ? originalValue : originalValue.replace(/ !important.*?$/, '');\n var isImportant = !isNum && importantlessValue.length !== originalValue.length;\n var valueConverter = propertyValueConverters[key];\n var newValue;\n if (valueConverter) {\n newValue = valueConverter({\n value: importantlessValue,\n valuesToConvert: valuesToConvert,\n propertiesToConvert: propertiesToConvert,\n isRtl: true,\n bgImgDirectionRegex: bgImgDirectionRegex,\n bgPosDirectionRegex: bgPosDirectionRegex\n });\n } else {\n newValue = valuesToConvert[importantlessValue] || importantlessValue;\n }\n if (isImportant) {\n return newValue + \" !important\";\n }\n return newValue;\n}\n\nexport { propertiesToConvert as a, propsToIgnore as b, convert as c, convertProperty as d, getValueDoppelganger as e, arrayToObject as f, getPropertyDoppelganger as g, calculateNewBackgroundPosition as h, canConvertValue as i, flipTransformSign as j, flipSign as k, handleQuartetValues as l, includes as m, isBoolean as n, isFunction as o, propertyValueConverters as p, isNumber as q, isNullOrUndefined as r, isObject as s, isString as t, getValuesAsList as u, valuesToConvert as v, splitShadow as w };\n","import { c as convert } from './convert-9768a965.js';\n\n\n\nexport default convert;\n","export default function getRuleScore() {\n var ruleOrder = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var pseudo = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n\n if (ruleOrder.length === 0 || pseudo.length === 0) {\n return 0;\n }\n\n return ruleOrder.indexOf(ruleOrder.find(function (regex) {\n return pseudo.match(regex) !== null;\n })) + 1;\n}","export default function extractSupportQuery(ruleSet) {\n return ruleSet.split('{')[0].slice(9).trim();\n}","import { generateCSSSelector } from 'fela-utils';\n\nexport default function generateCacheEntry(type, className, property, value) {\n var pseudo = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : '';\n var media = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : '';\n var support = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : '';\n\n return {\n type: type,\n className: className,\n selector: generateCSSSelector(className, pseudo),\n declaration: property + ':' + value,\n pseudo: pseudo,\n media: media,\n support: support\n };\n}","var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nimport { RULE_TYPE, generateDeclarationReference } from 'fela-utils';\n\nimport generateCacheEntry from './generateCacheEntry';\n\nvar DECL_REGEX = /[.]([0-9a-z_-]+)([^{]+)?{([^:]+):([^}]+)}/gi;\n\nexport default function rehydrateRules(css) {\n var media = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var support = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';\n var cache = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n var decl = void 0;\n\n // This excellent parsing implementation was originally taken from Styletron and modified to fit Fela\n // https://github.com/rtsao/styletron/blob/master/packages/styletron-client/src/index.js#L47\n /* eslint-disable no-unused-vars,no-cond-assign */\n while (decl = DECL_REGEX.exec(css)) {\n // $FlowFixMe\n var _decl = decl,\n _decl2 = _slicedToArray(_decl, 5),\n ruleSet = _decl2[0],\n className = _decl2[1],\n pseudo = _decl2[2],\n property = _decl2[3],\n value = _decl2[4];\n /* eslint-enable */\n\n var declarationReference = generateDeclarationReference(property, value, pseudo, media, support);\n\n cache[declarationReference] = generateCacheEntry(RULE_TYPE, className, property, value, pseudo, media, support);\n }\n\n return cache;\n}","var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nimport extractSupportQuery from './extractSupportQuery';\nimport rehydrateRules from './rehydrateRules';\n\nvar SUPPORT_REGEX = /@supports[^{]+\\{([\\s\\S]+?})\\s*}/gi;\n\nexport default function rehydrateSupportRules(css) {\n var media = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var cache = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n var decl = void 0;\n\n // eslint-disable-next-line no-cond-assign\n while (decl = SUPPORT_REGEX.exec(css)) {\n var _decl = decl,\n _decl2 = _slicedToArray(_decl, 2),\n ruleSet = _decl2[0],\n cssRules = _decl2[1];\n\n var supportQuery = extractSupportQuery(ruleSet);\n rehydrateRules(cssRules, media, supportQuery, cache);\n }\n\n return cache;\n}","import { FONT_TYPE, STATIC_TYPE, KEYFRAME_TYPE, RULE_TYPE } from 'fela-utils';\n\nfunction getRuleScore(baseScore) {\n var media = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var mediaQueryOrder = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];\n\n if (media.length === 0) {\n return baseScore;\n }\n\n var mediaIndex = mediaQueryOrder.indexOf(media) + 1;\n if (mediaIndex) {\n return baseScore + mediaIndex * 2;\n }\n\n return 9999;\n}\n\nexport default function calculateNodeScore(_ref, mediaQueryOrder) {\n var type = _ref.type,\n support = _ref.support,\n media = _ref.media;\n\n switch (type) {\n case FONT_TYPE:\n return 0;\n case STATIC_TYPE:\n return 1;\n case KEYFRAME_TYPE:\n return 2;\n case RULE_TYPE:\n return getRuleScore(support ? 4 : 3, media, mediaQueryOrder);\n default:\n // TODO: warning\n return 9999;\n }\n}","var _handlers;\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport arrayReduce from 'fast-loops/lib/arrayReduce';\nimport objectReduce from 'fast-loops/lib/objectReduce';\n\nimport applyKeysInOrder from './applyKeysInOrder';\nimport generateCSSRule from './generateCSSRule';\nimport objectSortByScore from './objectSortByScore';\nimport getRuleScore from './getRuleScore';\n\nimport { RULE_TYPE, KEYFRAME_TYPE, FONT_TYPE, STATIC_TYPE } from './styleTypes';\n\nvar handlers = (_handlers = {}, _defineProperty(_handlers, RULE_TYPE, function (cluster, _ref) {\n var selector = _ref.selector,\n declaration = _ref.declaration,\n support = _ref.support,\n media = _ref.media;\n\n var cssRule = generateCSSRule(selector, declaration);\n\n if (support) {\n if (media) {\n if (!cluster.supportMediaRules[media]) {\n cluster.supportMediaRules[media] = {};\n }\n\n if (!cluster.supportMediaRules[media][support]) {\n cluster.supportMediaRules[media][support] = '';\n }\n\n cluster.supportMediaRules[media][support] += cssRule;\n } else {\n if (!cluster.supportRules[support]) {\n cluster.supportRules[support] = '';\n }\n\n cluster.supportRules[support] += cssRule;\n }\n } else if (media) {\n if (!cluster.mediaRules[media]) {\n cluster.mediaRules[media] = '';\n }\n\n cluster.mediaRules[media] += cssRule;\n } else {\n cluster.rules += cssRule;\n }\n}), _defineProperty(_handlers, FONT_TYPE, function (cluster, _ref2) {\n var fontFace = _ref2.fontFace;\n\n cluster.fontFaces += fontFace;\n}), _defineProperty(_handlers, KEYFRAME_TYPE, function (cluster, _ref3) {\n var keyframe = _ref3.keyframe;\n\n cluster.keyframes += keyframe;\n}), _defineProperty(_handlers, STATIC_TYPE, function (cluster, _ref4) {\n var css = _ref4.css,\n selector = _ref4.selector;\n\n if (selector) {\n cluster.statics += generateCSSRule(selector, css);\n } else {\n cluster.statics += css;\n }\n}), _handlers);\n\nexport default function clusterCache(cache) {\n var mediaQueryOrder = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n var supportQueryOrder = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];\n var ruleOrder = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];\n\n var sortedCache = objectSortByScore(cache, function (value) {\n return getRuleScore(ruleOrder, value.pseudo);\n });\n\n var mediaRules = applyKeysInOrder(mediaQueryOrder);\n var supportRules = applyKeysInOrder(supportQueryOrder);\n\n var supportMediaRules = arrayReduce(mediaQueryOrder, function (resultSupportRules, media) {\n resultSupportRules[media] = applyKeysInOrder(supportQueryOrder);\n return resultSupportRules;\n }, applyKeysInOrder(mediaQueryOrder, {}));\n\n return objectReduce(sortedCache, function (cluster, entry) {\n var handler = handlers[entry.type];\n\n if (handler) {\n handler(cluster, entry);\n }\n\n return cluster;\n }, {\n mediaRules: mediaRules,\n supportRules: supportRules,\n supportMediaRules: supportMediaRules,\n fontFaces: '',\n statics: '',\n keyframes: '',\n rules: ''\n });\n}","export default function generateCSSRule(selector, cssDeclaration) {\n return selector + \"{\" + cssDeclaration + \"}\";\n}","import calculateNodeScore from './calculateNodeScore';\nimport queryNode from './queryNode';\nimport createNode from './createNode';\n\nfunction getReference(_ref) {\n var type = _ref.type,\n _ref$media = _ref.media,\n media = _ref$media === undefined ? '' : _ref$media,\n _ref$support = _ref.support,\n support = _ref$support === undefined ? '' : _ref$support;\n\n return type + media + support;\n}\n\nexport default function getNodeFromCache(attributes, renderer) {\n var targetDocument = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : document;\n\n var reference = getReference(attributes);\n\n if (!renderer.nodes[reference]) {\n var score = calculateNodeScore(attributes, renderer.mediaQueryOrder);\n var node = queryNode(attributes, targetDocument) || createNode(renderer.nodes, score, attributes, targetDocument);\n\n renderer.nodes[reference] = {\n node: node,\n score: score\n };\n }\n\n return renderer.nodes[reference].node;\n}","\n\nexport default function queryNode(_ref) {\n var type = _ref.type,\n media = _ref.media,\n support = _ref.support;\n var targetDocument = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : document;\n\n var mediaQuery = media ? '[media=\"' + media + '\"]' : ':not([media])';\n var supportQuery = support ? '[data-fela-support=\"true\"]' : ':not([data-fela-support=\"true\"])';\n\n return targetDocument.querySelector('[data-fela-type=\"' + type + '\"]' + supportQuery + mediaQuery);\n}","import objectReduce from 'fast-loops/lib/objectReduce';\n\nexport default function createNode(nodes, score, _ref) {\n var type = _ref.type,\n media = _ref.media,\n support = _ref.support;\n var targetDocument = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : document;\n\n var head = targetDocument.head || {};\n\n var node = targetDocument.createElement('style');\n node.setAttribute('data-fela-type', type);\n node.type = 'text/css';\n\n if (support) {\n node.setAttribute('data-fela-support', 'true');\n }\n\n if (media) {\n node.media = media;\n }\n\n // we calculate the most next bigger style node\n // to correctly inject the node just before it\n var moreSpecificReference = objectReduce(nodes, function (closest, currentNode, reference) {\n return currentNode.score > score && (!closest || nodes[closest].score > currentNode.score) ? reference : closest;\n }, undefined);\n\n if (moreSpecificReference) {\n head.insertBefore(node, nodes[moreSpecificReference].node);\n } else {\n head.appendChild(node);\n }\n\n return node;\n}","export default function generateCSSSupportRule(support, cssRules) {\n return \"@supports \" + support + \"{\" + cssRules + \"}\";\n}","import arrayReduce from 'fast-loops/lib/arrayReduce';\n\nexport default function applyKeysInOrder(order) {\n var initialValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n\n return arrayReduce(order, function (mediaMap, query) {\n mediaMap[query] = initialValue;\n return mediaMap;\n }, {});\n}","function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nexport default function insertAtIndex(arr, el, index) {\n return [].concat(_toConsumableArray(arr.slice(0, index)), [el], _toConsumableArray(arr.slice(index, arr.length)));\n}","function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nimport arrayReduce from 'fast-loops/lib/arrayReduce';\nimport objectReduce from 'fast-loops/lib/objectReduce';\n\nimport insertAtIndex from './insertAtIndex';\n\n// TODO: we can further improve this one\nexport default function objectSortByScore(obj, getScore) {\n var sortedKeys = objectReduce(obj, function (resultSortedKeys, value, key) {\n var index = resultSortedKeys.findIndex(function (el) {\n return getScore(obj[el], el) > getScore(value, key);\n });\n\n if (index !== -1) {\n return insertAtIndex(resultSortedKeys, key, index);\n }\n\n return [].concat(_toConsumableArray(resultSortedKeys), [key]);\n }, []);\n\n return arrayReduce(sortedKeys, function (sortedObj, key) {\n sortedObj[key] = obj[key];\n return sortedObj;\n }, {});\n}","import { FONT_TYPE, STATIC_TYPE, KEYFRAME_TYPE, RULE_TYPE } from './styleTypes';\n\nexport default {\n fontFaces: FONT_TYPE,\n statics: STATIC_TYPE,\n keyframes: KEYFRAME_TYPE,\n rules: RULE_TYPE\n};","import objectReduce from 'fast-loops/lib/objectReduce';\n\nimport generateCSSSupportRule from './generateCSSSupportRule';\n\nexport default function cssifySupportRules(supportRules) {\n return objectReduce(supportRules, function (css, cssRules, support) {\n if (cssRules.length > 0) {\n css += generateCSSSupportRule(support, cssRules);\n }\n\n return css;\n }, '');\n}","\n\nvar SELECTOR_PREFIX_REGEXP = /^[a-z0-9_-]*$/gi;\n\n\nexport default function getRehydrationIndex(renderer) {\n if (renderer.selectorPrefix.length === 0 || renderer.selectorPrefix.match(SELECTOR_PREFIX_REGEXP) !== null) {\n return renderer.uniqueRuleIdentifier;\n }\n\n return -1;\n}","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nimport arrayReduce from 'fast-loops/lib/arrayReduce';\nimport objectReduce from 'fast-loops/lib/objectReduce';\nimport { clusterCache, cssifySupportRules, sheetMap, RULE_TYPE, KEYFRAME_TYPE, FONT_TYPE, STATIC_TYPE } from 'fela-utils';\n\nimport getRehydrationIndex from './getRehydrationIndex';\n\nexport default function renderToSheetList(renderer) {\n var cacheCluster = clusterCache(renderer.cache, renderer.mediaQueryOrder, renderer.supportQueryOrder, renderer.ruleOrder);\n\n var rehydrationIndex = getRehydrationIndex(renderer);\n\n var sheetList = objectReduce(sheetMap, function (list, type, key) {\n if (cacheCluster[key].length > 0) {\n list.push({\n css: cacheCluster[key],\n rehydration: rehydrationIndex,\n type: type\n });\n }\n\n return list;\n }, []);\n\n var support = cssifySupportRules(cacheCluster.supportRules);\n\n if (support) {\n sheetList.push({\n css: support,\n type: RULE_TYPE,\n rehydration: rehydrationIndex,\n support: true\n });\n }\n\n var mediaKeys = Object.keys(_extends({}, cacheCluster.supportMediaRules, cacheCluster.mediaRules));\n\n return arrayReduce(mediaKeys, function (list, media) {\n // basic media query rules\n if (cacheCluster.mediaRules[media] && cacheCluster.mediaRules[media].length > 0) {\n list.push({\n css: cacheCluster.mediaRules[media],\n type: RULE_TYPE,\n rehydration: rehydrationIndex,\n media: media\n });\n }\n\n // support media rules\n if (cacheCluster.supportMediaRules[media]) {\n var mediaSupport = cssifySupportRules(cacheCluster.supportMediaRules[media]);\n\n if (mediaSupport.length > 0) {\n list.push({\n css: mediaSupport,\n type: RULE_TYPE,\n rehydration: rehydrationIndex,\n support: true,\n media: media\n });\n }\n }\n\n return list;\n }, sheetList);\n}","import { generateCSSRule, generateCSSSupportRule, getRuleScore } from 'fela-utils';\n\nimport insertRuleInDevMode from './insertRuleInDevMode';\n\nexport default function insertRule(_ref, renderer, node) {\n var selector = _ref.selector,\n declaration = _ref.declaration,\n support = _ref.support,\n media = _ref.media,\n pseudo = _ref.pseudo;\n\n var nodeReference = media + support;\n // only use insertRule in production as browser devtools might have\n // weird behavior if used together with insertRule at runtime\n if (renderer.devMode) {\n insertRuleInDevMode(renderer, node);\n return;\n }\n\n try {\n var score = getRuleScore(renderer.ruleOrder, pseudo);\n var cssRules = node.sheet.cssRules;\n\n\n var index = cssRules.length;\n\n // This heavily optimises the amount of rule iterations we need\n // due to most rules having a score=0 anyways\n if (score === 0) {\n if (renderer.scoreIndex[nodeReference] === undefined) {\n index = 0;\n } else {\n index = renderer.scoreIndex[nodeReference] + 1;\n }\n } else {\n // we start iterating from the last score=0 entry\n // to correctly inject pseudo classes etc.\n var startIndex = renderer.scoreIndex[nodeReference] || 0;\n\n for (var i = startIndex, len = cssRules.length; i < len; ++i) {\n if (cssRules[i].score > score) {\n index = i;\n break;\n }\n }\n }\n\n var cssRule = generateCSSRule(selector, declaration);\n\n if (support.length > 0) {\n var cssSupportRule = generateCSSSupportRule(support, cssRule);\n node.sheet.insertRule(cssSupportRule, index);\n } else {\n node.sheet.insertRule(cssRule, index);\n }\n\n if (score === 0) {\n renderer.scoreIndex[nodeReference] = index;\n }\n\n cssRules[index].score = score;\n } catch (e) {\n // We're disabled these warnings due to false-positive errors with browser prefixes\n // See https://github.com/rofrischmann/fela/issues/634\n // console.warn(\n // `An error occurred while inserting the rules into DOM.\\n`,\n // declaration.replace(/;/g, ';\\n'),\n // e\n // )\n }\n}","import { RULE_TYPE } from 'fela-utils';\n\nimport renderToSheetList from '../../server/renderToSheetList';\n\n// This method is quite hacky and in-performant, but yet\n// the most simple way to respect rule sorting even in devMode\nexport default function updateNodeInDevMode(renderer, node) {\n var sheetList = renderToSheetList(renderer);\n\n var media = node.getAttribute('media') || undefined;\n var support = node.getAttribute('data-fela-support') || undefined;\n\n var currentSheet = sheetList.find(function (sheet) {\n return sheet.type === RULE_TYPE && sheet.media === media && sheet.support === support;\n });\n\n if (currentSheet) {\n node.textContent = currentSheet.css;\n }\n}","import objectEach from 'fast-loops/lib/objectEach';\n\nimport createSubscription from './connection/createSubscription';\n\nexport default function render(renderer, targetDocument) {\n if (!renderer.updateSubscription) {\n renderer.scoreIndex = {};\n renderer.nodes = {};\n\n renderer.updateSubscription = createSubscription(renderer, targetDocument);\n renderer.subscribe(renderer.updateSubscription);\n\n // simulate rendering to ensure all styles rendered prior to\n // calling FelaDOM.render are correctly injected as well\n objectEach(renderer.cache, renderer._emitChange);\n }\n}","\n/* eslint-disable consistent-return */\nimport objectEach from 'fast-loops/lib/objectEach';\nimport { RULE_TYPE, KEYFRAME_TYPE, FONT_TYPE, STATIC_TYPE, CLEAR_TYPE, generateCSSRule } from 'fela-utils';\n\nimport getNodeFromCache from './getNodeFromCache';\nimport insertRule from './insertRule';\n\nexport default function createSubscription(renderer) {\n var targetDocument = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : document;\n\n return function (change) {\n if (change.type === CLEAR_TYPE) {\n objectEach(renderer.nodes, function (_ref) {\n var node = _ref.node;\n return node.parentNode.removeChild(node);\n });\n\n renderer.nodes = {};\n renderer.scoreIndex = {};\n return;\n }\n\n var node = getNodeFromCache(change, renderer, targetDocument);\n\n switch (change.type) {\n case KEYFRAME_TYPE:\n node.textContent += change.keyframe;\n break;\n case FONT_TYPE:\n node.textContent += change.fontFace;\n break;\n case STATIC_TYPE:\n node.textContent += change.selector ? generateCSSRule(change.selector, change.css) : change.css;\n break;\n case RULE_TYPE:\n insertRule(change, renderer, node);\n break;\n default:\n // TODO: warning\n break;\n }\n };\n}","import arrayEach from 'fast-loops/lib/arrayEach';\nimport { RULE_TYPE, getRuleScore } from 'fela-utils';\n\nimport rehydrateSupportRules from './rehydration/rehydrateSupportRules';\nimport rehydrateRules from './rehydration/rehydrateRules';\nimport calculateNodeScore from './connection/calculateNodeScore';\n\nimport render from './render';\n\nvar CLASSNAME_REGEX = /[.][a-z0-9_-]*/gi;\n\n// rehydration (WIP)\n// TODO: static, keyframe, font\nexport default function rehydrate(renderer) {\n var targetDocument = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : document;\n\n render(renderer, targetDocument);\n\n arrayEach(targetDocument.querySelectorAll('[data-fela-type]'), function (node) {\n var rehydrationAttribute = node.getAttribute('data-fela-rehydration') || -1;\n var rehydrationIndex = renderer.uniqueRuleIdentifier || parseInt(rehydrationAttribute, 10);\n\n // skip rehydration if no rehydration index is set\n // this index is set to -1 if something blocks rehydration\n if (rehydrationIndex !== -1) {\n var type = node.getAttribute('data-fela-type') || '';\n var media = node.getAttribute('media') || '';\n var support = node.getAttribute('data-fela-support') || '';\n var css = node.textContent;\n\n renderer.uniqueRuleIdentifier = rehydrationIndex;\n\n var reference = type + media + support;\n renderer.nodes[reference] = {\n score: calculateNodeScore({ type: type, media: media, support: support }, renderer.mediaQueryOrder),\n node: node\n };\n\n if (type === RULE_TYPE) {\n if (support) {\n rehydrateSupportRules(css, media, renderer.cache);\n } else {\n rehydrateRules(css, media, '', renderer.cache);\n }\n\n // On Safari, style sheets with IE-specific media queries\n // can yield null for node.sheet\n // https://github.com/rofrischmann/fela/issues/431#issuecomment-423239591\n if (node.sheet && node.sheet.cssRules) {\n var nodeReference = media + support;\n\n arrayEach(node.sheet.cssRules, function (rule, index) {\n var selectorText = rule.conditionText ? rule.cssRules[0].selectorText : rule.selectorText;\n\n var score = getRuleScore(renderer.ruleOrder, selectorText.split(CLASSNAME_REGEX)[1]);\n\n if (score === 0) {\n renderer.scoreIndex[nodeReference] = index;\n }\n\n rule.score = score;\n });\n }\n }\n }\n });\n}","var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nimport { render, rehydrate } from 'fela-dom';\nimport objectEach from 'fast-loops/lib/objectEach';\n\nfunction hasDOM(renderer, targetDocument) {\n // ensure we're on a browser by using document since window is defined in e.g. React Native\n // see https://github.com/robinweser/fela/issues/736\n if (typeof document === 'undefined') {\n return false;\n }\n\n var doc = targetDocument || document;\n\n return renderer && !renderer.isNativeRenderer && doc && doc.createElement;\n}\n\nfunction hasServerRenderedStyle() {\n var targetDocument = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : document;\n\n return targetDocument.querySelectorAll('[data-fela-type]').length > 0;\n}\n\nexport default function RendererProviderFactory(BaseComponent, RendererContext, createElement, renderChildren, statics) {\n var RendererProvider = function (_BaseComponent) {\n _inherits(RendererProvider, _BaseComponent);\n\n function RendererProvider(props, context) {\n _classCallCheck(this, RendererProvider);\n\n var _this = _possibleConstructorReturn(this, (RendererProvider.__proto__ || Object.getPrototypeOf(RendererProvider)).call(this, props, context));\n\n _this._renderStyle();\n return _this;\n }\n\n _createClass(RendererProvider, [{\n key: 'componentDidUpdate',\n value: function componentDidUpdate(prevProps) {\n // TODO: we might add a shallow compare to avoid unnecessary rerenders\n this._renderStyle();\n }\n }, {\n key: '_renderStyle',\n value: function _renderStyle() {\n var _props = this.props,\n renderer = _props.renderer,\n shouldRehydrate = _props.rehydrate,\n targetDocument = _props.targetDocument;\n\n\n if (hasDOM(renderer, targetDocument)) {\n if (shouldRehydrate && hasServerRenderedStyle(targetDocument)) {\n rehydrate(renderer, targetDocument);\n } else {\n render(renderer, targetDocument);\n }\n }\n }\n }, {\n key: 'render',\n value: function render() {\n return createElement(RendererContext.Provider, {\n value: this.props.renderer\n }, renderChildren(this.props.children));\n }\n }]);\n\n return RendererProvider;\n }(BaseComponent);\n\n if (statics) {\n objectEach(statics, function (value, key) {\n RendererProvider[key] = value;\n });\n }\n\n return RendererProvider;\n}","import { createContext } from 'react';\n\n// $FlowFixMe\nexport var RendererContext = createContext();\n\n// $FlowFixMe\nexport var ThemeContext = createContext();","import { Component, Children, createElement } from 'react';\nimport { RendererProviderFactory } from 'fela-bindings';\nimport PropTypes from 'prop-types';\n\nimport { RendererContext } from './context';\n\nexport default RendererProviderFactory(Component, RendererContext, createElement, function (children) {\n return Children.only(children);\n}, {\n propTypes: {\n renderer: PropTypes.object.isRequired,\n rehydrate: PropTypes.bool.isRequired\n },\n defaultProps: {\n rehydrate: true\n }\n});","var animationProps = ['animation', 'animationName', 'animationDuration', 'animationTimingFunction', 'animationDelay', 'animationIterationCount', 'animationDirection', 'animationFillMode', 'animationPlayState'];\n\nfunction isPlainObject(val) {\n return val != null && typeof val === 'object' && Array.isArray(val) === false;\n}\n/**\n * Fela plugin for disabling animations. The animations are disabled or not based on the\n * props' disableAnimations param. If the value of the prop is true, all animation related\n * styles are removed.\n *\n * Caution! Infinite recursion is possible in case if style object has links to self in the props\n * tree.\n */\n\n\nexport var felaDisableAnimationsPlugin = function felaDisableAnimationsPlugin(styles, type, renderer, props) {\n if (props && props.disableAnimations && type === 'RULE') {\n return Object.keys(styles).reduce(function (acc, cssPropertyName) {\n var _Object$assign2;\n\n var cssPropertyValue = styles[cssPropertyName];\n\n if (animationProps.indexOf(cssPropertyName) !== -1) {\n return acc;\n }\n\n if (isPlainObject(cssPropertyValue)) {\n var _Object$assign;\n\n return Object.assign({}, acc, (_Object$assign = {}, _Object$assign[cssPropertyName] = felaDisableAnimationsPlugin(cssPropertyValue, type, renderer, props), _Object$assign));\n }\n\n return Object.assign({}, acc, (_Object$assign2 = {}, _Object$assign2[cssPropertyName] = styles[cssPropertyName], _Object$assign2));\n }, {});\n }\n\n return styles;\n};\n//# sourceMappingURL=felaDisableAnimationsPlugin.js.map\n","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nvar LENGTH_UNIT = /(em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|q|in|pt|pc|px|dpi|dpcm|dppx|%|auto)$/i;\nvar CALC = /^(calc\\()/i;\nvar VAR = /^(var\\()/i;\nvar BORDER_STYLE = /^(dashed|dotted|double|groove|hidden|inset|none|outset|ridge|solid)$/i;\nvar BORDER_WIDTH = /^(thick|medium|think)$/i;\nvar PURE_NUMBER = /^\\d+$/;\nvar GLOBAL_VALUES = ['inherit', 'initial', 'unset', 'revert', 'revert-layer'];\n\nfunction splitShorthand(value) {\n var values = [''];\n var openParensCount = 0;\n var trimmedValue = value.trim();\n\n for (var index = 0; index < trimmedValue.length; index += 1) {\n if (trimmedValue.charAt(index) === ' ' && openParensCount === 0) {\n // Add new value\n values.push('');\n } else {\n // Add the current character to the current value\n values[values.length - 1] = values[values.length - 1] + trimmedValue.charAt(index);\n } // Keep track of the number of parentheses that are yet to be closed.\n // This is done to avoid splitting at whitespaces within CSS functions.\n // E.g.: `calc(1px + 1em)`\n\n\n if (trimmedValue.charAt(index) === '(') {\n openParensCount++;\n } else if (trimmedValue.charAt(index) === ')') {\n openParensCount--;\n }\n }\n\n return values;\n}\n\nfunction parseBorder(value, resolve) {\n var values = splitShorthand(value);\n var longhands = {};\n values.forEach(function (val) {\n if (val.match(BORDER_STYLE) !== null) {\n longhands[resolve('Style')] = val;\n } else if (val.match(BORDER_WIDTH) !== null || val.match(LENGTH_UNIT) !== null || val.match(CALC) !== null || val === '0') {\n longhands[resolve('Width')] = val;\n } else {\n longhands[resolve('Color')] = val;\n }\n });\n return longhands;\n}\n\nfunction parseCircular(value, resolve) {\n var _ref;\n\n var _splitShorthand = splitShorthand(value),\n _splitShorthand2 = _slicedToArray(_splitShorthand, 4),\n Top = _splitShorthand2[0],\n _splitShorthand2$ = _splitShorthand2[1],\n Right = _splitShorthand2$ === void 0 ? Top : _splitShorthand2$,\n _splitShorthand2$2 = _splitShorthand2[2],\n Bottom = _splitShorthand2$2 === void 0 ? Top : _splitShorthand2$2,\n _splitShorthand2$3 = _splitShorthand2[3],\n Left = _splitShorthand2$3 === void 0 ? Right : _splitShorthand2$3;\n\n return _ref = {}, _defineProperty(_ref, resolve('Top'), Top), _defineProperty(_ref, resolve('Right'), Right), _defineProperty(_ref, resolve('Bottom'), Bottom), _defineProperty(_ref, resolve('Left'), Left), _ref;\n}\n\nfunction parseFlowRelativePosition(value, resolve) {\n var _ref2;\n\n var _splitShorthand3 = splitShorthand(value),\n _splitShorthand4 = _slicedToArray(_splitShorthand3, 2),\n Start = _splitShorthand4[0],\n _splitShorthand4$ = _splitShorthand4[1],\n End = _splitShorthand4$ === void 0 ? Start : _splitShorthand4$;\n\n return _ref2 = {}, _defineProperty(_ref2, resolve('Start'), Start), _defineProperty(_ref2, resolve('End'), End), _ref2;\n}\n\nfunction groupBy(values, divider) {\n var groups = [[]];\n values.forEach(function (val) {\n if (val === divider) {\n groups.push([]);\n } else {\n groups[groups.length - 1].push(val);\n }\n });\n return groups;\n}\n\nfunction parseBorderRadius(value) {\n var _groupBy = groupBy(splitShorthand(value), '/'),\n _groupBy2 = _slicedToArray(_groupBy, 2),\n _groupBy2$ = _groupBy2[0],\n first = _groupBy2$ === void 0 ? [] : _groupBy2$,\n _groupBy2$2 = _groupBy2[1],\n second = _groupBy2$2 === void 0 ? [] : _groupBy2$2;\n\n var _first = _slicedToArray(first, 4),\n Top = _first[0],\n _first$ = _first[1],\n Right = _first$ === void 0 ? Top : _first$,\n _first$2 = _first[2],\n Bottom = _first$2 === void 0 ? Top : _first$2,\n _first$3 = _first[3],\n Left = _first$3 === void 0 ? Right : _first$3;\n\n var _second = _slicedToArray(second, 4),\n Top2 = _second[0],\n _second$ = _second[1],\n Right2 = _second$ === void 0 ? Top2 : _second$,\n _second$2 = _second[2],\n Bottom2 = _second$2 === void 0 ? Top2 : _second$2,\n _second$3 = _second[3],\n Left2 = _second$3 === void 0 ? Right2 : _second$3;\n\n return {\n borderTopLeftRadius: [Top, Top2].filter(Boolean).join(' '),\n borderTopRightRadius: [Right, Right2].filter(Boolean).join(' '),\n borderBottomRightRadius: [Bottom, Bottom2].filter(Boolean).join(' '),\n borderBottomLeftRadius: [Left, Left2].filter(Boolean).join(' ')\n };\n}\n\nvar textDecorationLineValues = new Set(GLOBAL_VALUES.concat(['none', 'underline', 'overline', 'line-through', 'blink']));\nvar textDecorationStyleValues = new Set(GLOBAL_VALUES.concat(['solid', 'double', 'dotted', 'dashed', 'wavy']));\n\nfunction parseTextDecoration(value) {\n // https://www.w3.org/TR/css-text-decor-3/#text-decoration-property\n // https://w3c.github.io/csswg-drafts/css-text-decor/#text-decoration-property\n var values = splitShorthand(value);\n\n if (values.length === 1) {\n // A text-decoration declaration that omits both the text-decoration-color and text-decoration-style\n // values is backwards-compatible with CSS Levels 1 and 2.\n if (values[0] === 'initial') {\n return {\n textDecorationLine: 'none'\n };\n }\n\n return {\n textDecorationLine: values[0]\n };\n }\n\n var _values = _slicedToArray(values, 3),\n left = _values[0],\n middle = _values[1],\n right = _values[2];\n\n var lineValue = [];\n var colorValue = '';\n var styleValue = '';\n\n var extractValues = function extractValues(v) {\n if (v) {\n if (textDecorationLineValues.has(v)) {\n if (lineValue.length === 0 || !lineValue.includes(v)) {\n lineValue.push(v);\n } else {\n // Repeated line value, invalid, bail out!\n return true;\n }\n } else if (textDecorationStyleValues.has(v)) {\n styleValue = v;\n } else {\n colorValue = v;\n }\n } // Valid, continue\n\n\n return false;\n };\n\n if (extractValues(left) || extractValues(middle) || extractValues(right)) {\n // Invalid, ignore\n return {};\n }\n\n lineValue.sort(); // Ensure the sorting is always in the same order.\n\n var textDecorationLine = lineValue.length ? lineValue.join(' ') : 'none';\n return {\n textDecorationLine: textDecorationLine,\n textDecorationStyle: styleValue || 'solid',\n textDecorationColor: colorValue || 'currentColor'\n };\n}\n\nvar circularExpand = {\n borderWidth: function borderWidth(key) {\n return 'border' + key + 'Width';\n },\n borderColor: function borderColor(key) {\n return 'border' + key + 'Color';\n },\n borderStyle: function borderStyle(key) {\n return 'border' + key + 'Style';\n },\n padding: function padding(key) {\n return 'padding' + key;\n },\n margin: function margin(key) {\n return 'margin' + key;\n },\n scrollPadding: function scrollPadding(key) {\n return 'scrollPadding' + key;\n },\n scrollMargin: function scrollMargin(key) {\n return 'scrollMargin' + key;\n }\n};\nvar borderExpand = {\n borderLeft: function borderLeft(key) {\n return 'borderLeft' + key;\n },\n borderTop: function borderTop(key) {\n return 'borderTop' + key;\n },\n borderRight: function borderRight(key) {\n return 'borderRight' + key;\n },\n borderBottom: function borderBottom(key) {\n return 'borderBottom' + key;\n },\n outline: function outline(key) {\n return 'outline' + key;\n }\n};\nvar flowRelativePositionExpand = {\n paddingInline: function paddingInline(key) {\n return 'paddingInline' + key;\n },\n paddingBlock: function paddingBlock(key) {\n return 'paddingBlock' + key;\n },\n marginInline: function marginInline(key) {\n return 'marginInline' + key;\n },\n marginBlock: function marginBlock(key) {\n return 'marginBlock' + key;\n }\n};\n\nfunction parseFlex(value) {\n var values = ['']; // https://developer.mozilla.org/en-US/docs/Web/CSS/flex#values\n\n switch (value.trim()) {\n case 'initial':\n // \"flex: initial\" is equivalent to \"flex: 0 1 auto\"\n values = splitShorthand('0 1 auto');\n break;\n\n case 'auto':\n // \"flex: auto\" is equivalent to \"flex: 1 1 auto\"\n values = splitShorthand('1 1 auto');\n break;\n\n case 'none':\n // \"flex: none\" is equivalent to \"flex: 0 0 auto\"\n values = splitShorthand('0 0 auto');\n break;\n\n default:\n values = splitShorthand(value);\n break;\n } // https://developer.mozilla.org/en-US/docs/Web/CSS/flex#syntax\n // https://www.w3.org/TR/css-flexbox-1/\n // Expand one-value syntax to three-value syntax\n\n\n if (values.length === 1) {\n // One-value syntax\n var val = values[0];\n\n if (PURE_NUMBER.test(val)) {\n // flex value\n values = splitShorthand(val + ' 1 0');\n } else {\n // It is a width value (flex-basis)\n values = splitShorthand('1 1 ' + val);\n }\n }\n\n var longhands = {};\n\n if (values.length === 2) {\n // Two-value syntax\n longhands.flexGrow = values[0];\n\n if (values[1].match(PURE_NUMBER) !== null) {\n // The second value appears to be a shrink factor\n longhands.flexShrink = values[1];\n } else {\n // The second value appears to be width\n longhands.flexBasis = values[1];\n }\n } else {\n // Three-value syntax\n longhands.flexGrow = values[0];\n longhands.flexShrink = values[1];\n longhands.flexBasis = values[2];\n } // According to the spec: Authors are encouraged to control flexibility using the flex shorthand rather than with its longhand\n // properties directly, as the shorthand correctly resets any unspecified components to accommodate common uses.\n //\n // Thus in order to maintain the correct behavior, we have to reset any unspecified longhand properties to their default values.\n // Add default value, initialized value is \"0 1 auto\"\n\n\n if (typeof longhands.flexGrow === 'undefined') {\n longhands.flexGrow = '0';\n }\n\n if (typeof longhands.flexShrink === 'undefined') {\n longhands.flexShrink = '1';\n }\n\n if (typeof longhands.flexBasis === 'undefined') {\n longhands.flexBasis = 'auto';\n }\n\n return longhands;\n}\n\nfunction parseOverflow(value) {\n // https://www.w3.org/TR/css-overflow-3/#overflow-properties\n // The overflow property is a shorthand property that sets the specified values of overflow-x\n // and overflow-y in that order. If the second value is omitted, it is copied from the first.\n var _splitShorthand5 = splitShorthand(value),\n _splitShorthand6 = _slicedToArray(_splitShorthand5, 2),\n overflowX = _splitShorthand6[0],\n _splitShorthand6$ = _splitShorthand6[1],\n overflowY = _splitShorthand6$ === void 0 ? overflowX : _splitShorthand6$;\n\n return {\n overflowX: overflowX,\n overflowY: overflowY\n };\n}\n\nfunction parseGap(value) {\n // https://w3c.github.io/csswg-drafts/css-align/#gap-shorthand\n var _splitShorthand7 = splitShorthand(value),\n _splitShorthand8 = _slicedToArray(_splitShorthand7, 2),\n rowGap = _splitShorthand8[0],\n _splitShorthand8$ = _splitShorthand8[1],\n columnGap = _splitShorthand8$ === void 0 ? rowGap : _splitShorthand8$; // This property is a shorthand that sets row-gap and column-gap in one declaration. If <'column-gap'> is omitted, it’s set to the same value as <'row-gap'>.\n\n\n return {\n rowGap: rowGap,\n columnGap: columnGap\n };\n}\n\nvar flexDirectionValues = new Set(GLOBAL_VALUES.concat(['row', 'row-reverse', 'column', 'column-reverse']));\nvar flexWrapValues = new Set(GLOBAL_VALUES.concat(['nowrap', 'wrap', 'reverse']));\n\nfunction parseFlexFlow(value) {\n // https://w3c.github.io/csswg-drafts/css-flexbox/#flex-flow-property\n // initial value is specified individually for each of the flex-direction and flex-wrap properties\n var flexDirection = '';\n var flexWrap = '';\n\n var _splitShorthand9 = splitShorthand(value),\n _splitShorthand10 = _slicedToArray(_splitShorthand9, 2),\n left = _splitShorthand10[0],\n right = _splitShorthand10[1];\n\n var extractFlexFlowValue = function extractFlexFlowValue(value) {\n if (value) {\n if (flexDirectionValues.has(value)) {\n if (flexDirection !== '') {\n // flex-direction has already been set, original value invalid\n return true;\n }\n\n flexDirection = value;\n } else if (flexWrapValues.has(value)) {\n if (flexWrap !== '') {\n // flex-wrap has already been set, original value invalid\n return true;\n }\n\n flexWrap = value;\n } else {\n // invalid value\n return true;\n }\n }\n\n return false;\n };\n\n if (extractFlexFlowValue(left) || extractFlexFlowValue(right)) {\n // invalid value, ignore both values\n return {};\n }\n\n return {\n // only fallback to default value when original value is valid\n flexDirection: flexDirection || 'row',\n flexWrap: flexWrap || 'nowrap'\n };\n} // https://w3c.github.io/csswg-drafts/css-align/#place-content\n\n\nfunction parsePlaceContent(value) {\n // The first value is assigned to align-content.\n // The second value is assigned to justify-content\n var _splitShorthand11 = splitShorthand(value),\n _splitShorthand12 = _slicedToArray(_splitShorthand11, 2),\n alignContent = _splitShorthand12[0],\n justifyContent = _splitShorthand12[1];\n\n if (!justifyContent && alignContent) {\n // if omitted, ...\n if (alignContent === 'left' || alignContent === 'right' || alignContent === 'first' || alignContent === 'last') {\n // invalid value, ignore both values\n return {};\n }\n\n if (alignContent === 'baseline') {\n // ..., unless that value is a in which case it is defaulted to start.\n justifyContent = 'start';\n } else {\n // ..., it is copied from the first value\n justifyContent = alignContent;\n }\n }\n\n return {\n alignContent: alignContent,\n justifyContent: justifyContent\n };\n} // https://w3c.github.io/csswg-drafts/css-align/#place-items-property\n\n\nfunction parsePlaceItems(value) {\n // This shorthand property sets both the align-items and justify-items properties in a single declaration. The first value is assigned to align-items. The second value is assigned to justify-items; if omitted, it is copied from the first value.\n var _splitShorthand13 = splitShorthand(value),\n _splitShorthand14 = _slicedToArray(_splitShorthand13, 2),\n alignItems = _splitShorthand14[0],\n _splitShorthand14$ = _splitShorthand14[1],\n justifyItems = _splitShorthand14$ === void 0 ? alignItems : _splitShorthand14$;\n\n return {\n alignItems: alignItems,\n justifyItems: justifyItems\n };\n}\n\nfunction parsePlaceSelf(value) {\n // https://w3c.github.io/csswg-drafts/css-align/#place-self-property\n var _splitShorthand15 = splitShorthand(value),\n _splitShorthand16 = _slicedToArray(_splitShorthand15, 2),\n alignSelf = _splitShorthand16[0],\n _splitShorthand16$ = _splitShorthand16[1],\n justifySelf = _splitShorthand16$ === void 0 ? alignSelf : _splitShorthand16$;\n\n return {\n alignSelf: alignSelf,\n justifySelf: justifySelf\n };\n} // https://w3c.github.io/csswg-drafts/css-transitions/#transition-shorthand-property\n// Since transition can accept multiple values, we will run extraction on each value\n\n\nvar extractTransition = function extractTransition(value) {\n var values = splitShorthand(value);\n\n if (values.length === 1) {\n if (GLOBAL_VALUES.includes(values[0])) {\n return {\n transitionProperty: values[0],\n transitionDuration: values[0],\n transitionDelay: values[0],\n transitionTimingFunction: values[0]\n };\n } else if (values[0] === 'all' || values[0] === 'none') {\n return {\n transitionProperty: values[0],\n transitionDuration: '0s',\n // https://w3c.github.io/csswg-drafts/css-transitions/#transition-duration-property\n transitionDelay: '0s',\n // https://w3c.github.io/csswg-drafts/css-transitions/#transition-delay-property\n transitionTimingFunction: 'ease' // https://w3c.github.io/csswg-drafts/css-transitions/#transition-timing-function-property\n\n };\n }\n } // Note that order is important within the items in this property: the first value that can be parsed as a time is assigned to the transition-duration, and the second value that can be parsed as a time is assigned to transition-delay.\n\n\n var _values2 = _slicedToArray(values, 4),\n transitionProperty = _values2[0],\n _values2$ = _values2[1],\n transitionDuration = _values2$ === void 0 ? '0s' : _values2$,\n _values2$2 = _values2[2],\n transitionDelay = _values2$2 === void 0 ? '0s' : _values2$2,\n _values2$3 = _values2[3],\n transitionTimingFunction = _values2$3 === void 0 ? 'ease' : _values2$3;\n\n return {\n transitionProperty: transitionProperty,\n transitionDuration: transitionDuration,\n transitionDelay: transitionDelay,\n transitionTimingFunction: transitionTimingFunction\n };\n}; // https://w3c.github.io/csswg-drafts/css-transitions/#transition-shorthand-property\n\n\nfunction parseTransition(value) {\n if (!value.includes(',')) {\n // single value, let's do fast path\n return extractTransition(value);\n }\n\n var transitions = value.split(',').map(extractTransition); // merge multiple transitions\n // See https://developer.mozilla.org/en-US/docs/Web/CSS/transition#syntax for examples\n // The merge is adapted from microsoft/griffel, which is also an Atomic CSS-in-JS library\n // https://github.com/microsoft/griffel/blob/76662f70e846523bd1ab663f3340d4906333c795/packages/core/src/shorthands/transition.ts#LL64-L80C5\n\n return transitions.reduce(function (acc, _ref3, index) {\n var transitionProperty = _ref3.transitionProperty,\n transitionDuration = _ref3.transitionDuration,\n transitionDelay = _ref3.transitionDelay,\n transitionTimingFunction = _ref3.transitionTimingFunction;\n\n if (index === 0) {\n acc.transitionProperty = transitionProperty;\n acc.transitionDuration = transitionDuration;\n acc.transitionDelay = transitionDelay;\n acc.transitionTimingFunction = transitionTimingFunction;\n } else {\n acc.transitionProperty += \", \".concat(transitionProperty);\n acc.transitionDuration += \", \".concat(transitionDuration);\n acc.transitionDelay += \", \".concat(transitionDelay);\n acc.transitionTimingFunction += \", \".concat(transitionTimingFunction);\n }\n\n return acc;\n }, {});\n}\n\nfunction parseInset(value) {\n var _splitShorthand17 = splitShorthand(value),\n _splitShorthand18 = _slicedToArray(_splitShorthand17, 4),\n top = _splitShorthand18[0],\n _splitShorthand18$ = _splitShorthand18[1],\n right = _splitShorthand18$ === void 0 ? top : _splitShorthand18$,\n _splitShorthand18$2 = _splitShorthand18[2],\n bottom = _splitShorthand18$2 === void 0 ? top : _splitShorthand18$2,\n _splitShorthand18$3 = _splitShorthand18[3],\n left = _splitShorthand18$3 === void 0 ? right : _splitShorthand18$3;\n\n return {\n top: top,\n right: right,\n bottom: bottom,\n left: left\n };\n}\n\nfunction expandProperty(property, value) {\n // special expansion for the border property as its 2 levels deep\n if (property === 'border') {\n var longhands = parseBorder(value.toString(), function (key) {\n return 'border' + key;\n });\n var result = {};\n\n for (var _property in longhands) {\n Object.assign(result, expandProperty(_property, longhands[_property]));\n }\n\n return result;\n }\n\n if (property === 'flex') {\n return parseFlex(value.toString());\n }\n\n if (property === 'borderRadius') {\n return parseBorderRadius(value.toString());\n }\n\n if (property === 'textDecoration') {\n return parseTextDecoration(value.toString());\n }\n\n if (property === 'overflow') {\n return parseOverflow(value.toString());\n }\n\n if (property === 'gap') {\n return parseGap(value.toString());\n }\n\n if (property === 'flexFlow') {\n return parseFlexFlow(value.toString());\n }\n\n if (property === 'placeContent') {\n return parsePlaceContent(value.toString());\n }\n\n if (property === 'placeItems') {\n return parsePlaceItems(value.toString());\n }\n\n if (property === 'placeSelf') {\n return parsePlaceSelf(value.toString());\n }\n\n if (property === 'transition') {\n return parseTransition(value.toString());\n }\n\n if (property === 'inset') {\n return parseInset(value.toString());\n }\n\n if (circularExpand[property]) {\n return parseCircular(value.toString(), circularExpand[property]);\n }\n\n if (borderExpand[property]) {\n return parseBorder(value.toString(), borderExpand[property]);\n }\n\n if (flowRelativePositionExpand[property]) {\n return parseFlowRelativePosition(value.toString(), flowRelativePositionExpand[property]);\n }\n}\n\nexport default function preExpand(property, value) {\n if (Array.isArray(value)) {\n var result = {};\n value.forEach(function (item) {\n var itemResult = expandProperty(property, item);\n\n if (itemResult) {\n Object.keys(itemResult).forEach(function (itemProperty) {\n result[itemProperty] = result[itemProperty] || [];\n result[itemProperty].push(itemResult[itemProperty]);\n });\n }\n });\n\n if (Object.keys(result).length) {\n return result;\n }\n\n return null;\n }\n\n return expandProperty(property, value);\n}","// @ts-ignore\nimport { expandProperty } from 'inline-style-expand-shorthand'; // https://jsperf.com/array-indexof-vs-object-key-lookup2/12\n\nvar handledCssProps = {\n // 'font', Oops, is not supported by inline-style-expand-shorthand\n padding: true,\n margin: true,\n border: true,\n borderWidth: true,\n borderStyle: true,\n borderColor: true,\n borderTop: true,\n borderRight: true,\n borderBottom: true,\n borderLeft: true,\n borderRadius: true,\n background: true,\n outline: true\n};\nexport var felaExpandCssShorthandsPlugin = function felaExpandCssShorthandsPlugin(styles) {\n return Object.keys(styles).reduce(function (acc, cssPropertyName) {\n var _Object$assign4;\n\n var cssPropertyValue = styles[cssPropertyName];\n\n if (cssPropertyValue === null || typeof cssPropertyValue === 'undefined') {\n var _Object$assign;\n\n return Object.assign({}, acc, (_Object$assign = {}, _Object$assign[cssPropertyName] = cssPropertyValue, _Object$assign));\n }\n\n if (handledCssProps[cssPropertyName]) {\n var expandedProps = expandProperty(cssPropertyName, cssPropertyValue);\n\n if (expandedProps) {\n return Object.assign({}, acc, expandedProps);\n }\n }\n\n if (Array.isArray(cssPropertyValue)) {\n var _Object$assign2;\n\n return Object.assign({}, acc, (_Object$assign2 = {}, _Object$assign2[cssPropertyName] = cssPropertyValue, _Object$assign2));\n }\n\n if (typeof cssPropertyValue === 'object') {\n var _Object$assign3;\n\n return Object.assign({}, acc, (_Object$assign3 = {}, _Object$assign3[cssPropertyName] = felaExpandCssShorthandsPlugin(cssPropertyValue), _Object$assign3));\n }\n\n return Object.assign({}, acc, (_Object$assign4 = {}, _Object$assign4[cssPropertyName] = cssPropertyValue, _Object$assign4));\n }, {});\n};\n//# sourceMappingURL=felaExpandCssShorthandsPlugin.js.map\n","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\n//\n// This file is one-to-one copy-paste from Fela source code. It includes `_renderStyleToClassNames()` and all\n// non-exported utils.\n// A single change is only one line inside `generateDeclarationReference()`.\n//\n// @ts-ignore\nimport cssifyDeclaration from 'css-in-js-utils/lib/cssifyDeclaration';\nimport { // @ts-ignore\ngenerateCombinedMediaQuery // @ts-ignore\n, generateCSSSelector // @ts-ignore\n, isMediaQuery // @ts-ignore\n, isNestedSelector // @ts-ignore\n, isSupport // @ts-ignore\n, isUndefinedValue // @ts-ignore\n, normalizeNestedProperty, RULE_TYPE } from 'fela-utils';\n\nfunction isPlainObject(val) {\n return val != null && typeof val === 'object' && Array.isArray(val) === false;\n}\n\nvar chars = 'abcdefghijklmnopqrstuvwxyz';\nvar charLength = chars.length;\n\nfunction generateUniqueClassName(id, className) {\n if (className === void 0) {\n className = '';\n }\n\n if (id <= charLength) {\n return chars[id - 1] + className;\n } // Bitwise floor as safari performs much faster\n // https://jsperf.com/math-floor-vs-math-round-vs-parseint/55\n\n\n return generateUniqueClassName(id / charLength | 0, chars[id % charLength] + className);\n}\n\nfunction generateClassName(getId, filterClassName) {\n if (filterClassName === void 0) {\n filterClassName = function filterClassName() {\n return true;\n };\n }\n\n var startId = getId();\n var generatedClassName = generateUniqueClassName(startId);\n\n if (!filterClassName(generatedClassName)) {\n return generateClassName(getId, filterClassName);\n }\n\n return generatedClassName;\n}\n\nfunction generateDeclarationReference(property, value, pseudo, media, support) {\n if (pseudo === void 0) {\n pseudo = '';\n }\n\n if (media === void 0) {\n media = '';\n }\n\n if (support === void 0) {\n support = '';\n }\n\n //\n // This a single perf change here, it removes `camelCaseProperty()` call\n //\n // CHANGE:START\n return support + media + pseudo + property + value; // CHANGE:END\n} //\n\n\nexport function felaPerformanceEnhancer(renderer) {\n renderer._renderStyleToClassNames = function _renderStyleToClassNames(_ref, pseudo, media, support) {\n if (pseudo === void 0) {\n pseudo = '';\n }\n\n if (media === void 0) {\n media = '';\n }\n\n if (support === void 0) {\n support = '';\n }\n\n var _className = _ref._className,\n style = _objectWithoutPropertiesLoose(_ref, [\"_className\"]);\n\n var classNames = _className ? \" \" + _className : '';\n\n for (var property in style) {\n var value = style[property];\n\n if (isPlainObject(value)) {\n if (isNestedSelector(property)) {\n classNames += renderer._renderStyleToClassNames(value, pseudo + normalizeNestedProperty(property), media, support);\n } else if (isMediaQuery(property)) {\n var combinedMediaQuery = generateCombinedMediaQuery(media, property.slice(6).trim());\n classNames += renderer._renderStyleToClassNames(value, pseudo, combinedMediaQuery, support);\n } else if (isSupport(property)) {\n var combinedSupport = generateCombinedMediaQuery(support, property.slice(9).trim());\n classNames += renderer._renderStyleToClassNames(value, pseudo, media, combinedSupport);\n } else {\n // eslint-disable-next-line no-console\n console.warn(\"The object key \\\"\" + property + \"\\\" is not a valid nested key in Fela.\\nMaybe you forgot to add a plugin to resolve it?\\nCheck http://fela.js.org/docs/basics/Rules.html#styleobject for more information.\");\n }\n } else {\n var declarationReference = generateDeclarationReference(property, value, pseudo, media, support);\n\n if (!renderer.cache.hasOwnProperty(declarationReference)) {\n // we remove undefined values to enable\n // usage of optional props without side-effects\n if (isUndefinedValue(value)) {\n renderer.cache[declarationReference] = {\n className: ''\n };\n /* eslint-disable no-continue */\n\n continue;\n /* eslint-enable */\n }\n\n var className = renderer.selectorPrefix + generateClassName(renderer.getNextRuleIdentifier, renderer.filterClassName);\n var declaration = cssifyDeclaration(property, value);\n var selector = generateCSSSelector(className, pseudo);\n var change = {\n type: RULE_TYPE,\n className: className,\n selector: selector,\n declaration: declaration,\n pseudo: pseudo,\n media: media,\n support: support\n };\n renderer.cache[declarationReference] = change;\n\n renderer._emitChange(change);\n }\n\n var cachedClassName = renderer.cache[declarationReference].className; // only append if we got a class cached\n\n if (cachedClassName) {\n classNames += \" \" + cachedClassName;\n }\n }\n }\n\n return classNames;\n };\n\n return renderer;\n}\n//# sourceMappingURL=felaPerformanceEnhancer.js.map\n","/**\n * Checks whether provided CSS property value is safe for being rendered by Fela engine.\n */\nvar isValidCssValue = function isValidCssValue(value) {\n if (typeof value !== 'string') {\n return true;\n }\n\n var openingBrackets = '({[';\n var closingBrackets = ')}]';\n var openingBracketsStack = [];\n /**\n * This loop logic checks whether braces sequence of input argument is valid.\n * Essentially, it ensures that each of the '(', '{', '[' braces\n * - is properly matched by its complementary closing character\n * - closing brace properly corresponds to the last opened one\n */\n\n for (var i = 0; i < value.length; ++i) {\n var currentCharacter = value[i];\n\n if (openingBrackets.includes(currentCharacter)) {\n openingBracketsStack.push(currentCharacter);\n } else if (closingBrackets.includes(currentCharacter)) {\n var lastOpeningBracket = openingBracketsStack.pop();\n\n if (lastOpeningBracket && openingBrackets.indexOf(lastOpeningBracket) !== closingBrackets.indexOf(currentCharacter)) {\n return false;\n }\n }\n }\n\n return openingBracketsStack.length === 0;\n};\n\nvar cssPropertiesToSkip = ['content', 'keyframe'];\nexport var felaSanitizeCssPlugin = function felaSanitizeCssPlugin(styles, type, renderer, props) {\n if (!props.sanitizeCss) {\n return styles;\n }\n\n var processedStyles = Array.isArray(styles) ? [] : {};\n Object.keys(styles).forEach(function (cssPropertyNameOrIndex) {\n var cssPropertyValue = styles[cssPropertyNameOrIndex];\n\n if (typeof cssPropertyValue === 'object') {\n processedStyles[cssPropertyNameOrIndex] = felaSanitizeCssPlugin(cssPropertyValue, type, renderer, props);\n return;\n }\n\n var isPropertyToSkip = cssPropertiesToSkip.some(function (propToExclude) {\n return propToExclude === cssPropertyNameOrIndex;\n });\n\n if (isPropertyToSkip) {\n processedStyles[cssPropertyNameOrIndex] = cssPropertyValue;\n return;\n }\n\n if (isValidCssValue(cssPropertyValue)) {\n processedStyles[cssPropertyNameOrIndex] = cssPropertyValue;\n } else if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\n console.warn(\"fela-sanitize-css: An invalid value \\\"\" + cssPropertyValue + \"\\\" was passed to property \\\"\" + cssPropertyNameOrIndex + \"\\\"\");\n }\n });\n return processedStyles;\n};\n//# sourceMappingURL=felaSanitizeCssPlugin.js.map\n","import { RULE_TYPE } from 'fela-utils'; // @ts-ignore\n\nimport _Stylis from 'stylis';\n// `stylis@3` is a CJS library, there are known issues with them:\n// https://github.com/rollup/rollup/issues/1267#issuecomment-446681320\nvar Stylis = _Stylis.default || _Stylis; // We use Stylis only for vendor prefixing, all other capabilities are disabled\n\nvar stylis = new Stylis({\n cascade: false,\n compress: false,\n global: false,\n keyframe: false,\n preserve: false,\n semicolon: false\n});\nexport var felaStylisEnhancer = function felaStylisEnhancer(renderer) {\n var existingEmitChange = renderer._emitChange.bind(renderer);\n\n renderer._emitChange = function (change) {\n if (change.type === RULE_TYPE) {\n var prefixed = stylis('', change.declaration); // Fela uses objects by references, it's safe to override properties\n\n change.declaration = prefixed.slice(1, -1);\n }\n\n existingEmitChange(change);\n };\n\n return renderer;\n};\n//# sourceMappingURL=felaStylisEnhancer.js.map\n","import { createRenderer } from 'fela';\nimport felaPluginEmbedded from 'fela-plugin-embedded';\nimport felaPluginFallbackValue from 'fela-plugin-fallback-value';\nimport felaPluginPlaceholderPrefixer from 'fela-plugin-placeholder-prefixer';\nimport felaPluginRtl from 'fela-plugin-rtl';\nimport * as React from 'react';\nimport { RendererProvider } from 'react-fela';\nimport { felaDisableAnimationsPlugin } from './felaDisableAnimationsPlugin';\nimport { felaExpandCssShorthandsPlugin } from './felaExpandCssShorthandsPlugin';\nimport { felaFocusVisibleEnhancer } from './felaFocusVisibleEnhancer';\nimport { felaInvokeKeyframesPlugin } from './felaInvokeKeyframesPlugin';\nimport { felaPerformanceEnhancer } from './felaPerformanceEnhancer';\nimport { felaSanitizeCssPlugin } from './felaSanitizeCssPlugin';\nimport { felaStylisEnhancer } from './felaStylisEnhancer';\nvar felaDevMode = false;\n\ntry {\n // eslint-disable-next-line no-undef\n felaDevMode = !!window.localStorage.felaDevMode;\n} catch (_unused) {}\n\nif (process.env.NODE_ENV !== 'production' && process.env.NODE_ENV !== 'test') {\n if (felaDevMode) {\n /* eslint-disable-next-line no-console */\n console.warn(['@fluentui/react-northstar:', 'You are running Fela in development mode and this can cause performance degrades.', 'To disable it please paste `delete window.localStorage.felaDevMode` to your browsers console and reload current page.'].join(' '));\n } else {\n /* eslint-disable-next-line no-console */\n console.warn(['@fluentui/react-northstar:', 'You are running Fela in production mode.', 'This limits your ability to edit styles in browsers development tools.', 'To enable development mode please paste `window.localStorage.felaDevMode = true` to your browsers console and reload the page.'].join(' '));\n }\n}\n\nvar blacklistedClassNames = [// Blacklist contains a list of classNames that are used by FontAwesome\n// https://fontawesome.com/how-to-use/on-the-web/referencing-icons/basic-use\n'fa', 'fas', 'far', 'fal', 'fab', // .cke is used by CKEditor\n'ck', 'cke'];\n\nvar filterClassName = function filterClassName(className) {\n return className.indexOf('ad') === -1 && blacklistedClassNames.indexOf(className) === -1;\n};\n\nvar rendererConfig = {\n devMode: felaDevMode,\n filterClassName: filterClassName,\n enhancers: [felaPerformanceEnhancer, felaFocusVisibleEnhancer, felaStylisEnhancer],\n plugins: [felaDisableAnimationsPlugin, // is necessary to prevent accidental style typos\n // from breaking ALL the styles on the page\n felaSanitizeCssPlugin, felaPluginPlaceholderPrefixer(), felaInvokeKeyframesPlugin, felaPluginEmbedded(), felaExpandCssShorthandsPlugin, // Heads up!\n // This is required after fela-plugin-prefixer to resolve the array of fallback values prefixer produces.\n felaPluginFallbackValue(), felaPluginRtl()]\n};\nexport var createFelaRenderer = function createFelaRenderer(target) {\n var felaRenderer = createRenderer(rendererConfig);\n var usedRenderers = 0; // rehydration disabled to avoid leaking styles between renderers\n // https://github.com/rofrischmann/fela/blob/master/docs/api/fela-dom/rehydrate.md\n\n var Provider = function Provider(props) {\n return /*#__PURE__*/React.createElement(RendererProvider, {\n renderer: felaRenderer,\n rehydrate: false,\n targetDocument: target\n }, props.children);\n };\n\n return {\n registerUsage: function registerUsage() {\n usedRenderers += 1;\n },\n unregisterUsage: function unregisterUsage() {\n usedRenderers -= 1;\n\n if (usedRenderers === 0) {\n felaRenderer.listeners = [];\n felaRenderer.nodes = {};\n felaRenderer.updateSubscription = undefined;\n }\n },\n renderFont: function renderFont(font) {\n felaRenderer.renderFont(font.name, font.paths, font.props);\n },\n renderGlobal: felaRenderer.renderStatic,\n renderRule: function renderRule(styles, param) {\n var felaParam = Object.assign({}, param, {\n theme: {\n direction: param.direction\n }\n });\n return felaRenderer.renderRule(function () {\n return styles;\n }, felaParam);\n },\n // getOriginalRenderer() is implemented only for tests to be compatible with jest-react-fela expectations.\n getOriginalRenderer: function getOriginalRenderer() {\n if (process.env.NODE_ENV !== 'test') {\n throw new Error('This method implements private API and can be used only in tests');\n }\n\n return felaRenderer;\n },\n Provider: Provider\n };\n};\n//# sourceMappingURL=createFelaRenderer.js.map\n","import { RULE_TYPE } from 'fela-utils';\n\n/**\n * A Fela enhancer that allows to use `:focus-visible`. Uses `what-input` library and its global\n * selector. Modifies generated selectors:\n * `.a:focus-visible {}` => `html[data-whatinput=\"keyboard\"] a:focus`.\n */\nexport var felaFocusVisibleEnhancer = function felaFocusVisibleEnhancer(renderer) {\n var existingEmitChange = renderer._emitChange.bind(renderer);\n\n renderer._emitChange = function (change) {\n if (change.type === RULE_TYPE && change.selector.indexOf(':focus-visible') !== -1) {\n // Fela uses objects by references, it's safe to override properties\n change.pseudo = change.pseudo ? change.pseudo.replace(':focus-visible', ':focus') : '';\n change.selector = \"html[data-whatinput=\\\"keyboard\\\"] \" + change.selector.replace(':focus-visible', ':focus');\n }\n\n existingEmitChange(change);\n };\n\n return renderer;\n};\n//# sourceMappingURL=felaFocusVisibleEnhancer.js.map\n","import _isPlainObject from \"lodash/isPlainObject\";\nimport { callable } from '@fluentui/styles';\n\n/**\n * Fela plugin for invoking keyframes with params. The keyframes, defined in the animationName prop,\n * are called with the params object, if defined in the animationName prop.\n *\n * Caution! Infinite recursion is possible in case if style object has links to self in the props\n * tree.\n */\nexport var felaInvokeKeyframesPlugin = function felaInvokeKeyframesPlugin(styles) {\n return Object.keys(styles).reduce(function (acc, cssPropertyName) {\n var _Object$assign3;\n\n var cssPropertyValue = styles[cssPropertyName];\n\n if (_isPlainObject(cssPropertyValue)) {\n var _Object$assign2;\n\n if (cssPropertyName === 'animationName') {\n var _Object$assign;\n\n if (cssPropertyValue.keyframe) {\n styles[cssPropertyName] = callable(cssPropertyValue.keyframe)(cssPropertyValue.params || {});\n }\n\n return Object.assign({}, acc, (_Object$assign = {}, _Object$assign[cssPropertyName] = styles[cssPropertyName], _Object$assign));\n }\n\n return Object.assign({}, acc, (_Object$assign2 = {}, _Object$assign2[cssPropertyName] = felaInvokeKeyframesPlugin(cssPropertyValue), _Object$assign2));\n }\n\n return Object.assign({}, acc, (_Object$assign3 = {}, _Object$assign3[cssPropertyName] = styles[cssPropertyName], _Object$assign3));\n }, {});\n};\n//# sourceMappingURL=felaInvokeKeyframesPlugin.js.map\n","import transformStyle from 'rtl-css-js';\n\nexport default function rtl() {\n var defaultDirection = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'rtl';\n\n return function (style, type, renderer, props) {\n var direction = props && props.theme && props.theme.direction || defaultDirection;\n\n if (direction === 'rtl') {\n return transformStyle(style);\n }\n\n return style;\n };\n}","import { createFelaRenderer } from '@fluentui/react-northstar-fela-renderer';\nimport * as React from 'react';\nexport var RendererContext = /*#__PURE__*/React.createContext(createFelaRenderer);\n//# sourceMappingURL=RendererContext.js.map\n","import { mergeThemes } from '@fluentui/styles';\nimport { isBrowser } from './isBrowser';\nvar defaultDocument = {\n document: 'document'\n};\nvar registeredRenderers = new WeakMap();\nexport var getRenderer = function getRenderer(createRenderer, target) {\n var actualTarget = target || defaultDocument; // A valid comparisons, default renderer will be used\n\n if (!isBrowser() || typeof target === 'undefined') {\n actualTarget = defaultDocument;\n } // SSR logic will be handled by condition above\n // eslint-disable-next-line no-undef\n\n\n if (isBrowser() && target === document) {\n actualTarget = defaultDocument;\n }\n\n if (registeredRenderers.has(actualTarget)) {\n return registeredRenderers.get(actualTarget);\n } // To avoid errors related to SSR as `document` may not exist we are using a fake object `defaultDocument`.\n // When a value matches `defaultDocument` we will pass `undefined` to `createRenderer()` and it should handle it\n // properly.\n\n\n var createdRenderer = createRenderer(actualTarget === defaultDocument ? undefined : actualTarget);\n registeredRenderers.set(actualTarget, createdRenderer);\n return createdRenderer;\n};\nexport var mergePerformanceOptions = function mergePerformanceOptions(target) {\n for (var _len = arguments.length, sources = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n sources[_key - 1] = arguments[_key];\n }\n\n return Object.assign.apply(Object, [target].concat(sources));\n};\nexport var mergeBooleanValues = function mergeBooleanValues(target) {\n for (var _len2 = arguments.length, sources = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n sources[_key2 - 1] = arguments[_key2];\n }\n\n return sources.reduce(function (acc, next) {\n return typeof next === 'boolean' ? next : acc;\n }, target);\n};\nexport var mergeProviderContexts = function mergeProviderContexts(createRenderer) {\n var emptyContext = {\n theme: {\n siteVariables: {\n fontSizes: {}\n },\n componentVariables: {},\n componentStyles: {},\n fontFaces: [],\n staticStyles: [],\n animations: {}\n },\n rtl: false,\n disableAnimations: false,\n target: isBrowser() ? document : undefined,\n // eslint-disable-line no-undef\n performance: {\n enableSanitizeCssPlugin: process.env.NODE_ENV !== 'production',\n enableStylesCaching: true,\n enableVariablesCaching: true,\n enableBooleanVariablesCaching: false\n },\n telemetry: undefined,\n renderer: undefined\n };\n\n for (var _len3 = arguments.length, contexts = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n contexts[_key3 - 1] = arguments[_key3];\n }\n\n return contexts.reduce(function (acc, next) {\n if (!next) return acc;\n acc.theme = mergeThemes(acc.theme, next.theme); // Latest RTL value wins\n\n var mergedRTL = mergeBooleanValues(acc.rtl, next.rtl);\n\n if (typeof mergedRTL === 'boolean') {\n acc.rtl = mergedRTL;\n } // Use provided renderer if it is defined\n\n\n acc.target = next.target || acc.target;\n acc.renderer = getRenderer(createRenderer, acc.target); // Latest disableAnimations value wins\n\n var mergedDisableAnimations = mergeBooleanValues(acc.disableAnimations, next.disableAnimations);\n\n if (typeof mergedDisableAnimations === 'boolean') {\n acc.disableAnimations = mergedDisableAnimations;\n }\n\n acc.performance = mergePerformanceOptions(acc.performance, next.performance || {});\n acc.telemetry = next.telemetry || acc.telemetry;\n return acc;\n }, emptyContext);\n};\n//# sourceMappingURL=mergeProviderContexts.js.map\n","import { useFluentContext } from '@fluentui/react-bindings';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\n\n/**\n * A ProviderConsumer is used to consume Fluent UI context from Provider.\n */\nexport var ProviderConsumer = /*#__PURE__*/function () {\n var ProviderConsumer = function ProviderConsumer(props) {\n var render = props.render;\n var context = useFluentContext();\n return /*#__PURE__*/React.createElement(React.Fragment, null, render(context.theme));\n };\n\n ProviderConsumer.displayName = 'ProviderConsumer';\n ProviderConsumer.propTypes = {\n render: PropTypes.func.isRequired\n };\n return ProviderConsumer;\n}();\n//# sourceMappingURL=ProviderConsumer.js.map\n","import _noop from \"lodash/noop\";\nimport _isBoolean from \"lodash/isBoolean\";\nimport _isFunction from \"lodash/isFunction\";\nimport _forEach from \"lodash/forEach\";\nimport _isPlainObject from \"lodash/isPlainObject\";\nimport { defaultContextValue, getElementType, useUnhandledProps, RendererContext, Telemetry, useFluentContext, unstable_getStyles, useIsomorphicLayoutEffect, Unstable_FluentContextProvider } from '@fluentui/react-bindings';\nimport { mergeSiteVariables } from '@fluentui/styles';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { setUpWhatInput, tryCleanupWhatInput } from '../../utils';\nimport { mergeProviderContexts } from '../../utils/mergeProviderContexts';\nimport { ProviderConsumer } from './ProviderConsumer';\nimport { usePortalBox, PortalBoxContext } from './usePortalBox';\n\nvar renderFontFaces = function renderFontFaces(renderer, theme) {\n if (!theme.fontFaces) {\n return;\n }\n\n var renderFontObject = function renderFontObject(font) {\n if (!_isPlainObject(font)) {\n throw new Error(\"fontFaces must be objects, got: \" + typeof font);\n }\n\n renderer.renderFont(font);\n };\n\n theme.fontFaces.forEach(function (font) {\n renderFontObject(font);\n });\n};\n\nvar renderStaticStyles = function renderStaticStyles(renderer, theme, siteVariables) {\n if (!theme.staticStyles) {\n return;\n }\n\n var renderObject = function renderObject(object) {\n _forEach(object, function (style, selector) {\n renderer.renderGlobal(style, selector);\n });\n };\n\n theme.staticStyles.forEach(function (staticStyle) {\n if (typeof staticStyle === 'string') {\n renderer.renderGlobal(staticStyle);\n } else if (_isPlainObject(staticStyle)) {\n renderObject(staticStyle);\n } else if (_isFunction(staticStyle)) {\n var preparedSiteVariables = mergeSiteVariables(siteVariables);\n renderObject(staticStyle(preparedSiteVariables));\n } else {\n throw new Error(\"staticStyles array must contain CSS strings, style objects, or style functions, got: \" + typeof staticStyle);\n }\n });\n};\n\nexport var providerClassName = 'ui-provider';\n/**\n * The Provider passes the CSS-in-JS renderer, theme styles and other settings to Fluent UI components.\n */\n\nexport var Provider = /*#__PURE__*/function () {\n var Provider = function Provider(props) {\n var children = props.children,\n className = props.className,\n design = props.design,\n overwrite = props.overwrite,\n styles = props.styles,\n variables = props.variables,\n telemetryRef = props.telemetryRef;\n var ElementType = getElementType(props);\n var unhandledProps = useUnhandledProps(Provider.handledProps, props);\n var telemetry = React.useMemo(function () {\n if (!telemetryRef) {\n return undefined;\n }\n\n if (!telemetryRef.current) {\n telemetryRef.current = new Telemetry();\n }\n\n return telemetryRef.current;\n }, [telemetryRef]);\n var consumedContext = useFluentContext();\n var incomingContext = overwrite ? defaultContextValue : consumedContext;\n var createRenderer = React.useContext(RendererContext); // Memoization of `inputContext` & `outgoingContext` is required to avoid useless notifications of components that\n // consume `useFluentContext()` on each render\n // @see https://reactjs.org/docs/context.html#caveats\n\n var inputContext = React.useMemo(function () {\n return {\n disableAnimations: props.disableAnimations,\n performance: props.performance,\n rtl: props.rtl,\n target: props.target,\n telemetry: telemetry,\n theme: props.theme\n };\n }, [props.disableAnimations, props.performance, props.rtl, props.target, telemetry, props.theme]);\n var outgoingContext = React.useMemo(function () {\n return mergeProviderContexts(createRenderer, incomingContext, inputContext);\n }, [createRenderer, incomingContext, inputContext]);\n var rtlProps = {}; // only add dir attribute for top level provider or when direction changes from parent to child\n\n if (consumedContext.rtl !== outgoingContext.rtl && _isBoolean(outgoingContext.rtl)) {\n rtlProps.dir = outgoingContext.rtl ? 'rtl' : 'ltr';\n }\n\n var _unstable_getStyles = unstable_getStyles({\n allDisplayNames: [Provider.displayName],\n className: providerClassName,\n primaryDisplayName: Provider.displayName,\n componentProps: {},\n inlineStylesProps: {\n className: className,\n design: design,\n styles: styles,\n variables: variables\n },\n disableAnimations: outgoingContext.disableAnimations,\n performance: outgoingContext.performance,\n renderer: outgoingContext.renderer,\n rtl: outgoingContext.rtl,\n theme: outgoingContext.theme,\n saveDebug: _noop,\n telemetry: undefined\n }),\n classes = _unstable_getStyles.classes;\n\n var element = usePortalBox({\n className: classes.root,\n target: outgoingContext.target,\n rtl: outgoingContext.rtl\n });\n useIsomorphicLayoutEffect(function () {\n renderFontFaces(outgoingContext.renderer, props.theme);\n renderStaticStyles(outgoingContext.renderer, props.theme, outgoingContext.theme.siteVariables);\n\n if (props.target) {\n setUpWhatInput(props.target);\n }\n\n outgoingContext.renderer.registerUsage();\n return function () {\n if (props.target) {\n tryCleanupWhatInput(props.target);\n }\n\n outgoingContext.renderer.unregisterUsage();\n };\n }, []); // do not spread anything - React.Fragment can only have `key` and `children` props\n\n var elementProps = ElementType === React.Fragment ? {} : Object.assign({\n className: classes.root\n }, rtlProps, unhandledProps);\n var RenderProvider = outgoingContext.renderer.Provider;\n return /*#__PURE__*/React.createElement(RenderProvider, null, /*#__PURE__*/React.createElement(Unstable_FluentContextProvider, {\n value: outgoingContext\n }, /*#__PURE__*/React.createElement(PortalBoxContext.Provider, {\n value: element\n }, /*#__PURE__*/React.createElement(ElementType, elementProps, children))));\n };\n\n Provider.displayName = 'Provider';\n Provider.defaultProps = {\n theme: {}\n };\n Provider.propTypes = {\n as: PropTypes.elementType,\n design: PropTypes.object,\n variables: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n styles: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n theme: PropTypes.shape({\n siteVariables: PropTypes.object,\n componentVariables: PropTypes.object,\n componentStyles: PropTypes.object,\n fontFaces: PropTypes.arrayOf(PropTypes.shape({\n name: PropTypes.string,\n paths: PropTypes.arrayOf(PropTypes.string),\n style: PropTypes.shape({\n fontStretch: PropTypes.string,\n fontStyle: PropTypes.string,\n fontVariant: PropTypes.string,\n fontWeight: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n localAlias: PropTypes.string,\n unicodeRange: PropTypes.string\n })\n })),\n staticStyles: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.object, PropTypes.func])),\n animations: PropTypes.object\n }),\n rtl: PropTypes.bool,\n disableAnimations: PropTypes.bool,\n // Heads Up!\n // Keep in sync with packages/react-bindings/src/styles/types.ts\n performance: PropTypes.shape({\n enableSanitizeCssPlugin: PropTypes.bool,\n enableStylesCaching: PropTypes.bool,\n enableVariablesCaching: PropTypes.bool\n }),\n children: PropTypes.node.isRequired,\n overwrite: PropTypes.bool,\n target: PropTypes.object,\n telemetryRef: PropTypes.object\n };\n Provider.handledProps = Object.keys(Provider.propTypes);\n Provider.Consumer = ProviderConsumer;\n return Provider;\n}();\n//# sourceMappingURL=Provider.js.map\n","import { useIsomorphicLayoutEffect } from '@fluentui/react-bindings';\nimport * as React from 'react';\nimport { isBrowser } from '../../utils/isBrowser';\nexport var PortalBoxContext = /*#__PURE__*/React.createContext(null);\nexport var usePortalBox = function usePortalBox(options) {\n var className = options.className,\n rtl = options.rtl,\n target = options.target;\n var element = React.useMemo(function () {\n var newElement = isBrowser() ? target.createElement('div') : null; // Element should be attached to DOM during render to make elements that will be rendered\n // inside accessible in effects of child components\n\n if (newElement) {\n target.body.appendChild(newElement);\n }\n\n return newElement;\n }, [target]);\n useIsomorphicLayoutEffect(function () {\n if (element) {\n element.setAttribute('class', className);\n\n if (rtl) {\n element.setAttribute('dir', 'rtl');\n } else {\n element.removeAttribute('dir');\n }\n }\n }, [className, element, rtl]); // This effect should always last as it removes element from HTML tree\n\n useIsomorphicLayoutEffect(function () {\n return function () {\n if (element) {\n target.body.removeChild(element);\n }\n };\n }, [element, target]);\n return element;\n};\n//# sourceMappingURL=usePortalBox.js.map\n","import * as customPropTypes from '@fluentui/react-proptypes';\nimport { compose } from '@fluentui/react-bindings';\nimport { commonPropTypes } from '../../utils';\nimport { SkeletonShape } from './SkeletonShape';\nexport var skeletonAvatarClassName = 'ui-skeleton__avatar';\n/**\n * An SkeletonAvatar represents an avatar component that will be loaded\n */\n\nexport var SkeletonAvatar = /*#__PURE__*/function () {\n var SkeletonAvatar = compose(SkeletonShape, {\n className: skeletonAvatarClassName,\n displayName: 'SkeletonAvatar',\n overrideStyles: true,\n shorthandConfig: {},\n handledProps: ['size'],\n mapPropsToStylesProps: function mapPropsToStylesProps(_ref) {\n var size = _ref.size;\n return {\n size: size\n };\n }\n });\n SkeletonAvatar.propTypes = Object.assign({}, commonPropTypes.createCommon(), {\n size: customPropTypes.size\n });\n SkeletonAvatar.defaultProps = {\n as: 'span',\n size: 'medium'\n };\n return SkeletonAvatar;\n}();\n//# sourceMappingURL=SkeletonAvatar.js.map\n","import * as customPropTypes from '@fluentui/react-proptypes';\nimport * as PropTypes from 'prop-types';\nimport { compose } from '@fluentui/react-bindings';\nimport { commonPropTypes } from '../../utils';\nimport { SkeletonShape } from './SkeletonShape';\nexport var skeletonButtonClassName = 'ui-skeleton__button';\n/**\n * An SkeletonButton represents a buton component that will be loaded\n */\n\nexport var SkeletonButton = /*#__PURE__*/function () {\n var SkeletonButton = compose(SkeletonShape, {\n className: skeletonButtonClassName,\n displayName: 'SkeletonButton',\n overrideStyles: true,\n shorthandConfig: {},\n handledProps: ['size', 'circular', 'iconOnly', 'fluid'],\n mapPropsToStylesProps: function mapPropsToStylesProps(_ref) {\n var size = _ref.size,\n fluid = _ref.fluid,\n iconOnly = _ref.iconOnly,\n circular = _ref.circular;\n return {\n size: size,\n fluid: fluid,\n iconOnly: iconOnly,\n circular: circular\n };\n }\n });\n SkeletonButton.propTypes = Object.assign({}, commonPropTypes.createCommon(), {\n size: customPropTypes.size,\n circular: PropTypes.bool,\n iconOnly: PropTypes.bool,\n fluid: PropTypes.bool\n });\n SkeletonButton.defaultProps = {\n as: 'span',\n size: 'medium'\n };\n return SkeletonButton;\n}();\n//# sourceMappingURL=SkeletonButton.js.map\n","import * as PropTypes from 'prop-types';\nimport { compose } from '@fluentui/react-bindings';\nimport { commonPropTypes } from '../../utils';\nimport { SkeletonShape } from './SkeletonShape';\nexport var skeletonInputClassName = 'ui-skeleton__input';\n/**\n * An SkeletonInput represents a input component that will be loaded\n */\n\nexport var SkeletonInput = /*#__PURE__*/function () {\n var SkeletonInput = compose(SkeletonShape, {\n className: skeletonInputClassName,\n displayName: 'SkeletonInput',\n overrideStyles: true,\n shorthandConfig: {},\n handledProps: ['fluid'],\n mapPropsToStylesProps: function mapPropsToStylesProps(_ref) {\n var fluid = _ref.fluid;\n return {\n fluid: fluid\n };\n }\n });\n SkeletonInput.propTypes = Object.assign({}, commonPropTypes.createCommon(), {\n fluid: PropTypes.bool\n });\n SkeletonInput.defaultProps = {\n as: 'span'\n };\n return SkeletonInput;\n}();\n//# sourceMappingURL=SkeletonInput.js.map\n","import { compose } from '@fluentui/react-bindings';\nimport * as PropTypes from 'prop-types';\nimport { commonPropTypes } from '../../utils';\nimport { Box } from '../Box/Box';\nexport var skeletonLineClassName = 'ui-skeleton__line';\n/**\n * A SkeletonLine represents a text line that will be loaded\n */\n\nexport var SkeletonLine = /*#__PURE__*/function () {\n var SkeletonLine = compose(Box, {\n className: skeletonLineClassName,\n displayName: 'SkeletonLine',\n overrideStyles: true,\n shorthandConfig: {},\n handledProps: ['width', 'height'],\n mapPropsToStylesProps: function mapPropsToStylesProps(_ref) {\n var width = _ref.width,\n height = _ref.height;\n return {\n width: width,\n height: height\n };\n }\n });\n SkeletonLine.propTypes = Object.assign({}, commonPropTypes.createCommon(), {\n width: PropTypes.string,\n height: PropTypes.string\n });\n SkeletonLine.defaultProps = {\n as: 'span',\n width: '100%',\n height: '1rem'\n };\n return SkeletonLine;\n}();\n//# sourceMappingURL=SkeletonLine.js.map\n","import * as PropTypes from 'prop-types';\nimport { compose } from '@fluentui/react-bindings';\nimport { commonPropTypes } from '../../utils';\nimport { Box } from '../Box/Box';\nexport var skeletonShapeClassName = 'ui-skeleton__shape';\n/**\n * A SkeletonShape represents a shape (Image/Button/etc...) that will be loaded\n */\n\nexport var SkeletonShape = /*#__PURE__*/function () {\n var SkeletonShape = compose(Box, {\n className: skeletonShapeClassName,\n displayName: 'SkeletonShape',\n overrideStyles: true,\n shorthandConfig: {},\n handledProps: ['round', 'width', 'height'],\n mapPropsToStylesProps: function mapPropsToStylesProps(_ref) {\n var width = _ref.width,\n height = _ref.height,\n round = _ref.round;\n return {\n width: width,\n height: height,\n round: round\n };\n }\n });\n SkeletonShape.propTypes = Object.assign({}, commonPropTypes.createCommon(), {\n width: PropTypes.string,\n height: PropTypes.string,\n round: PropTypes.bool\n });\n SkeletonShape.defaultProps = {\n as: 'span',\n width: '100px',\n height: '100px',\n round: false\n };\n return SkeletonShape;\n}();\n//# sourceMappingURL=SkeletonShape.js.map\n","import * as customPropTypes from '@fluentui/react-proptypes';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { childrenExist, createShorthandFactory, commonPropTypes, rtlTextContainer } from '../../utils';\nimport { getElementType, useUnhandledProps, useFluentContext, useAccessibility, useStyles, useTelemetry } from '@fluentui/react-bindings';\nexport var textClassName = 'ui-text';\n/**\n * A Text consistently styles and formats occurrences of text.\n */\n\nexport var Text = /*#__PURE__*/function () {\n var Text = function Text(props) {\n var context = useFluentContext();\n\n var _useTelemetry = useTelemetry(Text.displayName, context.telemetry),\n setStart = _useTelemetry.setStart,\n setEnd = _useTelemetry.setEnd;\n\n setStart();\n var accessibility = props.accessibility,\n align = props.align,\n atMention = props.atMention,\n children = props.children,\n className = props.className,\n color = props.color,\n content = props.content,\n design = props.design,\n disabled = props.disabled,\n error = props.error,\n important = props.important,\n size = props.size,\n styles = props.styles,\n success = props.success,\n timestamp = props.timestamp,\n truncated = props.truncated,\n temporary = props.temporary,\n variables = props.variables,\n weight = props.weight;\n var getA11Props = useAccessibility(accessibility, {\n debugName: Text.displayName,\n rtl: context.rtl\n });\n\n var _useStyles = useStyles(Text.displayName, {\n className: textClassName,\n mapPropsToStyles: function mapPropsToStyles() {\n return {\n atMention: atMention,\n color: color,\n important: important,\n timestamp: timestamp,\n truncated: truncated,\n disabled: disabled,\n error: error,\n success: success,\n temporary: temporary,\n align: align,\n weight: weight,\n size: size\n };\n },\n mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n return {\n className: className,\n design: design,\n styles: styles,\n variables: variables\n };\n },\n rtl: context.rtl\n }),\n classes = _useStyles.classes;\n\n var unhandledProps = useUnhandledProps(Text.handledProps, props);\n var ElementType = getElementType(props);\n var element = /*#__PURE__*/React.createElement(ElementType, getA11Props('root', Object.assign({\n className: classes.root\n }, rtlTextContainer.getAttributes({\n forElements: [children, content]\n }), unhandledProps)), childrenExist(children) ? children : content);\n setEnd();\n return element;\n };\n\n Text.displayName = 'Text';\n Text.defaultProps = {\n as: 'span'\n };\n Text.propTypes = Object.assign({}, commonPropTypes.createCommon({\n color: true\n }), {\n atMention: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['me'])]),\n disabled: PropTypes.bool,\n error: PropTypes.bool,\n important: PropTypes.bool,\n size: customPropTypes.size,\n weight: PropTypes.oneOf(['light', 'semilight', 'regular', 'semibold', 'bold']),\n success: PropTypes.bool,\n temporary: PropTypes.bool,\n align: customPropTypes.align,\n timestamp: PropTypes.bool,\n truncated: PropTypes.bool\n });\n Text.handledProps = Object.keys(Text.propTypes);\n Text.create = createShorthandFactory({\n Component: Text,\n mappedProp: 'content'\n });\n return Text;\n}();\n//# sourceMappingURL=Text.js.map\n","export var extendColorScheme = function extendColorScheme(colorScheme, overrides) {\n var result = colorScheme;\n Object.keys(overrides).forEach(function (color) {\n var _Object$assign;\n\n result = Object.assign({}, result, (_Object$assign = {}, _Object$assign[color] = Object.assign({}, colorScheme[color], overrides[color]), _Object$assign));\n });\n return result;\n};\nexport function pickValuesFromColorScheme(colorScheme, componentAreas) {\n var result = {};\n Object.keys(colorScheme).forEach(function (color) {\n var _Object$assign3;\n\n var colorValues = componentAreas.reduce(function (accumulator, area) {\n var _Object$assign2;\n\n return Object.assign({}, accumulator, (_Object$assign2 = {}, _Object$assign2[area] = colorScheme[color][area], _Object$assign2));\n }, {});\n result = Object.assign({}, result, (_Object$assign3 = {}, _Object$assign3[color] = colorValues, _Object$assign3));\n });\n return result;\n}\n//# sourceMappingURL=colorUtils.js.map\n","export var chatVariables = function chatVariables(siteVars) {\n return {\n backgroundColor: siteVars.colorScheme.default.background2\n };\n};\n//# sourceMappingURL=chatVariables.js.map\n","export var chatMessageVariables = function chatMessageVariables(siteVars) {\n return {\n backgroundColor: siteVars.colorScheme.default.background,\n backgroundColorMine: siteVars.colorScheme.brand.background1,\n authorColor: siteVars.colorScheme.default.foreground2,\n authorFontWeight: siteVars.fontWeightRegular\n };\n};\n//# sourceMappingURL=chatMessageVariables.js.map\n","import { createTheme, mergeThemes } from '@fluentui/styles';\nimport { teamsTheme } from '../teams';\nimport * as siteVariables from './siteVariables';\nimport * as componentVariables from './componentVariables';\nexport var teamsV2Theme = mergeThemes(teamsTheme, createTheme({\n siteVariables: siteVariables,\n componentVariables: componentVariables\n}, 'teams-v2'));\n//# sourceMappingURL=index.js.map\n","export var colors = {\n black: '#000',\n white: '#fff',\n grey: {\n 25: '#fafafa',\n 50: '#f5f5f5',\n 100: '#f0f0f0',\n 150: '#ebebeb',\n 200: '#e0e0e0',\n 220: '#d6d6d6',\n 230: '#d1d1d1',\n 250: '#c7c7c7',\n 270: '#bdbdbd',\n 300: '#b3b3b3',\n 310: '#adadad',\n 350: '#949494',\n 400: '#8a8a8a',\n 430: '#707070',\n 440: '#666',\n 450: '#616161',\n 460: '#5c5c5c',\n 500: '#424242',\n 550: '#3d3d3d',\n 600: '#333',\n 650: '#2e2e2e',\n 700: '#292929',\n 750: '#242424',\n 800: '#1f1f1f',\n 850: '#1a1a1a',\n 870: '#141414',\n 900: '#0f0f0f',\n 910: '#0a0a0a'\n },\n brand: {\n 50: '#e9eaf6',\n 100: '#dbdcf0',\n 200: '#c7c9ff',\n 300: '#b2b5ff',\n 400: '#a6a7dc',\n 450: '#9ea2ff',\n 500: '#7479dc',\n 600: '#6264a7',\n 700: '#494b83',\n 800: '#464775',\n 900: '#3d3e66',\n 1000: '#323348'\n }\n};\nexport var colorScheme = {\n default: {\n foreground: colors.grey['750'],\n foreground1: colors.grey['500'],\n foreground2: colors.grey['450'],\n foreground3: colors.white,\n foreground4: colors.white,\n foreground7: colors.grey['750'],\n // 5 and 6 are missing to keep foreground7 name consistent with teams-theme-v1\n background: colors.white,\n background1: colors.grey['25'],\n background2: colors.grey['50'],\n background3: colors.grey['100'],\n background4: colors.grey['150'],\n background5: colors.grey['200'],\n border: colors.grey['230'],\n border1: colors.grey['100'],\n border2: colors.grey['200'],\n border3: colors.grey['100'],\n foregroundHover: colors.grey['750'],\n foregroundHover1: colors.white,\n foregroundHover2: colors.white,\n backgroundHover: colors.grey['50'],\n backgroundHover1: colors.grey['25'],\n backgroundHover2: 'transparent',\n backgroundHover3: colors.grey['150'],\n backgroundHover4: colors.grey['25'],\n borderHover: colors.grey['250'],\n foregroundPressed: colors.grey['750'],\n backgroundPressed: colors.grey['200'],\n foregroundActive: colors.grey['750'],\n foregroundActive1: colors.white,\n backgroundActive: colors.grey['150'],\n backgroundActive1: colors.white,\n borderActive: colors.grey['270'],\n // foregroundFocus: not specified,\n // backgroundFocus: not specified,\n borderFocus: colors.black,\n borderFocusWithin: colors.white,\n foregroundDisabled: colors.grey['250'],\n foregroundDisabled1: colors.grey['250'],\n borderDisabled: colors.grey['200'],\n backgroundDisabled: colors.grey['100'],\n backgroundDisabled1: colors.grey['100']\n },\n brand: {\n background: colors.brand['600'],\n background1: colors.brand['50'],\n background2: colors.brand['900'],\n background3: colors.brand['1000'],\n background4: colors.brand['800'],\n background5: colors.brand['100'],\n foreground: colors.brand['600'],\n foreground1: colors.brand['600'],\n foreground2: colors.brand['700'],\n foreground3: colors.brand['200'],\n foreground4: colors.white,\n border: colors.grey['200'],\n border1: colors.brand['300'],\n border2: colors.brand['200'],\n foregroundHover: colors.brand['600'],\n foregroundHover1: colors.white,\n foregroundHover2: colors.brand['200'],\n borderHover: colors.brand['300'],\n backgroundHover: colors.brand['700'],\n backgroundHover1: colors.brand['50'],\n foregroundPressed: colors.brand['700'],\n foregroundPressed1: colors.white,\n backgroundPressed: colors.brand['800'],\n borderPressed: colors.brand['300'],\n foregroundActive: colors.brand['600'],\n foregroundActive1: colors.brand['600'],\n foregroundActive2: colors.brand['50'],\n backgroundActive: colors.brand['600'],\n backgroundActive1: colors.brand['600'],\n borderActive: colors.grey['200'],\n borderActive1: colors.brand['50'],\n borderActive2: colors.brand['300'],\n foregroundFocus: colors.brand['600'],\n foregroundFocus1: colors.brand['600'],\n foregroundFocus2: colors.brand['700'],\n foregroundFocus3: colors.brand['50'],\n foregroundFocus4: colors.white,\n backgroundFocus: colors.brand['600'],\n backgroundFocus1: colors.brand['50'],\n backgroundFocus2: colors.brand['900'],\n backgroundFocus3: colors.brand['1000'],\n borderFocus: colors.black,\n borderFocus1: colors.brand['600'],\n borderFocusWithin: colors.white,\n foregroundDisabled: colors.grey['250'],\n foregroundDisabled1: colors.grey['250'],\n borderDisabled: colors.grey['550'],\n backgroundDisabled: colors.grey['100'],\n backgroundDisabled1: colors.grey['100']\n }\n};\n//# sourceMappingURL=siteVariables.js.map\n","export var categoryColors = {\n redDark: {\n 100: '#FAF6F6',\n 150: '#F2E4E5',\n 200: '#E7CED1',\n 250: '#CF9BA1',\n 300: '#C07B82',\n 350: '#C98289',\n 400: '#A23D48',\n 450: '#A03843',\n 500: '#96232F',\n 550: '#88232E',\n 600: '#861F2A',\n 650: '#721A23',\n 700: '#69232A',\n 750: '#521319',\n 800: '#4D2327',\n 850: '#3D2326',\n 900: '#292424'\n },\n red: {\n 100: '#FCF7F8',\n 150: '#F8E8EA',\n 200: '#F3D7D9',\n 250: '#E7ADB2',\n 300: '#DF9299',\n 350: '#DC8990',\n 400: '#D06069',\n 450: '#CF5B65',\n 500: '#CA4A55',\n 550: '#B6454F',\n 600: '#B6424C',\n 650: '#993840',\n 700: '#883B42',\n 750: '#6E282E',\n 800: '#603135',\n 850: '#492C2E',\n 900: '#2A2425'\n },\n orangeDark: {\n 100: '#FCF7F6',\n 150: '#F8E8E4',\n 200: '#F2D5CD',\n 250: '#E5AA99',\n 300: '#DD8E77',\n 350: '#DA846B',\n 400: '#CD5937',\n 450: '#CC5634',\n 500: '#C7431D',\n 550: '#B33F1E',\n 600: '#B23C1A',\n 650: '#973216',\n 700: '#85361F',\n 750: '#6D240F',\n 800: '#5E2F21',\n 850: '#482A22',\n 900: '#2B2423'\n },\n orange: {\n 100: '#FEF9F7',\n 150: '#FCECE9',\n 200: '#FBDED7',\n 250: '#F7BBAD',\n 300: '#F4A593',\n 350: '#F39D89',\n 400: '#F07A60',\n 450: '#EF785D',\n 500: '#EE694B',\n 550: '#D66046',\n 600: '#D65E43',\n 650: '#B24932',\n 700: '#9C4D3B',\n 750: '#823929',\n 800: '#6D3C32',\n 850: '#51332C',\n 900: '#2D2725'\n },\n orangeLight: {\n 100: '#FEFBF7',\n 150: '#FEF3E8',\n 200: '#FDEAD4',\n 250: '#FCD4A8',\n 300: '#FCC68B',\n 350: '#FBC181',\n 400: '#FAAB54',\n 450: '#FAA950',\n 500: '#FAA03E',\n 550: '#E0903A',\n 600: '#E08F37',\n 650: '#A45D11',\n 700: '#A56F34',\n 750: '#895722',\n 800: '#72502D',\n 850: '#533F29',\n 900: '#2D2925'\n },\n yellowDark: {\n 100: '#FDFBF6',\n 150: '#FBF3E4',\n 200: '#F8EACD',\n 250: '#F1D499',\n 300: '#EDC678',\n 350: '#ECC26E',\n 400: '#E5AC39',\n 450: '#E4AA35',\n 500: '#E2A11F',\n 550: '#CA911F',\n 600: '#CA901B',\n 650: '#92660D',\n 700: '#966E20',\n 750: '#7C5811',\n 800: '#685022',\n 850: '#4E3F22',\n 900: '#2C2924'\n },\n yellow: {\n 100: '#FEFCF5',\n 150: '#FEF6E2',\n 200: '#FEEFCB',\n 250: '#FEDF95',\n 300: '#FDD472',\n 350: '#FDD066',\n 400: '#FDC030',\n 450: '#FDBF2B',\n 500: '#FDB814',\n 550: '#E3A615',\n 600: '#E4A512',\n 650: '#8F680D',\n 700: '#A67D1B',\n 750: '#805E0B',\n 800: '#72581E',\n 850: '#544420',\n 900: '#2D2922'\n },\n brown: {\n 100: '#FBF9F8',\n 150: '#F3EDEA',\n 200: '#E9DDD8',\n 250: '#D3BBAF',\n 300: '#C4A494',\n 350: '#BF9D8C',\n 400: '#A87A63',\n 450: '#A67760',\n 500: '#9D684E',\n 550: '#8E6049',\n 600: '#8C5D46',\n 650: '#764E3B',\n 700: '#6D4C3C',\n 750: '#56392B',\n 800: '#503C33',\n 850: '#3F322D',\n 900: '#292625'\n },\n oliveDark: {\n 100: '#F8F9F7',\n 150: '#EBEEE7',\n 200: '#DBE1D5',\n 250: '#B7C2AA',\n 300: '#9EAD8D',\n 350: '#96A683',\n 400: '#708757',\n 450: '#6D8453',\n 500: '#5E7741',\n 550: '#566C3D',\n 600: '#546B3A',\n 650: '#475A31',\n 700: '#465535',\n 750: '#334123',\n 800: '#38412E',\n 850: '#31362A',\n 900: '#272724'\n },\n olive: {\n 100: '#FAFBF8',\n 150: '#F1F5EC',\n 200: '#E6EDDC',\n 250: '#CCDBB8',\n 300: '#BBD0A1',\n 350: '#B5CC99',\n 400: '#9BBA75',\n 450: '#99B872',\n 500: '#8EB163',\n 550: '#809F5A',\n 600: '#7F9E58',\n 650: '#56742F',\n 700: '#637849',\n 750: '#4E6136',\n 800: '#4B563A',\n 850: '#3C4231',\n 900: '#292926'\n },\n greenDark: {\n 100: '#F5F9F7',\n 150: '#E5EFE9',\n 200: '#CFE1D7',\n 250: '#9EC3AE',\n 300: '#7DAE93',\n 350: '#72A78A',\n 400: '#408861',\n 450: '#3C865D',\n 500: '#27794C',\n 550: '#266E46',\n 600: '#236D44',\n 650: '#1D5C39',\n 700: '#26563B',\n 750: '#154229',\n 800: '#254232',\n 850: '#25362C',\n 900: '#252725'\n },\n green: {\n 100: '#F6FBF9',\n 150: '#E5F5ED',\n 200: '#D1ECDF',\n 250: '#A1DABD',\n 300: '#82CDA8',\n 350: '#78C9A0',\n 400: '#48B67F',\n 450: '#45B57C',\n 500: '#30AD6E',\n 550: '#2F9B64',\n 600: '#2B9B62',\n 650: '#248353',\n 700: '#2B7550',\n 750: '#1A5E3C',\n 800: '#29553E',\n 850: '#274134',\n 900: '#242826'\n },\n tealDark: {\n 100: '#F6F8F9',\n 150: '#E5EBED',\n 200: '#CEDADD',\n 250: '#9BB4BA',\n 300: '#7B9CA3',\n 350: '#7FA3AB',\n 400: '#3D6E79',\n 450: '#386A75',\n 500: '#235A67',\n 550: '#23535E',\n 600: '#1F515C',\n 650: '#1A444E',\n 700: '#24454C',\n 750: '#133138',\n 800: '#23373C',\n 850: '#243033',\n 900: '#252627'\n },\n teal: {\n 100: '#F6F9FA',\n 150: '#E9F0F2',\n 200: '#D6E3E7',\n 250: '#ABC6CE',\n 300: '#8FB3BE',\n 350: '#85ACB8',\n 400: '#5A8F9F',\n 450: '#578D9E',\n 500: '#458193',\n 550: '#417686',\n 600: '#3E7484',\n 650: '#34626F',\n 700: '#375B66',\n 750: '#254650',\n 800: '#2F454C',\n 850: '#2C383C',\n 900: '#262828'\n },\n tealLight: {\n 100: '#F8FCFC',\n 150: '#EBF7F7',\n 200: '#DBF1F1',\n 250: '#B5E3E3',\n 300: '#9DD9DB',\n 350: '#96D6D8',\n 400: '#70C8CA',\n 450: '#6DC7C9',\n 500: '#5DC1C3',\n 550: '#55ADAF',\n 600: '#53AEAF',\n 650: '#37797B',\n 700: '#468183',\n 750: '#33696B',\n 800: '#395B5C',\n 850: '#314646',\n 900: '#272A2A'\n },\n blueDark: {\n 100: '#F5F7FA',\n 150: '#E0E7F2',\n 200: '#C7D4E8',\n 250: '#8CA7D0',\n 300: '#668AC0',\n 350: '#6991CC',\n 400: '#1E53A3',\n 450: '#1A50A1',\n 500: '#003D97',\n 550: '#053988',\n 600: '#003788',\n 650: '#002E72',\n 700: '#0F3268',\n 750: '#002152',\n 800: '#182D4D',\n 850: '#1D293D',\n 900: '#242528'\n },\n blue: {\n 100: '#F6F8FB',\n 150: '#E3EAF3',\n 200: '#CDDAEA',\n 250: '#99B3D4',\n 300: '#779AC6',\n 350: '#7FA3D0',\n 400: '#376BAB',\n 450: '#3469A9',\n 500: '#1D58A0',\n 550: '#1D5190',\n 600: '#1A4F90',\n 650: '#164279',\n 700: '#20426E',\n 750: '#0F3057',\n 800: '#213650',\n 850: '#232F3F',\n 900: '#252629'\n },\n purpleDark: {\n 100: '#F7F6FA',\n 150: '#E8E7F2',\n 200: '#D6D4E8',\n 250: '#ADA8D1',\n 300: '#918AC2',\n 350: '#928BC5',\n 400: '#5D53A5',\n 450: '#5A50A4',\n 500: '#483D9A',\n 550: '#443A8C',\n 600: '#40368A',\n 650: '#362E75',\n 700: '#3A336B',\n 750: '#272154',\n 800: '#312D4E',\n 850: '#2C293D',\n 900: '#262529'\n },\n purple: {\n 100: '#F9F9FB',\n 150: '#EFEDF5',\n 200: '#E2DEED',\n 250: '#C3BDDC',\n 300: '#AFA6D0',\n 350: '#A99FCC',\n 400: '#8B7DBA',\n 450: '#877AB8',\n 500: '#7B6CB1',\n 550: '#70629F',\n 600: '#6E609E',\n 650: '#5D5286',\n 700: '#584E78',\n 750: '#443B61',\n 800: '#443D56',\n 850: '#383342',\n 900: '#282729'\n },\n maroon: {\n 100: '#FBF7F9',\n 150: '#F4E6EE',\n 200: '#EBD3E1',\n 250: '#D6A5C3',\n 300: '#C988AF',\n 350: '#CC87B1',\n 400: '#AF5089',\n 450: '#AD4C87',\n 500: '#A5397A',\n 550: '#953770',\n 600: '#94336D',\n 650: '#7D2B5C',\n 700: '#723057',\n 750: '#5A1F42',\n 800: '#522B42',\n 850: '#412836',\n 900: '#2A2527'\n },\n pink: {\n 100: '#FDF7F9',\n 150: '#FAE7EE',\n 200: '#F5D3DF',\n 250: '#ECA4BE',\n 300: '#E687A8',\n 350: '#E47CA1',\n 400: '#DA4E7F',\n 450: '#DA4A7D',\n 500: '#D6376F',\n 550: '#C03465',\n 600: '#C13164',\n 650: '#A22954',\n 700: '#8F2F50',\n 750: '#751E3C',\n 800: '#642A3E',\n 850: '#4B2834',\n 900: '#2B2426'\n },\n smokeDark: {\n 100: '#F6F6F6',\n 150: '#E8E8E8',\n 200: '#D5D5D5',\n 250: '#AAAAAA',\n 300: '#8E8E8E',\n 350: '#939393',\n 400: '#5A5A5A',\n 450: '#565656',\n 500: '#444444',\n 550: '#404040',\n 600: '#3D3D3D',\n 650: '#333333',\n 700: '#373737',\n 750: '#252525',\n 800: '#2B2A2A',\n 850: '#282828',\n 900: '#262525'\n },\n smokeLight: {\n 100: '#F9F9F9',\n 150: '#EDEDED',\n 200: '#DFDFDF',\n 250: '#BEBEBE',\n 300: '#A9A9A9',\n 350: '#A1A1A1',\n 400: '#818181',\n 450: '#7E7E7E',\n 500: '#707070',\n 550: '#676767',\n 600: '#646464',\n 650: '#555555',\n 700: '#525151',\n 750: '#3D3D3D',\n 800: '#353434',\n 850: '#2E2D2D',\n 900: '#272626'\n },\n steelDark: {\n 100: '#F8F9F9',\n 150: '#ECEEEF',\n 200: '#DDE1E2',\n 250: '#BBC2C4',\n 300: '#A5AEB1',\n 350: '#9DA7AB',\n 400: '#7B898D',\n 450: '#78868B',\n 500: '#69797E',\n 550: '#606E73',\n 600: '#5E6D71',\n 650: '#4F5B5F',\n 700: '#4E5659',\n 750: '#394245',\n 800: '#3D4244',\n 850: '#343637',\n 900: '#272727'\n },\n steelLight: {\n 100: '#FBFBFB',\n 150: '#F3F3F5',\n 200: '#EAEDEE',\n 250: '#D4DADC',\n 300: '#C7C6D0',\n 350: '#C1CACC',\n 400: '#ACABBB',\n 450: '#A9B5B9',\n 500: '#A0AEB2',\n 550: '#919DA1',\n 600: '#8F9C9F',\n 650: '#637074',\n 700: '#6F7678',\n 750: '#585761',\n 800: '#515556',\n 850: '#404243',\n 900: '#292828'\n },\n neon: {\n 100: '#FAFEDF',\n 150: '#F4FBC4',\n 200: '#E9F1AC',\n 250: '#E5F18F',\n 300: '#D9E388',\n 350: '#C8D464',\n 400: '#BDCB4C',\n 450: '#B7C640',\n 500: '#A8B63A',\n 550: '#99A43B',\n 600: '#909A45',\n 650: '#899338',\n 700: '#7A8337',\n 750: '#656C2B',\n 800: '#50571E',\n 850: '#3C4212',\n 900: '#272B0E'\n }\n};\n\nvar createCategoryColorScheme = function createCategoryColorScheme(color, customValues) {\n if (customValues === void 0) {\n customValues = {};\n }\n\n return Object.assign({\n foreground: categoryColors[color][750],\n foreground1: categoryColors[color][400],\n background: categoryColors[color][200],\n borderActive: categoryColors[color][650]\n }, customValues);\n};\n\nexport var categoryColorScheme = {\n redDark: createCategoryColorScheme('redDark'),\n red: createCategoryColorScheme('red'),\n orangeDark: createCategoryColorScheme('orangeDark'),\n orange: createCategoryColorScheme('orange'),\n orangeLight: createCategoryColorScheme('orangeLight'),\n yellowDark: createCategoryColorScheme('yellowDark'),\n yellow: createCategoryColorScheme('yellow'),\n brown: createCategoryColorScheme('brown'),\n oliveDark: createCategoryColorScheme('oliveDark'),\n olive: createCategoryColorScheme('olive'),\n greenDark: createCategoryColorScheme('greenDark'),\n green: createCategoryColorScheme('green'),\n tealDark: createCategoryColorScheme('tealDark'),\n teal: createCategoryColorScheme('teal'),\n tealLight: createCategoryColorScheme('tealLight'),\n blueDark: createCategoryColorScheme('blueDark'),\n blue: createCategoryColorScheme('blue'),\n purpleDark: createCategoryColorScheme('purpleDark'),\n purple: createCategoryColorScheme('purple'),\n maroon: createCategoryColorScheme('maroon'),\n pink: createCategoryColorScheme('pink'),\n smokeDark: createCategoryColorScheme('smokeDark'),\n smokeLight: createCategoryColorScheme('smokeLight'),\n steelDark: createCategoryColorScheme('steelDark'),\n steelLight: createCategoryColorScheme('steelLight'),\n neon: createCategoryColorScheme('neon'),\n formatting: {\n foreground1: categoryColors.red[600],\n background1: categoryColors.red[300],\n foreground2: categoryColors.orangeDark[400],\n background2: categoryColors.orange[300],\n foreground3: categoryColors.yellow[400],\n background3: categoryColors.yellow[300],\n foreground4: categoryColors.neon[450],\n background4: categoryColors.neon[200],\n foreground5: categoryColors.green[600],\n background5: categoryColors.green[300],\n foreground6: categoryColors.tealLight[650],\n background6: categoryColors.tealLight[300],\n foreground7: categoryColors.blueDark[400],\n background7: categoryColors.blueDark[200],\n foreground8: categoryColors.maroon[500],\n background8: categoryColors.maroon[200]\n }\n};\n//# sourceMappingURL=categoryColors.js.map\n","export var contextualColors = {\n brand: {\n 50: '#F4F4FC',\n // siteVariables.brand16, same as prev\n 100: '#E5E5F1',\n // brand15\n 200: '#E2E2F6',\n // 100, light brand14, dark theme brand02\n 300: '#BDBDE6',\n // 200, light brand12, dark theme brand04\n 400: '#A6A7DC',\n // dark theme brand06 (dark06)\n 450: '#9EA2FF',\n 500: '#8B8CC7',\n // light08, dark08\n 600: '#6264A7',\n // 500, siteVariables.brand, siteVariables.brand06, dark theme brand, brand12\n 700: '#585A96',\n // light05\n 800: '#464775',\n // light04, dark14\n 900: '#33344A',\n // siteVariables.brand02, dark theme brand16, same as 900 prev\n 1000: '#373644'\n }\n};\nexport var naturalColors = {\n grey: {\n 0: '#FFFFFF',\n // white\n 25: '#FCFCFB',\n // old $app-density-message-initial-hover-focus\n 50: '#FAF9F8',\n // light14\n 100: '#F3F2F1',\n // light10, old $app-density-message-background-replay-hover-focus\n 150: '#EDEBE9',\n // light09, old $app-density-border-gray\n 200: '#E1DFDD',\n // light08\n 250: '#C8C6C4',\n // light06, dark02\n 300: '#B3B0AD',\n // dark03\n 350: '#979593',\n // light04\n 400: '#8A8886',\n // dark04\n 440: '#666666',\n 450: '#605E5C',\n // light03, dark06, $app-gray-20-theme-agnostic, old $message-highlight-color-darktheme\n 500: '#484644',\n // light02, dark08\n 550: '#3B3A39',\n // dark09\n 600: '#323131',\n // dark10, in call audio only grid slot 4\n 650: '#2D2C2C',\n // in call audio only grid slot 3\n 700: '#292828',\n // dark14, in call audio only grid slot 2, old $app-density-message-background-initial-hover-focus-darktheme\n 750: '#252423',\n // 900 - different [#252424] , old $app-black, in call audio only grid slot 1, old $app-density-message-background-replay-hover-focus-darktheme\n 800: '#201F1F',\n // app black darktheme, in call title bar, in call audio only pip\n 850: '#1B1A1A',\n // in call background behind presented doc, old $app-density-message-border-darktheme\n 900: '#11100F',\n // dark theme borders\n 1000: '#000000' // black\n\n },\n orange: {\n 50: '#F9ECEA',\n // darkOrange[50]\n 100: '#EFDBD3',\n // app orange14\n 200: '#EDC2A7',\n // old message highlight border\n 300: '#E97548',\n // orange[900]\n 400: '#CC4A31',\n // app orange04 darkOrange[400]\n 500: '#BD432C',\n // app orange03\n 600: '#A33D2A',\n // app orange02\n 700: '#833122',\n // app orange01 darkOrange[900]\n 800: '#664134',\n // app orange14 dark\n 900: '#51332C' // app orange16 dark\n\n },\n pink: {\n 50: '#FCF2FA',\n // app orchid opacity, oof message, oof banner bg\n 100: '#F1DFEE',\n // new oof banner border default theme\n 200: '#EC6FAE',\n // new oof text for better contrast in dark theme\n 300: '#DE569A',\n // magenta dark theme\n 400: '#E959D9',\n // oof presence icon dark theme\n 500: '#B4009E',\n // merge oof presence icon, odl $app-magenta\n 600: '#943670',\n // old $app-orchid, use for oof banner text\n 700: undefined,\n //\n 800: '#3E2D3B',\n // old @app orchid opacity, oof message bg, oof banner bg\n 900: '#1F191D' // new oof banner border dark theme\n\n },\n red: {\n 50: '#FCF4F6',\n // app red 10\n 100: '#F3D6D8',\n // postOrange[900] app red 08\n 200: '#F9526B',\n // new, error banner string\n 300: '#E73550',\n // merge old @app-red-dark-theme\n 400: '#C4314B',\n // red[900], app red 06, siteVariables.red\n 500: '#A72037',\n // app red 04\n 600: '#8E192E',\n // app red 02\n 700: '#4F222B',\n // old app red 10 dark\n 800: '#3E1F25',\n // new error banner bg\n 900: '#1E040A' // app red08 dark\n\n },\n green: {\n 50: '#E7F2DA',\n 100: '#BDDA9B',\n 200: '#92C353',\n // lightGreen[900] old $app-green, available presence dark theme, siteVars.green\n 300: '#6BB700',\n // new Available presence\n 400: '#13A40E',\n // dual presence Available\n 500: undefined,\n 600: '#237B4B',\n // old $app-green-04, siteVariables.green04, green[900]\n 700: undefined,\n 800: '#0D2E0D',\n 900: '#032003'\n },\n yellow: {\n 50: undefined,\n 100: '#FBF6D9',\n // old message highlight color\n 200: '#F2E384',\n 300: '#F9EC02',\n // old acc critical ufd icon color\n 400: '#F8D22A',\n // old siteVariables.yellow, $app-yellow, yellow[900]\n 500: '#FFB900',\n // old $bcast pre live color\n 600: '#FFAA44',\n // new away presence\n 700: '#835C00',\n 800: '#463100',\n 900: '#261A00'\n }\n};\nvar contextualAndNaturalColors = Object.assign({}, contextualColors, naturalColors);\nexport var primitiveColors = {\n black: '#000',\n white: '#fff'\n};\nexport var transparentColors = {\n silver: {\n 100: undefined,\n 200: 'rgba(255,255,255,0.75)',\n 300: 'rgba(255,255,255,0.65)',\n 400: 'rgba(255,255,255,0.5)',\n 500: 'rgba(255,255,255,0.4)',\n 600: 'rgba(255,255,255,0.3)',\n 700: 'rgba(255,255,255,0.2)',\n 800: 'rgba(255,255,255,0.1)',\n 900: 'rgba(255,255,255,0.05)'\n },\n ruby: {\n 100: undefined,\n 200: undefined,\n 300: undefined,\n 400: undefined,\n 500: 'rgba(196,49,75,0.9)',\n 600: 'rgba(167,32,55,0.9)',\n 700: 'rgba(142,25,46,0.9)',\n 800: undefined,\n 900: undefined\n },\n onyx: {\n 100: 'rgba(59,58,57,0.9)',\n 200: 'rgba(45,44,44,0.4)',\n 300: 'rgba(37,36,35,0.2)',\n 400: 'rgba(37,36,35,0.65)',\n 500: 'rgba(41,40,40,0.9)',\n 600: undefined,\n 700: 'rgba(0,0,0,0.5)',\n 800: 'rgba(27,26,26,0.9)',\n 900: 'rgba(0,0,0,0.8)'\n },\n amethyst: {\n 100: undefined,\n 200: undefined,\n 300: undefined,\n 400: 'rgba(98,100,167,0.75)',\n 500: 'rgba(51,52,74,0.5)',\n 600: 'rgba(70,71,117,0.4)',\n 700: 'rgba(98,100,167,0.15)',\n 800: undefined,\n 900: undefined\n }\n};\nexport var colors = Object.assign({}, contextualAndNaturalColors, primitiveColors, transparentColors);\nexport var createColorScheme = function createColorScheme(customValues) {\n if (customValues === void 0) {\n customValues = {};\n }\n\n return Object.assign({\n foreground: undefined,\n background: undefined,\n border: undefined,\n shadow: undefined,\n foregroundHover: undefined,\n backgroundHover: undefined,\n borderHover: undefined,\n shadowHover: undefined,\n foregroundActive: undefined,\n backgroundActive: undefined,\n borderActive: undefined,\n shadowActive: undefined,\n foregroundFocus: undefined,\n backgroundFocus: undefined,\n borderFocus: undefined,\n shadowFocus: undefined,\n foregroundPressed: undefined,\n backgroundPressed: undefined,\n borderPressed: undefined,\n shadowPressed: undefined,\n foregroundDisabled: undefined,\n backgroundDisabled: undefined,\n borderDisabled: undefined,\n shadowDisabled: undefined\n }, customValues);\n};\nexport var colorScheme = /*#__PURE__*/function () {\n var colorScheme = {\n default: createColorScheme({\n foreground: colors.grey[750],\n foreground1: colors.grey[500],\n foreground2: colors.grey[450],\n foreground3: colors.white,\n foreground4: colors.white,\n foreground5: colors.grey[100],\n foreground6: colors.grey[200],\n foreground7: colors.grey[750],\n foreground8: colors.grey[750],\n background: colors.white,\n background1: colors.grey[50],\n background2: colors.grey[100],\n background3: colors.grey[150],\n background4: colors.grey[100],\n background5: colors.grey[350],\n border: colors.grey[200],\n // buttons\n border1: colors.grey[150],\n border2: colors.grey[200],\n border3: colors.grey[150],\n // divider\n shadow: colors.black,\n // opacity 10%\n shadowHover: colors.black,\n // opacity 10%\n foregroundHover: colors.grey[750],\n foregroundHover1: colors.white,\n foregroundHover2: colors.white,\n backgroundHover: colors.grey[100],\n backgroundHover1: colors.grey[150],\n backgroundHover2: 'transparent',\n backgroundHover3: colors.grey[150],\n backgroundHover4: colors.grey[50],\n borderHover: colors.grey[250],\n // buttons\n foregroundPressed: colors.grey[750],\n backgroundPressed: colors.grey[200],\n backgroundPressed3: colors.grey[150],\n borderPressed: colors.grey[250],\n foregroundActive: colors.grey[750],\n foregroundActive1: colors.white,\n backgroundActive: colors.grey[100],\n backgroundActive1: colors.grey[150],\n backgroundActive2: colors.grey[150],\n borderActive: colors.grey[200],\n // buttons\n borderActive1: colors.grey[150],\n borderActive2: colors.grey[200],\n borderActive3: colors.grey[150],\n // divider\n borderActive4: colors.grey[400],\n foregroundFocus: colors.grey[750],\n foregroundFocus1: colors.grey[500],\n foregroundFocus2: colors.grey[450],\n foregroundFocus3: colors.white,\n backgroundFocus: colors.white,\n backgroundFocus1: colors.grey[50],\n backgroundFocus2: colors.grey[100],\n backgroundFocus3: colors.grey[150],\n borderFocusWithin: colors.white,\n borderFocus: colors.black,\n foregroundDisabled1: colors.grey[250],\n foregroundDisabled: colors.grey[250],\n backgroundDisabled: colors.grey[150],\n backgroundDisabled1: colors.grey[150],\n backgroundDisabled2: colors.grey[50],\n backgroundDisabled3: colors.grey[50],\n borderDisabled: colors.grey[150]\n }),\n brand: createColorScheme({\n foreground: colors.brand[600],\n foreground1: colors.brand[600],\n foreground2: colors.brand[700],\n foreground3: colors.brand[200],\n foreground4: colors.white,\n foreground5: colors.white,\n background: colors.brand[600],\n background1: colors.brand[100],\n background2: colors.brand[900],\n background3: colors.brand[1000],\n background4: colors.brand[800],\n background5: colors.brand[100],\n background6: colors.brand[600],\n border: colors.grey[200],\n border1: colors.brand[200],\n border2: colors.brand[300],\n shadow: colors.black,\n // opacity 25%\n shadowHover: colors.black,\n foregroundHover: colors.brand[600],\n foregroundHover1: colors.white,\n foregroundHover2: colors.brand[200],\n borderHover: colors.brand[300],\n backgroundHover: colors.brand[700],\n backgroundHover1: colors.brand[50],\n backgroundHover2: colors.brand[100],\n foregroundPressed: colors.brand[800],\n foregroundPressed1: colors.white,\n backgroundPressed: colors.brand[800],\n // it's 900 on the button - 800 is same as hover\n backgroundPressed1: colors.brand[100],\n borderPressed: colors.brand[300],\n foregroundActive: colors.brand[600],\n foregroundActive1: colors.brand[600],\n foregroundActive2: colors.brand[200],\n backgroundActive: colors.brand[600],\n backgroundActive1: colors.brand[600],\n borderActive: colors.grey[200],\n borderActive1: colors.brand[200],\n borderActive2: colors.brand[300],\n foregroundFocus: colors.brand[600],\n foregroundFocus1: colors.brand[600],\n foregroundFocus2: colors.brand[700],\n foregroundFocus3: colors.brand[200],\n foregroundFocus4: colors.white,\n backgroundFocus: colors.brand[600],\n backgroundFocus1: colors.brand[100],\n backgroundFocus2: colors.brand[900],\n backgroundFocus3: colors.brand[1000],\n borderFocus: colors.black,\n borderFocusWithin: colors.white,\n borderFocus1: colors.brand[600],\n // only input\n foregroundDisabled: colors.grey[250],\n foregroundDisabled1: colors.grey[250],\n backgroundDisabled: colors.grey[150],\n backgroundDisabled1: colors.grey[150],\n borderDisabled: colors.grey[150]\n }),\n black: {\n foreground: colors.black,\n foreground1: colors.white,\n background: colors.white,\n background1: colors.grey[750],\n border: colors.black,\n shadow: colors.black,\n foregroundHover: colors.white,\n backgroundHover: colors.black,\n borderHover: colors.black,\n shadowHover: colors.black,\n foregroundActive: colors.white,\n backgroundActive: colors.black,\n borderActive: colors.black,\n shadowActive: colors.black,\n foregroundFocus: colors.white,\n backgroundFocus: colors.black,\n borderFocus: colors.black,\n shadowFocus: colors.black,\n foregroundPressed: colors.white,\n backgroundPressed: colors.black,\n borderPressed: colors.black,\n shadowPressed: colors.black,\n foregroundDisabled: colors.white,\n backgroundDisabled: colors.black,\n borderDisabled: colors.black,\n shadowDisabled: colors.black\n },\n white: {\n foreground: colors.white,\n foreground1: colors.grey[750],\n background: colors.black,\n background1: colors.white,\n border: colors.white,\n shadow: colors.white,\n foregroundHover: colors.black,\n backgroundHover: colors.white,\n borderHover: colors.white,\n shadowHover: colors.white,\n foregroundActive: colors.black,\n backgroundActive: colors.white,\n borderActive: colors.white,\n shadowActive: colors.white,\n foregroundFocus: colors.black,\n backgroundFocus: colors.white,\n borderFocus: colors.white,\n shadowFocus: colors.white,\n foregroundPressed: colors.black,\n backgroundPressed: colors.white,\n borderPressed: colors.white,\n shadowPressed: colors.white,\n foregroundDisabled: colors.black,\n backgroundDisabled: colors.white,\n borderDisabled: colors.white,\n shadowDisabled: colors.white\n },\n green: createColorScheme({\n foreground: colors.green[600],\n foreground1: colors.white,\n foreground2: colors.green[400],\n foreground3: colors.white,\n background: colors.green[300],\n background1: colors.green[600],\n background2: colors.green[50],\n border: colors.green[100]\n }),\n orange: createColorScheme({\n foreground: colors.orange[400],\n foreground1: colors.orange[300],\n foreground2: colors.white,\n background: colors.orange[400],\n background1: colors.orange[400],\n border: colors.orange[200]\n }),\n pink: createColorScheme({\n foreground: colors.pink[600],\n foreground1: colors.pink[500],\n background: colors.pink[50],\n border: colors.pink[100]\n }),\n red: createColorScheme({\n foreground: colors.red[400],\n foreground1: colors.white,\n foreground2: colors.white,\n background: colors.red[400],\n background1: colors.red[50],\n background2: colors.ruby[500],\n background3: colors.red[400],\n border: colors.red[100],\n foregroundHover: colors.white,\n backgroundHover: colors.ruby[600],\n backgroundHover1: colors.red[400],\n foregroundPressed: colors.white,\n backgroundPressed: colors.ruby[700]\n }),\n yellow: createColorScheme({\n foreground: colors.yellow[300],\n foreground1: colors.grey[800],\n foreground2: colors.white,\n foreground3: colors.grey[750],\n foreground4: colors.yellow[700],\n background: colors.yellow[600],\n background1: colors.yellow[100],\n background2: colors.yellow[500],\n background3: colors.yellow[100],\n border: colors.yellow[200]\n }),\n silver: createColorScheme({\n foreground: colors.white,\n foreground1: colors.silver[200],\n foregroundHover: colors.white,\n foregroundPressed: colors.white,\n border: colors.silver[600],\n background: 'transparent',\n backgroundHover: colors.silver[800],\n borderHover: colors.silver[600],\n backgroundPressed: colors.silver[700],\n borderPressed: colors.silver[600],\n foregroundDisabled: colors.silver[600],\n backgroundDisabled: colors.silver[900]\n }),\n onyx: createColorScheme({\n background: colors.onyx[500],\n background1: colors.onyx[100],\n background2: colors.onyx[500],\n background3: colors.onyx[400],\n backgroundHover: colors.onyx[500],\n backgroundPressed: colors.onyx[800],\n border: colors.onyx[800],\n border1: 'transparent',\n border2: colors.onyx[300]\n }),\n amethyst: createColorScheme({\n background: colors.amethyst[600],\n backgroundHover: colors.amethyst[700],\n backgroundHover1: colors.amethyst[500],\n backgroundActive: colors.amethyst[700]\n })\n };\n colorScheme.grey = colorScheme.default;\n return colorScheme;\n}();\nexport var availableColors = ['default', 'black', 'white', 'brand', 'grey', 'red', 'yellow', 'green', 'pink', 'orange'];\nexport var isValidColor = function isValidColor(color) {\n return color && availableColors.indexOf(color) >= 0;\n};\nexport var getColorSchemeKey = function getColorSchemeKey(color, primary) {\n return color && isValidColor(color) ? color : primary ? 'brand' : 'default';\n};\nexport var getColorScheme = function getColorScheme(colorScheme, color, primary) {\n return colorScheme[getColorSchemeKey(color, primary)];\n};\n//# sourceMappingURL=colors.js.map\n","import { pxToRem, stringLiteralsArray } from '../../../../utils';\nimport { pickValuesFromColorScheme } from '../../../colorUtils';\nexport var dividerColorAreas = stringLiteralsArray('foreground');\nexport var dividerVariables = function dividerVariables(siteVars) {\n return {\n colorScheme: pickValuesFromColorScheme(siteVars.colorScheme, dividerColorAreas),\n dividerColor: siteVars.colors.grey[150],\n textColor: siteVars.colors.grey[450],\n textFontSize: siteVars.fontSizeSmall,\n textLineHeight: siteVars.lineHeightSmall,\n importantFontWeight: siteVars.fontWeightBold,\n dividerPadding: pxToRem(4)\n };\n};\n//# sourceMappingURL=dividerVariables.js.map\n","import { pxToRem, stringLiteralsArray } from '../../../../utils';\nimport { extendColorScheme, pickValuesFromColorScheme } from '../../../colorUtils';\nexport var menuColorAreas = stringLiteralsArray('border', 'borderActive', 'foregroundActive', 'foregroundFocus', 'foregroundHover', 'backgroundHover', 'backgroundActive', 'backgroundFocus', 'foregroundDisabled');\nexport var menuVariables = function menuVariables(siteVars) {\n return {\n colorScheme: pickValuesFromColorScheme(extendColorScheme(siteVars.colorScheme, {\n default: {\n borderActive: siteVars.colorScheme.default.border2,\n backgroundActive: siteVars.colorScheme.default.backgroundActive1,\n backgroundFocus: siteVars.colorScheme.default.backgroundFocus1,\n foregroundDisabled: siteVars.colorScheme.default.foregroundDisabled1\n },\n brand: {\n foregroundHover: siteVars.colors.white,\n backgroundHover: siteVars.colors.brand[300],\n foregroundActive: siteVars.colors.white,\n borderActive: siteVars.colors.brand[600],\n backgroundActive: siteVars.colors.brand[500],\n // it's 600 in the color scheme\n foregroundFocus: siteVars.colors.white,\n backgroundFocus: siteVars.colors.brand[300],\n foregroundDisabled: siteVars.colorScheme.brand.foregroundDisabled1\n }\n }), menuColorAreas),\n color: siteVars.colors.grey[500],\n colorActive: siteVars.colors.black,\n colorFocus: undefined,\n colorHover: 'inherit',\n colorDisabled: undefined,\n borderColor: undefined,\n borderColorHover: undefined,\n borderColorActive: undefined,\n borderColorFocus: siteVars.colors.white,\n outlineColorFocus: siteVars.colors.black,\n backgroundColor: undefined,\n backgroundColorFocus: undefined,\n backgroundColorHover: undefined,\n backgroundColorActive: undefined,\n iconSize: pxToRem(16),\n iconOnlyColorActive: siteVars.colors.brand[600],\n iconOnlyColorFocus: siteVars.colors.brand[600],\n iconOnlyWrapperBackgroundColorFocus: undefined,\n activeIconOnlyWrapperBackgroundColor: undefined,\n iconOnlyBackgroundColorHover: undefined,\n iconOnlyColorHover: siteVars.colors.brand[600],\n underlinedBorderColor: siteVars.colors.grey[200],\n lineHeightBase: siteVars.lineHeightMedium,\n horizontalPadding: pxToRem(14) + \" \" + pxToRem(18),\n verticalBackgroundColor: siteVars.colorScheme.default.background,\n verticalItemPadding: pxToRem(7) + \" \" + pxToRem(14),\n verticalBoxShadow: siteVars.shadowLevel3,\n verticalDividerMargin: pxToRem(8) + \" 0\",\n verticalItemBorderWidth: pxToRem(2),\n verticalItemBorderColor: 'transparent',\n verticalPointingBorderColor: siteVars.colorScheme.brand.borderActive,\n verticalBackgroundColorFocus: undefined,\n activeUnderlinedColor: undefined,\n activeUnderlinedPrimaryColor: siteVars.colors.brand[600],\n activeUnderlinedBorderBottomColor: siteVars.colors.black,\n activeUnderlinedWrapperColor: undefined,\n pointingIndicatorBackgroundColor: siteVars.colors.brand[600],\n underlinedBottomBorderWidth: pxToRem(2),\n underlinedColorHover: 'inherit',\n primaryBorderColor: siteVars.colorScheme.default.border2,\n primaryWrapperColorFocus: siteVars.colors.white,\n primaryWrapperBackgroundColorFocus: siteVars.colors.brand[500],\n underlinedWrapperColorHover: siteVars.colors.black,\n underlinedWrapperBackgroundHover: 'transparent',\n dividerHeight: pxToRem(1),\n borderWidth: pxToRem(1),\n menuZIndex: siteVars.zIndexes.overlay,\n beakZIndex: siteVars.zIndexes.menuItem,\n wrapperColorActive: siteVars.colors.grey[500],\n wrapperColorFocus: siteVars.colors.grey[500],\n wrapperColorHover: undefined,\n primaryWrapperColorHover: siteVars.colors.white,\n wrapperBackgroundColorFocus: siteVars.colors.grey[150],\n activeWrapperBackgroundColorHover: undefined,\n indicatorColor: siteVars.colors.grey[500],\n activeIndicatorColor: siteVars.colors.grey[750],\n activePrimaryIndicatorColor: siteVars.colors.grey[750],\n activePrimaryVerticalIndicatorColor: siteVars.colors.white,\n primaryIndicatorColorHover: siteVars.colors.white,\n indicatorColorHover: siteVars.colors.grey[500]\n };\n};\n//# sourceMappingURL=menuVariables.js.map\n","/**\n * The days of the week\n * {@docCategory DayOfWeek}\n */\nexport var DayOfWeek;\n/**\n * The months\n * {@docCategory MonthOfYear}\n */\n\n(function (DayOfWeek) {\n DayOfWeek[DayOfWeek[\"Sunday\"] = 0] = \"Sunday\";\n DayOfWeek[DayOfWeek[\"Monday\"] = 1] = \"Monday\";\n DayOfWeek[DayOfWeek[\"Tuesday\"] = 2] = \"Tuesday\";\n DayOfWeek[DayOfWeek[\"Wednesday\"] = 3] = \"Wednesday\";\n DayOfWeek[DayOfWeek[\"Thursday\"] = 4] = \"Thursday\";\n DayOfWeek[DayOfWeek[\"Friday\"] = 5] = \"Friday\";\n DayOfWeek[DayOfWeek[\"Saturday\"] = 6] = \"Saturday\";\n})(DayOfWeek || (DayOfWeek = {}));\n\nexport var MonthOfYear;\n/**\n * First week of the year settings types\n * {@docCategory FirstWeekOfYear}\n */\n\n(function (MonthOfYear) {\n MonthOfYear[MonthOfYear[\"January\"] = 0] = \"January\";\n MonthOfYear[MonthOfYear[\"February\"] = 1] = \"February\";\n MonthOfYear[MonthOfYear[\"March\"] = 2] = \"March\";\n MonthOfYear[MonthOfYear[\"April\"] = 3] = \"April\";\n MonthOfYear[MonthOfYear[\"May\"] = 4] = \"May\";\n MonthOfYear[MonthOfYear[\"June\"] = 5] = \"June\";\n MonthOfYear[MonthOfYear[\"July\"] = 6] = \"July\";\n MonthOfYear[MonthOfYear[\"August\"] = 7] = \"August\";\n MonthOfYear[MonthOfYear[\"September\"] = 8] = \"September\";\n MonthOfYear[MonthOfYear[\"October\"] = 9] = \"October\";\n MonthOfYear[MonthOfYear[\"November\"] = 10] = \"November\";\n MonthOfYear[MonthOfYear[\"December\"] = 11] = \"December\";\n})(MonthOfYear || (MonthOfYear = {}));\n\nexport var FirstWeekOfYear;\n/**\n * The supported date range types\n * {@docCategory DateRangeType}\n */\n\n(function (FirstWeekOfYear) {\n FirstWeekOfYear[FirstWeekOfYear[\"FirstDay\"] = 0] = \"FirstDay\";\n FirstWeekOfYear[FirstWeekOfYear[\"FirstFullWeek\"] = 1] = \"FirstFullWeek\";\n FirstWeekOfYear[FirstWeekOfYear[\"FirstFourDayWeek\"] = 2] = \"FirstFourDayWeek\";\n})(FirstWeekOfYear || (FirstWeekOfYear = {}));\n\nexport var DateRangeType;\n\n(function (DateRangeType) {\n DateRangeType[DateRangeType[\"Day\"] = 0] = \"Day\";\n DateRangeType[DateRangeType[\"Week\"] = 1] = \"Week\";\n DateRangeType[DateRangeType[\"Month\"] = 2] = \"Month\";\n DateRangeType[DateRangeType[\"WorkWeek\"] = 3] = \"WorkWeek\";\n})(DateRangeType || (DateRangeType = {}));\n\nexport var DAYS_IN_WEEK = 7;\n//# sourceMappingURL=dateValues.js.map\n","export var accelerateMax = 'cubic-bezier(1,0,1,1)';\nexport var accelerateMid = 'cubic-bezier(0.7,0,1,0.5)';\nexport var accelerateMin = 'cubic-bezier(0.8,0,1,1)';\nexport var decelerateMax = 'cubic-bezier(0,0,0,1)';\nexport var decelerateMid = 'cubic-bezier(0.1,0.9,0.2,1)';\nexport var decelerateMin = 'cubic-bezier(0.33,0,0.1,1)';\nexport var maxEasyEase = 'cubic-bezier(0.8,0,0.1,1)';\nexport var easyEase = 'cubic-bezier(0.33,0,0.67,1)';\nexport var linear = 'cubic-bezier(0,0,1,1)';\n//# sourceMappingURL=timingFunctions.js.map\n","export var ultraFast = '50ms';\nexport var faster = '100ms';\nexport var fast = '150ms';\nexport var normal = '200ms';\nexport var slow = '300ms';\nexport var slower = '400ms';\nexport var ultraSlow = '500ms';\n//# sourceMappingURL=durations.js.map\n","import { decelerateMax, accelerateMax } from './timingFunctions';\nimport { ultraFast, faster, fast, normal, slow, slower, ultraSlow } from './durations';\nexport var scaleAnimations = {\n // Scale in w/ fade- UltraFast\n scaleEnterUltraFast: {\n keyframe: function keyframe(_ref) {\n var delta = _ref.delta;\n return {\n '0%': {\n transform: \"scale(\" + delta + \")\",\n opacity: 0\n },\n '100%': {\n transform: 'scale(1)',\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: 0.88\n },\n duration: ultraFast,\n timingFunction: decelerateMax,\n fillMode: 'forwards'\n },\n // Scale in w/ fade- Faster\n scaleEnterFaster: {\n keyframe: function keyframe(_ref2) {\n var delta = _ref2.delta;\n return {\n '0%': {\n transform: \"scale(\" + delta + \")\",\n opacity: 0\n },\n '100%': {\n transform: 'scale(1)',\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: 0.88\n },\n duration: faster,\n timingFunction: decelerateMax,\n fillMode: 'forwards'\n },\n // Scale in w/ fade- Fast\n scaleEnterFast: {\n keyframe: function keyframe(_ref3) {\n var delta = _ref3.delta;\n return {\n '0%': {\n transform: \"scale(\" + delta + \")\",\n opacity: 0\n },\n '100%': {\n transform: 'scale(1)',\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: 0.88\n },\n duration: fast,\n timingFunction: decelerateMax,\n fillMode: 'forwards'\n },\n // Scale in w/ fade- Normal\n scaleEnterNormal: {\n keyframe: function keyframe(_ref4) {\n var delta = _ref4.delta;\n return {\n '0%': {\n transform: \"scale(\" + delta + \")\",\n opacity: 0\n },\n '100%': {\n transform: 'scale(1)',\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: 0.88\n },\n duration: normal,\n timingFunction: decelerateMax,\n fillMode: 'forwards'\n },\n // Scale in w/ fade - Slow\n scaleEnterSlow: {\n keyframe: function keyframe(_ref5) {\n var delta = _ref5.delta;\n return {\n '0%': {\n transform: \"scale(\" + delta + \")\",\n opacity: 0\n },\n '100%': {\n transform: 'scale(1)',\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: 0.88\n },\n duration: slow,\n timingFunction: decelerateMax,\n fillMode: 'forwards'\n },\n // Scale in w/ fade - Slower\n scaleEnterSlower: {\n keyframe: function keyframe(_ref6) {\n var delta = _ref6.delta;\n return {\n '0%': {\n transform: \"scale(\" + delta + \")\",\n opacity: 0\n },\n '100%': {\n transform: 'scale(1)',\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: 0.88\n },\n duration: slower,\n timingFunction: decelerateMax,\n fillMode: 'forwards'\n },\n // Scale in w/ fade - UlrtaSlow\n scaleEnterUltraSlow: {\n keyframe: function keyframe(_ref7) {\n var delta = _ref7.delta;\n return {\n '0%': {\n transform: \"scale(\" + delta + \")\",\n opacity: 0\n },\n '100%': {\n transform: 'scale(1)',\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: 0.88\n },\n duration: ultraSlow,\n timingFunction: decelerateMax,\n fillMode: 'forwards'\n },\n // Scale Out w/ Fade - UltraFast\n scaleExitUltraFast: {\n keyframe: function keyframe(_ref8) {\n var delta = _ref8.delta;\n return {\n '0%': {\n transform: 'scale(1)',\n opacity: 1\n },\n '100%': {\n transform: \"scale(\" + delta + \")\",\n opacity: 0\n }\n };\n },\n keyframeParams: {\n delta: 0.9\n },\n duration: ultraFast,\n timingFunction: accelerateMax,\n fillMode: 'forwards'\n },\n // Scale Out w/ Fade - Faster\n scaleExitFaster: {\n keyframe: function keyframe(_ref9) {\n var delta = _ref9.delta;\n return {\n '0%': {\n transform: 'scale(1)',\n opacity: 1\n },\n '100%': {\n transform: \"scale(\" + delta + \")\",\n opacity: 0\n }\n };\n },\n keyframeParams: {\n delta: 0.9\n },\n duration: faster,\n timingFunction: accelerateMax,\n fillMode: 'forwards'\n },\n // Scale Out w/ Fade - Fast\n scaleExitFast: {\n keyframe: function keyframe(_ref10) {\n var delta = _ref10.delta;\n return {\n '0%': {\n transform: 'scale(1)',\n opacity: 1\n },\n '100%': {\n transform: \"scale(\" + delta + \")\",\n opacity: 0\n }\n };\n },\n keyframeParams: {\n delta: 0.9\n },\n duration: fast,\n timingFunction: accelerateMax,\n fillMode: 'forwards'\n },\n // Scale Out w/ Fade - Normal\n scaleExitNormal: {\n keyframe: function keyframe(_ref11) {\n var delta = _ref11.delta;\n return {\n '0%': {\n transform: 'scale(1)',\n opacity: 1\n },\n '100%': {\n transform: \"scale(\" + delta + \")\",\n opacity: 0\n }\n };\n },\n keyframeParams: {\n delta: 0.9\n },\n duration: normal,\n timingFunction: accelerateMax,\n fillMode: 'forwards'\n },\n // Scale Out w/ Fade - Slow\n scaleExitSlow: {\n keyframe: function keyframe(_ref12) {\n var delta = _ref12.delta;\n return {\n '0%': {\n transform: 'scale(1)',\n opacity: 1\n },\n '100%': {\n transform: \"scale(\" + delta + \")\",\n opacity: 0\n }\n };\n },\n keyframeParams: {\n delta: 0.9\n },\n duration: slow,\n timingFunction: accelerateMax,\n fillMode: 'forwards'\n },\n // Scale Out w/ Fade - Slower\n scaleExitSlower: {\n keyframe: function keyframe(_ref13) {\n var delta = _ref13.delta;\n return {\n '0%': {\n transform: 'scale(1)',\n opacity: 1\n },\n '100%': {\n transform: \"scale(\" + delta + \")\",\n opacity: 0\n }\n };\n },\n keyframeParams: {\n delta: 0.9\n },\n duration: slower,\n timingFunction: accelerateMax,\n fillMode: 'forwards'\n },\n // Scale Out w/ Fade - UltraSlow\n scaleExitUltraSlow: {\n keyframe: function keyframe(_ref14) {\n var delta = _ref14.delta;\n return {\n '0%': {\n transform: 'scale(1)',\n opacity: 1\n },\n '100%': {\n transform: \"scale(\" + delta + \")\",\n opacity: 0\n }\n };\n },\n keyframeParams: {\n delta: 0.9\n },\n duration: ultraSlow,\n timingFunction: accelerateMax,\n fillMode: 'forwards'\n },\n scaleDownSoft: {\n keyframe: function keyframe(_ref15) {\n var delta = _ref15.delta;\n return {\n '0%': {\n transform: 'scale(1)',\n opacity: 1\n },\n '100%': {\n transform: \"scale(\" + delta + \")\",\n opacity: 0\n }\n };\n },\n keyframeParams: {\n delta: 0.9\n },\n duration: '100ms',\n timingFunction: 'cubic-bezier(.78, 0, .22, 1)',\n fillMode: 'both'\n }\n};\n//# sourceMappingURL=scale.js.map\n","import { linear } from './timingFunctions';\nimport { ultraFast, faster, fast, normal, slow, slower, ultraSlow } from './durations';\nexport var fadeInOutAnimations = {\n // Fade Ins\n // Basic Fade In Animation -- Ultra Fast\n fadeEnterUltraFast: {\n keyframe: function keyframe(_ref) {\n var delta = _ref.delta;\n return {\n '0%': {\n opacity: delta\n },\n '100%': {\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: 0\n },\n duration: ultraFast,\n timingFunction: linear,\n fillMode: 'forwards'\n },\n // Basic Fade In Animation -- Faster\n fadeEnterFaster: {\n keyframe: function keyframe(_ref2) {\n var delta = _ref2.delta;\n return {\n '0%': {\n opacity: delta\n },\n '100%': {\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: 0\n },\n duration: faster,\n timingFunction: linear,\n fillMode: 'forwards'\n },\n // Basic Fade In Animation -- Fast\n fadeEnterFast: {\n keyframe: function keyframe(_ref3) {\n var delta = _ref3.delta;\n return {\n '0%': {\n opacity: delta\n },\n '100%': {\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: 0\n },\n duration: fast,\n timingFunction: linear,\n fillMode: 'forwards'\n },\n // Basic Fade In Animation --Normal\n fadeEnterNormal: {\n keyframe: function keyframe(_ref4) {\n var delta = _ref4.delta;\n return {\n '0%': {\n opacity: delta\n },\n '100%': {\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: 0\n },\n duration: normal,\n timingFunction: linear,\n fillMode: 'forwards'\n },\n // Basic Fade In Animation --Slow\n fadeEnterSlow: {\n keyframe: function keyframe(_ref5) {\n var delta = _ref5.delta;\n return {\n '0%': {\n opacity: delta\n },\n '100%': {\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: 0\n },\n duration: slow,\n timingFunction: linear,\n fillMode: 'forwards'\n },\n // Basic Fade In Animation --Slow\n fadeEnterSlower: {\n keyframe: function keyframe(_ref6) {\n var delta = _ref6.delta;\n return {\n '0%': {\n opacity: delta\n },\n '100%': {\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: 0\n },\n duration: slower,\n timingFunction: linear,\n fillMode: 'forwards'\n },\n // Basic Fade In Animation --UltraSlow\n fadeEnterUltraSlow: {\n keyframe: function keyframe(_ref7) {\n var delta = _ref7.delta;\n return {\n '0%': {\n opacity: delta\n },\n '100%': {\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: 0\n },\n duration: ultraSlow,\n timingFunction: linear,\n fillMode: 'forwards'\n },\n // Fade Outs\n // Basic Fade Out Animation --UltraFast\n fadeExitUltraFast: {\n keyframe: function keyframe(_ref8) {\n var delta = _ref8.delta;\n return {\n '0%': {\n opacity: 1\n },\n '100%': {\n opacity: delta\n }\n };\n },\n keyframeParams: {\n delta: 0\n },\n duration: ultraFast,\n timingFunction: linear,\n fillMode: 'forwards'\n },\n // Basic Fade Out Animation --Faster\n fadeExitFaster: {\n keyframe: function keyframe(_ref9) {\n var delta = _ref9.delta;\n return {\n '0%': {\n opacity: 1\n },\n '100%': {\n opacity: delta\n }\n };\n },\n keyframeParams: {\n delta: 0\n },\n duration: faster,\n timingFunction: linear,\n fillMode: 'forwards'\n },\n // Basic Fade Out Animation --Fast\n fadeExitFast: {\n keyframe: function keyframe(_ref10) {\n var delta = _ref10.delta;\n return {\n '0%': {\n opacity: 1\n },\n '100%': {\n opacity: delta\n }\n };\n },\n keyframeParams: {\n delta: 0\n },\n duration: fast,\n timingFunction: linear,\n fillMode: 'forwards'\n },\n // Basic Fade Out Animation --Normal\n fadeExitNormal: {\n keyframe: function keyframe(_ref11) {\n var delta = _ref11.delta;\n return {\n '0%': {\n opacity: 1\n },\n '100%': {\n opacity: delta\n }\n };\n },\n keyframeParams: {\n delta: 0\n },\n duration: normal,\n timingFunction: linear,\n fillMode: 'forwards'\n },\n // Basic Fade Out Animation --Slow\n fadeExitSlow: {\n keyframe: function keyframe(_ref12) {\n var delta = _ref12.delta;\n return {\n '0%': {\n opacity: 1\n },\n '100%': {\n opacity: delta\n }\n };\n },\n keyframeParams: {\n delta: 0\n },\n duration: slow,\n timingFunction: linear,\n fillMode: 'forwards'\n },\n // Basic Fade Out Animation --Slower\n fadeExitSlower: {\n keyframe: function keyframe(_ref13) {\n var delta = _ref13.delta;\n return {\n '0%': {\n opacity: 1\n },\n '100%': {\n opacity: delta\n }\n };\n },\n keyframeParams: {\n delta: 0\n },\n duration: slower,\n timingFunction: linear,\n fillMode: 'forwards'\n },\n // Basic Fade Out Animation --UltraSlow\n fadeExitUltraSlow: {\n keyframe: function keyframe(_ref14) {\n var delta = _ref14.delta;\n return {\n '0%': {\n opacity: 1\n },\n '100%': {\n opacity: delta\n }\n };\n },\n keyframeParams: {\n delta: 0\n },\n duration: ultraSlow,\n timingFunction: linear,\n fillMode: 'forwards'\n }\n};\n//# sourceMappingURL=fade.js.map\n","import { decelerateMax, accelerateMax } from './timingFunctions';\nimport { ultraFast, faster, fast, normal, slow, slower, ultraSlow } from './durations';\nexport var slideAnimations = {\n // Slide Down Animations\n // Slides object down to original position --ultrafast\n slideDownEnterUltraFast: {\n keyframe: function keyframe(_ref) {\n var delta = _ref.delta;\n return {\n '0%': {\n transform: \"translateY(-\" + delta + \")\",\n opacity: 0\n },\n '100%': {\n transform: 'translateY(0px)',\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: ultraFast,\n timingFunction: decelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slides object down to original position -Faster\n slideDownEnterFaster: {\n keyframe: function keyframe(_ref2) {\n var delta = _ref2.delta;\n return {\n '0%': {\n transform: \"translateY(-\" + delta + \")\",\n opacity: 0\n },\n '100%': {\n transform: 'translateY(0px)',\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: faster,\n timingFunction: decelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slides object down to original position -fast\n slideDownEnterFast: {\n keyframe: function keyframe(_ref3) {\n var delta = _ref3.delta;\n return {\n '0%': {\n transform: \"translateY(-\" + delta + \")\",\n opacity: 0\n },\n '100%': {\n transform: 'translateY(0px)',\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: fast,\n timingFunction: decelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slides object in from top to bottom --normal\n slideDownEnterNormal: {\n keyframe: function keyframe(_ref4) {\n var delta = _ref4.delta;\n return {\n '0%': {\n transform: \"translateY(-\" + delta + \")\",\n opacity: 0\n },\n '100%': {\n transform: 'translateY(0px)',\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: normal,\n timingFunction: decelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slides object in from top to bottom --slow\n slideDownEnterSlow: {\n keyframe: function keyframe(_ref5) {\n var delta = _ref5.delta;\n return {\n '0%': {\n transform: \"translateY(-\" + delta + \")\",\n opacity: 0\n },\n '100%': {\n transform: 'translateY(0px)',\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: slow,\n timingFunction: decelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slides object in from top to bottom --slower\n slideDownEnterSlower: {\n keyframe: function keyframe(_ref6) {\n var delta = _ref6.delta;\n return {\n '0%': {\n transform: \"translateY(-\" + delta + \")\",\n opacity: 0\n },\n '100%': {\n transform: 'translateY(0px)',\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: slower,\n timingFunction: decelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slides object in from top to bottom - Slow\n slideDownEnterUltraSlow: {\n keyframe: function keyframe(_ref7) {\n var delta = _ref7.delta;\n return {\n '0%': {\n transform: \"translateY(-\" + delta + \")\",\n opacity: 0\n },\n '100%': {\n transform: 'translateY(0px)',\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: ultraSlow,\n timingFunction: decelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slide Up Animations\n // Slides object in from top to bottom --ultrafast\n slideUpEnterUltraFast: {\n keyframe: function keyframe(_ref8) {\n var delta = _ref8.delta;\n return {\n '0%': {\n transform: \"translateY(\" + delta + \")\",\n opacity: 0\n },\n '100%': {\n transform: 'translateY(0px)',\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: ultraFast,\n timingFunction: decelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slides object in from top to bottom --faster\n slideUpEnterFaster: {\n keyframe: function keyframe(_ref9) {\n var delta = _ref9.delta;\n return {\n '0%': {\n transform: \"translateY(\" + delta + \")\",\n opacity: 0\n },\n '100%': {\n transform: 'translateY(0px)',\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: faster,\n timingFunction: decelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slides object in from top to bottom --fast\n slideUpEnterFast: {\n keyframe: function keyframe(_ref10) {\n var delta = _ref10.delta;\n return {\n '0%': {\n transform: \"translateY(\" + delta + \")\",\n opacity: 0\n },\n '100%': {\n transform: 'translateY(0px)',\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: fast,\n timingFunction: decelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slides object in from down to up-normal\n slideUpEnterNormal: {\n keyframe: function keyframe(_ref11) {\n var delta = _ref11.delta;\n return {\n '0%': {\n transform: \"translateY(\" + delta + \")\",\n opacity: 0\n },\n '100%': {\n transform: 'translateY(0px)',\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: normal,\n timingFunction: decelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slides object in from top to bottom --slow\n slideUpEnterSlow: {\n keyframe: function keyframe(_ref12) {\n var delta = _ref12.delta;\n return {\n '0%': {\n transform: \"translateY(\" + delta + \")\",\n opacity: 0\n },\n '100%': {\n transform: 'translateY(0px)',\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: slow,\n timingFunction: decelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slides object in from bottom to top - slower\n slideUpEnterSlower: {\n keyframe: function keyframe(_ref13) {\n var delta = _ref13.delta;\n return {\n '0%': {\n transform: \"translateY(\" + delta + \")\",\n opacity: 0\n },\n '100%': {\n transform: 'translateY(0px)',\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: slower,\n timingFunction: decelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slides object in from bottom to top - ultraslow\n slideUpEnterUltraSlow: {\n keyframe: function keyframe(_ref14) {\n var delta = _ref14.delta;\n return {\n '0%': {\n transform: \"translateY(\" + delta + \")\",\n opacity: 0\n },\n '100%': {\n transform: 'translateY(0px)',\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: ultraSlow,\n timingFunction: decelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // ---Horizontal Slide Animations---- //\n // Slide Left Animations\n // Slides object in from right to left --ultrafast\n slideLeftEnterUltraFast: {\n keyframe: function keyframe(_ref15) {\n var delta = _ref15.delta;\n return {\n '0%': {\n transform: \"translateX(\" + delta + \")\",\n opacity: 0\n },\n '100%': {\n transform: 'translateX(0px)',\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: ultraFast,\n timingFunction: decelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slides object in from right to left -faster\n slideLeftEnterFaster: {\n keyframe: function keyframe(_ref16) {\n var delta = _ref16.delta;\n return {\n '0%': {\n transform: \"translateX(\" + delta + \")\",\n opacity: 0\n },\n '100%': {\n transform: 'translateX(0px)',\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: faster,\n timingFunction: decelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slides object in from right to left -Fast\n slideLeftEnterFast: {\n keyframe: function keyframe(_ref17) {\n var delta = _ref17.delta;\n return {\n '0%': {\n transform: \"translateX(\" + delta + \")\",\n opacity: 0\n },\n '100%': {\n transform: 'translateX(0px)',\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: fast,\n timingFunction: decelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slides object in from right to left -Normal\n slideLeftEnterNormal: {\n keyframe: function keyframe(_ref18) {\n var delta = _ref18.delta;\n return {\n '0%': {\n transform: \"translateX(\" + delta + \")\",\n opacity: 0\n },\n '100%': {\n transform: 'translateX(0px)',\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: '200px'\n },\n duration: normal,\n timingFunction: decelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slides object in from right to left -Slow\n slideLeftEnterSlow: {\n keyframe: function keyframe(_ref19) {\n var delta = _ref19.delta;\n return {\n '0%': {\n transform: \"translateX(\" + delta + \")\",\n opacity: 0\n },\n '100%': {\n transform: 'translateX(0px)',\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: slow,\n timingFunction: decelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slides object in from right to left - slower\n slideLeftEnterSlower: {\n keyframe: function keyframe(_ref20) {\n var delta = _ref20.delta;\n return {\n '0%': {\n transform: \"translateX(\" + delta + \")\",\n opacity: 0\n },\n '100%': {\n transform: 'translateX(0px)',\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: slower,\n timingFunction: decelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slides object in from right to left - ultraslow\n slideLeftEnterUltraSlow: {\n keyframe: function keyframe(_ref21) {\n var delta = _ref21.delta;\n return {\n '0%': {\n transform: \"translateX(\" + delta + \")\",\n opacity: 0\n },\n '100%': {\n transform: 'translateX(0px)',\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: ultraSlow,\n timingFunction: decelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slide Right Animations\n // Slides object in from left to right -ultrafast\n slideRightEnterUltraFast: {\n keyframe: function keyframe(_ref22) {\n var delta = _ref22.delta;\n return {\n '0%': {\n transform: \"translateX(-\" + delta + \")\",\n opacity: 0\n },\n '100%': {\n transform: 'translateX(0px)',\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: ultraFast,\n timingFunction: decelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slides object in from left to right - Faster\n slideRightEnterFaster: {\n keyframe: function keyframe(_ref23) {\n var delta = _ref23.delta;\n return {\n '0%': {\n transform: \"translateX(-\" + delta + \")\",\n opacity: 0\n },\n '100%': {\n transform: 'translateX(0px)',\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: faster,\n timingFunction: decelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slides object in from left to right -fast\n slideRightEnterFast: {\n keyframe: function keyframe(_ref24) {\n var delta = _ref24.delta;\n return {\n '0%': {\n transform: \"translateX(-\" + delta + \")\",\n opacity: 0\n },\n '100%': {\n transform: 'translateX(0px)',\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: fast,\n timingFunction: decelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slides object in from left to right -normal\n slideRightEnterNormal: {\n keyframe: function keyframe(_ref25) {\n var delta = _ref25.delta;\n return {\n '0%': {\n transform: \"translateX(-\" + delta + \")\",\n opacity: 0\n },\n '100%': {\n transform: 'translateX(0px)',\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: '200px'\n },\n duration: normal,\n timingFunction: decelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slides object in from left to right -slow\n slideRightEnterSlow: {\n keyframe: function keyframe(_ref26) {\n var delta = _ref26.delta;\n return {\n '0%': {\n transform: \"translateX(-\" + delta + \")\",\n opacity: 0\n },\n '100%': {\n transform: 'translateX(0px)',\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: slow,\n timingFunction: decelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slides object in from left to right- slower\n slideRightEnterSlower: {\n keyframe: function keyframe(_ref27) {\n var delta = _ref27.delta;\n return {\n '0%': {\n transform: \"translateX(-\" + delta + \")\",\n opacity: 0\n },\n '100%': {\n transform: 'translateX(0px)',\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: slower,\n timingFunction: decelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slides object in from left to right- ultraslow\n slideRightEnterUltraSlow: {\n keyframe: function keyframe(_ref28) {\n var delta = _ref28.delta;\n return {\n '0%': {\n transform: \"translateX(-\" + delta + \")\",\n opacity: 0\n },\n '100%': {\n transform: 'translateX(0px)',\n opacity: 1\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: ultraSlow,\n timingFunction: decelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slide Exit Animation///\n // Slide Down - Exit - UltraFast\n slideDownExitUltraFast: {\n keyframe: function keyframe(_ref29) {\n var delta = _ref29.delta;\n return {\n '0%': {\n transform: 'translateY(0px)',\n opacity: 1\n },\n '100%': {\n transform: \"translateY(\" + delta + \")\",\n opacity: 0\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: ultraFast,\n timingFunction: accelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slide Down - Exit - Faster\n slideDownExitFaster: {\n keyframe: function keyframe(_ref30) {\n var delta = _ref30.delta;\n return {\n '0%': {\n transform: 'translateY(0px)',\n opacity: 1\n },\n '100%': {\n transform: \"translateY(\" + delta + \")\",\n opacity: 0\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: faster,\n timingFunction: accelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slide Down - Exit - Fast\n slideDownExitFast: {\n keyframe: function keyframe(_ref31) {\n var delta = _ref31.delta;\n return {\n '0%': {\n transform: 'translateY(0px)',\n opacity: 1\n },\n '100%': {\n transform: \"translateY(\" + delta + \")\",\n opacity: 0\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: fast,\n timingFunction: accelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slide Down - Exit - Normal\n slideDownExitNormal: {\n keyframe: function keyframe(_ref32) {\n var delta = _ref32.delta;\n return {\n '0%': {\n transform: 'translateY(0px)',\n opacity: 1\n },\n '100%': {\n transform: \"translateY(\" + delta + \")\",\n opacity: 0\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: normal,\n timingFunction: accelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slide Down - Exit - Slow\n slideDownExitSlow: {\n keyframe: function keyframe(_ref33) {\n var delta = _ref33.delta;\n return {\n '0%': {\n transform: 'translateY(0px)',\n opacity: 1\n },\n '100%': {\n transform: \"translateY(\" + delta + \")\",\n opacity: 0\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: slow,\n timingFunction: accelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slide Down - Exit - Slower\n slideDownExitSlower: {\n keyframe: function keyframe(_ref34) {\n var delta = _ref34.delta;\n return {\n '0%': {\n transform: 'translateY(0px)',\n opacity: 1\n },\n '100%': {\n transform: \"translateY(\" + delta + \")\",\n opacity: 0\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: slower,\n timingFunction: accelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slide Down - Exit - Ultraslow\n slideDownExitUltraSlow: {\n keyframe: function keyframe(_ref35) {\n var delta = _ref35.delta;\n return {\n '0%': {\n transform: 'translateY(0px)',\n opacity: 1\n },\n '100%': {\n transform: \"translateY(\" + delta + \")\",\n opacity: 0\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: ultraSlow,\n timingFunction: accelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slide Up - Exit- Animations\n // Slide Up - Exit - UltraFast\n slideUpExitUltraFast: {\n keyframe: function keyframe(_ref36) {\n var delta = _ref36.delta;\n return {\n '0%': {\n transform: 'translateY(0px)',\n opacity: 1\n },\n '100%': {\n transform: \"translateY(-\" + delta + \")\",\n opacity: 0\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: ultraFast,\n timingFunction: accelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slide Up - Exit - Faster\n slideUpExitFaster: {\n keyframe: function keyframe(_ref37) {\n var delta = _ref37.delta;\n return {\n '0%': {\n transform: 'translateY(0px)',\n opacity: 1\n },\n '100%': {\n transform: \"translateY(-\" + delta + \")\",\n opacity: 0\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: faster,\n timingFunction: accelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slide Up - Exit - Fast\n slideUpExitFast: {\n keyframe: function keyframe(_ref38) {\n var delta = _ref38.delta;\n return {\n '0%': {\n transform: 'translateY(0px)',\n opacity: 1\n },\n '100%': {\n transform: \"translateY(-\" + delta + \")\",\n opacity: 0\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: fast,\n timingFunction: accelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slide Up - Exit - Normal\n slideUpExitNormal: {\n keyframe: function keyframe(_ref39) {\n var delta = _ref39.delta;\n return {\n '0%': {\n transform: 'translateY(0px)',\n opacity: 1\n },\n '100%': {\n transform: \"translateY(-\" + delta + \")\",\n opacity: 0\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: normal,\n timingFunction: accelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slide Up - Exit - Slow\n slideUpExitSlow: {\n keyframe: function keyframe(_ref40) {\n var delta = _ref40.delta;\n return {\n '0%': {\n transform: 'translateY(0px)',\n opacity: 1\n },\n '100%': {\n transform: \"translateY(-\" + delta + \")\",\n opacity: 0\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: slow,\n timingFunction: accelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slide Up - Exit - Slower\n slideUpExitSlower: {\n keyframe: function keyframe(_ref41) {\n var delta = _ref41.delta;\n return {\n '0%': {\n transform: 'translateY(0px)',\n opacity: 1\n },\n '100%': {\n transform: \"translateY(-\" + delta + \")\",\n opacity: 0\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: slower,\n timingFunction: accelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slide Up - Exit - Ultra Slow\n slideUpExitUltraSlow: {\n keyframe: function keyframe(_ref42) {\n var delta = _ref42.delta;\n return {\n '0%': {\n transform: 'translateY(0px)',\n opacity: 1\n },\n '100%': {\n transform: \"translateY(-\" + delta + \")\",\n opacity: 0\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: ultraSlow,\n timingFunction: accelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slide Right Exit Animations\n // Slide Right Exit - Ultrafast\n slideRightExitUltraFast: {\n keyframe: function keyframe(_ref43) {\n var delta = _ref43.delta;\n return {\n '0%': {\n transform: 'translateX(0px)',\n opacity: 1\n },\n '100%': {\n transform: \"translateX(\" + delta + \")\",\n opacity: 0\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: ultraFast,\n timingFunction: accelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slide Right Exit - Faster\n slideRightExitFaster: {\n keyframe: function keyframe(_ref44) {\n var delta = _ref44.delta;\n return {\n '0%': {\n transform: 'translateX(0px)',\n opacity: 1\n },\n '100%': {\n transform: \"translateX(\" + delta + \")\",\n opacity: 0\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: faster,\n timingFunction: accelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slide Right Exit - Fast\n slideRightExitFast: {\n keyframe: function keyframe(_ref45) {\n var delta = _ref45.delta;\n return {\n '0%': {\n transform: 'translateX(0px)',\n opacity: 1\n },\n '100%': {\n transform: \"translateX(\" + delta + \")\",\n opacity: 0\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: fast,\n timingFunction: accelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slide Right Exit - Normal\n slideRightExitNormal: {\n keyframe: function keyframe(_ref46) {\n var delta = _ref46.delta;\n return {\n '0%': {\n transform: 'translateX(0px)',\n opacity: 1\n },\n '100%': {\n transform: \"translateX(\" + delta + \")\",\n opacity: 0\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: normal,\n timingFunction: accelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slide Right Exit - Slow\n slideRightExitSlow: {\n keyframe: function keyframe(_ref47) {\n var delta = _ref47.delta;\n return {\n '0%': {\n transform: 'translateX(0px)',\n opacity: 1\n },\n '100%': {\n transform: \"translateX(\" + delta + \")\",\n opacity: 0\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: slow,\n timingFunction: accelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slide Right Exit - Ultrafast\n slideRightExitSlower: {\n keyframe: function keyframe(_ref48) {\n var delta = _ref48.delta;\n return {\n '0%': {\n transform: 'translateX(0px)',\n opacity: 1\n },\n '100%': {\n transform: \"translateX(\" + delta + \")\",\n opacity: 0\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: slower,\n timingFunction: accelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slide Right Exit - Ultraslow\n slideRightExitUltraSlow: {\n keyframe: function keyframe(_ref49) {\n var delta = _ref49.delta;\n return {\n '0%': {\n transform: 'translateX(0px)',\n opacity: 1\n },\n '100%': {\n transform: \"translateX(\" + delta + \")\",\n opacity: 0\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: ultraSlow,\n timingFunction: accelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slide Left Exit Aniamtions\n // Slide Left Exit -ultrafast\n slideLeftExitUltraFast: {\n keyframe: function keyframe(_ref50) {\n var delta = _ref50.delta;\n return {\n '0%': {\n transform: 'translateX(0px)',\n opacity: 1\n },\n '100%': {\n transform: \"translateX(-\" + delta + \")\",\n opacity: 0\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: ultraFast,\n timingFunction: accelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slide Left Exit -Faster\n slideLeftExitFaster: {\n keyframe: function keyframe(_ref51) {\n var delta = _ref51.delta;\n return {\n '0%': {\n transform: 'translateX(0px)',\n opacity: 1\n },\n '100%': {\n transform: \"translateX(-\" + delta + \")\",\n opacity: 0\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: faster,\n timingFunction: accelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slide Left Exit -Fast\n slideLeftExitFast: {\n keyframe: function keyframe(_ref52) {\n var delta = _ref52.delta;\n return {\n '0%': {\n transform: 'translateX(0px)',\n opacity: 1\n },\n '100%': {\n transform: \"translateX(-\" + delta + \")\",\n opacity: 0\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: fast,\n timingFunction: accelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slide Left Exit -Normal\n slideLeftExitNormal: {\n keyframe: function keyframe(_ref53) {\n var delta = _ref53.delta;\n return {\n '0%': {\n transform: 'translateX(0px)',\n opacity: 1\n },\n '100%': {\n transform: \"translateX(-\" + delta + \")\",\n opacity: 0\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: normal,\n timingFunction: accelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slide Left Exit -Slow\n slideLeftExitSlow: {\n keyframe: function keyframe(_ref54) {\n var delta = _ref54.delta;\n return {\n '0%': {\n transform: 'translateX(0px)',\n opacity: 1\n },\n '100%': {\n transform: \"translateX(-\" + delta + \")\",\n opacity: 0\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: slow,\n timingFunction: accelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slide Left Exit -Slower\n slideLeftExitSlower: {\n keyframe: function keyframe(_ref55) {\n var delta = _ref55.delta;\n return {\n '0%': {\n transform: 'translateX(0px)',\n opacity: 1\n },\n '100%': {\n transform: \"translateX(-\" + delta + \")\",\n opacity: 0\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: slower,\n timingFunction: accelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n },\n // Slide Left Exit -Ultraslow\n slideLeftExitUltraSlow: {\n keyframe: function keyframe(_ref56) {\n var delta = _ref56.delta;\n return {\n '0%': {\n transform: 'translateX(0px)',\n opacity: 1\n },\n '100%': {\n transform: \"translateX(-\" + delta + \")\",\n opacity: 0\n }\n };\n },\n keyframeParams: {\n delta: '20px'\n },\n duration: ultraSlow,\n timingFunction: accelerateMax,\n direction: 'forward',\n fillMode: 'forwards'\n }\n};\n//# sourceMappingURL=slide.js.map\n","import { scaleAnimations } from './scale';\nimport { fadeInOutAnimations as fadeAnimations } from './fade';\nimport { slideAnimations } from './slide';\nexport var animations = Object.assign({}, fadeAnimations, scaleAnimations, slideAnimations, {\n 'carousel-slide-to-next-enter': slideAnimations.slideLeftEnterNormal,\n 'carousel-slide-to-previous-enter': slideAnimations.slideRightEnterNormal,\n 'popup-show': fadeAnimations.fadeEnterUltraFast,\n 'popup-hide': fadeAnimations.fadeExitUltraFast\n});\n//# sourceMappingURL=index.js.map\n","import { pxToRem } from '../../utils';\nimport { colors } from './colors'; //\n// COLORS\n//\n\nexport { categoryColors, categoryColorScheme } from './categoryColors';\nexport { colors, contextualColors, naturalColors, primitiveColors, colorScheme, transparentColors } from './colors'; //\n// BORDER STYLES\n//\n\nexport var borderWidth = '1px';\nexport var borderRadius = '2px';\nexport var focusInnerBorderColor = colors.white;\nexport var focusOuterBorderColor = colors.black; //\n// SHADOW LEVELS\n//\n\nexport var shadowLevel1 = '0 .2rem .4rem -.075rem rgba(0, 0, 0, .1)';\nexport var shadowLevel2 = '0 .4rem .7rem -.1rem rgba(0, 0, 0, .1)';\nexport var shadowLevel3 = '0 .8rem 1rem -.2rem rgba(0, 0, 0, .1)';\nexport var shadowLevel4 = '0 1.6rem 1.8rem -.4rem rgba(0, 0, 0, .1)';\nexport var shadowLevel1Dark = '0 .2rem .4rem -.075rem rgba(0, 0, 0, .25)'; //\n// FONT SIZES\n//\n\nexport var fontSizes = {\n smaller: pxToRem(10),\n small: pxToRem(12),\n medium: pxToRem(14),\n large: pxToRem(18),\n larger: pxToRem(24),\n largest: pxToRem(28)\n}; //\n// FONT WEIGHTS\n//\n\nexport var fontWeightLight = 200;\nexport var fontWeightSemilight = 300;\nexport var fontWeightRegular = 400;\nexport var fontWeightSemibold = 600;\nexport var fontWeightBold = 700; //\n// LINE HEIGHTS\n//\n\nexport var lineHeightDefault = 1;\nexport var lineHeightSmaller = 1.2;\nexport var lineHeightSmall = 1.3333;\nexport var lineHeightMedium = 1.4286;\nexport var lineHeightLarge = 1.3333;\nexport var lineHeightLarger = 1.3333;\nexport var lineHeightLargest = 1.3333; //\n// Z-INDEX\n// Used to maintain proper stack order of components\n//\n\nexport var zIndexes = {\n background: 0,\n // Default value\n foreground: 1,\n // Put a component in front\n menuItem: 2,\n // Currently used only for menu item beak element\n overlay: 1000,\n // Dialog/popup/menu overlays\n overlayPriority: 1001,\n // for nested overlays, like tooltip in dialog.\n debug: 999999999 // for debug purposes\n\n}; //\n// SEMANTIC ASSIGNMENTS\n//\n\nexport var bodyPadding = 0;\nexport var bodyMargin = 0;\nexport var bodyFontFamily = '\"Segoe UI\", system-ui, \"Apple Color Emoji\", \"Segoe UI Emoji\", sans-serif';\nexport var bodyFontSize = fontSizes.medium;\nexport var bodyBackground = colors.white;\nexport var bodyColor = colors.grey[750];\nexport var bodyLineHeight = lineHeightMedium;\n//# sourceMappingURL=siteVariables.js.map\n","export var accordionVariables = function accordionVariables(siteVariables) {\n return {\n color: siteVariables.bodyColor\n };\n};\n//# sourceMappingURL=accordionVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var attachmentVariables = function attachmentVariables(siteVariables) {\n return {\n padding: pxToRem(7) + \" \" + pxToRem(3) + \" \" + pxToRem(7) + \" \" + pxToRem(11),\n // padding set to 1px less to account for 1px border\n iconSpace: pxToRem(12),\n iconSize: pxToRem(32),\n borderColor: siteVariables.colorScheme.default.border3,\n borderRadius: pxToRem(3),\n backgroundColor: siteVariables.colorScheme.default.background4,\n backgroundColorHover: siteVariables.colorScheme.default.backgroundHover1,\n textColor: siteVariables.colorScheme.default.foreground,\n textColorHover: siteVariables.colorScheme.default.foregroundHover,\n boxShadow: siteVariables.shadowLevel1,\n focusBackgroundColor: undefined,\n focusColor: undefined,\n progressColor: siteVariables.colorScheme.green.background,\n progressHeight: pxToRem(4),\n headerFontSize: siteVariables.fontSizes.medium,\n headerFontWeight: siteVariables.fontWeightSemibold,\n headerLineHeight: siteVariables.lineHeightMedium,\n descriptionFontSize: siteVariables.fontSizes.small,\n descriptionFontWeight: siteVariables.fontWeightRegular,\n descriptionLineHeight: siteVariables.lineHeightDefault,\n // action variables\n actionHeight: pxToRem(32),\n actionMaxWidth: pxToRem(280),\n actionColor: siteVariables.colorScheme.default.foreground,\n actionPrimaryColor: siteVariables.colorScheme.brand.foreground,\n actionColorDisabled: siteVariables.colorScheme.brand.foregroundDisabled1,\n actionIconSize: pxToRem(16),\n actionLoaderBorderSize: pxToRem(2),\n actionLoaderSize: pxToRem(20),\n actionLoaderSvgHeight: pxToRem(1220),\n actionLoaderSvgAnimationHeight: pxToRem(-1200),\n actionFocusBorderRadius: pxToRem(3)\n };\n};\n//# sourceMappingURL=attachmentVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var alertVariables = function alertVariables(siteVars) {\n var minHeight = pxToRem(28);\n return {\n borderStyle: 'solid',\n borderWidth: '1px',\n borderRadius: pxToRem(3),\n backgroundColor: siteVars.colorScheme.default.background4,\n borderColor: siteVars.colorScheme.default.border2,\n color: siteVars.colorScheme.default.foreground1,\n fontWeight: siteVars.fontWeightRegular,\n minHeight: minHeight,\n padding: \"0 \" + pxToRem(16),\n actionsMargin: pxToRem(5),\n hoverBorderColor: undefined,\n hoverBackgroundColor: undefined,\n focusBackgroundColor: undefined,\n dismissActionHoverBorderRadius: undefined,\n dismissActionHoverBorderWidth: undefined,\n dismissActionHoverInnerBorderColor: undefined,\n dismissActionHoverOuterBorderColor: undefined,\n dismissActionHoverZIndex: undefined,\n dismissActionSize: minHeight,\n dismissActionColor: undefined,\n dismissiblePadding: \"0 0 0 \" + pxToRem(16),\n dangerColor: siteVars.colorScheme.red.foreground,\n dangerBackgroundColor: siteVars.colorScheme.red.background1,\n dangerBorderColor: siteVars.colorScheme.red.border,\n oof: false,\n oofColor: siteVars.colorScheme.pink.foreground,\n oofBackgroundColor: siteVars.colorScheme.pink.background,\n oofBorderColor: siteVars.colorScheme.pink.border,\n successColor: siteVars.colorScheme.green.foreground,\n successBackgroundColor: siteVars.colorScheme.green.background2,\n successBorderColor: siteVars.colorScheme.green.border,\n urgent: false,\n urgentColor: siteVars.colorScheme.red.foreground1,\n urgentBackgroundColor: siteVars.colorScheme.red.background3,\n urgentBorderColor: siteVars.colorScheme.red.background3,\n warningColor: siteVars.colorScheme.yellow.foreground4,\n warningBackgroundColor: siteVars.colorScheme.yellow.background3,\n warningBorderColor: siteVars.colorScheme.yellow.border,\n headerFontWeight: siteVars.fontWeightSemibold,\n headerMargin: \"0 \" + pxToRem(10) + \" 0 0\",\n iconMargin: \"0 \" + pxToRem(10) + \" 0 0\",\n iconSize: pxToRem(16),\n dismissActionBackgroundColor: 'transparent',\n dismissActionBorderRadius: siteVars.borderRadius,\n dismissActionBorderColor: 'transparent',\n dismissActionColorHover: siteVars.colorScheme.brand.foregroundHover,\n dismissActionBackgroundColorHover: siteVars.colorScheme.default.backgroundHover2,\n dismissActionBorderColorHover: siteVars.colorScheme.default.borderHover,\n dismissActionContentFontWeight: siteVars.fontWeightSemibold,\n dismissActionBackgroundColorFocus: undefined,\n dismissActionBorderColorFocus: undefined,\n dismissActionColorFocus: undefined,\n dismissActionColorDisabled: siteVars.colorScheme.brand.foregroundDisabled,\n dismissActionBackgroundColorDisabled: siteVars.colorScheme.default.backgroundDisabled,\n dismissActionBorderColorDisabled: 'transparent',\n dismissActionIndicatorSize: pxToRem(16),\n focusBorderRadius: siteVars.borderRadius,\n focusBorderWidth: siteVars.borderWidth,\n focusInnerBorderColor: siteVars.focusInnerBorderColor,\n focusOuterBorderColor: siteVars.focusOuterBorderColor,\n focusBorderZIndex: siteVars.zIndexes.foreground\n };\n};\n//# sourceMappingURL=alertVariables.js.map\n","import { pxToRem, stringLiteralsArray } from '../../../../utils';\nexport var labelColorAreas = stringLiteralsArray('foreground', 'background');\nexport var avatarVariables = function avatarVariables(siteVariables) {\n return {\n avatarBorderColor: '',\n avatarBorderWidth: '0',\n squareAvatarBorderRadius: pxToRem(3),\n iconColor: siteVariables.colors.white,\n iconBackgroundColor: siteVariables.colors.brand[600],\n statusBorderWidth: '2px',\n statusIconSize: pxToRem(7),\n statusBorderColor: siteVariables.bodyBackground,\n statusSuccessBackgroundColor: siteVariables.colorScheme.green.background,\n statusSuccessColor: siteVariables.colorScheme.green.foreground1,\n statusInfoBackgroundColor: siteVariables.colorScheme.brand.background,\n statusInfoColor: siteVariables.colorScheme.default.foreground2,\n statusWarningBackgroundColor: siteVariables.colorScheme.yellow.background,\n statusWarningColor: siteVariables.colorScheme.yellow.foreground2,\n statusErrorBackgroundColor: siteVariables.colorScheme.red.background,\n statusErrorColor: siteVariables.colorScheme.red.foreground2,\n statusBackgroundColor: siteVariables.colorScheme.default.background5,\n statusColor: siteVariables.colorScheme.default.foreground4,\n imageWidth: undefined,\n imageHeight: undefined,\n imageAvatarRadius: pxToRem(9999),\n imageAvatarSize: pxToRem(32),\n imageCircularRadius: pxToRem(9999),\n labelCircularRadius: pxToRem(9999),\n labelColor: 'rgba(0, 0, 0, 0.6)',\n labelBackground: 'rgb(232, 232, 232)'\n };\n};\n//# sourceMappingURL=avatarVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var buttonVariables = function buttonVariables(siteVars) {\n return {\n padding: \"0 \" + pxToRem(20),\n height: pxToRem(32),\n minWidth: pxToRem(96),\n loadingMinWidth: pxToRem(118),\n maxWidth: pxToRem(280),\n borderRadius: siteVars.borderRadius,\n contentFontSize: siteVars.fontSizes.medium,\n contentFontWeight: siteVars.fontWeightSemibold,\n contentLineHeight: siteVars.lineHeightMedium,\n color: siteVars.colorScheme.default.foreground,\n colorHover: siteVars.colorScheme.default.foregroundHover,\n colorActive: siteVars.colorScheme.default.foregroundPressed,\n colorDisabled: siteVars.colorScheme.brand.foregroundDisabled,\n colorFocus: undefined,\n iconSize: pxToRem(16),\n backgroundColor: siteVars.colorScheme.default.background,\n backgroundColorActive: siteVars.colorScheme.default.backgroundPressed,\n backgroundColorHover: siteVars.colorScheme.default.backgroundHover1,\n backgroundColorFocus: undefined,\n backgroundColorDisabled: siteVars.colorScheme.default.backgroundDisabled,\n borderColor: siteVars.colorScheme.default.border,\n borderColorHover: siteVars.colorScheme.default.borderHover,\n borderColorFocus: undefined,\n borderColorActive: siteVars.colorScheme.default.borderPressed,\n borderColorDisabled: 'transparent',\n backgroundColorIconOnlyHover: siteVars.colorScheme.default.backgroundHover2,\n primaryColor: siteVars.colorScheme.brand.foreground4,\n primaryColorHover: siteVars.colorScheme.brand.foreground4,\n primaryBackgroundColor: siteVars.colorScheme.brand.background,\n primaryBackgroundColorActive: siteVars.colorScheme.brand.backgroundPressed,\n primaryBackgroundColorHover: siteVars.colorScheme.brand.backgroundHover,\n primaryBackgroundColorDisabled: siteVars.colorScheme.default.backgroundDisabled,\n primaryBackgroundColorFocus: undefined,\n primaryBorderColor: 'transparent',\n tintedColor: siteVars.colorScheme.brand.foreground,\n tintedColorHover: siteVars.colorScheme.brand.foreground,\n tintedBackgroundColor: siteVars.colorScheme.default.background,\n tintedBackgroundColorActive: siteVars.colorScheme.brand.backgroundHover1,\n tintedBackgroundColorHover: siteVars.colorScheme.brand.backgroundHover1,\n tintedBorderColor: siteVars.colorScheme.brand.border1,\n tintedBorderColorHover: siteVars.colorScheme.brand.borderHover,\n circularBorderRadius: pxToRem(999),\n textColor: siteVars.colorScheme.default.foreground1,\n textColorHover: siteVars.colorScheme.brand.foreground1,\n textPrimaryColor: siteVars.colorScheme.brand.foreground,\n textPrimaryColorHover: siteVars.colorScheme.brand.foreground1,\n textColorDisabled: siteVars.colorScheme.brand.foregroundDisabled1,\n textColorIconOnlyHover: siteVars.colorScheme.brand.foregroundHover,\n primaryBoxShadow: siteVars.shadowLevel1Dark,\n boxShadow: siteVars.shadowLevel1,\n loaderBorderSize: pxToRem(2),\n loaderSize: pxToRem(20),\n loaderSvgHeight: pxToRem(1220),\n loaderSvgAnimationHeight: pxToRem(-1200),\n sizeSmallContentFontSize: siteVars.fontSizes.small,\n sizeSmallContentLineHeight: siteVars.lineHeightSmall,\n sizeSmallHeight: pxToRem(24),\n sizeSmallMinWidth: pxToRem(72),\n sizeSmallPadding: \"0 \" + pxToRem(8),\n sizeSmallLoaderBorderSize: pxToRem(2),\n sizeSmallLoaderSize: pxToRem(15),\n sizeSmallLoaderSvgHeight: pxToRem(895),\n sizeSmallLoaderSvgAnimationHeight: pxToRem(-880)\n };\n};\n//# sourceMappingURL=buttonVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var breadcrumbVariables = function breadcrumbVariables(siteVars) {\n return {\n dividerMargin: \"0 \" + pxToRem(8),\n fontSizeSmaller: pxToRem(12),\n fontSizeSmall: pxToRem(12),\n fontSizeMedium: pxToRem(14),\n fontSizeLarge: pxToRem(18),\n // Breadcrumb Item\n itemCurrentFontWeight: siteVars.fontWeightBold,\n // Breadcrumb Link\n linkPaddingTop: pxToRem(6),\n linkPaddingBottom: pxToRem(6),\n linkPaddingLeftSmaller: pxToRem(4),\n linkPaddingRightSmaller: pxToRem(4),\n linkPaddingLeftSmall: pxToRem(8),\n linkPaddingRightSmall: pxToRem(8),\n linkPaddingLeftMedium: pxToRem(12),\n linkPaddingRightMedium: pxToRem(12),\n linkPaddingLeftLarge: pxToRem(12),\n linkPaddingRightLarge: pxToRem(12),\n linkSmallerGap: pxToRem(2),\n linkSmallGap: pxToRem(8),\n linkMediumGap: pxToRem(8),\n linkLargeGap: pxToRem(8),\n disabledColor: siteVars.colorScheme.default.foregroundDisabled\n };\n};\n//# sourceMappingURL=breadcrumbVariables.js.map\n","export var chatVariables = function chatVariables(siteVars) {\n return {\n backgroundColor: siteVars.colors.grey[100]\n };\n};\n//# sourceMappingURL=chatVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var chatItemVariables = function chatItemVariables() {\n return {\n margin: pxToRem(8),\n gutterMargin: pxToRem(10),\n messageMargin: pxToRem(40)\n };\n};\n//# sourceMappingURL=chatItemVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var chatMessageVariables = function chatMessageVariables(siteVars) {\n return {\n actionMenuBoxShadow: siteVars.shadowLevel1,\n actionMenuPositionRight: pxToRem(5),\n actionMenuPositionTop: pxToRem(-30),\n backgroundColor: siteVars.colors.white,\n backgroundColorMine: siteVars.colors.brand[100],\n borderRadius: pxToRem(3),\n color: 'rgb(64, 64, 64)',\n offset: pxToRem(100),\n padding: pxToRem(16),\n authorMarginRight: pxToRem(12),\n authorColor: siteVars.colorScheme.default.foreground,\n authorFontWeight: siteVars.fontWeightSemibold,\n headerMarginBottom: pxToRem(2),\n contentColor: siteVars.colors.grey[750],\n linkColor: siteVars.colorScheme.brand.foreground1,\n linkColorMine: siteVars.colorScheme.brand.foreground2,\n border: 'none',\n badgeShadow: siteVars.shadowLevel1Dark,\n isImportant: false,\n hasMention: false,\n hasMentionColor: siteVars.colors.orange[300],\n hasMentionNubbinColor: siteVars.colors.orange[400],\n isImportantColor: siteVars.colors.red[400],\n badgeTextColor: siteVars.colors.white,\n reactionGroupMarginLeft: pxToRem(12),\n reactionGroupBorderColor: 'transparent',\n showActionMenu: undefined,\n timestampColorMine: siteVars.colorScheme.default.foreground1,\n zIndex: siteVars.zIndexes.foreground,\n overlayZIndex: siteVars.zIndexes.overlay\n };\n};\n//# sourceMappingURL=chatMessageVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var chatMessageDetailsVariables = function chatMessageDetailsVariables(siteVars) {\n return {\n detailsColor: siteVars.colors.grey[350],\n detailsHoverColor: siteVars.colors.grey[500],\n detailsColorMine: siteVars.colors.grey[500],\n detailsHoverColorMine: siteVars.colors.grey[500],\n detailsFontSize: siteVars.fontSizes.small,\n detailsMargin: pxToRem(12)\n };\n};\n//# sourceMappingURL=chatMessageDetailsVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var chatMessageReadStatusVariables = function chatMessageReadStatusVariables(siteVars) {\n return {\n rightPoistion: pxToRem(-24),\n bottomPoistion: pxToRem(0)\n };\n};\n//# sourceMappingURL=chatMessageReadStatusVariables.js.map\n","import _get from \"lodash/get\";\nimport { pxToRem } from '../../../../utils';\nvar toggleMovementDistance = pxToRem(20);\nvar padding = pxToRem(2);\nvar defaultValue = 'red';\nexport var checkboxVariables = function checkboxVariables(siteVars) {\n return {\n checkboxColor: 'transparent',\n toggleBackground: 'transparent',\n toggleBorderColor: siteVars.colors.grey[300],\n toggleBorderStyle: \"solid\",\n toggleBorderWidth: pxToRem(1),\n toggleIndicatorColor: 'inherit',\n checkboxCheckedColor: siteVars.colors.grey[500],\n checkboxToggleCheckedBackground: 'transparent',\n checkboxToggleCheckedBorderColor: siteVars.colors.grey[500],\n checkboxToggleCheckedColor: 'inherit',\n disabledColor: siteVars.colors.grey[300],\n disabledCheckboxColor: siteVars.colors.grey[300],\n disabledToggleBackground: 'transparent',\n disabledToggleBorderColor: siteVars.colors.grey[200],\n textColor: _get(siteVars, 'colorScheme.default.foreground1', defaultValue),\n background: 'transparent',\n borderColor: _get(siteVars, 'colorScheme.default.foreground1', defaultValue),\n borderStyle: 'solid',\n borderRadius: pxToRem(3),\n borderWidth: pxToRem(1),\n indicatorColor: 'transparent',\n gap: pxToRem(12),\n margin: pxToRem(2.8) + \" 0 0 0\",\n padding: padding,\n rootPadding: '3px 5px',\n textColorHover: _get(siteVars, 'colorScheme.default.foreground', defaultValue),\n borderColorHover: _get(siteVars, 'colorScheme.default.foreground', defaultValue),\n checkedBackgroundHover: _get(siteVars, 'colorScheme.brand.backgroundHover', defaultValue),\n toggleBorderRadius: pxToRem(999),\n toggleIndicatorSize: pxToRem(14),\n toggleMargin: '0',\n togglePadding: padding + \" \" + toggleMovementDistance + \" \" + padding + \" \" + padding,\n toggleWidth: pxToRem(38),\n toggleHeight: pxToRem(20),\n checkedTextColor: _get(siteVars, 'colorScheme.default.foreground', defaultValue),\n checkedBackground: _get(siteVars, 'colorScheme.brand.backgroundActive1', defaultValue),\n checkedBorderColor: _get(siteVars, 'colorScheme.brand.backgroundActive1', defaultValue),\n checkedIndicatorColor: _get(siteVars, 'colorScheme.default.background', defaultValue),\n toggleCheckedPadding: padding + \" \" + padding + \" \" + padding + \" \" + toggleMovementDistance,\n disabledBackground: _get(siteVars, 'colorScheme.default.background', defaultValue),\n disabledBackgroundChecked: _get(siteVars, 'colorScheme.default.backgroundDisabled', defaultValue),\n disabledBorderColor: _get(siteVars, 'colorScheme.default.foregroundDisabled1', defaultValue),\n disabledCheckedIndicatorColor: _get(siteVars, 'colorScheme.default.foregroundDisabled', defaultValue),\n disabledToggleIndicatorColor: _get(siteVars, 'colorScheme.default.foregroundDisabled', defaultValue)\n };\n};\n//# sourceMappingURL=checkboxVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var dialogVariables = function dialogVariables(siteVariables) {\n return {\n border: 'none',\n rootBackground: siteVariables.colors.white,\n rootBorderRadius: pxToRem(3),\n rootWidth: '50vw',\n rootPadding: pxToRem(27) + \" \" + pxToRem(32) + \" \" + pxToRem(32) + \" \" + pxToRem(32),\n contentMargin: \"0 0 \" + pxToRem(20) + \" 0\",\n boxShadow: siteVariables.shadowLevel4,\n foregroundColor: siteVariables.colors.grey[900],\n headerFontSize: siteVariables.fontSizes.large,\n headerFontWeight: siteVariables.fontWeightBold,\n headerMargin: \"0 0 \" + pxToRem(8) + \" 0\",\n overlayBackground: 'rgba(37, 36, 36, .75)',\n // todo: update to a palette value when daisy has mapped one\n overlayZIndex: siteVariables.zIndexes.overlay,\n headerActionMargin: pxToRem(-3) + \" \" + pxToRem(-8) + \" 0 0\"\n };\n};\n//# sourceMappingURL=dialogVariables.js.map\n","import { pxToRem } from '../../../../utils';\n\nvar _map = [3, 12].map(function (v) {\n return pxToRem(v);\n}),\n cornerRadius = _map[0],\n _12px_asRem = _map[1];\n\nexport var dropdownVariables = function dropdownVariables(siteVars) {\n return {\n backgroundColor: siteVars.colorScheme.default.background2,\n backgroundColorHover: siteVars.colorScheme.default.backgroundHover3,\n invertedBackgroundColor: siteVars.colorScheme.default.background,\n invertedBackgroundColorHover: siteVars.colorScheme.default.backgroundHover4,\n borderColor: 'transparent',\n borderColorHover: 'transparent',\n borderColorFocus: siteVars.colorScheme.brand.borderFocus1,\n borderError: siteVars.colorScheme.red.background,\n borderWidth: '0px',\n openBorderColorHover: undefined,\n containerBorderRadius: \"\" + cornerRadius,\n disabledColor: siteVars.colorScheme.default.foregroundDisabled,\n openAboveContainerBorderRadius: \"0 0 \" + cornerRadius + \" \" + cornerRadius,\n openBelowContainerBorderRadius: cornerRadius + \" \" + cornerRadius + \" 0 0\",\n searchBorderBottomWidth: pxToRem(2),\n color: siteVars.colorScheme.default.foreground1,\n comboboxPaddingButton: \"0 \" + _12px_asRem,\n comboboxFlexBasis: pxToRem(50),\n aboveListBorderRadius: cornerRadius + \" \" + cornerRadius + \" 0 0\",\n belowListBorderRadius: \"0 0 \" + cornerRadius + \" \" + cornerRadius,\n listBackgroundColor: siteVars.colorScheme.default.background,\n listBorderColor: 'transparent',\n listBorderWidth: '0px',\n listPadding: pxToRem(8) + \" 0 \" + pxToRem(6),\n listBoxShadow: siteVars.shadowLevel3,\n listMaxHeight: pxToRem(296),\n listItemFocusBorderWidth: pxToRem(1),\n listItemBackgroundColor: 'transparent',\n listItemBackgroundColorActive: siteVars.colorScheme.default.backgroundActive,\n listItemBackgroundColorHover: siteVars.colorScheme.default.backgroundHover,\n listItemColorActive: siteVars.colorScheme.default.backgroundFocus3,\n listItemColorHover: siteVars.colorScheme.default.foregroundHover,\n listItemSelectedColor: siteVars.colorScheme.default.foreground,\n listItemSelectedFontWeight: siteVars.fontWeightSemibold,\n // TODO: prod app uses 17.5px here, it should be 16px per the design guide!\n listItemHeaderLineHeight: siteVars.lineHeightSmall,\n listItemContentLineHeight: siteVars.lineHeightSmall,\n selectedItemBackgroundColor: siteVars.colorScheme.default.background,\n selectedItemBackgroundColorHover: siteVars.colorScheme.brand.backgroundHover2,\n selectedItemBorder: 'none',\n selectedItemColor: siteVars.colorScheme.default.foreground,\n selectedItemColorHover: siteVars.colorScheme.default.foregroundHover,\n selectedItemIconColor: siteVars.colorScheme.default.foreground1,\n selectedItemIconColorHover: siteVars.colorScheme.brand.foregroundHover,\n selectedItemsMaxWidth: pxToRem(140),\n selectedItemColorFocus: siteVars.bodyColor,\n selectedItemsMaxHeight: pxToRem(82),\n toggleIndicatorSize: pxToRem(32),\n triggerButtonColorFocusActive: undefined,\n triggerButtonColorHover: siteVars.bodyColor,\n width: pxToRem(356),\n overlayZIndex: siteVars.zIndexes.overlay,\n // disabled state\n disabledBorderColorHover: 'transparent',\n disabledTriggerColorHover: siteVars.colorScheme.brand.foregroundDisabled,\n disabledBackgroundColorHover: siteVars.colorScheme.brand.backgroundDisabled,\n // these should only apply when there is content in the image/media slot:\n listItemHeaderFontSize: siteVars.fontSizes.medium,\n listItemHeaderColor: siteVars.colorScheme.default.foreground1,\n listItemContentFontSize: siteVars.fontSizes.small,\n listItemContentColor: siteVars.colorScheme.default.foreground2,\n headerMessageBackgroundColor: siteVars.colors.white,\n noResultsMessageBackgroundColor: 'transparent',\n loadingMessageBackgroundColor: 'transparent'\n };\n};\n//# sourceMappingURL=dropdownVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var embedVariables = function embedVariables(siteVariables) {\n return {\n controlColor: siteVariables.colors.white,\n controlBackgroundColor: siteVariables.colors.onyx[900],\n controlBackgroundSize: pxToRem(24) + \" \" + pxToRem(24),\n width: undefined,\n height: undefined,\n focusBorderColor: siteVariables.colors.brand[500],\n zIndex: siteVariables.zIndexes.foreground\n };\n};\n//# sourceMappingURL=embedVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var flexVariables = function flexVariables() {\n return {\n // GAP VALUES\n 'gap.smaller': pxToRem(8),\n 'gap.small': pxToRem(10),\n 'gap.medium': pxToRem(15),\n 'gap.large': pxToRem(30),\n // PADDING VALUES\n 'padding.medium': pxToRem(10)\n };\n};\n//# sourceMappingURL=flexVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var flexItemVariables = function flexItemVariables() {\n return {\n 'size.half': '50%',\n 'size.quarter': '25%',\n 'size.small': pxToRem(150),\n 'size.medium': pxToRem(200),\n 'size.large': pxToRem(300)\n };\n};\n//# sourceMappingURL=flexItemVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var formVariables = function formVariables(siteVariables) {\n return {\n lastChildMarginTop: pxToRem(12),\n fieldsMarginBottom: pxToRem(20)\n };\n};\n//# sourceMappingURL=formVariables.js.map\n","import { pickValuesFromColorScheme } from '../../../colorUtils';\nimport { stringLiteralsArray, pxToRem } from '../../../../utils';\nexport var formFieldColorAreas = stringLiteralsArray('foreground', 'background');\nexport var formFieldVariables = function formFieldVariables(siteVariables) {\n return {\n colorScheme: pickValuesFromColorScheme(siteVariables.colorScheme, formFieldColorAreas),\n messagePaddingLeft: pxToRem(12)\n };\n};\n//# sourceMappingURL=formFieldVariables.js.map\n","import { pickValuesFromColorScheme } from '../../../colorUtils';\nimport { stringLiteralsArray, pxToRem } from '../../../../utils';\nexport var formMessageColorAreas = stringLiteralsArray('foreground');\nexport var formMessageVariables = function formMessageVariables(siteVariables) {\n return {\n colorScheme: pickValuesFromColorScheme(siteVariables.colorScheme, formMessageColorAreas),\n paddingLeft: pxToRem(12)\n };\n};\n//# sourceMappingURL=formMessageVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var formLabelVariables = function formLabelVariables(siteVariables) {\n return {\n lineHeight: pxToRem(16),\n marginBottom: pxToRem(4)\n };\n};\n//# sourceMappingURL=formLabelVariables.js.map\n","export var gridVariables = function gridVariables() {\n return {\n defaultColumnCount: 5,\n gridGap: undefined,\n padding: undefined\n };\n};\n//# sourceMappingURL=gridVariables.js.map\n","import { pickValuesFromColorScheme } from '../../../colorUtils';\nimport { stringLiteralsArray } from '../../../../utils';\nexport var headerColorAreas = stringLiteralsArray('foreground');\nexport var headerVariables = function headerVariables(siteVars) {\n return {\n colorScheme: pickValuesFromColorScheme(siteVars.colorScheme, headerColorAreas),\n color: siteVars.colors.grey[750],\n descriptionColor: undefined\n };\n};\n//# sourceMappingURL=headerVariables.js.map\n","import { pickValuesFromColorScheme } from '../../../colorUtils';\nimport { stringLiteralsArray } from '../../../../utils';\nexport var headerDescriptionColorAreas = stringLiteralsArray('foreground');\nexport var headerDescriptionVariables = function headerDescriptionVariables(siteVariables) {\n return {\n colorScheme: pickValuesFromColorScheme(siteVariables.colorScheme, headerDescriptionColorAreas),\n color: siteVariables.colors.grey[350]\n };\n};\n//# sourceMappingURL=headerDescriptionVariables.js.map\n","import { pxToRem, stringLiteralsArray } from '../../../../utils';\nimport { pickValuesFromColorScheme } from '../../../colorUtils';\nexport var iconColorAreas = stringLiteralsArray('foreground');\nexport var svgIconVariables = function svgIconVariables(siteVars) {\n return {\n colorScheme: pickValuesFromColorScheme(siteVars.colorScheme, iconColorAreas),\n color: undefined,\n borderColor: undefined,\n backgroundColor: undefined,\n brandColor: siteVars.brandColor,\n secondaryColor: siteVars.colors.white,\n redColor: siteVars.colors.red[400],\n disabledColor: siteVars.colors.grey[250],\n smallestSize: pxToRem(7),\n smallerSize: pxToRem(10),\n smallSize: pxToRem(12),\n mediumSize: pxToRem(16),\n largeSize: pxToRem(20),\n largerSize: pxToRem(32),\n largestSize: pxToRem(40),\n horizontalSpace: pxToRem(10)\n };\n};\n//# sourceMappingURL=svgIconVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var imageVariables = function imageVariables() {\n return {\n width: undefined,\n height: undefined,\n avatarRadius: pxToRem(9999),\n avatarSize: pxToRem(32),\n circularRadius: pxToRem(9999)\n };\n};\n//# sourceMappingURL=imageVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var inputVariables = function inputVariables(siteVars) {\n return {\n colorDisabled: siteVars.colorScheme.brand.foregroundDisabled,\n colorError: siteVars.colorScheme.red.foreground,\n borderColorError: siteVars.colorScheme.red.background,\n iconPosition: 'absolute',\n iconRight: pxToRem(10),\n iconLeft: pxToRem(9),\n inputPaddingWithIconAtStart: pxToRem(5) + \" \" + pxToRem(12) + \" \" + pxToRem(5) + \" \" + pxToRem(34),\n inputPaddingWithIconAtEnd: pxToRem(5) + \" \" + pxToRem(35) + \" \" + pxToRem(5) + \" \" + pxToRem(12),\n inputPadding: pxToRem(5) + \" \" + pxToRem(12),\n inputInsideLabelPaddingTop: pxToRem(14),\n borderColor: 'transparent',\n borderRadius: pxToRem(3) + \" \" + pxToRem(3) + \" \" + pxToRem(2) + \" \" + pxToRem(2),\n borderWidth: \"0 0 \" + pxToRem(2) + \" 0\",\n backgroundColor: siteVars.colorScheme.default.background2,\n backgroundColorInverted: siteVars.colorScheme.default.background,\n fontColor: siteVars.colorScheme.default.foreground,\n fontSize: siteVars.fontSizes.medium,\n iconColor: siteVars.colorScheme.default.foreground,\n successfulColor: siteVars.colorScheme.green.foreground,\n inputFocusBorderColor: \"transparent transparent \" + siteVars.colorScheme.brand.borderFocus1 + \" transparent\",\n inputFocusBorderRadius: pxToRem(3) + \" \" + pxToRem(3) + \" \" + pxToRem(2) + \" \" + pxToRem(2),\n placeholderColor: siteVars.colorScheme.default.foreground1\n };\n};\n//# sourceMappingURL=inputVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var inputLabelVariables = function inputLabelVariables(siteVars) {\n return {\n insideLabelBottom: pxToRem(-8),\n insideLabelPaddingLeft: pxToRem(12),\n insideLabelActiveFontSize: pxToRem(12),\n inlineLabelPaddingRight: pxToRem(10),\n lineHeight: pxToRem(16),\n marginBottom: pxToRem(4)\n };\n};\n//# sourceMappingURL=inputLabelVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var labelVariables = function labelVariables(siteVars) {\n return {\n circularRadius: pxToRem(9999),\n iconSize: pxToRem(16),\n padding: \"0 \" + pxToRem(4) + \" 0 \" + pxToRem(4),\n startPaddingLeft: '0px',\n endPaddingRight: '0px',\n height: pxToRem(20),\n foreground: 'rgba(0, 0, 0, 0.6)',\n background: 'rgb(232, 232, 232)',\n blackForeground: siteVars.colorScheme.black.foreground1,\n blackBackground: siteVars.colorScheme.black.background1,\n whiteForeground: siteVars.colorScheme.white.foreground1,\n whiteBackground: siteVars.colorScheme.white.background1,\n brandForeground: siteVars.colorScheme.brand.foreground5,\n brandBackground: siteVars.colorScheme.brand.background6,\n greyForeground: siteVars.colorScheme.grey.foreground2,\n greyBackground: siteVars.colorScheme.grey.background3,\n orangeForeground: siteVars.colorScheme.orange.foreground2,\n orangeBackground: siteVars.colorScheme.orange.background1,\n redForeground: siteVars.colorScheme.red.foreground1,\n redBackground: siteVars.colorScheme.red.background,\n greenForeground: siteVars.colorScheme.green.foreground3,\n greenBackground: siteVars.colorScheme.green.background1,\n yellowForeground: siteVars.colorScheme.yellow.foreground3,\n yellowBackground: siteVars.colorScheme.yellow.background\n };\n};\n//# sourceMappingURL=labelVariables.js.map\n","export var layoutVariables = function layoutVariables() {\n return {};\n};\n//# sourceMappingURL=layoutVariables.js.map\n","import { pxToRem } from '../../../../utils';\nimport { loaderSvgDataUrl } from './loaderSvgDataUrl';\nexport var loaderVariables = function loaderVariables() {\n return {\n containerHeights: {\n smallest: pxToRem(24),\n smaller: pxToRem(24),\n small: pxToRem(24),\n medium: pxToRem(36),\n large: pxToRem(72),\n larger: pxToRem(72),\n largest: pxToRem(72)\n },\n containerWidths: {\n smallest: pxToRem(24),\n smaller: pxToRem(24),\n small: pxToRem(24),\n medium: pxToRem(36),\n large: pxToRem(72),\n larger: pxToRem(72),\n largest: pxToRem(72)\n },\n svgContent: loaderSvgDataUrl,\n svgHeights: {\n smaller: pxToRem(1464),\n smallest: pxToRem(1464),\n small: pxToRem(1464),\n medium: pxToRem(2196),\n large: pxToRem(4392),\n larger: pxToRem(4392),\n largest: pxToRem(4392)\n },\n svgTranslatePosition: {\n smallest: pxToRem(-1440),\n smaller: pxToRem(-1440),\n small: pxToRem(-1440),\n medium: pxToRem(-2160),\n large: pxToRem(-4320),\n larger: pxToRem(-4320),\n largest: pxToRem(-4320)\n },\n svgWidths: {\n smallest: pxToRem(24),\n smaller: pxToRem(24),\n small: pxToRem(24),\n medium: pxToRem(36),\n large: pxToRem(72),\n larger: pxToRem(72),\n largest: pxToRem(72)\n }\n };\n};\n//# sourceMappingURL=loaderVariables.js.map\n","export var loaderSvgDataUrl = \"url(\\\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 4880'%3E%3Cg role='presentation'%3E%3Cpath fill='%236264a7' d='M67.4 26.4c5.8-2 12.4 3.3 11.4 9.4-.4 6.5-8.8 10-13.8 6-5.6-3.6-4.2-13.5 2.4-15.3zM66.5 113.7c5.7-3.3 13.6 1.8 12.7 8.4 0 6.4-8 10.4-13.2 7-5.6-3.2-5.4-12.5.5-15.3z'%3E%3C/path%3E%3Cpath fill='%235659b0' d='M65.5 200.4c5.7-3.4 13.6 2 12.6 8.5 0 6-7 10.7-12.7 7.7-6.4-3-6-13.2.2-16.3z'%3E%3C/path%3E%3Cpath fill='%23575ab1' d='M64.3 286.2c5-2 11.3 2.3 11.2 7.8 0 5.4-4.5 11.7-10.5 11-5.4-.3-9.2-6.3-7.3-11.2 1.2-3.2 3.2-6.5 6.6-7.6z'%3E%3C/path%3E%3Cpath fill='%23585bb2' d='M59.4 372.5c5-2.6 11.6 1 12 6.5.8 5-3.4 8.6-7 11.3-4.5 3.2-11.7.2-12.6-5.3-1.4-5.5 3.6-9.7 7.6-12.5z'%3E%3C/path%3E%3Cpath fill='%235a5db4' d='M54.3 457.4c4-2.2 9.6 0 11.2 4.2 1.7 3.7 0 8.4-3.5 10.5-3.7 2.5-8.2 5.6-12.8 4-4.3-1.6-6.5-6.8-4.8-11 1.5-4.2 6.4-5.4 10-7.6z'%3E%3C/path%3E%3Cpath fill='%235b5fb6' d='M48.6 540.7c4.4-2 10 1 11 5.7 1 4-1.4 8.4-5.4 9.7-4 1.6-8.5 3-13 2.5-5.6-.8-8.6-8-5.3-12.6 2.7-4.4 8.4-3.5 12.6-5.3z'%3E%3C/path%3E%3Cpath fill='%235d60b8' d='M29.4 622.4c3-1.5 6.4 0 9.6 0 3.4.3 7.3-1 10.3 1.3 4.6 3 4.4 10.4-.2 13.3-3.7 2-8.2 1.7-12.4 1.5-3.6-.5-7.8-.7-10.2-4-3.2-3.7-1.6-10.2 3-12z'%3E%3C/path%3E%3Cpath fill='%235f63ba' d='M20.3 698.3c4-2 7.8 1.3 11.4 2.8 4 2 9.6 1 12.2 5 3.3 4.7-.2 12-6 12.3-7 0-14-2.6-19.7-6.6-4.7-3.4-3.5-11.6 2-13.4z'%3E%3C/path%3E%3Cpath fill='%236165bc' d='M12.3 771.3c3-1.5 7-.6 9 2 3 3.8 6.7 6.7 11 8.3 3.3 1 5.7 4 5.5 7.4.2 4.8-4.8 8.7-9.3 7.4-7.7-2.2-14.5-7.2-19.3-13.6-2.8-3.7-1.2-9.8 3-11.5z'%3E%3C/path%3E%3Cpath fill='%236467bf' d='M7.5 841.7c4-2 9.2.3 10.3 4.6 1.7 5.4 5 10 9.7 13 4 2.5 4.6 8.4 1.4 11.6-2.5 2.6-7 3-10 1-7.4-5-13-12.6-15.5-21-1.2-3.6.5-8 4-9.3z'%3E%3C/path%3E%3Cpath fill='%23666ac1' d='M6.5 910.8c3-1.6 7.3-.4 9 2.6 1.7 2.2 1 5 1.4 7.6 0 5.6 2.5 11 6 15 2.5 2.5 2.7 6.7.5 9.5-2.4 3.3-7.8 3.8-10.7 1-7.6-7.8-11.5-19-10.6-29.6.2-2.7 1.8-5.2 4.3-6.2z'%3E%3C/path%3E%3Cpath fill='%23696cc4' d='M9.3 980c3.7-2 9 .3 10 4.4 1 2.4-.2 4.8-1 7-2.4 5.7-2.3 12.4.3 18 1 2.3 2.4 5 1.5 7.6-1 4-5.7 6.2-9.5 4.5-2.6-1-3.8-3.7-5-6-4.4-10-4.3-21.8.4-31.6.6-1.7 1.7-3 3.3-4z'%3E%3C/path%3E%3Cpath fill='%236b6fc7' d='M16.3 1051.2c4-2.6 10 1 10 5.8.5 3-2 5.3-4 7.4-5.3 5.7-7 14-5.2 21.6 1 3.5-1 7.4-4.4 8.5-3.4 1.2-7.6-.8-8.7-4.3-4.2-13.8.7-30.2 12.3-39z'%3E%3C/path%3E%3Cpath fill='%236e72ca' d='M26.4 1125.3c4.5-2.6 10.7 1.5 10 6.7-.4 3.3-3.3 5.2-6 6.3-8.2 3.4-14 11.8-14.2 20.6 0 2.6-.6 5.6-3.2 7-4 2.8-10 0-10.2-5-.8-15.3 9.2-30.3 23.6-35.7z'%3E%3C/path%3E%3Cpath fill='%237175cd' d='M35.3 1203.2c3.7-.3 8.6-1.2 11.2 2.3 2.7 3.2 1 8.8-3 10-3.7.8-7.7.3-11.3 1.7-8 2.6-13.8 9.5-15.8 17.5-1 4.7-7.6 6.2-10.8 2.7-2.8-2.7-1.7-7-.4-10 4.5-13 16.6-22.6 30-24.2z'%3E%3C/path%3E%3Cpath fill='%237478d0' d='M36.4 1283.3c7-.6 14.2.5 20.3 4 3.8 2.4 3.3 8.7-.8 10.6-3 1.5-6-.2-8.6-1-9.8-3.5-21.6.5-27.3 9-1.5 2.4-3 5.6-6 6-4.6 1-9-4.4-6.8-8.7 5.4-11 17-18.8 29.2-20z'%3E%3C/path%3E%3Cpath fill='%23777bd3' d='M36.5 1363.5c11.6-1 23.8 3.6 31.3 12.7 2.7 3.6-.3 9.5-4.8 9.4-3.2.3-5-2.6-7.3-4.4-8.4-7.4-22.2-7.6-31-.4-2.3 1.8-4.3 5-7.7 4.7-4.7 0-7.5-6.3-4.4-9.8 6-7 14.8-11.3 24-12.2z'%3E%3C/path%3E%3Cpath fill='%237a7ed6' d='M31.4 1444.6c18-4.8 38.3 6.6 43.3 24.6 1 4-3.5 8-7.4 6.6-3.5-1-4-4.8-5.5-7.5-5.5-10.8-19.6-16-30.8-11.4-3.2 1-6.2 4.3-10 3-3.8-1.4-5-7.2-1.7-9.8 3.5-2.8 7.8-4.4 12-5.6z'%3E%3C/path%3E%3Cpath fill='%237d81da' d='M32.4 1524.6c15-3.4 31.8 4 39.2 17.8 3.5 6.5 5.3 14 4.3 21.5-1 4-6.7 5.5-9.5 2.4-2-2-1.4-5-1.6-7.4-.2-11.6-9.6-22-21-23.7-4.4-.8-8.8 0-13 1-4 1.2-7.7-3.5-6-7.2 1-3 4.6-3.7 7.4-4.4z'%3E%3C/path%3E%3Cpath fill='%238084dd' d='M36.3 1604.4c14-2 28.5 6 35 18.2 6 10.6 6 24.3 0 34.8-2 3.5-7.6 3-9-.6-1.8-3.5 1.4-6.8 2-10.2 3.8-12.4-4-26.7-16.3-30.5-4-1.6-8.3-.8-12.4-1.6-4.6-1.7-4-9 .7-10z'%3E%3C/path%3E%3Cpath fill='%238387e0' d='M43.3 1685.3c4-1.2 8.2 1 12 2.5 14.7 6.6 23.3 24.2 19.5 40-1.8 8-6.5 15.7-13.4 20.6-3 2.2-8-.6-7.7-4.4 0-2.3 1.8-3.7 3.3-5 7-6 10-16 7.8-24.7-1.8-8-7.6-15-15.3-18-2.2-.8-4.6-1-6.8-2-3.4-2-3-7.5.6-9z'%3E%3C/path%3E%3Cpath fill='%23868be4' d='M50.2 1768c1.4-.8 3.2-.8 4.7 0 13.2 5.7 21.7 20.5 20.3 35-1 15-12.6 28.5-27.3 31.4-3.4.6-6.4-3-5-6.3.6-2.6 3.7-3 6-4 8.2-2.8 14.5-10.4 16.2-19 2-9-1.5-18.8-8.6-24.6-2.2-2-5-3-7.2-4.8-2.2-2-1.7-6 .8-7.5z'%3E%3C/path%3E%3Cpath fill='%238a8ee7' d='M57.4 1852.2c3.7-1.8 6.6 2 9 4.5 11 12 11.7 31.6 1.7 44.5-6.8 9.3-18.5 14.6-30 14-2.4-.3-5.3-.2-7-2.2-1.6-2-1-5.4 1.3-6.8 1.7-1 3.8-.3 5.6-.4 9.8 1 20-4.5 24.7-13.2 4.6-8 4.3-18.7-.8-26.5-1.8-3-4.5-5-6.6-7.4-1.4-2.2-.4-5.4 2-6.4z'%3E%3C/path%3E%3Cpath fill='%238d91ea' d='M62.3 1938.3c1.7-1 4.3-1 5.6.8 9 11.5 9.2 28.8.8 40.8-7 10.4-20 16.4-32.6 15-5.7-.7-11.3-2.7-16-6-2.6-1.8-2-6.4 1-7.5 2.2-1 4.2.6 6 1.5 8.6 5 20 4.4 28-1.5 7.7-5.4 12-15 10.8-24.3-.3-4.5-2.3-8.6-4.7-12.4-1.6-2-1-5 1-6.3z'%3E%3C/path%3E%3Cpath fill='%239095ee' d='M66.3 2025.2c2-1.2 4.8-.5 5.7 1.6 5.6 12.8 2.2 28.7-8 38.2-9.4 9.2-24.2 12.2-36.5 7.4-7-2.8-13.5-8-17.3-14.7-1.2-2.6 1-5.8 3.8-5.7 2.5 0 3.7 2.4 5 4 7 9.5 20.5 13 31.2 8.4 12-4.7 19-18.8 15.3-31-.8-2.7-2.3-6.5.8-8.2z'%3E%3C/path%3E%3Cpath fill='%239398f1' d='M68.6 2112.7c2-1 5 0 5.4 2.4 2.4 14.5-5.8 30-19.2 36-12.5 6.2-28.7 3.6-38.7-6.2-5.6-5.5-9.4-13-10-21-.4-4 6-5 7.2-1.2 1 5.5 3 11 7 15.3 7 7.8 19 11 28.8 7 10.7-3.6 18.4-14.7 17.7-26-.2-2.2-.6-5.3 2-6.3z'%3E%3C/path%3E%3Cpath fill='%23969bf5' d='M8.4 2188.4c2-2 6-.3 6 2.6-.4 2-1 4-1.2 5.8-1 8.8 2.5 18 9.3 23.7 7 6 17.2 8 26 5 10-3 17-12.3 18.4-22.5.3-4 6.7-3.6 7 .3-1 15-13.3 28-28 30.3-13 2.5-27.4-3.6-34.6-15-5.2-7.8-6.8-17.8-4.6-27 .4-1 .6-2.4 1.6-3.2z'%3E%3C/path%3E%3Cpath fill='%23999ef8' d='M15.3 2257c2-1 4.4 0 5 2.2.3 2-1.3 3.3-2.3 4.8-5.7 7.6-6.8 18.2-3 27 4.3 10 15 16.7 26 16.2 10-.3 19.4-6.6 23.7-15.6 1.2-3.4 6.7-2.2 6.4 1.4-.7 3.4-3 6.3-5 9-9.3 11-26 15-39.3 9.2C13.8 2306 5 2292 6 2278c.7-7.8 3.7-15.7 9.3-21z'%3E%3C/path%3E%3Cpath fill='%239ca1fb' d='M25.6 2329.6c1.8-1.2 4.5.2 4.6 2.5.2 2.7-2.8 3.4-4.6 4.7-12 7-16.6 23.5-10 35.7 5.8 12.2 21.6 18.4 34.2 13.2 3.6-1.2 6.4-3.6 9.5-5.7 2.8-2 6 2.5 3.6 4.7-11.4 11-30.5 12-43 2.4-12.8-9-17.4-27.3-10.5-41.3 3.3-7 9-13 16-16z'%3E%3C/path%3E%3Cpath fill='%236264a7' d='M33.2 2407.2c2.3-.4 4.6-.8 7-.6 2.4.5 3 4.2.6 5.4-4 .7-8.3 1-12 2.8-12.6 5.3-19.5 20.5-15.2 33.4 4 13.3 18.8 22 32.3 18.8 2-.6 6-2 6.7 1.3.7 3.7-4 4-6.6 4.6-15.4 3-32.3-6.4-37.4-21.4-5.3-13.8 0-30.6 12-39 3.8-2.6 8-4.4 12.6-5.4z'%3E%3C/path%3E%3Cpath fill='%239ca1fb' d='M37.4 2486.4c5.5-.4 11.3.4 16.3 3 2 1.6.8 5.3-2 5.4-3.5-.8-7-2.3-10.8-2.2-13-.7-25.2 9-27.8 21.4-3 12 3.4 25 14.4 30.5 3.4 2 7.3 2.3 11 3 2.7 1 2.3 5.6-.6 6-17.3-.3-32-16.3-31.7-33.5-.4-17 14-32.7 31-33.6z'%3E%3C/path%3E%3Cpath fill='%23999ef8' d='M33.5 2566.7c10.8-2.2 22.7 1.3 30.5 9.3 1.8 1.6 1 5-1.3 5.6-2.3 1-4-1.5-5.6-2.7-9.6-8.4-25-8-34.6.3-8.6 7-12 19.7-8 30 2.3 6.4 7 11.4 12.7 14.8 3.2 2 .6 7.3-2.8 6-13.8-6.8-21.2-24-17-38.7 3-12.3 13.8-22.3 26.3-24.6z'%3E%3C/path%3E%3Cpath fill='%23969bf5' d='M32.4 2646.7c15-3.7 32 4.3 38.3 18.5.8 2.3-1.4 4.8-3.8 4.5-2.2 0-3-2.2-4-3.7-5.6-9.7-17.8-14.8-28.6-12.4-9.8 2-18 10-20.5 19.6-2 7.2-.8 15.2 3.4 21.4 1 1.5 2.4 3.3 1.4 5.2-1 2.4-4.7 2.8-6 .7-9.2-11.7-9.2-29.2-.2-41 4.8-6.4 12-11 19.8-12.8z'%3E%3C/path%3E%3Cpath fill='%239398f1' d='M31.4 2726.7c14.6-4 31.3 3 38.5 16.3 1.7 3.3 3.4 7 3.7 10.8-.3 2.8-4 4.3-6 2.6-1.6-1-1.7-3-2.3-4.6-2.5-8.4-9.6-15-18-17.5-8.6-2.6-18.6-.3-25.2 5.8-6.5 6-10 15-8.6 23.5 0 1.8 1 4-.5 5.6-1.5 2.2-5.2 1.8-6.3-.7-5.2-17.5 7-37.5 24.7-41.6z'%3E%3C/path%3E%3Cpath fill='%239095ee' d='M36.4 2805.5c14.7-1.7 29.7 7 35.4 20.6 2 5 3.2 10.4 2.8 15.7-.5 4-6.7 4.5-7.8.7-.6-3.3-.3-6.8-1.5-10-3-10.4-12.7-18.2-23.4-18.8-11.8-1-23.7 6.8-27 18-1 2.2-1 5-3.4 6-2.7 1.2-6-1.4-5.6-4.3 2.6-14.6 15.7-26.5 30.4-27.8z'%3E%3C/path%3E%3Cpath fill='%238d91ea' d='M33.5 2885.7c14-2.8 29.3 4 36.5 16.3 5 8.4 6.4 19 3.3 28.2-1 3-5.7 3.6-7.5 1-1.5-2.2 0-4.8 0-7 2.3-12-5-24.4-16.3-28.6-9.8-4-22-1.2-29 7-1.5 1.5-2.8 4-5.4 3.8-3.2 0-5.3-4-3.3-6.8 5-7.2 13-12.3 21.8-14z'%3E%3C/path%3E%3Cpath fill='%238a8ee7' d='M32.4 2965.7c15-3.5 31.4 4 38.5 17.4 5.8 10.8 5.6 24.7-1 35.2-1.6 3-6.4 2.6-7.8-.5-1.4-2.3.4-4.7 1.3-7 4.2-8.3 3-19-2.8-26.4-6-8-17-12-27-9.5-3 .6-5.7 2.6-8.8 3.3-4 .4-6.4-5-3.6-7.6 3.2-2.5 7.2-3.8 11-4.8z'%3E%3C/path%3E%3Cpath fill='%23868be4' d='M34.4 3045.4c14.2-3.4 29.8 4.8 36.7 17.5 7.7 13.5 5 32-6.5 42.5-2.5 2.2-7 .7-7.6-2.5-1-3.2 2-5.3 3.5-7.6 6-7.6 7-18.6 2.4-27-4.4-8.5-13.5-14.3-23-14-2-.2-4.6.4-6.3-1.2-2.5-2-2-6.3.7-7.8z'%3E%3C/path%3E%3Cpath fill='%238387e0' d='M48.2 3126c4.2-.4 8 2.2 11.5 4.2 13 8.3 19 25.5 14.5 40-2.6 8.7-8.6 16.4-16.5 20.7-3.2 2-7.7-1-7.4-4.8 0-2.7 2.5-4 4.5-5.5 7.5-5 11.6-14.7 10.5-23.6-1-9-7.2-17.2-15.7-20.5-1.8-1-4-1.5-4.8-3.6-1.3-2.8.5-6.3 3.4-7z'%3E%3C/path%3E%3Cpath fill='%238084dd' d='M58.3 3212.3c3.8-1.7 6.8 1.8 9 4.4 9.5 10.8 11.3 27.5 4.5 40-4.6 8.7-12.8 15.4-22.2 18-3.7 1-7.6-2.8-6.5-6.5 1-3.7 5-4 7.8-5.4 11.3-5 17.4-19.2 13-30.8-1.3-4.5-4.2-8.2-7.5-11.4-2.4-2.5-1.2-7 2-8.3z'%3E%3C/path%3E%3Cpath fill='%237d81da' d='M65.2 3302.3c2.8-1.5 6.5-.2 7.7 2.7 2.6 6 3.6 12.6 3 19-1.7 17.8-18.2 32.7-36 32-4.5 0-6.6-6.3-3.4-9.3 2.6-2.5 6.6-1.5 9.7-2.5 10.8-2.6 19-13 18.7-24.2 0-4-1.2-7.6-2.5-11.3-1-2.4.5-5.3 2.7-6.4z'%3E%3C/path%3E%3Cpath fill='%237a7ed6' d='M67.4 3394.4c3-2.2 8-.2 8.8 3.6 1.3 15-8.5 30.3-22.6 35.8-7.2 2.8-15.4 3.5-23 1.3-3.8-1.3-4.7-7.2-1.3-9.7 2.8-2.4 6.5-.6 9.7-.6 12 .8 23.8-8.7 25.4-20.7.6-3.3-.3-7.6 3-9.5z'%3E%3C/path%3E%3Cpath fill='%23777bd3' d='M66.5 3485.7c4.3-1.7 9.2 2.8 7.7 7.2-5 14.3-20 24.2-35.2 23.6-6-.2-12-1.6-17-4.8-3.5-2.5-2.8-8.7 1.3-10.2 3-1.5 6 .6 8.7 1.5 10.6 4.2 23.8-.8 29.2-10.8 1.4-2.4 2.3-5.7 5.3-6.5z'%3E%3C/path%3E%3Cpath fill='%237478d0' d='M59.5 3575.7c3.7-1.5 8.3 1.4 8.4 5.4.3 4.4-4 7-6.8 9.2-13.7 10-34.2 8.6-46.3-3.2-3.4-3.2-1.5-9.6 3-10.4 3-1 5.4 1.3 7.6 3 7.4 5.7 18.3 6.3 26.4 1.5 2.8-1.3 4.8-4 7.5-5.3z'%3E%3C/path%3E%3Cpath fill='%237175cd' d='M11.4 3651.2c2.5-1.4 6-1 8 1.4 2 2.5 4 5.3 6.8 7 6.6 5 15.5 5.6 23 2.7 4.7-2.3 10.3 2.6 8.8 7.6-1 4-5.6 5-9 6-15 4-32-2.8-40-16-2-3-.7-7.2 2.4-8.8z'%3E%3C/path%3E%3Cpath fill='%236e72ca' d='M9.5 3723.6c3.4-1 7 1.2 8 4.6 3 8.3 11 14.7 19.8 15.4 2.4.4 5.3 0 7.2 2 3 2.4 3 7.4 0 10-2.5 2.4-6.4 1.7-9.6 1.3C21 3755 9 3745 4.6 3732c-1.2-3.5 1-7.6 4.8-8.4z'%3E%3C/path%3E%3Cpath fill='%236b6fc7' d='M6.4 3796.4c3.3-1.6 7.6-.2 9.3 3 1 2.7 1 5.5 2 8.2 2 6 6.3 11 12 13.6 2.5 1.2 5.2 2.8 5.6 5.8 1.2 4.7-3.6 9.4-8.3 8-13.5-4.5-23.5-17.8-24.4-32-.2-2.8 1.5-5.4 3.8-6.6z'%3E%3C/path%3E%3Cpath fill='%23696cc4' d='M7.3 3868.4c3.3-1.3 7.3.3 9 3.5 1 1.8.4 4 .4 6-.7 7 2 13.7 6.7 18.6 2.4 2 3.4 5.8 1.8 8.7-1.8 4-7.5 5.2-10.8 2.3C5 3899.4.7 3886 2.8 3874c.4-2.6 2.2-4.7 4.5-5.6z'%3E%3C/path%3E%3Cpath fill='%23666ac1' d='M8.5 3941.4c4.6-2.7 11 1.3 10.7 6.7-.7 4-2.7 7.8-2.4 12-.2 4 1.3 7.5 2.5 11 1.2 4-1.6 8.3-5.5 9-3.4.8-7-1-8.3-4.4-4.3-9.3-4.5-20.3-.7-29.8.7-1.8 2-3.5 3.7-4.4z'%3E%3C/path%3E%3Cpath fill='%236467bf' d='M12.5 4014.7c4.2-2.2 9.8.6 10.5 5.3 1 5-4 8.3-5 13-2 4.6.7 10.7-3.4 14.6-3.8 4-11.3 1.7-12.4-3.7-1.2-8.7 1.2-17.6 6-25 1-1.6 2.3-3.5 4.3-4.3z'%3E%3C/path%3E%3Cpath fill='%236165bc' d='M17.4 4089.3c4.7-2.6 11.3 1.2 11 6.7.5 5-5 7.3-7.3 11-2.7 3.7-2.6 9.7-7.5 11.4-5.3 2.3-11.6-2.8-10.4-8.4 2.2-8.2 7.3-16 14.4-20.7z'%3E%3C/path%3E%3Cpath fill='%235f63ba' d='M25.4 4164.6c5.4-1.4 11 4 9.3 9.5-.7 4.2-5 5.6-8 7.7-4 2.3-5.7 7.7-10.7 7.8-6 .8-10.6-6.7-7.3-11.8 4-6 10-10.7 16.7-13z'%3E%3C/path%3E%3Cpath fill='%235d60b8' d='M30.3 4242.6c4.3-1.7 10 0 11.3 4.8 1.8 4.7-1.7 10-6.6 10.6-5 .8-9 6-14.3 4.2-5.6-1.3-7.6-9-3.6-13 3.8-3.4 8.6-5.2 13.3-6.6z'%3E%3C/path%3E%3Cpath fill='%235b5fb6' d='M35.4 4321.5c4.2-.4 9.4-1 12.3 2.8 3.6 4.3 1.3 12-4.3 13l-11.4 1.2c-6 .3-10-6.8-7-11.8 1.7-4 6.5-4.7 10.4-5.2z'%3E%3C/path%3E%3Cpath fill='%235a5db4' d='M39.3 4401.5c4.3-.8 8.7.2 12.7 1.6 5.2 2.3 6.2 10.2 2 13.8-4.4 3.8-10.4 1.2-15.3.4-7.2-2.4-6.6-14 .6-15.7z'%3E%3C/path%3E%3Cpath fill='%23585bb2' d='M49.3 4483c4-.5 7.7 1.7 11 3.8 4.5 3.5 3.7 11.5-1.6 14-4.6 2.4-9.5-.6-13.4-3-5.3-4.2-2.7-13.8 4-14.7z'%3E%3C/path%3E%3Cpath fill='%23575ab1' d='M56.3 4567.4c7-1.7 15 6.2 12 13.2-1.6 4.6-7.8 6.7-12 4-2.8-1.6-5.7-4-6.2-7.7-.6-4.2 2.2-8.6 6.3-9.6z'%3E%3C/path%3E%3Cpath fill='%235659b0' d='M61.4 4653.5c7-3 14.7 5.6 11.5 12.3-2.3 6-11 7-14.8 2-4.2-4.3-2.7-12.4 3-14.3z'%3E%3C/path%3E%3Cpath fill='%236264a7' d='M64.5 4740.3c5.7-3 13.2 2.2 12.4 8.6-.3 6.3-8.4 10.2-13.6 6.5-5.5-3.4-5-12.7 1-15.2zM67.3 4826.3c6.2-2.4 13 4 11.3 10.3-1 6-9.3 9-14 4.8-5.2-4-3.7-13.4 2.7-15z'%3E%3C/path%3E%3C/g%3E%3C/svg%3E\\\")\";\n//# sourceMappingURL=loaderSvgDataUrl.js.map\n","import { pxToRem } from '../../../../utils';\nexport var itemLayoutVariables = function itemLayoutVariables() {\n return {\n paddingLeft: pxToRem(20),\n paddingRight: pxToRem(18),\n columnGap: pxToRem(8),\n height: pxToRem(48)\n };\n};\n//# sourceMappingURL=itemLayoutVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var listItemVariables = function listItemVariables(siteVariables) {\n return {\n minHeight: pxToRem(48),\n rootPadding: \"0 \" + pxToRem(18) + \" 0 \" + pxToRem(20),\n gap: pxToRem(8),\n zIndex: siteVariables.zIndexes.foreground,\n // Header\n // TODO: prod app uses 17.5px here, it should be 16px per the design guide!\n headerLineHeight: siteVariables.lineHeightSmall,\n headerFontSize: siteVariables.fontSizes.medium,\n // Header Media\n headerMediaFontSize: siteVariables.fontSizes.small,\n // TODO: prod app uses 17.5px here, it should be 16px per the design guide!\n headerMediaLineHeight: siteVariables.lineHeightSmall,\n importantFontWeight: siteVariables.fontWeightBold,\n // Content\n contentFontSize: siteVariables.fontSizes.small,\n contentLineHeight: siteVariables.lineHeightSmall,\n // Content Media\n contentMediaFontSize: siteVariables.fontSizes.small,\n contentMediaLineHeight: siteVariables.lineHeightSmall,\n // Selectable\n selectableFocusHoverColor: siteVariables.colorScheme.default.foregroundHover,\n selectableFocusHoverBackgroundColor: siteVariables.colorScheme.default.backgroundHover,\n // Selected\n selectedColor: siteVariables.colorScheme.default.foregroundPressed,\n selectedBackgroundColor: siteVariables.colorScheme.default.backgroundActive1\n };\n};\n//# sourceMappingURL=listItemVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var pillVariables = function pillVariables(siteVars) {\n return {\n background: siteVars.colorScheme.default.background3,\n backgroundHover: siteVars.colorScheme.default.background1,\n borderRadius: '9999px',\n smallerRoundedBorderRadius: pxToRem(2),\n // Disabled\n disabledBackground: siteVars.colorScheme.default.backgroundDisabled,\n disabledColor: siteVars.colorScheme.default.foregroundDisabled,\n // Inverted\n invertedBackground: siteVars.colorScheme.default.background,\n // Outline\n outlineBackground: 'transparent',\n // TODO: The design spec maps to Neutral Stroke 1 that is equivalent to gre[440]\n // but we don't have this token\n outlineBorderColor: siteVars.colorScheme.default.borderActive4,\n outlineDisabledborder: siteVars.colorScheme.default.borderDisabled,\n // Smaller\n smallerHeight: pxToRem(20),\n smallerMinWidth: pxToRem(80),\n smallerMargin: pxToRem(6) + \" \" + pxToRem(2),\n // Small\n smallHeight: pxToRem(24),\n smallMinWidth: pxToRem(80),\n smallMargin: pxToRem(4),\n // Medium (default)\n height: pxToRem(32),\n minWidth: pxToRem(90),\n margin: pxToRem(6) + \" \" + pxToRem(4),\n roundedBorderRadius: pxToRem(4),\n // Content Smaller\n contentPaddingSmaller: pxToRem(2) + \" \" + pxToRem(8),\n contentFontSizeSmaller: pxToRem(12),\n // Content Small\n contentFontSizeSmall: pxToRem(12),\n contentPaddingSmall: pxToRem(4) + \" \" + pxToRem(8),\n // Content Medium\n contentFontSize: pxToRem(14),\n contentPadding: pxToRem(6) + \" \" + pxToRem(8),\n // Action Pill\n actionMargin: \"0 \" + pxToRem(8),\n actionWidth: pxToRem(16),\n smallOrSmallerActionWidth: pxToRem(12),\n // Icon Pill\n iconMargin: \"0 0 0 \" + pxToRem(8),\n iconWidth: pxToRem(20),\n smallOrSmallerIconWidth: pxToRem(16),\n selectedIconColor: siteVars.colorScheme.default.border,\n selectedIconCheckColor: siteVars.colorScheme.brand.background2,\n selectedImageIconWidth: pxToRem(32),\n smallSelectedImageIconWidth: pxToRem(24),\n smallerSelectedImageIconWidth: pxToRem(20),\n // Image Pill\n imageWidth: pxToRem(32),\n imageHeight: pxToRem(32),\n smallImageWidth: pxToRem(24),\n smallImageHeight: pxToRem(24),\n smallerImageWidth: pxToRem(20),\n smallerImageHeight: pxToRem(20)\n };\n};\n//# sourceMappingURL=pillVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var popupContentVariables = function popupContentVariables(siteVars) {\n return {\n borderColor: siteVars.colorScheme.default.border2,\n borderRadius: pxToRem(3),\n borderSize: '1px',\n backgroundColor: siteVars.colorScheme.default.background,\n color: siteVars.colorScheme.default.foreground,\n boxShadow: siteVars.shadowLevel3,\n padding: pxToRem(10) + \" \" + pxToRem(14),\n pointerGap: pxToRem(5),\n pointerMargin: pxToRem(10),\n pointerHeight: pxToRem(7),\n pointerWidth: pxToRem(14),\n zIndex: siteVars.zIndexes.overlay\n };\n};\n//# sourceMappingURL=popupContentVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var providerVariables = function providerVariables(siteVariables) {\n return {\n background: siteVariables.bodyBackground,\n color: siteVariables.bodyColor,\n scrollbarHeight: pxToRem(16),\n scrollbarWidth: pxToRem(16),\n scrollbarThumbBackgroundColor: siteVariables.colors.onyx[700],\n scrollbarThumbBorderRadius: pxToRem(9),\n scrollbarThumbBorderSize: pxToRem(4),\n scrollbarThumbHoverBackgroundColor: siteVariables.colors.onyx[700],\n scrollbarThumbHoverBorderSize: pxToRem(2)\n };\n};\n//# sourceMappingURL=providerVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var radioGroupItemVariables = function radioGroupItemVariables(siteVars) {\n return {\n colorDisabled: siteVars.colors.grey[250],\n textFontSize: siteVars.fontSizes.medium,\n textColorDefault: siteVars.colors.grey[500],\n textColorDefaultHoverFocus: siteVars.colors.grey[750],\n textColorChecked: siteVars.colors.grey[750],\n indicatorColorDefault: siteVars.colors.grey[500],\n indicatorBorderColorDefaultHover: siteVars.colors.grey[750],\n indicatorBorderColorChecked: siteVars.colors.brand[600],\n indicatorBackgroundColorChecked: siteVars.colors.brand[600],\n padding: \"0 \" + pxToRem(2),\n margin: pxToRem(5) + \" \" + pxToRem(8) + \" \" + pxToRem(5) + \" \" + pxToRem(2)\n };\n};\n//# sourceMappingURL=radioGroupItemVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var reactionVariables = function reactionVariables(siteVars) {\n return {\n meReactingColor: siteVars.colors.brand[600],\n meReactingColorHover: siteVars.colors.brand[800],\n otherReactingColor: siteVars.colors.grey[450],\n otherReactingColorHover: siteVars.colors.grey[750],\n contentFontSize: siteVars.fontSizes.small,\n fontWeightHover: siteVars.fontWeightBold,\n outlineColorFocus: siteVars.colors.brand[600],\n outlineWidthFocus: pxToRem(2),\n outlineOffsetFocus: pxToRem(-2),\n meReacting: false,\n boxShadowColor: siteVars.colors.white,\n borderColorFocus: siteVars.colors.grey[750]\n };\n};\n//# sourceMappingURL=reactionVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var reactionGroupVariables = function reactionGroupVariables() {\n return {\n reactionSpacing: pxToRem(8)\n };\n};\n//# sourceMappingURL=reactionGroupVariables.js.map\n","import { pickValuesFromColorScheme } from '../../../colorUtils';\nimport { stringLiteralsArray } from '../../../../utils';\nexport var segmentColorAreas = stringLiteralsArray('foreground');\nexport var segmentVariables = function segmentVariables(siteVariables) {\n return {\n colorScheme: pickValuesFromColorScheme(siteVariables.colorScheme, segmentColorAreas),\n color: siteVariables.bodyColor,\n disabledColor: siteVariables.colors.grey[250],\n backgroundColor: siteVariables.bodyBackground,\n disabledBackgroundColor: siteVariables.colors.grey[150],\n disabledBorderColor: 'transparent',\n borderRadius: 0,\n borderStyle: 'solid',\n borderWidth: '2px 0 0 0',\n boxShadow: '0 1px 1px 1px rgba(34,36,38,.15)',\n padding: '1em'\n };\n};\n//# sourceMappingURL=segmentVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var skeletonVariables = function skeletonVariables(siteVariables) {\n return {\n lineBackground: siteVariables.colorScheme.default.foreground5,\n shapeBackground: siteVariables.colorScheme.default.foreground5,\n animationBackground: siteVariables.colorScheme.default.foreground5,\n animationBackgroundSecondary: siteVariables.colorScheme.default.foreground6,\n lineMargin: \"0 0 \" + pxToRem(2) + \" 0\",\n shapeMargin: \"0 0 \" + pxToRem(2) + \" 0\",\n // Skeleton Button\n buttonHeight: pxToRem(32),\n buttonWidth: pxToRem(96),\n buttonSmallHeight: pxToRem(24),\n buttonSmallWidth: pxToRem(72),\n buttonBackground: siteVariables.colorScheme.default.foreground5,\n buttonCircularBorderRadius: pxToRem(999),\n // Skeleton Text\n textBackground: siteVariables.colorScheme.default.foreground5,\n textWidth: '100%',\n textSmallerHeight: pxToRem(14),\n textSmallHeight: pxToRem(16),\n textMediumHeight: pxToRem(19),\n textLargeHeight: pxToRem(24),\n textLargerHeight: pxToRem(32),\n // Skeleton Input\n inputHeight: pxToRem(32),\n inputWidth: pxToRem(154),\n inputBackground: siteVariables.colorScheme.default.foreground5,\n // Skeleton Avatar\n avatarBackground: siteVariables.colorScheme.default.foreground5,\n avatarSmallest: pxToRem(20),\n avatarSmaller: pxToRem(24),\n avatarSmall: pxToRem(28),\n avatarMedium: pxToRem(32),\n avatarLarge: pxToRem(44),\n avatarLarger: pxToRem(64),\n avatarLargest: pxToRem(96)\n };\n};\n//# sourceMappingURL=skeletonVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var sliderVariables = function sliderVariables(siteVars) {\n var colorScheme = siteVars.colorScheme;\n return {\n height: pxToRem(16),\n length: pxToRem(320),\n railColor: colorScheme.default.border,\n disabledRailColor: colorScheme.default.backgroundDisabled1,\n railHeight: pxToRem(2),\n thumbColor: colorScheme.default.foreground2,\n activeThumbColor: colorScheme.default.foreground1,\n disabledThumbColor: colorScheme.default.foregroundDisabled1,\n thumbHeight: pxToRem(10),\n activeThumbHeight: pxToRem(14),\n thumbBorderPadding: pxToRem(4),\n thumbWidth: pxToRem(10),\n activeThumbWidth: pxToRem(14),\n trackColor: colorScheme.brand.foregroundActive,\n disabledTrackColor: colorScheme.default.foregroundDisabled1\n };\n};\n//# sourceMappingURL=sliderVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var statusVariables = function statusVariables(siteVariables) {\n return {\n borderColor: undefined,\n borderWidth: 2,\n iconSize: pxToRem(7),\n successBackgroundColor: siteVariables.colorScheme.green.background,\n successTextColor: siteVariables.colorScheme.green.foreground1,\n infoBackgroundColor: siteVariables.colorScheme.brand.background,\n infoTextColor: siteVariables.colorScheme.default.foreground2,\n warningBackgroundColor: siteVariables.colorScheme.yellow.background,\n warningTextColor: siteVariables.colorScheme.yellow.foreground2,\n errorBackgroundColor: siteVariables.colorScheme.red.background,\n errorTextColor: siteVariables.colorScheme.red.foreground2,\n defaultBackgroundColor: siteVariables.colorScheme.default.background5,\n defaultTextColor: siteVariables.colorScheme.default.foreground4\n };\n};\n//# sourceMappingURL=statusVariables.js.map\n","import { stringLiteralsArray } from '../../../../utils';\nimport { pickValuesFromColorScheme } from '../../../colorUtils';\nexport var textColorAreas = stringLiteralsArray('foreground');\nexport var textVariables = function textVariables(siteVariables) {\n return {\n colorScheme: pickValuesFromColorScheme(siteVariables.colorScheme, textColorAreas),\n fontSizeSmallest: siteVariables.fontSizes.smallest,\n fontLineHeightSmallest: siteVariables.lineHeightSmallest,\n fontSizeSmaller: siteVariables.fontSizes.smaller,\n fontLineHeightSmaller: siteVariables.lineHeightSmaller,\n fontSizeSmall: siteVariables.fontSizes.small,\n fontLineHeightSmall: siteVariables.lineHeightSmall,\n fontSizeMedium: siteVariables.fontSizes.medium,\n fontLineHeightMedium: siteVariables.lineHeightMedium,\n fontSizeLarge: siteVariables.fontSizes.large,\n fontLineHeightLarge: siteVariables.lineHeightLarge,\n fontSizeLarger: siteVariables.fontSizes.larger,\n fontLineHeightLarger: siteVariables.lineHeightLarger,\n fontSizeLargest: siteVariables.fontSizes.largest,\n fontLineHeightLargest: siteVariables.lineHeightLargest,\n fontWeightLight: siteVariables.fontWeightLight,\n fontWeightSemilight: siteVariables.fontWeightSemilight,\n fontWeightRegular: siteVariables.fontWeightRegular,\n fontWeightSemibold: siteVariables.fontWeightSemibold,\n fontWeightBold: siteVariables.fontWeightBold,\n atMentionOtherColor: siteVariables.colors.brand[600],\n atMentionMeColor: siteVariables.colors.orange[400],\n atMentionMeFontWeight: siteVariables.fontWeightBold,\n disabledColor: siteVariables.colors.grey[250],\n errorColor: siteVariables.colors.red[400],\n importantWeight: siteVariables.fontWeightBold,\n importantColor: siteVariables.colors.red[400],\n successColor: siteVariables.colors.green[600],\n timestampColor: siteVariables.colorScheme.default.foreground1\n };\n};\n//# sourceMappingURL=textVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var textAreaVariables = function textAreaVariables(siteVars) {\n return {\n margin: '0',\n padding: pxToRem(7) + \" \" + pxToRem(12),\n borderColor: 'transparent',\n borderRadius: pxToRem(3) + \" \" + pxToRem(3) + \" \" + pxToRem(2) + \" \" + pxToRem(2),\n borderWidth: \"0 0 \" + pxToRem(2) + \" 0\",\n backgroundColor: siteVars.colorScheme.default.background2,\n invertedBackgroundColor: siteVars.colorScheme.default.background,\n placeholderColor: siteVars.colorScheme.default.foreground1,\n disabledColor: siteVars.colorScheme.brand.foregroundDisabled,\n fontColor: siteVars.colorScheme.default.foreground,\n fontSize: siteVars.fontSizes.medium,\n borderColorFocus: \"transparent transparent \" + siteVars.colorScheme.brand.borderFocus1 + \" transparent\",\n height: 'auto',\n borderColorError: siteVars.colorScheme.red.background\n };\n};\n//# sourceMappingURL=textAreaVariables.js.map\n","import { pxToRem, stringLiteralsArray } from '../../../../utils';\nimport { extendColorScheme, pickValuesFromColorScheme } from '../../../colorUtils';\nexport var toolbarColorAreas = stringLiteralsArray('foreground1', 'background', 'border', 'foregroundActive', 'foregroundHover', 'backgroundHover', 'foregroundDisabled1', // custom\n'menuItemForegroundHover', 'menuItemBackgroundHover');\nexport var toolbarVariables = function toolbarVariables(siteVars) {\n return {\n colorScheme: pickValuesFromColorScheme(extendColorScheme(siteVars.colorScheme, {\n default: {\n foregroundHover: siteVars.colorScheme.brand.foregroundHover,\n backgroundHover: 'transparent',\n foregroundActive: siteVars.colorScheme.brand.foregroundActive,\n menuItemForegroundHover: siteVars.colorScheme.default.foregroundHover,\n menuItemBackgroundHover: siteVars.colorScheme.default.backgroundHover\n }\n }), toolbarColorAreas),\n foreground: undefined,\n background: 'transparent',\n dividerBorder: undefined,\n foregroundHover: undefined,\n backgroundHover: undefined,\n foregroundActive: undefined,\n backgroundActive: 'transparent',\n foregroundDisabled: undefined,\n backgroundDisabled: 'transparent',\n itemHeight: pxToRem(32),\n itemPadding: '0',\n borderWidth: '2px',\n borderRadius: '50%',\n dividerMargin: pxToRem(10) + \" \" + pxToRem(4),\n menuMaxWidth: pxToRem(312),\n menuPadding: pxToRem(8) + \" 0\",\n menuBackground: undefined,\n menuBorder: undefined,\n menuBorderWidth: '1px',\n menuBorderRadius: pxToRem(4),\n menuBoxShadow: siteVars.shadowLevel3,\n menuItemForeground: undefined,\n menuItemForegroundHover: undefined,\n menuItemBackgroundHover: undefined,\n menuItemForegroundDisabled: undefined,\n menuItemBackgroundDisabled: 'transparent',\n menuItemPadding: pxToRem(5) + \" \" + pxToRem(15),\n menuDividerBorder: undefined,\n menuDividerMargin: pxToRem(8) + \" 0\",\n customItemHorizontalPadding: pxToRem(16),\n customItemVerticalPadding: pxToRem(4),\n overlayZIndex: siteVars.zIndexes.overlay,\n lineHeightBase: siteVars.lineHeightMedium\n };\n};\n//# sourceMappingURL=toolbarVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var treeTitleVariables = function treeTitleVariables(siteVars) {\n return {\n color: siteVars.colorScheme.default.foreground,\n padding: pxToRem(1) + \" 0\",\n paddingRight: pxToRem(20),\n paddingLeft: pxToRem(20),\n borderColor: siteVars.colorScheme.default.foreground1,\n borderStyle: 'solid',\n borderRadius: pxToRem(3),\n borderWidth: pxToRem(1),\n indicatorColor: 'transparent',\n selectionIndicatorMargin: \"0 0 0 0\",\n background: 'transparent',\n hoverBackground: siteVars.colorScheme.default.background1,\n checkedBackground: siteVars.colorScheme.brand.backgroundActive1,\n checkedBorderColor: siteVars.colorScheme.brand.backgroundActive1,\n checkedIndicatorColor: siteVars.colorScheme.default.background,\n disabledBackground: siteVars.colorScheme.default.background,\n disabledBackgroundChecked: siteVars.colorScheme.default.backgroundDisabled,\n disabledBorderColor: siteVars.colorScheme.default.foregroundDisabled1,\n disabledCheckedIndicatorColor: siteVars.colorScheme.default.foregroundDisabled\n };\n};\n//# sourceMappingURL=treeTitleVariables.js.map\n","export var videoVariables = function videoVariables() {\n return {\n width: undefined,\n height: undefined\n };\n};\n//# sourceMappingURL=videoVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var tooltipContentVariables = function tooltipContentVariables(siteVars) {\n return {\n boxShadow: siteVars.shadowLevel2,\n borderRadius: pxToRem(3),\n borderSize: '1px',\n padding: pxToRem(5) + \" \" + pxToRem(12) + \" \" + pxToRem(7) + \" \" + pxToRem(12),\n maxWidth: pxToRem(246),\n pointerMargin: pxToRem(6),\n pointerGap: pxToRem(5),\n pointerWidth: pxToRem(16),\n pointerHeight: pxToRem(6),\n color: siteVars.colorScheme.default.foreground3,\n backgroundColor: siteVars.colors.grey[500],\n zIndex: siteVars.zIndexes.overlayPriority\n };\n};\n//# sourceMappingURL=tooltipContentVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var splitButtonVariables = function splitButtonVariables(siteVars) {\n return {\n borderRadius: siteVars.borderRadius,\n borderColor: siteVars.colorScheme.default.border,\n borderColorPrimary: siteVars.colors.brand[500],\n borderColorDisabled: siteVars.colorScheme.brand.foregroundDisabled,\n smallDimension: pxToRem(24),\n smallPadding: \"0 \" + pxToRem(8),\n smallMinWidth: '0',\n smallBoxShadow: 'none',\n padding: \"0 \" + pxToRem(12),\n minWidth: '0',\n toggleButtonHeight: pxToRem(32),\n toggleButtonColor: siteVars.colorScheme.default.foreground,\n toggleButtonBackgroundColor: siteVars.colorScheme.default.background,\n toggleButtonBorderRadius: siteVars.borderRadius,\n toggleButtonBorderColor: siteVars.colorScheme.default.border,\n toggleButtonBoxShadow: siteVars.shadowLevel1,\n toggleButtonColorHover: siteVars.colorScheme.brand.foregroundHover,\n toggleButtonBackgroundColorHover: siteVars.colorScheme.default.backgroundHover2,\n toggleButtonBorderColorHover: siteVars.colorScheme.default.borderHover,\n toggleButtonColorActive: siteVars.colorScheme.default.foregroundPressed,\n toggleButtonBackgroundColorActive: siteVars.colorScheme.default.backgroundPressed,\n toggleButtonBorderColorActive: siteVars.colorScheme.default.borderPressed,\n toggleButtonBackgroundColorFocus: undefined,\n toggleButtonBorderColorFocus: undefined,\n toggleButtonColorFocus: undefined,\n toggleButtonPrimaryHoverBackgroundColor: siteVars.colorScheme.brand.backgroundHover,\n toggleButtonPrimaryHoverColor: siteVars.colorScheme.brand.foregroundHover1,\n toggleButtonPrimaryColor: siteVars.colorScheme.brand.foreground4,\n toggleButtonPrimaryBackgroundColor: siteVars.colorScheme.brand.background,\n toggleButtonPrimaryBorderColor: 'transparent',\n toggleButtonPrimaryBoxShadow: siteVars.shadowLevel1Dark,\n toggleButtonPrimaryBackgroundColorActive: siteVars.colorScheme.brand.backgroundPressed,\n toggleButtonPrimaryBackgroundColorFocus: undefined,\n toggleButtonColorDisabled: siteVars.colorScheme.brand.foregroundDisabled,\n toggleButtonBackgroundColorDisabled: siteVars.colorScheme.default.backgroundDisabled,\n toggleButtonIndicatorSize: pxToRem(16),\n focusBorderRadius: siteVars.borderRadius,\n focusBorderWidth: siteVars.borderWidth,\n focusInnerBorderColor: siteVars.focusInnerBorderColor,\n focusOuterBorderColor: siteVars.focusOuterBorderColor,\n focusBorderZIndex: siteVars.zIndexes.foreground\n };\n};\n//# sourceMappingURL=splitButtonVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var carouselVariables = function carouselVariables(siteVars) {\n return {\n width: 300,\n height: 300,\n focusOuterBorderColor: siteVars.focusOuterBorderColor,\n focusOuterBorderRadius: siteVars.borderRadius,\n paddleColor: siteVars.colorScheme.default.foreground4,\n paddleColorDisabled: siteVars.colorScheme.brand.foregroundDisabled,\n paddleBackgroundColor: siteVars.colorScheme.onyx.background3,\n paddleBackgroundColorActive: siteVars.colorScheme.onyx.backgroundPressed,\n paddleBackgroundColorHover: siteVars.colorScheme.onyx.backgroundHover,\n paddleBackgroundColorDisabled: siteVars.colorScheme.default.backgroundDisabled,\n paddleBorderColor: 'transparent',\n paddleBorderRadius: siteVars.borderRadius,\n paddleHeight: pxToRem(32),\n paddleIndicatorSize: pxToRem(16),\n focusBorderRadius: siteVars.borderRadius,\n focusBorderWidth: siteVars.borderWidth,\n focusInnerBorderColor: siteVars.focusInnerBorderColor,\n focusBorderZIndex: siteVars.zIndexes.foreground\n };\n};\n//# sourceMappingURL=carouselVariables.js.map\n","import { pxToRem, stringLiteralsArray } from '../../../../utils';\nimport { extendColorScheme, pickValuesFromColorScheme } from '../../../colorUtils';\nexport var menuColorAreas = stringLiteralsArray('border', 'borderActive', 'foregroundActive', 'foregroundFocus', 'foregroundHover', 'backgroundHover', 'backgroundActive', 'backgroundFocus', 'foregroundDisabled');\nexport var carouselNavigationVariables = function carouselNavigationVariables(siteVars) {\n return {\n width: 300,\n colorScheme: pickValuesFromColorScheme(extendColorScheme(siteVars.colorScheme, {\n default: {\n borderActive: siteVars.colorScheme.default.border2,\n backgroundActive: siteVars.colorScheme.default.backgroundActive1,\n backgroundFocus: siteVars.colorScheme.default.backgroundFocus1,\n foregroundDisabled: siteVars.colorScheme.default.foregroundDisabled1\n },\n brand: {\n foregroundHover: siteVars.colors.white,\n backgroundHover: siteVars.colors.brand[300],\n foregroundActive: siteVars.colors.white,\n borderActive: siteVars.colors.brand[600],\n backgroundActive: siteVars.colors.brand[500],\n // it's 600 in the color scheme\n foregroundFocus: siteVars.colors.white,\n backgroundFocus: siteVars.colors.brand[300],\n foregroundDisabled: siteVars.colorScheme.brand.foregroundDisabled1\n }\n }), menuColorAreas),\n color: siteVars.colors.grey[500],\n colorActive: siteVars.colors.black,\n borderColor: undefined,\n borderColorActive: undefined,\n borderColorFocus: siteVars.colors.white,\n outlineColorFocus: siteVars.colors.black,\n backgroundColor: undefined,\n backgroundColorFocus: undefined,\n backgroundColorHover: undefined,\n backgroundColorActive: undefined,\n iconOnlyColorActive: siteVars.colors.brand[600],\n lineHeightBase: siteVars.lineHeightMedium,\n horizontalPadding: pxToRem(14) + \" \" + pxToRem(18),\n verticalBackgroundColor: siteVars.colors.white,\n verticalItemPadding: pxToRem(7) + \" \" + pxToRem(14),\n verticalItemBorderWidth: pxToRem(2),\n verticalItemBorderColor: 'transparent',\n verticalBackgroundColorFocus: siteVars.colors.grey[150],\n primaryBorderColor: siteVars.colorScheme.default.border2,\n indicatorBackgroundColor: siteVars.colors.grey[500],\n indicatorActiveBackgroundColor: siteVars.colors.brand[600],\n borderWidth: pxToRem(1),\n thumbnailWidth: 75\n };\n};\n//# sourceMappingURL=carouselNavigationVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var tableVariables = function tableVariables(siteVariables) {\n return {\n color: siteVariables.colorScheme.default.foreground,\n hoverColor: siteVariables.colorScheme.default.foregroundHover,\n backgroundColor: siteVariables.colorScheme.default.background,\n backgroundHoverColor: siteVariables.colorScheme.default.backgroundHover1,\n defaultRowHeight: pxToRem(48),\n compactRowHeight: pxToRem(36),\n minCellWidth: '0',\n cellPadding: \"0 \" + pxToRem(8),\n rowPadding: '0',\n headerFontSize: pxToRem(12),\n bodyFontSize: pxToRem(13),\n borderWidth: pxToRem(1),\n headerBorderColor: siteVariables.colorScheme.default.backgroundHover1,\n headerBorderHoverColor: 'transparent',\n headerBorderFocusColor: 'transparent',\n rowBorderColor: siteVariables.colorScheme.default.backgroundHover1,\n rowBorderHoverColor: siteVariables.colorScheme.default.backgroundHover1,\n rowBorderFocusColor: siteVariables.colorScheme.default.borderFocus,\n cellBorderColor: 'transparent',\n cellBorderHoverColor: 'transparent',\n cellBorderFocusColor: siteVariables.colorScheme.default.borderFocus\n };\n};\n//# sourceMappingURL=tableVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var cardVariables = function cardVariables(siteVars) {\n return {\n backgroundColor: siteVars.colorScheme.default.background1,\n backgroundColorDisabled: siteVars.colorScheme.default.backgroundDisabled1,\n backgroundColorFocus: siteVars.colorScheme.default.backgroundFocus1,\n backgroundColorHover: siteVars.colorScheme.default.backgroundHover1,\n backgroundColorPressed: siteVars.colorScheme.default.backgroundPressed,\n ghostBackgroundColor: 'none',\n ghostBackgroundColorDisabled: siteVars.colorScheme.default.backgroundDisabled,\n ghostBackgroundColorFocus: 'none',\n ghostBackgroundColorHover: siteVars.colorScheme.default.backgroundHover,\n ghostBackgroundColorPressed: siteVars.colorScheme.default.backgroundPressed,\n invertedBackgroundColor: siteVars.colorScheme.default.background2,\n invertedBackgroundColorDisabled: siteVars.colorScheme.default.backgroundDisabled2,\n invertedBackgroundColorFocus: siteVars.colorScheme.default.background2,\n invertedBackgroundColorHover: siteVars.colorScheme.default.backgroundHover2,\n invertedBackgroundColorPressed: siteVars.colorScheme.default.backgroundPressed,\n borderStyle: 'solid',\n borderColor: 'transparent',\n borderColorDisabled: 'transparent',\n borderColorHover: 'transparent',\n borderColorPressed: 'transparent',\n borderWidth: siteVars.borderWidth,\n borderRadius: pxToRem(3),\n boxShadow: 'none',\n boxShadowDisabled: 'none',\n boxShadowHover: 'none',\n boxShadowFocus: 'none',\n boxShadowPressed: 'none',\n elevatedBoxShadow: siteVars.shadowLevel1,\n elevatedBoxShadowDisabled: siteVars.shadowLevel1,\n elevatedBoxShadowHover: siteVars.shadowLevel3,\n elevatedBoxShadowFocus: siteVars.shadowLevel1,\n elevatedBoxShadowPressed: siteVars.shadowLevel1,\n padding: pxToRem(16),\n margin: pxToRem(0),\n colorDisabled: siteVars.colorScheme.default.foregroundDisabled,\n compactPadding: pxToRem(0),\n previewMargin: \"0 0 \" + pxToRem(10) + \" 0\",\n headerMargin: \"0 0 \" + pxToRem(10) + \" 0\",\n bodyMargin: \"0 0 \" + pxToRem(10) + \" 0\",\n footerMargin: \"0 0 \" + pxToRem(10) + \" 0\",\n fittedPreviewMargin: pxToRem(0),\n fittedHeaderMargin: pxToRem(0),\n fittedBodyMargin: pxToRem(0),\n fittedFooterMargin: pxToRem(0),\n previewMarginHorizontal: \"0 \" + pxToRem(10) + \" 0 0\",\n topControlsTop: pxToRem(10),\n topControlsRight: pxToRem(0),\n // TODO: update with latest values from design\n width: pxToRem(300),\n height: '100%',\n sizeSmallWidth: pxToRem(200),\n sizeSmallHeight: '100%',\n sizeSmallPadding: pxToRem(0),\n sizeLargeWidth: pxToRem(500),\n sizeLargeHeight: '100%',\n sizeLargePadding: pxToRem(16),\n fluidWidth: '100%',\n fluidHeight: '100%',\n expandableBoxStartMaxHeight: pxToRem(20),\n expandableBoxEndMaxHeight: pxToRem(500),\n expandableBoxShrinkTransition: 'max-height 0.5s ease-in',\n expandableBoxExpandTransition: 'max-height 1s ease-in',\n selectedBackgroundColor: siteVars.colorScheme.default.backgroundFocus3,\n selectedBorderColor: siteVars.colorScheme.default.borderActive,\n selectedBoxShadow: siteVars.shadowLevel4,\n selectedBackgroundColorDisabled: siteVars.colorScheme.default.backgroundDisabled3,\n selectedBackgroundColorFocus: siteVars.colorScheme.default.backgroundFocus3,\n selectedBackgroundColorHover: siteVars.colorScheme.default.backgroundHover3,\n selectedBackgroundColorPressed: siteVars.colorScheme.default.backgroundPressed3\n };\n};\n//# sourceMappingURL=cardVariables.js.map\n","import { pxToRem } from '../../../../utils';\nimport { DAYS_IN_WEEK } from '../../../../utils/date-time-utilities';\nexport var datepickerVariables = function datepickerVariables(siteVars) {\n return {\n calendarCellBorder: 'none',\n calendarCellHeight: pxToRem(34),\n calendarCellWidth: pxToRem(34),\n calendarCellPadding: pxToRem(0),\n calendarCellMargin: pxToRem(0),\n calendarCellBackgroundColor: siteVars.colorScheme.default.background,\n calendarCellColor: 'inherit',\n calendarCellQuietColor: siteVars.colorScheme.default.foreground2,\n calendarCellSelectedColor: siteVars.colorScheme.brand.background4,\n calendarCellSelectedBackgroundColor: siteVars.colorScheme.brand.borderActive1,\n calendarCellTodayBackgroundColor: siteVars.colorScheme.brand.backgroundFocus,\n calendarCellTodayColor: siteVars.colorScheme.white.foreground,\n calendarCellTodayBorderRadius: '50%',\n calendarCellHoverBackgroundColor: siteVars.colorScheme.brand.backgroundHover2,\n calendarCellHoverColor: 'inherit',\n calendarCellDisabledColor: siteVars.colorScheme.brand.foregroundDisabled,\n calendarCellDisabledBackgroundColor: siteVars.colorScheme.default.background,\n calendarHeaderCellFontWeight: siteVars.fontWeightRegular,\n calendarHeaderCellHeight: pxToRem(32),\n calendarHeaderCellPadding: pxToRem(2) + \" \" + pxToRem(0) + \" \" + pxToRem(2) + \" \" + pxToRem(0),\n calendarHeaderCellWidth: \"calc(100%/\" + DAYS_IN_WEEK + \")\",\n calendarHeaderPaddingTop: pxToRem(5),\n calendarHeaderPaddingBottom: pxToRem(5),\n calendarHeaderLabelPaddingLeft: pxToRem(10),\n calendarHeaderLabelFontWeight: siteVars.fontWeightBold,\n calendarMinHeight: pxToRem(282)\n };\n};\n//# sourceMappingURL=datepickerVariables.js.map\n","export var accordionStyles = {\n root: function root() {\n return {\n verticalAlign: 'middle',\n display: 'flex',\n flexDirection: 'column',\n marginBlockEnd: 0,\n marginBlockStart: 0\n };\n }\n};\n//# sourceMappingURL=accordionStyles.js.map\n","import { pxToRem } from '../../../../utils';\nexport var accordionContentStyles = {\n root: function root(_ref) {\n var props = _ref.props;\n return Object.assign({\n display: 'none',\n verticalAlign: 'middle'\n }, props.active && {\n display: 'block'\n }, {\n marginInlineStart: \"\" + pxToRem(20)\n });\n }\n};\n//# sourceMappingURL=accordionContentStyles.js.map\n","import { activeIndicatorUrl } from './activeIndicatorUrl';\nimport { pxToRem } from '../../../../utils';\nexport var accordionTitleStyles = {\n root: function root(_ref) {\n var p = _ref.props;\n return {\n display: 'inline-block',\n verticalAlign: 'middle',\n padding: '.5rem 0',\n cursor: p.disabled ? 'default' : 'pointer'\n };\n },\n contentWrapper: function contentWrapper(_ref2) {\n var p = _ref2.props;\n return Object.assign({\n display: ['grid', '-ms-grid'],\n gridTemplateColumns: 'auto',\n msGridColumns: 'auto'\n }, p.content && {\n gridTemplateColumns: 'auto 1fr',\n msGridColumns: 'auto 1fr'\n });\n },\n indicator: function indicator(_ref3) {\n var p = _ref3.props,\n v = _ref3.variables,\n rtl = _ref3.rtl;\n return Object.assign({\n alignItems: 'center',\n display: 'inline-flex',\n backgroundImage: activeIndicatorUrl(v.color, p.active),\n backgroundPosition: 'center'\n }, rtl && {\n transform: \"scaleX(-1)\"\n }, {\n content: '\" \"',\n overflow: 'hidden',\n height: '100%',\n width: pxToRem(16),\n msGridColumn: '1',\n marginRight: \"\" + pxToRem(4)\n });\n },\n content: function content() {\n return {\n alignItems: 'center',\n display: 'grid',\n msGridColumn: '2'\n };\n }\n};\n//# sourceMappingURL=accordionTitleStyles.js.map\n","export var activeIndicatorUrl = function activeIndicatorUrl(color, active) {\n return active ? \"url(\\\"data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' role='presentation' focusable='false' fill='\" + encodeURIComponent(color) + \"' viewBox='8 8 16 16'%3E%3Cpath d='M16 19l3.5-4h-7z' /%3E%3C/svg%3E\\\")\" : \"url(\\\"data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' role='presentation' focusable='false' fill='\" + encodeURIComponent(color) + \"' viewBox='8 8 16 16'%3E%3Cpath d='M19 16l-4-3.5v7z' /%3E%3C/svg%3E\\\")\";\n};\n//# sourceMappingURL=activeIndicatorUrl.js.map\n","export var getIntentColorsFromProps = function getIntentColorsFromProps(p, v, siteVars) {\n if (p.danger) {\n return {\n color: v.dangerColor,\n backgroundColor: v.dangerBackgroundColor,\n borderColor: v.dangerBorderColor\n };\n }\n\n if (p.info) {\n return {\n color: v.color,\n backgroundColor: v.backgroundColor,\n borderColor: v.borderColor\n };\n }\n\n if (v.oof) {\n return {\n color: v.oofColor,\n backgroundColor: v.oofBackgroundColor,\n borderColor: v.oofBorderColor\n };\n }\n\n if (v.urgent) {\n return {\n color: v.urgentColor,\n backgroundColor: v.urgentBackgroundColor,\n borderColor: v.urgentBorderColor\n };\n }\n\n if (p.success) {\n return {\n color: v.successColor,\n backgroundColor: v.successBackgroundColor,\n borderColor: v.successBorderColor\n };\n }\n\n if (p.warning) {\n return {\n color: v.warningColor,\n backgroundColor: v.warningBackgroundColor,\n borderColor: v.warningBorderColor\n };\n }\n\n return {\n color: v.color,\n backgroundColor: v.backgroundColor,\n borderColor: v.borderColor\n };\n};\nexport var alertStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables,\n siteVariables = _ref.theme.siteVariables;\n return Object.assign({\n display: 'flex',\n alignItems: 'center',\n position: 'relative',\n borderStyle: v.borderStyle,\n borderWidth: v.borderWidth,\n borderRadius: v.borderRadius,\n minHeight: v.minHeight,\n padding: v.padding,\n fontWeight: v.fontWeight,\n visibility: 'visible',\n boxSizing: 'border-box'\n }, getIntentColorsFromProps(p, v, siteVariables), (p.attached === 'top' || p.attached === true) && {\n borderRadius: v.borderRadius + \" \" + v.borderRadius + \" 0 0\"\n }, p.attached === 'bottom' && {\n borderRadius: \"0 0 \" + v.borderRadius + \" \" + v.borderRadius\n }, p.fitted && {\n display: 'inline-flex'\n }, p.dismissible && {\n padding: v.dismissiblePadding\n }, !p.visible && {\n visibility: 'hidden'\n });\n },\n actions: function actions(_ref2) {\n var v = _ref2.variables;\n return {\n margin: v.actionsMargin\n };\n },\n header: function header(_ref3) {\n var v = _ref3.variables;\n return {\n fontWeight: v.headerFontWeight,\n margin: v.headerMargin\n };\n },\n body: function body() {\n return {\n display: 'flex',\n flexGrow: 1\n };\n },\n content: function content() {\n return {\n flexGrow: 1\n };\n },\n icon: function icon(_ref4) {\n var v = _ref4.variables;\n return {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: v.iconSize,\n height: v.iconSize,\n '& > :first-child': {\n height: '100%',\n width: '100%',\n '& svg': {\n height: '100%',\n width: '100%'\n }\n },\n margin: v.iconMargin\n };\n }\n};\n//# sourceMappingURL=alertStyles.js.map\n","var defaultColor = 'transparent';\n/**\n * Returns style object that can be used for styling components on focus state.\n * NOTE: the element where this is used needs to have relative positioning so that the\n * pseudo elements created on focus can be properly positioned.\n */\n\nexport var getBorderFocusStyles = function getBorderFocusStyles(args) {\n var sv = args.variables;\n var _args$borderWidth = args.borderWidth,\n borderWidth = _args$borderWidth === void 0 ? sv.borderWidth : _args$borderWidth,\n _args$borderRadius = args.borderRadius,\n borderRadius = _args$borderRadius === void 0 ? sv.borderRadius : _args$borderRadius,\n _args$focusInnerBorde = args.focusInnerBorderColor,\n focusInnerBorderColor = _args$focusInnerBorde === void 0 ? sv.focusInnerBorderColor || defaultColor : _args$focusInnerBorde,\n _args$focusOuterBorde = args.focusOuterBorderColor,\n focusOuterBorderColor = _args$focusOuterBorde === void 0 ? sv.focusOuterBorderColor || defaultColor : _args$focusOuterBorde,\n borderPadding = args.borderPadding;\n var defaultPreudoStyles = {\n content: '\"\"',\n position: 'absolute',\n borderStyle: 'solid',\n pointerEvents: 'none',\n borderWidth: borderWidth,\n borderRadius: borderRadius\n };\n var borderPaddingTop = (borderPadding == null ? void 0 : borderPadding.top) || borderPadding;\n var borderPaddingBottom = (borderPadding == null ? void 0 : borderPadding.bottom) || borderPadding;\n var borderPaddingLeft = (borderPadding == null ? void 0 : borderPadding.left) || borderPadding;\n var borderPaddingRight = (borderPadding == null ? void 0 : borderPadding.right) || borderPadding;\n return {\n ':focus': {\n outline: 'none'\n },\n ':focus-visible': {\n borderColor: 'transparent',\n ':before': Object.assign({}, defaultPreudoStyles, {\n zIndex: sv.zIndexes.foreground,\n borderColor: focusInnerBorderColor,\n top: borderPadding == null ? '0' : \"-\" + borderPaddingTop,\n bottom: borderPadding == null ? '0' : \"-\" + borderPaddingBottom,\n left: borderPadding == null ? '0' : \"-\" + borderPaddingLeft,\n right: borderPadding == null ? '0' : \"-\" + borderPaddingRight\n }),\n ':after': Object.assign({}, defaultPreudoStyles, {\n zIndex: sv.zIndexes.foreground,\n borderColor: focusOuterBorderColor,\n top: borderPadding == null ? \"-\" + borderWidth : \"calc(0px - \" + borderPaddingTop + \" - \" + borderWidth + \")\",\n bottom: borderPadding == null ? \"-\" + borderWidth : \"calc(0px - \" + borderPaddingBottom + \" - \" + borderWidth + \")\",\n left: borderPadding == null ? \"-\" + borderWidth : \"calc(0px - \" + borderPaddingLeft + \" - \" + borderWidth + \")\",\n right: borderPadding == null ? \"-\" + borderWidth : \"calc(0px - \" + borderPaddingRight + \" - \" + borderWidth + \")\"\n })\n }\n };\n};\n//# sourceMappingURL=getBorderFocusStyles.js.map\n","import { iconClassNames } from '@fluentui/react-icons-northstar';\nexport var getIconFillOrOutlineStyles = function getIconFillOrOutlineStyles(_ref) {\n var _ref2;\n\n var outline = _ref.outline;\n return _ref2 = {}, _ref2[\"& .\" + iconClassNames.filled] = {\n display: outline ? 'none' : 'block'\n }, _ref2[\"& .\" + iconClassNames.outline] = {\n display: outline ? 'block' : 'none'\n }, _ref2;\n};\n//# sourceMappingURL=getIconFillOrOutlineStyles.js.map\n","export var dismissIndicatorUrl = function dismissIndicatorUrl(color, outline) {\n if (outline) {\n return \"url(\\\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' role='presentation' focusable='false' viewBox='8 8 16 16'%3E%3Cg%3E%3Cpath fill='\" + encodeURIComponent(color) + \"' d='M16.707 16l4.243-4.243a.5.5 0 1 0-.707-.707L16 15.293l-4.243-4.243a.5.5 0 1 0-.707.707L15.293 16l-4.243 4.243a.5.5 0 1 0 .707.707L16 16.707l4.243 4.243a.498.498 0 0 0 .707 0 .5.5 0 0 0 0-.707L16.707 16z' /%3E%3C/g%3E%3C/svg%3E\\\")\";\n }\n\n return \"url(\\\"data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' role='presentation' focusable='false' viewBox='8 8 16 16'%3E%3Cg%3E%3Cpath fill='\" + encodeURIComponent(color) + \"' d='M17.414 16l3.89-3.89a1 1 0 1 0-1.415-1.413L16 14.586l-3.89-3.89a1 1 0 1 0-1.413 1.415L14.586 16l-3.89 3.89a1 1 0 1 0 1.415 1.413L16 17.414l3.89 3.89a.997.997 0 0 0 1.413 0 1 1 0 0 0 0-1.415L17.414 16z' /%3E%3C/g%3E%3C/svg%3E\\\")\";\n};\n//# sourceMappingURL=dismissIndicatorUrl.js.map\n","import { alertDismissActionSlotClassNames } from '../../../../components/Alert/AlertDismissAction';\nimport { getBorderFocusStyles } from '../../getBorderFocusStyles';\nimport { getIconFillOrOutlineStyles } from '../../getIconFillOrOutlineStyles';\nimport { dismissIndicatorUrl } from './dismissIndicatorUrl';\nimport { getIntentColorsFromProps } from './alertStyles';\nimport { faster } from '../../animations/durations';\n\nvar getIndicatorStyles = function getIndicatorStyles(color, outline, size) {\n return {\n width: size,\n height: size,\n backgroundImage: dismissIndicatorUrl(color, outline),\n backgroundRepeat: 'no-repeat'\n };\n};\n\nexport var alertDismissActionStyles = {\n root: function root(_ref) {\n var _ref2, _ref3, _ref4;\n\n var p = _ref.props,\n v = _ref.variables,\n theme = _ref.theme;\n var siteVariables = theme.siteVariables;\n var borderWidth = siteVariables.borderWidth;\n\n var _getIntentColorsFromP = getIntentColorsFromProps(p, v, siteVariables),\n dismissActionIndicatorColor = _getIntentColorsFromP.color;\n\n var borderFocusStyles = getBorderFocusStyles({\n variables: {\n borderRadius: v.focusBorderRadius,\n borderWidth: v.focusBorderWidth,\n focusInnerBorderColor: v.focusInnerBorderColor,\n focusOuterBorderColor: v.focusOuterBorderColor,\n zIndexes: {\n foreground: v.focusBorderZIndex\n }\n },\n borderPadding: borderWidth\n });\n return Object.assign({\n height: v.dismissActionSize,\n minWidth: v.dismissActionSize,\n color: v.dismissActionColor || 'currentColor',\n outline: 0,\n padding: 0,\n borderWidth: 0,\n backgroundColor: v.dismissActionBackgroundColor,\n borderRadius: v.borderRadius,\n display: 'inline-flex',\n justifyContent: 'center',\n alignItems: 'center',\n position: 'relative',\n verticalAlign: 'middle',\n cursor: 'pointer',\n transition: faster\n }, getIconFillOrOutlineStyles({\n outline: true\n }), !p.hasContent && (_ref2 = {}, _ref2[\"& .\" + alertDismissActionSlotClassNames.content] = Object.assign({}, getIndicatorStyles(dismissActionIndicatorColor, true, v.dismissActionIndicatorSize)), _ref2), {\n ':hover': Object.assign({\n backgroundColor: v.hoverBackgroundColor,\n color: 'currentColor'\n }, getIconFillOrOutlineStyles({\n outline: false\n }), !p.hasContent && (_ref3 = {}, _ref3[\"& .\" + alertDismissActionSlotClassNames.content] = Object.assign({}, getIndicatorStyles(dismissActionIndicatorColor, false, v.dismissActionIndicatorSize)), _ref3), getBorderFocusStyles({\n variables: {\n borderRadius: v.dismissActionHoverBorderRadius,\n borderWidth: v.dismissActionHoverBorderWidth,\n focusInnerBorderColor: v.dismissActionHoverInnerBorderColor,\n focusOuterBorderColor: v.dismissActionHoverOuterBorderColor,\n zIndexes: {\n foreground: v.dismissActionHoverZIndex\n }\n }\n })[':focus-visible']),\n ':focus': borderFocusStyles[':focus'],\n ':focus-visible': Object.assign({\n backgroundColor: v.focusBackgroundColor,\n borderColor: v.dismissActionBorderColorFocus,\n color: v.dismissActionColorFocus,\n borderWidth: borderWidth\n }, borderFocusStyles[':focus-visible'], getIconFillOrOutlineStyles({\n outline: false\n }), !p.hasContent && (_ref4 = {}, _ref4[\"& .\" + alertDismissActionSlotClassNames.content] = Object.assign({}, getIndicatorStyles(dismissActionIndicatorColor, false, v.dismissActionIndicatorSize)), _ref4), {\n ':hover': {\n borderColor: v.dismissActionBorderColorHover\n }\n })\n }, p.disabled && {\n cursor: 'default',\n color: v.dismissActionColorDisabled,\n boxShadow: 'none',\n pointerEvents: 'none',\n ':hover': {\n color: v.dismissActionColorDisabled\n },\n backgroundColor: v.dismissActionBackgroundColorDisabled,\n borderColor: v.dismissActionBorderColorDisabled\n });\n },\n content: function content(_ref5) {\n var p = _ref5.props,\n v = _ref5.variables,\n theme = _ref5.theme;\n var siteVariables = theme.siteVariables;\n\n var _getIntentColorsFromP2 = getIntentColorsFromProps(p, v, siteVariables),\n dismissActionIndicatorColor = _getIntentColorsFromP2.color;\n\n return Object.assign({\n fontWeight: v.dismissActionContentFontWeight\n }, !p.hasContent && Object.assign({}, getIndicatorStyles(dismissActionIndicatorColor, false, v.dismissActionIndicatorSize)));\n }\n};\n//# sourceMappingURL=alertDismissActionStyles.js.map\n","import { buttonBehavior } from '@fluentui/accessibility';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport * as PropTypes from 'prop-types';\nimport { compose } from '@fluentui/react-bindings';\nimport { commonPropTypes } from '../../utils';\nimport { Button } from '../Button/Button';\nexport var attachmentActionClassName = 'ui-attachment__action';\n/**\n * An AttachmentAction provides a slot for actions in the Attachment.\n */\n\nexport var AttachmentAction = /*#__PURE__*/function () {\n var AttachmentAction = compose(Button, {\n className: attachmentActionClassName,\n displayName: 'AttachmentAction',\n overrideStyles: true,\n shorthandConfig: {\n mappedProp: 'content'\n }\n });\n AttachmentAction.defaultProps = {\n accessibility: buttonBehavior,\n as: 'button'\n };\n AttachmentAction.propTypes = Object.assign({}, commonPropTypes.createCommon({\n content: 'shorthand'\n }), {\n disabled: PropTypes.bool,\n icon: customPropTypes.shorthandAllowingChildren,\n iconPosition: PropTypes.oneOf(['before', 'after']),\n loader: customPropTypes.itemShorthandWithoutJSX,\n loading: PropTypes.bool,\n onClick: PropTypes.func,\n onFocus: PropTypes.func,\n primary: customPropTypes.every([customPropTypes.disallow(['secondary']), PropTypes.bool]),\n secondary: customPropTypes.every([customPropTypes.disallow(['primary']), PropTypes.bool])\n });\n return AttachmentAction;\n}();\n//# sourceMappingURL=AttachmentAction.js.map\n","import { svgIconClassName } from '@fluentui/react-icons-northstar';\nimport { attachmentActionClassName } from '../../../../components/Attachment/AttachmentAction';\nimport { pxToRem } from '../../../../utils';\nimport { getBorderFocusStyles } from '../../getBorderFocusStyles';\nexport var attachmentStyles = {\n root: function root(_ref) {\n var _Object$assign, _hover;\n\n var p = _ref.props,\n v = _ref.variables,\n siteVariables = _ref.theme.siteVariables;\n var borderFocusStyles = getBorderFocusStyles({\n variables: siteVariables,\n borderRadius: v.borderRadius\n });\n return Object.assign({\n position: 'relative',\n display: 'inline-flex',\n alignItems: 'center',\n width: '100%',\n maxWidth: pxToRem(440),\n minHeight: pxToRem(48),\n padding: v.padding,\n marginBottom: pxToRem(2),\n marginRight: pxToRem(2),\n background: v.backgroundColor,\n color: v.textColor,\n boxShadow: v.boxShadow,\n border: siteVariables.borderWidth + \" solid \" + v.borderColor,\n borderRadius: v.borderRadius\n }, borderFocusStyles, {\n '& .ui-attachment__progress': {\n transition: 'width 0.2s',\n position: 'absolute',\n display: 'block',\n bottom: 0,\n left: 0,\n maxWidth: '100%',\n height: v.progressHeight,\n background: v.progressColor\n }\n }, p.actionable && {\n cursor: 'pointer',\n ':focus-visible': Object.assign({}, borderFocusStyles[':focus-visible'], (_Object$assign = {\n backgroundColor: v.focusBackgroundColor,\n color: v.focusColor\n }, _Object$assign[\"& .\" + attachmentActionClassName] = {\n color: v.focusColor\n }, _Object$assign[\"& .\" + svgIconClassName] = {\n color: v.focusColor\n }, _Object$assign)),\n ':hover': (_hover = {\n backgroundColor: v.backgroundColorHover,\n color: v.textColorHover\n }, _hover[\"& .\" + attachmentActionClassName] = {\n color: v.textColorHover\n }, _hover[\"& .\" + svgIconClassName] = {\n color: v.textColorHover\n }, _hover)\n });\n }\n};\n//# sourceMappingURL=attachmentStyles.js.map\n","import { getIconFillOrOutlineStyles } from '../../getIconFillOrOutlineStyles';\nimport { getBorderFocusStyles } from '../../getBorderFocusStyles';\nimport { pxToRem } from '../../../../utils';\nimport { loaderSlotClassNames } from '../../../../components/Loader/Loader';\nexport var attachmentActionStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables,\n theme = _ref.theme;\n var siteVariables = theme.siteVariables;\n var iconFilledStyles = getIconFillOrOutlineStyles({\n outline: false\n });\n var borderFocusStyles = getBorderFocusStyles({\n variables: siteVariables,\n borderRadius: v.actionFocusBorderRadius\n });\n return Object.assign({\n height: v.actionHeight,\n maxWidth: v.actionMaxWidth,\n display: 'inline-flex',\n justifyContent: 'center',\n alignItems: 'center',\n position: 'relative',\n verticalAlign: 'middle',\n cursor: 'pointer',\n // text button defaults\n color: v.actionColor,\n // textColor\n backgroundColor: 'transparent',\n borderColor: 'transparent',\n padding: 0\n }, getIconFillOrOutlineStyles({\n outline: true\n }), {\n ':focus': Object.assign({\n boxShadow: 'none'\n }, borderFocusStyles[':focus']),\n ':focus-visible': Object.assign({}, iconFilledStyles, borderFocusStyles[':focus-visible'])\n }, p.primary && {\n color: v.actionPrimaryColor\n }, p.disabled && {\n cursor: 'default',\n boxShadow: 'none',\n pointerEvents: 'none',\n color: v.actionColorDisabled,\n backgroundColor: 'transparent',\n ':hover': {\n color: v.actionColorDisabled\n }\n }, {\n minWidth: v.actionHeight,\n ':hover': Object.assign({}, getIconFillOrOutlineStyles({\n outline: false\n }))\n });\n },\n icon: function icon(_ref2) {\n var p = _ref2.props,\n v = _ref2.variables;\n return Object.assign({\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: v.actionIconSize,\n height: v.actionIconSize\n }, p.loading && {\n margin: 0,\n opacity: 0,\n width: 0\n }, p.hasContent && Object.assign({\n margin: \"0 \" + pxToRem(10) + \" 0 0\"\n }, p.iconPosition === 'after' && {\n margin: \"0 0 0 \" + pxToRem(10)\n }));\n },\n loader: function loader(_ref3) {\n var _Object$assign;\n\n var p = _ref3.props,\n v = _ref3.variables;\n return Object.assign((_Object$assign = {}, _Object$assign[\"& .\" + loaderSlotClassNames.indicator] = {\n width: v.actionLoaderSize,\n height: v.actionLoaderSize\n }, _Object$assign[\"& .\" + loaderSlotClassNames.svg] = {\n ':before': {\n animationName: {\n to: {\n transform: \"translate3d(0, \" + v.actionLoaderSvgAnimationHeight + \", 0)\"\n }\n },\n borderWidth: v.actionLoaderBorderSize,\n width: v.actionLoaderSize,\n height: v.actionLoaderSvgHeight\n }\n }, _Object$assign), p.hasContent && {\n marginRight: pxToRem(4)\n });\n }\n};\n//# sourceMappingURL=attachmentActionStyles.js.map\n","export var attachmentBodyStyles = {\n root: function root() {\n return {\n flex: 1\n };\n }\n};\n//# sourceMappingURL=attachmentBodyStyles.js.map\n","export var attachmentDescriptionStyles = {\n root: function root(_ref) {\n var v = _ref.variables;\n return {\n display: 'block',\n fontSize: v.descriptionFontSize,\n fontWeight: v.descriptionFontWeight,\n lineHeight: v.descriptionLineHeight\n };\n }\n};\n//# sourceMappingURL=attachmentDescriptionStyles.js.map\n","export var attachmentHeaderStyles = {\n root: function root(_ref) {\n var v = _ref.variables;\n return {\n display: 'block',\n fontSize: v.headerFontSize,\n fontWeight: v.headerFontWeight,\n lineHeight: v.headerLineHeight\n };\n }\n};\n//# sourceMappingURL=attachmentHeaderStyles.js.map\n","import { svgIconClassName } from '@fluentui/react-icons-northstar';\nexport var attachmentIconStyles = {\n root: function root(_ref) {\n var _ref2;\n\n var v = _ref.variables;\n return _ref2 = {\n height: v.iconSize,\n width: v.iconSize,\n marginRight: v.iconSpace\n }, _ref2[\"& .\" + svgIconClassName] = {\n height: '100%',\n width: '100%',\n '& svg': {\n height: '100%',\n width: '100%'\n }\n }, _ref2;\n }\n};\n//# sourceMappingURL=attachmentIconStyles.js.map\n","import { pxToRem } from '../../../../utils';\nvar sizeToPxValue = {\n smallest: 20,\n smaller: 24,\n small: 28,\n medium: 32,\n large: 44,\n larger: 64,\n largest: 96\n};\nexport var avatarStyles = {\n root: function root(_ref) {\n var size = _ref.props.size;\n var sizeInRem = pxToRem(sizeToPxValue[size]);\n return {\n position: 'relative',\n backgroundColor: 'inherit',\n display: 'inline-block',\n verticalAlign: 'middle',\n height: sizeInRem,\n width: sizeInRem\n };\n }\n};\n//# sourceMappingURL=avatarStyles.js.map\n","import { pxToRem } from '../../../../utils';\nvar sizeToPxValue = {\n smallest: 6,\n smaller: 10,\n small: 10,\n medium: 10,\n large: 10,\n larger: 16,\n largest: 0\n};\nexport var getSizeStyles = function getSizeStyles(sizeInPx) {\n var sizeInRem = pxToRem(sizeInPx);\n return {\n height: sizeInRem,\n width: sizeInRem\n };\n};\nexport var avatarStatusStyles = {\n root: function root(_ref) {\n var v = _ref.variables,\n _ref$props = _ref.props,\n color = _ref$props.color,\n size = _ref$props.size,\n state = _ref$props.state;\n return Object.assign({\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center'\n }, getSizeStyles(sizeToPxValue[size]), {\n verticalAlign: 'middle',\n borderRadius: '9999px',\n position: 'absolute',\n bottom: 0,\n right: 0,\n boxShadow: \"0 0 0 \" + v.statusBorderWidth + \" \" + v.statusBorderColor\n }, state === 'success' && {\n backgroundColor: v.statusSuccessBackgroundColor\n }, state === 'info' && {\n backgroundColor: v.statusInfoBackgroundColor\n }, state === 'warning' && {\n backgroundColor: v.statusWarningBackgroundColor\n }, state === 'error' && {\n backgroundColor: v.statusErrorBackgroundColor\n }, state === 'unknown' && {\n backgroundColor: v.statusBackgroundColor\n }, !!color && {\n backgroundColor: color\n });\n }\n};\n//# sourceMappingURL=avatarStatusStyles.js.map\n","export var avatarStatusIconStyles = {\n root: function root(_ref) {\n var state = _ref.props.state,\n v = _ref.variables;\n return Object.assign({\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: v.statusIconSize,\n height: v.statusIconSize,\n color: v.statusColor\n }, state === 'success' && {\n color: v.statusSuccessColor\n }, state === 'info' && {\n color: v.statusInfoColor\n }, state === 'error' && {\n color: v.statusErrorColor\n }, state === 'warning' && {\n color: v.statusWarningColor\n }, {\n '& > :first-child': {\n height: '100%',\n width: '100%',\n '& svg': {\n height: '100%',\n width: '100%'\n }\n }\n });\n }\n};\n//# sourceMappingURL=avatarStatusIconStyles.js.map\n","export var avatarImageStyles = {\n root: function root(_ref) {\n var v = _ref.variables,\n p = _ref.props;\n return Object.assign({\n boxSizing: 'border-box',\n display: 'inline-block'\n }, p.circular && {\n borderRadius: v.imageCircularRadius\n }, p.avatar && {\n width: p.fluid && '100%' || v.imageAvatarSize,\n borderRadius: v.imageAvatarRadius\n }, {\n borderColor: v.avatarBorderColor,\n borderStyle: 'solid',\n borderWidth: v.avatarBorderWidth,\n height: '100%',\n objectFit: 'cover',\n verticalAlign: 'top',\n width: '100%'\n }, !p.avatar && {\n borderRadius: v.squareAvatarBorderRadius\n });\n }\n};\n//# sourceMappingURL=avatarImageStyles.js.map\n","import { pxToRem } from '../../../../utils';\nvar sizeToPxValue = {\n smallest: 20,\n smaller: 24,\n small: 28,\n medium: 32,\n large: 44,\n larger: 64,\n largest: 96\n};\nvar iconSizeToPxValue = {\n smallest: 10,\n smaller: 12,\n small: 16,\n medium: 16,\n large: 20,\n larger: 32,\n largest: 40\n};\nexport var avatarIconStyles = {\n root: function root(_ref) {\n var v = _ref.variables,\n p = _ref.props;\n var sizeInRem = pxToRem(sizeToPxValue[p.size]);\n var iconsizeInRem = pxToRem(iconSizeToPxValue[p.size]);\n return Object.assign({\n color: v.iconColor,\n background: v.iconBackgroundColor,\n width: sizeInRem,\n height: sizeInRem,\n borderRadius: '50%',\n display: 'inline-flex',\n alignItems: 'center'\n }, p.square && {\n borderRadius: v.squareAvatarBorderRadius\n }, {\n '& > :first-child': {\n margin: '0 auto',\n width: iconsizeInRem,\n height: iconsizeInRem,\n '& svg': {\n width: '100%',\n height: '100%'\n }\n }\n });\n }\n};\n//# sourceMappingURL=avatarIconStyles.js.map\n","import { pxToRem } from '../../../../utils';\nvar sizeToPxValue = {\n smallest: 20,\n smaller: 24,\n small: 28,\n medium: 32,\n large: 44,\n larger: 64,\n largest: 96\n};\nexport var avatarLabelStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n var sizeInRem = pxToRem(sizeToPxValue[p.size]);\n return Object.assign({\n alignItems: 'center',\n overflow: 'hidden',\n color: v.labelColor,\n backgroundColor: v.labelBackground,\n borderRadius: '50%',\n display: 'inline-block',\n width: sizeInRem,\n height: sizeInRem,\n lineHeight: sizeInRem,\n fontSize: pxToRem(sizeToPxValue[p.size] / 2.333),\n verticalAlign: 'top',\n textAlign: 'center',\n padding: '0'\n }, p.square && {\n borderRadius: v.squareAvatarBorderRadius\n }, p.circular && {\n borderRadius: v.labelCircularRadius\n });\n }\n};\n//# sourceMappingURL=avatarLabelStyles.js.map\n","import _isNil from \"lodash/isNil\";\nimport { pxToRem } from '../../../../utils';\nimport { loaderSlotClassNames } from '../../../../components/Loader/Loader';\nimport { getBorderFocusStyles } from '../../getBorderFocusStyles';\nimport { getIconFillOrOutlineStyles } from '../../getIconFillOrOutlineStyles';\nimport { faster, ultraFast } from '../../animations/durations';\nexport var buttonStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables,\n theme = _ref.theme;\n var siteVariables = theme.siteVariables;\n var borderWidth = siteVariables.borderWidth;\n var borderFocusStyles = getBorderFocusStyles(Object.assign({\n variables: siteVariables,\n borderPadding: borderWidth\n }, p.circular && {\n borderPadding: pxToRem(4)\n }));\n return Object.assign({\n height: v.height,\n minWidth: _isNil(p.loading) ? v.minWidth : v.loadingMinWidth,\n maxWidth: v.maxWidth,\n color: v.color,\n backgroundColor: v.backgroundColor,\n borderRadius: v.borderRadius,\n display: 'inline-flex',\n justifyContent: 'center',\n alignItems: 'center',\n position: 'relative',\n padding: v.padding,\n verticalAlign: 'middle',\n cursor: 'pointer',\n transition: faster\n }, p.size === 'small' && {\n padding: v.sizeSmallPadding,\n height: v.sizeSmallHeight,\n minWidth: v.sizeSmallMinWidth\n }, !p.text && Object.assign({\n outline: 0,\n borderWidth: borderWidth,\n borderStyle: 'solid',\n borderColor: v.borderColor,\n boxShadow: v.boxShadow,\n ':hover': {\n color: v.colorHover,\n backgroundColor: v.backgroundColorHover,\n borderColor: v.borderColorHover\n }\n }, !p.disabledFocusable && {\n ':active': {\n transition: ultraFast,\n color: v.colorActive,\n backgroundColor: v.backgroundColorActive,\n borderColor: v.borderColorActive,\n boxShadow: 'none'\n }\n }, {\n ':focus': borderFocusStyles[':focus'],\n ':focus-visible': Object.assign({}, borderFocusStyles[':focus-visible'], {\n backgroundColor: v.backgroundColorFocus,\n borderColor: v.borderColorFocus,\n color: v.colorFocus,\n borderWidth: borderWidth,\n ':hover': {\n borderColor: v.borderColorHover\n }\n })\n }, p.size === 'small' && {\n boxShadow: 'none'\n }), p.circular && !p.text && Object.assign({\n minWidth: v.height,\n padding: 0,\n borderRadius: v.circularBorderRadius\n }, p.size === 'small' && {\n minWidth: v.sizeSmallHeight\n }), p.text && Object.assign({\n color: v.textColor,\n backgroundColor: 'transparent',\n borderColor: 'transparent',\n padding: \"0 \" + pxToRem(8)\n }, getIconFillOrOutlineStyles({\n outline: true\n }), {\n ':hover': Object.assign({\n color: v.textColorHover\n }, getIconFillOrOutlineStyles({\n outline: false\n })),\n ':focus': Object.assign({\n boxShadow: 'none'\n }, borderFocusStyles[':focus']),\n ':focus-visible': borderFocusStyles[':focus-visible']\n }, p.primary && {\n color: v.textPrimaryColor\n }), p.primary && !p.text && Object.assign({\n color: v.primaryColor,\n backgroundColor: v.primaryBackgroundColor,\n borderColor: v.primaryBorderColor,\n boxShadow: v.primaryBoxShadow\n }, !p.disabledFocusable && {\n ':active': {\n transition: ultraFast,\n backgroundColor: v.primaryBackgroundColorActive,\n boxShadow: 'none'\n }\n }, {\n ':focus': borderFocusStyles[':focus'],\n ':focus-visible': Object.assign({}, borderFocusStyles[':focus-visible'], {\n backgroundColor: v.primaryBackgroundColorFocus\n }),\n ':hover': {\n color: v.primaryColorHover,\n backgroundColor: v.primaryBackgroundColorHover\n }\n }), p.inverted && Object.assign({\n backgroundColor: siteVariables.colorScheme.silver.background,\n borderColor: siteVariables.colorScheme.silver.border,\n color: siteVariables.colorScheme.silver.foreground\n }, !p.disabledFocusable && {\n ':active': {\n transition: ultraFast,\n backgroundColor: siteVariables.colorScheme.silver.backgroundPressed,\n color: siteVariables.colorScheme.silver.foregroundHover\n }\n }, {\n ':hover': {\n backgroundColor: siteVariables.colorScheme.silver.backgroundHover,\n color: siteVariables.colorScheme.silver.foregroundHover\n },\n ':focus': Object.assign({}, borderFocusStyles[':focus'], {\n boxShadow: 'none'\n }),\n ':focus-visible': Object.assign({}, borderFocusStyles[':focus-visible'], !p.disabledFocusable && {\n backgroundColor: siteVariables.colorScheme.silver.backgroundPressed,\n color: siteVariables.colorScheme.silver.foregroundHover\n })\n }), p.tinted && Object.assign({\n backgroundColor: v.tintedBackgroundColor,\n borderColor: v.tintedBorderColor,\n color: v.tintedColor\n }, !p.disabledFocusable && {\n ':active': {\n transition: ultraFast,\n backgroundColor: v.tintedBackgroundColorActive\n }\n }, {\n ':hover': {\n backgroundColor: v.tintedBackgroundColorHover\n },\n ':focus': {\n boxShadow: 'none'\n }\n }), p.disabled && {\n // pointer events intentionally not disabled for focusable disabled buttons\n // so that hover events work\n pointerEvents: 'none'\n }, (p.disabled || p.disabledFocusable) && Object.assign({\n cursor: 'default',\n color: v.colorDisabled,\n boxShadow: 'none',\n ':hover': {\n color: v.colorDisabled\n }\n }, p.text && {\n color: v.textColorDisabled,\n backgroundColor: 'transparent',\n ':hover': {\n color: v.textColorDisabled\n }\n }, !p.text && {\n backgroundColor: v.backgroundColorDisabled,\n borderColor: v.borderColorDisabled\n }), p.fluid && {\n width: '100%',\n maxWidth: '100%'\n }, p.iconOnly && Object.assign({\n minWidth: v.height,\n padding: 0\n }, !p.inverted && {\n ':hover': Object.assign({}, getIconFillOrOutlineStyles({\n outline: false\n }), {\n color: v.textColorIconOnlyHover,\n background: v.backgroundColorIconOnlyHover\n })\n }, p.size === 'small' && {\n minWidth: v.sizeSmallHeight\n }));\n },\n icon: function icon(_ref2) {\n var p = _ref2.props,\n v = _ref2.variables;\n return Object.assign({\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: v.iconSize,\n height: v.iconSize\n }, p.loading && {\n margin: 0,\n opacity: 0,\n width: 0\n }, p.hasContent && Object.assign({\n margin: \"0 \" + pxToRem(10) + \" 0 0\"\n }, p.iconPosition === 'after' && {\n margin: \"0 0 0 \" + pxToRem(10)\n }));\n },\n loader: function loader(_ref3) {\n var _Object$assign;\n\n var p = _ref3.props,\n v = _ref3.variables;\n return Object.assign((_Object$assign = {}, _Object$assign[\"& .\" + loaderSlotClassNames.indicator] = {\n width: p.size === 'small' ? v.sizeSmallLoaderSize : v.loaderSize,\n height: p.size === 'small' ? v.sizeSmallLoaderSize : v.loaderSize\n }, _Object$assign[\"& .\" + loaderSlotClassNames.svg] = {\n ':before': {\n animationName: {\n to: {\n transform: \"translate3d(0, \" + (p.size === 'small' ? v.sizeSmallLoaderSvgAnimationHeight : v.loaderSvgAnimationHeight) + \", 0)\"\n }\n },\n borderWidth: p.size === 'small' ? v.sizeSmallLoaderBorderSize : v.loaderBorderSize,\n width: p.size === 'small' ? v.sizeSmallLoaderSize : v.loaderSize,\n height: p.size === 'small' ? v.sizeSmallLoaderSvgHeight : v.loaderSvgHeight\n }\n }, _Object$assign), p.hasContent && {\n marginRight: pxToRem(4)\n });\n }\n};\n//# sourceMappingURL=buttonStyles.js.map\n","import { pxToRem } from '../../../../utils';\n\nvar commonButtonsStyles = function commonButtonsStyles(circular) {\n return circular ? {\n marginRight: pxToRem(8)\n } : {\n borderRadius: 0\n };\n};\n\nexport var buttonGroupStyles = {\n root: function root() {\n return {};\n },\n middleButton: function middleButton(_ref) {\n var p = _ref.props;\n return Object.assign({}, commonButtonsStyles(p.circular));\n },\n firstButton: function firstButton(_ref2) {\n var p = _ref2.props,\n v = _ref2.variables;\n return Object.assign({}, commonButtonsStyles(p.circular), !p.circular && {\n borderTopLeftRadius: v.borderRadius,\n borderBottomLeftRadius: v.borderRadius\n });\n },\n lastButton: function lastButton(_ref3) {\n var p = _ref3.props,\n v = _ref3.variables;\n return Object.assign({}, commonButtonsStyles(p.circular), !p.circular && {\n borderTopRightRadius: v.borderRadius,\n borderBottomRightRadius: v.borderRadius\n });\n }\n};\n//# sourceMappingURL=buttonGroupStyles.js.map\n","export var buttonContentStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n return Object.assign({\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n fontSize: v.contentFontSize,\n fontWeight: v.contentFontWeight,\n lineHeight: v.contentLineHeight\n }, p.size === 'small' && {\n fontSize: v.sizeSmallContentFontSize,\n lineHeight: v.sizeSmallContentLineHeight\n });\n }\n};\n//# sourceMappingURL=buttonContentStyles.js.map\n","export var breadcrumbItemStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n return Object.assign({\n display: 'inline-flex',\n alignItems: 'center',\n verticalAlign: 'middle'\n }, p.active && {\n fontWeight: v.itemCurrentFontWeight\n }, p.disabled && {\n color: v.disabledColor\n }, p.size === 'smaller' && {\n paddingLeft: v.linkPaddingLeftSmaller,\n paddingRight: v.linkPaddingRightSmaller,\n gap: v.linkSmallerGap\n }, p.size === 'small' && {\n paddingLeft: v.linkPaddingLeftSmall,\n paddingRight: v.linkPaddingRightSmall,\n gap: v.linkSmallGap\n }, p.size === 'medium' && {\n paddingLeft: v.linkPaddingLeftMedium,\n paddingRight: v.linkPaddingRightMedium,\n gap: v.linkMediumGap\n }, p.size === 'large' && {\n paddingLeft: v.linkPaddingLeftLarge,\n paddingRight: v.linkPaddingRightLarge,\n gap: v.linkLargeGap\n });\n }\n};\n//# sourceMappingURL=breadcrumbItemStyles.js.map\n","export var breadcrumbDividerStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n return {\n verticalAlign: 'middle'\n };\n }\n};\n//# sourceMappingURL=breadcrumbDividerStyles.js.map\n","import { getBorderFocusStyles } from '../../getBorderFocusStyles';\nexport var breadcrumbLinkStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables,\n siteVariables = _ref.theme.siteVariables;\n var borderFocusStyles = getBorderFocusStyles(Object.assign({\n variables: siteVariables\n }, p.size === 'smaller' && {\n borderPadding: {\n top: v.linkPaddingTop,\n right: v.linkPaddingRightSmaller,\n bottom: v.linkPaddingBottom,\n left: v.linkPaddingLeftSmaller\n }\n }, p.size === 'small' && {\n borderPadding: {\n top: v.linkPaddingTop,\n right: v.linkPaddingRightSmall,\n bottom: v.linkPaddingBottom,\n left: v.linkPaddingLeftSmall\n }\n }, p.size === 'medium' && {\n borderPadding: {\n top: v.linkPaddingTop,\n right: v.linkPaddingRightMedium,\n bottom: v.linkPaddingBottom,\n left: v.linkPaddingLeftMedium\n }\n }, p.size === 'large' && {\n borderPadding: {\n top: v.linkPaddingTop,\n right: v.linkPaddingRightLarge,\n bottom: v.linkPaddingBottom,\n left: v.linkPaddingLeftLarge\n }\n }));\n return Object.assign({\n display: 'flex',\n alignItems: 'center',\n position: 'relative',\n ':visited': {\n color: 'inherit'\n }\n }, borderFocusStyles);\n }\n};\n//# sourceMappingURL=breadcrumbLinkStyles.js.map\n","export var breadcrumbStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n return Object.assign({\n display: 'inline-flex',\n alignItems: 'center'\n }, p.size === 'smaller' && {\n fontSize: v.fontSizeSmaller\n }, p.size === 'small' && {\n fontSize: v.fontSizeSmall\n }, p.size === 'medium' && {\n fontSize: v.fontSizeMedium\n }, p.size === 'large' && {\n fontSize: v.fontSizeLarge\n });\n }\n};\n//# sourceMappingURL=breadcrumbStyles.js.map\n","import { pxToRem } from '../../../../utils';\nexport var chatStyles = {\n root: function root(_ref) {\n var v = _ref.variables;\n return {\n backgroundColor: v.backgroundColor,\n border: \"1px solid \" + v.backgroundColor,\n display: 'flex',\n flexDirection: 'column',\n listStyle: 'none',\n padding: \"0 \" + pxToRem(10) + \" 0 \" + pxToRem(10),\n margin: 0\n };\n }\n};\n//# sourceMappingURL=chatStyles.js.map\n","import { pxToRem } from '../../../../utils';\nexport var chatItemStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n return Object.assign({\n position: 'relative'\n }, (!p.attached || p.attached === 'top') && {\n paddingTop: pxToRem(16)\n }, (p.attached === 'bottom' || p.attached === true) && {\n paddingTop: pxToRem(2)\n }, {\n paddingBottom: 0\n });\n },\n gutter: function gutter(_ref2) {\n var _Object$assign;\n\n var p = _ref2.props,\n v = _ref2.variables;\n return Object.assign((_Object$assign = {\n position: 'absolute',\n marginTop: v.gutterMargin\n }, _Object$assign[p.contentPosition === 'end' ? 'right' : 'left'] = 0, _Object$assign), (p.attached === 'bottom' || p.attached === true) && {\n display: 'none'\n });\n },\n message: function message(_ref3) {\n var p = _ref3.props,\n v = _ref3.variables;\n return {\n position: 'relative',\n float: p.contentPosition === 'end' ? 'right' : 'left',\n marginLeft: v.messageMargin,\n marginRight: v.messageMargin\n };\n }\n};\n//# sourceMappingURL=chatItemStyles.js.map\n","import _invoke from \"lodash/invoke\";\nimport _isNil from \"lodash/isNil\";\nimport { IS_FOCUSABLE_ATTRIBUTE, chatMessageBehavior, menuAsToolbarBehavior } from '@fluentui/accessibility';\nimport { getElementType, useUnhandledProps, useAccessibility, useFluentContext, useStyles, useTelemetry, useContextSelector } from '@fluentui/react-bindings';\nimport { Ref } from '@fluentui/react-component-ref';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport cx from 'classnames';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { getScrollParent, partitionPopperPropsFromShorthand, usePopper } from '../../utils/positioner';\nimport { childrenExist, createShorthandFactory, commonPropTypes, rtlTextContainer, createShorthand } from '../../utils';\nimport { Box } from '../Box/Box';\nimport { Label } from '../Label/Label';\nimport { Menu } from '../Menu/Menu';\nimport { Text } from '../Text/Text';\nimport { Reaction } from '../Reaction/Reaction';\nimport { ChatItemContext } from './chatItemContext';\nimport { ChatMessageHeader } from './ChatMessageHeader';\nimport { ChatMessageDetails } from './ChatMessageDetails';\nimport { ChatMessageReadStatus } from './ChatMessageReadStatus';\nexport var chatMessageClassName = 'ui-chat__message';\nexport var chatMessageSlotClassNames = {\n actionMenu: chatMessageClassName + \"__actions\",\n author: chatMessageClassName + \"__author\",\n timestamp: chatMessageClassName + \"__timestamp\",\n badge: chatMessageClassName + \"__badge\",\n content: chatMessageClassName + \"__content\",\n reactionGroup: chatMessageClassName + \"__reactions\"\n};\n/**\n * A ChatMessage represents a single message in chat.\n */\n\nexport var ChatMessage = /*#__PURE__*/function () {\n var ChatMessage = function ChatMessage(props) {\n var context = useFluentContext();\n\n var _useTelemetry = useTelemetry(ChatMessage.displayName, context.telemetry),\n setStart = _useTelemetry.setStart,\n setEnd = _useTelemetry.setEnd;\n\n setStart();\n var parentAttached = useContextSelector(ChatItemContext, function (v) {\n return v.attached;\n });\n var accessibility = props.accessibility,\n _props$attached = props.attached,\n attached = _props$attached === void 0 ? parentAttached : _props$attached,\n author = props.author,\n badge = props.badge,\n badgePosition = props.badgePosition,\n children = props.children,\n className = props.className,\n content = props.content,\n design = props.design,\n mine = props.mine,\n positionActionMenu = props.positionActionMenu,\n reactionGroup = props.reactionGroup,\n reactionGroupPosition = props.reactionGroupPosition,\n timestamp = props.timestamp,\n styles = props.styles,\n variables = props.variables,\n header = props.header,\n details = props.details,\n readStatus = props.readStatus,\n overflow = props.unstable_overflow;\n\n var _partitionPopperProps = partitionPopperPropsFromShorthand(props.actionMenu),\n actionMenu = _partitionPopperProps[0],\n positioningProps = _partitionPopperProps[1];\n\n var hasActionMenu = !_isNil(actionMenu);\n var modifiers = React.useCallback(function (target, container) {\n return positionActionMenu && [// https://popper.js.org/docs/v2/modifiers/flip/\n // Forces to flip only in \"top-*\" positions\n {\n name: 'flip',\n options: {\n fallbackPlacements: ['top']\n }\n }, overflow && {\n name: 'preventOverflow',\n options: {\n boundary: getScrollParent(container)\n }\n }];\n }, [positionActionMenu, overflow]);\n var popperRef = React.useRef();\n\n var _usePopper = usePopper(Object.assign({\n align: 'end',\n position: 'above',\n positionFixed: overflow,\n enabled: hasActionMenu && positionActionMenu,\n modifiers: modifiers,\n popperRef: popperRef\n }, positioningProps)),\n messageRef = _usePopper.targetRef,\n actionsMenuRef = _usePopper.containerRef;\n\n var _React$useState = React.useState(false),\n focused = _React$useState[0],\n setFocused = _React$useState[1];\n\n var getA11Props = useAccessibility(accessibility, {\n actionHandlers: {\n // prevents default FocusZone behavior, e.g., in ChatMessageBehavior, it prevents FocusZone from using arrow keys\n // as navigation (only Tab key should work)\n preventDefault: function preventDefault(event) {\n // preventDefault only if event coming from inside the message\n if (event.currentTarget !== event.target) {\n event.preventDefault();\n }\n },\n focus: function focus(event) {\n if (messageRef.current) {\n messageRef.current.focus();\n event.stopPropagation();\n }\n }\n }\n });\n\n var _useStyles = useStyles(ChatMessage.displayName, {\n className: chatMessageClassName,\n mapPropsToStyles: function mapPropsToStyles() {\n return {\n attached: attached,\n badgePosition: badgePosition,\n focused: focused,\n mine: mine,\n hasBadge: !!badge,\n hasReactionGroup: !!reactionGroup\n };\n },\n mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n return {\n className: className,\n design: design,\n styles: styles,\n variables: variables\n };\n },\n rtl: context.rtl\n }),\n classes = _useStyles.classes,\n resolvedStyles = _useStyles.styles;\n\n var handleFocus = function handleFocus(e) {\n var _popperRef$current;\n\n (_popperRef$current = popperRef.current) == null ? void 0 : _popperRef$current.updatePosition();\n setFocused(true);\n\n _invoke(props, 'onFocus', e, props);\n };\n\n var handleBlur = function handleBlur(e) {\n // `focused` controls is focused the whole `ChatMessage` or any of its children. When we're navigating\n // with keyboard the focused element will be changed and there is no way to use `:focus` selector\n var shouldPreserveFocusState = _invoke(e, 'currentTarget.contains', e.relatedTarget);\n\n setFocused(shouldPreserveFocusState);\n\n _invoke(props, 'onBlur', e, props);\n };\n\n var handleMouseEnter = function handleMouseEnter(e) {\n var _popperRef$current2;\n\n (_popperRef$current2 = popperRef.current) == null ? void 0 : _popperRef$current2.updatePosition();\n\n _invoke(props, 'onMouseEnter', e, props);\n };\n\n var renderActionMenu = function renderActionMenu() {\n var actionMenuElement = Menu.create(actionMenu, {\n defaultProps: function defaultProps() {\n var _ref;\n\n return _ref = {}, _ref[IS_FOCUSABLE_ATTRIBUTE] = true, _ref.accessibility = menuAsToolbarBehavior, _ref.className = chatMessageSlotClassNames.actionMenu, _ref.styles = resolvedStyles.actionMenu, _ref;\n }\n });\n\n if (!actionMenuElement) {\n return actionMenuElement;\n }\n\n return /*#__PURE__*/React.createElement(Ref, {\n innerRef: actionsMenuRef\n }, actionMenuElement);\n };\n\n var childrenPropExists = childrenExist(children);\n var rootClasses = childrenPropExists ? cx(classes.root, classes.content) : classes.root;\n var ElementType = getElementType(props);\n var unhandledProps = useUnhandledProps(ChatMessage.handledProps, props);\n var badgeElement = Label.create(badge, {\n defaultProps: function defaultProps() {\n return {\n className: chatMessageSlotClassNames.badge,\n styles: resolvedStyles.badge\n };\n }\n });\n var reactionGroupElement = Reaction.Group.create(reactionGroup, {\n defaultProps: function defaultProps() {\n return {\n className: chatMessageSlotClassNames.reactionGroup,\n styles: resolvedStyles.reactionGroup\n };\n }\n });\n var actionMenuElement = renderActionMenu();\n var authorElement = Text.create(author, {\n defaultProps: function defaultProps() {\n return {\n size: 'small',\n styles: resolvedStyles.author,\n className: chatMessageSlotClassNames.author\n };\n }\n });\n var timestampElement = Text.create(timestamp, {\n defaultProps: function defaultProps() {\n return {\n size: 'small',\n styles: resolvedStyles.timestamp,\n timestamp: true,\n className: chatMessageSlotClassNames.timestamp\n };\n }\n });\n var messageContent = Box.create(content, {\n defaultProps: function defaultProps() {\n return {\n className: chatMessageSlotClassNames.content,\n styles: resolvedStyles.content\n };\n }\n });\n var detailsElement = createShorthand(ChatMessageDetails, details, {\n defaultProps: function defaultProps() {\n return {\n mine: mine\n };\n }\n });\n var readStatusElement = createShorthand(ChatMessageReadStatus, readStatus, {});\n var headerElement = createShorthand(ChatMessageHeader, header || {}, {\n overrideProps: function overrideProps() {\n return {\n content: /*#__PURE__*/React.createElement(React.Fragment, null, authorElement, timestampElement, detailsElement, reactionGroupPosition === 'start' && reactionGroupElement)\n };\n }\n });\n var element = /*#__PURE__*/React.createElement(Ref, {\n innerRef: messageRef\n }, getA11Props.unstable_wrapWithFocusZone( /*#__PURE__*/React.createElement(ElementType, getA11Props('root', Object.assign({\n className: rootClasses,\n onBlur: handleBlur,\n onFocus: handleFocus,\n onMouseEnter: handleMouseEnter\n }, rtlTextContainer.getAttributes({\n forElements: [children]\n }), unhandledProps)), childrenPropExists ? children : /*#__PURE__*/React.createElement(React.Fragment, null, actionMenuElement, badgePosition === 'start' && badgeElement, headerElement, messageContent, reactionGroupPosition === 'end' && reactionGroupElement, badgePosition === 'end' && badgeElement, readStatusElement))));\n setEnd();\n return element;\n };\n\n ChatMessage.displayName = 'ChatMessage';\n ChatMessage.defaultProps = {\n accessibility: chatMessageBehavior,\n badgePosition: 'end',\n positionActionMenu: true,\n reactionGroupPosition: 'start'\n };\n ChatMessage.propTypes = Object.assign({}, commonPropTypes.createCommon({\n content: 'shorthand'\n }), {\n actionMenu: PropTypes.oneOfType([customPropTypes.itemShorthand, customPropTypes.collectionShorthand]),\n attached: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['top', 'bottom'])]),\n author: customPropTypes.itemShorthand,\n badge: customPropTypes.itemShorthand,\n details: customPropTypes.itemShorthand,\n badgePosition: PropTypes.oneOf(['start', 'end']),\n header: customPropTypes.itemShorthand,\n mine: PropTypes.bool,\n timestamp: customPropTypes.itemShorthand,\n onBlur: PropTypes.func,\n onFocus: PropTypes.func,\n onMouseEnter: PropTypes.func,\n positionActionMenu: PropTypes.bool,\n reactionGroup: PropTypes.oneOfType([customPropTypes.collectionShorthand, customPropTypes.itemShorthand]),\n reactionGroupPosition: PropTypes.oneOf(['start', 'end']),\n unstable_overflow: PropTypes.bool,\n readStatus: customPropTypes.itemShorthand\n });\n ChatMessage.handledProps = Object.keys(ChatMessage.propTypes);\n ChatMessage.create = createShorthandFactory({\n Component: ChatMessage,\n mappedProp: 'content'\n });\n return ChatMessage;\n}();\n//# sourceMappingURL=ChatMessage.js.map\n","import _isNil from \"lodash/isNil\";\nimport { chatMessageSlotClassNames } from '../../../../components/Chat/ChatMessage';\nimport { screenReaderContainerStyles } from '../../../../utils/accessibility/Styles/accessibilityStyles';\nimport { pxToRem } from '../../../../utils';\nimport { getBorderFocusStyles } from '../../getBorderFocusStyles';\nexport var chatMessageStyles = {\n root: function root(_ref) {\n var _hover, _ref2, _ref3, _ref4;\n\n var p = _ref.props,\n v = _ref.variables,\n siteVariables = _ref.theme.siteVariables;\n return Object.assign({\n display: 'inline-block',\n position: 'relative',\n marginLeft: p.mine ? v.offset : 0,\n marginRight: !p.mine ? v.offset : 0,\n maxWidth: \"calc(100% - \" + v.offset + \")\",\n minWidth: v.offset,\n paddingLeft: v.padding,\n paddingRight: v.padding,\n paddingTop: pxToRem(8),\n paddingBottom: pxToRem(10),\n borderRadius: v.borderRadius,\n border: v.border,\n outline: 0,\n color: v.color,\n backgroundColor: p.mine ? v.backgroundColorMine : v.backgroundColor,\n wordBreak: 'break-word',\n wordWrap: 'break-word'\n }, (v.hasMention || v.isImportant) && {\n '::before': {\n content: '\"\"',\n backgroundColor: v.hasMention ? v.hasMentionColor : v.isImportantColor,\n height: '100%',\n left: '0',\n position: 'absolute',\n top: '0',\n width: pxToRem(3),\n borderBottomLeftRadius: 'inherit',\n borderTopLeftRadius: 'inherit'\n }\n }, getBorderFocusStyles({\n variables: siteVariables\n }), _isNil(v.showActionMenu) && {\n ':hover': (_hover = {}, _hover[\"> .\" + chatMessageSlotClassNames.actionMenu] = {\n opacity: 1,\n zIndex: v.overlayZIndex,\n '[data-popper-escaped]': {\n opacity: 0\n }\n }, _hover)\n }, p.attached === true && (_ref2 = {}, _ref2[p.mine ? 'borderTopRightRadius' : 'borderTopLeftRadius'] = 0, _ref2[p.mine ? 'borderBottomRightRadius' : 'borderBottomLeftRadius'] = 0, _ref2.paddingTop = pxToRem(5), _ref2.paddingBottom = pxToRem(7), _ref2), p.attached === 'top' && (_ref3 = {}, _ref3[p.mine ? 'borderBottomRightRadius' : 'borderBottomLeftRadius'] = 0, _ref3), p.attached === 'bottom' && (_ref4 = {}, _ref4[p.mine ? 'borderTopRightRadius' : 'borderTopLeftRadius'] = 0, _ref4.paddingTop = pxToRem(5), _ref4.paddingBottom = pxToRem(7), _ref4));\n },\n actionMenu: function actionMenu(_ref5) {\n var p = _ref5.props,\n v = _ref5.variables;\n return Object.assign({\n backgroundColor: v.backgroundColor,\n border: '1px solid',\n borderColor: v.reactionGroupBorderColor,\n borderRadius: v.borderRadius,\n boxShadow: v.actionMenuBoxShadow,\n // we need higher zIndex for the action menu in order to be displayed above the focus border of the chat message\n zIndex: p.focused || !_isNil(v.showActionMenu) ? v.overlayZIndex : -1\n }, _isNil(v.showActionMenu) && {\n overflow: p.focused ? 'visible' : 'hidden',\n // hide and squash actions menu to prevent accidental hovers over its invisible area\n opacity: p.focused ? 1 : 0,\n width: 'auto'\n }, !_isNil(v.showActionMenu) && {\n overflow: v.showActionMenu ? 'visible' : 'hidden',\n // opacity should always be preferred over visibility in order to avoid accessibility bugs in\n // JAWS behavior on Windows\n opacity: v.showActionMenu ? 1 : 0,\n width: v.showActionMenu ? 'auto' : 0\n }, {\n '[data-popper-escaped]': {\n opacity: 0\n }\n });\n },\n author: function author(_ref6) {\n var p = _ref6.props,\n v = _ref6.variables;\n return Object.assign({}, (p.mine || p.attached === 'bottom' || p.attached === true) && screenReaderContainerStyles, {\n color: v.authorColor,\n marginRight: v.authorMarginRight,\n marginBottom: v.headerMarginBottom,\n fontWeight: v.authorFontWeight\n });\n },\n timestamp: function timestamp(_ref7) {\n var p = _ref7.props,\n v = _ref7.variables;\n return Object.assign({\n marginBottom: v.headerMarginBottom\n }, p.mine && {\n color: v.timestampColorMine\n }, (p.attached === 'bottom' || p.attached === true) && !p.hasReactionGroup && screenReaderContainerStyles);\n },\n content: function content(_ref8) {\n var p = _ref8.props,\n v = _ref8.variables;\n return Object.assign({\n color: v.contentColor,\n display: 'block',\n '& a': {\n outline: 'none',\n color: p.mine ? v.linkColorMine : v.linkColor,\n ':focus': {\n textDecoration: 'underline'\n }\n }\n }, p.hasBadge && p.badgePosition === 'end' && {\n marginRight: pxToRem(4)\n });\n },\n badge: function badge(_ref9) {\n var _ref10;\n\n var p = _ref9.props,\n v = _ref9.variables;\n var sidePosition = p.badgePosition === 'start' ? 'left' : 'right';\n return _ref10 = {\n backgroundColor: v.hasMention ? v.hasMentionNubbinColor : v.isImportantColor,\n color: v.badgeTextColor,\n boxShadow: v.badgeShadow,\n position: 'absolute',\n padding: pxToRem(4),\n height: 'auto',\n width: 'auto',\n borderRadius: '50%',\n top: pxToRem(4),\n zIndex: v.zIndex\n }, _ref10[sidePosition] = 0, _ref10.transform = p.badgePosition === 'start' ? 'translateX(-50%)' : 'translateX(50%)', _ref10['& > :first-child'] = {\n display: 'inline-flex'\n }, _ref10;\n },\n reactionGroup: function reactionGroup(_ref11) {\n var p = _ref11.props,\n v = _ref11.variables;\n return Object.assign({\n marginLeft: v.reactionGroupMarginLeft\n }, p.hasBadge && p.badgePosition === 'end' && {\n marginRight: pxToRem(2)\n }, {\n float: 'right'\n });\n }\n};\n//# sourceMappingURL=chatMessageStyles.js.map\n","export var chatMessageDetailsStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n return Object.assign({\n marginLeft: v.detailsMargin,\n fontSize: v.detailsFontSize,\n display: 'inline-block',\n color: v.detailsColor,\n ':hover': {\n color: v.detailsHoverColor\n }\n }, p.mine && {\n color: v.detailsColorMine,\n ':hover': {\n color: v.detailsHoverColorMine\n }\n });\n }\n};\n//# sourceMappingURL=chatMessageDetailsStyles.js.map\n","import { screenReaderContainerStyles } from '../../../../utils';\nexport var chatMessageReadStatusStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n return {\n position: 'absolute',\n right: v.rightPoistion,\n bottom: v.bottomPoistion,\n ':after': Object.assign({\n content: \"\\\"\" + p.title + \"\\\"\"\n }, screenReaderContainerStyles)\n };\n }\n};\n//# sourceMappingURL=chatMessageReadStatusStyles.js.map\n","import _invoke from \"lodash/invoke\";\nimport { checkboxBehavior } from '@fluentui/accessibility';\nimport { getElementType, useUnhandledProps, useAccessibility, useStateManager, useFluentContext, useStyles, useTelemetry } from '@fluentui/react-bindings';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport { createCheckboxManager } from '@fluentui/state';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { createShorthandFactory, commonPropTypes } from '../../utils';\nimport { Box } from '../Box/Box';\nimport { Text } from '../Text/Text';\nexport var checkboxClassName = 'ui-checkbox';\nexport var checkboxSlotClassNames = {\n label: checkboxClassName + \"__label\",\n indicator: checkboxClassName + \"__indicator\"\n};\n/**\n * A Checkbox allows a user to make a choice between two mutually exclusive options.\n *\n * @accessibility\n * Implements [ARIA Checkbox](https://www.w3.org/TR/wai-aria-practices-1.1/#checkbox) design pattern.\n */\n\nexport var Checkbox = /*#__PURE__*/function () {\n var Checkbox = function Checkbox(props) {\n var context = useFluentContext();\n\n var _useTelemetry = useTelemetry(Checkbox.displayName, context.telemetry),\n setStart = _useTelemetry.setStart,\n setEnd = _useTelemetry.setEnd;\n\n setStart();\n var checked = props.checked,\n className = props.className,\n defaultChecked = props.defaultChecked,\n design = props.design,\n disabled = props.disabled,\n label = props.label,\n labelPosition = props.labelPosition,\n indicator = props.indicator,\n styles = props.styles,\n toggle = props.toggle,\n variables = props.variables;\n\n var _useStateManager = useStateManager(createCheckboxManager, {\n mapPropsToInitialState: function mapPropsToInitialState() {\n return {\n checked: defaultChecked\n };\n },\n mapPropsToState: function mapPropsToState() {\n return {\n checked: checked === 'mixed' ? false : checked\n };\n }\n }),\n state = _useStateManager.state,\n actions = _useStateManager.actions;\n\n var getA11Props = useAccessibility(props.accessibility, {\n debugName: Checkbox.displayName,\n mapPropsToBehavior: function mapPropsToBehavior() {\n return {\n checked: state.checked,\n disabled: disabled\n };\n },\n actionHandlers: {\n performClick: function performClick(e) {\n e.preventDefault();\n handleClick(e);\n }\n },\n rtl: context.rtl\n });\n\n var _useStyles = useStyles(Checkbox.displayName, {\n className: checkboxClassName,\n mapPropsToStyles: function mapPropsToStyles() {\n return {\n checked: checked === 'mixed' ? 'mixed' : state.checked,\n disabled: disabled,\n labelPosition: labelPosition,\n toggle: toggle\n };\n },\n mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n return {\n className: className,\n design: design,\n styles: styles,\n variables: variables\n };\n },\n rtl: context.rtl\n }),\n classes = _useStyles.classes,\n resolvedStyles = _useStyles.styles;\n\n var ElementType = getElementType(props);\n var unhandledProps = useUnhandledProps(Checkbox.handledProps, props);\n\n var handleChange = function handleChange(e) {\n if (!disabled) {\n // Checkbox component doesn't present any `input` component in markup, however all of our\n // components should handle events transparently.\n var _checked = !state.checked;\n\n actions.toggle(_checked);\n\n _invoke(props, 'onChange', e, Object.assign({}, props, {\n checked: _checked\n }));\n }\n };\n\n var handleClick = function handleClick(e) {\n if (!disabled) {\n var _checked2 = !state.checked;\n\n actions.toggle(_checked2);\n\n _invoke(props, 'onClick', e, Object.assign({}, props, {\n checked: _checked2\n }));\n\n _invoke(props, 'onChange', e, Object.assign({}, props, {\n checked: _checked2\n }));\n }\n };\n\n var labelElement = Text.create(label, {\n defaultProps: function defaultProps() {\n return getA11Props('label', {\n styles: resolvedStyles.label,\n className: checkboxSlotClassNames.label\n });\n }\n });\n var element = /*#__PURE__*/React.createElement(ElementType, getA11Props('root', Object.assign({\n className: classes.root,\n onClick: handleClick,\n onChange: handleChange\n }, unhandledProps)), labelPosition === 'start' && labelElement, Box.create(indicator, {\n defaultProps: function defaultProps() {\n return getA11Props('indicator', {\n className: checkboxSlotClassNames.indicator,\n styles: toggle ? resolvedStyles.toggle : resolvedStyles.checkbox\n });\n }\n }), labelPosition === 'end' && labelElement);\n setEnd();\n return element;\n };\n\n Checkbox.displayName = 'Checkbox';\n Checkbox.defaultProps = {\n accessibility: checkboxBehavior,\n indicator: {},\n labelPosition: 'end'\n };\n Checkbox.propTypes = Object.assign({}, commonPropTypes.createCommon({\n content: false\n }), {\n checked: PropTypes.oneOf([true, false, 'mixed']),\n defaultChecked: PropTypes.bool,\n disabled: PropTypes.bool,\n indicator: customPropTypes.shorthandAllowingChildren,\n label: customPropTypes.itemShorthand,\n labelPosition: PropTypes.oneOf(['start', 'end']),\n onChange: PropTypes.func,\n onClick: PropTypes.func,\n toggle: PropTypes.bool\n });\n Checkbox.handledProps = Object.keys(Checkbox.propTypes);\n Checkbox.create = createShorthandFactory({\n Component: Checkbox,\n mappedProp: 'label'\n });\n return Checkbox;\n}();\n//# sourceMappingURL=Checkbox.js.map\n","export var checkboxIndicatorUrl = function checkboxIndicatorUrl(color, backgroundColor) {\n return \"url(\\\"data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' role='presentation' style='background-color: \" + encodeURIComponent(backgroundColor) + \"; padding: 2px;' focusable='false' viewBox='8 8 22.5 22.5'%3E%3Cg%3E%3Cpath fill='\" + encodeURIComponent(color) + \"' d='M23.5 11.875a.968.968 0 0 1-.289.711l-8.25 8.25c-.192.193-.43.289-.711.289s-.519-.096-.711-.289l-4.75-4.75a.965.965 0 0 1-.289-.711c0-.125.027-.25.082-.375s.129-.234.223-.328a.953.953 0 0 1 .695-.297c.135 0 .266.025.391.074.125.05.231.121.32.215l4.039 4.047 7.539-7.547a.886.886 0 0 1 .32-.215c.125-.049.255-.074.391-.074a1.004 1.004 0 0 1 .922.625.97.97 0 0 1 .078.375z' /%3E%3C/g%3E%3C/svg%3E\\\")\";\n};\n//# sourceMappingURL=checkboxIndicatorUrl.js.map\n","export var checkboxIndicatorIndeterminateUrl = function checkboxIndicatorIndeterminateUrl(color, backgroundColor) {\n return \"url(\\\"data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' role='presentation' style='background-color: \" + escape(backgroundColor) + \"; padding: 2px;' focusable='false' viewBox='8 8 22.5 22.5'%3E%3Cg%3E%3Cpath fill='\" + escape(color) + \"' d='M10 16v-1h12v1H10z 11.875a.968.968 0 0 1-.289.711l-8.25 8.25c-.192.193-.43.289-.711.289s-.519-.096-.711-.289l-4.75-4.75a.965.965 0 0 1-.289-.711c0-.125.027-.25.082-.375s.129-.234.223-.328a.953.953 0 0 1 .695-.297c.135 0 .266.025.391.074.125.05.231.121.32.215l4.039 4.047 7.539-7.547a.886.886 0 0 1 .32-.215c.125-.049.255-.074.391-.074a1.004 1.004 0 0 1 .922.625.97.97 0 0 1 .078.375z' /%3E%3C/g%3E%3C/svg%3E\\\")\";\n};\n//# sourceMappingURL=checkboxIndeterminateIndicatorUrl.js.map\n","import { checkboxSlotClassNames } from '../../../../components/Checkbox/Checkbox';\nimport { getBorderFocusStyles } from '../../getBorderFocusStyles';\nimport { checkboxIndicatorUrl } from './checkboxIndicatorUrl';\nimport { checkboxIndicatorIndeterminateUrl } from './checkboxIndeterminateIndicatorUrl';\nimport { pxToRem } from '../../../../utils';\n\nvar commonToggleBeforeStyles = function commonToggleBeforeStyles(v) {\n return {\n content: \"' '\",\n display: 'block',\n borderRadius: '50%',\n width: v.toggleIndicatorSize,\n height: v.toggleIndicatorSize,\n transition: 'margin .3s ease'\n };\n};\n\nexport var checkboxStyles = {\n root: function root(_ref) {\n var _hover;\n\n var p = _ref.props,\n v = _ref.variables,\n t = _ref.theme;\n return Object.assign({\n position: 'relative',\n display: ['inline-grid', '-ms-inline-grid'],\n gridTemplateColumns: \"auto \" + v.gap + \" 1fr\",\n // IE11: Gap is done via virtual column as in autoprefixer\n msGridColumns: \"auto \" + v.gap + \" 1fr\"\n }, p.labelPosition === 'start' && {\n gridTemplateColumns: \"1fr \" + v.gap + \" auto\",\n msGridColumns: \"1fr \" + v.gap + \" auto\"\n }, {\n cursor: 'pointer',\n outline: 0,\n color: v.textColor,\n padding: v.rootPadding,\n verticalAlign: 'middle',\n alignItems: 'start'\n }, getBorderFocusStyles({\n variables: t.siteVariables,\n borderRadius: '3px'\n }), {\n ':hover': (_hover = {\n color: v.textColorHover\n }, _hover[\"& .\" + checkboxSlotClassNames.indicator] = Object.assign({}, !p.toggle && Object.assign({}, p.checked && p.checked !== 'mixed' && {\n borderColor: v.checkedBackgroundHover,\n backgroundImage: checkboxIndicatorUrl(v.checkedIndicatorColor, v.checkedBackgroundHover)\n }, !p.checked && {\n borderColor: v.borderColorHover\n }), p.toggle && !p.disabled && Object.assign({\n borderColor: v.borderColorHover,\n ':before': Object.assign({}, commonToggleBeforeStyles(v), {\n borderColor: v.borderColorHover,\n borderStyle: v.borderStyle,\n borderWidth: v.borderWidth,\n margin: v.togglePadding,\n background: 'transparent'\n })\n }, p.checked && {\n borderColor: v.checkedBorderColor,\n background: v.checkedBackgroundHover,\n ':before': Object.assign({}, commonToggleBeforeStyles(v), {\n margin: v.toggleCheckedPadding,\n background: v.checkedIndicatorColor\n })\n })), _hover)\n }, p.checked && {\n color: v.checkedTextColor\n }, p.disabled && {\n cursor: 'default',\n pointerEvents: 'none',\n color: v.disabledColor\n });\n },\n checkbox: function checkbox(_ref2) {\n var p = _ref2.props,\n v = _ref2.variables;\n return Object.assign({\n msGridRowAlign: 'center',\n gridColumn: 1,\n msGridColumn: 1\n }, p.labelPosition === 'start' && {\n gridColumn: 3,\n msGridColumn: 3\n }, {\n boxShadow: 'unset',\n width: pxToRem(16),\n height: pxToRem(16),\n borderColor: v.borderColor,\n borderStyle: v.borderStyle,\n borderRadius: v.borderRadius,\n borderWidth: v.borderWidth,\n color: v.indicatorColor,\n margin: v.margin,\n padding: v.padding,\n userSelect: 'none',\n backgroundImage: checkboxIndicatorUrl(v.indicatorColor, v.background),\n backgroundPosition: 'center',\n backgroundRepeat: 'no-repeat'\n }, p.checked && p.checked && {\n borderColor: v.checkedBorderColor,\n backgroundImage: checkboxIndicatorUrl(v.checkedIndicatorColor, v.checkedBackground)\n }, p.checked === 'mixed' && {\n borderColor: v.checkedBorderColor,\n backgroundImage: checkboxIndicatorIndeterminateUrl(v.checkedIndicatorColor, v.checkedBackground)\n }, p.disabled && {\n backgroundColor: v.disabledBackground,\n borderColor: v.disabledBorderColor\n }, p.disabled && p.checked && {\n color: v.disabledCheckedIndicatorColor,\n borderColor: v.disabledBackgroundChecked,\n backgroundImage: checkboxIndicatorUrl(v.disabledCheckedIndicatorColor, v.disabledBackgroundChecked)\n }, p.disabled && p.checked === 'mixed' && {\n color: v.disabledCheckedIndicatorColor,\n borderColor: v.disabledBackgroundChecked,\n backgroundImage: checkboxIndicatorIndeterminateUrl(v.disabledCheckedIndicatorColor, v.disabledBackgroundChecked)\n });\n },\n toggle: function toggle(_ref3) {\n var p = _ref3.props,\n v = _ref3.variables;\n return Object.assign({\n msGridRowAlign: 'center',\n gridColumn: 1,\n msGridColumn: 1\n }, p.labelPosition === 'start' && {\n gridColumn: 3,\n msGridColumn: 3\n }, {\n boxShadow: 'unset',\n boxSizing: 'border-box',\n background: v.background,\n borderColor: v.borderColor,\n borderStyle: v.borderStyle,\n borderRadius: v.toggleBorderRadius,\n borderWidth: v.borderWidth,\n margin: v.toggleMargin,\n userSelect: 'none',\n width: v.toggleWidth,\n height: v.toggleHeight,\n ':before': Object.assign({}, commonToggleBeforeStyles(v), {\n borderColor: p.disabled ? v.disabledToggleIndicatorColor : v.borderColor,\n borderStyle: v.borderStyle,\n borderWidth: v.borderWidth,\n margin: v.togglePadding\n })\n }, p.checked && {\n borderColor: v.checkedBorderColor,\n background: v.checkedBackground,\n ':before': Object.assign({}, commonToggleBeforeStyles(v), {\n margin: v.toggleCheckedPadding,\n background: v.checkedIndicatorColor\n })\n }, p.disabled && Object.assign({\n background: v.disabledBackground,\n borderColor: v.disabledBorderColor\n }, p.checked && {\n background: v.disabledBackgroundChecked,\n borderColor: 'transparent',\n ':before': Object.assign({}, commonToggleBeforeStyles(v), {\n margin: v.toggleCheckedPadding,\n background: v.disabledCheckedIndicatorColor\n })\n }));\n },\n label: function label(_ref4) {\n var p = _ref4.props;\n return Object.assign({\n display: 'block',\n // IE11: should be forced to be block, as inline-block is not supported\n gridColumn: 3,\n msGridColumn: 3\n }, p.labelPosition === 'start' && {\n gridColumn: 1,\n msGridColumn: 1\n });\n }\n};\n//# sourceMappingURL=checkboxStyles.js.map\n","export var dialogStyles = {\n root: function root(_ref) {\n var v = _ref.variables;\n return {\n background: v.rootBackground,\n border: v.border,\n borderRadius: v.rootBorderRadius,\n outline: 'none',\n padding: v.rootPadding,\n position: 'relative',\n width: v.rootWidth,\n display: ['grid', '-ms-grid'],\n gridTemplateColumns: '1fr auto',\n msGridColumns: '1fr auto',\n boxShadow: v.boxShadow,\n color: v.foregroundColor\n };\n },\n footer: function footer() {\n return {\n gridColumn: '1 / -1',\n gridRow: 3,\n msGridRow: 3\n };\n },\n actions: function actions() {\n return {\n display: 'inline-block'\n };\n },\n content: function content(_ref2) {\n var v = _ref2.variables;\n return {\n margin: v.contentMargin,\n gridColumn: '1 / span 2',\n gridRow: 2,\n msGridColumn: 1,\n msGridColumnSpan: 2,\n msGridRow: 2,\n justifySelf: 'left',\n width: '100%'\n };\n },\n header: function header(_ref3) {\n var v = _ref3.variables;\n return {\n margin: v.headerMargin,\n gridRow: 1,\n msGridRow: 1,\n gridColumn: 1,\n msGridColumn: 1,\n justifySelf: 'left',\n fontSize: v.headerFontSize,\n fontWeight: v.headerFontWeight\n };\n },\n headerAction: function headerAction(_ref4) {\n var v = _ref4.variables;\n return {\n gridRow: 1,\n msGridRow: 1,\n gridColumn: 2,\n msGridColumn: 2,\n color: v.foregroundColor,\n margin: v.headerActionMargin\n };\n },\n overlay: function overlay(_ref5) {\n var p = _ref5.props,\n v = _ref5.variables;\n return Object.assign({\n alignItems: 'center',\n background: 'transparent',\n bottom: 0,\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n left: 0,\n overflow: 'auto',\n position: 'fixed',\n right: 0,\n top: 0,\n zIndex: v.overlayZIndex\n }, p.backdrop && {\n background: v.overlayBackground\n });\n }\n};\n//# sourceMappingURL=dialogStyles.js.map\n","export var dialogFooterStyles = {\n root: function root() {\n return {\n textAlign: 'right'\n };\n }\n};\n//# sourceMappingURL=dialogFooterStyles.js.map\n","import _get from \"lodash/get\";\nimport { pxToRem } from '../../../../utils';\n\nvar beforeAndAfter = function beforeAndAfter(size, variables, colors, props) {\n return Object.assign({\n content: '\"\"',\n flex: 1\n }, props.vertical ? {\n width: size + 1 + \"px\",\n height: '100%'\n } : {\n height: size + 1 + \"px\"\n }, {\n background: _get(colors, 'foreground', variables.dividerColor)\n });\n};\n\nexport var dividerStyles = {\n root: function root(_ref) {\n var props = _ref.props,\n variables = _ref.variables;\n var color = props.color,\n fitted = props.fitted,\n size = props.size,\n important = props.important,\n hasContent = props.hasContent,\n vertical = props.vertical;\n var colors = variables.colorScheme[color];\n return Object.assign({\n color: _get(colors, 'foreground', variables.textColor),\n display: 'flex',\n alignItems: 'center'\n }, !fitted && {\n padding: vertical ? \"0 \" + variables.dividerPadding : variables.dividerPadding + \" 0\"\n }, important && {\n fontWeight: variables.importantFontWeight\n }, vertical && {\n height: '100%'\n }, hasContent ? {\n textAlign: 'center',\n fontSize: pxToRem(12 + size),\n lineHeight: variables.textLineHeight,\n '::before': Object.assign({}, beforeAndAfter(size, variables, colors, props)),\n '::after': Object.assign({}, beforeAndAfter(size, variables, colors, props))\n } : {\n '::before': Object.assign({}, beforeAndAfter(size, variables, colors, props))\n });\n }\n};\n//# sourceMappingURL=dividerStyles.js.map\n","import { pxToRem } from '../../../../utils';\nexport var dividerContentStyles = {\n root: function root() {\n return {\n marginLeft: pxToRem(20),\n marginRight: pxToRem(20)\n };\n }\n};\n//# sourceMappingURL=dividerContentStyles.js.map\n","import { dropdownSlotClassNames } from '../../../../components/Dropdown/Dropdown';\nimport { pxToRem } from '../../../../utils';\nimport { getBorderFocusStyles } from '../../getBorderFocusStyles';\nvar transparentColorStyle = {\n backgroundColor: 'transparent',\n borderColor: 'transparent',\n borderBottomColor: 'transparent'\n};\nvar transparentColorStyleObj = Object.assign({}, transparentColorStyle, {\n ':hover': transparentColorStyle,\n ':active': transparentColorStyle,\n ':focus': Object.assign({}, transparentColorStyle, {\n ':active': transparentColorStyle\n })\n});\n\nvar getWidth = function getWidth(p, v) {\n if (p.fluid) {\n return '100%';\n }\n\n if (p.inline) {\n return 'initial';\n }\n\n return v.width;\n};\n\nexport var dropdownStyles = {\n root: function root(_ref) {\n var p = _ref.props;\n return Object.assign({}, p.inline && {\n display: 'inline-flex'\n });\n },\n clearIndicator: function clearIndicator(_ref2) {\n var v = _ref2.variables,\n siteVariables = _ref2.theme.siteVariables;\n return Object.assign({\n alignItems: 'center',\n alignSelf: 'center',\n display: 'flex',\n justifyContent: 'center',\n cursor: 'pointer',\n userSelect: 'none',\n margin: 0,\n position: 'absolute',\n right: pxToRem(6),\n padding: pxToRem(2),\n color: v.color\n }, getBorderFocusStyles({\n variables: siteVariables\n }));\n },\n container: function container(_ref3) {\n var _Object$assign;\n\n var p = _ref3.props,\n v = _ref3.variables,\n siteVariables = _ref3.theme.siteVariables;\n return Object.assign({\n display: 'flex',\n flexWrap: 'wrap',\n position: 'relative',\n borderStyle: 'solid',\n borderColor: v.borderColor,\n outline: 0,\n width: getWidth(p, v),\n borderWidth: p.search ? \"0 0 \" + v.searchBorderBottomWidth + \" 0\" : v.borderWidth,\n color: v.color,\n backgroundColor: v.backgroundColor,\n borderRadius: v.containerBorderRadius\n }, p.open && p.position === 'above' && {\n borderRadius: v.openAboveContainerBorderRadius\n }, p.open && p.position === 'below' && {\n borderRadius: v.openBelowContainerBorderRadius\n }, {\n ':hover': Object.assign({\n backgroundColor: v.backgroundColorHover,\n borderColor: v.borderColorHover\n }, p.open && {\n borderColor: v.openBorderColorHover\n })\n }, p.error && {\n border: pxToRem(1) + \" solid \" + v.borderError,\n ':hover': {\n border: pxToRem(1) + \" solid \" + v.borderError\n }\n }, {\n ':active': {\n backgroundColor: v.backgroundColor\n },\n ':focus-within': {\n // when dropdown's selected items are focused\n // keep the focus border style\n borderBottomColor: v.borderColorFocus\n }\n }, p.focused && Object.assign({\n backgroundColor: v.backgroundColor\n }, p.search && {\n borderBottomColor: v.borderColorFocus\n }, !p.search && !p.open && p.isFromKeyboard && getBorderFocusStyles({\n variables: siteVariables\n })[':focus-visible']), p.inline && Object.assign({}, transparentColorStyleObj, {\n alignItems: 'center'\n }), p.inverted && {\n backgroundColor: v.invertedBackgroundColor,\n ':hover': {\n backgroundColor: v.invertedBackgroundColorHover\n },\n ':active': {\n backgroundColor: v.invertedBackgroundColorHover\n },\n ':focus': {\n backgroundColor: v.invertedBackgroundColorHover\n }\n }, p.disabled && {\n backgroundColor: siteVariables.colorScheme.default.backgroundDisabled,\n borderColor: siteVariables.colorScheme.default.borderDisabled,\n userSelect: 'none',\n ':hover': {\n backgroundColor: siteVariables.colorScheme.default.backgroundDisabled\n },\n ':active': {\n backgroundColor: siteVariables.colorScheme.default.backgroundDisabled\n }\n }, (_Object$assign = {}, _Object$assign[\"& .\" + dropdownSlotClassNames.triggerButton] = Object.assign({}, p.disabled && {\n color: siteVariables.colorScheme.default.foregroundDisabled\n }), _Object$assign));\n },\n selectedItems: function selectedItems(_ref4) {\n var p = _ref4.props,\n v = _ref4.variables;\n return Object.assign({\n display: 'flex',\n flexWrap: 'wrap',\n overflowY: 'auto',\n maxHeight: v.selectedItemsMaxHeight,\n width: '100%'\n }, p.hasToggleIndicator && {\n paddingRight: v.toggleIndicatorSize\n }, p.multiple && p.hasItemsSelected && {\n paddingTop: pxToRem(1),\n paddingBottom: pxToRem(4)\n });\n },\n triggerButton: function triggerButton(_ref5) {\n var p = _ref5.props,\n v = _ref5.variables;\n return Object.assign({\n overflow: 'hidden',\n boxShadow: 'none',\n minHeight: pxToRem(32)\n }, transparentColorStyleObj, {\n margin: '0',\n justifyContent: 'left',\n padding: v.comboboxPaddingButton\n }, p.multiple && Object.assign({\n minWidth: 0,\n flex: 1\n }, p.hasItemsSelected && {\n position: 'absolute',\n top: 0,\n right: 0,\n left: 0,\n bottom: 0,\n height: '100%'\n }), transparentColorStyleObj, {\n ':focus': Object.assign({\n color: v.color\n }, transparentColorStyleObj),\n ':focus-visible': Object.assign({\n color: v.color\n }, transparentColorStyle, {\n ':after': {\n borderColor: 'transparent',\n borderRightWidth: 0\n },\n ':before': {\n borderColor: 'transparent',\n borderRightWidth: 0\n }\n }),\n ':active': Object.assign({\n color: v.color\n }, transparentColorStyle, {\n animationName: 'unset',\n animationDuration: 'unset'\n }),\n ':hover': Object.assign({}, transparentColorStyle, {\n color: v.color // required for HC theme\n\n })\n }, p.inline && {\n paddingLeft: 0,\n paddingRight: 0,\n width: 'initial'\n });\n },\n list: function list(_ref6) {\n var p = _ref6.props,\n v = _ref6.variables;\n return Object.assign({\n outline: 0,\n borderStyle: 'solid',\n borderWidth: p.open ? v.listBorderWidth : '0px',\n borderColor: v.listBorderColor,\n zIndex: v.overlayZIndex,\n maxHeight: v.listMaxHeight,\n overflowY: 'auto',\n width: getWidth(p, v),\n background: v.listBackgroundColor\n }, p.position === 'above' && {\n borderRadius: v.aboveListBorderRadius\n }, p.position === 'below' && {\n borderRadius: v.belowListBorderRadius\n }, p.open && {\n boxShadow: v.listBoxShadow,\n padding: v.listPadding\n });\n },\n loadingMessage: function loadingMessage(_ref7) {\n var v = _ref7.variables;\n return {\n backgroundColor: v.loadingMessageBackgroundColor\n };\n },\n noResultsMessage: function noResultsMessage(_ref8) {\n var v = _ref8.variables;\n return {\n backgroundColor: v.noResultsMessageBackgroundColor\n };\n },\n headerMessage: function headerMessage(_ref9) {\n var v = _ref9.variables;\n return {\n backgroundColor: v.headerMessageBackgroundColor\n };\n },\n toggleIndicator: function toggleIndicator(_ref10) {\n var p = _ref10.props,\n v = _ref10.variables;\n return Object.assign({\n alignItems: 'center',\n display: 'flex',\n justifyContent: 'center',\n alignSelf: 'center',\n cursor: 'pointer'\n }, p.disabled && {\n cursor: 'default'\n }, {\n userSelect: 'none',\n margin: 0,\n position: 'absolute',\n right: pxToRem(8)\n }, p.multiple && p.hasItemsSelected && {\n top: pxToRem(8)\n }, {\n color: v.color\n }, p.disabled && {\n color: v.disabledColor\n });\n }\n};\n//# sourceMappingURL=dropdownStyles.js.map\n","export var dropdownSearchInputStyles = {\n root: function root(_ref) {\n var v = _ref.variables;\n return {\n flexBasis: v.comboboxFlexBasis,\n flexGrow: 1\n };\n },\n input: function input(_ref2) {\n var p = _ref2.props;\n return Object.assign({\n width: '100%',\n backgroundColor: 'transparent',\n borderWidth: 0\n }, p.inline && {\n padding: 0,\n lineHeight: 'initial'\n });\n }\n};\n//# sourceMappingURL=dropdownSearchInputStyles.js.map\n","import { dropdownSelectedItemSlotClassNames } from '../../../../components/Dropdown/DropdownSelectedItem';\nimport { getIconFillOrOutlineStyles } from '../../getIconFillOrOutlineStyles';\nimport { getBorderFocusStyles } from '../../getBorderFocusStyles';\nimport { pxToRem } from '../../../../utils';\nexport var dropdownSelectedItemStyles = {\n root: function root(_ref) {\n var _hover;\n\n var p = _ref.props,\n v = _ref.variables,\n siteVariables = _ref.theme.siteVariables;\n var borderFocusStyles = getBorderFocusStyles({\n variables: siteVariables\n });\n return Object.assign({\n maxWidth: v.selectedItemsMaxWidth,\n display: 'inline-flex',\n alignItems: 'center',\n padding: \"0 \" + pxToRem(8),\n startPaddingLeft: '0px',\n lineHeight: pxToRem(20),\n borderRadius: pxToRem(9999),\n fontSize: pxToRem(14)\n }, p.hasImage && {\n paddingLeft: '0px'\n }, {\n cursor: 'pointer',\n margin: '.25rem 0 0 .4rem',\n color: v.selectedItemColor,\n position: 'relative',\n border: v.selectedItemBorder,\n height: pxToRem(24),\n overflow: 'visible',\n outline: 0,\n fontWeight: siteVariables.fontWeightSemibold\n }, v.selectedItemBackgroundColor && {\n backgroundColor: v.selectedItemBackgroundColor\n }, {\n ':focus': {\n color: v.selectedItemColorFocus\n },\n ':hover': (_hover = {\n color: v.selectedItemColorHover,\n backgroundColor: v.selectedItemBackgroundColorHover\n }, _hover[\"& .\" + dropdownSelectedItemSlotClassNames.icon] = {\n color: v.selectedItemIconColorHover\n }, _hover),\n ':focus-visible': {\n ':after': borderFocusStyles[':focus-visible'][':after']\n }\n });\n },\n image: function image() {\n return {\n height: pxToRem(20),\n width: pxToRem(20)\n };\n },\n header: function header(_ref2) {\n var p = _ref2.props,\n v = _ref2.variables;\n return Object.assign({}, p.hasImage && {\n marginLeft: pxToRem(3)\n }, {\n marginRight: pxToRem(3),\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap'\n });\n },\n icon: function icon(_ref3) {\n var v = _ref3.variables;\n return Object.assign({\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: pxToRem(16),\n minWidth: pxToRem(16),\n height: pxToRem(16),\n '& > :first-child': {\n width: pxToRem(16),\n height: pxToRem(16),\n '& svg': {\n width: pxToRem(16),\n height: pxToRem(16)\n }\n },\n cursor: 'pointer',\n color: v.selectedItemIconColor\n }, getIconFillOrOutlineStyles({\n outline: true\n }), {\n ':hover': Object.assign({\n color: v.selectedItemIconColorHover\n }, getIconFillOrOutlineStyles({\n outline: false\n }))\n });\n }\n};\n//# sourceMappingURL=dropdownSelectedItemStyles.js.map\n","import { dropdownItemSlotClassNames } from '../../../../components/Dropdown/DropdownItem';\nimport { getBorderFocusStyles } from '../../getBorderFocusStyles';\nimport { pxToRem } from '../../../../utils';\nimport { checkableIndicatorUrl } from './checkableIndicatorUrl';\nexport var dropdownItemStyles = {\n root: function root(_ref) {\n var _ref2, _ref3;\n\n var p = _ref.props,\n v = _ref.variables,\n siteVariables = _ref.theme.siteVariables;\n return Object.assign({\n display: 'flex',\n alignItems: 'center',\n minHeight: 0,\n padding: pxToRem(4) + \" \" + pxToRem(11),\n whiteSpace: 'nowrap',\n border: v.listItemFocusBorderWidth + \" solid transparent\",\n backgroundColor: v.listItemBackgroundColor\n }, p.selected && {\n fontWeight: v.listItemSelectedFontWeight,\n color: v.listItemSelectedColor\n }, {\n position: 'relative'\n }, p.active && Object.assign({}, p.isFromKeyboard && getBorderFocusStyles({\n variables: siteVariables,\n borderRadius: 0\n })[':focus-visible'], !p.isFromKeyboard && Object.assign({\n color: v.listItemColorHover,\n backgroundColor: v.listItemBackgroundColorHover\n }, p.hasHeader && (_ref2 = {}, _ref2[\"& .\" + dropdownItemSlotClassNames.header] = {\n color: v.listItemColorHover\n }, _ref2), p.hasContent && (_ref3 = {}, _ref3[\"& .\" + dropdownItemSlotClassNames.content] = {\n color: v.listItemColorHover\n }, _ref3))));\n },\n image: function image() {\n return {\n margin: pxToRem(3) + \" \" + pxToRem(12) + \" \" + pxToRem(3) + \" \" + pxToRem(4)\n };\n },\n header: function header(_ref4) {\n var p = _ref4.props,\n v = _ref4.variables;\n return Object.assign({\n flexGrow: 1,\n lineHeight: v.listItemHeaderLineHeight,\n fontSize: v.listItemHeaderFontSize,\n // if the item doesn't have content - i.e. it is header only - then it should use the content color\n color: v.listItemContentColor\n }, p.hasContent && {\n // if there is content it needs to be \"tightened up\" to the header\n marginBottom: pxToRem(-1),\n color: v.listItemHeaderColor\n }, p.selected && {\n fontWeight: v.listItemSelectedFontWeight,\n color: v.listItemSelectedColor\n }, {\n whiteSpace: 'normal'\n });\n },\n content: function content(_ref5) {\n var v = _ref5.variables;\n return {\n flexGrow: 1,\n lineHeight: v.listItemContentLineHeight,\n fontSize: v.listItemContentFontSize,\n color: v.listItemContentColor\n };\n },\n checkableIndicator: function checkableIndicator(_ref6) {\n var v = _ref6.variables;\n return {\n backgroundImage: checkableIndicatorUrl(v.listItemSelectedColor),\n backgroundPosition: 'center',\n backgroundRepeat: 'no-repeat',\n position: 'absolute',\n width: pxToRem(24),\n height: pxToRem(24),\n right: pxToRem(7),\n top: pxToRem(-3)\n };\n },\n endMedia: function endMedia() {\n return {\n flexShrink: 0,\n lineHeight: pxToRem(16)\n };\n },\n main: function main() {\n return {\n display: 'flex',\n flexDirection: 'column',\n flexGrow: 1,\n minWidth: 0 // needed for the truncate styles to work\n\n };\n }\n};\n//# sourceMappingURL=dropdownItemStyles.js.map\n","export var checkableIndicatorUrl = function checkableIndicatorUrl(color) {\n return \"url(\\\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' role='presentation' fill='\" + encodeURIComponent(color) + \"' focusable='false' view-box='8 8 16 16'%3E%3Cg%3E%3Cpath d='M23.5 11.875a.968.968 0 0 1-.289.711l-8.25 8.25c-.192.193-.43.289-.711.289s-.519-.096-.711-.289l-4.75-4.75a.965.965 0 0 1-.289-.711c0-.125.027-.25.082-.375s.129-.234.223-.328a.953.953 0 0 1 .695-.297c.135 0 .266.025.391.074.125.05.231.121.32.215l4.039 4.047 7.539-7.547a.886.886 0 0 1 .32-.215c.125-.049.255-.074.391-.074a1.004 1.004 0 0 1 .922.625.97.97 0 0 1 .078.375z' /%3E%3C/g%3E%3C/svg%3E\\\")\";\n};\n//# sourceMappingURL=checkableIndicatorUrl.js.map\n","import _invoke from \"lodash/invoke\";\nimport _isNil from \"lodash/isNil\";\nimport { embedBehavior } from '@fluentui/accessibility';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport { createShorthandFactory, commonPropTypes } from '../../utils';\nimport { Image } from '../Image/Image';\nimport { Video } from '../Video/Video';\nimport { Box } from '../Box/Box';\nimport { Ref } from '@fluentui/react-component-ref';\nimport { getElementType, useUnhandledProps, useFluentContext, useAutoControlled, useAccessibility, useTelemetry, useStyles } from '@fluentui/react-bindings';\nexport var embedClassName = 'ui-embed';\nexport var embedSlotClassNames = {\n control: embedClassName + \"__control\"\n};\n\n/**\n * An Embed displays content from external websites, like a post from external social network.\n *\n * @accessibility\n * A `placeholder` slot represents an [`Image`](/components/image/definition) component, please follow recommendations from its\n * accessibility section.\n */\nexport var Embed = /*#__PURE__*/function () {\n var Embed = function Embed(props) {\n var context = useFluentContext();\n\n var _useTelemetry = useTelemetry(Embed.displayName, context.telemetry),\n setStart = _useTelemetry.setStart,\n setEnd = _useTelemetry.setEnd;\n\n setStart();\n var alt = props.alt,\n title = props.title,\n control = props.control,\n iframe = props.iframe,\n placeholder = props.placeholder,\n video = props.video,\n variables = props.variables,\n styles = props.styles,\n className = props.className,\n design = props.design;\n var ElementType = getElementType(props);\n var unhandledProps = useUnhandledProps(Embed.handledProps, props);\n var getA11yProps = useAccessibility(props.accessibility, {\n debugName: Embed.displayName,\n actionHandlers: {\n performClick: function performClick(event) {\n return handleClick(event);\n }\n },\n mapPropsToBehavior: function mapPropsToBehavior() {\n return {\n alt: alt,\n title: title\n };\n },\n rtl: context.rtl\n });\n\n var _useAutoControlled = useAutoControlled({\n defaultValue: props.defaultActive,\n value: props.active,\n initialValue: false\n }),\n active = _useAutoControlled[0],\n setACtive = _useAutoControlled[1];\n\n var _React$useState = React.useState(false),\n iframeLoaded = _React$useState[0],\n setIframeLoaded = _React$useState[1];\n\n var frameRef = React.useRef();\n\n var handleClick = function handleClick(e) {\n e.stopPropagation();\n e.preventDefault();\n\n var iframeNil = _isNil(props.iframe);\n\n var newActive = !active;\n\n if (iframeNil || !iframeNil && newActive) {\n setACtive(newActive);\n\n _invoke(props, 'onActiveChange', e, Object.assign({}, props, {\n active: newActive\n }));\n }\n\n _invoke(props, 'onClick', e, Object.assign({}, props, {\n active: newActive\n }));\n };\n\n var handleFrameOverrides = function handleFrameOverrides(predefinedProps) {\n return {\n onLoad: function onLoad(e) {\n _invoke(predefinedProps, 'onLoad', e);\n\n setIframeLoaded(true);\n frameRef.current.contentWindow.focus();\n }\n };\n };\n\n var _useStyles = useStyles(Embed.displayName, {\n className: embedClassName,\n mapPropsToStyles: function mapPropsToStyles() {\n return {\n iframeLoaded: iframeLoaded,\n active: active\n };\n },\n mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n return {\n className: className,\n design: design,\n styles: styles,\n variables: variables\n };\n },\n rtl: context.rtl\n }),\n classes = _useStyles.classes,\n resolvedStyles = _useStyles.styles;\n\n var placeholderElement = placeholder ? /*#__PURE__*/React.createElement(Image, {\n src: placeholder,\n styles: resolvedStyles.image,\n variables: {\n width: variables.width,\n height: variables.height\n }\n }) : null;\n var hasIframe = !_isNil(iframe);\n var hasVideo = !_isNil(video);\n var controlVisible = !active || hasVideo;\n var placeholderVisible = !active || hasIframe && active && !iframeLoaded;\n var element = /*#__PURE__*/React.createElement(ElementType, getA11yProps('root', Object.assign({\n className: classes.root,\n onClick: handleClick\n }, unhandledProps)), active && /*#__PURE__*/React.createElement(React.Fragment, null, Video.create(video, {\n defaultProps: function defaultProps() {\n return getA11yProps('video', {\n autoPlay: true,\n controls: false,\n loop: true,\n muted: true,\n poster: placeholder,\n styles: resolvedStyles.video,\n variables: {\n width: variables.width,\n height: variables.height\n }\n });\n }\n }), iframe && /*#__PURE__*/React.createElement(Ref, {\n innerRef: frameRef\n }, Box.create(iframe, {\n defaultProps: function defaultProps() {\n return getA11yProps('iframe', {\n as: 'iframe',\n styles: resolvedStyles.iframe\n });\n },\n overrideProps: handleFrameOverrides\n }))), placeholderVisible && placeholderElement, controlVisible && Box.create(control, {\n defaultProps: function defaultProps() {\n return getA11yProps('control', {\n className: embedSlotClassNames.control,\n styles: resolvedStyles.control\n });\n }\n }));\n setEnd();\n return element;\n };\n\n Embed.displayName = 'Embed';\n Embed.propTypes = Object.assign({}, commonPropTypes.createCommon({\n children: false,\n content: false\n }), {\n active: PropTypes.bool,\n defaultActive: PropTypes.bool,\n control: customPropTypes.itemShorthand,\n iframe: customPropTypes.every([customPropTypes.disallow(['video']), customPropTypes.itemShorthand]),\n onActiveChange: PropTypes.func,\n onClick: PropTypes.func,\n placeholder: PropTypes.string,\n video: customPropTypes.every([customPropTypes.disallow(['iframe']), customPropTypes.itemShorthand])\n });\n Embed.defaultProps = {\n as: 'span',\n accessibility: embedBehavior,\n control: {},\n variables: {}\n };\n Embed.handledProps = Object.keys(Embed.propTypes);\n Embed.create = createShorthandFactory({\n Component: Embed\n });\n return Embed;\n}();\n//# sourceMappingURL=Embed.js.map\n","export var pauseIndicatorUrl = function pauseIndicatorUrl(color) {\n return \"url(\\\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' role='presentation' focusable='false' viewBox='0 0 24 24'%3E%3Cg%3E%3Cpath fill='\" + encodeURIComponent(color) + \"' d='M5.74609 3C4.7796 3 3.99609 3.7835 3.99609 4.75V19.25C3.99609 20.2165 4.7796 21 5.74609 21H9.24609C10.2126 21 10.9961 20.2165 10.9961 19.25V4.75C10.9961 3.7835 10.2126 3 9.24609 3H5.74609Z' /%3E%3Cpath fill='\" + encodeURIComponent(color) + \"' d='M14.7461 3C13.7796 3 12.9961 3.7835 12.9961 4.75V19.25C12.9961 20.2165 13.7796 21 14.7461 21H18.2461C19.2126 21 19.9961 20.2165 19.9961 19.25V4.75C19.9961 3.7835 19.2126 3 18.2461 3H14.7461Z' /%3E%3C/g%3E%3C/svg%3E\\\")\";\n};\n//# sourceMappingURL=pauseIndicatorUrl.js.map\n","import { pxToRem } from '../../../../utils';\nimport { embedSlotClassNames } from '../../../../components/Embed/Embed';\nimport { getBorderFocusStyles } from '../../getBorderFocusStyles';\nimport { playIndicatorUrl } from './playIndicatorUrl';\nimport { pauseIndicatorUrl } from './pauseIndicatorUrl';\nexport var embedStyles = {\n root: function root(_ref) {\n var _focusVisible, _hover;\n\n var v = _ref.variables,\n siteVariables = _ref.theme.siteVariables;\n var borderFocusStyles = getBorderFocusStyles({\n variables: siteVariables\n });\n return Object.assign({\n display: 'inline-block',\n verticalAlign: 'middle',\n position: 'relative',\n cursor: 'pointer',\n width: v.width,\n height: v.height || 'auto',\n outline: 0\n }, borderFocusStyles[':focus'], {\n ':focus-visible': (_focusVisible = {}, _focusVisible[\"& .\" + embedSlotClassNames.control] = Object.assign({\n borderColor: v.focusBorderColor,\n opacity: 1\n }, borderFocusStyles[':focus-visible']), _focusVisible),\n ':hover': (_hover = {}, _hover[\"& .\" + embedSlotClassNames.control] = {\n opacity: 1,\n zIndex: v.zIndex\n }, _hover)\n });\n },\n control: function control(_ref2) {\n var p = _ref2.props,\n v = _ref2.variables;\n return Object.assign({\n width: pxToRem(48),\n height: pxToRem(48),\n color: v.controlColor,\n padding: pxToRem(4),\n borderRadius: '50%',\n backgroundColor: v.controlBackgroundColor,\n backgroundImage: playIndicatorUrl(v.controlColor),\n backgroundRepeat: 'no-repeat',\n backgroundPosition: 'center',\n backgroundSize: v.controlBackgroundSize,\n backgroundPositionX: pxToRem(12)\n }, p.active && {\n backgroundImage: pauseIndicatorUrl(v.controlColor)\n }, {\n opacity: p.active ? 0 : 1,\n pointerEvents: 'none',\n transition: 'opacity .22s ease-in-out',\n left: '50%',\n position: 'absolute',\n top: '50%',\n transform: 'translate(-50%, -50%)'\n });\n },\n iframe: function iframe(_ref3) {\n var p = _ref3.props;\n return Object.assign({\n display: 'block'\n }, !p.iframeLoaded && {\n display: 'none'\n });\n }\n};\n//# sourceMappingURL=embedStyles.js.map\n","export var playIndicatorUrl = function playIndicatorUrl(color) {\n return \"url(\\\"data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' role='presentation' focusable='false' viewBox='0 0 24 24'%3E%3Cg%3E%3Cpath fill='\" + encodeURIComponent(color) + \"' d='M5 5.27368C5 3.56682 6.82609 2.48151 8.32538 3.2973L20.687 10.0235C22.2531 10.8756 22.2531 13.124 20.687 13.9762L8.32538 20.7024C6.82609 21.5181 5 20.4328 5 18.726V5.27368Z' /%3E%3C/g%3E%3C/svg%3E\\\")\";\n};\n//# sourceMappingURL=playIndicatorUrl.js.map\n","export var formStyles = {\n root: function root(_ref) {\n var props = _ref.props,\n v = _ref.variables;\n return {\n height: '100%',\n width: '100%',\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'space-evenly',\n justifyItems: 'start',\n '> *:not(:last-child)': {\n marginBottom: v.fieldsMarginBottom\n },\n '> :last-child': {\n marginTop: v.lastChildMarginTop\n }\n };\n }\n};\n//# sourceMappingURL=formStyles.js.map\n","import { pxToRem } from '../../../../utils';\nexport var formFieldStyles = {\n root: function root(_ref) {\n var props = _ref.props,\n variables = _ref.variables;\n return {};\n },\n label: function label(_ref2) {\n var props = _ref2.props;\n var type = props.type,\n inline = props.inline,\n required = props.required;\n return Object.assign({}, (!type || type !== 'radio' && type !== 'checkbox') && {\n display: 'block',\n marginBottom: pxToRem(4)\n }, inline && {\n marginRight: pxToRem(10),\n display: 'inline'\n }, required && {\n '::after': {\n content: '\"*\"'\n }\n });\n },\n control: function control(_ref3) {\n var props = _ref3.props,\n v = _ref3.variables;\n var type = props.type;\n return Object.assign({}, type && (type === 'radio' || type === 'checkbox') && {\n marginRight: pxToRem(10)\n });\n },\n message: function message(_ref4) {\n var p = _ref4.props,\n v = _ref4.variables;\n return Object.assign({}, p.hasErrorMessage && {\n color: v.colorScheme.red.foreground\n }, {\n display: 'block',\n paddingLeft: v.messagePaddingLeft\n });\n },\n icon: function icon(_ref5) {\n var p = _ref5.props,\n v = _ref5.variables;\n return Object.assign({}, p.hasErrorMessage && {\n color: v.colorScheme.red.foreground\n });\n }\n};\n//# sourceMappingURL=formFieldStyles.js.map\n","import { pxToRem } from '../../../../utils';\nexport var formLabelStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n return Object.assign({\n display: 'block',\n lineHeight: v.lineHeight,\n marginBottom: v.marginBottom\n }, p.inline && {\n marginRight: pxToRem(10),\n display: 'inline'\n }, p.required && {\n '::after': {\n content: '\"*\"'\n }\n });\n }\n};\n//# sourceMappingURL=formLabelStyles.js.map\n","export var formMessageStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n return Object.assign({\n display: 'block',\n paddingLeft: v.paddingLeft\n }, p.error && {\n color: v.colorScheme.red.foreground\n });\n }\n};\n//# sourceMappingURL=formMessageStyles.js.map\n","export var toFlexAlignment = function toFlexAlignment(propValue) {\n var trimmedValue = propValue.trim();\n\n if (trimmedValue === 'start' || trimmedValue === 'end') {\n return \"flex-\" + trimmedValue;\n }\n\n return trimmedValue;\n};\nexport var toFlexItemSizeValues = function toFlexItemSizeValues(sizeValue) {\n return {\n flexBasis: sizeValue\n };\n};\n//# sourceMappingURL=utils.js.map\n","import { toFlexAlignment } from './utils';\nexport var flexStyles = {\n root: function root(_ref) {\n var _notLastChild;\n\n var p = _ref.props,\n v = _ref.variables;\n return Object.assign({\n display: 'flex'\n }, p.debug && {\n border: '1px dotted grey',\n background: 'lightgrey'\n }, p.inline && {\n display: 'inline-flex'\n }, p.column && {\n flexDirection: 'column'\n }, p.hAlign && (p.column ? {\n alignItems: toFlexAlignment(p.hAlign)\n } : {\n justifyContent: toFlexAlignment(p.hAlign)\n }), p.vAlign && (p.column ? {\n justifyContent: toFlexAlignment(p.vAlign)\n } : {\n alignItems: toFlexAlignment(p.vAlign)\n }), p.space && {\n justifyContent: \"space-\" + p.space\n }, p.wrap && {\n flexWrap: 'wrap'\n }, p.fill && {\n width: '100%',\n height: '100%'\n }, p.padding && {\n padding: v[p.padding]\n }, p.gap && {\n '> *:not(:last-child)': (_notLastChild = {}, _notLastChild[p.column ? 'marginBottom' : 'marginRight'] = v[p.gap], _notLastChild)\n });\n }\n};\n//# sourceMappingURL=flexStyles.js.map\n","import { toFlexAlignment, toFlexItemSizeValues } from './utils';\nexport var flexItemStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n return Object.assign({}, p.align && {\n alignSelf: toFlexAlignment(p.align)\n }, p.size && toFlexItemSizeValues(v.hasOwnProperty(p.size) ? v[p.size] : p.size), typeof p.shrink === 'number' && {\n flexShrink: p.shrink\n }, p.shrink === false && {\n flexShrink: 0\n }, p.grow && {\n flexGrow: p.grow\n }, p.grow === true && {\n flexGrow: 1\n }, p.push && (p.flexDirection === 'column' ? {\n marginTop: 'auto'\n } : {\n marginLeft: 'auto'\n }));\n }\n};\n//# sourceMappingURL=flexItemStyles.js.map\n","var getCSSTemplateValue = function getCSSTemplateValue(template) {\n var templateAsNumber = Number(template);\n return !isNaN(templateAsNumber) && templateAsNumber > 0 ? \"repeat(\" + template + \", 1fr)\" : String(template);\n};\n\nexport var gridStyles = {\n root: function root(_ref) {\n var props = _ref.props,\n _ref$variables = _ref.variables,\n height = _ref$variables.height,\n width = _ref$variables.width,\n defaultColumnCount = _ref$variables.defaultColumnCount,\n gridGap = _ref$variables.gridGap,\n padding = _ref$variables.padding;\n var rows = props.rows,\n _props$columns = props.columns,\n columns = _props$columns === void 0 ? !props.rows && defaultColumnCount : _props$columns;\n return Object.assign({\n height: height,\n width: width,\n padding: padding,\n gridGap: gridGap,\n display: ['grid', '-ms-grid'],\n justifyContent: 'space-evenly'\n }, rows && !columns && {\n gridAutoFlow: 'column'\n }, rows && {\n gridTemplateRows: getCSSTemplateValue(rows),\n msGridRows: getCSSTemplateValue(rows)\n }, columns && {\n gridTemplateColumns: getCSSTemplateValue(columns),\n msGridColumns: getCSSTemplateValue(columns)\n }, {\n '& > *': {\n outlineOffset: '-3px'\n }\n });\n }\n};\n//# sourceMappingURL=gridStyles.js.map\n","/** Copy of TextAlignProperty from csstype (works around TS error) */\n// This is probably removable if we turn off isolatedModules in the future (then we can just\n// re-export TextAlignProperty).)\nexport var translateAlignProp = function translateAlignProp(textAlignProp) {\n // This assignment verifies that the copy of TextAlignProperty matches up with the real one.\n var alignProp = textAlignProp;\n\n switch (alignProp) {\n case 'start':\n return 'left';\n\n case 'end':\n return 'right';\n\n default:\n return alignProp;\n }\n};\n//# sourceMappingURL=translateAlignProp.js.map\n","import _get from \"lodash/get\";\nimport { translateAlignProp } from '../../../../styles/translateAlignProp';\nexport var headerStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n var colors = v.colorScheme[p.color];\n return Object.assign({\n display: 'block',\n color: _get(colors, 'foreground', v.color),\n textAlign: translateAlignProp(p.align)\n }, p.hasDescription && {\n marginBottom: 0\n });\n }\n};\n//# sourceMappingURL=headerStyles.js.map\n","import _get from \"lodash/get\";\nimport { pxToRem } from '../../../../utils';\nexport var headerDescriptionStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n var colors = v.colorScheme[p.color];\n return {\n display: 'block',\n color: _get(colors, 'foreground', v.color),\n fontSize: pxToRem(22),\n fontWeight: 400\n };\n }\n};\n//# sourceMappingURL=headerDescriptionStyles.js.map\n","import { callable } from '@fluentui/styles';\nimport { pxToRem } from '../../../../utils';\n\nvar getPaddedStyle = function getPaddedStyle() {\n return {\n padding: pxToRem(4)\n };\n};\n\nvar getBorderedStyles = function getBorderedStyles(boxShadowColor) {\n return Object.assign({}, getPaddedStyle(), {\n boxShadow: \"0 0 0 .05rem \" + boxShadowColor + \" inset\"\n });\n};\n\nvar getIconSize = function getIconSize(size, v) {\n var modifiedSizes = {\n large: {\n x: 24,\n xx: 28\n }\n };\n return v.sizeModifier && modifiedSizes[size] && modifiedSizes[size][v.sizeModifier] ? pxToRem(modifiedSizes[size][v.sizeModifier]) : v[size + \"Size\"];\n};\n\nvar getXSpacingStyles = function getXSpacingStyles(xSpacing, horizontalSpace) {\n switch (xSpacing) {\n case 'none':\n return {\n marginLeft: 0,\n marginRight: 0\n };\n\n case 'before':\n return {\n marginLeft: horizontalSpace,\n marginRight: 0\n };\n\n case 'after':\n return {\n marginLeft: 0,\n marginRight: horizontalSpace\n };\n\n case 'both':\n return {\n marginLeft: horizontalSpace,\n marginRight: horizontalSpace\n };\n }\n};\n\nexport var svgIconStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n return Object.assign({\n speak: 'none',\n verticalAlign: 'middle'\n }, getXSpacingStyles(p.xSpacing, v.horizontalSpace), p.circular && Object.assign({}, getPaddedStyle(), {\n borderRadius: '50%'\n }), p.disabled && {\n color: v.disabledColor\n }, {\n display: 'inline-block'\n }, (p.bordered || v.borderColor) && getBorderedStyles(v.borderColor || v.color || 'currentColor'), {\n backgroundColor: v.backgroundColor\n });\n },\n outlinePart: function outlinePart(_ref2) {\n var p = _ref2.props;\n return Object.assign({\n display: 'none'\n }, p.outline && {\n display: 'block'\n });\n },\n filledPart: function filledPart(_ref3) {\n var p = _ref3.props;\n return Object.assign({}, p.outline && {\n display: 'none'\n });\n },\n svg: function svg(_ref4) {\n var _ref4$props = _ref4.props,\n size = _ref4$props.size,\n disabled = _ref4$props.disabled,\n rotate = _ref4$props.rotate,\n v = _ref4.variables,\n rtl = _ref4.rtl;\n var iconSizeInRems = getIconSize(size, v);\n return Object.assign({\n display: 'block',\n width: iconSizeInRems,\n height: iconSizeInRems,\n fill: v.color || 'currentColor'\n }, disabled && {\n fill: v.disabledColor\n }, {\n // Manual flipping to make it compatible with Emotion and Fela in the same time\n transform: \"rotate(\" + rotate + \"deg) /* @noflip */\"\n }, rtl && {\n transform: \"rotate(\" + -1 * rotate + \"deg) /* @noflip */\"\n });\n },\n svgFlippingInRtl: function svgFlippingInRtl(config) {\n var props = config.props,\n rtl = config.rtl;\n return Object.assign({}, callable(svgIconStyles.svg)(config), rtl && {\n transform: \"scaleX(-1) rotate(\" + props.rotate + \"deg) /* @noflip */\"\n });\n },\n redPath: function redPath(_ref5) {\n var v = _ref5.variables;\n return {\n fill: v.redColor\n };\n }\n};\n//# sourceMappingURL=svgIconStyles.js.map\n","export var imageStyles = {\n root: function root(_ref) {\n var props = _ref.props,\n variables = _ref.variables;\n return Object.assign({\n boxSizing: 'border-box',\n display: 'inline-block',\n verticalAlign: 'middle',\n width: props.fluid && '100%' || variables.width,\n height: variables.height || 'auto'\n }, props.circular && {\n borderRadius: variables.circularRadius\n }, props.avatar && {\n width: props.fluid && '100%' || variables.avatarSize,\n borderRadius: variables.avatarRadius\n });\n }\n};\n//# sourceMappingURL=imageStyles.js.map\n","import { pxToRem } from '../../../../utils';\nexport var inputStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n return Object.assign({\n flexDirection: 'column',\n justifyContent: 'center',\n display: 'inline-flex',\n position: 'relative',\n outline: 0,\n verticalAlign: 'middle'\n }, p.fluid && {\n width: '100%'\n }, p.labelPosition === 'inline' && {\n flexDirection: 'row',\n alignItems: 'center'\n });\n },\n input: function input(_ref2) {\n var p = _ref2.props,\n v = _ref2.variables;\n return Object.assign({\n backgroundColor: v.backgroundColor\n }, p.inverted && {\n backgroundColor: v.backgroundColorInverted\n }, {\n lineHeight: 'unset',\n color: v.fontColor,\n borderColor: v.borderColor,\n borderRadius: v.borderRadius,\n borderStyle: 'solid',\n borderWidth: v.borderWidth,\n outline: 'none',\n padding: v.inputPadding,\n position: 'relative'\n }, p.fluid && {\n width: '100%'\n }, p.inline && {\n float: 'left'\n }, p.disabled && {\n color: v.colorDisabled,\n boxShadow: 'none'\n }, {\n '::placeholder': Object.assign({\n color: v.placeholderColor,\n opacity: 1\n }, p.disabled && {\n color: v.colorDisabled\n }),\n ':focus': Object.assign({}, !p.error && {\n borderColor: v.inputFocusBorderColor\n })\n }, !p.hasValue && {\n ':-webkit-autofill:focus': {\n '-webkit-text-fill-color': 'transparent'\n }\n }, p.clearable && {\n padding: v.inputPaddingWithIconAtEnd\n }, p.hasIcon && {\n padding: p.iconPosition === 'start' ? v.inputPaddingWithIconAtStart : v.inputPaddingWithIconAtEnd\n }, p.labelPosition === 'inside' && {\n paddingTop: v.inputInsideLabelPaddingTop\n }, p.error && {\n border: pxToRem(1) + \" solid \" + v.borderColorError\n }, {\n '::-ms-clear': {\n display: 'none'\n }\n });\n },\n icon: function icon(_ref3) {\n var p = _ref3.props,\n v = _ref3.variables;\n return Object.assign({\n color: v.iconColor,\n outline: 0,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n position: v.iconPosition,\n top: 0,\n bottom: 0\n }, p.error && {\n color: v.colorError\n }, p.requiredAndSuccessful && {\n color: v.successfulColor\n }, p.disabled && {\n color: v.colorDisabled\n }, p.iconPosition === 'start' && {\n left: v.iconLeft\n }, p.iconPosition === 'end' && {\n right: v.iconRight\n }, p.clearable && p.hasValue && Object.assign({\n height: '100%',\n width: pxToRem(16),\n color: v.iconColor\n }, p.disabled && {\n color: v.colorDisabled\n }));\n },\n inputContainer: function inputContainer() {\n return {\n position: 'relative'\n };\n }\n};\n//# sourceMappingURL=inputStyles.js.map\n","export var inputLabelStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n return Object.assign({\n display: 'block',\n transition: 'all .2s',\n lineHeight: v.lineHeight,\n marginBottom: v.marginBottom\n }, p.labelPosition === 'inside' && Object.assign({\n bottom: v.insideLabelBottom,\n top: 0,\n left: 0,\n margin: 0,\n position: 'absolute',\n display: 'flex',\n alignItems: 'center',\n zIndex: 100,\n paddingLeft: v.insideLabelPaddingLeft\n }, p.hasValue && {\n transform: 'translateY(-16px)',\n fontSize: v.insideLabelActiveFontSize\n }), p.labelPosition === 'inline' && {\n paddingRight: v.inlineLabelPaddingRight\n }, p.required && {\n '::after': {\n content: '\"*\"'\n }\n });\n }\n};\n//# sourceMappingURL=inputLabelStyles.js.map\n","import { pxToRem } from '../../../../utils';\nexport var labelStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n return Object.assign({\n display: 'inline-flex',\n alignItems: 'center',\n overflow: 'hidden',\n height: v.height,\n lineHeight: v.height,\n color: v.foreground,\n backgroundColor: v.background,\n fontSize: pxToRem(14),\n borderRadius: pxToRem(3),\n padding: v.padding\n }, p.hasImage && (p.imagePosition === 'start' ? {\n paddingLeft: v.startPaddingLeft\n } : {\n paddingRight: v.endPaddingRight\n }), p.circular && {\n borderRadius: v.circularRadius\n }, p.color === 'black' && {\n color: v.blackForeground,\n backgroundColor: v.blackBackground\n }, p.color === 'white' && {\n color: v.whiteForeground,\n backgroundColor: v.whiteBackground\n }, p.color === 'brand' && {\n color: v.brandForeground,\n backgroundColor: v.brandBackground\n }, p.color === 'grey' && {\n color: v.greyForeground,\n backgroundColor: v.greyBackground\n }, p.color === 'orange' && {\n color: v.orangeForeground,\n backgroundColor: v.orangeBackground\n }, p.color === 'red' && {\n color: v.redForeground,\n backgroundColor: v.redBackground\n }, p.color === 'green' && {\n color: v.greenForeground,\n backgroundColor: v.greenBackground\n }, p.color === 'yellow' && {\n color: v.yellowForeground,\n backgroundColor: v.yellowBackground\n });\n },\n content: function content(_ref2) {\n var p = _ref2.props,\n v = _ref2.variables;\n var hasStartElement = p.hasImage && p.imagePosition === 'start' || p.hasIcon && p.iconPosition === 'start';\n var hasEndElement = p.hasImage && p.imagePosition === 'end' || p.hasIcon && p.iconPosition === 'end';\n return Object.assign({}, hasStartElement && {\n marginLeft: pxToRem(3)\n }, !hasStartElement && p.circular && {\n marginLeft: pxToRem(4)\n }, hasEndElement && {\n marginRight: pxToRem(3)\n }, !hasEndElement && p.circular && {\n marginRight: pxToRem(4)\n });\n },\n image: function image(_ref3) {\n var v = _ref3.variables;\n return {\n height: v.height,\n width: v.height\n };\n },\n icon: function icon(_ref4) {\n var p = _ref4.props,\n v = _ref4.variables;\n return Object.assign({\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: v.iconSize,\n height: v.iconSize,\n '& > :first-child': {\n height: '100%',\n width: '100%',\n '& svg': {\n height: '100%',\n width: '100%'\n }\n }\n }, p.hasActionableIcon && {\n cursor: 'pointer'\n });\n }\n};\n//# sourceMappingURL=labelStyles.js.map\n","var debugStyle = function debugStyle(_ref) {\n var name = _ref.name,\n color = _ref.color,\n style = _ref.style;\n return {\n position: 'relative',\n border: \"2px \" + style + \" \" + color,\n '::before': {\n content: \"'\" + name + \"'\",\n position: 'absolute',\n padding: '1px 4px 1px',\n top: '-2px',\n left: '-2px',\n fontSize: '8px',\n fontWeight: 900,\n lineHeight: 1,\n letterSpacing: '1px',\n color: '#fff',\n background: color\n }\n };\n};\n\nexport var debugRoot = function debugRoot() {\n return Object.assign({}, debugStyle({\n name: 'LAYOUT',\n color: 'cornflowerblue',\n style: 'solid'\n }), {\n padding: '8px',\n margin: '2px'\n });\n};\nexport var debugArea = function debugArea() {\n return Object.assign({}, debugStyle({\n name: 'AREA',\n color: 'lightsalmon',\n style: 'dashed'\n }), {\n padding: '8px',\n margin: '2px'\n });\n};\nexport var debugGap = function debugGap(_ref2) {\n var vertical = _ref2.vertical;\n return {\n display: 'grid',\n background: '#ccc',\n '::before': Object.assign({\n content: '\"GAP\"'\n }, vertical ? {\n letterSpacing: '1px'\n } : {\n textOrientation: 'upright',\n writingMode: 'vertical-rl'\n }, {\n alignSelf: 'center',\n justifySelf: 'center',\n fontSize: '8px',\n fontWeight: 900,\n lineHeight: 0,\n color: '#fff'\n })\n };\n};\n//# sourceMappingURL=debugStyles.js.map\n","import { debugRoot, debugArea, debugGap } from '../../../../styles/debugStyles';\n\nvar countTrue = function countTrue(items) {\n return items.filter(Boolean).length;\n};\n\nexport var layoutStyles = {\n root: function root(_ref) {\n var _Object$assign;\n\n var props = _ref.props;\n var alignItems = props.alignItems,\n debug = props.debug,\n gap = props.gap,\n justifyItems = props.justifyItems,\n hasMain = props.hasMain,\n mainSize = props.mainSize,\n hasEnd = props.hasEnd,\n endSize = props.endSize,\n hasStart = props.hasStart,\n startSize = props.startSize,\n vertical = props.vertical;\n return Object.assign({}, debug && debugRoot(), (_Object$assign = {\n justifyItems: justifyItems,\n alignItems: alignItems,\n display: ['grid', '-ms-grid']\n }, _Object$assign[vertical ? 'gridTemplateRows' : 'gridTemplateColumns'] = [// Heads up!\n // IE11 Doesn't support grid-gap, insert virtual columns instead\n hasStart && startSize, gap && hasStart && hasMain && gap, hasMain && mainSize, gap && (hasStart || hasMain) && hasEnd && gap, hasEnd && endSize].filter(Boolean).join(' '), _Object$assign), vertical && {\n gridAutoFlow: 'row',\n msGridColumns: '1fr'\n });\n },\n gap: function gap(_ref2) {\n var props = _ref2.props;\n return Object.assign({}, props.debug && debugGap({\n vertical: props.vertical\n }));\n },\n start: function start(_ref3) {\n var _Object$assign2;\n\n var p = _ref3.props;\n return Object.assign({}, p.debug && debugArea(), (_Object$assign2 = {\n alignItems: 'center',\n display: 'inline-flex'\n }, _Object$assign2[p.vertical ? 'msGridRow' : 'msGridColumn'] = '1', _Object$assign2));\n },\n main: function main(_ref4) {\n var _Object$assign3;\n\n var p = _ref4.props;\n return Object.assign({}, p.debug && debugArea(), (_Object$assign3 = {\n alignItems: 'center',\n display: ['grid', '-ms-grid']\n }, _Object$assign3[p.vertical ? 'msGridRow' : 'msGridColumn'] = countTrue([p.hasStart, p.hasStart && p.gap, p.hasMain]), _Object$assign3));\n },\n end: function end(_ref5) {\n var _Object$assign4;\n\n var p = _ref5.props;\n return Object.assign({}, p.debug && debugArea(), (_Object$assign4 = {\n alignItems: 'center',\n display: 'inline-flex'\n }, _Object$assign4[p.vertical ? 'msGridRow' : 'msGridColumn'] = countTrue([p.hasStart, p.hasStart && p.gap, p.hasMain && p.gap]), _Object$assign4));\n }\n};\n//# sourceMappingURL=layoutStyles.js.map\n","import { pxToRem } from '../../../../utils';\nvar rootFlexDirections = {\n above: 'column-reverse',\n below: 'column',\n start: 'row-reverse',\n end: 'row'\n};\nexport var loaderStyles = {\n root: function root(_ref) {\n var p = _ref.props;\n return {\n alignItems: 'center',\n display: p.inline ? 'inline-flex' : 'flex',\n justifyContent: 'center',\n flexDirection: rootFlexDirections[p.labelPosition]\n };\n },\n indicator: function indicator(_ref2) {\n var p = _ref2.props,\n v = _ref2.variables;\n return {\n height: v.containerHeights[p.size],\n width: v.containerWidths[p.size],\n overflow: 'hidden'\n };\n },\n svg: function svg(_ref3) {\n var p = _ref3.props,\n t = _ref3.theme,\n v = _ref3.variables;\n var outerAnimation = {\n animationName: {\n to: {\n opacity: 1\n }\n },\n animationDelay: '1.5s',\n animationDirection: 'normal',\n animationDuration: '.3s',\n animationFillMode: 'both',\n animationIterationCount: '1',\n animationPlayState: 'running',\n animationTimingFunction: 'ease-out',\n display: 'block',\n overflow: 'hidden',\n position: 'relative'\n };\n var svgAnimation = {\n animationName: {\n to: {\n transform: \"translate3d(0, \" + v.svgTranslatePosition[p.size] + \", 0)\"\n }\n },\n animationDelay: '0s',\n animationDirection: 'normal',\n animationDuration: '2s',\n animationFillMode: 'both',\n animationPlayState: 'running',\n animationTimingFunction: 'steps(60, end)',\n animationIterationCount: 'infinite'\n };\n return Object.assign({}, outerAnimation, {\n ':before': Object.assign({}, svgAnimation, {\n backgroundImage: v.svgContent,\n content: '\" \"',\n display: 'block',\n overflow: 'hidden',\n height: v.svgHeights[p.size],\n width: v.svgWidths[p.size]\n })\n });\n },\n label: function label() {\n return {\n margin: pxToRem(10)\n };\n }\n};\n//# sourceMappingURL=loaderStyles.js.map\n","export var itemLayoutStyles = {\n root: function root(_ref) {\n var variables = _ref.variables;\n return {\n gridTemplateRows: \"minmax(\" + variables.height + \", max-content)\",\n paddingLeft: variables.paddingLeft,\n paddingRight: variables.paddingRight\n };\n }\n};\n//# sourceMappingURL=itemLayoutStyles.js.map\n","import { debugRoot } from '../../../../styles/debugStyles';\nexport var listStyles = {\n root: function root(_ref) {\n var p = _ref.props;\n return Object.assign({}, p.debug && debugRoot(), {\n display: p.horizontal ? 'inline-flex' : 'block'\n }, p.isListTag && {\n listStyle: 'none',\n padding: 0,\n margin: 0\n });\n }\n};\n//# sourceMappingURL=listStyles.js.map\n","import { screenReaderContainerStyles } from '../../../../utils/accessibility/Styles/accessibilityStyles';\nimport { listItemContentClassName } from '../../../../components/List/ListItemContent';\nimport { listItemContentMediaClassName } from '../../../../components/List/ListItemContentMedia';\nimport { listItemEndMediaClassName } from '../../../../components/List/ListItemEndMedia';\nimport { listItemHeaderClassName } from '../../../../components/List/ListItemHeader';\nimport { listItemHeaderMediaClassName } from '../../../../components/List/ListItemHeaderMedia';\nimport { getBorderFocusStyles } from '../../getBorderFocusStyles';\n\nvar selectableHoverStyle = function selectableHoverStyle(p, v) {\n var _ref;\n\n return _ref = {\n background: v.selectableFocusHoverBackgroundColor,\n color: v.selectableFocusHoverColor,\n cursor: 'pointer'\n }, _ref[\"& .\" + listItemHeaderClassName] = {\n color: 'inherit'\n }, _ref[\"& .\" + listItemContentClassName] = {\n color: 'inherit'\n }, _ref[\"& .\" + listItemHeaderMediaClassName] = Object.assign({}, screenReaderContainerStyles, {\n color: 'inherit'\n }), _ref[\"& .\" + listItemContentMediaClassName] = {\n display: 'none',\n color: 'inherit'\n }, _ref[\"& .\" + listItemEndMediaClassName] = {\n display: 'block',\n color: 'inherit'\n }, _ref;\n};\n\nvar selectedStyle = function selectedStyle(variables) {\n return {\n background: variables.selectedBackgroundColor,\n color: variables.selectedColor\n };\n};\n\nexport var listItemStyles = {\n root: function root(_ref2) {\n var _Object$assign;\n\n var p = _ref2.props,\n v = _ref2.variables,\n siteVariables = _ref2.theme.siteVariables;\n var borderFocusStyles = getBorderFocusStyles({\n variables: siteVariables\n });\n return Object.assign({\n display: 'flex',\n alignItems: 'center',\n minHeight: v.minHeight,\n padding: v.rootPadding\n }, (p.selectable || p.navigable) && Object.assign((_Object$assign = {\n position: 'relative'\n }, _Object$assign[\"& .\" + listItemEndMediaClassName] = {\n display: 'none'\n }, _Object$assign['&:hover'] = selectableHoverStyle(p, v), _Object$assign[':focus'] = borderFocusStyles[':focus'], _Object$assign[':focus-visible'] = Object.assign({}, borderFocusStyles[':focus-visible'], {\n zIndex: v.zIndex\n }), _Object$assign), p.selected && selectedStyle(v)), p.important && {\n fontWeight: v.importantFontWeight\n });\n },\n headerWrapper: function headerWrapper() {\n return {\n display: 'flex'\n };\n },\n contentWrapper: function contentWrapper() {\n return {\n display: 'flex'\n };\n },\n main: function main() {\n return {\n display: 'flex',\n flexDirection: 'column',\n flexGrow: 1,\n minWidth: 0 // needed for the truncate styles to work\n\n };\n }\n};\n//# sourceMappingURL=listItemStyles.js.map\n","export var listItemContentStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n return Object.assign({\n flexGrow: 1,\n fontSize: v.contentFontSize,\n lineHeight: v.contentLineHeight\n }, p.truncate && {\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap'\n }, (!p.hasHeader || p.hasContentMedia) && {\n marginRight: v.gap\n });\n }\n};\n//# sourceMappingURL=listItemContentStyles.js.map\n","export var listItemContentMediaStyles = {\n root: function root(_ref) {\n var v = _ref.variables;\n return {\n fontSize: v.contentMediaFontSize,\n lineHeight: v.contentMediaLineHeight\n };\n }\n};\n//# sourceMappingURL=listItemContentMediaStyles.js.map\n","export var listItemEndMediaStyles = {\n root: function root(_ref) {\n var p = _ref.props;\n return Object.assign({\n flexShrink: 0\n }, (p.selectable || p.navigable) && {\n display: 'none'\n });\n }\n};\n//# sourceMappingURL=listItemEndMediaStyles.js.map\n","export var listItemHeaderStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n return Object.assign({\n flexGrow: 1,\n fontSize: v.headerFontSize,\n lineHeight: v.headerLineHeight\n }, p.truncate && {\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap'\n }, (!p.hasContent || p.hasHeaderMedia) && {\n marginRight: v.gap\n });\n }\n};\n//# sourceMappingURL=listItemHeaderStyles.js.map\n","export var listItemHeaderMediaStyles = {\n root: function root(_ref) {\n var v = _ref.variables;\n return {\n alignSelf: 'flex-end',\n fontSize: v.headerMediaFontSize,\n lineHeight: v.headerMediaLineHeight\n };\n }\n};\n//# sourceMappingURL=listItemHeaderMediaStyles.js.map\n","import { pxToRem } from '../../../../utils';\nexport var listItemMediaStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n return Object.assign({}, p.important && {\n '::before': {\n content: '\"\"',\n position: 'absolute',\n left: pxToRem(8),\n width: pxToRem(2),\n height: pxToRem(2),\n background: '#000'\n }\n }, (p.hasHeader || p.hasContent) && {\n marginRight: v.gap\n });\n }\n};\n//# sourceMappingURL=listItemMediaStyles.js.map\n","import { pxToRem } from '../../../../utils';\nimport { getColorScheme } from '../../colors';\nexport var menuStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n var iconOnly = p.iconOnly,\n fluid = p.fluid,\n pointing = p.pointing,\n pills = p.pills,\n primary = p.primary,\n underlined = p.underlined,\n vertical = p.vertical,\n submenu = p.submenu;\n var colors = getColorScheme(v.colorScheme, null, primary);\n return Object.assign({\n display: 'flex',\n minHeight: pxToRem(24),\n margin: 0,\n padding: 0,\n color: v.color,\n backgroundColor: v.backgroundColor || 'inherit',\n listStyleType: 'none'\n }, iconOnly && {\n alignItems: 'center'\n }, vertical && Object.assign({\n flexDirection: 'column',\n backgroundColor: v.verticalBackgroundColor,\n padding: pxToRem(8) + \" 0\"\n }, submenu && {\n boxShadow: v.verticalBoxShadow\n }, !fluid && !submenu && {\n width: 'fit-content'\n }, iconOnly && {\n display: 'inline-block',\n width: 'auto'\n }), !pills && !iconOnly && !(pointing && vertical) && !underlined && {\n // primary has hardcoded grey border color\n border: v.borderWidth + \" solid \" + (primary ? v.primaryBorderColor : v.borderColor || colors.border),\n borderRadius: pxToRem(4)\n }, underlined && {\n borderBottom: v.underlinedBottomBorderWidth + \" solid \" + v.underlinedBorderColor\n });\n }\n};\n//# sourceMappingURL=menuStyles.js.map\n","import { pxToRem } from '../../../../utils';\nimport { getColorScheme } from '../../colors';\nimport { getIconFillOrOutlineStyles } from '../../getIconFillOrOutlineStyles';\nimport { getBorderFocusStyles } from '../../getBorderFocusStyles';\nexport var verticalPillsBottomMargin = pxToRem(5);\nexport var horizontalPillsRightMargin = pxToRem(8);\nexport var verticalPointingBottomMargin = pxToRem(12);\nexport var underlinedItem = function underlinedItem(color) {\n return {\n paddingBottom: 0,\n borderBottom: \"solid \" + pxToRem(4) + \" \" + color,\n transition: 'color .1s ease'\n };\n};\nexport var getFocusedStyles = function getFocusedStyles(_ref) {\n var props = _ref.props,\n v = _ref.variables,\n colors = _ref.colors;\n var primary = props.primary,\n underlined = props.underlined,\n active = props.active,\n vertical = props.vertical;\n if (active && !underlined && !vertical) return {};\n return Object.assign({\n color: v.colorActive || colors.foregroundActive,\n background: v.backgroundColorFocus || colors.backgroundFocus\n }, primary && {\n color: colors.foregroundFocus,\n background: colors.backgroundFocus\n }, vertical && Object.assign({\n border: \"solid 1px \" + v.borderColorFocus,\n outline: \"solid 1px \" + v.outlineColorFocus,\n margin: pxToRem(1),\n background: v.verticalBackgroundColorFocus,\n color: v.colorFocus || colors.foregroundFocus\n }, primary && {\n color: v.color\n }, active && Object.assign({\n color: v.colorActive,\n background: v.backgroundColorActive || colors.backgroundActive\n }, primary && {\n color: colors.foregroundFocus\n })));\n};\nexport var pointingBeak = function pointingBeak(_ref2) {\n var props = _ref2.props,\n v = _ref2.variables,\n colors = _ref2.colors;\n var pointing = props.pointing,\n primary = props.primary;\n var top;\n var borders;\n var backgroundColor = v.backgroundColorActive || colors.backgroundActive;\n var borderColor = v.borderColor || primary ? v.primaryBorderColor : colors.border;\n\n if (pointing === 'start') {\n borders = {\n borderTop: \"1px solid \" + borderColor,\n borderLeft: \"1px solid \" + borderColor\n };\n top = '-1px'; // 1px for the border\n } else {\n borders = {\n borderBottom: \"1px solid \" + borderColor,\n borderRight: \"1px solid \" + borderColor\n };\n top = '100%';\n }\n\n return {\n '::after': Object.assign({\n visibility: 'visible',\n background: backgroundColor,\n position: 'absolute',\n content: '\"\"',\n top: top,\n left: '50%',\n transform: 'translateX(-50%) translateY(-50%) rotate(45deg)',\n margin: '.5px 0 0',\n width: pxToRem(10),\n height: pxToRem(10),\n border: 'none'\n }, borders, {\n zIndex: v.beakZIndex,\n transition: 'background .1s ease'\n })\n };\n};\nexport var menuItemStyles = {\n root: function root(_ref3) {\n var p = _ref3.props,\n v = _ref3.variables,\n siteVariables = _ref3.theme.siteVariables;\n var active = p.active,\n iconOnly = p.iconOnly,\n isFromKeyboard = p.isFromKeyboard,\n pointing = p.pointing,\n primary = p.primary,\n underlined = p.underlined,\n vertical = p.vertical,\n disabled = p.disabled;\n var colors = getColorScheme(v.colorScheme, null, primary);\n return Object.assign({\n color: 'inherit',\n display: 'block',\n cursor: 'pointer',\n whiteSpace: 'nowrap',\n overflow: 'hidden'\n }, pointing && vertical && {\n border: '1px solid transparent'\n }, iconOnly && {\n border: pxToRem(2) + \" solid transparent\"\n }, {\n padding: v.horizontalPadding\n }, vertical && {\n padding: v.verticalItemPadding\n }, pointing && vertical && {\n padding: pxToRem(8) + \" \" + pxToRem(18)\n }, underlined && {\n padding: pxToRem(4) + \" 0\"\n }, iconOnly && {\n margin: pxToRem(1),\n padding: pxToRem(5),\n // padding works this way to get the border to only be 30x30px on focus which is the current design\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n overflow: 'visible'\n }, active && Object.assign({}, iconOnly && Object.assign({\n color: v.iconOnlyColorActive\n }, getIconFillOrOutlineStyles({\n outline: false\n })), underlined && Object.assign({\n color: v.activeUnderlinedColor\n }, underlinedItem(v.activeUnderlinedBorderBottomColor), primary && Object.assign({\n color: v.activeUnderlinedPrimaryColor\n }, underlinedItem(v.borderColorActive || colors.borderActive)), !primary && {\n fontWeight: 700\n })), isFromKeyboard && Object.assign({\n color: 'inherit'\n }, iconOnly && Object.assign({}, getBorderFocusStyles({\n variables: siteVariables\n }), getIconFillOrOutlineStyles({\n outline: false\n })), primary ? Object.assign({}, iconOnly && {\n borderColor: v.borderColorActive || colors.borderActive\n }) : Object.assign({}, underlined && {\n fontWeight: 700\n }, underlined && active && underlinedItem(v.colorActive)), underlined && Object.assign({}, getBorderFocusStyles({\n variables: siteVariables\n }), {\n ':focus-visible': Object.assign({}, getBorderFocusStyles({\n variables: siteVariables\n })[':focus-visible'], {\n borderColor: v.borderColorActive\n })\n })), {\n ':focus': {\n outline: 0\n },\n // hover styles\n ':hover': Object.assign({\n color: v.colorHover\n }, underlined && {\n color: v.underlinedColorHover\n }, !disabled && Object.assign({}, iconOnly && getIconFillOrOutlineStyles({\n outline: false\n }), primary ? Object.assign({}, iconOnly && {\n color: 'inherit'\n }, !active && underlined && underlinedItem(v.underlinedBorderColor || colors.backgroundActive)) : !active && underlined && underlinedItem(v.backgroundColorActive || colors.backgroundActive)))\n }, disabled && {\n cursor: 'default'\n });\n },\n menu: function menu(_ref4) {\n var v = _ref4.variables;\n return {\n zIndex: v.menuZIndex\n };\n }\n};\n//# sourceMappingURL=menuItemStyles.js.map\n","import { pxToRem } from '../../../../utils';\nexport var menuItemIconStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n return Object.assign({\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: v.iconSize,\n height: v.iconSize,\n '& > :first-child': {\n height: '100%',\n width: '100%',\n '& svg': {\n height: '100%',\n width: '100%'\n }\n }\n }, p.hasContent && {\n marginRight: pxToRem(10)\n }, !p.iconOnly && {\n // reduce margins so text has the dominant influence on the vertical height\n marginTop: 0,\n marginBottom: pxToRem(-8),\n verticalAlign: 'top'\n });\n }\n};\n//# sourceMappingURL=menuItemIconStyles.js.map\n","import { pxToRem } from '../../../../utils';\nexport var menuItemContentStyles = {\n root: function root(_ref) {\n var p = _ref.props;\n var widthAdjust = (p.hasIcon ? 26 : 0) + (p.hasMenu ? 16 : 0);\n return Object.assign({\n whiteSpace: 'normal',\n lineHeight: 1.5,\n marginTop: pxToRem(-4),\n marginBottom: pxToRem(-4),\n display: 'inline-block'\n }, (p.inSubmenu || p.vertical) && {\n width: 'max-content',\n minWidth: pxToRem(46 - widthAdjust),\n maxWidth: pxToRem(262 - widthAdjust),\n marginRight: pxToRem(16)\n });\n }\n};\n//# sourceMappingURL=menuItemContentStyles.js.map\n","export var submenuIndicatorUrl = function submenuIndicatorUrl(color) {\n return \"url(\\\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' role='presentation' fill='\" + encodeURIComponent(color) + \"' focusable='false' viewBox='8 8 16 16'%3E%3Cpath d='M19.49,16a.91.91,0,0,1-.29.7l-5,5a1,1,0,0,1-.71.3,1,1,0,0,1-1-1,1,1,0,0,1,.29-.7L17.08,16l-4.3-4.29a1,1,0,0,1-.29-.71,1,1,0,0,1,1.71-.71l5,5A1,1,0,0,1,19.49,16Z' /%3E%3C/svg%3E\\\")\";\n};\nexport var submenuIndicatorDirection = function submenuIndicatorDirection(vertical, rtl) {\n return vertical ? rtl ? {\n transform: \"scaleX(-1)\"\n } : {} : {\n transform: \"rotate(\" + (rtl ? -90 : 90) + \"deg)\"\n };\n};\n//# sourceMappingURL=submenuIndicatorUrl.js.map\n","import { pxToRem } from '../../../../utils';\nimport { submenuIndicatorUrl, submenuIndicatorDirection } from './submenuIndicatorUrl';\nexport var menuItemIndicatorStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables,\n rtl = _ref.rtl;\n return Object.assign({\n position: 'relative',\n float: 'right',\n left: pxToRem(12),\n userSelect: 'none',\n marginRight: pxToRem(4)\n }, p.inSubmenu && {\n position: 'absolute',\n top: pxToRem(6),\n right: pxToRem(2),\n left: 'unset'\n }, {\n content: '\" \"',\n display: 'block',\n overflow: 'hidden',\n height: pxToRem(16),\n width: pxToRem(16),\n backgroundSize: pxToRem(16),\n backgroundImage: submenuIndicatorUrl(v.indicatorColor)\n }, p.active && Object.assign({\n backgroundImage: submenuIndicatorUrl(v.activeIndicatorColor)\n }, p.primary && Object.assign({\n backgroundImage: submenuIndicatorUrl(v.activePrimaryIndicatorColor)\n }, p.vertical && {\n backgroundImage: submenuIndicatorUrl(v.activePrimaryVerticalIndicatorColor)\n })), p.underlined && {\n backgroundImage: submenuIndicatorUrl(v.indicatorColor)\n }, p.iconOnly && {\n backgroundImage: submenuIndicatorUrl(v.indicatorColor)\n }, submenuIndicatorDirection(p.vertical, rtl));\n }\n};\n//# sourceMappingURL=menuItemIndicatorStyles.js.map\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _invoke from \"lodash/invoke\";\nimport { submenuBehavior, menuItemBehavior } from '@fluentui/accessibility';\nimport { EventListener } from '@fluentui/react-component-event-listener';\nimport { compose, focusAsync, mergeVariablesOverrides, useTelemetry, useAutoControlled, useFluentContext, getElementType, useUnhandledProps, useAccessibility, useStyles, useContextSelectors } from '@fluentui/react-bindings';\nimport { Ref, handleRef } from '@fluentui/react-component-ref';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { childrenExist, createShorthand, doesNodeContainClick, commonPropTypes, isFromKeyboard as isEventFromKeyboard, setWhatInputSource } from '../../utils';\nimport { Menu } from './Menu';\nimport { MenuItemIcon } from './MenuItemIcon';\nimport { MenuItemContent } from './MenuItemContent';\nimport { MenuItemIndicator } from './MenuItemIndicator';\nimport { MenuItemWrapper } from './MenuItemWrapper';\nimport { Popper, partitionPopperPropsFromShorthand } from '../../utils/positioner';\nimport { MenuContext } from './menuContext';\nexport var menuItemClassName = 'ui-menu__item';\nexport var menuItemSlotClassNames = {\n submenu: menuItemClassName + \"__submenu\"\n};\n/**\n * A MenuItem is an actionable item within a Menu.\n */\n\nexport var MenuItem = /*#__PURE__*/function () {\n var MenuItem = compose(function (inputProps, ref, composeOptions) {\n var context = useFluentContext();\n\n var _useTelemetry = useTelemetry(composeOptions.displayName, context.telemetry),\n setStart = _useTelemetry.setStart,\n setEnd = _useTelemetry.setEnd;\n\n setStart();\n var parentProps = useContextSelectors(MenuContext, {\n active: function active(v) {\n return v.activeIndex === inputProps.index;\n },\n onItemClick: function onItemClick(v) {\n return v.onItemClick;\n },\n onItemSelect: function onItemSelect(v) {\n return v.onItemSelect;\n },\n variables: function variables(v) {\n return v.variables;\n },\n menuSlot: function menuSlot(v) {\n return v.slots.menu;\n },\n slotProps: function slotProps(v) {\n return v.slotProps.item;\n },\n accessibility: function accessibility(v) {\n return v.behaviors.item;\n }\n }); // TODO: we should improve typings for the useContextSelectors\n\n var props = Object.assign({}, parentProps.slotProps, {\n active: parentProps.active,\n variables: parentProps.variables,\n accessibility: parentProps.accessibility\n }, inputProps);\n var _props$accessibility = props.accessibility,\n accessibility = _props$accessibility === void 0 ? menuItemBehavior : _props$accessibility,\n children = props.children,\n content = props.content,\n icon = props.icon,\n wrapper = props.wrapper,\n primary = props.primary,\n secondary = props.secondary,\n active = props.active,\n vertical = props.vertical,\n indicator = props.indicator,\n disabled = props.disabled,\n underlined = props.underlined,\n iconOnly = props.iconOnly,\n inSubmenu = props.inSubmenu,\n pills = props.pills,\n pointing = props.pointing,\n className = props.className,\n design = props.design,\n styles = props.styles,\n variables = props.variables,\n on = props.on;\n\n var _partitionPopperProps = partitionPopperPropsFromShorthand(props.menu),\n menu = _partitionPopperProps[0],\n positioningProps = _partitionPopperProps[1];\n\n var _useAutoControlled = useAutoControlled({\n defaultValue: props.defaultMenuOpen,\n value: props.menuOpen,\n initialValue: false\n }),\n menuOpen = _useAutoControlled[0],\n setMenuOpen = _useAutoControlled[1];\n\n var _React$useState = React.useState(false),\n isFromKeyboard = _React$useState[0],\n setIsFromKeyboard = _React$useState[1];\n\n var ElementType = getElementType(props);\n var unhandledProps = useUnhandledProps(composeOptions.handledProps, props);\n var slotProps = composeOptions.resolveSlotProps(Object.assign({}, props, {\n accessibility: accessibility,\n variables: mergeVariablesOverrides(variables, parentProps.variables),\n isFromKeyboard: isFromKeyboard,\n menuOpen: menuOpen\n }));\n var getA11yProps = useAccessibility(accessibility, {\n debugName: composeOptions.displayName,\n actionHandlers: {\n performClick: function performClick(event) {\n return !event.defaultPrevented && handleClick(event);\n },\n openMenu: function (_openMenu) {\n function openMenu(_x) {\n return _openMenu.apply(this, arguments);\n }\n\n openMenu.toString = function () {\n return _openMenu.toString();\n };\n\n return openMenu;\n }(function (event) {\n return openMenu(event);\n }),\n closeAllMenusAndFocusNextParentItem: function closeAllMenusAndFocusNextParentItem(event) {\n return closeAllMenus(event);\n },\n closeMenu: function (_closeMenu) {\n function closeMenu(_x2) {\n return _closeMenu.apply(this, arguments);\n }\n\n closeMenu.toString = function () {\n return _closeMenu.toString();\n };\n\n return closeMenu;\n }(function (event) {\n return closeMenu(event);\n }),\n closeMenuAndFocusTrigger: function closeMenuAndFocusTrigger(event) {\n return closeMenu(event, true);\n },\n doNotNavigateNextParentItem: function doNotNavigateNextParentItem(event) {\n event.stopPropagation();\n },\n closeAllMenus: function (_closeAllMenus) {\n function closeAllMenus(_x3) {\n return _closeAllMenus.apply(this, arguments);\n }\n\n closeAllMenus.toString = function () {\n return _closeAllMenus.toString();\n };\n\n return closeAllMenus;\n }(function (event) {\n return closeAllMenus(event);\n })\n },\n mapPropsToBehavior: function mapPropsToBehavior() {\n return {\n menuOpen: menuOpen,\n hasMenu: !!menu,\n disabled: disabled,\n vertical: vertical,\n active: active // for tabBehavior\n\n };\n },\n rtl: context.rtl\n });\n\n var _useStyles = useStyles(MenuItem.displayName, {\n className: composeOptions.className,\n mapPropsToStyles: function mapPropsToStyles() {\n return {\n primary: primary,\n underlined: underlined,\n active: active,\n vertical: vertical,\n pointing: pointing,\n secondary: secondary,\n disabled: disabled,\n iconOnly: iconOnly,\n pills: pills,\n inSubmenu: inSubmenu,\n isFromKeyboard: isFromKeyboard\n };\n },\n mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n return {\n className: className,\n design: design,\n styles: styles,\n variables: mergeVariablesOverrides(parentProps.variables, variables)\n };\n },\n rtl: context.rtl,\n composeOptions: composeOptions,\n unstable_props: Object.assign({}, props, {\n menuOpen: menuOpen,\n isFromKeyboard: isFromKeyboard\n })\n }),\n classes = _useStyles.classes,\n resolvedStyles = _useStyles.styles;\n\n var menuRef = React.useRef();\n var itemRef = React.useRef();\n\n var handleWrapperBlur = function handleWrapperBlur(e) {\n if (!props.inSubmenu && !e.currentTarget.contains(e.relatedTarget)) {\n trySetMenuOpen(false, e);\n }\n };\n\n var dismissOnScroll = function dismissOnScroll(e) {\n if (!isSubmenuOpen()) return; // we only need to dismiss if the scroll happens outside the menu\n\n if (!menuRef.current.contains(e.target)) {\n trySetMenuOpen(false, e);\n }\n };\n\n var outsideClickHandler = function outsideClickHandler(e) {\n if (!isSubmenuOpen()) return;\n\n if (!doesNodeContainClick(itemRef.current, e, context.target) && !doesNodeContainClick(menuRef.current, e, context.target)) {\n trySetMenuOpen(false, e);\n }\n };\n\n var performClick = function performClick(e) {\n if (menu) {\n if (doesNodeContainClick(menuRef.current, e, context.target)) {\n // submenu was clicked => close it and propagate\n trySetMenuOpen(false, e, function () {\n return focusAsync(itemRef.current);\n });\n } else {\n // the menuItem element was clicked => toggle the open/close and stop propagation\n trySetMenuOpen(active && on !== 'hover' ? !menuOpen : true, e);\n e.stopPropagation();\n e.preventDefault();\n }\n }\n };\n\n var handleClick = function handleClick(e) {\n if (disabled) {\n e.preventDefault();\n return;\n }\n\n performClick(e);\n\n _invoke(props, 'onClick', e, props);\n\n _invoke(parentProps, 'onItemClick', e, props);\n };\n\n var handleBlur = function handleBlur(e) {\n setIsFromKeyboard(false);\n\n _invoke(props, 'onBlur', e, props);\n };\n\n var handleFocus = function handleFocus(e) {\n setIsFromKeyboard(isEventFromKeyboard());\n\n _invoke(props, 'onFocus', e, props);\n };\n\n var isSubmenuOpen = function isSubmenuOpen() {\n return !!(menu && menuOpen);\n };\n\n var closeAllMenus = function closeAllMenus(e) {\n if (!isSubmenuOpen()) {\n return;\n }\n\n trySetMenuOpen(false, e, function () {\n if (!inSubmenu) {\n focusAsync(itemRef.current);\n }\n }); // avoid spacebar scrolling the page\n\n if (!inSubmenu) {\n e.preventDefault();\n }\n };\n\n var closeMenu = function closeMenu(e, forceTriggerFocus) {\n if (!isSubmenuOpen()) {\n return;\n }\n\n var shouldStopPropagation = inSubmenu || props.vertical;\n trySetMenuOpen(false, e, function () {\n if (forceTriggerFocus || shouldStopPropagation) {\n focusAsync(itemRef.current);\n }\n });\n\n if (forceTriggerFocus || shouldStopPropagation) {\n e.stopPropagation();\n }\n };\n\n var openMenu = function openMenu(e) {\n if (menu && !menuOpen) {\n trySetMenuOpen(true, e);\n\n _invoke(props, 'onActiveChanged', e, Object.assign({}, props, {\n active: true\n }));\n\n e.stopPropagation();\n e.preventDefault();\n }\n };\n\n var rootHandlers = Object.assign({}, !wrapper && Object.assign({\n onClick: handleClick\n }, on === 'hover' && {\n onMouseEnter: function onMouseEnter(e) {\n setWhatInputSource(context.target, 'mouse');\n trySetMenuOpen(true, e);\n\n _invoke(props, 'onMouseEnter', e, props);\n\n _invoke(parentProps, 'onItemSelect', e, props.index);\n },\n onMouseLeave: function onMouseLeave(e) {\n trySetMenuOpen(false, e);\n\n _invoke(props, 'onMouseLeave', e, props);\n }\n }));\n\n var trySetMenuOpen = function trySetMenuOpen(newValue, e, onStateChanged) {\n setMenuOpen(newValue); // The reason why post-effect is not passed as callback to trySetState method\n // is that in 'controlled' mode the post-effect is applied before final re-rendering\n // which cause a broken behavior: for e.g. when it is needed to focus submenu trigger on ESC.\n // TODO: all DOM post-effects should be applied at componentDidMount & componentDidUpdated stages.\n\n onStateChanged && onStateChanged();\n\n _invoke(props, 'onMenuOpenChange', e, Object.assign({}, props, {\n menuOpen: newValue\n }));\n };\n\n var menuItemInner = /*#__PURE__*/React.createElement(Ref, {\n innerRef: function innerRef(node) {\n itemRef.current = node;\n handleRef(ref, node);\n }\n }, /*#__PURE__*/React.createElement(ElementType, _extends({}, getA11yProps('root', Object.assign({\n className: classes.root,\n disabled: disabled,\n onBlur: handleBlur,\n onFocus: handleFocus,\n onClick: handleClick\n }, unhandledProps)), rootHandlers), childrenExist(children) ? children : /*#__PURE__*/React.createElement(React.Fragment, null, createShorthand(composeOptions.slots.icon, icon, {\n defaultProps: function defaultProps() {\n return getA11yProps('icon', slotProps.icon);\n }\n }), createShorthand(composeOptions.slots.content, content, {\n defaultProps: function defaultProps() {\n return getA11yProps('content', slotProps.content);\n }\n }), menu && createShorthand(composeOptions.slots.indicator, indicator, {\n defaultProps: function defaultProps() {\n return getA11yProps('indicator', slotProps.indicator);\n }\n }))));\n\n var handleWrapperOverrides = function handleWrapperOverrides(predefinedProps) {\n return Object.assign({\n onBlur: function onBlur(e) {\n handleWrapperBlur(e);\n\n _invoke(predefinedProps, 'onBlur', e, props);\n }\n }, on === 'hover' && {\n onMouseEnter: function onMouseEnter(e) {\n setWhatInputSource(context.target, 'mouse');\n trySetMenuOpen(true, e);\n\n _invoke(predefinedProps, 'onMouseEnter', e, props);\n\n _invoke(parentProps, 'onItemSelect', e, props.index);\n },\n onMouseLeave: function onMouseLeave(e) {\n trySetMenuOpen(false, e);\n\n _invoke(predefinedProps, 'onMouseLeave', e, props);\n }\n });\n };\n\n var maybeSubmenu = menu && active && menuOpen ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Ref, {\n innerRef: menuRef\n }, /*#__PURE__*/React.createElement(Popper, _extends({\n align: vertical ? 'top' : context.rtl ? 'end' : 'start',\n position: vertical ? context.rtl ? 'before' : 'after' : 'below',\n targetRef: itemRef\n }, positioningProps), createShorthand(parentProps.menuSlot || composeOptions.slots.menu || Menu, menu, {\n defaultProps: function defaultProps() {\n return Object.assign({}, slotProps.menu, {\n styles: resolvedStyles.menu\n });\n },\n overrideProps: function overrideProps(predefinedProps) {\n return {\n onClick: function onClick(e) {\n handleClick(e);\n\n _invoke(predefinedProps, 'onClick', e, props);\n }\n };\n }\n }))), /*#__PURE__*/React.createElement(EventListener, {\n listener: outsideClickHandler,\n target: context.target,\n type: \"click\"\n }), /*#__PURE__*/React.createElement(EventListener, {\n listener: dismissOnScroll,\n target: context.target,\n type: \"wheel\",\n capture: true\n }), /*#__PURE__*/React.createElement(EventListener, {\n listener: dismissOnScroll,\n target: context.target,\n type: \"touchmove\",\n capture: true\n })) : null;\n\n if (wrapper) {\n var wrapperElement = createShorthand(composeOptions.slots.wrapper, wrapper, {\n defaultProps: function defaultProps() {\n return getA11yProps('wrapper', slotProps.wrapper);\n },\n overrideProps: function overrideProps(predefinedProps) {\n return Object.assign({\n children: /*#__PURE__*/React.createElement(React.Fragment, null, menuItemInner, maybeSubmenu)\n }, handleWrapperOverrides(predefinedProps));\n }\n });\n setEnd();\n return wrapperElement;\n }\n\n setEnd();\n return menuItemInner;\n }, {\n displayName: 'MenuItem',\n className: menuItemClassName,\n slots: {\n icon: MenuItemIcon,\n indicator: MenuItemIndicator,\n content: MenuItemContent,\n wrapper: MenuItemWrapper\n },\n slotProps: function slotProps(props) {\n return {\n icon: {\n hasContent: !!props.content,\n iconOnly: props.iconOnly\n },\n content: {\n hasIcon: !!props.icon,\n hasMenu: !!props.menu,\n inSubmenu: props.inSubmenu,\n vertical: props.vertical\n },\n indicator: {\n iconOnly: props.iconOnly,\n vertical: props.vertical,\n inSubmenu: props.inSubmenu,\n active: props.active,\n primary: props.primary,\n underlined: props.underlined\n },\n wrapper: {\n active: props.active,\n disabled: props.disabled,\n iconOnly: props.iconOnly,\n isFromKeyboard: props.isFromKeyboard,\n pills: props.pills,\n pointing: props.pointing,\n secondary: props.secondary,\n underlined: props.underlined,\n vertical: props.vertical,\n primary: props.primary,\n on: props.on,\n variables: props.variables\n },\n menu: {\n accessibility: submenuBehavior,\n className: menuItemSlotClassNames.submenu,\n vertical: true,\n primary: props.primary,\n secondary: props.secondary,\n submenu: true,\n indicator: props.indicator\n }\n };\n },\n handledProps: ['accessibility', 'as', 'on', 'children', 'className', 'content', 'design', 'active', 'disabled', 'icon', 'iconOnly', 'index', 'itemPosition', 'itemsCount', 'onClick', 'onFocus', 'onBlur', 'pills', 'pointing', 'primary', 'secondary', 'underlined', 'vertical', 'wrapper', 'menu', 'menuOpen', 'defaultMenuOpen', 'onActiveChanged', 'inSubmenu', 'indicator', 'onMenuOpenChange', 'styles', 'variables'],\n shorthandConfig: {\n mappedProp: 'content'\n }\n });\n MenuItem.propTypes = Object.assign({}, commonPropTypes.createCommon({\n content: 'shorthand'\n }), {\n active: PropTypes.bool,\n disabled: PropTypes.bool,\n icon: customPropTypes.shorthandAllowingChildren,\n on: PropTypes.oneOf(['hover']),\n iconOnly: PropTypes.bool,\n index: PropTypes.number,\n itemPosition: PropTypes.number,\n itemsCount: PropTypes.number,\n onClick: PropTypes.func,\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n pills: PropTypes.bool,\n pointing: PropTypes.oneOf(['start', 'end', true, false]),\n primary: customPropTypes.every([customPropTypes.disallow(['secondary']), PropTypes.bool]),\n secondary: customPropTypes.every([customPropTypes.disallow(['primary']), PropTypes.bool]),\n underlined: PropTypes.bool,\n vertical: PropTypes.bool,\n wrapper: PropTypes.oneOfType([PropTypes.node, PropTypes.object]),\n menu: PropTypes.oneOfType([customPropTypes.itemShorthand, customPropTypes.collectionShorthand]),\n menuOpen: PropTypes.bool,\n defaultMenuOpen: PropTypes.bool,\n onActiveChanged: PropTypes.func,\n inSubmenu: PropTypes.bool,\n indicator: customPropTypes.shorthandAllowingChildren,\n onMenuOpenChange: PropTypes.func\n });\n MenuItem.defaultProps = {\n as: 'a',\n wrapper: {},\n indicator: {}\n };\n return MenuItem;\n}();\n//# sourceMappingURL=MenuItem.js.map\n","import { compose } from '@fluentui/react-bindings';\nimport { indicatorBehavior } from '@fluentui/accessibility';\nimport * as PropTypes from 'prop-types';\nimport { commonPropTypes } from '../../utils';\nimport { Box } from '../Box/Box';\nexport var menuItemIndicatorClassName = 'ui-menu__itemindicator';\n/**\n * A MenuItemIndicator allows a user to have a dedicated component that can be targeted from the theme.\n */\n\nexport var MenuItemIndicator = /*#__PURE__*/function () {\n var MenuItemIndicator = compose(Box, {\n className: menuItemIndicatorClassName,\n displayName: 'MenuItemIndicator',\n mapPropsToStylesProps: function mapPropsToStylesProps(props) {\n return {\n iconOnly: props.iconOnly,\n vertical: props.vertical,\n inSubmenu: props.inSubmenu,\n active: props.active,\n primary: props.primary,\n underlined: props.underlined\n };\n },\n handledProps: ['iconOnly', 'vertical', 'inSubmenu', 'active', 'primary', 'underlined'],\n overrideStyles: true,\n shorthandConfig: {\n mappedProp: 'content'\n }\n });\n MenuItemIndicator.defaultProps = {\n as: 'span',\n accessibility: indicatorBehavior\n };\n MenuItemIndicator.propTypes = Object.assign({}, commonPropTypes.createCommon(), {\n iconOnly: PropTypes.bool,\n vertical: PropTypes.bool,\n inSubmenu: PropTypes.bool,\n active: PropTypes.bool,\n primary: PropTypes.bool,\n underlined: PropTypes.bool\n });\n return MenuItemIndicator;\n}();\n//# sourceMappingURL=MenuItemIndicator.js.map\n","import { pxToRem } from '../../../../utils';\nimport { menuItemClassName } from '../../../../components/Menu/MenuItem';\nimport { menuItemIndicatorClassName } from '../../../../components/Menu/MenuItemIndicator';\nimport { getColorScheme } from '../../colors';\nimport { submenuIndicatorUrl, submenuIndicatorDirection } from './submenuIndicatorUrl';\nimport { horizontalPillsRightMargin, verticalPillsBottomMargin, pointingBeak, getFocusedStyles } from './menuItemStyles';\nexport var menuItemWrapperStyles = {\n root: function root(_ref) {\n var _Object$assign;\n\n var props = _ref.props,\n v = _ref.variables,\n rtl = _ref.rtl;\n var active = props.active,\n disabled = props.disabled,\n iconOnly = props.iconOnly,\n isFromKeyboard = props.isFromKeyboard,\n pills = props.pills,\n pointing = props.pointing,\n secondary = props.secondary,\n underlined = props.underlined,\n vertical = props.vertical,\n primary = props.primary,\n on = props.on;\n var colors = getColorScheme(v.colorScheme, null, primary);\n return Object.assign({\n color: 'inherit',\n lineHeight: 1,\n position: 'relative',\n verticalAlign: 'middle',\n display: 'block'\n }, secondary && {\n background: 'salmon'\n }, vertical && {\n border: \"solid \" + v.verticalItemBorderWidth + \" \" + v.verticalItemBorderColor\n }, pills && Object.assign({}, vertical ? {\n margin: \"0 0 \" + verticalPillsBottomMargin + \" 0\"\n } : {\n margin: \"0 \" + horizontalPillsRightMargin + \" 0 0\"\n }, {\n borderRadius: pxToRem(5)\n }), underlined && {\n display: 'flex',\n alignItems: 'center',\n height: pxToRem(29),\n lineHeight: v.lineHeightBase,\n padding: \"0 \" + pxToRem(4),\n margin: \"0 \" + pxToRem(4) + \" 0 0\",\n ':nth-child(n+2)': {\n marginLeft: \"\" + pxToRem(4)\n },\n boxShadow: 'none'\n }, !vertical && !pills && !underlined && !iconOnly && {\n boxShadow: \"-1px 0 0 0 \" + (primary ? v.primaryBorderColor : v.borderColor || colors.border) + \" inset\"\n }, active && Object.assign({\n color: v.wrapperColorActive\n }, !underlined && on !== 'hover' && Object.assign({\n background: v.backgroundColorActive || colors.backgroundActive\n }, iconOnly && {\n background: v.activeIconOnlyWrapperBackgroundColor\n }, !iconOnly && primary && {\n color: colors.foregroundActive\n }), underlined && {\n color: v.activeUnderlinedWrapperColor\n }, pointing && vertical && {\n '::before': Object.assign({\n content: \"''\",\n position: 'absolute',\n width: pxToRem(3),\n height: \"calc(100% + \" + pxToRem(4) + \")\",\n top: pxToRem(-2),\n backgroundColor: v.pointingIndicatorBackgroundColor\n }, isFromKeyboard && {\n display: 'none'\n }, pointing === 'end' ? {\n right: pxToRem(-2)\n } : {\n left: pxToRem(-2)\n })\n }, pointing && !vertical && Object.assign({}, pointingBeak({\n props: props,\n variables: v,\n colors: colors\n }))), isFromKeyboard && Object.assign({\n color: v.wrapperColorFocus\n }, !underlined && Object.assign({\n background: v.wrapperBackgroundColorFocus\n }, primary && {\n background: v.primaryWrapperBackgroundColorFocus,\n color: v.primaryWrapperColorFocus\n }), !iconOnly && !underlined && getFocusedStyles({\n props: props,\n variables: v,\n colors: colors\n }), iconOnly && {\n background: v.iconOnlyWrapperBackgroundColorFocus,\n color: v.iconOnlyColorActive\n }), {\n // hover styles\n ':hover': Object.assign({\n color: v.wrapperColorHover,\n background: v.backgroundColorHover || colors.backgroundHover\n }, active && {\n background: v.activeWrapperBackgroundColorHover\n }, vertical && {\n color: v.wrapperColorHover,\n background: v.backgroundColorHover || colors.backgroundHover\n }, primary && {\n color: v.primaryWrapperColorHover\n }, underlined && {\n color: v.underlinedWrapperColorHover,\n background: v.underlinedWrapperBackgroundHover\n }, iconOnly && {\n background: v.iconOnlyBackgroundColorHover,\n color: v.iconOnlyColorHover\n }, (_Object$assign = {}, _Object$assign[\"&>.\" + menuItemClassName + \">.\" + menuItemIndicatorClassName] = Object.assign({\n backgroundImage: submenuIndicatorUrl(v.indicatorColorHover)\n }, primary && {\n backgroundImage: submenuIndicatorUrl(v.primaryIndicatorColorHover)\n }, submenuIndicatorDirection(vertical, rtl)), _Object$assign))\n }, iconOnly && {\n display: 'flex'\n }, {\n ':first-child': Object.assign({}, !pills && !iconOnly && !(pointing && vertical) && !underlined && Object.assign({}, vertical && {\n '::before': {\n display: 'none'\n }\n }, !vertical && {\n borderBottomLeftRadius: pxToRem(3),\n borderTopLeftRadius: pxToRem(3)\n }))\n }, disabled && {\n color: v.colorDisabled || colors.foregroundDisabled,\n cursor: 'default',\n ':hover': {// empty - overwrite all existing hover styles\n }\n });\n }\n};\n//# sourceMappingURL=menuItemWrapperStyles.js.map\n","import { getColorScheme } from '../../colors';\nimport { verticalPillsBottomMargin, horizontalPillsRightMargin, verticalPointingBottomMargin } from './menuItemStyles';\nexport var menuDividerStyles = {\n root: function root(_ref) {\n var _Object$assign;\n\n var p = _ref.props,\n v = _ref.variables;\n var colors = getColorScheme(v.colorScheme, null, p.primary);\n var borderColor = p.primary ? v.primaryBorderColor : v.borderColor || colors.border;\n var borderType = p.vertical ? 'borderTop' : 'borderLeft';\n return Object.assign({}, p.pointing && p.vertical && {\n marginBottom: verticalPointingBottomMargin\n }, p.pills && Object.assign({}, p.vertical ? {\n margin: \"0 0 \" + verticalPillsBottomMargin + \" 0\"\n } : {\n margin: \"0 \" + horizontalPillsRightMargin + \" 0 0\"\n }), p.hasContent ? {\n display: 'flex',\n justifyContent: 'center',\n flexDirection: 'column',\n textAlign: 'center'\n } : Object.assign((_Object$assign = {}, _Object$assign[borderType] = \"1px solid \" + borderColor, _Object$assign), !p.vertical && {\n alignSelf: 'stretch'\n }, p.vertical && p.inSubmenu && {\n margin: '8px 0'\n }));\n }\n};\n//# sourceMappingURL=menuDividerStyles.js.map\n","import _keys from \"lodash/keys\";\nimport _invoke from \"lodash/invoke\";\nimport { AutoFocusZone, FocusTrapZone, getElementType, useAccessibility, useFluentContext, useStyles, useTelemetry, useUnhandledProps } from '@fluentui/react-bindings';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport cx from 'classnames';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { childrenExist, createShorthandFactory, commonPropTypes, rtlTextContainer } from '../../utils';\nimport { getBasePlacement, AUTOSIZES } from '../../utils/positioner';\nexport var popupContentClassName = 'ui-popup__content';\nexport var popupContentSlotClassNames = {\n content: popupContentClassName + \"__content\"\n};\n/**\n * A PopupContent displays the content of a Popup component.\n */\n\nexport var PopupContent = /*#__PURE__*/function () {\n var PopupContent = function PopupContent(props) {\n var context = useFluentContext();\n\n var _useTelemetry = useTelemetry(PopupContent.displayName, context.telemetry),\n setStart = _useTelemetry.setStart,\n setEnd = _useTelemetry.setEnd;\n\n setStart();\n var accessibility = props.accessibility,\n autoFocus = props.autoFocus,\n children = props.children,\n className = props.className,\n content = props.content,\n design = props.design,\n placement = props.placement,\n pointing = props.pointing,\n pointerRef = props.pointerRef,\n styles = props.styles,\n trapFocus = props.trapFocus,\n variables = props.variables,\n autoSize = props.autoSize;\n var getA11yProps = useAccessibility(accessibility, {\n debugName: PopupContent.displayName,\n rtl: context.rtl\n });\n\n var _useStyles = useStyles(PopupContent.displayName, {\n className: popupContentClassName,\n mapPropsToStyles: function mapPropsToStyles() {\n return {\n basePlacement: getBasePlacement(placement, context.rtl),\n pointing: pointing,\n autoSize: autoSize\n };\n },\n mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n return {\n className: className,\n design: design,\n styles: styles,\n variables: variables\n };\n },\n rtl: context.rtl\n }),\n classes = _useStyles.classes;\n\n var ElementType = getElementType(props);\n var unhandledProps = useUnhandledProps(PopupContent.handledProps, props);\n\n var handleMouseEnter = function handleMouseEnter(e) {\n _invoke(props, 'onMouseEnter', e, props);\n };\n\n var handleMouseLeave = function handleMouseLeave(e) {\n _invoke(props, 'onMouseLeave', e, props);\n };\n\n var popupContentProps = getA11yProps('root', Object.assign({\n className: classes.root\n }, rtlTextContainer.getAttributes({\n forElements: [children, content]\n }), unhandledProps, {\n onMouseEnter: handleMouseEnter,\n onMouseLeave: handleMouseLeave\n }));\n var popupContent = /*#__PURE__*/React.createElement(React.Fragment, null, pointing && /*#__PURE__*/React.createElement(\"div\", {\n className: classes.pointer,\n ref: pointerRef\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: cx(popupContentSlotClassNames.content, classes.content)\n }, childrenExist(children) ? children : content));\n var element;\n\n if (trapFocus) {\n var focusTrapZoneProps = Object.assign({}, popupContentProps, _keys(trapFocus).length && trapFocus, {\n as: ElementType\n });\n element = /*#__PURE__*/React.createElement(FocusTrapZone, focusTrapZoneProps, popupContent);\n } else if (autoFocus) {\n var autoFocusZoneProps = Object.assign({}, popupContentProps, _keys(autoFocus).length && autoFocus, {\n as: ElementType\n });\n element = /*#__PURE__*/React.createElement(AutoFocusZone, autoFocusZoneProps, popupContent);\n } else {\n element = /*#__PURE__*/React.createElement(ElementType, popupContentProps, popupContent);\n }\n\n setEnd();\n return element;\n };\n\n PopupContent.displayName = 'PopupContent';\n PopupContent.propTypes = Object.assign({}, commonPropTypes.createCommon(), {\n placement: PropTypes.oneOf(['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start']),\n pointing: PropTypes.bool,\n onMouseEnter: PropTypes.func,\n onMouseLeave: PropTypes.func,\n pointerRef: customPropTypes.ref,\n trapFocus: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),\n autoFocus: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),\n autoSize: PropTypes.oneOf(AUTOSIZES)\n });\n PopupContent.handledProps = Object.keys(PopupContent.propTypes);\n PopupContent.create = createShorthandFactory({\n Component: PopupContent,\n mappedProp: 'content'\n });\n return PopupContent;\n}();\n//# sourceMappingURL=PopupContent.js.map\n","import { popupContentSlotClassNames } from '../../../../components/Popup/PopupContent';\nexport var menuButtonStyles = {\n root: function root() {\n return {\n boxSizing: 'border-box',\n display: 'inline-block'\n };\n },\n popupContent: function popupContent() {\n var _ref;\n\n return _ref = {}, _ref[\"& .\" + popupContentSlotClassNames.content] = {\n borderWidth: '0px',\n padding: '0px'\n }, _ref;\n }\n};\n//# sourceMappingURL=menuButtonStyles.js.map\n","import { getBorderFocusStyles } from '../../getBorderFocusStyles';\nexport var pillStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables,\n siteVariables = _ref.theme.siteVariables;\n return Object.assign({\n display: 'inline-flex',\n width: 'fit-content',\n position: 'relative',\n height: v.height,\n maxHeight: v.height,\n borderRadius: v.borderRadius,\n background: v.background,\n margin: v.margin,\n minWidth: v.minWidth,\n ':hover': {\n background: v.backgroundHover\n }\n }, p.rectangular && Object.assign({\n borderRadius: v.roundedBorderRadius\n }, (p.size === 'small' || p.size === 'smaller') && {\n borderRadius: v.smallerRoundedBorderRadius\n }), p.size === 'smaller' && {\n minWidth: v.smallerMinWidth,\n margin: v.smallerMargin,\n height: v.smallerHeight,\n maxHeight: v.smallerHeight\n }, p.size === 'small' && {\n minWidth: v.smallMinWidth,\n margin: v.smallMargin,\n height: v.smallHeight,\n maxHeight: v.smallHeight\n }, p.disabled && {\n pointerEvents: 'none',\n cursor: 'not-allowed',\n background: v.disabledBackground,\n color: v.disabledColor,\n ':hover': {\n background: v.disabledBackground\n }\n }, p.appearance === 'outline' && Object.assign({\n borderWidth: '1px',\n borderStyle: 'solid',\n background: v.outlineBackground,\n borderColor: v.outlineBorderColor,\n ':hover': {\n background: v.outlineBackground\n }\n }, p.disabled && {\n borderColor: v.outlineDisabledborder\n }), p.appearance === 'inverted' && Object.assign({\n background: v.invertedBackground,\n ':hover': {\n background: v.invertedBackground\n }\n }, p.disabled && {\n background: v.disabledBackground\n }), p.selectable && Object.assign({\n cursor: 'pointer'\n }, p.selected && {\n background: 'transparent',\n boxShadow: \"inset \" + v.selectedIconColor + \" 0px 0px 0px 1px\"\n }), getBorderFocusStyles({\n variables: siteVariables\n }));\n }\n};\n//# sourceMappingURL=pillStyles.js.map\n","export var pillContentStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n return Object.assign({\n fontSize: v.contentFontSize,\n padding: v.contentPadding,\n alignSelf: 'center'\n }, p.size === 'small' && {\n fontSize: v.contentFontSizeSmall,\n padding: v.contentPaddingSmall\n }, p.size === 'smaller' && {\n fontSize: v.contentFontSizeSmaller,\n padding: v.contentPaddingSmaller\n }, p.actionable && {\n paddingRight: 0\n });\n }\n};\n//# sourceMappingURL=pillContentStyles.js.map\n","import { svgIconClassName } from '@fluentui/react-icons-northstar';\nexport var pillActionStyles = {\n root: function root(_ref) {\n var _Object$assign;\n\n var p = _ref.props,\n v = _ref.variables;\n return Object.assign({\n border: 'none',\n background: 'transparent',\n margin: v.actionMargin,\n width: v.actionWidth,\n cursor: 'pointer',\n outline: 'none'\n }, (p.size === 'small' || p.size === 'smaller') && {\n width: v.smallOrSmallerActionWidth\n }, (_Object$assign = {}, _Object$assign[\"& .\" + svgIconClassName] = {\n height: '100%',\n width: '100%',\n '& svg': {\n height: '100%',\n width: '100%'\n }\n }, _Object$assign));\n }\n};\n//# sourceMappingURL=pillActionStyles.js.map\n","export var pillImageStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n return Object.assign({\n width: v.imageWidth,\n height: v.imageHeight,\n borderRadius: '50%'\n }, p.size === 'small' && {\n width: v.smallImageWidth,\n height: v.smallImageHeight\n }, p.size === 'smaller' && {\n width: v.smallerImageWidth,\n height: v.smallerImageHeight\n });\n }\n};\n//# sourceMappingURL=pillImageStyles.js.map\n","import { svgIconClassName } from '@fluentui/react-icons-northstar';\nexport var pillIconStyles = {\n root: function root(_ref) {\n var _Object$assign;\n\n var p = _ref.props,\n v = _ref.variables;\n return Object.assign({\n border: 'none',\n background: 'transparent',\n margin: v.iconMargin,\n width: v.iconWidth,\n cursor: 'pointer',\n outline: 'none'\n }, (p.size === 'small' || p.size === 'smaller') && {\n width: v.smallOrSmallerIconWidth\n }, p.selectable && p.hasImage && Object.assign({\n width: v.selectedImageIconWidth,\n height: v.selectedImageIconWidth,\n marginLeft: 0,\n color: v.selectedIconColor\n }, p.size === 'small' && {\n width: v.smallSelectedImageIconWidth,\n height: v.smallSelectedImageIconWidth\n }, p.size === 'smaller' && {\n width: v.smallerSelectedImageIconWidth,\n height: v.smallerSelectedImageIconWidth\n }), (_Object$assign = {}, _Object$assign[\"& .\" + svgIconClassName] = Object.assign({\n height: '100%',\n width: '100%'\n }, p.selectable && p.hasImage && {\n position: 'relative',\n // TODO: Remove this workaround once we have proper icon from designer\n '::after': {\n content: '\"\"',\n position: 'absolute',\n background: v.selectedIconCheckColor,\n left: '10%',\n top: '10%',\n borderRadius: '50%',\n width: '80%',\n height: '80%'\n }\n }, {\n '& svg': Object.assign({}, p.selectable && p.hasImage && {\n position: 'absolute'\n }, {\n zIndex: 100,\n height: '100%',\n width: '100%'\n })\n }), _Object$assign));\n }\n};\n//# sourceMappingURL=pillIconStyles.js.map\n","export var getContainerStyles = function getContainerStyles(options) {\n var padding = options.padding,\n placement = options.placement;\n return Object.assign({}, placement === 'bottom' && {\n paddingTop: padding\n }, placement === 'top' && {\n paddingBottom: padding\n }, placement === 'left' && {\n paddingRight: padding\n }, placement === 'right' && {\n paddingLeft: padding\n });\n};\nexport var getPointerStyles = function getPointerStyles(options) {\n var backgroundColor = options.backgroundColor,\n borderColor = options.borderColor,\n borderSize = options.borderSize,\n gap = options.gap,\n height = options.height,\n padding = options.padding,\n placement = options.placement,\n rtl = options.rtl,\n svg = options.svg,\n width = options.width;\n return Object.assign({\n display: 'block',\n position: 'absolute',\n zIndex: 1\n }, (placement === 'bottom' || placement === 'top') && {\n paddingLeft: gap,\n paddingRight: gap,\n height: height,\n width: \"calc(\" + width + \" + (\" + gap + \" * 2))\"\n }, (placement === 'left' || placement === 'right') && {\n paddingBottom: gap,\n paddingTop: gap,\n height: \"calc(\" + width + \" + (\" + gap + \" * 2))\",\n width: height\n }, placement === 'bottom' && {\n top: \"calc(\" + padding + \" - \" + height + \" + (\" + borderSize + \" * 2))\"\n }, placement === 'top' && {\n bottom: \"calc(\" + padding + \" - \" + height + \" + \" + borderSize + \")\"\n }, placement === 'left' && {\n right: \"calc(\" + padding + \" - \" + height + \" + \" + borderSize + \")\"\n }, placement === 'right' && {\n left: \"calc(\" + padding + \" - \" + height + \" + \" + borderSize + \")\"\n }, {\n '::before': Object.assign({\n content: '\" \"',\n display: 'block',\n height: height,\n position: 'relative',\n transformOrigin: 'center top',\n borderBottomColor: 'transparent',\n borderLeftColor: 'transparent',\n borderRightColor: 'transparent',\n borderTopColor: 'transparent',\n borderStyle: 'solid',\n left: 0,\n top: 0\n }, placement === 'bottom' && {\n borderBottomColor: backgroundColor,\n borderWidth: \"0 \" + height + \" \" + height\n }, placement === 'top' && {\n borderTopColor: backgroundColor,\n borderWidth: height + \" \" + height + \" 0\",\n top: \"calc(\" + borderSize + \" * -1)\"\n }, placement === 'left' && {\n borderLeftColor: backgroundColor,\n borderWidth: height + \" 0 \" + height + \" \" + height\n }, placement === 'right' && {\n borderRightColor: backgroundColor,\n borderWidth: height + \" \" + height + \" \" + height + \" 0\"\n }),\n '::after': Object.assign({\n content: '\" \"',\n display: 'block',\n height: height,\n position: 'relative',\n transformOrigin: 'center top',\n zIndex: -1,\n borderBottomColor: 'transparent',\n borderLeftColor: 'transparent',\n borderRightColor: 'transparent',\n borderTopColor: 'transparent',\n borderStyle: 'solid'\n }, placement === 'bottom' && {\n borderBottomColor: borderColor,\n borderWidth: \"0 \" + height + \" \" + height,\n left: 0,\n bottom: \"calc(\" + height + \" + 1px)\"\n }, placement === 'top' && {\n borderTopColor: borderColor,\n borderWidth: height + \" \" + height + \" 0\",\n left: 0,\n bottom: height\n }, placement === 'left' && {\n borderLeftColor: borderColor,\n borderWidth: height + \" 0 \" + height + \" \" + height,\n left: borderSize,\n bottom: width\n }, placement === 'right' && {\n borderRightColor: borderColor,\n borderWidth: height + \" \" + height + \" \" + height + \" 0\",\n right: borderSize,\n bottom: width\n })\n }, svg && {\n // :before & :after are used to draw CSS triangles, not valid for SVG\n '::before': Object.assign({\n content: '\" \"',\n backgroundImage: svg,\n backgroundRepeat: 'no-repeat',\n backgroundPosition: 'center',\n display: 'block',\n position: 'relative'\n }, placement === 'bottom' && {\n height: \"calc(\" + width + \" + (\" + gap + \" * 2))\",\n width: height,\n left: gap,\n bottom: \"calc(\" + width + \" - \" + height + \" + \" + borderSize + \")\",\n transform: \"rotate(\" + (rtl ? -90 : 90) + \"deg)\"\n }, placement === 'top' && {\n height: \"calc(\" + width + \" + (\" + gap + \" * 2))\",\n width: height,\n left: gap,\n bottom: \"calc(\" + gap + \" + \" + height + \" - \" + borderSize + \")\",\n transform: \"rotate(\" + (rtl ? 90 : -90) + \"deg)\"\n }, placement === 'left' && {\n height: width,\n width: height,\n left: 0,\n transform: \"rotate(\" + (rtl ? 0 : 180) + \"deg)\"\n }, placement === 'right' && {\n height: width,\n width: height,\n right: 0,\n transform: \"rotate(\" + (rtl ? 180 : 0) + \"deg)\"\n }),\n '::after': undefined\n });\n};\n//# sourceMappingURL=getPointerStyles.js.map\n","import { getContainerStyles, getPointerStyles } from '../../getPointerStyles';\nexport var popupContentStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n return Object.assign({\n display: 'block',\n zIndex: v.zIndex\n }, p.pointing && Object.assign({\n pointerEvents: 'none'\n }, getContainerStyles({\n placement: p.basePlacement,\n padding: v.pointerMargin\n })), p.autoSize && {\n // when autoSize is true, root will have inline style maxWidth and maxHeight set by popper\n display: 'flex',\n overflow: 'hidden'\n });\n },\n pointer: function pointer(_ref2) {\n var p = _ref2.props,\n v = _ref2.variables,\n rtl = _ref2.rtl;\n return getPointerStyles({\n backgroundColor: v.backgroundColor,\n borderColor: v.borderColor,\n borderSize: v.borderSize,\n gap: v.pointerGap,\n padding: v.pointerMargin,\n height: v.pointerHeight,\n width: v.pointerWidth,\n placement: p.basePlacement,\n rtl: rtl\n });\n },\n content: function content(_ref3) {\n var p = _ref3.props,\n v = _ref3.variables;\n return Object.assign({\n display: 'block',\n background: v.backgroundColor,\n color: v.color,\n boxShadow: v.boxShadow,\n border: v.borderSize + \" solid \" + v.borderColor,\n borderRadius: v.borderRadius,\n padding: v.padding,\n transform: 'rotate(360deg)'\n }, p.pointing && {\n pointerEvents: 'all'\n }, p.autoSize && {\n overflow: 'auto'\n });\n }\n};\n//# sourceMappingURL=popupContentStyles.js.map\n","export var providerStyles = {\n root: function root(_ref) {\n var v = _ref.variables;\n return {\n background: v.background,\n color: v.color,\n textAlign: 'left',\n '& ::-webkit-scrollbar': {\n height: v.scrollbarHeight,\n width: v.scrollbarWidth,\n ':disabled': {\n display: 'none'\n }\n },\n '& ::-webkit-scrollbar-thumb': {\n borderRadius: v.scrollbarThumbBorderRadius,\n border: \"solid \" + v.scrollbarThumbBorderSize + \" transparent\",\n backgroundClip: 'content-box',\n backgroundColor: v.scrollbarThumbBackgroundColor,\n ':hover': {\n backgroundColor: v.scrollbarThumbHoverBackgroundColor,\n border: \"solid \" + v.scrollbarThumbHoverBorderSize + \" transparent\"\n }\n },\n '& ::-webkit-scrollbar-track': {\n background: 'transparent'\n }\n };\n }\n};\n//# sourceMappingURL=providerStyles.js.map\n","export var radioGroupStyles = {\n root: function root(_ref) {\n var p = _ref.props;\n return {\n display: 'flex',\n flexDirection: p.vertical ? 'column' : 'row'\n };\n }\n};\n//# sourceMappingURL=radioGroupStyles.js.map\n","import _invoke from \"lodash/invoke\";\nimport { radioGroupItemBehavior } from '@fluentui/accessibility';\nimport { Ref } from '@fluentui/react-component-ref';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { createShorthandFactory, commonPropTypes, shouldPreventDefaultOnKeyDown } from '../../utils';\nimport { Box } from '../Box/Box';\nimport { useAutoControlled, getElementType, useAccessibility, useFluentContext, useStyles, useTelemetry, useUnhandledProps } from '@fluentui/react-bindings';\nimport { RadioButtonIcon } from '@fluentui/react-icons-northstar';\nexport var radioGroupItemClassName = 'ui-radiogroup__item';\nexport var radioGroupItemSlotClassNames = {\n indicator: radioGroupItemClassName + \"__indicator\",\n label: radioGroupItemClassName + \"__label\"\n};\n\n/**\n * A RadioGroupItem represents single input element within a RadioGroup.\n *\n * @accessibility\n * Radio items need to be grouped to correctly handle accessibility.\n */\nexport var RadioGroupItem = /*#__PURE__*/function () {\n var RadioGroupItem = function RadioGroupItem(props) {\n var context = useFluentContext();\n\n var _useTelemetry = useTelemetry(RadioGroupItem.displayName, context.telemetry),\n setStart = _useTelemetry.setStart,\n setEnd = _useTelemetry.setEnd;\n\n setStart();\n var label = props.label,\n checkedIndicator = props.checkedIndicator,\n indicator = props.indicator,\n disabled = props.disabled,\n vertical = props.vertical,\n className = props.className,\n design = props.design,\n styles = props.styles,\n variables = props.variables,\n shouldFocus = props.shouldFocus;\n var elementRef = React.useRef();\n var ElementType = getElementType(props);\n var unhandledProps = useUnhandledProps(RadioGroupItem.handledProps, props);\n\n var _useAutoControlled = useAutoControlled({\n defaultValue: props.defaultChecked,\n value: props.checked,\n initialValue: false\n }),\n checked = _useAutoControlled[0],\n setChecked = _useAutoControlled[1];\n\n var prevChecked = React.useRef(checked);\n\n var handleClick = function handleClick(e) {\n _invoke(props, 'onClick', e, props);\n\n setChecked(function (prevChecked) {\n return !prevChecked;\n });\n }; // This behavior is not conformant with native input radio, it was added to avoid breaking change\n // and it should be fixed to be conformant with native, only calling onChange when item is clicked (checked will always be true)\n\n\n React.useEffect(function () {\n if (prevChecked.current !== checked) {\n _invoke(props, 'onChange', undefined, Object.assign({}, props, {\n checked: checked\n }));\n\n prevChecked.current = checked;\n }\n });\n React.useEffect(function () {\n if (checked && shouldFocus) elementRef.current.focus();\n }, [checked, shouldFocus]);\n\n var _useStyles = useStyles(RadioGroupItem.displayName, {\n className: radioGroupItemClassName,\n mapPropsToStyles: function mapPropsToStyles() {\n return {\n vertical: vertical,\n disabled: disabled,\n checked: checked\n };\n },\n mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n return {\n className: className,\n design: design,\n styles: styles,\n variables: variables\n };\n },\n rtl: context.rtl\n }),\n classes = _useStyles.classes,\n resolvedStyles = _useStyles.styles;\n\n var getA11yProps = useAccessibility(props.accessibility, {\n debugName: RadioGroupItem.displayName,\n actionHandlers: {\n performClick: function performClick(e) {\n if (shouldPreventDefaultOnKeyDown(e)) {\n e.preventDefault();\n }\n\n handleClick(e);\n }\n },\n mapPropsToBehavior: function mapPropsToBehavior() {\n return {\n checked: checked,\n disabled: disabled\n };\n },\n rtl: context.rtl\n });\n\n var handleChange = function handleChange(e) {\n // RadioGroupItem component doesn't present any `input` component in markup, however all of our\n // components should handle events transparently.\n _invoke(props, 'onChange', e, Object.assign({}, props, {\n checked: checked\n }));\n };\n\n var element = getA11yProps.unstable_wrapWithFocusZone( /*#__PURE__*/React.createElement(Ref, {\n innerRef: elementRef\n }, /*#__PURE__*/React.createElement(ElementType, getA11yProps('root', Object.assign({\n className: classes.root,\n onClick: handleClick,\n onChange: handleChange\n }, unhandledProps)), Box.create(checked ? checkedIndicator : indicator, {\n defaultProps: function defaultProps() {\n return {\n className: radioGroupItemSlotClassNames.indicator,\n styles: resolvedStyles.indicator\n };\n }\n }), Box.create(label, {\n defaultProps: function defaultProps() {\n return {\n as: 'span',\n className: radioGroupItemSlotClassNames.label,\n styles: resolvedStyles.label\n };\n }\n }))));\n setEnd();\n return element;\n };\n\n RadioGroupItem.displayName = 'RadioGroupItem';\n RadioGroupItem.propTypes = Object.assign({}, commonPropTypes.createCommon({\n content: false\n }), {\n checked: PropTypes.bool,\n defaultChecked: PropTypes.bool,\n disabled: PropTypes.bool,\n indicator: customPropTypes.shorthandAllowingChildren,\n checkedIndicator: customPropTypes.shorthandAllowingChildren,\n label: customPropTypes.itemShorthand,\n name: PropTypes.string,\n onClick: PropTypes.func,\n onChange: PropTypes.func,\n shouldFocus: PropTypes.bool,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n vertical: PropTypes.bool\n });\n RadioGroupItem.defaultProps = {\n accessibility: radioGroupItemBehavior,\n indicator: /*#__PURE__*/React.createElement(RadioButtonIcon, {\n outline: true\n }),\n checkedIndicator: /*#__PURE__*/React.createElement(RadioButtonIcon, null)\n };\n RadioGroupItem.handledProps = Object.keys(RadioGroupItem.propTypes);\n RadioGroupItem.create = createShorthandFactory({\n Component: RadioGroupItem,\n mappedProp: 'label'\n });\n return RadioGroupItem;\n}();\n//# sourceMappingURL=RadioGroupItem.js.map\n","import { radioGroupItemSlotClassNames } from '../../../../components/RadioGroup/RadioGroupItem';\nimport { pxToRem } from '../../../../utils';\nimport { getBorderFocusStyles } from '../../getBorderFocusStyles';\n\nvar restHoverFocusTextColor = function restHoverFocusTextColor(textColor) {\n return {\n color: textColor,\n ':hover': {\n color: textColor\n },\n ':focus': {\n color: textColor\n }\n };\n};\n\nexport var radioGroupItemStyles = {\n root: function root(_ref) {\n var _hover;\n\n var p = _ref.props,\n v = _ref.variables,\n siteVariables = _ref.theme.siteVariables;\n return Object.assign({\n position: 'relative',\n alignItems: 'center',\n borderStyle: 'solid',\n borderWidth: \"\" + pxToRem(1),\n borderColor: 'transparent',\n borderRadius: \"\" + pxToRem(2),\n color: v.textColorDefault,\n cursor: 'pointer',\n display: p.vertical ? 'flex' : 'inline-flex',\n fontSize: v.textFontSize,\n padding: v.padding,\n margin: v.margin,\n ':hover': (_hover = {\n color: v.textColorDefaultHoverFocus\n }, _hover[\"& .\" + radioGroupItemSlotClassNames.indicator] = Object.assign({\n borderColor: v.textColorDefaultHoverFocus\n }, !p.disabled && !p.checked && {\n borderColor: v.indicatorBorderColorDefaultHover\n }), _hover),\n ':focus': {\n color: v.textColorDefaultHoverFocus\n }\n }, p.checked && Object.assign({}, restHoverFocusTextColor(v.textColorChecked)), p.disabled && Object.assign({}, restHoverFocusTextColor(v.colorDisabled)), getBorderFocusStyles({\n variables: siteVariables\n }));\n },\n indicator: function indicator(_ref2) {\n var p = _ref2.props,\n v = _ref2.variables;\n return Object.assign({\n margin: pxToRem(2) + \" 0\",\n outline: 0,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: pxToRem(16),\n height: pxToRem(16),\n verticalAlign: 'midddle',\n color: v.indicatorColorDefault\n }, p.checked && {\n color: v.indicatorBackgroundColorChecked\n }, p.disabled && {\n color: v.colorDisabled\n });\n },\n label: function label() {\n return {\n margin: \"0 0 0 \" + pxToRem(12)\n };\n }\n};\n//# sourceMappingURL=radioGroupItemStyles.js.map\n","import { getColorScheme } from '../../colors';\nexport var segmentStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n var colors = getColorScheme(v.colorScheme, p.color);\n return Object.assign({\n borderColor: 'transparent',\n borderRadius: v.borderRadius,\n borderStyle: v.borderStyle,\n borderWidth: v.borderWidth,\n boxShadow: v.boxShadow,\n padding: v.padding,\n color: v.color,\n backgroundColor: v.backgroundColor\n }, p.color && {\n borderColor: colors.foreground\n }, p.inverted && {\n color: v.backgroundColor,\n backgroundColor: p.color ? colors.foreground : v.color\n }, p.disabled && Object.assign({\n boxShadow: 'none',\n borderColor: v.disabledBorderColor,\n color: v.disabledColor,\n backgroundColor: v.disabledBackgroundColor\n }, p.inverted && {\n color: v.disabledBackgroundColor,\n backgroundColor: v.disabledColor\n }));\n }\n};\n//# sourceMappingURL=segmentStyles.js.map\n","export var pulse = {\n from: {\n opacity: 1\n },\n '50%': {\n opacity: 0.5\n },\n to: {\n opacity: 1\n }\n};\nexport var wave = {\n '0%': {\n backgroundPosition: '-1200px 0'\n },\n '100%': {\n backgroundPosition: '1200px 0'\n }\n};\n//# sourceMappingURL=keyframes.js.map\n","import { pulse, wave } from './keyframes';\nimport { skeletonLineClassName } from '../../../../../components/Skeleton/SkeletonLine';\nimport { skeletonShapeClassName } from '../../../../../components/Skeleton/SkeletonShape';\nimport { skeletonButtonClassName } from '../../../../../components/Skeleton/SkeletonButton';\nimport { skeletonInputClassName } from '../../../../../components/Skeleton/SkeletonInput';\nimport { skeletonAvatarClassName } from '../../../../../components/Skeleton/SkeletonAvatar';\n\nvar waveStyles = function waveStyles(primaryColor, secondoryColor) {\n return {\n position: 'static',\n overflow: 'hidden',\n animationDuration: '4.5s',\n animationName: wave,\n animationIterationCount: 'infinite',\n backgroundColor: '#FFFFFF',\n animationTimingFunction: 'linear',\n backgroundImage: \"linear-gradient(to right, \" + secondoryColor + \" 0%, \" + primaryColor + \" 20%, \" + secondoryColor + \" 40%)\",\n backgroundSize: '1200px 100%'\n };\n};\n\nvar pulseStyles = {\n animationName: pulse,\n animationDuration: '1.5s',\n animationIterationCount: 'infinite'\n};\nexport var getAnimations = function getAnimations(primaryColor, secondoryColor) {\n var _pulse, _wave;\n\n return {\n pulse: (_pulse = {}, _pulse[\"& .\" + skeletonLineClassName] = pulseStyles, _pulse[\"& .\" + skeletonShapeClassName] = pulseStyles, _pulse[\"& .\" + skeletonButtonClassName] = pulseStyles, _pulse[\"& .\" + skeletonAvatarClassName] = pulseStyles, _pulse[\"& .\" + skeletonInputClassName] = pulseStyles, _pulse),\n wave: (_wave = {}, _wave[\"& .\" + skeletonLineClassName] = waveStyles(primaryColor, secondoryColor), _wave[\"& .\" + skeletonShapeClassName] = waveStyles(primaryColor, secondoryColor), _wave[\"& .\" + skeletonButtonClassName] = waveStyles(primaryColor, secondoryColor), _wave[\"& .\" + skeletonAvatarClassName] = waveStyles(primaryColor, secondoryColor), _wave[\"& .\" + skeletonInputClassName] = waveStyles(primaryColor, secondoryColor), _wave)\n };\n};\n//# sourceMappingURL=animations.js.map\n","import { getAnimations } from './utils/animations';\nexport var skeletonStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n var animations = getAnimations(v.animationBackground, v.animationBackgroundSecondary);\n return Object.assign({\n width: '100%'\n }, p.animation && animations[p.animation]);\n }\n};\n//# sourceMappingURL=skeletonStyles.js.map\n","export var skeletonLineStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n return {\n display: 'block',\n width: p.width,\n height: p.height,\n backgroundColor: v.lineBackground,\n margin: v.lineMargin\n };\n }\n};\n//# sourceMappingURL=skeletonLineStyles.js.map\n","export var skeletonShapeStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n return Object.assign({\n display: 'block',\n width: p.width,\n height: p.height,\n backgroundColor: v.shapeBackground,\n margin: v.shapeMargin\n }, p.round && {\n borderRadius: '50%'\n });\n }\n};\n//# sourceMappingURL=skeletonShapeStyles.js.map\n","export var skeletonButtonStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n return Object.assign({\n display: 'inline-block',\n background: v.buttonBackground,\n height: v.buttonHeight,\n width: v.buttonWidth\n }, p.size === 'small' && {\n height: v.buttonSmallHeight,\n width: v.buttonSmallWidth\n }, p.circular && Object.assign({\n width: v.buttonHeight,\n borderRadius: v.buttonCircularBorderRadius\n }, p.size === 'small' && {\n width: v.buttonSmallHeight\n }), p.iconOnly && Object.assign({\n width: v.buttonHeight\n }, p.size === 'small' && {\n width: v.buttonSmallHeight\n }), p.fluid && {\n width: '100%',\n maxWidth: '100%'\n });\n }\n};\n//# sourceMappingURL=skeletonButtonStyles.js.map\n","export var skeletonTextStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n return Object.assign({\n display: 'block',\n background: v.textBackground,\n height: v.textMediumHeight,\n width: v.textWidth\n }, p.size === 'smaller' && {\n height: v.textSmallerHeight\n }, p.size === 'small' && {\n height: v.textSmallHeight\n }, p.size === 'large' && {\n height: v.textLargeHeight\n }, p.size === 'larger' && {\n height: v.textLargerHeight\n });\n }\n};\n//# sourceMappingURL=skeletonTextStyles.js.map\n","export var skeletonInputStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n return Object.assign({\n flexDirection: 'column',\n justifyContent: 'center',\n display: 'inline-flex',\n position: 'relative',\n height: v.inputHeight,\n width: v.inputWidth,\n background: v.inputBackground\n }, p.fluid && {\n width: '100%'\n });\n }\n};\n//# sourceMappingURL=skeletonInputStyles.js.map\n","export var skeletonAvatarStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n return Object.assign({\n display: 'inline-block',\n verticalAlign: 'middle',\n borderRadius: '50%',\n background: v.buttonBackground,\n height: v.avatarMedium,\n width: v.avatarMedium\n }, p.size === 'smallest' && {\n height: v.avatarSmallest,\n width: v.avatarSmallest\n }, p.size === 'smaller' && {\n height: v.avatarSmaller,\n width: v.avatarSmaller\n }, p.size === 'small' && {\n height: v.avatarSmall,\n width: v.avatarSmall\n }, p.size === 'large' && {\n height: v.avatarLarge,\n width: v.avatarLarge\n }, p.size === 'larger' && {\n height: v.avatarLarger,\n width: v.avatarLarger\n }, p.size === 'largest' && {\n height: v.avatarLargest,\n width: v.avatarLargest\n });\n }\n};\n//# sourceMappingURL=skeletonAvatarStyles.js.map\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _invoke from \"lodash/invoke\";\nimport _get from \"lodash/get\";\nimport _toNumber from \"lodash/toNumber\";\nimport { sliderBehavior } from '@fluentui/accessibility';\nimport { getElementType, useUnhandledProps, useAccessibility, useStateManager, useFluentContext, useStyles, useTelemetry } from '@fluentui/react-bindings';\nimport { handleRef, Ref } from '@fluentui/react-component-ref';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport { createSliderManager } from '@fluentui/state';\nimport cx from 'classnames';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { commonPropTypes, partitionHTMLProps, setWhatInputSource, createShorthandFactory } from '../../utils';\nimport { Box } from '../Box/Box';\n\nvar processInputValues = function processInputValues(p) {\n var min = _toNumber(p.min);\n\n var max = _toNumber(p.max);\n\n var value = _toNumber(p.value);\n\n if (isNaN(min)) min = Number(Slider.defaultProps.min);\n if (isNaN(max)) max = Number(Slider.defaultProps.max);\n value = isNaN(value) ? min + (max - min) / 2 : Math.min(max, Math.max(min, value));\n var valueAsPercentage = 100 * (value - min) / (max - min) + \"%\";\n return {\n min: min,\n max: max,\n value: value,\n valueAsPercentage: valueAsPercentage\n };\n};\n\nexport var sliderClassName = 'ui-slider';\nexport var sliderSlotClassNames = {\n input: sliderClassName + \"__input\",\n inputWrapper: sliderClassName + \"__input-wrapper\",\n rail: sliderClassName + \"__rail\",\n thumb: sliderClassName + \"__thumb\",\n track: sliderClassName + \"__track\"\n};\n/**\n * A Slider represents an input that allows user to choose a value from within a specific range.\n *\n * @accessibility\n * Implements [ARIA Slider](https://www.w3.org/TR/wai-aria-practices-1.1/#slider) design pattern.\n * @accessibilityIssues\n * [Slider - JAWS narrates slider value twice when using PageUp / PageDown](https://github.com/FreedomScientific/VFO-standards-support/issues/220)\n * [Slider - JAWS narrates current and new value in vertical slider](https://github.com/FreedomScientific/VFO-standards-support/issues/219)\n */\n\nexport var Slider = /*#__PURE__*/function () {\n var Slider = function Slider(props) {\n var _ref;\n\n var context = useFluentContext();\n\n var _useTelemetry = useTelemetry(Slider.displayName, context.telemetry),\n setStart = _useTelemetry.setStart,\n setEnd = _useTelemetry.setEnd;\n\n setStart();\n var accessibility = props.accessibility,\n min = props.min,\n max = props.max,\n value = props.value,\n getA11yValueMessageOnChange = props.getA11yValueMessageOnChange,\n defaultValue = props.defaultValue,\n input = props.input,\n userInputRef = props.inputRef,\n step = props.step,\n className = props.className,\n styles = props.styles,\n variables = props.variables,\n design = props.design,\n fluid = props.fluid,\n vertical = props.vertical,\n disabled = props.disabled;\n var inputRef = React.useRef();\n\n var _useStateManager = useStateManager(createSliderManager, {\n mapPropsToInitialState: function mapPropsToInitialState() {\n return {\n value: defaultValue\n };\n },\n mapPropsToState: function mapPropsToState() {\n return {\n value: value\n };\n }\n }),\n state = _useStateManager.state,\n actions = _useStateManager.actions;\n\n var _processInputValues = processInputValues({\n min: min,\n max: max,\n value: state.value || ''\n }),\n numericMin = _processInputValues.min,\n numericMax = _processInputValues.max,\n numericValue = _processInputValues.value,\n valueAsPercentage = _processInputValues.valueAsPercentage;\n\n var getA11Props = useAccessibility(accessibility, {\n debugName: Slider.displayName,\n rtl: context.rtl,\n mapPropsToBehavior: function mapPropsToBehavior() {\n return {\n disabled: disabled,\n getA11yValueMessageOnChange: getA11yValueMessageOnChange,\n max: numericMax,\n min: numericMax,\n value: numericValue,\n vertical: vertical\n };\n }\n });\n\n var _useStyles = useStyles(Slider.displayName, {\n className: sliderClassName,\n mapPropsToStyles: function mapPropsToStyles() {\n return {\n fluid: fluid,\n vertical: vertical,\n disabled: disabled\n };\n },\n mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n return {\n className: className,\n styles: styles,\n variables: variables,\n design: design\n };\n },\n rtl: context.rtl\n }),\n classes = _useStyles.classes,\n resolvedStyles = _useStyles.styles;\n\n var handleInputOverrides = function handleInputOverrides() {\n return {\n onChange: function onChange(e) {\n var value = _get(e, 'target.value');\n\n _invoke(props, 'onChange', e, Object.assign({}, props, {\n value: value\n }));\n\n actions.change(value);\n },\n onMouseDown: function onMouseDown(e) {\n setWhatInputSource(context.target, 'mouse');\n\n _invoke(props, 'onMouseDown', e, props);\n }\n };\n };\n\n var ElementType = getElementType(props);\n var unhandledProps = useUnhandledProps(Slider.handledProps, props);\n\n var _partitionHTMLProps = partitionHTMLProps(unhandledProps),\n htmlInputProps = _partitionHTMLProps[0],\n restProps = _partitionHTMLProps[1];\n\n var type = 'range'; // we need 2 wrappers around the slider rail, track, input and thumb slots to achieve correct component sizes\n\n var inputElement = Box.create(input || type, {\n defaultProps: function defaultProps() {\n return getA11Props('input', Object.assign({}, htmlInputProps, {\n as: 'input',\n className: sliderSlotClassNames.input,\n min: numericMin,\n max: numericMax,\n step: step,\n styles: resolvedStyles.input,\n type: type,\n value: numericValue\n }));\n },\n overrideProps: handleInputOverrides\n });\n var element = /*#__PURE__*/React.createElement(ElementType, getA11Props('root', Object.assign({\n className: classes.root\n }, restProps)), /*#__PURE__*/React.createElement(\"div\", getA11Props('inputWrapper', {\n className: cx(sliderSlotClassNames.inputWrapper, classes.inputWrapper)\n }), /*#__PURE__*/React.createElement(\"span\", getA11Props('rail', {\n className: cx(sliderSlotClassNames.rail, classes.rail)\n })), /*#__PURE__*/React.createElement(\"span\", _extends({}, getA11Props('track', {\n className: cx(sliderSlotClassNames.track, classes.track)\n }), {\n style: {\n width: valueAsPercentage\n }\n })), /*#__PURE__*/React.createElement(Ref, {\n innerRef: function innerRef(inputElement) {\n handleRef(inputRef, inputElement);\n handleRef(userInputRef, inputElement);\n }\n }, inputElement), /*#__PURE__*/React.createElement(\"span\", _extends({}, getA11Props('thumb', {\n className: cx(sliderSlotClassNames.thumb, classes.thumb)\n }), {\n style: (_ref = {}, _ref[context.rtl ? 'right' : 'left'] = valueAsPercentage, _ref)\n }))));\n setEnd();\n return element;\n };\n\n Slider.displayName = 'Slider';\n Slider.defaultProps = {\n accessibility: sliderBehavior,\n getA11yValueMessageOnChange: function getA11yValueMessageOnChange(_ref2) {\n var value = _ref2.value;\n return String(value);\n },\n max: 100,\n min: 0,\n step: 1\n };\n Slider.propTypes = Object.assign({}, commonPropTypes.createCommon({\n content: false\n }), {\n defaultValue: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n fluid: PropTypes.bool,\n getA11yValueMessageOnChange: PropTypes.func,\n input: customPropTypes.itemShorthand,\n inputRef: customPropTypes.ref,\n max: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n min: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n onChange: PropTypes.func,\n step: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n vertical: PropTypes.bool\n });\n Slider.handledProps = Object.keys(Slider.propTypes);\n Slider.create = createShorthandFactory({\n Component: Slider,\n mappedProp: 'value'\n });\n return Slider;\n}();\n//# sourceMappingURL=Slider.js.map\n","import { sliderSlotClassNames } from '../../../../components/Slider/Slider';\nimport { getBorderFocusStyles } from '../../getBorderFocusStyles';\nvar selectors = {\n WEBKIT_THUMB: '::-webkit-slider-thumb',\n MOZ_THUMB: '::-moz-range-thumb',\n MS_FILL_LOWER: '::-ms-fill-lower',\n MS_FILL_UPPER: '::-ms-fill-upper',\n MS_THUMB: '::-ms-thumb'\n};\n\nvar getCommonSlotStyles = function getCommonSlotStyles(p, v) {\n return {\n cursor: 'pointer',\n pointerEvents: 'none',\n position: 'absolute',\n border: 0,\n height: v.railHeight,\n marginTop: \"calc(\" + v.height + \" / 2 - \" + v.railHeight + \" / 2)\"\n };\n}; // this selector is used to identify the thumb slot from a previous sibling\n\n\nvar thumbFromPreviousSiblingSelector = \"&+ .\" + sliderSlotClassNames.thumb;\n\nvar getFluidStyles = function getFluidStyles(p) {\n return p.fluid && !p.vertical && {\n width: '100%'\n };\n};\n\nexport var sliderStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n return Object.assign({\n height: v.height\n }, p.disabled && {\n pointerEvents: 'none'\n }, p.vertical && {\n height: v.length,\n width: v.height\n }, getFluidStyles(p));\n },\n input: function input(_ref2) {\n var _Object$assign, _active, _focus, _focusVisible;\n\n var p = _ref2.props,\n v = _ref2.variables,\n siteVariables = _ref2.theme.siteVariables;\n var activeThumbStyles = {\n height: v.activeThumbHeight,\n width: v.activeThumbWidth,\n background: v.activeThumbColor,\n marginTop: \"calc(\" + v.height + \" / 2 - \" + v.activeThumbHeight + \" / 2)\",\n marginLeft: \"calc(-\" + v.activeThumbWidth + \" / 2)\"\n };\n var borderFocusStyles = getBorderFocusStyles({\n variables: siteVariables,\n borderPadding: v.thumbBorderPadding\n });\n var thumbStyles = {\n border: 0,\n width: '1px'\n };\n return Object.assign((_Object$assign = {\n '-webkit-appearance': 'none',\n cursor: 'pointer',\n height: '100%',\n width: '100%',\n margin: 0,\n padding: 0,\n opacity: 0\n }, _Object$assign[selectors.WEBKIT_THUMB] = Object.assign({}, thumbStyles, {\n '-webkit-appearance': 'none'\n }), _Object$assign[selectors.MOZ_THUMB] = thumbStyles, _Object$assign[selectors.MS_THUMB] = Object.assign({}, thumbStyles, {\n marginTop: \"calc(-\" + v.thumbHeight + \" / 2)\"\n }), _Object$assign[selectors.MS_FILL_LOWER] = {\n display: 'none'\n }, _Object$assign[selectors.MS_FILL_UPPER] = {\n display: 'none'\n }, _Object$assign), getFluidStyles(p), {\n ':active': (_active = {}, _active[thumbFromPreviousSiblingSelector] = activeThumbStyles, _active),\n ':focus': (_focus = {\n outline: 0\n }, _focus[thumbFromPreviousSiblingSelector] = borderFocusStyles[':focus'], _focus),\n ':focus-visible': (_focusVisible = {}, _focusVisible[thumbFromPreviousSiblingSelector] = Object.assign({}, borderFocusStyles[':focus-visible'], activeThumbStyles), _focusVisible)\n });\n },\n inputWrapper: function inputWrapper(_ref3) {\n var p = _ref3.props,\n v = _ref3.variables;\n var transformOriginValue = \"calc(\" + v.length + \" / 2)\";\n return Object.assign({\n position: 'relative',\n display: 'inline-block',\n height: v.height,\n width: v.length\n }, p.vertical && {\n transform: 'rotate(-90deg)',\n transformOrigin: transformOriginValue + \" \" + transformOriginValue\n }, getFluidStyles(p));\n },\n rail: function rail(_ref4) {\n var p = _ref4.props,\n v = _ref4.variables;\n return Object.assign({\n width: '100%',\n background: v.railColor\n }, getCommonSlotStyles(p, v), p.disabled && {\n background: v.disabledRailColor\n });\n },\n track: function track(_ref5) {\n var p = _ref5.props,\n v = _ref5.variables;\n return Object.assign({\n background: v.trackColor\n }, getCommonSlotStyles(p, v), p.disabled && {\n background: v.disabledTrackColor\n });\n },\n thumb: function thumb(_ref6) {\n var p = _ref6.props,\n v = _ref6.variables;\n return Object.assign({\n border: 0,\n borderRadius: '100%',\n cursor: 'pointer',\n pointerEvents: 'none',\n position: 'absolute',\n background: v.thumbColor,\n height: v.thumbHeight,\n width: v.thumbWidth,\n marginTop: \"calc(\" + v.height + \" / 2 - \" + v.thumbHeight + \" / 2)\",\n marginLeft: \"calc(-\" + v.thumbWidth + \" / 2)\"\n }, p.disabled && {\n background: v.disabledThumbColor\n });\n }\n};\n//# sourceMappingURL=sliderStyles.js.map\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport * as React from 'react';\nimport { childrenExist, commonPropTypes, rtlTextContainer, createShorthandFactory } from '../../utils';\nimport { Box } from '../Box/Box';\nimport { ReactionGroup } from './ReactionGroup';\nimport { useTelemetry, useFluentContext, getElementType, useUnhandledProps, useAccessibility, useStyles } from '@fluentui/react-bindings';\nexport var reactionClassName = 'ui-reaction';\nexport var reactionSlotClassNames = {\n icon: reactionClassName + \"__icon\",\n content: reactionClassName + \"__content\"\n};\n/**\n * A Reaction indicates user's emotion or perception.\n * Used to display user's reaction for entity in Chat (e.g. message).\n */\n\nexport var Reaction = /*#__PURE__*/function () {\n var Reaction = function Reaction(props) {\n var context = useFluentContext();\n\n var _useTelemetry = useTelemetry(Reaction.displayName, context.telemetry),\n setStart = _useTelemetry.setStart,\n setEnd = _useTelemetry.setEnd;\n\n setStart();\n var children = props.children,\n icon = props.icon,\n content = props.content,\n className = props.className,\n design = props.design,\n styles = props.styles,\n variables = props.variables;\n var ElementType = getElementType(props);\n var unhandledProps = useUnhandledProps(Reaction.handledProps, props);\n var getA11yProps = useAccessibility(props.accessibility, {\n debugName: Reaction.displayName,\n rtl: context.rtl\n });\n\n var _useStyles = useStyles(Reaction.displayName, {\n className: reactionClassName,\n mapPropsToStyles: function mapPropsToStyles() {\n return {\n hasContent: !!content\n };\n },\n mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n return {\n className: className,\n design: design,\n styles: styles,\n variables: variables\n };\n },\n rtl: context.rtl\n }),\n classes = _useStyles.classes,\n resolvedStyles = _useStyles.styles;\n\n var element = /*#__PURE__*/React.createElement(ElementType, _extends({}, getA11yProps('root', Object.assign({\n className: classes.root\n }, unhandledProps)), rtlTextContainer.getAttributes({\n forElements: [children]\n })), childrenExist(children) ? children : /*#__PURE__*/React.createElement(React.Fragment, null, Box.create(icon, {\n defaultProps: function defaultProps() {\n return getA11yProps('icon', {\n className: reactionSlotClassNames.icon,\n styles: resolvedStyles.icon\n });\n }\n }), Box.create(content, {\n defaultProps: function defaultProps() {\n return getA11yProps('content', {\n className: reactionSlotClassNames.content,\n styles: resolvedStyles.content\n });\n }\n })));\n setEnd();\n return element;\n };\n\n Reaction.displayName = 'Reaction';\n Reaction.propTypes = Object.assign({}, commonPropTypes.createCommon({\n content: 'shorthand'\n }), {\n icon: customPropTypes.shorthandAllowingChildren\n });\n Reaction.defaultProps = {\n as: 'span'\n };\n Reaction.handledProps = Object.keys(Reaction.propTypes);\n Reaction.Group = ReactionGroup;\n Reaction.create = createShorthandFactory({\n Component: Reaction,\n mappedProp: 'content'\n });\n return Reaction;\n}();\n//# sourceMappingURL=Reaction.js.map\n","import { reactionSlotClassNames } from '../../../../components/Reaction/Reaction';\nimport { pxToRem } from '../../../../utils';\nvar contentClassNameSelector = \"& .\" + reactionSlotClassNames.content;\nexport var reactionStyles = {\n root: function root(_ref) {\n var _hover;\n\n var p = _ref.props,\n v = _ref.variables;\n return {\n cursor: 'pointer',\n background: 'transparent',\n border: pxToRem(0),\n padding: pxToRem(0),\n display: 'inline-flex',\n justifyContent: 'center',\n alignItems: 'center',\n color: v.meReacting ? v.meReactingColor : v.otherReactingColor,\n ':hover': (_hover = {\n color: v.meReacting ? v.meReactingColorHover : v.otherReactingColorHover\n }, _hover[contentClassNameSelector] = {\n fontWeight: v.fontWeightHover\n }, _hover),\n position: 'relative',\n ':focus': {\n outline: 'none'\n },\n ':focus-visible': {\n ':after': {\n content: '\"\"',\n position: 'absolute',\n top: \"-\" + pxToRem(2),\n right: \"-\" + pxToRem(2),\n bottom: \"-\" + pxToRem(2),\n left: \"-\" + pxToRem(2),\n borderWidth: '1px',\n borderStyle: 'solid',\n borderColor: v.borderColorFocus,\n borderRadius: pxToRem(2),\n boxShadow: \"0px 0px 0px 1px \" + v.boxShadowColor + \" inset\"\n }\n }\n };\n },\n icon: function icon(_ref2) {\n var p = _ref2.props;\n return {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n marginRight: p.hasContent ? pxToRem(4) : pxToRem(0)\n };\n },\n content: function content(_ref3) {\n var v = _ref3.variables;\n return {\n fontSize: v.contentFontSize\n };\n }\n};\n//# sourceMappingURL=reactionStyles.js.map\n","export var reactionGroupStyles = {\n root: function root() {\n return {};\n },\n reaction: function reaction(_ref) {\n var v = _ref.variables;\n return {\n ':not(:last-child)': {\n marginRight: v.reactionSpacing\n }\n };\n }\n};\n//# sourceMappingURL=reactionGroupStyles.js.map\n","import { pxToRem } from '../../../../utils';\n\nvar getBackgroundColor = function getBackgroundColor(state, variables) {\n switch (state) {\n case 'success':\n return variables.successBackgroundColor;\n\n case 'info':\n return variables.infoBackgroundColor;\n\n case 'warning':\n return variables.warningBackgroundColor;\n\n case 'error':\n return variables.errorBackgroundColor;\n\n case 'unknown':\n default:\n return variables.defaultBackgroundColor;\n }\n};\n\nvar getTextColor = function getTextColor(state, variables) {\n switch (state) {\n case 'success':\n return variables.successTextColor;\n\n case 'info':\n return variables.infoTextColor;\n\n case 'warning':\n return variables.warningTextColor;\n\n case 'error':\n return variables.errorTextColor;\n\n case 'unknown':\n default:\n return variables.defaultTextColor;\n }\n};\n\nvar sizeToPxValue = {\n smallest: 6,\n smaller: 10,\n small: 10,\n medium: 10,\n large: 10,\n larger: 16,\n largest: 0\n};\nexport var getSizeStyles = function getSizeStyles(sizeInPx, variables) {\n var borderWidth = variables.borderColor && variables.borderWidth || 0;\n var sizeInRem = pxToRem(sizeInPx + 2 * borderWidth);\n return {\n height: sizeInRem,\n width: sizeInRem\n };\n};\nexport var statusStyles = {\n root: function root(_ref) {\n var _ref$props = _ref.props,\n color = _ref$props.color,\n size = _ref$props.size,\n state = _ref$props.state,\n variables = _ref.variables;\n return Object.assign({\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center'\n }, getSizeStyles(sizeToPxValue[size], variables), {\n verticalAlign: 'middle',\n borderRadius: '9999px'\n }, variables.borderColor && {\n borderColor: variables.borderColor,\n borderWidth: pxToRem(variables.borderWidth),\n borderStyle: 'solid'\n }, {\n backgroundColor: color || getBackgroundColor(state, variables)\n });\n },\n icon: function icon(_ref2) {\n var state = _ref2.props.state,\n v = _ref2.variables;\n return {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: v.iconSize,\n height: v.iconSize,\n color: getTextColor(state, v),\n '& > :first-child': {\n height: '100%',\n width: '100%',\n '& svg': {\n height: '100%',\n width: '100%'\n }\n }\n };\n }\n};\n//# sourceMappingURL=statusStyles.js.map\n","import { getBorderFocusStyles } from '../../getBorderFocusStyles';\nexport var splitButtonStyles = {\n menuButton: function menuButton(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n return Object.assign({\n borderTopRightRadius: 0,\n borderBottomRightRadius: 0,\n borderRightWidth: 0,\n padding: v.padding,\n minWidth: v.minWidth\n }, p.size === 'small' && {\n height: v.smallDimension,\n padding: v.smallPadding,\n minWidth: v.smallMinWidth,\n boxShadow: v.smallBoxShadow\n }, {\n ':focus-visible': {\n borderRightWidth: 0,\n ':before': {\n borderRightWidth: 0\n },\n ':after': {\n borderRightWidth: 0\n }\n },\n ':active': {\n animationName: 'unset',\n animationDuration: 'unset'\n }\n });\n },\n root: function root(_ref2) {\n var p = _ref2.props,\n v = _ref2.variables,\n siteVariables = _ref2.theme.siteVariables;\n var borderFocusStyles = getBorderFocusStyles({\n variables: {\n borderRadius: v.focusBorderRadius,\n borderWidth: v.focusBorderWidth,\n focusInnerBorderColor: v.focusInnerBorderColor,\n focusOuterBorderColor: v.focusOuterBorderColor,\n zIndexes: {\n foreground: v.focusBorderZIndex\n }\n }\n });\n return {\n borderRadius: v.borderRadius,\n position: 'relative',\n whiteSpace: 'nowrap',\n display: 'inline-block',\n width: 'fit-content',\n ':focus-within': Object.assign({\n boxShadow: 'none'\n }, p.isFromKeyboard && Object.assign({}, borderFocusStyles[':focus-visible']))\n };\n }\n};\n//# sourceMappingURL=splitButtonStyles.js.map\n","export var toggleIndicatorUrl = function toggleIndicatorUrl(color, outline) {\n if (outline) {\n return \"url(\\\"data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' role='presentation' focusable='false' viewBox='8 8 16 16'%3E%3Cpath fill='\" + encodeURIComponent(color) + \"' d='M21.5,13.5c0,0.1,0,0.3-0.1,0.4l-5,5C16.3,19,16.1,19,16,19c-0.1,0-0.3-0.1-0.4-0.1l-5-5c-0.1-0.1-0.2-0.2-0.1-0.4 c0-0.3,0.2-0.5,0.5-0.5c0.1,0,0.3,0.1,0.4,0.1l4.6,4.6l4.7-4.6c0.1-0.1,0.2-0.1,0.4-0.1C21.3,13,21.5,13.2,21.5,13.5z' /%3E%3C/svg%3E\\\")\";\n }\n\n return \"url(\\\"data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' role='presentation' focusable='false' viewBox='8 8 16 16'%3E%3Cpath fill='\" + encodeURIComponent(color) + \"' d='M16,19.5c-0.3,0-0.5-0.1-0.7-0.3l-5-5C10.1,14,10,13.8,10,13.5c0-0.6,0.4-1,1-1c0.3,0,0.5,0.1,0.7,0.3l4.3,4.3l4.3-4.3 c0.2-0.2,0.4-0.3,0.7-0.3c0.6,0,1,0.4,1,1c0,0.3-0.1,0.5-0.3,0.7l-5,5C16.5,19.4,16.3,19.5,16,19.5z' /%3E%3C/svg%3E\\\")\";\n};\n//# sourceMappingURL=toggleIndicatorUrl.js.map\n","import { getBorderFocusStyles } from '../../getBorderFocusStyles';\nimport { getIconFillOrOutlineStyles } from '../../getIconFillOrOutlineStyles';\nimport { toggleIndicatorUrl } from './toggleIndicatorUrl';\n\nvar getIndicatorStyles = function getIndicatorStyles(color, outline, size) {\n return {\n content: '\"\"',\n width: size,\n height: size,\n backgroundImage: toggleIndicatorUrl(color, outline),\n backgroundRepeat: 'no-repeat'\n };\n};\n\nexport var splitButtonToggleStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables,\n theme = _ref.theme;\n var siteVariables = theme.siteVariables;\n var borderWidth = siteVariables.borderWidth;\n var borderFocusStyles = getBorderFocusStyles({\n variables: {\n borderRadius: v.focusBorderRadius,\n borderWidth: v.focusBorderWidth,\n focusInnerBorderColor: v.focusInnerBorderColor,\n focusOuterBorderColor: v.focusOuterBorderColor,\n zIndexes: {\n foreground: v.focusBorderZIndex\n }\n },\n borderPadding: borderWidth\n });\n return Object.assign({\n height: v.toggleButtonHeight,\n minWidth: v.toggleButtonHeight,\n color: v.toggleButtonColor,\n backgroundColor: v.toggleButtonBackgroundColor,\n borderRadius: v.toggleButtonBorderRadius,\n display: 'inline-flex',\n justifyContent: 'center',\n alignItems: 'center',\n position: 'relative',\n verticalAlign: 'middle',\n cursor: 'pointer',\n outline: 0,\n padding: 0,\n borderWidth: borderWidth,\n borderStyle: 'solid',\n borderColor: v.toggleButtonBorderColor,\n boxShadow: v.toggleButtonBoxShadow,\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0\n }, getIconFillOrOutlineStyles({\n outline: true\n }), {\n ':before': Object.assign({}, getIndicatorStyles(p.disabled ? v.toggleButtonColorDisabled : p.primary ? v.toggleButtonPrimaryColor : v.toggleButtonColor, true, v.toggleButtonIndicatorSize)),\n ':hover': Object.assign({}, getIconFillOrOutlineStyles({\n outline: false\n }), {\n ':before': Object.assign({}, getIndicatorStyles(v.toggleButtonColorHover, false, v.toggleButtonIndicatorSize)),\n color: v.toggleButtonColorHover,\n background: v.toggleButtonBackgroundColorHover\n }),\n ':active': {\n color: v.toggleButtonColorActive,\n backgroundColor: v.toggleButtonBackgroundColorActive,\n borderColor: v.toggleButtonBorderColorActive,\n boxShadow: 'none'\n },\n ':focus': borderFocusStyles[':focus'],\n ':focus-visible': {\n backgroundColor: v.toggleButtonBackgroundColorFocus,\n borderColor: v.toggleButtonBorderColorFocus,\n color: v.toggleButtonColorFocus,\n borderWidth: borderWidth,\n ':hover': {\n borderColor: v.toggleButtonBorderColorHover\n }\n }\n }, p.primary && {\n color: v.toggleButtonPrimaryColor,\n backgroundColor: v.toggleButtonPrimaryBackgroundColor,\n borderColor: v.toggleButtonPrimaryBorderColor,\n boxShadow: v.toggleButtonPrimaryBoxShadow,\n borderWidth: \"0 0 0 \" + siteVariables.borderWidth,\n ':active': {\n backgroundColor: v.toggleButtonPrimaryBackgroundColorActive,\n boxShadow: 'none'\n },\n ':focus': borderFocusStyles[':focus'],\n ':focus-visible': {\n backgroundColor: v.toggleButtonPrimaryBackgroundColorFocus\n },\n ':hover': {\n color: v.toggleButtonPrimaryHoverColor,\n backgroundColor: v.toggleButtonPrimaryHoverBackgroundColor\n }\n }, p.disabled && {\n cursor: 'default',\n color: v.toggleButtonColorDisabled,\n boxShadow: 'none',\n pointerEvents: 'none',\n ':hover': {\n color: v.toggleButtonColorDisabled\n },\n backgroundColor: v.toggleButtonBackgroundColorDisabled,\n borderWidth: \"0 0 0 \" + siteVariables.borderWidth,\n borderColor: v.borderColorDisabled\n }, p.size === 'small' && {\n height: v.smallDimension,\n width: v.smallDimension,\n minWidth: v.smallMinWidth,\n boxShadow: v.smallBoxShadow\n });\n }\n};\n//# sourceMappingURL=splitButtonToggleStyles.js.map\n","import { getColorSchemeKey } from '../../colors';\nimport { translateAlignProp } from '../../../../styles/translateAlignProp';\nexport var textStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n var colors = v.colorScheme[getColorSchemeKey(p.color)];\n return Object.assign({}, p.color && {\n color: colors.foreground\n }, p.atMention === true && {\n color: v.atMentionOtherColor\n }, p.truncated && {\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap'\n }, p.disabled && {\n color: v.disabledColor\n }, p.error && {\n color: v.errorColor\n }, p.success && {\n color: v.successColor\n }, p.temporary && {\n fontStyle: 'italic'\n }, p.align && {\n display: 'block',\n textAlign: translateAlignProp(p.align)\n }, p.weight === 'light' && {\n fontWeight: v.fontWeightLight\n }, p.weight === 'semilight' && {\n fontWeight: v.fontWeightSemilight\n }, p.weight === 'regular' && {\n fontWeight: v.fontWeightRegular\n }, p.weight === 'semibold' && {\n fontWeight: v.fontWeightSemibold\n }, p.weight === 'bold' && {\n fontWeight: v.fontWeightBold\n }, p.size === 'smallest' && {\n fontSize: v.fontSizeSmallest,\n lineHeight: v.fontLineHeightSmallest\n }, p.size === 'smaller' && {\n fontSize: v.fontSizeSmaller,\n lineHeight: v.fontLineHeightSmaller\n }, p.size === 'small' && {\n fontSize: v.fontSizeSmall,\n lineHeight: v.fontLineHeightSmall\n }, p.size === 'medium' && {\n fontSize: v.fontSizeMedium,\n lineHeight: v.fontLineHeightMedium\n }, p.size === 'large' && {\n fontSize: v.fontSizeLarge,\n lineHeight: v.fontLineHeightLarge\n }, p.size === 'larger' && {\n fontSize: v.fontSizeLarger,\n lineHeight: v.fontLineHeightLarger\n }, p.size === 'largest' && {\n fontSize: v.fontSizeLargest,\n lineHeight: v.fontLineHeightLargest\n }, p.atMention === 'me' && {\n color: v.atMentionMeColor,\n fontWeight: v.atMentionMeFontWeight\n }, p.timestamp && {\n color: v.timestampColor\n }, p.important && {\n color: v.importantColor,\n fontWeight: v.importantWeight\n });\n }\n};\n//# sourceMappingURL=textStyles.js.map\n","import { pxToRem } from '../../../../utils';\nexport var textAreaStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n return Object.assign({\n margin: v.margin,\n height: v.height,\n backgroundColor: v.backgroundColor\n }, p.inverted && {\n backgroundColor: v.invertedBackgroundColor\n }, {\n color: v.fontColor,\n borderColor: v.borderColor,\n borderRadius: v.borderRadius,\n borderStyle: 'solid',\n borderWidth: v.borderWidth,\n outline: 0,\n padding: v.padding,\n resize: p.resize || 'none'\n }, p.fluid && {\n width: '100%'\n }, p.disabled && {\n pointerEvents: 'none',\n color: v.disabledColor,\n boxShadow: 'none'\n }, p.error && {\n border: pxToRem(1) + \" solid \" + v.borderColorError\n }, {\n '::placeholder': Object.assign({\n color: v.placeholderColor,\n opacity: 1\n }, p.disabled && {\n color: v.disabledColor\n }),\n ':focus': {\n borderColor: v.borderColorFocus\n }\n });\n }\n};\n//# sourceMappingURL=textAreaStyles.js.map\n","import { pxToRem } from '../../../../utils/index';\nexport var toolbarStyles = {\n root: function root() {\n return {\n display: 'flex',\n alignItems: 'center',\n position: 'relative'\n };\n },\n offsetMeasure: function offsetMeasure() {\n return {\n position: 'absolute',\n visibility: 'hidden',\n left: 0,\n top: 0\n };\n },\n overflowContainer: function overflowContainer() {\n return {\n display: 'flex',\n overflow: 'hidden',\n flexGrow: 1\n };\n },\n overflowSentinel: function overflowSentinel(_ref) {\n var props = _ref.props;\n return {\n width: pxToRem(100),\n display: props.overflowOpen ? 'block' : 'none',\n visibility: 'hidden'\n };\n }\n};\n//# sourceMappingURL=toolbarStyles.js.map\n","export var toolbarRadioGroupStyles = {\n root: function root() {\n return {\n display: 'flex',\n whiteSpace: 'nowrap'\n };\n }\n};\n//# sourceMappingURL=toolbarRadioGroupStyles.js.map\n","import { getColorScheme } from '../../colors';\nimport { getBorderFocusStyles } from '../../getBorderFocusStyles';\nexport var toolbarCustomItemStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables,\n siteVariables = _ref.theme.siteVariables;\n var colors = getColorScheme(v.colorScheme);\n var borderWidth = siteVariables.borderWidth;\n var borderFocusStyles = getBorderFocusStyles({\n variables: siteVariables\n });\n return Object.assign({\n position: 'relative',\n backgroundColor: v.background,\n borderColor: 'transparent',\n borderWidth: borderWidth,\n borderStyle: 'solid',\n height: v.itemHeight,\n color: v.foreground || colors.foreground1,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center'\n }, p.fitted !== true && p.fitted !== 'horizontally' && {\n paddingLeft: v.customItemHorizontalPadding,\n paddingRight: v.customItemHorizontalPadding\n }, p.fitted !== true && p.fitted !== 'vertically' && {\n paddingTop: v.customItemVerticalPadding,\n paddingBottom: v.customItemVerticalPadding\n }, {\n ':focus': borderFocusStyles[':focus'],\n ':focus-visible': borderFocusStyles[':focus-visible']\n });\n }\n};\n//# sourceMappingURL=toolbarCustomItemStyles.js.map\n","import { getColorScheme } from '../../colors';\nexport var toolbarDividerStyles = {\n root: function root(_ref) {\n var v = _ref.variables;\n var colors = getColorScheme(v.colorScheme);\n return {\n borderLeft: \"1px solid \" + (v.dividerBorder || colors.border),\n margin: v.dividerMargin,\n alignSelf: 'stretch'\n };\n }\n};\n//# sourceMappingURL=toolbarDividerStyles.js.map\n","import { getIconFillOrOutlineStyles } from '../../getIconFillOrOutlineStyles';\nimport { getColorScheme } from '../../colors';\nimport { getBorderFocusStyles } from '../../getBorderFocusStyles';\nexport var toolbarItemStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables,\n siteVariables = _ref.theme.siteVariables;\n var colors = getColorScheme(v.colorScheme);\n var borderWidth = siteVariables.borderWidth;\n var borderFocusStyles = getBorderFocusStyles({\n variables: siteVariables\n });\n return Object.assign({\n position: 'relative',\n backgroundColor: v.background,\n borderWidth: borderWidth,\n borderStyle: 'solid',\n borderColor: 'transparent',\n borderRadius: v.borderRadius,\n height: v.itemHeight,\n minWidth: v.itemHeight,\n padding: v.itemPadding,\n color: v.foreground || colors.foreground1,\n cursor: 'pointer',\n ':focus': borderFocusStyles[':focus']\n }, p.active && Object.assign({\n color: v.foregroundActive || colors.foregroundActive,\n backgroundColor: v.backgroundActive\n }, getIconFillOrOutlineStyles({\n outline: false\n })), {\n ':hover': Object.assign({\n color: v.foregroundHover || colors.foregroundHover,\n backgroundColor: v.backgroundHover || colors.backgroundHover\n }, getIconFillOrOutlineStyles({\n outline: false\n })),\n ':focus-visible': borderFocusStyles[':focus-visible']\n }, p.disabled && {\n color: v.foregroundDisabled || colors.foregroundDisabled1,\n backgroundColor: v.backgroundDisabled,\n cursor: 'default',\n pointerEvents: 'none',\n ':hover': {// empty to overwrite all existing hover styles\n }\n });\n }\n};\n//# sourceMappingURL=toolbarItemStyles.js.map\n","import { getColorScheme } from '../../colors';\nexport var toolbarMenuStyles = {\n root: function root(_ref) {\n var v = _ref.variables;\n var colors = getColorScheme(v.colorScheme);\n return {\n display: 'flex',\n flexDirection: 'column',\n listStyleType: 'none',\n margin: 0,\n padding: v.menuPadding,\n backgroundColor: v.menuBackground || colors.background,\n boxShadow: v.menuBoxShadow,\n borderStyle: 'solid',\n borderColor: v.menuBorder || colors.border,\n borderWidth: v.menuBorderWidth,\n borderRadius: v.menuBorderRadius,\n maxWidth: v.menuMaxWidth,\n zIndex: v.overlayZIndex\n };\n }\n};\n//# sourceMappingURL=toolbarMenuStyles.js.map\n","import { getColorScheme } from '../../colors';\nexport var toolbarMenuDividerStyles = {\n root: function root(_ref) {\n var v = _ref.variables;\n var colors = getColorScheme(v.colorScheme);\n return {\n borderTop: \"1px solid \" + (v.menuDividerBorder || colors.border),\n margin: v.menuDividerMargin,\n alignSelf: 'stretch'\n };\n }\n};\n//# sourceMappingURL=toolbarMenuDividerStyles.js.map\n","export var submenuIndicatorUrl = function submenuIndicatorUrl(color) {\n return \"url(\\\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' role='presentation' fill='\" + encodeURIComponent(color) + \"' focusable='false' viewBox='8 8 16 16'%3E%3Cpath d='M19.49,16a.91.91,0,0,1-.29.7l-5,5a1,1,0,0,1-.71.3,1,1,0,0,1-1-1,1,1,0,0,1,.29-.7L17.08,16l-4.3-4.29a1,1,0,0,1-.29-.71,1,1,0,0,1,1.71-.71l5,5A1,1,0,0,1,19.49,16Z' /%3E%3C/svg%3E\\\")\";\n};\n//# sourceMappingURL=submenuIndicatorUrl.js.map\n","export var activeIndicatorUrl = function activeIndicatorUrl(color) {\n return \"url(\\\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' role='presentation' fill='\" + encodeURIComponent(color) + \"' focusable='false' view-box='8 8 16 16'%3E%3Cg%3E%3Cpath d='M23.5 11.875a.968.968 0 0 1-.289.711l-8.25 8.25c-.192.193-.43.289-.711.289s-.519-.096-.711-.289l-4.75-4.75a.965.965 0 0 1-.289-.711c0-.125.027-.25.082-.375s.129-.234.223-.328a.953.953 0 0 1 .695-.297c.135 0 .266.025.391.074.125.05.231.121.32.215l4.039 4.047 7.539-7.547a.886.886 0 0 1 .32-.215c.125-.049.255-.074.391-.074a1.004 1.004 0 0 1 .922.625.97.97 0 0 1 .078.375z' /%3E%3C/g%3E%3C/svg%3E\\\")\";\n};\n//# sourceMappingURL=activeIndicatorUrl.js.map\n","import { compose } from '@fluentui/react-bindings';\nimport { commonPropTypes } from '../../utils';\nimport { Box } from '../Box/Box';\nexport var toolbarMenuItemSubmenuIndicatorClassName = 'ui-toolbar__menuitemsubmenuindicator';\n/**\n * A ToolbarMenuItemSubmenuIndicator allows a user to have a dedicated component that can be targeted from the theme.\n */\n\nexport var ToolbarMenuItemSubmenuIndicator = /*#__PURE__*/function () {\n var ToolbarMenuItemSubmenuIndicator = compose(Box, {\n className: toolbarMenuItemSubmenuIndicatorClassName,\n displayName: 'ToolbarMenuItemSubmenuIndicator',\n mapPropsToStylesProps: function mapPropsToStylesProps(props) {\n return {\n hasContent: props.hasContent\n };\n },\n shorthandConfig: {\n mappedProp: 'content'\n },\n overrideStyles: true\n });\n ToolbarMenuItemSubmenuIndicator.defaultProps = {\n as: 'span'\n };\n ToolbarMenuItemSubmenuIndicator.propTypes = commonPropTypes.createCommon();\n return ToolbarMenuItemSubmenuIndicator;\n}();\n//# sourceMappingURL=ToolbarMenuItemSubmenuIndicator.js.map\n","import { compose } from '@fluentui/react-bindings';\nimport { commonPropTypes } from '../../utils';\nimport { Box } from '../Box/Box';\nexport var toolbarMenuItemActiveIndicatorClassName = 'ui-toolbar__menuitemactiveindicator';\n/**\n * A ToolbarMenuItemActiveIndicator allows a user to have a dedicated component that can be targeted from the theme.\n */\n\nexport var ToolbarMenuItemActiveIndicator = /*#__PURE__*/function () {\n var ToolbarMenuItemActiveIndicator = compose(Box, {\n className: toolbarMenuItemActiveIndicatorClassName,\n displayName: 'ToolbarMenuItemActiveIndicator',\n shorthandConfig: {\n mappedProp: 'content'\n },\n overrideStyles: true\n });\n ToolbarMenuItemActiveIndicator.defaultProps = {\n as: 'span'\n };\n ToolbarMenuItemActiveIndicator.propTypes = commonPropTypes.createCommon();\n return ToolbarMenuItemActiveIndicator;\n}();\n//# sourceMappingURL=ToolbarMenuItemActiveIndicator.js.map\n","import { getColorScheme } from '../../colors';\nimport { getBorderFocusStyles } from '../../getBorderFocusStyles';\nimport { submenuIndicatorUrl } from './submenuIndicatorUrl';\nimport { activeIndicatorUrl } from './activeIndicatorUrl';\nimport { toolbarMenuItemSubmenuIndicatorClassName } from '../../../../components/Toolbar/ToolbarMenuItemSubmenuIndicator';\nimport { toolbarMenuItemActiveIndicatorClassName } from '../../../../components/Toolbar/ToolbarMenuItemActiveIndicator';\nexport var toolbarMenuItemStyles = {\n root: function root(_ref) {\n var _hover, _ref2;\n\n var p = _ref.props,\n v = _ref.variables,\n siteVariables = _ref.theme.siteVariables;\n var colors = getColorScheme(v.colorScheme);\n var borderFocusStyles = getBorderFocusStyles({\n variables: siteVariables,\n borderRadius: 0\n });\n return Object.assign({\n position: 'relative',\n color: v.menuItemForeground || colors.foreground1,\n borderWidth: v.menuBorderWidth,\n backgroundColor: 'transparent',\n borderColor: 'transparent',\n display: 'flex',\n alignItems: 'center',\n textAlign: 'left',\n width: '100%',\n maxWidth: '100%',\n padding: v.menuItemPadding,\n cursor: 'pointer',\n minHeight: v.itemHeight,\n lineHeight: v.lineHeightBase,\n ':focus': {\n outline: 0\n },\n ':hover': (_hover = {\n color: v.menuItemForegroundHover || colors.menuItemForegroundHover,\n backgroundColor: v.menuItemBackgroundHover || colors.menuItemBackgroundHover\n }, _hover[\"& .\" + toolbarMenuItemSubmenuIndicatorClassName] = {\n backgroundImage: submenuIndicatorUrl(v.menuItemForegroundHover || colors.menuItemForegroundHover)\n }, _hover[\"& .\" + toolbarMenuItemActiveIndicatorClassName] = {\n backgroundImage: activeIndicatorUrl(v.menuItemForegroundHover || colors.menuItemForegroundHover)\n }, _hover),\n ':focus-visible': borderFocusStyles[':focus-visible']\n }, p.disabled && (_ref2 = {\n cursor: 'default',\n color: v.menuItemForegroundDisabled || colors.foregroundDisabled1,\n backgroundColor: v.menuItemBackgroundDisabled\n }, _ref2[\"& .\" + toolbarMenuItemSubmenuIndicatorClassName] = {\n backgroundImage: submenuIndicatorUrl(v.menuItemForegroundDisabled || colors.foregroundDisabled1)\n }, _ref2[\"& .\" + toolbarMenuItemActiveIndicatorClassName] = {\n backgroundImage: activeIndicatorUrl(v.menuItemForegroundDisabled || colors.foregroundDisabled1)\n }, _ref2[':hover'] = {// empty to overwrite all existing hover styles\n }, _ref2));\n },\n wrapper: function wrapper() {\n return {\n display: 'block'\n };\n }\n};\n//# sourceMappingURL=toolbarMenuItemStyles.js.map\n","import { pxToRem } from '../../../../utils';\nexport var toolbarMenuItemIconStyles = {\n root: function root(_ref) {\n var p = _ref.props;\n return Object.assign({}, p.hasContent && {\n marginRight: pxToRem(10),\n marginTop: pxToRem(3),\n display: 'flex',\n alignSelf: 'start'\n });\n }\n};\n//# sourceMappingURL=toolbarMenuItemIconStyles.js.map\n","import { getColorScheme } from '../../colors';\nimport { pxToRem } from '../../../../utils';\nimport { submenuIndicatorUrl } from './submenuIndicatorUrl';\nexport var toolbarMenuItemSubmenuIndicatorStyles = {\n root: function root(_ref) {\n var v = _ref.variables,\n rtl = _ref.rtl;\n var colors = getColorScheme(v.colorScheme);\n return Object.assign({\n backgroundImage: submenuIndicatorUrl(v.menuItemForeground || colors.foreground1),\n backgroundPosition: 'center',\n backgroundRepeat: 'no-repeat'\n }, rtl && {\n transform: \"scaleX(-1)\"\n }, {\n width: pxToRem(16),\n height: '100%',\n position: 'absolute',\n right: pxToRem(7),\n top: 0\n });\n }\n};\n//# sourceMappingURL=toolbarMenuItemSubmenuIndicatorStyles.js.map\n","import { getColorScheme } from '../../colors';\nimport { pxToRem } from '../../../../utils';\nimport { activeIndicatorUrl } from './activeIndicatorUrl';\nexport var toolbarMenuItemActiveIndicatorStyles = {\n root: function root(_ref) {\n var v = _ref.variables;\n var colors = getColorScheme(v.colorScheme);\n return {\n backgroundImage: activeIndicatorUrl(v.menuItemForeground || colors.foreground1),\n backgroundPosition: 'center',\n backgroundRepeat: 'no-repeat',\n width: pxToRem(24),\n height: '100%',\n position: 'absolute',\n right: pxToRem(7)\n };\n }\n};\n//# sourceMappingURL=toolbarMenuItemActiveIndicatorStyles.js.map\n","export var toolbarMenuRadioGroupStyles = {\n root: function root() {\n return {\n padding: 0\n };\n }\n};\n//# sourceMappingURL=toolbarMenuRadioGroupStyles.js.map\n","export var toolbarMenuRadioGroupWrapperStyles = {\n root: function root() {\n return {};\n }\n};\n//# sourceMappingURL=toolbarMenuRadioGroupWrapperStyles.js.map\n","import { pxToRem } from '../../../../utils';\nexport var treeStyles = {\n root: function root() {\n return {\n display: 'block',\n paddingLeft: \"\" + pxToRem(10)\n };\n }\n};\n//# sourceMappingURL=treeStyles.js.map\n","import _invoke from \"lodash/invoke\";\nimport { treeTitleBehavior } from '@fluentui/accessibility';\nimport { getElementType, useUnhandledProps, useAccessibility, useStyles, useFluentContext, useTelemetry } from '@fluentui/react-bindings';\nimport { Box } from '../Box/Box';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { childrenExist, createShorthandFactory, commonPropTypes, rtlTextContainer, shouldPreventDefaultOnKeyDown } from '../../utils';\nimport { TreeContext } from './context';\nexport var treeTitleClassName = 'ui-tree__title';\nexport var treeTitleSlotClassNames = {\n indicator: treeTitleClassName + \"__selection-indicator\"\n};\n/**\n * A TreeTitle renders a title of TreeItem.\n */\n\nexport var TreeTitle = /*#__PURE__*/function () {\n var TreeTitle = function TreeTitle(props) {\n var context = useFluentContext();\n\n var _useTelemetry = useTelemetry(TreeTitle.displayName, context.telemetry),\n setStart = _useTelemetry.setStart,\n setEnd = _useTelemetry.setEnd;\n\n setStart();\n\n var _React$useContext = React.useContext(TreeContext),\n focusItemById = _React$useContext.focusItemById,\n toggleItemActive = _React$useContext.toggleItemActive,\n toggleItemSelect = _React$useContext.toggleItemSelect;\n\n var accessibility = props.accessibility,\n id = props.id,\n children = props.children,\n className = props.className,\n content = props.content,\n design = props.design,\n hasSubtree = props.hasSubtree,\n level = props.level,\n index = props.index,\n styles = props.styles,\n treeSize = props.treeSize,\n variables = props.variables,\n selectionIndicator = props.selectionIndicator,\n disabled = props.disabled,\n selected = props.selected,\n selectable = props.selectable,\n expanded = props.expanded,\n indeterminate = props.indeterminate;\n var getA11Props = useAccessibility(accessibility, {\n debugName: TreeTitle.displayName,\n actionHandlers: {\n performClick: function performClick(e) {\n if (shouldPreventDefaultOnKeyDown(e)) {\n e.preventDefault();\n }\n\n e.stopPropagation();\n handleClick(e);\n },\n focusParent: function focusParent(e) {\n // allow bubbling up to parent treeItem\n focusItemById(props.parent);\n }\n },\n mapPropsToBehavior: function mapPropsToBehavior() {\n return {\n hasSubtree: hasSubtree,\n level: level,\n index: index,\n treeSize: treeSize,\n selected: selected,\n selectable: selectable\n };\n },\n rtl: context.rtl\n });\n\n var _useStyles = useStyles(TreeTitle.displayName, {\n className: treeTitleClassName,\n mapPropsToStyles: function mapPropsToStyles() {\n return {\n selected: selected,\n disabled: disabled,\n selectable: selectable,\n indeterminate: indeterminate,\n level: level,\n showIndicator: selectable && (hasSubtree && expanded || selected || indeterminate)\n };\n },\n mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n return {\n className: className,\n design: design,\n styles: styles,\n variables: variables\n };\n },\n rtl: context.rtl\n }),\n classes = _useStyles.classes,\n resolvedStyles = _useStyles.styles;\n\n var ElementType = getElementType(props);\n var unhandledProps = useUnhandledProps(TreeTitle.handledProps, props);\n\n var handleClick = function handleClick(e) {\n if (hasSubtree) {\n toggleItemActive(e, id);\n } else {\n toggleItemSelect(e, id);\n }\n\n _invoke(props, 'onClick', e, props);\n };\n\n var selectionIndicatorOverrideProps = function selectionIndicatorOverrideProps(predefinedProps) {\n return {\n onClick: function onClick(e) {\n e.stopPropagation(); // otherwise onClick on title will also be executed\n\n if (selectable) {\n toggleItemSelect(e, id);\n }\n\n _invoke(predefinedProps, 'onClick', e);\n }\n };\n };\n\n var selectIndicator = Box.create(selectionIndicator, {\n defaultProps: function defaultProps() {\n return Object.assign({\n as: 'span',\n selected: selected\n }, getA11Props('indicator', {\n className: treeTitleSlotClassNames.indicator,\n styles: resolvedStyles.selectionIndicator\n }));\n },\n overrideProps: selectionIndicatorOverrideProps\n });\n var element = /*#__PURE__*/React.createElement(ElementType, getA11Props('root', Object.assign({\n className: classes.root,\n onClick: handleClick,\n selected: selected\n }, rtlTextContainer.getAttributes({\n forElements: [children, content]\n }), unhandledProps)), childrenExist(children) ? children : content, selectIndicator);\n setEnd();\n return element;\n };\n\n TreeTitle.displayName = 'TreeTitle';\n TreeTitle.propTypes = Object.assign({}, commonPropTypes.createCommon(), {\n id: PropTypes.string,\n hasSubtree: PropTypes.bool,\n index: PropTypes.number,\n level: PropTypes.number,\n onClick: PropTypes.func,\n expanded: PropTypes.bool,\n selected: PropTypes.bool,\n selectable: PropTypes.bool,\n treeSize: PropTypes.number,\n selectionIndicator: customPropTypes.shorthandAllowingChildren,\n indeterminate: PropTypes.bool,\n parent: PropTypes.string\n });\n TreeTitle.defaultProps = {\n as: 'a',\n selectionIndicator: {},\n accessibility: treeTitleBehavior\n };\n TreeTitle.handledProps = Object.keys(TreeTitle.propTypes);\n TreeTitle.create = createShorthandFactory({\n Component: TreeTitle,\n mappedProp: 'content'\n });\n return TreeTitle;\n}();\n//# sourceMappingURL=TreeTitle.js.map\n","import { getBorderFocusStyles } from '../../getBorderFocusStyles';\nimport { treeTitleClassName, treeTitleSlotClassNames } from '../../../../components/Tree/TreeTitle';\nexport var treeItemStyles = {\n root: function root(_ref) {\n var _ref2, _ref3, _Object$assign;\n\n var siteVariables = _ref.theme.siteVariables,\n p = _ref.props;\n var borderFocusStyles = getBorderFocusStyles({\n variables: siteVariables\n });\n return {\n listStyleType: 'none',\n ':focus': Object.assign({}, p.selectable && (_ref2 = {}, _ref2[\"& .\" + treeTitleSlotClassNames.indicator] = {\n display: 'inline-block'\n }, _ref2), borderFocusStyles[':focus']),\n ':focus-visible': Object.assign({\n outline: 0\n }, p.selectable && (_ref3 = {}, _ref3[\"& .\" + treeTitleSlotClassNames.indicator] = {\n display: 'inline-block'\n }, _ref3), (_Object$assign = {}, _Object$assign[\"> .\" + treeTitleClassName] = Object.assign({\n position: 'relative'\n }, borderFocusStyles[':focus-visible']), _Object$assign))\n };\n }\n};\n//# sourceMappingURL=treeItemStyles.js.map\n","import { getBorderFocusStyles } from '../../getBorderFocusStyles';\nimport { treeTitleSlotClassNames } from '../../../../components/Tree/TreeTitle';\nimport { pxToRem } from '../../../../utils';\nimport { checkboxIndicatorUrl } from '../Checkbox/checkboxIndicatorUrl';\nimport { checkboxIndicatorIndeterminatedUrl } from './checkboxIndicatorIndeterminatedUrl';\nexport var treeTitleStyles = {\n root: function root(_ref) {\n var _ref2, _ref3, _ref4;\n\n var p = _ref.props,\n v = _ref.variables,\n siteVariables = _ref.theme.siteVariables;\n var borderFocusStyles = getBorderFocusStyles({\n variables: siteVariables\n });\n return Object.assign({\n padding: v.padding,\n cursor: 'pointer',\n color: v.color,\n position: 'relative',\n marginLeft: pxToRem(1 + (p.level - 1) * 10),\n paddingRight: v.paddingRight,\n paddingLeft: v.paddingLeft\n }, p.selectable && {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center'\n }, {\n ':focus': Object.assign({}, p.selectable && (_ref2 = {}, _ref2[\"> .\" + treeTitleSlotClassNames.indicator] = {\n display: 'inline-block'\n }, _ref2), borderFocusStyles[':focus']),\n ':focus-visible': borderFocusStyles[':focus-visible'],\n ':hover': Object.assign({}, p.selectable && (_ref3 = {\n background: v.hoverBackground\n }, _ref3[\"> .\" + treeTitleSlotClassNames.indicator] = {\n display: 'inline-block'\n }, _ref3))\n }, p.showIndicator && (_ref4 = {}, _ref4[\"> .\" + treeTitleSlotClassNames.indicator] = {\n display: 'inline-block'\n }, _ref4));\n },\n selectionIndicator: function selectionIndicator(_ref5) {\n var p = _ref5.props,\n v = _ref5.variables;\n return Object.assign({\n display: 'none',\n float: 'right',\n verticalAlign: 'middle',\n boxShadow: 'unset',\n width: pxToRem(16),\n height: pxToRem(16),\n borderColor: v.borderColor,\n borderStyle: v.borderStyle,\n borderRadius: v.borderRadius,\n borderWidth: v.borderWidth,\n color: v.indicatorColor,\n margin: v.selectionIndicatorMargin,\n padding: v.padding,\n userSelect: 'none',\n backgroundImage: checkboxIndicatorUrl(v.indicatorColor, v.background),\n backgroundPosition: 'center',\n backgroundRepeat: 'no-repeat'\n }, p.selected && {\n borderColor: v.checkedBorderColor,\n backgroundImage: checkboxIndicatorUrl(v.checkedIndicatorColor, v.checkedBackground)\n }, p.indeterminate && {\n borderColor: v.checkedBorderColor,\n backgroundImage: checkboxIndicatorIndeterminatedUrl(v.checkedIndicatorColor, v.checkedBackground)\n }, p.disabled && {\n background: v.disabledBackground,\n borderColor: v.disabledBorderColor\n }, p.disabled && p.selected && {\n color: v.disabledCheckedIndicatorColor,\n borderColor: v.disabledBackgroundChecked,\n backgroundImage: checkboxIndicatorUrl(v.disabledCheckedIndicatorColor, v.disabledBackgroundChecked)\n });\n }\n};\n//# sourceMappingURL=treeTitleStyles.js.map\n","export var checkboxIndicatorIndeterminatedUrl = function checkboxIndicatorIndeterminatedUrl(color, backgroundColor) {\n return \"url(\\\"data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' role='presentation' style='background-color: \" + escape(backgroundColor) + \"; padding: 2px;' focusable='false' viewBox='8 8 22.5 22.5'%3E%3Cg%3E%3Cpath fill='\" + escape(color) + \"' d='M10 16v-1h12v1H10z 11.875a.968.968 0 0 1-.289.711l-8.25 8.25c-.192.193-.43.289-.711.289s-.519-.096-.711-.289l-4.75-4.75a.965.965 0 0 1-.289-.711c0-.125.027-.25.082-.375s.129-.234.223-.328a.953.953 0 0 1 .695-.297c.135 0 .266.025.391.074.125.05.231.121.32.215l4.039 4.047 7.539-7.547a.886.886 0 0 1 .32-.215c.125-.049.255-.074.391-.074a1.004 1.004 0 0 1 .922.625.97.97 0 0 1 .078.375z' /%3E%3C/g%3E%3C/svg%3E\\\")\";\n};\n//# sourceMappingURL=checkboxIndicatorIndeterminatedUrl.js.map\n","export var videoStyles = {\n root: function root(_ref) {\n var v = _ref.variables;\n return {\n display: 'inline-block',\n verticalAlign: 'middle',\n width: v.width,\n height: v.height || 'auto'\n };\n }\n};\n//# sourceMappingURL=videoStyles.js.map\n","import { getContainerStyles, getPointerStyles } from '../../getPointerStyles';\nimport { pointerSvgUrl } from '../../pointerSvgUrl';\nexport var tooltipContentStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n return Object.assign({\n display: 'none',\n position: 'absolute',\n maxWidth: v.maxWidth,\n zIndex: v.zIndex\n }, p.pointing && Object.assign({\n pointerEvents: 'all'\n }, getContainerStyles({\n placement: p.basePlacement,\n padding: v.pointerMargin\n })), p.open && {\n display: 'block'\n });\n },\n pointer: function pointer(_ref2) {\n var p = _ref2.props,\n v = _ref2.variables,\n rtl = _ref2.rtl;\n return Object.assign({\n display: 'block',\n position: 'absolute',\n width: v.pointerWidth,\n height: v.pointerHeight\n }, getPointerStyles({\n backgroundColor: v.backgroundColor,\n borderSize: v.borderSize,\n borderColor: 'transparent',\n gap: v.pointerGap,\n padding: v.pointerMargin,\n height: v.pointerHeight,\n width: v.pointerWidth,\n placement: p.basePlacement,\n rtl: rtl,\n svg: pointerSvgUrl(v.backgroundColor)\n }));\n },\n content: function content(_ref3) {\n var p = _ref3.props,\n v = _ref3.variables;\n return Object.assign({\n display: 'block',\n padding: v.padding,\n textAlign: 'left',\n color: v.color,\n background: v.backgroundColor,\n borderRadius: v.borderRadius,\n boxShadow: v.boxShadow\n }, p.pointing && {\n pointerEvents: 'all'\n });\n }\n};\n//# sourceMappingURL=tooltipContentStyles.js.map\n","export var pointerSvgUrl = function pointerSvgUrl(backgroundColor) {\n return \"url(\\\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='\" + encodeURIComponent(backgroundColor) + \"' viewBox='0 0 6 16'%3E%3Cpath d='M.708 9.527a2.002 2.002 0 0 1 0-3.055l3.284-2.78C5.324 2.562 5.991 1.332 5.991 0c0 1.002.02 15.013 0 16 0-1.333-.665-2.562-1.995-3.689L.708 9.527z' fill-rule='evenodd' clip-rule='evenodd'/%3E%3C/svg%3E%0A\\\");\";\n};\n//# sourceMappingURL=pointerSvgUrl.js.map\n","import { pxToRem } from '../../../../utils';\nexport var carouselStyles = {\n root: function root() {\n return {\n display: 'inline-block',\n position: 'relative'\n };\n },\n itemsContainerWrapper: function itemsContainerWrapper(_ref) {\n var v = _ref.variables,\n p = _ref.props;\n return Object.assign({\n display: 'flex',\n width: pxToRem(v.width),\n overflowX: 'hidden'\n }, p.shouldFocusContainer && p.isFromKeyboard && {\n border: \"1px solid \" + v.focusOuterBorderColor,\n borderRadius: v.focusOuterBorderRadius\n });\n },\n itemsContainer: function itemsContainer() {\n return {\n padding: 0,\n margin: 0,\n display: 'flex',\n listStyle: 'none',\n willChange: 'transform'\n };\n }\n};\n//# sourceMappingURL=carouselStyles.js.map\n","import { pxToRem } from '../../../../utils';\nexport var carouselItemStyles = {\n root: function root(_ref) {\n var v = _ref.variables;\n return {\n width: pxToRem(v.width),\n marginBottom: pxToRem(16),\n ':focus': {\n outline: 'none'\n }\n };\n }\n};\n//# sourceMappingURL=carouselItemStyles.js.map\n","import { pxToRem } from '../../../../utils';\nimport { getColorScheme } from '../../colors';\nexport var carouselNavigationStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n var iconOnly = p.iconOnly,\n primary = p.primary,\n vertical = p.vertical,\n thumbnails = p.thumbnails;\n var colors = getColorScheme(v.colorScheme, null, primary);\n return Object.assign({\n display: 'flex',\n minHeight: pxToRem(24),\n margin: 0,\n padding: 0,\n color: v.color,\n backgroundColor: v.backgroundColor || 'inherit',\n listStyleType: 'none',\n justifyContent: 'center'\n }, !vertical && thumbnails && {\n justifyContent: 'start',\n transform: \"translateX(\" + pxToRem(v.width / 2 - v.thumbnailWidth / 2 - +p.activeIndex * v.thumbnailWidth) + \")\",\n transition: 'transform .5s ease'\n }, iconOnly && {\n alignItems: 'center'\n }, vertical && Object.assign({\n flexDirection: 'column',\n backgroundColor: v.verticalBackgroundColor,\n width: 'fit-content',\n padding: pxToRem(8) + \" 0\"\n }, iconOnly && {\n display: 'inline-block',\n width: 'auto'\n }), !iconOnly && !vertical && {\n // primary has hardcoded grey border color\n border: v.borderWidth + \" solid \" + (primary ? v.primaryBorderColor : v.borderColor || colors.border),\n borderRadius: pxToRem(4)\n });\n }\n};\n//# sourceMappingURL=carouselNavigationStyles.js.map\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _invoke from \"lodash/invoke\";\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport { tabBehavior } from '@fluentui/accessibility';\nimport { childrenExist, createShorthandFactory, commonPropTypes, rtlTextContainer } from '../../utils';\nimport { Box } from '../Box/Box';\nimport { useTelemetry, getElementType, useFluentContext, useUnhandledProps, useAccessibility, useStyles } from '@fluentui/react-bindings';\nexport var carouselNavigationItemClassName = 'ui-carousel__navigationitem';\nexport var carouselNavigationItemSlotClassNames = {\n indicator: carouselNavigationItemClassName + \"__indicator\",\n content: carouselNavigationItemClassName + \"__content\"\n};\n/**\n * A CarouselItem is an actionable item within a Carousel.\n */\n\nexport var CarouselNavigationItem = /*#__PURE__*/function () {\n var CarouselNavigationItem = function CarouselNavigationItem(props) {\n var context = useFluentContext();\n\n var _useTelemetry = useTelemetry(CarouselNavigationItem.displayName, context.telemetry),\n setStart = _useTelemetry.setStart,\n setEnd = _useTelemetry.setEnd;\n\n setStart();\n var children = props.children,\n thumbnails = props.thumbnails,\n vertical = props.vertical,\n active = props.active,\n content = props.content,\n iconOnly = props.iconOnly,\n primary = props.primary,\n indicator = props.indicator,\n className = props.className,\n design = props.design,\n styles = props.styles,\n variables = props.variables;\n var ElementType = getElementType(props);\n var unhandledProps = useUnhandledProps(CarouselNavigationItem.handledProps, props);\n var getA11yProps = useAccessibility(props.accessibility, {\n debugName: CarouselNavigationItem.displayName,\n actionHandlers: {\n performClick: function performClick(event) {\n return !event.defaultPrevented && handleClick(event);\n }\n },\n mapPropsToBehavior: function mapPropsToBehavior() {\n return {\n active: active\n };\n }\n });\n\n var _useStyles = useStyles(CarouselNavigationItem.displayName, {\n className: carouselNavigationItemClassName,\n mapPropsToStyles: function mapPropsToStyles() {\n return {\n thumbnails: thumbnails,\n vertical: vertical,\n active: active,\n hasContent: !!content,\n iconOnly: iconOnly,\n primary: primary,\n hasIndicator: !!indicator\n };\n },\n mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n return {\n className: className,\n design: design,\n styles: styles,\n variables: variables\n };\n },\n rtl: context.rtl\n }),\n classes = _useStyles.classes,\n resolvedStyles = _useStyles.styles;\n\n var renderContent = function renderContent() {\n return content ? Box.create(content, {\n defaultProps: function defaultProps() {\n return {\n as: 'span',\n className: carouselNavigationItemSlotClassNames.content,\n styles: resolvedStyles.content\n };\n }\n }) : Box.create(indicator, {\n defaultProps: function defaultProps() {\n return {\n className: carouselNavigationItemSlotClassNames.indicator,\n styles: resolvedStyles.indicator\n };\n }\n });\n };\n\n var handleClick = function handleClick(e) {\n _invoke(props, 'onClick', e, props);\n };\n\n var handleBlur = function handleBlur(e) {\n _invoke(props, 'onBlur', e, props);\n };\n\n var handleFocus = function handleFocus(e) {\n _invoke(props, 'onFocus', e, props);\n };\n\n var element = /*#__PURE__*/React.createElement(ElementType, _extends({}, getA11yProps('root', Object.assign({\n className: classes.root,\n onBlur: handleBlur,\n onFocus: handleFocus,\n onClick: handleClick\n }, unhandledProps)), rtlTextContainer.getAttributes({\n forElements: [children]\n })), childrenExist(children) ? children : renderContent());\n setEnd();\n return element;\n };\n\n CarouselNavigationItem.displayName = 'CarouselNavigationItem';\n CarouselNavigationItem.propTypes = Object.assign({}, commonPropTypes.createCommon(), {\n active: PropTypes.bool,\n indicator: customPropTypes.shorthandAllowingChildren,\n iconOnly: PropTypes.bool,\n index: PropTypes.number,\n onClick: PropTypes.func,\n primary: customPropTypes.every([customPropTypes.disallow(['secondary']), PropTypes.bool]),\n secondary: customPropTypes.every([customPropTypes.disallow(['primary']), PropTypes.bool]),\n vertical: PropTypes.bool,\n thumbnails: PropTypes.bool\n });\n CarouselNavigationItem.handledProps = Object.keys(CarouselNavigationItem.propTypes);\n CarouselNavigationItem.defaultProps = {\n accessibility: tabBehavior,\n as: 'li',\n indicator: {}\n };\n CarouselNavigationItem.create = createShorthandFactory({\n Component: CarouselNavigationItem,\n mappedArrayProp: 'content'\n });\n return CarouselNavigationItem;\n}();\n//# sourceMappingURL=CarouselNavigationItem.js.map\n","import { pxToRem } from '../../../../utils';\nimport { carouselNavigationItemSlotClassNames } from '../../../../components/Carousel/CarouselNavigationItem';\nimport { getColorScheme } from '../../colors';\nimport { getIconFillOrOutlineStyles } from '../../getIconFillOrOutlineStyles';\nexport var carouselNavigationItemStyles = {\n root: function root(_ref) {\n var _Object$assign;\n\n var p = _ref.props,\n v = _ref.variables;\n var active = p.active,\n iconOnly = p.iconOnly,\n primary = p.primary,\n vertical = p.vertical,\n thumbnails = p.thumbnails;\n var colors = getColorScheme(v.colorScheme, null, primary);\n return Object.assign({\n color: 'inherit',\n display: 'block',\n cursor: 'pointer',\n whiteSpace: 'nowrap'\n }, iconOnly && {\n border: pxToRem(2) + \" solid transparent\"\n }, vertical ? {\n padding: v.verticalItemPadding\n } : {\n padding: v.horizontalPadding\n }, iconOnly && {\n margin: pxToRem(1),\n padding: pxToRem(5),\n // padding works this way to get the border to only be 30x30px on focus which is the current design\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center'\n }, active && iconOnly && Object.assign({\n color: v.iconOnlyColorActive\n }, getIconFillOrOutlineStyles({\n outline: false\n })), {\n // focus styles\n ':focus-visible': Object.assign({}, iconOnly && Object.assign({\n borderRadius: '50%'\n }, thumbnails && {\n borderRadius: '0'\n }, {\n borderColor: v.iconOnlyColorActive\n }, getIconFillOrOutlineStyles({\n outline: false\n })))\n }, iconOnly && primary && {\n color: 'inherit',\n borderColor: v.borderColorActive || colors.borderActive\n }, {\n ':focus': {\n outline: 0\n },\n // hover styles\n ':hover': Object.assign((_Object$assign = {\n color: 'inherit'\n }, _Object$assign[\"& .\" + carouselNavigationItemSlotClassNames.indicator] = {\n background: v.indicatorBackgroundColor\n }, _Object$assign), iconOnly && getIconFillOrOutlineStyles({\n outline: false\n }), primary && iconOnly && {\n color: 'inherit'\n })\n });\n },\n content: function content(_ref2) {\n var p = _ref2.props;\n var widthAdjust = p.hasIndicator ? 26 : 0;\n return Object.assign({\n whiteSpace: 'normal',\n lineHeight: 1.5,\n marginTop: pxToRem(-4),\n marginBottom: pxToRem(-4),\n display: 'inline-block'\n }, p.thumbnails && Object.assign({\n width: pxToRem(60)\n }, !p.active && {\n opacity: 0.4\n }), p.vertical && {\n width: 'max-content',\n minWidth: pxToRem(46 - widthAdjust),\n maxWidth: pxToRem(262 - widthAdjust),\n marginRight: pxToRem(16)\n });\n },\n indicator: function indicator(_ref3) {\n var p = _ref3.props,\n v = _ref3.variables;\n return Object.assign({\n borderRadius: '50%',\n width: pxToRem(7),\n height: pxToRem(7),\n background: v.indicatorBackgroundColor\n }, p.active && {\n background: v.indicatorActiveBackgroundColor\n }, p.hasContent && {\n marginRight: pxToRem(10)\n }, !p.iconOnly && {\n // reduce margins so text has the dominant influence on the vertical height\n marginTop: 0,\n marginBottom: pxToRem(-8),\n verticalAlign: 'top'\n });\n }\n};\n//# sourceMappingURL=carouselNavigationItemStyles.js.map\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _invoke from \"lodash/invoke\";\nimport { buttonBehavior } from '@fluentui/accessibility';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { childrenExist, createShorthandFactory, commonPropTypes, rtlTextContainer } from '../../utils';\nimport { getElementType, useFluentContext, useAccessibility, useStyles, useTelemetry, useUnhandledProps } from '@fluentui/react-bindings';\nimport { Box } from '../Box/Box';\nexport var carouselPaddleClassName = 'ui-carousel__paddle';\nexport var carouselPaddleSlotClassNames = {\n content: carouselPaddleClassName + \"__content\"\n};\n/**\n * A CarouselPaddle allows users to customize the paddles inside the Carousel component.\n *\n * @accessibility\n * Implements [ARIA Button](https://www.w3.org/TR/wai-aria-practices-1.1/#button) design pattern.\n */\n\nexport var CarouselPaddle = /*#__PURE__*/function () {\n var CarouselPaddle = function CarouselPaddle(props) {\n var context = useFluentContext();\n\n var _useTelemetry = useTelemetry(CarouselPaddle.displayName, context.telemetry),\n setStart = _useTelemetry.setStart,\n setEnd = _useTelemetry.setEnd;\n\n setStart();\n var accessibility = props.accessibility,\n as = props.as,\n children = props.children,\n className = props.className,\n content = props.content,\n disabled = props.disabled,\n design = props.design,\n hidden = props.hidden,\n next = props.next,\n previous = props.previous,\n styles = props.styles,\n variables = props.variables;\n var hasChildren = childrenExist(children);\n var getA11Props = useAccessibility(accessibility, {\n debugName: CarouselPaddle.displayName,\n mapPropsToBehavior: function mapPropsToBehavior() {\n return {\n as: String(as),\n disabled: disabled\n };\n },\n actionHandlers: {\n performClick: function performClick(event) {\n event.preventDefault();\n handleClick(event);\n }\n },\n rtl: context.rtl\n });\n\n var _useStyles = useStyles(CarouselPaddle.displayName, {\n className: carouselPaddleClassName,\n mapPropsToStyles: function mapPropsToStyles() {\n return {\n disabled: disabled,\n hidden: hidden,\n next: next,\n previous: previous\n };\n },\n mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n return {\n className: className,\n design: design,\n styles: styles,\n variables: variables\n };\n },\n rtl: context.rtl\n }),\n classes = _useStyles.classes,\n resolvedStyles = _useStyles.styles;\n\n var unhandledProps = useUnhandledProps(CarouselPaddle.handledProps, props);\n var ElementType = getElementType(props);\n\n var handleClick = function handleClick(e) {\n if (disabled) {\n e.preventDefault();\n return;\n }\n\n _invoke(props, 'onClick', e, props);\n };\n\n var result = /*#__PURE__*/React.createElement(ElementType, _extends({}, rtlTextContainer.getAttributes({\n forElements: [children]\n }), getA11Props('root', Object.assign({\n onClick: handleClick,\n disabled: disabled,\n className: classes.root\n }, unhandledProps))), hasChildren ? children : Box.create(content, {\n defaultProps: function defaultProps() {\n return getA11Props('content', {\n as: 'span',\n className: carouselPaddleSlotClassNames.content,\n styles: resolvedStyles.content\n });\n }\n }));\n setEnd();\n return result;\n };\n\n CarouselPaddle.defaultProps = {\n as: 'button',\n accessibility: buttonBehavior,\n content: {}\n };\n CarouselPaddle.displayName = 'CarouselPaddle';\n CarouselPaddle.propTypes = Object.assign({}, commonPropTypes.createCommon({\n content: 'shorthand'\n }), {\n disabled: PropTypes.bool,\n hidden: PropTypes.bool,\n onClick: PropTypes.func,\n next: customPropTypes.every([customPropTypes.disallow(['previous']), PropTypes.bool]),\n previous: customPropTypes.every([customPropTypes.disallow(['next']), PropTypes.bool])\n });\n CarouselPaddle.handledProps = Object.keys(CarouselPaddle.propTypes);\n CarouselPaddle.create = createShorthandFactory({\n Component: CarouselPaddle,\n mappedProp: 'content'\n });\n return CarouselPaddle;\n}();\n//# sourceMappingURL=CarouselPaddle.js.map\n","export var paddleIndicatorUrl = function paddleIndicatorUrl(color, next) {\n return next ? \"url(\\\"data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' role='presentation' focusable='false' viewBox='8 8 16 16'%3E%3Cg%3E%3Cpath fill='\" + encodeURIComponent(color) + \"' d='M21.5 15.97c0 .28-.1.52-.29.71l-7 7c-.19.19-.43.29-.71.29-.14 0-.26-.03-.38-.08s-.23-.13-.32-.22-.16-.2-.22-.32a1.036 1.036 0 0 1-.01-.77c.05-.12.12-.23.21-.32l6.3-6.29-6.3-6.29a.85.85 0 0 1-.21-.32c-.05-.13-.07-.26-.07-.39a.995.995 0 0 1 .3-.7c.09-.09.2-.16.32-.22.12-.05.24-.08.38-.08.28 0 .52.1.71.29l7 7c.19.19.29.43.29.71z' /%3E%3C/g%3E%3C/svg%3E\\\")\" : \"url(\\\"data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' role='presentation' focusable='false' viewBox='8 8 16 16'%3E%3Cg%3E%3Cpath fill='\" + encodeURIComponent(color) + \"' d='M19.5 8.97c0 .14-.03.27-.07.39-.05.12-.12.23-.21.32l-6.3 6.29 6.3 6.29c.09.09.17.2.21.32a1.036 1.036 0 0 1-.01.77c-.05.12-.13.23-.22.32s-.2.16-.32.22a.995.995 0 0 1-1.09-.21l-7-7c-.19-.19-.29-.43-.29-.71s.1-.52.29-.71l7-7a.995.995 0 0 1 1.09-.21c.12.06.23.13.32.22s.16.2.22.32c.05.12.08.25.08.38z' /%3E%3C/g%3E%3C/svg%3E\\\")\";\n};\n//# sourceMappingURL=paddleIndicatorUrl.js.map\n","import { carouselPaddleSlotClassNames } from '../../../../components/Carousel/CarouselPaddle';\nimport { getBorderFocusStyles } from '../../getBorderFocusStyles';\nimport { getIconFillOrOutlineStyles } from '../../getIconFillOrOutlineStyles';\nimport { paddleIndicatorUrl } from './paddleIndicatorUrl';\nimport { faster, ultraFast } from '../../animations/durations';\nimport { pxToRem } from '../../../../utils';\n\nvar getIndicatorStyles = function getIndicatorStyles(color, next, size) {\n return {\n width: size,\n height: size,\n backgroundImage: paddleIndicatorUrl(color, next),\n backgroundRepeat: 'no-repeat'\n };\n};\n\nexport var carouselPaddleStyles = {\n root: function root(_ref) {\n var _Object$assign;\n\n var p = _ref.props,\n v = _ref.variables,\n theme = _ref.theme;\n var siteVariables = theme.siteVariables;\n var borderWidth = siteVariables.borderWidth;\n var borderFocusStyles = getBorderFocusStyles({\n variables: {\n borderRadius: v.focusBorderRadius,\n borderWidth: v.focusBorderWidth,\n focusInnerBorderColor: v.focusInnerBorderColor,\n focusOuterBorderColor: v.focusOuterBorderColor,\n zIndexes: {\n foreground: v.focusBorderZIndex\n }\n },\n borderPadding: borderWidth\n });\n return Object.assign({\n height: v.paddleHeight,\n minWidth: v.paddleHeight,\n color: v.paddleColor,\n backgroundColor: v.paddleBackgroundColor,\n borderRadius: v.paddleBorderRadius,\n border: 0,\n display: 'inline-flex',\n justifyContent: 'center',\n alignItems: 'center',\n position: 'relative',\n verticalAlign: 'middle',\n cursor: 'pointer',\n marginBottom: pxToRem(40),\n outline: 0,\n padding: 0,\n transition: faster,\n zIndex: 1\n }, p.hidden && {\n visibility: 'hidden'\n }, {\n ':hover': Object.assign({}, getIconFillOrOutlineStyles({\n outline: false\n }), (_Object$assign = {}, _Object$assign[\"& .\" + carouselPaddleSlotClassNames.content] = Object.assign({}, getIndicatorStyles(v.paddleColor, p.next, v.paddleIndicatorSize)), _Object$assign.background = v.paddleBackgroundColorHover, _Object$assign)),\n ':active': {\n transition: ultraFast,\n backgroundColor: v.paddleBackgroundColorActive\n },\n ':focus': borderFocusStyles[':focus'],\n ':focus-visible': Object.assign({}, borderFocusStyles[':focus-visible'])\n }, p.disabled && {\n cursor: 'default',\n color: v.paddleColorDisabled,\n pointerEvents: 'none',\n ':hover': {\n color: v.paddleColorDisabled\n },\n backgroundColor: v.paddleBackgroundColorDisabled\n });\n },\n content: function content(_ref2) {\n var p = _ref2.props,\n v = _ref2.variables,\n rtl = _ref2.rtl;\n return Object.assign({}, getIndicatorStyles(p.disabled ? v.paddleColorDisabled : v.paddleColor, p.next, v.paddleIndicatorSize), rtl && {\n transform: 'scaleX(-1)'\n });\n }\n};\n//# sourceMappingURL=carouselPaddleStyles.js.map\n","import { pxToRem } from '../../../../utils';\nexport var carouselPaddlesContainerStyles = {\n root: function root(_ref) {\n var v = _ref.variables;\n return {\n display: 'flex',\n width: pxToRem(v.width),\n justifyContent: 'space-between',\n alignItems: 'center',\n position: 'absolute',\n top: 0,\n right: 0,\n left: 0,\n bottom: 0\n };\n }\n};\n//# sourceMappingURL=carouselPaddlesContainerStyles.js.map\n","export var tableStyles = {\n root: function root(_ref) {\n var v = _ref.variables;\n return {\n display: 'flex',\n flexDirection: 'column',\n background: v.backgroundColor\n };\n }\n};\n//# sourceMappingURL=tableStyles.js.map\n","import { getBorderFocusStyles } from '../../getBorderFocusStyles';\nexport var tableRowStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables,\n siteVariables = _ref.theme.siteVariables;\n var borderFocusStyles = getBorderFocusStyles({\n variables: siteVariables\n });\n return Object.assign({\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n fontSize: v.bodyFontSize,\n height: v.defaultRowHeight,\n color: v.color,\n backgroundColor: v.backgroundColor,\n borderWidth: v.borderWidth,\n borderStyle: 'solid',\n borderColor: 'transparent',\n borderBottomColor: v.rowBorderColor,\n padding: v.rowPadding,\n position: 'relative',\n width: '100%',\n ':hover': {\n color: v.hoverColor,\n backgroundColor: v.backgroundHoverColor,\n borderColor: v.rowBorderHoverColor\n }\n }, borderFocusStyles, p.header && {\n fontSize: v.headerFontSize,\n ':hover': {\n color: v.color,\n backgroundColor: v.backgroundColor\n }\n }, p.compact && {\n height: v.compactRowHeight\n });\n }\n};\n//# sourceMappingURL=tableRowStyles.js.map\n","import { getBorderFocusStyles } from '../../getBorderFocusStyles';\nexport var tableCellStyles = {\n root: function root(_ref) {\n var v = _ref.variables,\n siteVariables = _ref.theme.siteVariables;\n var borderFocusStyles = getBorderFocusStyles({\n variables: siteVariables\n });\n return Object.assign({\n display: 'flex',\n flexFlow: 'row nowrap',\n flexGrow: 1,\n flexBasis: 0,\n minWidth: v.minCellWidth,\n outline: 0,\n borderWidth: v.borderWidth,\n borderStyle: 'solid',\n borderColor: 'transparent'\n }, borderFocusStyles, {\n padding: v.cellPadding,\n position: 'relative',\n height: '100%'\n });\n },\n content: function content(_ref2) {\n var p = _ref2.props;\n return Object.assign({\n alignSelf: 'center'\n }, p.truncateContent && {\n display: 'block',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap'\n });\n }\n};\n//# sourceMappingURL=tableCellStyles.js.map\n","import { cardExpandableBoxClassName } from '../../../../components/Card/CardExpandableBox';\nimport { getBorderFocusStyles } from '../../getBorderFocusStyles';\nexport var cardStyles = {\n root: function root(_ref) {\n var _ref2;\n\n var p = _ref.props,\n v = _ref.variables,\n theme = _ref.theme;\n var siteVariables = theme.siteVariables;\n var borderFocusStyles = getBorderFocusStyles({\n variables: siteVariables,\n borderRadius: v.borderRadius\n });\n return Object.assign({\n display: 'flex',\n flexDirection: 'column',\n position: 'relative',\n padding: v.padding,\n margin: v.margin,\n width: v.width,\n height: v.height,\n borderWidth: v.borderWidth,\n borderStyle: v.borderStyle,\n borderColor: v.borderColor,\n borderRadius: v.borderRadius,\n backgroundColor: v.backgroundColor\n }, p.ghost && {\n backgroundColor: v.ghostBackgroundColor\n }, p.inverted && {\n backgroundColor: v.invertedBackgroundColor\n }, p.selected && {\n backgroundColor: v.selectedBackgroundColor\n }, {\n boxShadow: v.boxShadow\n }, p.elevated && {\n boxShadow: v.elevatedBoxShadow\n }, {\n ':hover': Object.assign({\n backgroundColor: v.backgroundColorHover\n }, p.ghost && {\n backgroundColor: v.ghostBackgroundColorHover\n }, p.inverted && {\n backgroundColor: v.invertedBackgroundColorHover\n }, p.selected && {\n backgroundColor: v.selectedBackgroundColorHover\n }, {\n borderColor: v.borderColorHover,\n boxShadow: v.boxShadowHover\n }, p.elevated && {\n boxShadow: v.elevatedBoxShadowHover\n })\n }, borderFocusStyles, p.actionable && {\n cursor: 'pointer',\n ':focus-visible': Object.assign({\n backgroundColor: v.backgroundColorFocus\n }, p.ghost && {\n backgroundColor: v.ghostBackgroundColorFocus\n }, p.inverted && {\n backgroundColor: v.invertedBackgroundColorFocus\n }, p.selected && {\n backgroundColor: v.selectedBackgroundColorFocus\n }, {\n boxShadow: v.boxShadowFocus\n }, p.elevated && {\n boxShadow: v.elevatedBoxShadowFocus\n }, borderFocusStyles[':focus-visible']),\n ':active': Object.assign({\n backgroundColor: v.backgroundColorPressed\n }, p.ghost && {\n backgroundColor: v.ghostBackgroundColorPressed\n }, p.inverted && {\n backgroundColor: v.invertedBackgroundColorPressed\n }, p.selected && {\n backgroundColor: v.selectedBackgroundColorPressed\n }, {\n borderColor: v.borderColorPressed,\n boxShadow: v.boxShadowPressed\n }, p.elevated && {\n boxShadow: v.elevatedBoxShadowPressed\n })\n }, p.size === 'small' && {\n width: v.sizeSmallWidth,\n height: v.sizeSmallHeight,\n padding: v.sizeSmallPadding\n }, p.size === 'large' && {\n width: v.sizeLargeWidth,\n height: v.sizeLargeHeight,\n padding: v.sizeLargePadding\n }, p.fluid && {\n width: v.fluidWidth,\n height: v.fluidHeight\n }, p.horizontal && {\n flexDirection: 'row'\n }, p.compact && {\n padding: v.compactPadding\n }, p.centered && {\n alignItems: 'center'\n }, p.disabled && Object.assign({\n cursor: 'not-allowed',\n color: v.colorDisabled,\n backgroundColor: v.backgroundColorDisabled,\n borderColor: v.borderColorDisabled,\n boxShadow: v.boxShadowDisabled\n }, p.inverted && {\n backgroundColor: v.invertedBackgroundColorDisabled\n }, p.ghost && {\n backgroundColor: v.ghostBackgroundColorDisabled\n }, p.selected && {\n backgroundColor: v.selectedBackgroundColorDisabled\n }, {\n ':hover': {\n boxShadow: v.boxShadowDisabled\n },\n ':focus-visible': Object.assign({\n boxShadow: v.boxShadowDisabled\n }, borderFocusStyles[':focus-visible']),\n ':active': {\n boxShadow: v.boxShadowDisabled\n }\n }), p.expandable && (_ref2 = {}, _ref2[\"& .\" + cardExpandableBoxClassName] = {\n maxHeight: v.expandableBoxStartMaxHeight,\n transition: v.expandableBoxExpandTransition,\n overflow: 'hidden'\n }, _ref2[\"&:hover .\" + cardExpandableBoxClassName] = {\n maxHeight: v.expandableBoxEndMaxHeight,\n transition: v.expandableBoxExpandTransition\n }, _ref2[\"&:focus .\" + cardExpandableBoxClassName] = {\n maxHeight: v.expandableBoxEndMaxHeight,\n transition: v.expandableBoxExpandTransition\n }, _ref2));\n }\n};\n//# sourceMappingURL=cardStyles.js.map\n","export var cardHeaderStyles = {\n root: function root(_ref) {\n var v = _ref.variables,\n p = _ref.props;\n return Object.assign({\n display: 'flex',\n flexDirection: 'column',\n margin: v.headerMargin\n }, p.fitted && {\n margin: v.fittedHeaderMargin\n });\n }\n};\n//# sourceMappingURL=cardHeaderStyles.js.map\n","export var cardBodyStyles = {\n root: function root(_ref) {\n var v = _ref.variables,\n p = _ref.props;\n return Object.assign({\n display: 'flex',\n flexDirection: 'column',\n margin: v.bodyMargin\n }, p.fitted && {\n margin: v.fittedBodyMargin\n });\n }\n};\n//# sourceMappingURL=cardBodyStyles.js.map\n","export var cardFooterStyles = {\n root: function root(_ref) {\n var v = _ref.variables,\n p = _ref.props;\n return Object.assign({\n display: 'flex',\n flexDirection: 'column',\n margin: v.footerMargin\n }, p.fitted && {\n margin: v.fittedFooterMargin\n });\n }\n};\n//# sourceMappingURL=cardFooterStyles.js.map\n","export var cardPreviewStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n return Object.assign({\n margin: v.previewMargin\n }, p.horizontal && {\n margin: v.previewMarginHorizontal\n }, p.fitted && {\n margin: v.fittedPreviewMargin\n });\n }\n};\n//# sourceMappingURL=cardPreviewStyles.js.map\n","export var cardTopControlsStyles = {\n root: function root(_ref) {\n var v = _ref.variables;\n return {\n position: 'absolute',\n top: v.topControlsTop,\n right: v.topControlsRight\n };\n }\n};\n//# sourceMappingURL=cardTopControlsStyles.js.map\n","export var cardExpandableBoxStyles = {\n root: function root() {\n return {\n display: 'flex'\n };\n }\n};\n//# sourceMappingURL=cardExpandableBoxStyles.js.map\n","import { inputSlotClassNames } from '../../../../components/Input/Input';\nexport var datepickerStyles = {\n root: function root(_ref) {\n var _ref2;\n\n var p = _ref.props;\n return Object.assign({}, !p.allowManualInput && (_ref2 = {}, _ref2[\"& .\" + inputSlotClassNames.input] = {\n cursor: 'pointer'\n }, _ref2));\n }\n};\n//# sourceMappingURL=datepickerStyles.js.map\n","export var datepickerCalendarStyles = {\n root: function root(_ref) {\n var v = _ref.variables;\n return {\n minHeight: v.calendarMinHeight\n };\n }\n};\n//# sourceMappingURL=datepickerCalendarStyles.js.map\n","export var datepickerCalendarHeaderStyles = {\n root: function root(_ref) {\n var v = _ref.variables;\n return {\n display: 'flex',\n alignItems: 'center',\n paddingTop: v.calendarHeaderPaddingTop,\n paddingBottom: v.calendarHeaderPaddingBottom\n };\n },\n label: function label(_ref2) {\n var v = _ref2.variables;\n return {\n fontWeight: v.calendarHeaderLabelFontWeight,\n flexGrow: 1,\n paddingLeft: v.calendarHeaderLabelPaddingLeft\n };\n }\n};\n//# sourceMappingURL=datepickerCalendarHeaderStyles.js.map\n","export var datepickerCalendarHeaderCellStyles = {\n root: function root(_ref) {\n var v = _ref.variables;\n return {\n textAlign: 'center',\n verticalAlign: 'middle',\n fontWeight: v.calendarHeaderCellFontWeight,\n height: v.calendarHeaderCellHeight,\n width: v.calendarHeaderCellWidth,\n padding: v.calendarHeaderCellPadding,\n display: 'table-cell'\n };\n }\n};\n//# sourceMappingURL=datepickerCalendarHeaderCellStyles.js.map\n","export var datepickerCalendarCellStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables;\n return Object.assign({\n height: v.calendarCellHeight,\n width: v.calendarCellWidth,\n padding: v.calendarCellPadding,\n ':hover': {\n backgroundColor: v.calendarCellHoverBackgroundColor,\n color: v.calendarCellHoverColor\n }\n }, p.quiet && {\n color: v.calendarCellQuietColor\n }, p.selected && {\n color: v.calendarCellSelectedColor,\n backgroundColor: v.calendarCellSelectedBackgroundColor\n }, p.disabled && {\n color: v.calendarCellDisabledColor,\n cursor: 'default',\n backgroundColor: v.calendarCellDisabledBackgroundColor,\n ':hover': {}\n });\n }\n};\n//# sourceMappingURL=datepickerCalendarCellStyles.js.map\n","import { getBorderFocusStyles } from '../../getBorderFocusStyles';\nexport var datepickerCalendarCellButtonStyles = {\n root: function root(_ref) {\n var p = _ref.props,\n v = _ref.variables,\n theme = _ref.theme;\n var siteVariables = theme.siteVariables;\n var borderWidth = siteVariables.borderWidth;\n var borderFocusStyles = getBorderFocusStyles({\n variables: siteVariables,\n borderPadding: borderWidth\n });\n return Object.assign({\n textAlign: 'center',\n height: '100%',\n width: '100%',\n cursor: 'pointer',\n border: v.calendarCellBorder,\n padding: v.calendarCellPadding,\n margin: v.calendarCellMargin,\n display: 'table-cell',\n position: 'relative'\n }, borderFocusStyles, {\n backgroundColor: v.calendarCellBackgroundColor,\n color: v.calendarCellColor,\n ':hover': {\n backgroundColor: v.calendarCellHoverBackgroundColor,\n color: v.calendarCellHoverColor\n }\n }, p.quiet && {\n color: v.calendarCellQuietColor\n }, p.selected && {\n color: v.calendarCellSelectedColor,\n backgroundColor: v.calendarCellSelectedBackgroundColor\n }, p.disabled && {\n color: v.calendarCellDisabledColor,\n cursor: 'default',\n backgroundColor: v.calendarCellDisabledBackgroundColor,\n ':hover': {}\n }, p.today && {\n backgroundColor: v.calendarCellTodayBackgroundColor,\n color: v.calendarCellTodayColor,\n borderRadius: v.calendarCellTodayBorderRadius\n });\n }\n};\n//# sourceMappingURL=datepickerCalendarCellButtonStyles.js.map\n","export var datepickerCalendarGridStyles = {\n root: function root() {\n return {\n 'border-spacing': '0rem',\n tableLayout: 'fixed'\n };\n }\n};\n//# sourceMappingURL=datepickerCalendarGridStyles.js.map\n","import _invoke from \"lodash/invoke\";\nimport { datepickerCalendarCellButtonBehavior } from '@fluentui/accessibility';\nimport { getElementType, useAccessibility, useStyles, useFluentContext, useTelemetry, useUnhandledProps, compose } from '@fluentui/react-bindings';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { commonPropTypes } from '../../utils';\nexport var datepickerCalendarCellButtonClassName = 'ui-datepicker__calendarcellbutton';\n/**\n * A Datepicker cell is used to display calendar grid cell button.\n */\n\nexport var DatepickerCalendarCellButton = /*#__PURE__*/function () {\n var DatepickerCalendarCellButton = compose(function (props, ref, composeOptions) {\n var context = useFluentContext();\n\n var _useTelemetry = useTelemetry(composeOptions.displayName, context.telemetry),\n setStart = _useTelemetry.setStart,\n setEnd = _useTelemetry.setEnd;\n\n setStart();\n var className = props.className,\n design = props.design,\n styles = props.styles,\n variables = props.variables,\n disabled = props.disabled,\n selected = props.selected,\n quiet = props.quiet,\n today = props.today,\n content = props.content;\n var unhandledProps = useUnhandledProps(composeOptions.handledProps, props);\n var ElementType = getElementType(props);\n var getA11yProps = useAccessibility(props.accessibility, {\n debugName: composeOptions.displayName,\n actionHandlers: {\n performClick: function performClick(e) {\n // prevent Spacebar from scrolling\n e.preventDefault();\n handleClick(e);\n }\n },\n mapPropsToBehavior: function mapPropsToBehavior() {\n return {\n selected: selected,\n disabled: disabled,\n quiet: quiet,\n today: today\n };\n },\n rtl: context.rtl\n });\n\n var _useStyles = useStyles(DatepickerCalendarCellButton.displayName, {\n className: composeOptions.className,\n mapPropsToStyles: function mapPropsToStyles() {\n return {\n disabled: disabled,\n selected: selected,\n quiet: quiet,\n today: today\n };\n },\n mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n return {\n className: className,\n design: design,\n styles: styles,\n variables: variables\n };\n },\n rtl: context.rtl,\n composeOptions: composeOptions,\n unstable_props: props\n }),\n classes = _useStyles.classes;\n\n var handleClick = function handleClick(e) {\n if (disabled) {\n e.preventDefault();\n return;\n }\n\n _invoke(props, 'onClick', e, props);\n };\n\n var element = /*#__PURE__*/React.createElement(ElementType, getA11yProps('root', Object.assign({\n className: classes.root,\n onClick: handleClick,\n ref: ref\n }, unhandledProps)), content);\n setEnd();\n return element;\n }, {\n className: datepickerCalendarCellButtonClassName,\n displayName: 'DatepickerCalendarCellButton',\n handledProps: ['accessibility', 'as', 'className', 'content', 'design', 'disabled', 'onClick', 'selected', 'styles', 'variables', 'quiet', 'today']\n });\n DatepickerCalendarCellButton.propTypes = Object.assign({}, commonPropTypes.createCommon({\n children: false\n }), {\n onClick: PropTypes.func,\n disabled: PropTypes.bool,\n selected: PropTypes.bool,\n quiet: PropTypes.bool,\n today: PropTypes.bool\n });\n DatepickerCalendarCellButton.defaultProps = {\n accessibility: datepickerCalendarCellButtonBehavior,\n as: 'button'\n };\n return DatepickerCalendarCellButton;\n}();\n//# sourceMappingURL=DatepickerCalendarCellButton.js.map\n","import { datepickerCalendarCellButtonClassName } from '../../../../components/Datepicker/DatepickerCalendarCellButton';\nexport var datepickerCalendarGridRowStyles = {\n root: function root(_ref) {\n var _ref2;\n\n var p = _ref.props,\n v = _ref.variables;\n return Object.assign({}, p.isRowSelectionActive && (_ref2 = {}, _ref2[\":hover .\" + datepickerCalendarCellButtonClassName] = {\n backgroundColor: v.calendarCellHoverBackgroundColor,\n color: v.calendarCellHoverColor\n }, _ref2));\n }\n};\n//# sourceMappingURL=datepickerCalendarGridRowStyles.js.map\n","import { globalStyles } from './globalStyles';\nimport { normalizeCSS } from './normalizeCSS';\nexport var staticStyles = [normalizeCSS, globalStyles];\n//# sourceMappingURL=index.js.map\n","// TODO: this would have to be packaged as a string or object during the build step\n//\n// import normalizeCSS from 'normalize.css'\n// Taken from https://cdnjs.cloudflare.com/ajax/libs/normalize/8.0.1/normalize.min.css\nexport var normalizeCSS = \"/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}\";\n//# sourceMappingURL=normalizeCSS.js.map\n","export var globalStyles = function globalStyles(siteVars) {\n return {\n body: {\n padding: siteVars.bodyPadding,\n margin: siteVars.bodyMargin,\n fontFamily: siteVars.bodyFontFamily,\n fontSize: siteVars.bodyFontSize,\n lineHeight: siteVars.bodyLineHeight\n },\n '*': {\n boxSizing: 'border-box'\n },\n '*:before': {\n boxSizing: 'border-box'\n },\n '*:after': {\n boxSizing: 'border-box'\n },\n\n /* Adding priority for HTML `hidden` attribute to be applied correctly */\n '[hidden]': {\n display: 'none!important'\n }\n };\n};\n//# sourceMappingURL=globalStyles.js.map\n","import { createTheme } from '@fluentui/styles';\nimport { animations } from './animations';\nimport * as siteVariables from './siteVariables';\nimport * as componentVariables from './componentVariables';\nimport * as componentStyles from './componentStyles';\nimport { fontFaces } from './fontFaces';\nimport { staticStyles } from './staticStyles';\nexport var teamsTheme = createTheme({\n siteVariables: siteVariables,\n componentVariables: componentVariables,\n componentStyles: componentStyles,\n fontFaces: fontFaces,\n staticStyles: staticStyles,\n animations: animations\n}, 'teams');\n//# sourceMappingURL=index.js.map\n","export var fontFaces = [{\n name: 'Segoe UI',\n paths: ['https://static2.sharepointonline.com/files/fabric/assets/fonts/segoeui-westeuropean/segoeui-regular.woff2'],\n props: {\n fontWeight: 400\n }\n}, {\n name: 'Segoe UI',\n paths: ['https://static2.sharepointonline.com/files/fabric/assets/fonts/segoeui-westeuropean/segoeui-semibold.woff2'],\n props: {\n fontWeight: 600\n }\n}, {\n name: 'Segoe UI',\n paths: ['https://static2.sharepointonline.com/files/fabric/assets/fonts/segoeui-westeuropean/segoeui-bold.woff2'],\n props: {\n fontWeight: 700\n }\n}];\n//# sourceMappingURL=fontFaces.js.map\n","// Visually hides elements which remain visible for screen reader\nexport var screenReaderContainerStyles = {\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//# sourceMappingURL=accessibilityStyles.js.map\n","import * as customPropTypes from '@fluentui/react-proptypes';\nimport * as PropTypes from 'prop-types';\nexport var commonPropTypes = {\n createCommon: function createCommon(config) {\n if (config === void 0) {\n config = {};\n }\n\n var _config = config,\n _config$accessibility = _config.accessibility,\n accessibility = _config$accessibility === void 0 ? true : _config$accessibility,\n _config$as = _config.as,\n as = _config$as === void 0 ? true : _config$as,\n _config$children = _config.children,\n children = _config$children === void 0 ? 'node' : _config$children,\n _config$className = _config.className,\n className = _config$className === void 0 ? true : _config$className,\n _config$color = _config.color,\n color = _config$color === void 0 ? false : _config$color,\n _config$content = _config.content,\n content = _config$content === void 0 ? 'node' : _config$content,\n _config$styled = _config.styled,\n styled = _config$styled === void 0 ? true : _config$styled;\n return Object.assign({}, accessibility && {\n accessibility: customPropTypes.accessibility\n }, as && {\n as: PropTypes.elementType\n }, children && {\n children: children === 'element' ? PropTypes.element : PropTypes.node\n }, className && {\n className: PropTypes.string\n }, color && {\n color: PropTypes.string\n }, content && {\n content: content === 'shorthand' ? customPropTypes.itemShorthand : customPropTypes.nodeContent\n }, styled && {\n styles: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n variables: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n design: customPropTypes.design\n });\n }\n};\n//# sourceMappingURL=commonPropTypes.js.map\n","import _uniq from \"lodash/uniq\";\nimport _isArray from \"lodash/isArray\";\nimport _isPlainObject from \"lodash/isPlainObject\";\nimport _isNil from \"lodash/isNil\";\nimport { mergeStyles } from '@fluentui/styles';\nimport cx from 'classnames';\nimport * as React from 'react';\nimport * as ReactIs from 'react-is';\n// It's only necessary to map props that don't use 'children' as value ('children' is the default)\nvar mappedProps = {\n iframe: 'src',\n img: 'src',\n input: 'type'\n};\nexport function createShorthandFactory(_ref) {\n var Component = _ref.Component,\n mappedProp = _ref.mappedProp,\n mappedArrayProp = _ref.mappedArrayProp,\n allowsJSX = _ref.allowsJSX;\n\n if (!ReactIs.isValidElementType(Component)) {\n throw new Error('createShorthandFactory() Component must be a string or function.');\n }\n\n return function (value, options) {\n return createShorthandInternal({\n allowsJSX: allowsJSX,\n Component: Component,\n mappedProp: mappedProp,\n mappedArrayProp: mappedArrayProp,\n value: value,\n options: options\n });\n };\n} // ============================================================\n// Factories\n// ============================================================\n\nexport function createShorthandInternal(_ref2) {\n var Component = _ref2.Component,\n mappedProp = _ref2.mappedProp,\n mappedArrayProp = _ref2.mappedArrayProp,\n value = _ref2.value,\n _ref2$options = _ref2.options,\n options = _ref2$options === void 0 ? {} : _ref2$options,\n _ref2$allowsJSX = _ref2.allowsJSX,\n allowsJSX = _ref2$allowsJSX === void 0 ? true : _ref2$allowsJSX;\n\n if (!ReactIs.isValidElementType(Component)) {\n throw new Error('createShorthand() Component must be a string or function.');\n } // short circuit noop values\n\n\n var valIsNoop = _isNil(value) || typeof value === 'boolean';\n if (valIsNoop && !options.render) return null;\n var valIsPrimitive = typeof value === 'string' || typeof value === 'number';\n\n var valIsPropsObject = _isPlainObject(value);\n\n var valIsArray = _isArray(value);\n\n var valIsReactElement = /*#__PURE__*/React.isValidElement(value); // unhandled type warning\n\n if (process.env.NODE_ENV !== 'production') {\n var displayName = typeof Component === 'string' ? Component : Component.displayName;\n\n if (!valIsPrimitive && !valIsPropsObject && !valIsArray && !valIsReactElement && !valIsNoop) {\n /* eslint-disable-next-line no-console */\n console.error([\"The shorthand prop for \\\"\" + displayName + \"\\\" component was passed a JSX element but this slot only supports string|number|object|array|ReactElements.\", ' Use null|undefined|boolean for none.', \" Received: \" + value].join(''));\n }\n\n if (!allowsJSX && valIsReactElement) {\n /* eslint-disable-next-line no-console */\n console.error([\"The shorthand prop for \\\"\" + displayName + \"\\\" component was passed a JSX element but this slot only supports string|number|object|array.\", ' Use null|undefined|boolean for none.', \" Received: \" + value].join(''));\n }\n } // ----------------------------------------\n // Build up props\n // ----------------------------------------\n\n\n var defaultProps = options.defaultProps ? options.defaultProps() || {} : {}; // User's props\n\n var usersProps = valIsReactElement && {} || valIsPropsObject && value || {}; // Override props\n\n var overrideProps = typeof options.overrideProps === 'function' ? options.overrideProps(Object.assign({}, defaultProps, usersProps)) : options.overrideProps || {}; // Merge props\n\n var props = Object.assign({}, defaultProps, usersProps, overrideProps);\n var mappedHTMLProps = mappedProps[overrideProps.as || defaultProps.as]; // Map prop for primitive value\n\n if (valIsPrimitive || valIsReactElement) {\n props[mappedHTMLProps || mappedProp || 'children'] = value;\n } // Map prop for array value\n\n\n if (valIsArray) {\n props[mappedHTMLProps || mappedArrayProp || 'children'] = value;\n } // Merge className\n\n\n if (defaultProps.className || overrideProps.className || usersProps.className) {\n var mergedClassesNames = cx(defaultProps.className, overrideProps.className, usersProps.className);\n props.className = _uniq(mergedClassesNames.split(' ')).join(' ');\n } // Merge style\n\n\n if (defaultProps.style || overrideProps.style || usersProps.style) {\n props.style = Object.assign({}, defaultProps.style, usersProps.style, overrideProps.style);\n } // Merge styles\n\n\n if (defaultProps.styles || overrideProps.styles || usersProps.styles) {\n props.styles = mergeStyles(defaultProps.styles, usersProps.styles, overrideProps.styles);\n } // ----------------------------------------\n // Get key\n // ----------------------------------------\n\n\n var _options$generateKey = options.generateKey,\n generateKey = _options$generateKey === void 0 ? true : _options$generateKey; // Use key or generate key\n\n if (generateKey && _isNil(props.key)) {\n if (valIsPrimitive) {\n // use string/number shorthand values as the key\n props.key = value;\n }\n\n if (valIsReactElement) {\n // use the key from React Element\n var elementKey = value.key; //
- key is not passed as will be `null`\n //
- key is passed as `null` and will be stringified\n\n var isNullKey = elementKey === null;\n\n if (!isNullKey) {\n props.key = elementKey;\n }\n }\n } // Remove the kind prop from the props object\n\n\n delete props.kind; // ----------------------------------------\n // Create Element\n // ----------------------------------------\n\n var render = options.render;\n\n if (render) {\n return render(Component, props);\n }\n\n if (typeof props.children === 'function') {\n return props.children(Component, Object.assign({}, props, {\n children: undefined\n }));\n }\n\n if (!allowsJSX && valIsReactElement) {\n return null;\n } // Create ReactElements from built up props\n\n\n if (valIsPrimitive || valIsPropsObject || valIsArray || valIsReactElement) {\n return /*#__PURE__*/React.createElement(Component, props);\n }\n\n return null;\n}\nexport function createShorthand(Component, value, options) {\n var _Component$fluentComp;\n\n var _ref3 = Component.shorthandConfig || ((_Component$fluentComp = Component.fluentComposeConfig) == null ? void 0 : _Component$fluentComp.shorthandConfig) || {},\n _ref3$mappedProp = _ref3.mappedProp,\n mappedProp = _ref3$mappedProp === void 0 ? 'children' : _ref3$mappedProp,\n _ref3$allowsJSX = _ref3.allowsJSX,\n allowsJSX = _ref3$allowsJSX === void 0 ? true : _ref3$allowsJSX,\n mappedArrayProp = _ref3.mappedArrayProp;\n\n return createShorthandInternal({\n Component: Component,\n mappedProp: mappedProp,\n allowsJSX: allowsJSX,\n mappedArrayProp: mappedArrayProp,\n value: value,\n options: options || {}\n });\n}\n//# sourceMappingURL=factories.js.map\n","import { isBrowser } from './isBrowser';\nvar DEFAULT_REM_SIZE_IN_PX = 16;\nvar _documentRemSize = null;\nexport var getDocumentRemSize = function getDocumentRemSize() {\n if (isBrowser()) {\n try {\n // eslint-disable-next-line no-undef\n return getFontSizeValue(getComputedStyle(document.documentElement).fontSize) || DEFAULT_REM_SIZE_IN_PX;\n } catch (e) {\n return DEFAULT_REM_SIZE_IN_PX;\n }\n }\n\n return DEFAULT_REM_SIZE_IN_PX;\n};\n\nvar getFontSizeValue = function getFontSizeValue(size) {\n return size && parseFloat(size) || null;\n}; // A replacement for a Lodash's one, way more faster on our cases as handles specific scenario\n\n\nexport var round = function round(n) {\n return (n * 10000 + (n > 0 ? 0.5 : -0.5) << 0) / 10000;\n};\n/**\n * Converts the provided px size to rem based on the default font size of 16px unless\n * the HTML font size has been previously defined with setHTMLFontSize().\n * @param valueInPx - The px value to convert to rem.\n * @param baseRemSize - Rem size to use for conversions. Optional - document's font size will be taken otherwise.\n * @example\n * ```\n * // Returns '1rem' for default document font size (16px).\n * pxToRem(16)\n *\n * // Returns '2rem'.\n * pxToRem(32, 16)\n * ```\n * @returns The value converted to the rem.\n */\n\nexport var pxToRem = function pxToRem(valueInPx, baseRemSize) {\n if (!baseRemSize && !_documentRemSize) {\n // there is no way how to reset the cached value\n // invalidating the cache is not possible as resetting cached value won't trigger recalculation of site variables,\n // for which originally computed values will stay unchanged\n _documentRemSize = getDocumentRemSize();\n }\n\n var remSize = baseRemSize || _documentRemSize || DEFAULT_REM_SIZE_IN_PX;\n var convertedValueInRems = valueInPx / remSize;\n return round(convertedValueInRems) + \"rem\";\n};\n//# sourceMappingURL=fontSizeUtility.js.map\n","import _uniqueId from \"lodash/uniqueId\";\nimport _isPlainObject from \"lodash/isPlainObject\";\nimport _isNil from \"lodash/isNil\";\nimport * as React from 'react';\nexport var getOrGenerateIdFromShorthand = function getOrGenerateIdFromShorthand(prefix, value, currentValue) {\n if (_isNil(value)) {\n return undefined;\n }\n\n var result;\n\n if ( /*#__PURE__*/React.isValidElement(value)) {\n result = value.props.id;\n } else if (_isPlainObject(value)) {\n result = value.id;\n }\n\n return result || currentValue || _uniqueId(prefix);\n};\n//# sourceMappingURL=getOrGenerateIdFromShorthand.js.map\n","/* eslint-disable no-undef */\nvar hasDocument = typeof document === 'object' && document !== null;\nvar hasWindow = typeof window === 'object' && window !== null && window.self === window;\n/* eslint-enable no-undef */\n\nexport var isBrowser = function isBrowser() {\n return hasDocument && hasWindow;\n};\n//# sourceMappingURL=isBrowser.js.map\n","function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } it = o[Symbol.iterator](); return it.next.bind(it); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nimport * as React from 'react';\n/**\n * A Ref function which can be treated like a ref object in that it has an attached\n * current property, which will be updated as the ref is evaluated.\n */\n\n/**\n * React hook to merge multiple React refs (either MutableRefObjects or ref callbacks) into a single ref callback that\n * updates all provided refs\n * @param refs - Refs to collectively update with one ref value.\n * @returns A function with an attached \"current\" prop, so that it can be treated like a RefObject.\n */\nexport function useMergedRefs() {\n for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {\n refs[_key] = arguments[_key];\n }\n\n var mergedCallback = React.useCallback(function (value) {\n // Update the \"current\" prop hanging on the function.\n mergedCallback.current = value;\n\n for (var _iterator = _createForOfIteratorHelperLoose(refs), _step; !(_step = _iterator()).done;) {\n var ref = _step.value;\n\n if (typeof ref === 'function') {\n ref(value);\n } else if (ref) {\n // work around the immutability of the React.Ref type\n ref.current = value;\n }\n }\n }, // eslint-disable-next-line react-hooks/exhaustive-deps -- already exhaustive\n [].concat(refs));\n return mergedCallback;\n}\n//# sourceMappingURL=useMergedRefs.js.map\n","var PlacementParts;\n\n(function (PlacementParts) {\n PlacementParts[\"top\"] = \"top\";\n PlacementParts[\"bottom\"] = \"bottom\";\n PlacementParts[\"start\"] = \"start\";\n PlacementParts[\"end\"] = \"end\";\n PlacementParts[\"left\"] = \"left\";\n PlacementParts[\"right\"] = \"right\";\n PlacementParts[\"center\"] = \"\";\n})(PlacementParts || (PlacementParts = {}));\n\nvar getPositionMap = function getPositionMap(rtl) {\n return {\n above: PlacementParts.top,\n below: PlacementParts.bottom,\n before: rtl ? PlacementParts.right : PlacementParts.left,\n after: rtl ? PlacementParts.left : PlacementParts.right\n };\n};\n\nvar getAlignmentMap = function getAlignmentMap(rtl) {\n return {\n start: rtl ? PlacementParts.end : PlacementParts.start,\n end: rtl ? PlacementParts.start : PlacementParts.end,\n top: PlacementParts.start,\n bottom: PlacementParts.end,\n center: PlacementParts.center\n };\n};\n\nvar shouldAlignToCenter = function shouldAlignToCenter(p, a) {\n var positionedVertically = p === 'above' || p === 'below';\n var alignedVertically = a === 'top' || a === 'bottom';\n return positionedVertically && alignedVertically || !positionedVertically && !alignedVertically;\n};\n/**\n * | position | alignment | placement | placement RTL\n * -----------------------------------------------------------------\n * | above | start | top-start | top-end\n * | above | center | top | top\n * | above | end | top-end | top-start\n * | below | start | bottom-start | bottom-end\n * | below | center | bottom | bottom\n * | below | end | bottom-end | bottom-start\n * | before | top | left-start | right-start\n * | before | center | left | right\n * | before | bottom | left-end | right-end\n * | after | top | right-start | left-start\n * | after | center | right | left\n * | after | bottom | right-end | left-end\n */\n\n\nexport var getPlacement = function getPlacement(align, position, rtl) {\n var alignment = shouldAlignToCenter(position, align) ? 'center' : align;\n var computedPosition = getPositionMap(rtl)[position];\n var computedAlignment = getAlignmentMap(rtl)[alignment];\n var stringifiedAlignment = computedAlignment && \"-\" + computedAlignment;\n return \"\" + computedPosition + stringifiedAlignment;\n};\nexport var applyRtlToOffset = function applyRtlToOffset(offset) {\n if (typeof offset === 'undefined') {\n return undefined;\n }\n\n if (Array.isArray(offset)) {\n offset[0] = offset[0] * -1;\n return offset;\n }\n\n return function (param) {\n return applyRtlToOffset(offset(param));\n };\n};\n//# sourceMappingURL=positioningHelper.js.map\n","import * as React from 'react';\nimport { useIsomorphicLayoutEffect } from './useIsomorphicLayoutEffect';\n/**\n * https://reactjs.org/docs/hooks-faq.html#how-to-read-an-often-changing-value-from-usecallback\n *\n * Modified `useCallback` that can be used when dependencies change too frequently. Can occur when\n * e.g. user props are depedencies which could change on every render\n * e.g. volatile values (i.e. useState/useDispatch) are dependencies which could change frequently\n *\n * This should not be used often, but can be a useful re-render optimization since the callback is a ref and\n * will not be invalidated between rerenders\n *\n * @param fn - The callback function that will be used\n */\n\nexport var useEventCallback = function useEventCallback(fn) {\n var callbackRef = React.useRef(function () {\n throw new Error('Cannot call an event handler while rendering');\n });\n useIsomorphicLayoutEffect(function () {\n callbackRef.current = fn;\n }, [fn]);\n return React.useCallback(function () {\n var callback = callbackRef.current;\n return callback.apply(void 0, arguments);\n }, [callbackRef]);\n};\n//# sourceMappingURL=useEventCallback.js.map\n","import * as React from 'react';\nimport { useIsomorphicLayoutEffect } from './useIsomorphicLayoutEffect';\n/**\n * Creates a MutableRef with ref change callback. Is useful as React.useRef() doesn't notify you when its content\n * changes and mutating the .current property doesn't cause a re-render. An opt-out will be use a callback ref via\n * React.useState(), but it will cause re-renders always.\n *\n * @param initialValue - initial ref value\n * @param {Function} callback - a callback to run when value changes\n * @param {Boolean} skipInitialResolve - a flag to skip an initial ref report\n *\n * @example\n * const ref = useCallbackRef(0, (newValue, oldValue) => console.log(oldValue, '->', newValue);\n * ref.current = 1;\n * // prints 0 -> 1\n *\n * @see https://reactjs.org/docs/hooks-reference.html#useref\n * @see https://github.com/theKashey/use-callback-ref#usecallbackref---to-replace-reactuseref\n * @returns {MutableRefObject}\n */\n\nexport function useCallbackRef(initialValue, callback, skipInitialResolve) {\n var isFirst = React.useRef(true);\n\n var _React$useState = React.useState(function () {\n return {\n // value\n value: initialValue,\n // last callback\n callback: callback,\n // \"memoized\" public interface\n facade: {\n get current() {\n return ref.value;\n },\n\n set current(value) {\n var last = ref.value;\n\n if (last !== value) {\n ref.value = value;\n\n if (skipInitialResolve && isFirst.current) {\n return;\n }\n\n ref.callback(value, last);\n }\n }\n\n }\n };\n }),\n ref = _React$useState[0];\n\n useIsomorphicLayoutEffect(function () {\n isFirst.current = false;\n }, []); // update callback\n\n ref.callback = callback;\n return ref.facade;\n}\n//# sourceMappingURL=useCallbackRef.js.map\n","export default function getBoundingClientRect(element) {\n var rect = element.getBoundingClientRect();\n return {\n width: rect.width,\n height: rect.height,\n top: rect.top,\n right: rect.right,\n bottom: rect.bottom,\n left: rect.left,\n x: rect.left,\n y: rect.top\n };\n}","export var top = 'top';\nexport var bottom = 'bottom';\nexport var right = 'right';\nexport var left = 'left';\nexport var auto = 'auto';\nexport var basePlacements = [top, bottom, right, left];\nexport var start = 'start';\nexport var end = 'end';\nexport var clippingParents = 'clippingParents';\nexport var viewport = 'viewport';\nexport var popper = 'popper';\nexport var reference = 'reference';\nexport var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {\n return acc.concat([placement + \"-\" + start, placement + \"-\" + end]);\n}, []);\nexport var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {\n return acc.concat([placement, placement + \"-\" + start, placement + \"-\" + end]);\n}, []); // modifiers that need to read the DOM\n\nexport var beforeRead = 'beforeRead';\nexport var read = 'read';\nexport var afterRead = 'afterRead'; // pure-logic modifiers\n\nexport var beforeMain = 'beforeMain';\nexport var main = 'main';\nexport var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)\n\nexport var beforeWrite = 'beforeWrite';\nexport var write = 'write';\nexport var afterWrite = 'afterWrite';\nexport var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];","/*:: import type { Window } from '../types'; */\n\n/*:: declare function getWindow(node: Node | Window): Window; */\nexport default function getWindow(node) {\n if (node.toString() !== '[object Window]') {\n var ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n }\n\n return node;\n}","import getWindow from \"./getWindow.js\";\n/*:: declare function isElement(node: mixed): boolean %checks(node instanceof\n Element); */\n\nfunction isElement(node) {\n var OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n/*:: declare function isHTMLElement(node: mixed): boolean %checks(node instanceof\n HTMLElement); */\n\n\nfunction isHTMLElement(node) {\n var OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nexport { isElement, isHTMLElement };","import { isElement } from \"./instanceOf.js\";\nexport default function getDocumentElement(element) {\n // $FlowFixMe: assume body is always available\n return (isElement(element) ? element.ownerDocument : element.document).documentElement;\n}","import getWindow from \"./getWindow.js\";\nexport default function getWindowScroll(node) {\n var win = getWindow(node);\n var scrollLeft = win.pageXOffset;\n var scrollTop = win.pageYOffset;\n return {\n scrollLeft: scrollLeft,\n scrollTop: scrollTop\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nexport default function getWindowScrollBarX(element) {\n // If has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on \n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;\n}","import getWindow from \"./getWindow.js\";\nexport default function getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}","export default function getNodeName(element) {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}","import getNodeName from \"./getNodeName.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nexport default function getParentNode(element) {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (// $FlowFixMe: this is a quicker (but less type safe) way to save quite some bytes from the bundle\n element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n element.parentNode || // DOM Element detected\n // $FlowFixMe: need a better way to handle this...\n element.host || // ShadowRoot detected\n // $FlowFixMe: HTMLElement is a Node\n getDocumentElement(element) // fallback\n\n );\n}","import getComputedStyle from \"./getComputedStyle.js\";\nexport default function isScrollParent(element) {\n // Firefox wants us to check `-x` and `-y` variations as well\n var _getComputedStyle = getComputedStyle(element),\n overflow = _getComputedStyle.overflow,\n overflowX = _getComputedStyle.overflowX,\n overflowY = _getComputedStyle.overflowY;\n\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}","import getParentNode from \"./getParentNode.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nexport default function getScrollParent(node) {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node) && isScrollParent(node)) {\n return node;\n }\n\n return getScrollParent(getParentNode(node));\n}","import getScrollParent from \"./getScrollParent.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport getWindow from \"./getWindow.js\";\nimport isScrollParent from \"./isScrollParent.js\";\n/*\ngiven a DOM element, return the list of all scroll parents, up the list of ancesors\nuntil we get to the top window object. This list is what we attach scroll listeners\nto, because if any of these parent elements scroll, we'll need to re-calculate the \nreference element's position.\n*/\n\nexport default function listScrollParents(element, list) {\n if (list === void 0) {\n list = [];\n }\n\n var scrollParent = getScrollParent(element);\n var isBody = getNodeName(scrollParent) === 'body';\n var win = getWindow(scrollParent);\n var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n var updatedList = list.concat(target);\n return isBody ? updatedList : // $FlowFixMe: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}","import getNodeName from \"./getNodeName.js\";\nexport default function isTableElement(element) {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}","import getWindow from \"./getWindow.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport isTableElement from \"./isTableElement.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\n\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed') {\n return null;\n }\n\n var offsetParent = element.offsetParent;\n\n if (offsetParent) {\n var html = getDocumentElement(offsetParent);\n\n if (getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static' && getComputedStyle(html).position !== 'static') {\n return html;\n }\n }\n\n return offsetParent;\n} // `.offsetParent` reports `null` for fixed elements, while absolute elements\n// return the containing block\n\n\nfunction getContainingBlock(element) {\n var currentNode = getParentNode(element);\n\n while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {\n var css = getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that\n // create a containing block.\n\n if (css.transform !== 'none' || css.perspective !== 'none' || css.willChange && css.willChange !== 'auto') {\n return currentNode;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nexport default function getOffsetParent(element) {\n var window = getWindow(element);\n var offsetParent = getTrueOffsetParent(element);\n\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (offsetParent && getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static') {\n return window;\n }\n\n return offsetParent || getContainingBlock(element) || window;\n}","export default function contains(parent, child) {\n // $FlowFixMe: hasOwnProperty doesn't seem to work in tests\n var isShadow = Boolean(child.getRootNode && child.getRootNode().host); // First, attempt with faster native method\n\n if (parent.contains(child)) {\n return true;\n } // then fallback to custom implementation with Shadow DOM support\n else if (isShadow) {\n var next = child;\n\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n } // $FlowFixMe: need a better way to handle this...\n\n\n next = next.parentNode || next.host;\n } while (next);\n } // Give up, the result is false\n\n\n return false;\n}","export default function rectToClientRect(rect) {\n return Object.assign(Object.assign({}, rect), {}, {\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n });\n}","import { viewport } from \"../enums.js\";\nimport getViewportRect from \"./getViewportRect.js\";\nimport getDocumentRect from \"./getDocumentRect.js\";\nimport listScrollParents from \"./listScrollParents.js\";\nimport getOffsetParent from \"./getOffsetParent.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport contains from \"./contains.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport rectToClientRect from \"../utils/rectToClientRect.js\";\n\nfunction getInnerBoundingClientRect(element) {\n var rect = getBoundingClientRect(element);\n rect.top = rect.top + element.clientTop;\n rect.left = rect.left + element.clientLeft;\n rect.bottom = rect.top + element.clientHeight;\n rect.right = rect.left + element.clientWidth;\n rect.width = element.clientWidth;\n rect.height = element.clientHeight;\n rect.x = rect.left;\n rect.y = rect.top;\n return rect;\n}\n\nfunction getClientRectFromMixedType(element, clippingParent) {\n return clippingParent === viewport ? rectToClientRect(getViewportRect(element)) : isHTMLElement(clippingParent) ? getInnerBoundingClientRect(clippingParent) : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n var clippingParents = listScrollParents(getParentNode(element));\n var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n if (!isElement(clipperElement)) {\n return [];\n } // $FlowFixMe: https://github.com/facebook/flow/issues/1414\n\n\n return clippingParents.filter(function (clippingParent) {\n return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body';\n });\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nexport default function getClippingRect(element, boundary, rootBoundary) {\n var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n var clippingParents = [].concat(mainClippingParents, [rootBoundary]);\n var firstClippingParent = clippingParents[0];\n var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {\n var rect = getClientRectFromMixedType(element, clippingParent);\n accRect.top = Math.max(rect.top, accRect.top);\n accRect.right = Math.min(rect.right, accRect.right);\n accRect.bottom = Math.min(rect.bottom, accRect.bottom);\n accRect.left = Math.max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent));\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n return clippingRect;\n}","import getWindow from \"./getWindow.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nexport default function getViewportRect(element) {\n var win = getWindow(element);\n var html = getDocumentElement(element);\n var visualViewport = win.visualViewport;\n var width = html.clientWidth;\n var height = html.clientHeight;\n var x = 0;\n var y = 0; // NB: This isn't supported on iOS <= 12. If the keyboard is open, the popper\n // can be obscured underneath it.\n // Also, `html.clientHeight` adds the bottom bar height in Safari iOS, even\n // if it isn't open, so if this isn't available, the popper will be detected\n // to overflow the bottom of the screen too early.\n\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height; // Uses Layout Viewport (like Chrome; Safari does not currently)\n // In Chrome, it returns a value very close to 0 (+/-) but contains rounding\n // errors due to floating point numbers, so we need to check precision.\n // Safari returns a number <= 0, usually < -1 when pinch-zoomed\n // Feature detection fails in mobile emulation mode in Chrome.\n // Math.abs(win.innerWidth / visualViewport.scale - visualViewport.width) <\n // 0.001\n // Fallback here: \"Not Safari\" userAgent\n\n if (!/^((?!chrome|android).)*safari/i.test(navigator.userAgent)) {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n\n return {\n width: width,\n height: height,\n x: x + getWindowScrollBarX(element),\n y: y\n };\n}","import getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getWindowScroll from \"./getWindowScroll.js\"; // Gets the entire size of the scrollable document area, even extending outside\n// of the `` and `` rect bounds if horizontally scrollable\n\nexport default function getDocumentRect(element) {\n var html = getDocumentElement(element);\n var winScroll = getWindowScroll(element);\n var body = element.ownerDocument.body;\n var width = Math.max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n var height = Math.max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n var x = -winScroll.scrollLeft + getWindowScrollBarX(element);\n var y = -winScroll.scrollTop;\n\n if (getComputedStyle(body || html).direction === 'rtl') {\n x += Math.max(html.clientWidth, body ? body.clientWidth : 0) - width;\n }\n\n return {\n width: width,\n height: height,\n x: x,\n y: y\n };\n}","import { auto } from \"../enums.js\";\nexport default function getBasePlacement(placement) {\n return placement.split('-')[0];\n}","export default function getVariation(placement) {\n return placement.split('-')[1];\n}","export default function getMainAxisFromPlacement(placement) {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}","import getBasePlacement from \"./getBasePlacement.js\";\nimport getVariation from \"./getVariation.js\";\nimport getMainAxisFromPlacement from \"./getMainAxisFromPlacement.js\";\nimport { top, right, bottom, left, start, end } from \"../enums.js\";\nexport default function computeOffsets(_ref) {\n var reference = _ref.reference,\n element = _ref.element,\n placement = _ref.placement;\n var basePlacement = placement ? getBasePlacement(placement) : null;\n var variation = placement ? getVariation(placement) : null;\n var commonX = reference.x + reference.width / 2 - element.width / 2;\n var commonY = reference.y + reference.height / 2 - element.height / 2;\n var offsets;\n\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height\n };\n break;\n\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY\n };\n break;\n\n default:\n offsets = {\n x: reference.x,\n y: reference.y\n };\n }\n\n var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;\n\n if (mainAxis != null) {\n var len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] = Math.floor(offsets[mainAxis]) - Math.floor(reference[len] / 2 - element[len] / 2);\n break;\n\n case end:\n offsets[mainAxis] = Math.floor(offsets[mainAxis]) + Math.ceil(reference[len] / 2 - element[len] / 2);\n break;\n\n default:\n }\n }\n\n return offsets;\n}","import getFreshSideObject from \"./getFreshSideObject.js\";\nexport default function mergePaddingObject(paddingObject) {\n return Object.assign(Object.assign({}, getFreshSideObject()), paddingObject);\n}","export default function getFreshSideObject() {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n };\n}","export default function expandToHashMap(value, keys) {\n return keys.reduce(function (hashMap, key) {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}","import getBoundingClientRect from \"../dom-utils/getBoundingClientRect.js\";\nimport getClippingRect from \"../dom-utils/getClippingRect.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport computeOffsets from \"./computeOffsets.js\";\nimport rectToClientRect from \"./rectToClientRect.js\";\nimport { clippingParents, reference, popper, bottom, top, right, basePlacements, viewport } from \"../enums.js\";\nimport { isElement } from \"../dom-utils/instanceOf.js\";\nimport mergePaddingObject from \"./mergePaddingObject.js\";\nimport expandToHashMap from \"./expandToHashMap.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport default function detectOverflow(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$placement = _options.placement,\n placement = _options$placement === void 0 ? state.placement : _options$placement,\n _options$boundary = _options.boundary,\n boundary = _options$boundary === void 0 ? clippingParents : _options$boundary,\n _options$rootBoundary = _options.rootBoundary,\n rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary,\n _options$elementConte = _options.elementContext,\n elementContext = _options$elementConte === void 0 ? popper : _options$elementConte,\n _options$altBoundary = _options.altBoundary,\n altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary,\n _options$padding = _options.padding,\n padding = _options$padding === void 0 ? 0 : _options$padding;\n var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n var altContext = elementContext === popper ? reference : popper;\n var referenceElement = state.elements.reference;\n var popperRect = state.rects.popper;\n var element = state.elements[altBoundary ? altContext : elementContext];\n var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary);\n var referenceClientRect = getBoundingClientRect(referenceElement);\n var popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement: placement\n });\n var popperClientRect = rectToClientRect(Object.assign(Object.assign({}, popperRect), popperOffsets));\n var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n\n var overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n };\n var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element\n\n if (elementContext === popper && offsetData) {\n var offset = offsetData[placement];\n Object.keys(overflowOffsets).forEach(function (key) {\n var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getNodeScroll from \"./getNodeScroll.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport isScrollParent from \"./isScrollParent.js\"; // Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\n\nexport default function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n\n var documentElement = getDocumentElement(offsetParent);\n var rect = getBoundingClientRect(elementOrVirtualElement);\n var isOffsetParentAnElement = isHTMLElement(offsetParent);\n var scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n var offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078\n isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}","import getWindowScroll from \"./getWindowScroll.js\";\nimport getWindow from \"./getWindow.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getHTMLElementScroll from \"./getHTMLElementScroll.js\";\nexport default function getNodeScroll(node) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}","export default function getHTMLElementScroll(element) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n}","// Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\nexport default function getLayoutRect(element) {\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: element.offsetWidth,\n height: element.offsetHeight\n };\n}","import { modifierPhases } from \"../enums.js\"; // source: https://stackoverflow.com/questions/49875255\n\nfunction order(modifiers) {\n var map = new Map();\n var visited = new Set();\n var result = [];\n modifiers.forEach(function (modifier) {\n map.set(modifier.name, modifier);\n }); // On visiting object, check for its dependencies and visit them recursively\n\n function sort(modifier) {\n visited.add(modifier.name);\n var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);\n requires.forEach(function (dep) {\n if (!visited.has(dep)) {\n var depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n result.push(modifier);\n }\n\n modifiers.forEach(function (modifier) {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n return result;\n}\n\nexport default function orderModifiers(modifiers) {\n // order based on dependencies\n var orderedModifiers = order(modifiers); // order based on phase\n\n return modifierPhases.reduce(function (acc, phase) {\n return acc.concat(orderedModifiers.filter(function (modifier) {\n return modifier.phase === phase;\n }));\n }, []);\n}","import getCompositeRect from \"./dom-utils/getCompositeRect.js\";\nimport getLayoutRect from \"./dom-utils/getLayoutRect.js\";\nimport listScrollParents from \"./dom-utils/listScrollParents.js\";\nimport getOffsetParent from \"./dom-utils/getOffsetParent.js\";\nimport getComputedStyle from \"./dom-utils/getComputedStyle.js\";\nimport orderModifiers from \"./utils/orderModifiers.js\";\nimport debounce from \"./utils/debounce.js\";\nimport validateModifiers from \"./utils/validateModifiers.js\";\nimport uniqueBy from \"./utils/uniqueBy.js\";\nimport getBasePlacement from \"./utils/getBasePlacement.js\";\nimport mergeByName from \"./utils/mergeByName.js\";\nimport detectOverflow from \"./utils/detectOverflow.js\";\nimport { isElement } from \"./dom-utils/instanceOf.js\";\nimport { auto } from \"./enums.js\";\nexport * from \"./enums.js\";\nvar INVALID_ELEMENT_ERROR = 'Popper: Invalid reference or popper argument provided. They must be either a DOM element or virtual element.';\nvar INFINITE_LOOP_ERROR = 'Popper: An infinite loop in the modifiers cycle has been detected! The cycle has been interrupted to prevent a browser crash.';\nvar DEFAULT_OPTIONS = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute'\n};\n\nfunction areValidElements() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return !args.some(function (element) {\n return !(element && typeof element.getBoundingClientRect === 'function');\n });\n}\n\nexport function popperGenerator(generatorOptions) {\n if (generatorOptions === void 0) {\n generatorOptions = {};\n }\n\n var _generatorOptions = generatorOptions,\n _generatorOptions$def = _generatorOptions.defaultModifiers,\n defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,\n _generatorOptions$def2 = _generatorOptions.defaultOptions,\n defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;\n return function createPopper(reference, popper, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n var state = {\n placement: 'bottom',\n orderedModifiers: [],\n options: Object.assign(Object.assign({}, DEFAULT_OPTIONS), defaultOptions),\n modifiersData: {},\n elements: {\n reference: reference,\n popper: popper\n },\n attributes: {},\n styles: {}\n };\n var effectCleanupFns = [];\n var isDestroyed = false;\n var instance = {\n state: state,\n setOptions: function setOptions(options) {\n cleanupModifierEffects();\n state.options = Object.assign(Object.assign(Object.assign({}, defaultOptions), state.options), options);\n state.scrollParents = {\n reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],\n popper: listScrollParents(popper)\n }; // Orders the modifiers based on their dependencies and `phase`\n // properties\n\n var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers\n\n state.orderedModifiers = orderedModifiers.filter(function (m) {\n return m.enabled;\n }); // Validate the provided modifiers so that the consumer will get warned\n // if one of the modifiers is invalid for any reason\n\n if (process.env.NODE_ENV !== \"production\") {\n var modifiers = uniqueBy([].concat(orderedModifiers, state.options.modifiers), function (_ref) {\n var name = _ref.name;\n return name;\n });\n validateModifiers(modifiers);\n\n if (getBasePlacement(state.options.placement) === auto) {\n var flipModifier = state.orderedModifiers.find(function (_ref2) {\n var name = _ref2.name;\n return name === 'flip';\n });\n\n if (!flipModifier) {\n console.error(['Popper: \"auto\" placements require the \"flip\" modifier be', 'present and enabled to work.'].join(' '));\n }\n }\n\n var _getComputedStyle = getComputedStyle(popper),\n marginTop = _getComputedStyle.marginTop,\n marginRight = _getComputedStyle.marginRight,\n marginBottom = _getComputedStyle.marginBottom,\n marginLeft = _getComputedStyle.marginLeft; // We no longer take into account `margins` on the popper, and it can\n // cause bugs with positioning, so we'll warn the consumer\n\n\n if ([marginTop, marginRight, marginBottom, marginLeft].some(function (margin) {\n return parseFloat(margin);\n })) {\n console.warn(['Popper: CSS \"margin\" styles cannot be used to apply padding', 'between the popper and its reference element or boundary.', 'To replicate margin, use the `offset` modifier, as well as', 'the `padding` option in the `preventOverflow` and `flip`', 'modifiers.'].join(' '));\n }\n }\n\n runModifierEffects();\n return instance.update();\n },\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate: function forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n var _state$elements = state.elements,\n reference = _state$elements.reference,\n popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n\n if (!areValidElements(reference, popper)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(INVALID_ELEMENT_ERROR);\n }\n\n return;\n } // Store the reference and popper rects to be read by modifiers\n\n\n state.rects = {\n reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'),\n popper: getLayoutRect(popper)\n }; // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n\n state.reset = false;\n state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n\n state.orderedModifiers.forEach(function (modifier) {\n return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);\n });\n var __debug_loops__ = 0;\n\n for (var index = 0; index < state.orderedModifiers.length; index++) {\n if (process.env.NODE_ENV !== \"production\") {\n __debug_loops__ += 1;\n\n if (__debug_loops__ > 100) {\n console.error(INFINITE_LOOP_ERROR);\n break;\n }\n }\n\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n var _state$orderedModifie = state.orderedModifiers[index],\n fn = _state$orderedModifie.fn,\n _state$orderedModifie2 = _state$orderedModifie.options,\n _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,\n name = _state$orderedModifie.name;\n\n if (typeof fn === 'function') {\n state = fn({\n state: state,\n options: _options,\n name: name,\n instance: instance\n }) || state;\n }\n }\n },\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce(function () {\n return new Promise(function (resolve) {\n instance.forceUpdate();\n resolve(state);\n });\n }),\n destroy: function destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n }\n };\n\n if (!areValidElements(reference, popper)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(INVALID_ELEMENT_ERROR);\n }\n\n return instance;\n }\n\n instance.setOptions(options).then(function (state) {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n }); // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n\n function runModifierEffects() {\n state.orderedModifiers.forEach(function (_ref3) {\n var name = _ref3.name,\n _ref3$options = _ref3.options,\n options = _ref3$options === void 0 ? {} : _ref3$options,\n effect = _ref3.effect;\n\n if (typeof effect === 'function') {\n var cleanupFn = effect({\n state: state,\n name: name,\n instance: instance,\n options: options\n });\n\n var noopFn = function noopFn() {};\n\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(function (fn) {\n return fn();\n });\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\nexport var createPopper = /*#__PURE__*/popperGenerator(); // eslint-disable-next-line import/no-unused-modules\n\nexport { detectOverflow };","export default function debounce(fn) {\n var pending;\n return function () {\n if (!pending) {\n pending = new Promise(function (resolve) {\n Promise.resolve().then(function () {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}","export default function mergeByName(modifiers) {\n var merged = modifiers.reduce(function (merged, current) {\n var existing = merged[current.name];\n merged[current.name] = existing ? Object.assign(Object.assign(Object.assign({}, existing), current), {}, {\n options: Object.assign(Object.assign({}, existing.options), current.options),\n data: Object.assign(Object.assign({}, existing.data), current.data)\n }) : current;\n return merged;\n }, {}); // IE11 does not support Object.values\n\n return Object.keys(merged).map(function (key) {\n return merged[key];\n });\n}","import getWindow from \"../dom-utils/getWindow.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar passive = {\n passive: true\n};\n\nfunction effect(_ref) {\n var state = _ref.state,\n instance = _ref.instance,\n options = _ref.options;\n var _options$scroll = options.scroll,\n scroll = _options$scroll === void 0 ? true : _options$scroll,\n _options$resize = options.resize,\n resize = _options$resize === void 0 ? true : _options$resize;\n var window = getWindow(state.elements.popper);\n var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);\n\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.addEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.addEventListener('resize', instance.update, passive);\n }\n\n return function () {\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.removeEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.removeEventListener('resize', instance.update, passive);\n }\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'eventListeners',\n enabled: true,\n phase: 'write',\n fn: function fn() {},\n effect: effect,\n data: {}\n};","import computeOffsets from \"../utils/computeOffsets.js\";\n\nfunction popperOffsets(_ref) {\n var state = _ref.state,\n name = _ref.name;\n // Offsets are the actual position the popper needs to have to be\n // properly positioned near its reference element\n // This is the most basic placement, and will be adjusted by\n // the modifiers in the next step\n state.modifiersData[name] = computeOffsets({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: 'absolute',\n placement: state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'popperOffsets',\n enabled: true,\n phase: 'read',\n fn: popperOffsets,\n data: {}\n};","import { top, left, right, bottom } from \"../enums.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getWindow from \"../dom-utils/getWindow.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getComputedStyle from \"../dom-utils/getComputedStyle.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar unsetSides = {\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto'\n}; // Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\n\nfunction roundOffsets(_ref) {\n var x = _ref.x,\n y = _ref.y;\n var win = window;\n var dpr = win.devicePixelRatio || 1;\n return {\n x: Math.round(x * dpr) / dpr || 0,\n y: Math.round(y * dpr) / dpr || 0\n };\n}\n\nexport function mapToStyles(_ref2) {\n var _Object$assign2;\n\n var popper = _ref2.popper,\n popperRect = _ref2.popperRect,\n placement = _ref2.placement,\n offsets = _ref2.offsets,\n position = _ref2.position,\n gpuAcceleration = _ref2.gpuAcceleration,\n adaptive = _ref2.adaptive;\n\n var _roundOffsets = roundOffsets(offsets),\n x = _roundOffsets.x,\n y = _roundOffsets.y;\n\n var hasX = offsets.hasOwnProperty('x');\n var hasY = offsets.hasOwnProperty('y');\n var sideX = left;\n var sideY = top;\n var win = window;\n\n if (adaptive) {\n var offsetParent = getOffsetParent(popper);\n\n if (offsetParent === getWindow(popper)) {\n offsetParent = getDocumentElement(popper);\n } // $FlowFixMe: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n\n /*:: offsetParent = (offsetParent: Element); */\n\n\n if (placement === top) {\n sideY = bottom;\n y -= offsetParent.clientHeight - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n\n if (placement === left) {\n sideX = right;\n x -= offsetParent.clientWidth - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n\n var commonStyles = Object.assign({\n position: position\n }, adaptive && unsetSides);\n\n if (gpuAcceleration) {\n var _Object$assign;\n\n return Object.assign(Object.assign({}, commonStyles), {}, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) < 2 ? \"translate(\" + x + \"px, \" + y + \"px)\" : \"translate3d(\" + x + \"px, \" + y + \"px, 0)\", _Object$assign));\n }\n\n return Object.assign(Object.assign({}, commonStyles), {}, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + \"px\" : '', _Object$assign2[sideX] = hasX ? x + \"px\" : '', _Object$assign2.transform = '', _Object$assign2));\n}\n\nfunction computeStyles(_ref3) {\n var state = _ref3.state,\n options = _ref3.options;\n var _options$gpuAccelerat = options.gpuAcceleration,\n gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,\n _options$adaptive = options.adaptive,\n adaptive = _options$adaptive === void 0 ? true : _options$adaptive;\n\n if (process.env.NODE_ENV !== \"production\") {\n var transitionProperty = getComputedStyle(state.elements.popper).transitionProperty || '';\n\n if (adaptive && ['transform', 'top', 'right', 'bottom', 'left'].some(function (property) {\n return transitionProperty.indexOf(property) >= 0;\n })) {\n console.warn(['Popper: Detected CSS transitions on at least one of the following', 'CSS properties: \"transform\", \"top\", \"right\", \"bottom\", \"left\".', '\\n\\n', 'Disable the \"computeStyles\" modifier\\'s `adaptive` option to allow', 'for smooth transitions, or remove these properties from the CSS', 'transition declaration on the popper element if only transitioning', 'opacity or background-color for example.', '\\n\\n', 'We recommend using the popper element as a wrapper around an inner', 'element that can have any CSS property transitioned for animations.'].join(' '));\n }\n }\n\n var commonStyles = {\n placement: getBasePlacement(state.placement),\n popper: state.elements.popper,\n popperRect: state.rects.popper,\n gpuAcceleration: gpuAcceleration\n };\n\n if (state.modifiersData.popperOffsets != null) {\n state.styles.popper = Object.assign(Object.assign({}, state.styles.popper), mapToStyles(Object.assign(Object.assign({}, commonStyles), {}, {\n offsets: state.modifiersData.popperOffsets,\n position: state.options.strategy,\n adaptive: adaptive\n })));\n }\n\n if (state.modifiersData.arrow != null) {\n state.styles.arrow = Object.assign(Object.assign({}, state.styles.arrow), mapToStyles(Object.assign(Object.assign({}, commonStyles), {}, {\n offsets: state.modifiersData.arrow,\n position: 'absolute',\n adaptive: false\n })));\n }\n\n state.attributes.popper = Object.assign(Object.assign({}, state.attributes.popper), {}, {\n 'data-popper-placement': state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'computeStyles',\n enabled: true,\n phase: 'beforeWrite',\n fn: computeStyles,\n data: {}\n};","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport { top, left, right, placements } from \"../enums.js\";\nexport function distanceAndSkiddingToXY(placement, rects, offset) {\n var basePlacement = getBasePlacement(placement);\n var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n var _ref = typeof offset === 'function' ? offset(Object.assign(Object.assign({}, rects), {}, {\n placement: placement\n })) : offset,\n skidding = _ref[0],\n distance = _ref[1];\n\n skidding = skidding || 0;\n distance = (distance || 0) * invertDistance;\n return [left, right].indexOf(basePlacement) >= 0 ? {\n x: distance,\n y: skidding\n } : {\n x: skidding,\n y: distance\n };\n}\n\nfunction offset(_ref2) {\n var state = _ref2.state,\n options = _ref2.options,\n name = _ref2.name;\n var _options$offset = options.offset,\n offset = _options$offset === void 0 ? [0, 0] : _options$offset;\n var data = placements.reduce(function (acc, placement) {\n acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n return acc;\n }, {});\n var _data$state$placement = data[state.placement],\n x = _data$state$placement.x,\n y = _data$state$placement.y;\n\n if (state.modifiersData.popperOffsets != null) {\n state.modifiersData.popperOffsets.x += x;\n state.modifiersData.popperOffsets.y += y;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'offset',\n enabled: true,\n phase: 'main',\n requires: ['popperOffsets'],\n fn: offset\n};","var hash = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nexport default function getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}","var hash = {\n start: 'end',\n end: 'start'\n};\nexport default function getOppositeVariationPlacement(placement) {\n return placement.replace(/start|end/g, function (matched) {\n return hash[matched];\n });\n}","export default function within(min, value, max) {\n return Math.max(min, Math.min(value, max));\n}","import { top, left, right, bottom, start } from \"../enums.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport getAltAxis from \"../utils/getAltAxis.js\";\nimport within from \"../utils/within.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport getFreshSideObject from \"../utils/getFreshSideObject.js\";\n\nfunction preventOverflow(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n padding = options.padding,\n _options$tether = options.tether,\n tether = _options$tether === void 0 ? true : _options$tether,\n _options$tetherOffset = options.tetherOffset,\n tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;\n var overflow = detectOverflow(state, {\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n altBoundary: altBoundary\n });\n var basePlacement = getBasePlacement(state.placement);\n var variation = getVariation(state.placement);\n var isBasePlacement = !variation;\n var mainAxis = getMainAxisFromPlacement(basePlacement);\n var altAxis = getAltAxis(mainAxis);\n var popperOffsets = state.modifiersData.popperOffsets;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign(Object.assign({}, state.rects), {}, {\n placement: state.placement\n })) : tetherOffset;\n var data = {\n x: 0,\n y: 0\n };\n\n if (!popperOffsets) {\n return;\n }\n\n if (checkMainAxis) {\n var mainSide = mainAxis === 'y' ? top : left;\n var altSide = mainAxis === 'y' ? bottom : right;\n var len = mainAxis === 'y' ? 'height' : 'width';\n var offset = popperOffsets[mainAxis];\n var min = popperOffsets[mainAxis] + overflow[mainSide];\n var max = popperOffsets[mainAxis] - overflow[altSide];\n var additive = tether ? -popperRect[len] / 2 : 0;\n var minLen = variation === start ? referenceRect[len] : popperRect[len];\n var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go\n // outside the reference bounds\n\n var arrowElement = state.elements.arrow;\n var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {\n width: 0,\n height: 0\n };\n var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject();\n var arrowPaddingMin = arrowPaddingObject[mainSide];\n var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want\n // to include its full size in the calculation. If the reference is small\n // and near the edge of a boundary, the popper can overflow even if the\n // reference is not overflowing as well (e.g. virtual elements with no\n // width or height)\n\n var arrowLen = within(0, referenceRect[len], arrowRect[len]);\n var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - tetherOffsetValue : minLen - arrowLen - arrowPaddingMin - tetherOffsetValue;\n var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + tetherOffsetValue : maxLen + arrowLen + arrowPaddingMax + tetherOffsetValue;\n var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);\n var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;\n var offsetModifierValue = state.modifiersData.offset ? state.modifiersData.offset[state.placement][mainAxis] : 0;\n var tetherMin = popperOffsets[mainAxis] + minOffset - offsetModifierValue - clientOffset;\n var tetherMax = popperOffsets[mainAxis] + maxOffset - offsetModifierValue;\n var preventedOffset = within(tether ? Math.min(min, tetherMin) : min, offset, tether ? Math.max(max, tetherMax) : max);\n popperOffsets[mainAxis] = preventedOffset;\n data[mainAxis] = preventedOffset - offset;\n }\n\n if (checkAltAxis) {\n var _mainSide = mainAxis === 'x' ? top : left;\n\n var _altSide = mainAxis === 'x' ? bottom : right;\n\n var _offset = popperOffsets[altAxis];\n\n var _min = _offset + overflow[_mainSide];\n\n var _max = _offset - overflow[_altSide];\n\n var _preventedOffset = within(_min, _offset, _max);\n\n popperOffsets[altAxis] = _preventedOffset;\n data[altAxis] = _preventedOffset - _offset;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'preventOverflow',\n enabled: true,\n phase: 'main',\n fn: preventOverflow,\n requiresIfExists: ['offset']\n};","export default function getAltAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport contains from \"../dom-utils/contains.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport within from \"../utils/within.js\";\nimport mergePaddingObject from \"../utils/mergePaddingObject.js\";\nimport expandToHashMap from \"../utils/expandToHashMap.js\";\nimport { left, right, basePlacements, top, bottom } from \"../enums.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // eslint-disable-next-line import/no-unused-modules\n\nfunction arrow(_ref) {\n var _state$modifiersData$;\n\n var state = _ref.state,\n name = _ref.name;\n var arrowElement = state.elements.arrow;\n var popperOffsets = state.modifiersData.popperOffsets;\n var basePlacement = getBasePlacement(state.placement);\n var axis = getMainAxisFromPlacement(basePlacement);\n var isVertical = [left, right].indexOf(basePlacement) >= 0;\n var len = isVertical ? 'height' : 'width';\n\n if (!arrowElement || !popperOffsets) {\n return;\n }\n\n var paddingObject = state.modifiersData[name + \"#persistent\"].padding;\n var arrowRect = getLayoutRect(arrowElement);\n var minProp = axis === 'y' ? top : left;\n var maxProp = axis === 'y' ? bottom : right;\n var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];\n var startDiff = popperOffsets[axis] - state.rects.reference[axis];\n var arrowOffsetParent = getOffsetParent(arrowElement);\n var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is\n // outside of the popper bounds\n\n var min = paddingObject[minProp];\n var max = clientSize - arrowRect[len] - paddingObject[maxProp];\n var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;\n var offset = within(min, center, max); // Prevents breaking syntax highlighting...\n\n var axisProp = axis;\n state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state,\n options = _ref2.options,\n name = _ref2.name;\n var _options$element = options.element,\n arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element,\n _options$padding = options.padding,\n padding = _options$padding === void 0 ? 0 : _options$padding;\n\n if (arrowElement == null) {\n return;\n } // CSS selector\n\n\n if (typeof arrowElement === 'string') {\n arrowElement = state.elements.popper.querySelector(arrowElement);\n\n if (!arrowElement) {\n return;\n }\n }\n\n if (process.env.NODE_ENV !== \"production\") {\n if (!isHTMLElement(arrowElement)) {\n console.error(['Popper: \"arrow\" element must be an HTMLElement (not an SVGElement).', 'To use an SVG arrow, wrap it in an HTMLElement that will be used as', 'the arrow.'].join(' '));\n }\n }\n\n if (!contains(state.elements.popper, arrowElement)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(['Popper: \"arrow\" modifier\\'s `element` must be a child of the popper', 'element.'].join(' '));\n }\n\n return;\n }\n\n state.elements.arrow = arrowElement;\n state.modifiersData[name + \"#persistent\"] = {\n padding: mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements))\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'arrow',\n enabled: true,\n phase: 'main',\n fn: arrow,\n effect: effect,\n requires: ['popperOffsets'],\n requiresIfExists: ['preventOverflow']\n};","import { top, bottom, left, right } from \"../enums.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\n\nfunction getSideOffsets(overflow, rect, preventedOffsets) {\n if (preventedOffsets === void 0) {\n preventedOffsets = {\n x: 0,\n y: 0\n };\n }\n\n return {\n top: overflow.top - rect.height - preventedOffsets.y,\n right: overflow.right - rect.width + preventedOffsets.x,\n bottom: overflow.bottom - rect.height + preventedOffsets.y,\n left: overflow.left - rect.width - preventedOffsets.x\n };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n return [top, right, bottom, left].some(function (side) {\n return overflow[side] >= 0;\n });\n}\n\nfunction hide(_ref) {\n var state = _ref.state,\n name = _ref.name;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var preventedOffsets = state.modifiersData.preventOverflow;\n var referenceOverflow = detectOverflow(state, {\n elementContext: 'reference'\n });\n var popperAltOverflow = detectOverflow(state, {\n altBoundary: true\n });\n var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);\n var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);\n var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);\n var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);\n state.modifiersData[name] = {\n referenceClippingOffsets: referenceClippingOffsets,\n popperEscapeOffsets: popperEscapeOffsets,\n isReferenceHidden: isReferenceHidden,\n hasPopperEscaped: hasPopperEscaped\n };\n state.attributes.popper = Object.assign(Object.assign({}, state.attributes.popper), {}, {\n 'data-popper-reference-hidden': isReferenceHidden,\n 'data-popper-escaped': hasPopperEscaped\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'hide',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['preventOverflow'],\n fn: hide\n};","import { popperGenerator, detectOverflow } from \"./index.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nimport offset from \"./modifiers/offset.js\";\nimport flip from \"./modifiers/flip.js\";\nimport preventOverflow from \"./modifiers/preventOverflow.js\";\nimport arrow from \"./modifiers/arrow.js\";\nimport hide from \"./modifiers/hide.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles, offset, flip, preventOverflow, arrow, hide];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow };","import getNodeName from \"../dom-utils/getNodeName.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // This modifier takes the styles prepared by the `computeStyles` modifier\n// and applies them to the HTMLElements such as popper and arrow\n\nfunction applyStyles(_ref) {\n var state = _ref.state;\n Object.keys(state.elements).forEach(function (name) {\n var style = state.styles[name] || {};\n var attributes = state.attributes[name] || {};\n var element = state.elements[name]; // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n } // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe\n\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (name) {\n var value = attributes[name];\n\n if (value === false) {\n element.removeAttribute(name);\n } else {\n element.setAttribute(name, value === true ? '' : value);\n }\n });\n });\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state;\n var initialStyles = {\n popper: {\n position: state.options.strategy,\n left: '0',\n top: '0',\n margin: '0'\n },\n arrow: {\n position: 'absolute'\n },\n reference: {}\n };\n Object.assign(state.elements.popper.style, initialStyles.popper);\n\n if (state.elements.arrow) {\n Object.assign(state.elements.arrow.style, initialStyles.arrow);\n }\n\n return function () {\n Object.keys(state.elements).forEach(function (name) {\n var element = state.elements[name];\n var attributes = state.attributes[name] || {};\n var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them\n\n var style = styleProperties.reduce(function (style, property) {\n style[property] = '';\n return style;\n }, {}); // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n } // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe\n\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (attribute) {\n element.removeAttribute(attribute);\n });\n });\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'applyStyles',\n enabled: true,\n phase: 'write',\n fn: applyStyles,\n effect: effect,\n requires: ['computeStyles']\n};","import getOppositePlacement from \"../utils/getOppositePlacement.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getOppositeVariationPlacement from \"../utils/getOppositeVariationPlacement.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport computeAutoPlacement from \"../utils/computeAutoPlacement.js\";\nimport { bottom, top, start, right, left, auto } from \"../enums.js\";\nimport getVariation from \"../utils/getVariation.js\"; // eslint-disable-next-line import/no-unused-modules\n\nfunction getExpandedFallbackPlacements(placement) {\n if (getBasePlacement(placement) === auto) {\n return [];\n }\n\n var oppositePlacement = getOppositePlacement(placement);\n return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];\n}\n\nfunction flip(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n\n if (state.modifiersData[name]._skip) {\n return;\n }\n\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis,\n specifiedFallbackPlacements = options.fallbackPlacements,\n padding = options.padding,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n _options$flipVariatio = options.flipVariations,\n flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio,\n allowedAutoPlacements = options.allowedAutoPlacements;\n var preferredPlacement = state.options.placement;\n var basePlacement = getBasePlacement(preferredPlacement);\n var isBasePlacement = basePlacement === preferredPlacement;\n var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));\n var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) {\n return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n flipVariations: flipVariations,\n allowedAutoPlacements: allowedAutoPlacements\n }) : placement);\n }, []);\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var checksMap = new Map();\n var makeFallbackChecks = true;\n var firstFittingPlacement = placements[0];\n\n for (var i = 0; i < placements.length; i++) {\n var placement = placements[i];\n\n var _basePlacement = getBasePlacement(placement);\n\n var isStartVariation = getVariation(placement) === start;\n var isVertical = [top, bottom].indexOf(_basePlacement) >= 0;\n var len = isVertical ? 'width' : 'height';\n var overflow = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n altBoundary: altBoundary,\n padding: padding\n });\n var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top;\n\n if (referenceRect[len] > popperRect[len]) {\n mainVariationSide = getOppositePlacement(mainVariationSide);\n }\n\n var altVariationSide = getOppositePlacement(mainVariationSide);\n var checks = [];\n\n if (checkMainAxis) {\n checks.push(overflow[_basePlacement] <= 0);\n }\n\n if (checkAltAxis) {\n checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);\n }\n\n if (checks.every(function (check) {\n return check;\n })) {\n firstFittingPlacement = placement;\n makeFallbackChecks = false;\n break;\n }\n\n checksMap.set(placement, checks);\n }\n\n if (makeFallbackChecks) {\n // `2` may be desired in some cases – research later\n var numberOfChecks = flipVariations ? 3 : 1;\n\n var _loop = function _loop(_i) {\n var fittingPlacement = placements.find(function (placement) {\n var checks = checksMap.get(placement);\n\n if (checks) {\n return checks.slice(0, _i).every(function (check) {\n return check;\n });\n }\n });\n\n if (fittingPlacement) {\n firstFittingPlacement = fittingPlacement;\n return \"break\";\n }\n };\n\n for (var _i = numberOfChecks; _i > 0; _i--) {\n var _ret = _loop(_i);\n\n if (_ret === \"break\") break;\n }\n }\n\n if (state.placement !== firstFittingPlacement) {\n state.modifiersData[name]._skip = true;\n state.placement = firstFittingPlacement;\n state.reset = true;\n }\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'flip',\n enabled: true,\n phase: 'main',\n fn: flip,\n requiresIfExists: ['offset'],\n data: {\n _skip: false\n }\n};","import getVariation from \"./getVariation.js\";\nimport { variationPlacements, basePlacements, placements as allPlacements } from \"../enums.js\";\nimport detectOverflow from \"./detectOverflow.js\";\nimport getBasePlacement from \"./getBasePlacement.js\";\n\n/*:: type OverflowsMap = { [ComputedPlacement]: number }; */\n\n/*;; type OverflowsMap = { [key in ComputedPlacement]: number }; */\nexport default function computeAutoPlacement(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n placement = _options.placement,\n boundary = _options.boundary,\n rootBoundary = _options.rootBoundary,\n padding = _options.padding,\n flipVariations = _options.flipVariations,\n _options$allowedAutoP = _options.allowedAutoPlacements,\n allowedAutoPlacements = _options$allowedAutoP === void 0 ? allPlacements : _options$allowedAutoP;\n var variation = getVariation(placement);\n var placements = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) {\n return getVariation(placement) === variation;\n }) : basePlacements; // $FlowFixMe\n\n var allowedPlacements = placements.filter(function (placement) {\n return allowedAutoPlacements.indexOf(placement) >= 0;\n });\n\n if (allowedPlacements.length === 0) {\n allowedPlacements = placements;\n\n if (process.env.NODE_ENV !== \"production\") {\n console.error(['Popper: The `allowedAutoPlacements` option did not allow any', 'placements. Ensure the `placement` option matches the variation', 'of the allowed placements.', 'For example, \"auto\" cannot be used to allow \"bottom-start\".', 'Use \"auto-start\" instead.'].join(' '));\n }\n } // $FlowFixMe: Flow seems to have problems with two array unions...\n\n\n var overflows = allowedPlacements.reduce(function (acc, placement) {\n acc[placement] = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding\n })[getBasePlacement(placement)];\n return acc;\n }, {});\n return Object.keys(overflows).sort(function (a, b) {\n return overflows[a] - overflows[b];\n });\n}","/**\n * Returns the parent node or the host of the node argument.\n * @param node - DOM node.\n * @returns - parent DOM node.\n */\nexport var getParentNode = function getParentNode(node) {\n if (node.nodeName === 'HTML') return node;\n return node.parentNode || node.host;\n};\n/**\n * Returns CSS styles of the given node.\n * @param node - DOM node.\n * @returns - CSS styles.\n */\n\nvar getStyleComputedProperty = function getStyleComputedProperty(node) {\n if (node.nodeType !== 1) return {};\n var window = node.ownerDocument.defaultView;\n return window.getComputedStyle(node, null);\n};\n/**\n * Returns the first scrollable parent of the given element.\n * @param node - DOM node.\n * @returns - the first scrollable parent.\n */\n\n\nexport var getScrollParent = function getScrollParent(node) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n var parentNode = node && getParentNode(node); // eslint-disable-next-line\n\n if (!parentNode) return document.body;\n\n switch (parentNode.nodeName) {\n case 'HTML':\n case 'BODY':\n return parentNode.ownerDocument.body;\n\n case '#document':\n return parentNode.body;\n } // If any of the overflow props is defined for the node then we return it as the parent\n\n\n var _getStyleComputedProp = getStyleComputedProperty(parentNode),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) return parentNode;\n return getScrollParent(parentNode);\n};\n//# sourceMappingURL=getScrollParent.js.map\n","import { getScrollParent } from './getScrollParent';\n\n/**\n * Allows to mimic a behavior from V1 of Popper and accept `window` and `scrollParent` as strings.\n */\nexport function getBoundary(element, boundary) {\n if (boundary === 'window') {\n return element.ownerDocument.documentElement;\n }\n\n if (boundary === 'scrollParent') {\n var boundariesNode = getScrollParent(element);\n\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = element.ownerDocument.documentElement;\n }\n\n return boundariesNode;\n }\n\n return boundary;\n}\n//# sourceMappingURL=getBoundary.js.map\n","import { useCallbackRef, useDeepMemo, useEventCallback, useFirstMount, useIsomorphicLayoutEffect } from '@fluentui/react-bindings';\nimport * as PopperJs from '@popperjs/core';\nimport * as React from 'react';\nimport { getReactFiberFromNode } from '../getReactFiberFromNode';\nimport { isBrowser } from '../isBrowser';\nimport { getBoundary } from './getBoundary';\nimport { getScrollParent } from './getScrollParent';\nimport { applyRtlToOffset, getPlacement } from './positioningHelper';\n\n//\n// Dev utils to detect if nodes have \"autoFocus\" props.\n//\n\n/**\n * Detects if a passed HTML node has \"autoFocus\" prop on a React's fiber. Is needed as React handles autofocus behavior\n * in React DOM and will not pass \"autoFocus\" to an actual HTML.\n *\n * @param {Node} node\n * @returns {Boolean}\n */\nfunction hasAutofocusProp(node) {\n // https://github.com/facebook/react/blob/848bb2426e44606e0a55dfe44c7b3ece33772485/packages/react-dom/src/client/ReactDOMHostConfig.js#L157-L166\n var isAutoFocusableElement = node.nodeName === 'BUTTON' || node.nodeName === 'INPUT' || node.nodeName === 'SELECT' || node.nodeName === 'TEXTAREA';\n\n if (isAutoFocusableElement) {\n return !!getReactFiberFromNode(node).pendingProps.autoFocus;\n }\n\n return false;\n}\n\nfunction hasAutofocusFilter(node) {\n return hasAutofocusProp(node) ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;\n}\n/**\n * Provides a callback to resolve Popper options, it's stable and should be used as a dependency to trigger updates\n * of Popper options.\n *\n * A callback is used there intentionally as some of Popper.js modifiers require DOM nodes (targer, container, arrow)\n * that can't be resolved properly during an initial rendering.\n *\n * @param {PopperOptions} options\n * @param {React.MutableRefObject} popperOriginalPositionRef\n *\n * @returns {Function}\n */\n\n\nfunction usePopperOptions(options, popperOriginalPositionRef) {\n var autoSize = options.autoSize,\n flipBoundary = options.flipBoundary,\n offset = options.offset,\n onStateUpdate = options.onStateUpdate,\n overflowBoundary = options.overflowBoundary,\n rtl = options.rtl,\n unstable_disableTether = options.unstable_disableTether,\n unstable_pinned = options.unstable_pinned;\n var placement = getPlacement(options.align, options.position, options.rtl);\n var strategy = options.positionFixed ? 'fixed' : 'absolute';\n var handleStateUpdate = useEventCallback(function (_ref) {\n var state = _ref.state;\n\n if (onStateUpdate) {\n onStateUpdate(state);\n }\n });\n var offsetModifier = React.useMemo(function () {\n return offset ? {\n name: 'offset',\n options: {\n offset: rtl ? applyRtlToOffset(offset) : offset\n }\n } : null;\n }, [offset, rtl]);\n var userModifiers = useDeepMemo(function () {\n return options.modifiers;\n }, options.modifiers);\n return React.useCallback(function (target, container, arrow) {\n var scrollParentElement = getScrollParent(container);\n var hasScrollableElement = scrollParentElement ? scrollParentElement !== scrollParentElement.ownerDocument.body : false;\n var modifiers = [\n /**\n * We are setting the position to `fixed` in the first effect to prevent scroll jumps in case of the content\n * with managed focus. Modifier sets the position to `fixed` before all other modifier effects. Another part of\n * a patch modifies \".forceUpdate()\" directly after a Popper will be created.\n */\n {\n name: 'positionStyleFix',\n enabled: true,\n phase: 'afterWrite',\n effect: function effect(_ref2) {\n var state = _ref2.state,\n instance = _ref2.instance;\n\n // \".isFirstRun\" is a part of our patch, on a first evaluation it will \"undefined\"\n // should be disabled for subsequent runs as it breaks positioning for them\n if (instance.isFirstRun !== false) {\n popperOriginalPositionRef.current = state.elements.popper.style['position'];\n state.elements.popper.style['position'] = 'fixed';\n }\n\n return function () {};\n },\n requires: []\n }, {\n name: 'flip',\n options: {\n flipVariations: true\n }\n },\n /**\n * unstable_pinned disables the flip modifier by setting flip.enabled to false; this\n * disables automatic repositioning of the popper box; it will always be placed according to\n * the values of `align` and `position` props, regardless of the size of the component, the\n * reference element or the viewport.\n */\n unstable_pinned && {\n name: 'flip',\n enabled: false\n },\n /**\n * When the popper box is placed in the context of a scrollable element, we need to set\n * preventOverflow.escapeWithReference to true and flip.boundariesElement to 'scrollParent'\n * (default is 'viewport') so that the popper box will stick with the targetRef when we\n * scroll targetRef out of the viewport.\n */\n hasScrollableElement && {\n name: 'flip',\n options: {\n boundary: 'clippingParents'\n }\n }, hasScrollableElement && {\n name: 'preventOverflow',\n options: {\n boundary: 'clippingParents'\n }\n }, offsetModifier].concat(typeof userModifiers === 'function' ? userModifiers(target, container, arrow) : userModifiers, [\n /**\n * This modifier is necessary to retain behaviour from popper v1 where untethered poppers are allowed by\n * default. i.e. popper is still rendered fully in the viewport even if anchor element is no longer in the\n * viewport.\n */\n unstable_disableTether && {\n name: 'preventOverflow',\n options: {\n altAxis: unstable_disableTether === 'all',\n tether: false\n }\n }, flipBoundary && {\n name: 'flip',\n options: {\n altBoundary: true,\n boundary: getBoundary(container, flipBoundary)\n }\n }, overflowBoundary && {\n name: 'preventOverflow',\n options: {\n altBoundary: true,\n boundary: getBoundary(container, overflowBoundary)\n }\n }, {\n name: 'onUpdate',\n enabled: true,\n phase: 'afterWrite',\n fn: handleStateUpdate\n }, autoSize && {\n // Similar code as popper-maxsize-modifier: https://github.com/atomiks/popper.js/blob/master/src/modifiers/maxSize.js\n // popper-maxsize-modifier only calculates the max sizes.\n // This modifier can apply max sizes always, or apply the max sizes only when overflow is detected\n name: 'applyMaxSize',\n enabled: true,\n phase: 'beforeWrite',\n requiresIfExists: ['offset', 'preventOverflow', 'flip'],\n options: {\n altBoundary: true,\n boundary: getBoundary(container, overflowBoundary)\n },\n fn: function fn(_ref3) {\n var state = _ref3.state,\n modifierOptions = _ref3.options;\n var overflow = PopperJs.detectOverflow(state, modifierOptions);\n\n var _ref4 = state.modifiersData.preventOverflow || {\n x: 0,\n y: 0\n },\n x = _ref4.x,\n y = _ref4.y;\n\n var _state$rects$popper = state.rects.popper,\n width = _state$rects$popper.width,\n height = _state$rects$popper.height;\n\n var _state$placement$spli = state.placement.split('-'),\n basePlacement = _state$placement$spli[0];\n\n var widthProp = basePlacement === 'left' ? 'left' : 'right';\n var heightProp = basePlacement === 'top' ? 'top' : 'bottom';\n var applyMaxWidth = autoSize === 'always' || autoSize === 'width-always' || overflow[widthProp] > 0 && (autoSize === true || autoSize === 'width');\n var applyMaxHeight = autoSize === 'always' || autoSize === 'height-always' || overflow[heightProp] > 0 && (autoSize === true || autoSize === 'height');\n\n if (applyMaxWidth) {\n state.styles.popper.maxWidth = width - overflow[widthProp] - x + \"px\";\n }\n\n if (applyMaxHeight) {\n state.styles.popper.maxHeight = height - overflow[heightProp] - y + \"px\";\n }\n }\n },\n /**\n * This modifier is necessary in order to render the pointer. Refs are resolved in effects, so it can't be\n * placed under computed modifiers. Deep merge is not required as this modifier has only these properties.\n */\n {\n name: 'arrow',\n enabled: !!arrow,\n options: {\n element: arrow\n }\n }]).filter(Boolean);\n var popperOptions = {\n modifiers: modifiers,\n placement: placement,\n strategy: strategy,\n onFirstUpdate: function onFirstUpdate(state) {\n return handleStateUpdate({\n state: state\n });\n }\n };\n return popperOptions;\n }, [autoSize, flipBoundary, offsetModifier, overflowBoundary, placement, strategy, unstable_disableTether, unstable_pinned, userModifiers, // These can be skipped from deps as they will not ever change\n handleStateUpdate, popperOriginalPositionRef]);\n}\n/**\n * Exposes Popper positioning API via React hook. Contains few important differences between an official \"react-popper\"\n * package:\n * - style attributes are applied directly on DOM to avoid re-renders\n * - refs changes and resolution is handled properly without re-renders\n * - contains a specific to React fix related to initial positioning when containers have components with managed focus\n * to avoid focus jumps\n *\n * @param {PopperOptions} options\n */\n\n\nexport function usePopper(options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$enabled = _options.enabled,\n enabled = _options$enabled === void 0 ? true : _options$enabled;\n var isFirstMount = useFirstMount();\n var popperOriginalPositionRef = React.useRef('absolute');\n var resolvePopperOptions = usePopperOptions(options, popperOriginalPositionRef);\n var popperInstanceRef = React.useRef(null);\n var handlePopperUpdate = useEventCallback(function () {\n var _popperInstanceRef$cu;\n\n (_popperInstanceRef$cu = popperInstanceRef.current) == null ? void 0 : _popperInstanceRef$cu.destroy();\n popperInstanceRef.current = null;\n var popperInstance = null;\n\n if (isBrowser() && enabled) {\n if (targetRef.current && containerRef.current) {\n popperInstance = PopperJs.createPopper(targetRef.current, containerRef.current, resolvePopperOptions(targetRef.current, containerRef.current, arrowRef.current));\n }\n }\n\n if (popperInstance) {\n /**\n * The patch updates `.forceUpdate()` Popper function which restores the original position before the first\n * forceUpdate() call. See also \"positionStyleFix\" modifier in usePopperOptions().\n */\n var originalForceUpdate = popperInstance.forceUpdate;\n popperInstance.isFirstRun = true;\n\n popperInstance.forceUpdate = function () {\n if (popperInstance.isFirstRun) {\n popperInstance.state.elements.popper.style['position'] = popperOriginalPositionRef.current;\n popperInstance.isFirstRun = false;\n }\n\n originalForceUpdate();\n };\n }\n\n popperInstanceRef.current = popperInstance;\n }); // Refs are managed by useCallbackRef() to handle ref updates scenarios.\n //\n // The first scenario are updates for a targetRef, we can handle it properly only via callback refs, but it causes\n // re-renders (we would like to avoid them).\n //\n // The second problem is related to refs resolution on React's layer: refs are resolved in the same order as effects\n // that causes an issue when you have a container inside a target, for example: a menu in ChatMessage.\n //\n // function ChatMessage(props) {\n //
// 3) ref will be resolved only now, but it's too late already\n // // 2) create a popper instance\n //
// 1) capture ref from this element\n // \n //
\n // }\n //\n // Check a demo on CodeSandbox: https://codesandbox.io/s/popper-refs-emy60.\n //\n // This again can be solved with callback refs. It's not a huge issue as with hooks we are moving popper's creation\n // to ChatMessage itself, however, without `useCallback()` refs it's still a Pandora box.\n\n var targetRef = useCallbackRef(null, handlePopperUpdate, true);\n var containerRef = useCallbackRef(null, handlePopperUpdate, true);\n var arrowRef = useCallbackRef(null, handlePopperUpdate, true);\n React.useImperativeHandle(options.popperRef, function () {\n return {\n updatePosition: function updatePosition() {\n var _popperInstanceRef$cu2;\n\n (_popperInstanceRef$cu2 = popperInstanceRef.current) == null ? void 0 : _popperInstanceRef$cu2.update();\n }\n };\n }, []);\n useIsomorphicLayoutEffect(function () {\n handlePopperUpdate();\n return function () {\n var _popperInstanceRef$cu3;\n\n (_popperInstanceRef$cu3 = popperInstanceRef.current) == null ? void 0 : _popperInstanceRef$cu3.destroy();\n popperInstanceRef.current = null;\n };\n }, [options.enabled]);\n useIsomorphicLayoutEffect(function () {\n if (!isFirstMount) {\n var _popperInstanceRef$cu4;\n\n (_popperInstanceRef$cu4 = popperInstanceRef.current) == null ? void 0 : _popperInstanceRef$cu4.setOptions(resolvePopperOptions(targetRef.current, containerRef.current, arrowRef.current));\n }\n }, [resolvePopperOptions]);\n\n if (process.env.NODE_ENV !== 'production') {\n // This checked should run only in development mode\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useEffect(function () {\n if (containerRef.current) {\n var _contentNode$ownerDoc;\n\n var contentNode = containerRef.current;\n var treeWalker = (_contentNode$ownerDoc = contentNode.ownerDocument) == null ? void 0 : _contentNode$ownerDoc.createTreeWalker(contentNode, NodeFilter.SHOW_ELEMENT, {\n acceptNode: hasAutofocusFilter\n });\n\n while (treeWalker.nextNode()) {\n var node = treeWalker.currentNode; // eslint-disable-next-line no-console\n\n console.warn(':', node); // eslint-disable-next-line no-console\n\n console.warn([': ^ this node contains \"autoFocus\" prop on a React element. This can break the initial', 'positioning of an element and cause a window jump effect. This issue occurs because React polyfills', '\"autoFocus\" behavior to solve inconsistencies between different browsers:', 'https://github.com/facebook/react/issues/11851#issuecomment-351787078', '\\n', 'However, \".focus()\" in this case occurs before any other React effects will be executed', '(React.useEffect(), componentDidMount(), etc.) and we can not prevent this behavior. If you really', 'want to use \"autoFocus\" please add \"position: fixed\" to styles of the element that is wrapped by', '\"Popper\".', \"In general, it's not recommended to use \\\"autoFocus\\\" as it may break accessibility aspects:\", 'https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/master/docs/rules/no-autofocus.md', '\\n', 'We suggest to use the \"trapFocus\" prop on Fluent components or a catch \"ref\" and then use', '\"ref.current.focus\" in React.useEffect():', 'https://reactjs.org/docs/refs-and-the-dom.html#adding-a-ref-to-a-dom-element'].join(' '));\n }\n } // We run this check once, no need to add deps here\n // TODO: Should be rework to handle options.enabled and contentRef updates\n // eslint-disable-next-line react-hooks/exhaustive-deps\n\n }, []);\n }\n\n return {\n targetRef: targetRef,\n containerRef: containerRef,\n arrowRef: arrowRef\n };\n}\n//# sourceMappingURL=usePopper.js.map\n","import _isEqual from \"lodash/isEqual\";\nimport * as React from 'react';\n\n/**\n * Memoize a result using deep equality. This hook has two advantages over\n * React.useMemo: it uses deep equality to compare memo keys, and it guarantees\n * that the memo function will only be called if the keys are unequal.\n * React.useMemo cannot be relied on to do this, since it is only a performance\n * optimization (see https://reactjs.org/docs/hooks-reference.html#usememo).\n *\n * Copied from https://github.com/apollographql/react-apollo/blob/master/packages/hooks/src/utils/useDeepMemo.ts.\n */\nexport function useDeepMemo(memoFn, key) {\n var ref = React.useRef();\n\n if (!ref.current || !_isEqual(key, ref.current.key)) {\n ref.current = {\n key: key,\n value: memoFn()\n };\n }\n\n return ref.current.value;\n}\n//# sourceMappingURL=useDeepMemo.js.map\n","import * as React from 'react';\n/**\n * Checks if components was mounted the first time.\n * @example\n * const isFirstMount = useFirstMount();\n *\n * @returns {Boolean}\n */\n\nexport function useFirstMount() {\n var isFirst = React.useRef(true);\n\n if (isFirst.current) {\n isFirst.current = false;\n return true;\n }\n\n return isFirst.current;\n}\n//# sourceMappingURL=useFirstMount.js.map\n","import { useIsomorphicLayoutEffect, useMergedRefs } from '@fluentui/react-bindings';\nimport { Ref, isRefObject } from '@fluentui/react-component-ref';\nimport * as React from 'react';\nimport { getPlacement } from './positioningHelper';\nimport { usePopper } from './usePopper';\n/**\n * Popper relies on the 3rd party library [Popper.js](https://github.com/FezVrasta/popper.js) for positioning.\n *\n * @deprecated Please use \"usePopper()\" hook instead.\n */\n\nexport var Popper = /*#__PURE__*/function () {\n var Popper = function Popper(props) {\n var usesRenderProps = typeof props.children === 'function';\n var proposedPlacement = getPlacement(props.align, props.position, props.rtl);\n var latestPlacement = React.useRef(proposedPlacement);\n\n var _React$useState = React.useState(proposedPlacement),\n computedPlacement = _React$useState[0],\n setComputedPlacement = _React$useState[1];\n\n var popperRef = React.useRef(null);\n\n var _usePopper = usePopper(Object.assign({}, props, {\n popperRef: useMergedRefs(props.popperRef, popperRef),\n onStateUpdate: function onStateUpdate(state) {\n // PopperJS performs computations that might update the computed placement: auto positioning, flipping the\n // placement in case the popper box should be rendered at the edge of the viewport and does not fit\n if (state.placement !== latestPlacement.current) {\n latestPlacement.current = state.placement; // A state change has sense only if renderProps are passed, otherwise a state value is unused\n\n if (usesRenderProps) {\n setComputedPlacement(state.placement);\n }\n }\n }\n })),\n targetRef = _usePopper.targetRef,\n containerRef = _usePopper.containerRef,\n arrowRef = _usePopper.arrowRef;\n\n useIsomorphicLayoutEffect(function () {\n var _props$pointerTargetR;\n\n // A way to sync refs, is needed as Popper component accepts refs as params\n // Does not make anything worse as Popper component does not have proper handing for ref updates ¯\\_(ツ)_/¯\n targetRef.current = isRefObject(props.targetRef) ? props.targetRef.current : props.targetRef;\n arrowRef.current = (_props$pointerTargetR = props.pointerTargetRef) == null ? void 0 : _props$pointerTargetR.current;\n });\n var scheduleUpdate = React.useCallback(function () {\n var _popperRef$current;\n\n (_popperRef$current = popperRef.current) == null ? void 0 : _popperRef$current.updatePosition();\n }, []);\n var child = usesRenderProps ? props.children({\n placement: computedPlacement,\n scheduleUpdate: scheduleUpdate\n }) : props.children;\n return child ? /*#__PURE__*/React.createElement(Ref, {\n innerRef: containerRef\n }, React.Children.only(child)) : null;\n };\n\n Popper.defaultProps = {\n enabled: true,\n modifiers: [],\n positionFixed: false,\n positioningDependencies: []\n };\n return Popper;\n}();\n//# sourceMappingURL=Popper.js.map\n","export var ALIGNMENTS = ['top', 'bottom', 'start', 'end', 'center'];\nexport var POSITIONS = ['above', 'below', 'before', 'after'];\nexport var AUTOSIZES = ['height', 'height-always', 'width', 'width-always', 'always', true, false];\n//# sourceMappingURL=types.internal.js.map\n","import * as React from 'react';\nexport var rtlTextContainer = {\n getAttributes: function getAttributes(_ref) {\n var _ref$condition = _ref.condition,\n condition = _ref$condition === void 0 ? true : _ref$condition,\n _ref$forElements = _ref.forElements,\n forElements = _ref$forElements === void 0 ? [] : _ref$forElements;\n return condition && forElements.some(function (child) {\n return child && typeof child === 'string';\n }) ? {\n dir: 'auto'\n } : {};\n },\n createFor: function createFor(_ref2) {\n var element = _ref2.element,\n _ref2$condition = _ref2.condition,\n condition = _ref2$condition === void 0 ? true : _ref2$condition;\n\n if (condition && element && typeof element === 'string') {\n return /*#__PURE__*/React.createElement(\"span\", {\n dir: \"auto\"\n }, element);\n }\n\n return element;\n }\n};\n//# sourceMappingURL=rtlTextContainer.js.map\n","export var stringLiteralsArray = function stringLiteralsArray() {\n var tuple = function tuple() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return args;\n };\n\n return tuple.apply(void 0, arguments);\n};\n//# sourceMappingURL=stringLiteralsArray.js.map\n","import { isBrowser } from './isBrowser'; // Taken from https://github.com/ten1seven/what-input/blob/master/src/scripts/what-input.js\n\n/* eslint-disable */\n\n/*\n * variables\n */\n// last used input type\n\nvar currentInput = 'initial'; // event buffer timer\n\nvar eventTimer = null; // list of modifier keys commonly used with the mouse and\n// can be safely ignored to prevent false keyboard detection\n\nvar ignoreMap = [16, // shift\n17, // control\n18, // alt\n91, // Windows key / left Apple cmd\n93 // Windows menu / right Apple cmd\n]; // used to count how many Providers needed to initialize whatinput.\n\nvar whatInputInitialized = 'whatInputInitialized'; // mapping of events to input types\n\nvar inputMap = {\n keydown: 'keyboard',\n keyup: 'keyboard',\n mousedown: 'mouse',\n mousemove: 'mouse',\n MSPointerDown: 'pointer',\n MSPointerMove: 'pointer',\n pointerdown: 'pointer',\n pointermove: 'pointer',\n touchstart: 'touch'\n}; // boolean: true if touch buffer is active\n\nvar isBuffering = false; // map of IE 10 pointer events\n\nvar pointerMap = {\n 2: 'touch',\n 3: 'touch',\n // treat pen like touch\n 4: 'mouse'\n}; // check support for passive event listeners\n\nvar supportsPassive = false;\n\ntry {\n var opts = Object.defineProperty({}, 'passive', {\n get: function get() {\n supportsPassive = true;\n }\n });\n window.addEventListener('test', null, opts);\n} catch (e) {}\n/*\n * set up\n */\n\n\nvar setUp = function setUp() {\n // add correct mouse wheel event mapping to `inputMap`\n inputMap[detectWheel()] = 'mouse';\n addListeners(window);\n doUpdate(window.document);\n};\n/*\n * events\n */\n\n\nvar addListeners = function addListeners(eventTarget) {\n // `pointermove`, `MSPointerMove`, `mousemove` and mouse wheel event binding\n // can only demonstrate potential, but not actual, interaction\n // and are treated separately\n var options = supportsPassive ? {\n passive: true,\n capture: true\n } : true; // pointer events (mouse, pen, touch)\n // @ts-ignore\n\n if (eventTarget.PointerEvent) {\n eventTarget.addEventListener('pointerdown', setInput); // @ts-ignore\n } else if (window.MSPointerEvent) {\n eventTarget.addEventListener('MSPointerDown', setInput);\n } else {\n // mouse events\n eventTarget.addEventListener('mousedown', setInput, true); // touch events\n\n if ('ontouchstart' in eventTarget) {\n eventTarget.addEventListener('touchstart', eventBuffer, options);\n eventTarget.addEventListener('touchend', setInput, true);\n }\n } // keyboard events\n\n\n eventTarget.addEventListener('keydown', eventBuffer, true);\n eventTarget.addEventListener('keyup', eventBuffer, true);\n}; // checks conditions before updating new input\n\n\nvar setInput = function setInput(event) {\n // only execute if the event buffer timer isn't running\n if (!isBuffering) {\n var eventKey = event.which;\n var value = inputMap[event.type];\n\n if (value === 'pointer') {\n value = pointerType(event);\n }\n\n var ignoreMatch = ignoreMap.indexOf(eventKey) === -1;\n var shouldUpdate = value === 'keyboard' && eventKey && ignoreMatch || value === 'mouse' || value === 'touch';\n\n if (currentInput !== value && shouldUpdate) {\n currentInput = value;\n doUpdate(event.view.document);\n }\n }\n}; // updates the doc and `inputTypes` array with new input\n\n\nvar doUpdate = function doUpdate(target) {\n target.documentElement.setAttribute(\"data-whatinput\", currentInput);\n}; // buffers events that frequently also fire mouse events\n\n\nvar eventBuffer = function eventBuffer(event) {\n // set the current input\n setInput(event); // clear the timer if it happens to be running\n\n window.clearTimeout(eventTimer); // set the isBuffering to `true`\n\n isBuffering = true; // run the timer\n\n eventTimer = window.setTimeout(function () {\n // if the timer runs out, set isBuffering back to `false`\n isBuffering = false;\n }, 100);\n};\n/*\n * utilities\n */\n\n\nvar pointerType = function pointerType(event) {\n if (typeof event.pointerType === 'number') {\n return pointerMap[event.pointerType];\n } // treat pen like touch\n\n\n return event.pointerType === 'pen' ? 'touch' : event.pointerType;\n}; // detect version of mouse wheel event to use\n// via https://developer.mozilla.org/en-US/docs/Web/Events/wheel\n\n\nvar detectWheel = function detectWheel() {\n var wheelType; // Modern browsers support \"wheel\"\n\n if ('onwheel' in document.createElement('div')) {\n wheelType = 'wheel';\n } else {\n // Webkit and IE support at least \"mousewheel\"\n // or assume that remaining browsers are older Firefox\n wheelType = // @ts-ignore\n document.onmousewheel !== undefined ? 'mousewheel' : 'DOMMouseScroll';\n }\n\n return wheelType;\n}; // don't start script unless browser cuts the mustard\n// (also passes if polyfills are used)\n\n\nif (isBrowser() && 'addEventListener' in window && Array.prototype.indexOf) {\n setUp();\n}\n/*\n * set up for document\n */\n\n\nexport var setUpWhatInput = function setUpWhatInput(target) {\n var targetWindow = target.defaultView;\n\n if (isBrowser() && targetWindow && 'addEventListener' in targetWindow && Array.prototype.indexOf) {\n var initializedTimes = target[whatInputInitialized];\n\n if (typeof initializedTimes === 'number' && initializedTimes > 0) {\n target[whatInputInitialized] = initializedTimes + 1;\n return;\n }\n\n target[whatInputInitialized] = 1;\n addListeners(targetWindow);\n doUpdate(target);\n }\n};\n\nfunction cleanupWhatInput(eventTarget) {\n var options = supportsPassive ? {\n capture: true\n } : true; // @ts-ignore\n\n if (eventTarget.PointerEvent) {\n eventTarget.removeEventListener('pointerdown', setInput); // @ts-ignore\n } else if (window.MSPointerEvent) {\n eventTarget.removeEventListener('MSPointerDown', setInput);\n } else {\n // mouse events\n eventTarget.removeEventListener('mousedown', setInput, true); // touch events\n\n if ('ontouchstart' in eventTarget) {\n eventTarget.removeEventListener('touchstart', eventBuffer, options);\n eventTarget.removeEventListener('touchend', setInput, true);\n }\n } // keyboard events\n\n\n eventTarget.removeEventListener('keydown', eventBuffer, true);\n eventTarget.removeEventListener('keyup', eventBuffer, true);\n}\n\nexport var tryCleanupWhatInput = function tryCleanupWhatInput(target) {\n var targetWindow = target.defaultView;\n\n if (isBrowser() && targetWindow && 'removeEventListener' in targetWindow) {\n if (target[whatInputInitialized] === 1) {\n delete target[whatInputInitialized];\n cleanupWhatInput(targetWindow);\n } else {\n target[whatInputInitialized] = target[whatInputInitialized] - 1;\n }\n }\n};\nexport var setWhatInputSource = function setWhatInputSource(target, newInput) {\n currentInput = newInput;\n doUpdate(target);\n}; // returns string: the current input type\n// returns the same value as the `data-whatinput` attribute\n\nexport var ask = function ask() {\n return currentInput;\n};\nexport var isFromKeyboard = function isFromKeyboard() {\n return ask() === 'keyboard';\n};\n//# sourceMappingURL=whatInput.js.map\n","export var IS_FOCUSABLE_ATTRIBUTE = 'data-is-focusable';\nexport var IS_ENTER_DISABLED_ATTRIBUTE = 'data-disable-click-on-enter';\n//# sourceMappingURL=attributes.js.map\n","/**\n * @description\n * Indicator is usually only visual representation and therefore is hidden from screen readers, unless 'aria-label' property is provided.\n *\n * @specification\n * Adds role='img'.\n * Adds attribute 'aria-hidden=true' to 'root' slot.\n */\nexport var indicatorBehavior = function indicatorBehavior() {\n return {\n attributes: {\n root: {\n role: 'img',\n 'aria-hidden': 'true'\n }\n }\n };\n};\n//# sourceMappingURL=indicatorBehavior.js.map\n","import { keyboardKey, SpacebarKey } from '../../keyboard-key';\nexport var buttonBehavior = function buttonBehavior(props) {\n var definition = {\n attributes: {\n root: {\n role: props.as === 'button' ? undefined : 'button',\n tabIndex: props.as === 'button' || props.disabled ? undefined : 0,\n disabled: props.as === 'button' ? props.disabled : undefined,\n 'aria-disabled': props.disabledFocusable\n }\n },\n keyActions: {\n root: Object.assign({}, props.as !== 'button' && props.as !== 'a' && {\n performClick: {\n keyCombinations: [{\n keyCode: keyboardKey.Enter\n }, {\n keyCode: SpacebarKey\n }]\n }\n })\n }\n };\n\n if (process.env.NODE_ENV !== 'production') {\n // Override the default trigger's accessibility schema class.\n if (props.disabledFocusable) {\n definition.attributes.root['data-aa-class'] = 'DisabledFocusableButton';\n }\n }\n\n return definition;\n};\n//# sourceMappingURL=buttonBehavior.js.map\n","// This is a type-only import and this package depends on @types/react\n// eslint-disable-next-line import/no-extraneous-dependencies\n// Heads up! Keep in sync with FocusZone.types.ts\nexport var FocusZoneTabbableElements;\n\n(function (FocusZoneTabbableElements) {\n FocusZoneTabbableElements[FocusZoneTabbableElements[\"none\"] = 0] = \"none\";\n FocusZoneTabbableElements[FocusZoneTabbableElements[\"all\"] = 1] = \"all\";\n FocusZoneTabbableElements[FocusZoneTabbableElements[\"inputOnly\"] = 2] = \"inputOnly\";\n})(FocusZoneTabbableElements || (FocusZoneTabbableElements = {}));\n\nexport var FocusZoneDirection;\n\n(function (FocusZoneDirection) {\n FocusZoneDirection[FocusZoneDirection[\"vertical\"] = 0] = \"vertical\";\n FocusZoneDirection[FocusZoneDirection[\"horizontal\"] = 1] = \"horizontal\";\n FocusZoneDirection[FocusZoneDirection[\"bidirectional\"] = 2] = \"bidirectional\";\n FocusZoneDirection[FocusZoneDirection[\"bidirectionalDomOrder\"] = 3] = \"bidirectionalDomOrder\";\n})(FocusZoneDirection || (FocusZoneDirection = {}));\n//# sourceMappingURL=types.js.map\n","/**\n * Mapping from numeric key code to key name. If the value is an array, the first element is the\n * primary key name, and the second element is the key name when shift is pressed.\n */\nexport var codes = {\n // ----------------------------------------\n // By Code\n // ----------------------------------------\n 3: 'Cancel',\n 6: 'Help',\n 8: 'Backspace',\n 9: 'Tab',\n 12: 'Clear',\n 13: 'Enter',\n 16: 'Shift',\n 17: 'Control',\n 18: 'Alt',\n 19: 'Pause',\n 20: 'CapsLock',\n 27: 'Escape',\n 28: 'Convert',\n 29: 'NonConvert',\n 30: 'Accept',\n 31: 'ModeChange',\n 32: ' ',\n 33: 'PageUp',\n 34: 'PageDown',\n 35: 'End',\n 36: 'Home',\n 37: 'ArrowLeft',\n 38: 'ArrowUp',\n 39: 'ArrowRight',\n 40: 'ArrowDown',\n 41: 'Select',\n 42: 'Print',\n 43: 'Execute',\n 44: 'PrintScreen',\n 45: 'Insert',\n 46: 'Delete',\n 48: ['0', ')'],\n 49: ['1', '!'],\n 50: ['2', '@'],\n 51: ['3', '#'],\n 52: ['4', '$'],\n 53: ['5', '%'],\n 54: ['6', '^'],\n 55: ['7', '&'],\n 56: ['8', '*'],\n 57: ['9', '('],\n 65: ['a', 'A'],\n 66: ['b', 'B'],\n 67: ['c', 'C'],\n 68: ['d', 'D'],\n 69: ['e', 'E'],\n 70: ['f', 'F'],\n 71: ['g', 'G'],\n 72: ['h', 'H'],\n 73: ['i', 'I'],\n 74: ['j', 'J'],\n 75: ['k', 'K'],\n 76: ['l', 'L'],\n 77: ['m', 'M'],\n 78: ['n', 'N'],\n 79: ['o', 'O'],\n 80: ['p', 'P'],\n 81: ['q', 'Q'],\n 82: ['r', 'R'],\n 83: ['s', 'S'],\n 84: ['t', 'T'],\n 85: ['u', 'U'],\n 86: ['v', 'V'],\n 87: ['w', 'W'],\n 88: ['x', 'X'],\n 89: ['y', 'Y'],\n 90: ['z', 'Z'],\n 91: 'OS',\n 93: 'ContextMenu',\n 112: 'F1',\n 113: 'F2',\n 114: 'F3',\n 115: 'F4',\n 116: 'F5',\n 117: 'F6',\n 118: 'F7',\n 119: 'F8',\n 120: 'F9',\n 121: 'F10',\n 122: 'F11',\n 123: 'F12',\n 124: 'F13',\n 125: 'F14',\n 126: 'F15',\n 127: 'F16',\n 128: 'F17',\n 129: 'F18',\n 130: 'F19',\n 131: 'F20',\n 132: 'F21',\n 133: 'F22',\n 134: 'F23',\n 135: 'F24',\n 144: 'NumLock',\n 145: 'ScrollLock',\n 181: 'VolumeMute',\n 182: 'VolumeDown',\n 183: 'VolumeUp',\n 186: [';', ':'],\n 187: ['=', '+'],\n 188: [',', '<'],\n 189: ['-', '_'],\n 190: ['.', '>'],\n 191: ['/', '?'],\n 192: ['`', '~'],\n 219: ['[', '{'],\n 220: ['\\\\', '|'],\n 221: [']', '}'],\n 222: [\"'\", '\"'],\n 224: 'Meta',\n 225: 'AltGraph',\n 246: 'Attn',\n 247: 'CrSel',\n 248: 'ExSel',\n 249: 'EraseEof',\n 250: 'Play',\n 251: 'ZoomOut'\n};\n//# sourceMappingURL=codes.js.map\n","import { codes } from './codes';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nvar isObject = function isObject(val) {\n return val !== null && !Array.isArray(val) && typeof val === 'object';\n};\n/**\n * Get the `keyCode` or `which` value from a keyboard event or `key` name.\n * If an object is provided, the precedence of properties is `keyCode`, `which`, `key`.\n * @param eventOrKey - A keyboard event-like object or `key` name. If an object, at least one of\n * `key`, `keyCode`, or `which` must be defined.\n */\n\n\nexport function getCode(eventOrKey) {\n if (isObject(eventOrKey)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return eventOrKey.keyCode || eventOrKey.which || keyboardKey[eventOrKey.key];\n } // eslint-disable-next-line @typescript-eslint/no-explicit-any\n\n\n return keyboardKey[eventOrKey];\n}\n/**\n * Get the key name from a keyboard event, `keyCode`, or `which` value.\n * If an object is provided, the precedence of properties is `key`, `keyCode`, `which`.\n * @param eventOrCode - A keyboard event-like object or key code. If an object, at least one of\n * `key`, `keyCode`, or `which` must be defined.\n */\n\nexport function getKey(eventOrCode) {\n var isEvent = isObject(eventOrCode);\n var event = eventOrCode; // handle events with a `key` already defined\n\n if (isEvent && event.key) {\n return event.key;\n }\n\n var name = codes[isEvent ? event.keyCode || event.which : eventOrCode];\n\n if (Array.isArray(name)) {\n if (isEvent) {\n name = name[event.shiftKey ? 1 : 0];\n } else {\n name = name[0];\n }\n }\n\n return name;\n}\n/**\n * Mapping of keyboard keys with aliases and codes.\n */\n\nexport var keyboardKey = {}; // Populate names on keyboardKey.\n\nfor (var code in codes) {\n if (codes.hasOwnProperty(code)) {\n var value = codes[code];\n\n if (typeof value === 'string') {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n keyboardKey[value] = Number(code);\n } else {\n // Array of valid values which map to the same code.\n for (var i = 0; i < value.length; i++) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n keyboardKey[value[i]] = Number(code);\n }\n }\n }\n} // As single exports for keys that normally have special functionality attached to them.\n\n\nexport var SpacebarKey = keyboardKey[' '];\nexport var Digit0Key = keyboardKey['0'];\nexport var Digit1Key = keyboardKey['1'];\nexport var Digit2Key = keyboardKey['2'];\nexport var Digit3Key = keyboardKey['3'];\nexport var Digit4Key = keyboardKey['4'];\nexport var Digit5Key = keyboardKey['5'];\nexport var Digit6Key = keyboardKey['6'];\nexport var Digit7Key = keyboardKey['7'];\nexport var Digit8Key = keyboardKey['8'];\nexport var Digit9Key = keyboardKey['9'];\nexport var TildeKey = keyboardKey['~'];\nexport var GraveAccentKey = keyboardKey['`'];\nexport var ExclamationPointKey = keyboardKey['!'];\nexport var AtSignKey = keyboardKey['@'];\nexport var PoundSignKey = keyboardKey['#'];\nexport var PercentSignKey = keyboardKey['%'];\nexport var CaretKey = keyboardKey['^'];\nexport var AmpersandKey = keyboardKey['&'];\nexport var PlusSignKey = keyboardKey['+'];\nexport var MinusSignKey = keyboardKey['-'];\nexport var EqualsSignKey = keyboardKey['='];\nexport var DivisionSignKey = keyboardKey['/'];\nexport var MultiplicationSignKey = keyboardKey['*'];\nexport var CommaKey = keyboardKey[','];\nexport var DecimalKey = keyboardKey['.'];\nexport var ColonKey = keyboardKey[':'];\nexport var SemicolonKey = keyboardKey[';'];\nexport var PipeKey = keyboardKey['|'];\nexport var BackSlashKey = keyboardKey['\\\\'];\nexport var QuestionMarkKey = keyboardKey['?'];\nexport var SingleQuoteKey = keyboardKey[\"'\"];\nexport var DoubleQuoteKey = keyboardKey['\"'];\nexport var LeftCurlyBraceKey = keyboardKey['{'];\nexport var RightCurlyBraceKey = keyboardKey['}'];\nexport var LeftParenthesisKey = keyboardKey['('];\nexport var RightParenthesisKey = keyboardKey[')'];\nexport var LeftAngleBracketKey = keyboardKey['<'];\nexport var RightAngleBracketKey = keyboardKey['>'];\nexport var LeftSquareBracketKey = keyboardKey['['];\nexport var RightSquareBracketKey = keyboardKey[']'];\nexport var ArrowDownKey = keyboardKey.ArrowDown;\nexport var ArrowLeftKey = keyboardKey.ArrowLeft;\nexport var ArrowRightKey = keyboardKey.ArrowRight;\nexport var ArrowUpKey = keyboardKey.ArrowUp;\nexport var EndKey = keyboardKey.End;\nexport var EnterKey = keyboardKey.Enter;\nexport var HomeKey = keyboardKey.Home;\nexport var PageDownKey = keyboardKey.PageDown;\nexport var PageUpKey = keyboardKey.PageUp;\nexport var TabKey = keyboardKey.Tab;\n//# sourceMappingURL=index.js.map\n","function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } it = o[Symbol.iterator](); return it.next.bind(it); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nimport { IS_FOCUSABLE_ATTRIBUTE } from '@fluentui/accessibility';\nimport { getParent, getWindow } from '@uifabric/utilities';\nexport var IS_VISIBLE_ATTRIBUTE = 'data-is-visible';\nexport var FOCUSZONE_ID_ATTRIBUTE = 'data-focuszone-id';\nexport var FOCUSZONE_SUB_ATTRIBUTE = 'data-is-sub-focuszone';\nexport var HIDDEN_FROM_ACC_TREE = 'data-is-hidden-from-acc-tree';\nexport { getDocument, getParent, getWindow } from '@uifabric/utilities';\n/**\n * Gets the first focusable element.\n *\n * @public\n */\n\nexport function getFirstFocusable(rootElement, currentElement, includeElementsInFocusZones) {\n return getNextElement(rootElement, currentElement, true\n /* checkNode */\n , false\n /* suppressParentTraversal */\n , false\n /* suppressChildTraversal */\n , includeElementsInFocusZones);\n}\n/**\n * Gets the last focusable element.\n *\n * @public\n */\n\nexport function getLastFocusable(rootElement, currentElement, includeElementsInFocusZones) {\n return getPreviousElement(rootElement, currentElement, true\n /* checkNode */\n , false\n /* suppressParentTraversal */\n , true\n /* traverseChildren */\n , includeElementsInFocusZones);\n}\n/**\n * Gets the first tabbable element.\n * The difference between focusable and tabbable is that tabbable elements are focusable elements that also have tabIndex != -1.\n * @param rootElement - The parent element to search beneath.\n * @param currentElement - The descendant of rootElement to start the search at. This element is the first one checked,\n * and iteration continues forward. Typical use passes rootElement.firstChild.\n * @param includeElementsInFocusZones - true if traversal should go into FocusZone descendants.\n * @public\n */\n\nexport function getFirstTabbable(rootElement, currentElement, includeElementsInFocusZones, checkNode) {\n return getNextElement(rootElement, currentElement, checkNode, false\n /* suppressParentTraversal */\n , false\n /* suppressChildTraversal */\n , includeElementsInFocusZones, true\n /* tabbable */\n );\n}\n/**\n * Gets the last tabbable element.\n * The difference between focusable and tabbable is that tabbable elements are focusable elements that also have tabIndex != -1.\n * @param rootElement - The parent element to search beneath.\n * @param currentElement - The descendant of rootElement to start the search at. This element is the first one checked,\n * and iteration continues in reverse. Typical use passes rootElement.lastChild.\n * @param includeElementsInFocusZones - true if traversal should go into FocusZone descendants.\n * @public\n */\n\nexport function getLastTabbable(rootElement, currentElement, includeElementsInFocusZones, checkNode) {\n return getPreviousElement(rootElement, currentElement, checkNode, false\n /* suppressParentTraversal */\n , true\n /* traverseChildren */\n , includeElementsInFocusZones, true\n /* tabbable */\n );\n}\n/**\n * Traverse to find the previous element.\n * If tabbable is true, the element must have tabIndex != -1.\n *\n * @public\n */\n\nexport function getPreviousElement(rootElement, currentElement, checkNode, suppressParentTraversal, traverseChildren, includeElementsInFocusZones, tabbable) {\n if (!currentElement || currentElement === rootElement) {\n return null;\n }\n\n var isCurrentElementVisible = isElementVisible(currentElement); // Check its children.\n\n if (traverseChildren && isCurrentElementVisible && (includeElementsInFocusZones || !(isElementFocusZone(currentElement) || isElementFocusSubZone(currentElement)))) {\n var childMatch = getPreviousElement(rootElement, currentElement.lastElementChild, true, true, true, includeElementsInFocusZones, tabbable);\n\n if (childMatch) {\n if (tabbable && isElementTabbable(childMatch, true) || !tabbable) {\n return childMatch;\n }\n\n var childMatchSiblingMatch = getPreviousElement(rootElement, childMatch.previousElementSibling, true, true, true, includeElementsInFocusZones, tabbable);\n\n if (childMatchSiblingMatch) {\n return childMatchSiblingMatch;\n }\n\n var childMatchParent = childMatch.parentElement; // At this point if we have not found any potential matches\n // start looking at the rest of the subtree under the currentParent.\n // NOTE: We do not want to recurse here because doing so could\n // cause elements to get skipped.\n\n while (childMatchParent && childMatchParent !== currentElement) {\n var childMatchParentMatch = getPreviousElement(rootElement, childMatchParent.previousElementSibling, true, true, true, includeElementsInFocusZones, tabbable);\n\n if (childMatchParentMatch) {\n return childMatchParentMatch;\n }\n\n childMatchParent = childMatchParent.parentElement;\n }\n }\n } // Check the current node, if it's not the first traversal.\n\n\n if (checkNode && isCurrentElementVisible && isElementTabbable(currentElement, tabbable)) {\n return currentElement;\n } // Check its previous sibling.\n\n\n var siblingMatch = getPreviousElement(rootElement, currentElement.previousElementSibling, true, true, true, includeElementsInFocusZones, tabbable);\n\n if (siblingMatch) {\n return siblingMatch;\n } // Check its parent.\n\n\n if (!suppressParentTraversal) {\n return getPreviousElement(rootElement, currentElement.parentElement, true, false, false, includeElementsInFocusZones, tabbable);\n }\n\n return null;\n}\n/**\n * Traverse to find the next focusable element.\n * If tabbable is true, the element must have tabIndex != -1.\n *\n * @public\n */\n\nexport function getNextElement(rootElement, currentElement, checkNode, suppressParentTraversal, suppressChildTraversal, includeElementsInFocusZones, tabbable) {\n if (!currentElement || currentElement === rootElement && suppressChildTraversal) {\n return null;\n }\n\n var isCurrentElementVisible = isElementVisible(currentElement); // Check the current node, if it's not the first traversal.\n\n if (checkNode && isCurrentElementVisible && isElementTabbable(currentElement, tabbable)) {\n return currentElement;\n } // Check its children.\n\n\n if (!suppressChildTraversal && isCurrentElementVisible && (includeElementsInFocusZones || !(isElementFocusZone(currentElement) || isElementFocusSubZone(currentElement)))) {\n var childMatch = getNextElement(rootElement, currentElement.firstElementChild, true, true, false, includeElementsInFocusZones, tabbable);\n\n if (childMatch) {\n return childMatch;\n }\n }\n\n if (currentElement === rootElement) {\n return null;\n } // Check its sibling.\n\n\n var siblingMatch = getNextElement(rootElement, currentElement.nextElementSibling, true, true, false, includeElementsInFocusZones, tabbable);\n\n if (siblingMatch) {\n return siblingMatch;\n }\n\n if (!suppressParentTraversal) {\n return getNextElement(rootElement, currentElement.parentElement, false, false, true, includeElementsInFocusZones, tabbable);\n }\n\n return null;\n}\n/**\n * Determines if an element is visible.\n *\n * @public\n */\n\nexport function isElementVisible(element) {\n // If the element is not valid, return false.\n if (!element || !element.getAttribute) {\n return false;\n }\n\n var visibilityAttribute = element.getAttribute(IS_VISIBLE_ATTRIBUTE); // If the element is explicitly marked with the visibility attribute, return that value as boolean.\n\n if (visibilityAttribute !== null && visibilityAttribute !== undefined) {\n return visibilityAttribute === 'true';\n } // Fallback to other methods of determining actual visibility.\n\n\n return element.offsetHeight !== 0 || element.offsetParent !== null || // eslint-disable-next-line @typescript-eslint/no-explicit-any\n element.isVisible === true; // used as a workaround for testing.\n}\n/**\n * Determines if an element can receive focus programmatically or via a mouse click.\n * If checkTabIndex is true, additionally checks to ensure the element can be focused with the tab key, meaning tabIndex != -1.\n *\n * @public\n */\n\nexport function isElementTabbable(element, checkTabIndex) {\n // If this element is null or is disabled, it is not considered tabbable.\n if (!element || element.disabled) {\n return false;\n }\n\n var tabIndex = 0;\n var tabIndexAttributeValue = null;\n\n if (element && element.getAttribute) {\n tabIndexAttributeValue = element.getAttribute('tabIndex');\n\n if (tabIndexAttributeValue) {\n tabIndex = parseInt(tabIndexAttributeValue, 10);\n }\n }\n\n var isFocusableAttribute = element.getAttribute ? element.getAttribute(IS_FOCUSABLE_ATTRIBUTE) : null;\n var isTabIndexSet = tabIndexAttributeValue !== null && tabIndex >= 0;\n var result = !!element && isFocusableAttribute !== 'false' && (element.tagName === 'A' || element.tagName === 'BUTTON' || element.tagName === 'INPUT' || element.tagName === 'TEXTAREA' || isFocusableAttribute === 'true' || isTabIndexSet || element.getAttribute && element.getAttribute('role') === 'button');\n return checkTabIndex ? tabIndex !== -1 && result : result;\n}\n/**\n * Determines if a given element is a focus zone.\n *\n * @public\n */\n\nexport function isElementFocusZone(element) {\n return !!(element && element.getAttribute && !!element.getAttribute(FOCUSZONE_ID_ATTRIBUTE));\n}\n/**\n * Determines if a given element is a focus sub zone.\n *\n * @public\n */\n\nexport function isElementFocusSubZone(element) {\n return !!(element && element.getAttribute && element.getAttribute(FOCUSZONE_SUB_ATTRIBUTE) === 'true');\n}\nvar targetToFocusOnNextRepaint = undefined;\n/**\n * Sets focus to an element asynchronously. The focus will be set at the next browser repaint,\n * meaning it won't cause any extra recalculations. If more than one focusAsync is called during one frame,\n * only the latest called focusAsync element will actually be focused\n * @param element - The element to focus\n */\n\nexport function focusAsync(element) {\n if (element) {\n // An element was already queued to be focused, so replace that one with the new element\n if (targetToFocusOnNextRepaint) {\n targetToFocusOnNextRepaint = element;\n return;\n }\n\n targetToFocusOnNextRepaint = element;\n var win = getWindow(element);\n\n if (win) {\n // element.focus() is a no-op if the element is no longer in the DOM, meaning this is always safe\n win.requestAnimationFrame(function () {\n targetToFocusOnNextRepaint && targetToFocusOnNextRepaint.focus(); // We are done focusing for this frame, so reset the queued focus element\n\n targetToFocusOnNextRepaint = undefined;\n });\n }\n }\n}\n/**\n * Finds the closest focusable element via an index path from a parent. See\n * `getElementIndexPath` for getting an index path from an element to a child.\n */\n\nexport function getFocusableByIndexPath(parent, path) {\n var element = parent;\n\n for (var _iterator = _createForOfIteratorHelperLoose(path), _step; !(_step = _iterator()).done;) {\n var index = _step.value;\n var nextChild = element.children[Math.min(index, element.children.length - 1)];\n\n if (!nextChild) {\n break;\n }\n\n element = nextChild;\n }\n\n element = isElementTabbable(element) && isElementVisible(element) ? element : getNextElement(parent, element, true) || getPreviousElement(parent, element);\n return element;\n}\n/**\n * Finds the element index path from a parent element to a child element.\n *\n * If you had this node structure: \"A has children [B, C] and C has child D\",\n * the index path from A to D would be [1, 0], or `parent.chidren[1].children[0]`.\n */\n\nexport function getElementIndexPath(fromElement, toElement) {\n var path = [];\n var currentElement = toElement;\n\n while (currentElement && fromElement && currentElement !== fromElement) {\n var parent = getParent(currentElement, false);\n\n if (parent === null) {\n return [];\n }\n\n path.unshift(Array.prototype.indexOf.call(parent.children, currentElement));\n currentElement = parent;\n }\n\n return path;\n}\n//# sourceMappingURL=focusUtilities.js.map\n","import { noopRenderer } from '@fluentui/react-northstar-styles-renderer';\nimport { emptyTheme } from '@fluentui/styles';\nimport * as React from 'react';\nexport var defaultPerformanceFlags = {\n enableSanitizeCssPlugin: process.env.NODE_ENV !== 'production',\n enableStylesCaching: true,\n enableVariablesCaching: true,\n enableBooleanVariablesCaching: false\n};\nexport var defaultContextValue = {\n // A default value for `rtl` is undefined to let compute `Provider` a proper one\n rtl: undefined,\n disableAnimations: false,\n performance: defaultPerformanceFlags,\n renderer: noopRenderer,\n theme: emptyTheme,\n telemetry: undefined,\n target: undefined\n};\nvar FluentContext = /*#__PURE__*/React.createContext(defaultContextValue);\nexport function useFluentContext() {\n return React.useContext(FluentContext);\n}\nexport var Unstable_FluentContextProvider = FluentContext.Provider;\n//# sourceMappingURL=context.js.map\n","import * as React from 'react';\n\n// Provides a minimal functionality to render components without styles and without runtime errors.\nvar NoopProvider = function NoopProvider(props) {\n return /*#__PURE__*/React.createElement(React.Fragment, null, props.children);\n};\n\nexport var noopRenderer = {\n registerUsage: function registerUsage() {},\n unregisterUsage: function unregisterUsage() {},\n renderFont: function renderFont() {},\n renderGlobal: function renderGlobal() {},\n renderRule: function renderRule() {\n return '';\n },\n Provider: NoopProvider\n};\n//# sourceMappingURL=noopRenderer.js.map\n","var _rtlKeyMap;\n\nimport { keyboardKey } from '@fluentui/accessibility';\nimport { shouldHandleOnKeys } from './shouldHandleOnKeys';\nvar rtlKeyMap = (_rtlKeyMap = {}, _rtlKeyMap[keyboardKey.ArrowRight] = keyboardKey.ArrowLeft, _rtlKeyMap[keyboardKey.ArrowLeft] = keyboardKey.ArrowRight, _rtlKeyMap);\n/**\n * Assigns onKeyDown handler to the slot element, based on Component's actions\n * and keys mappings defined in Accessibility behavior\n * @param {AccessibilityActionHandlers} componentActionHandlers Actions handlers defined in a component.\n * @param {KeyActions} behaviorActions Mappings of actions and keys defined in Accessibility behavior.\n * @param {boolean} isRtlEnabled Indicates if Left and Right arrow keys should be swapped in RTL mode.\n */\n\nexport var getKeyDownHandlers = function getKeyDownHandlers(componentActionHandlers, behaviorActions, isRtlEnabled) {\n var slotKeyHandlers = {};\n\n if (!componentActionHandlers || !behaviorActions) {\n return slotKeyHandlers;\n }\n\n var componentHandlerNames = Object.keys(componentActionHandlers);\n Object.keys(behaviorActions).forEach(function (slotName) {\n var behaviorSlotActions = behaviorActions[slotName];\n var handledActions = Object.keys(behaviorSlotActions).filter(function (actionName) {\n var slotAction = behaviorSlotActions[actionName];\n var actionHasKeyCombinations = Array.isArray(slotAction.keyCombinations) && slotAction.keyCombinations.length > 0;\n var actionHandledByComponent = componentHandlerNames.indexOf(actionName) !== -1;\n return actionHasKeyCombinations && actionHandledByComponent;\n });\n\n if (handledActions.length > 0) {\n slotKeyHandlers[slotName] = {\n onKeyDown: function onKeyDown(event) {\n handledActions.forEach(function (actionName) {\n var keyCombinations = behaviorSlotActions[actionName].keyCombinations;\n\n if (keyCombinations) {\n if (isRtlEnabled) {\n keyCombinations = keyCombinations.map(function (keyCombination) {\n var keyToRtlKey = rtlKeyMap[keyCombination.keyCode];\n\n if (keyToRtlKey) {\n keyCombination.keyCode = keyToRtlKey;\n }\n\n return keyCombination;\n });\n }\n\n if (shouldHandleOnKeys(event, keyCombinations)) {\n componentActionHandlers[actionName](event);\n }\n }\n });\n }\n };\n }\n });\n return slotKeyHandlers;\n};\n//# sourceMappingURL=getKeyDownHandlers.js.map\n","import { getCode } from '@fluentui/accessibility';\n\nvar isKeyModifiersMatch = function isKeyModifiersMatch(modifierValue, combinationValue) {\n if (combinationValue === undefined) {\n return true;\n }\n\n return modifierValue === combinationValue;\n};\n\nexport var shouldHandleOnKeys = function shouldHandleOnKeys(event, keysCombinations) {\n return keysCombinations.some(function (keysCombination) {\n return keysCombination.keyCode === getCode(event) && isKeyModifiersMatch(event.altKey, keysCombination.altKey) && isKeyModifiersMatch(event.shiftKey, keysCombination.shiftKey) && isKeyModifiersMatch(event.metaKey, keysCombination.metaKey) && isKeyModifiersMatch(event.ctrlKey, keysCombination.ctrlKey);\n });\n};\n//# sourceMappingURL=shouldHandleOnKeys.js.map\n","import { getKeyDownHandlers } from './getKeyDownHandlers';\nvar emptyBehavior = {\n attributes: {},\n keyHandlers: {}\n};\nexport var getAccessibility = function getAccessibility(displayName, behavior, behaviorProps, isRtlEnabled, actionHandlers) {\n if (behavior === null || behavior === undefined) {\n return emptyBehavior;\n }\n\n var definition = behavior(behaviorProps);\n var keyHandlers = actionHandlers && definition.keyActions ? getKeyDownHandlers(actionHandlers, definition.keyActions, isRtlEnabled) : {};\n\n if (definition.focusZone) {\n definition.focusZone.props = Object.assign({\n // maintain behavior of focus zone in v7 behaviors\n preventFocusRestoration: true\n }, definition.focusZone.props);\n }\n\n if (process.env.NODE_ENV !== 'production') {\n // For the non-production builds we enable the runtime accessibility attributes validator.\n // We're adding the data-aa-class attribute which is being consumed by the validator, the\n // schema is located in @fluentui/ability-attributes package.\n if (definition.attributes) {\n Object.keys(definition.attributes).forEach(function (slotName) {\n var validatorName = definition.attributes[slotName]['data-aa-class'] || \"\" + displayName + (slotName === 'root' ? '' : \"__\" + slotName);\n\n if (!definition.attributes[slotName]) {\n definition.attributes[slotName] = {};\n }\n\n definition.attributes[slotName]['data-aa-class'] = validatorName;\n });\n }\n }\n\n return Object.assign({}, emptyBehavior, definition, {\n keyHandlers: keyHandlers\n });\n};\n//# sourceMappingURL=getAccessibility.js.map\n","/** Raises a click event. */\nexport function raiseClick(target) {\n var event = createNewEvent('MouseEvents');\n event.initEvent('click', true, true);\n target.dispatchEvent(event);\n}\nfunction createNewEvent(eventName) {\n var event;\n if (typeof Event === 'function') {\n // Chrome, Opera, Firefox\n event = new Event(eventName);\n }\n else {\n // IE\n event = document.createEvent('Event');\n event.initEvent(eventName, true, true);\n }\n return event;\n}\n//# sourceMappingURL=raiseClick.js.map","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { __assign } from \"tslib\";\nexport var InjectionMode = {\n /**\n * Avoids style injection, use getRules() to read the styles.\n */\n none: 0,\n /**\n * Inserts rules using the insertRule api.\n */\n insertNode: 1,\n /**\n * Appends rules using appendChild.\n */\n appendChild: 2,\n};\nvar STYLESHEET_SETTING = '__stylesheet__';\n/**\n * MSIE 11 doesn't cascade styles based on DOM ordering, but rather on the order that each style node\n * is created. As such, to maintain consistent priority, IE11 should reuse a single style node.\n */\nvar REUSE_STYLE_NODE = typeof navigator !== 'undefined' && /rv:11.0/.test(navigator.userAgent);\nvar _global = {};\n// Grab window.\ntry {\n _global = window;\n}\ncatch (_a) {\n /* leave as blank object */\n}\nvar _stylesheet;\n/**\n * Represents the state of styles registered in the page. Abstracts\n * the surface for adding styles to the stylesheet, exposes helpers\n * for reading the styles registered in server rendered scenarios.\n *\n * @public\n */\nvar Stylesheet = /** @class */ (function () {\n function Stylesheet(config) {\n this._rules = [];\n this._preservedRules = [];\n this._rulesToInsert = [];\n this._counter = 0;\n this._keyToClassName = {};\n this._onResetCallbacks = [];\n this._classNameToArgs = {};\n this._config = __assign({ injectionMode: InjectionMode.insertNode, defaultPrefix: 'css', namespace: undefined, cspSettings: undefined }, config);\n this._keyToClassName = this._config.classNameCache || {};\n }\n /**\n * Gets the singleton instance.\n */\n Stylesheet.getInstance = function () {\n var _a;\n _stylesheet = _global[STYLESHEET_SETTING];\n if (!_stylesheet || (_stylesheet._lastStyleElement && _stylesheet._lastStyleElement.ownerDocument !== document)) {\n var fabricConfig = ((_a = _global) === null || _a === void 0 ? void 0 : _a.FabricConfig) || {};\n _stylesheet = _global[STYLESHEET_SETTING] = new Stylesheet(fabricConfig.mergeStyles);\n }\n return _stylesheet;\n };\n /**\n * Configures the stylesheet.\n */\n Stylesheet.prototype.setConfig = function (config) {\n this._config = __assign(__assign({}, this._config), config);\n };\n /**\n * Configures a reset callback.\n *\n * @param callback - A callback which will be called when the Stylesheet is reset.\n */\n Stylesheet.prototype.onReset = function (callback) {\n this._onResetCallbacks.push(callback);\n };\n /**\n * Generates a unique classname.\n *\n * @param displayName - Optional value to use as a prefix.\n */\n Stylesheet.prototype.getClassName = function (displayName) {\n var namespace = this._config.namespace;\n var prefix = displayName || this._config.defaultPrefix;\n return \"\" + (namespace ? namespace + '-' : '') + prefix + \"-\" + this._counter++;\n };\n /**\n * Used internally to cache information about a class which was\n * registered with the stylesheet.\n */\n Stylesheet.prototype.cacheClassName = function (className, key, args, rules) {\n this._keyToClassName[key] = className;\n this._classNameToArgs[className] = {\n args: args,\n rules: rules,\n };\n };\n /**\n * Gets the appropriate classname given a key which was previously\n * registered using cacheClassName.\n */\n Stylesheet.prototype.classNameFromKey = function (key) {\n return this._keyToClassName[key];\n };\n /**\n * Gets all classnames cache with the stylesheet.\n */\n Stylesheet.prototype.getClassNameCache = function () {\n return this._keyToClassName;\n };\n /**\n * Gets the arguments associated with a given classname which was\n * previously registered using cacheClassName.\n */\n Stylesheet.prototype.argsFromClassName = function (className) {\n var entry = this._classNameToArgs[className];\n return entry && entry.args;\n };\n /**\n * Gets the arguments associated with a given classname which was\n * previously registered using cacheClassName.\n */\n Stylesheet.prototype.insertedRulesFromClassName = function (className) {\n var entry = this._classNameToArgs[className];\n return entry && entry.rules;\n };\n /**\n * Inserts a css rule into the stylesheet.\n * @param preserve - Preserves the rule beyond a reset boundary.\n */\n Stylesheet.prototype.insertRule = function (rule, preserve) {\n var injectionMode = this._config.injectionMode;\n var element = injectionMode !== InjectionMode.none ? this._getStyleElement() : undefined;\n if (preserve) {\n this._preservedRules.push(rule);\n }\n if (element) {\n switch (this._config.injectionMode) {\n case InjectionMode.insertNode:\n var sheet = element.sheet;\n try {\n sheet.insertRule(rule, sheet.cssRules.length);\n }\n catch (e) {\n // The browser will throw exceptions on unsupported rules (such as a moz prefix in webkit.)\n // We need to swallow the exceptions for this scenario, otherwise we'd need to filter\n // which could be slower and bulkier.\n }\n break;\n case InjectionMode.appendChild:\n element.appendChild(document.createTextNode(rule));\n break;\n }\n }\n else {\n this._rules.push(rule);\n }\n if (this._config.onInsertRule) {\n this._config.onInsertRule(rule);\n }\n };\n /**\n * Gets all rules registered with the stylesheet; only valid when\n * using InsertionMode.none.\n */\n Stylesheet.prototype.getRules = function (includePreservedRules) {\n return ((includePreservedRules ? this._preservedRules.join('') : '') + this._rules.join('') + this._rulesToInsert.join(''));\n };\n /**\n * Resets the internal state of the stylesheet. Only used in server\n * rendered scenarios where we're using InsertionMode.none.\n */\n Stylesheet.prototype.reset = function () {\n this._rules = [];\n this._rulesToInsert = [];\n this._counter = 0;\n this._classNameToArgs = {};\n this._keyToClassName = {};\n this._onResetCallbacks.forEach(function (callback) { return callback(); });\n };\n // Forces the regeneration of incoming styles without totally resetting the stylesheet.\n Stylesheet.prototype.resetKeys = function () {\n this._keyToClassName = {};\n };\n Stylesheet.prototype._getStyleElement = function () {\n var _this = this;\n if (!this._styleElement && typeof document !== 'undefined') {\n this._styleElement = this._createStyleElement();\n if (!REUSE_STYLE_NODE) {\n // Reset the style element on the next frame.\n window.requestAnimationFrame(function () {\n _this._styleElement = undefined;\n });\n }\n }\n return this._styleElement;\n };\n Stylesheet.prototype._createStyleElement = function () {\n var head = document.head;\n var styleElement = document.createElement('style');\n var nodeToInsertBefore = null;\n styleElement.setAttribute('data-merge-styles', 'true');\n var cspSettings = this._config.cspSettings;\n if (cspSettings) {\n if (cspSettings.nonce) {\n styleElement.setAttribute('nonce', cspSettings.nonce);\n }\n }\n if (this._lastStyleElement) {\n // If the `nextElementSibling` is null, then the insertBefore will act as a regular append.\n // https://developer.mozilla.org/en-US/docs/Web/API/Node/insertBefore#Syntax\n nodeToInsertBefore = this._lastStyleElement.nextElementSibling;\n }\n else {\n var placeholderStyleTag = this._findPlaceholderStyleTag();\n if (placeholderStyleTag) {\n nodeToInsertBefore = placeholderStyleTag.nextElementSibling;\n }\n else {\n nodeToInsertBefore = head.childNodes[0];\n }\n }\n head.insertBefore(styleElement, head.contains(nodeToInsertBefore) ? nodeToInsertBefore : null);\n this._lastStyleElement = styleElement;\n return styleElement;\n };\n Stylesheet.prototype._findPlaceholderStyleTag = function () {\n var head = document.head;\n if (head) {\n return head.querySelector('style[data-merge-styles]');\n }\n return null;\n };\n return Stylesheet;\n}());\nexport { Stylesheet };\n//# sourceMappingURL=Stylesheet.js.map","/**\n * Sets the current RTL value.\n */\nexport function setRTL(isRTL) {\n if (_rtl !== isRTL) {\n _rtl = isRTL;\n }\n}\n/**\n * Gets the current RTL value.\n */\nexport function getRTL() {\n if (_rtl === undefined) {\n _rtl =\n typeof document !== 'undefined' &&\n !!document.documentElement &&\n document.documentElement.getAttribute('dir') === 'rtl';\n }\n return _rtl;\n}\n// This has been split into 2 lines because it was working in Fabric due to the code being transpiled to es5, so this\n// was converted to var while not working in Fluent that uses babel to transpile the code to be es6-like. Splitting the\n// logic into two lines, however, allows it to work in both scenarios.\nvar _rtl;\n_rtl = getRTL();\nexport function getStyleOptions() {\n return {\n rtl: getRTL(),\n };\n}\n//# sourceMappingURL=StyleOptionsState.js.map","var rules = {};\nexport function kebabRules(rulePairs, index) {\n var rule = rulePairs[index];\n if (rule.charAt(0) !== '-') {\n rulePairs[index] = rules[rule] = rules[rule] || rule.replace(/([A-Z])/g, '-$1').toLowerCase();\n }\n}\n//# sourceMappingURL=kebabRules.js.map","var _vendorSettings;\nexport function getVendorSettings() {\n var _a, _b;\n if (!_vendorSettings) {\n var doc = typeof document !== 'undefined' ? document : undefined;\n var nav = typeof navigator !== 'undefined' ? navigator : undefined;\n var userAgent = (_b = (_a = nav) === null || _a === void 0 ? void 0 : _a.userAgent) === null || _b === void 0 ? void 0 : _b.toLowerCase();\n if (!doc) {\n _vendorSettings = {\n isWebkit: true,\n isMoz: true,\n isOpera: true,\n isMs: true,\n };\n }\n else {\n _vendorSettings = {\n isWebkit: !!(doc && 'WebkitAppearance' in doc.documentElement.style),\n isMoz: !!(userAgent && userAgent.indexOf('firefox') > -1),\n isOpera: !!(userAgent && userAgent.indexOf('opera') > -1),\n isMs: !!(nav && (/rv:11.0/i.test(nav.userAgent) || /Edge\\/\\d./i.test(navigator.userAgent))),\n };\n }\n }\n return _vendorSettings;\n}\n/**\n * Sets the vendor settings for prefixing and vendor specific operations.\n */\nexport function setVendorSettings(vendorSettings) {\n _vendorSettings = vendorSettings;\n}\n//# sourceMappingURL=getVendorSettings.js.map","import { getVendorSettings } from '../getVendorSettings';\nvar autoPrefixNames = {\n 'user-select': 1,\n};\nexport function prefixRules(rulePairs, index) {\n var vendorSettings = getVendorSettings();\n var name = rulePairs[index];\n if (autoPrefixNames[name]) {\n var value = rulePairs[index + 1];\n if (autoPrefixNames[name]) {\n if (vendorSettings.isWebkit) {\n rulePairs.push('-webkit-' + name, value);\n }\n if (vendorSettings.isMoz) {\n rulePairs.push('-moz-' + name, value);\n }\n if (vendorSettings.isMs) {\n rulePairs.push('-ms-' + name, value);\n }\n if (vendorSettings.isOpera) {\n rulePairs.push('-o-' + name, value);\n }\n }\n }\n}\n//# sourceMappingURL=prefixRules.js.map","var NON_PIXEL_NUMBER_PROPS = [\n 'column-count',\n 'font-weight',\n 'flex',\n 'flex-grow',\n 'flex-shrink',\n 'fill-opacity',\n 'opacity',\n 'order',\n 'z-index',\n 'zoom',\n];\nexport function provideUnits(rulePairs, index) {\n var name = rulePairs[index];\n var value = rulePairs[index + 1];\n if (typeof value === 'number') {\n var isNonPixelProp = NON_PIXEL_NUMBER_PROPS.indexOf(name) > -1;\n var isVariableOrPrefixed = name.indexOf('--') > -1;\n var unit = isNonPixelProp || isVariableOrPrefixed ? '' : 'px';\n rulePairs[index + 1] = \"\" + value + unit;\n }\n}\n//# sourceMappingURL=provideUnits.js.map","var _a;\nvar LEFT = 'left';\nvar RIGHT = 'right';\nvar NO_FLIP = '@noflip';\nvar NAME_REPLACEMENTS = (_a = {},\n _a[LEFT] = RIGHT,\n _a[RIGHT] = LEFT,\n _a);\nvar VALUE_REPLACEMENTS = {\n 'w-resize': 'e-resize',\n 'sw-resize': 'se-resize',\n 'nw-resize': 'ne-resize',\n};\n/**\n * RTLifies the rulePair in the array at the current index. This mutates the array for performance\n * reasons.\n */\nexport function rtlifyRules(options, rulePairs, index) {\n if (options.rtl) {\n var name_1 = rulePairs[index];\n if (!name_1) {\n return;\n }\n var value = rulePairs[index + 1];\n if (typeof value === 'string' && value.indexOf(NO_FLIP) >= 0) {\n rulePairs[index + 1] = value.replace(/\\s*(?:\\/\\*\\s*)?\\@noflip\\b(?:\\s*\\*\\/)?\\s*?/g, '');\n }\n else if (name_1.indexOf(LEFT) >= 0) {\n rulePairs[index] = name_1.replace(LEFT, RIGHT);\n }\n else if (name_1.indexOf(RIGHT) >= 0) {\n rulePairs[index] = name_1.replace(RIGHT, LEFT);\n }\n else if (String(value).indexOf(LEFT) >= 0) {\n rulePairs[index + 1] = value.replace(LEFT, RIGHT);\n }\n else if (String(value).indexOf(RIGHT) >= 0) {\n rulePairs[index + 1] = value.replace(RIGHT, LEFT);\n }\n else if (NAME_REPLACEMENTS[name_1]) {\n rulePairs[index] = NAME_REPLACEMENTS[name_1];\n }\n else if (VALUE_REPLACEMENTS[value]) {\n rulePairs[index + 1] = VALUE_REPLACEMENTS[value];\n }\n else {\n switch (name_1) {\n case 'margin':\n case 'padding':\n rulePairs[index + 1] = flipQuad(value);\n break;\n case 'box-shadow':\n rulePairs[index + 1] = negateNum(value, 0);\n break;\n }\n }\n }\n}\n/**\n * Given a string value in a space delimited format (e.g. \"1 2 3 4\"), negates a particular value.\n */\nfunction negateNum(value, partIndex) {\n var parts = value.split(' ');\n var numberVal = parseInt(parts[partIndex], 10);\n parts[0] = parts[0].replace(String(numberVal), String(numberVal * -1));\n return parts.join(' ');\n}\n/**\n * Given a string quad, flips the left and right values.\n */\nfunction flipQuad(value) {\n if (typeof value === 'string') {\n var parts = value.split(' ');\n if (parts.length === 4) {\n return parts[0] + \" \" + parts[3] + \" \" + parts[2] + \" \" + parts[1];\n }\n }\n return value;\n}\n//# sourceMappingURL=rtlifyRules.js.map","import { __spreadArrays } from \"tslib\";\nimport { Stylesheet } from './Stylesheet';\nimport { kebabRules } from './transforms/kebabRules';\nimport { prefixRules } from './transforms/prefixRules';\nimport { provideUnits } from './transforms/provideUnits';\nimport { rtlifyRules } from './transforms/rtlifyRules';\nvar DISPLAY_NAME = 'displayName';\nfunction getDisplayName(rules) {\n var rootStyle = rules && rules['&'];\n return rootStyle ? rootStyle.displayName : undefined;\n}\nvar globalSelectorRegExp = /\\:global\\((.+?)\\)/g;\n/**\n * Finds comma separated selectors in a :global() e.g. \":global(.class1, .class2, .class3)\"\n * and wraps them each in their own global \":global(.class1), :global(.class2), :global(.class3)\"\n *\n * @param selectorWithGlobals The selector to process\n * @returns The updated selector\n */\nfunction expandCommaSeparatedGlobals(selectorWithGlobals) {\n // We the selector does not have a :global() we can shortcut\n if (!globalSelectorRegExp.test(selectorWithGlobals)) {\n return selectorWithGlobals;\n }\n var replacementInfo = [];\n var findGlobal = /\\:global\\((.+?)\\)/g;\n var match = null;\n // Create a result list for global selectors so we can replace them.\n while ((match = findGlobal.exec(selectorWithGlobals))) {\n // Only if the found selector is a comma separated list we'll process it.\n if (match[1].indexOf(',') > -1) {\n replacementInfo.push([\n match.index,\n match.index + match[0].length,\n // Wrap each of the found selectors in :global()\n match[1]\n .split(',')\n .map(function (v) { return \":global(\" + v.trim() + \")\"; })\n .join(', '),\n ]);\n }\n }\n // Replace the found selectors with their wrapped variants in reverse order\n return replacementInfo\n .reverse()\n .reduce(function (selector, _a) {\n var matchIndex = _a[0], matchEndIndex = _a[1], replacement = _a[2];\n var prefix = selector.slice(0, matchIndex);\n var suffix = selector.slice(matchEndIndex);\n return prefix + replacement + suffix;\n }, selectorWithGlobals);\n}\nfunction expandSelector(newSelector, currentSelector) {\n if (newSelector.indexOf(':global(') >= 0) {\n return newSelector.replace(globalSelectorRegExp, '$1');\n }\n else if (newSelector.indexOf(':') === 0) {\n return currentSelector + newSelector;\n }\n else if (newSelector.indexOf('&') < 0) {\n return currentSelector + ' ' + newSelector;\n }\n return newSelector;\n}\nfunction extractSelector(currentSelector, rules, selector, value) {\n if (rules === void 0) { rules = { __order: [] }; }\n if (selector.indexOf('@') === 0) {\n selector = selector + '{' + currentSelector;\n extractRules([value], rules, selector);\n }\n else if (selector.indexOf(',') > -1) {\n expandCommaSeparatedGlobals(selector)\n .split(',')\n .map(function (s) { return s.trim(); })\n .forEach(function (separatedSelector) {\n return extractRules([value], rules, expandSelector(separatedSelector, currentSelector));\n });\n }\n else {\n extractRules([value], rules, expandSelector(selector, currentSelector));\n }\n}\nfunction extractRules(args, rules, currentSelector) {\n if (rules === void 0) { rules = { __order: [] }; }\n if (currentSelector === void 0) { currentSelector = '&'; }\n var stylesheet = Stylesheet.getInstance();\n var currentRules = rules[currentSelector];\n if (!currentRules) {\n currentRules = {};\n rules[currentSelector] = currentRules;\n rules.__order.push(currentSelector);\n }\n for (var _i = 0, args_1 = args; _i < args_1.length; _i++) {\n var arg = args_1[_i];\n // If the arg is a string, we need to look up the class map and merge.\n if (typeof arg === 'string') {\n var expandedRules = stylesheet.argsFromClassName(arg);\n if (expandedRules) {\n extractRules(expandedRules, rules, currentSelector);\n }\n // Else if the arg is an array, we need to recurse in.\n }\n else if (Array.isArray(arg)) {\n extractRules(arg, rules, currentSelector);\n }\n else {\n for (var prop in arg) {\n if (arg.hasOwnProperty(prop)) {\n var propValue = arg[prop];\n if (prop === 'selectors') {\n // every child is a selector.\n var selectors = arg.selectors;\n for (var newSelector in selectors) {\n if (selectors.hasOwnProperty(newSelector)) {\n extractSelector(currentSelector, rules, newSelector, selectors[newSelector]);\n }\n }\n }\n else if (typeof propValue === 'object') {\n // prop is a selector.\n if (propValue !== null) {\n extractSelector(currentSelector, rules, prop, propValue);\n }\n }\n else {\n if (propValue !== undefined) {\n // Else, add the rule to the currentSelector.\n if (prop === 'margin' || prop === 'padding') {\n expandQuads(currentRules, prop, propValue);\n }\n else {\n currentRules[prop] = propValue;\n }\n }\n }\n }\n }\n }\n }\n return rules;\n}\nfunction expandQuads(currentRules, name, value) {\n var parts = typeof value === 'string' ? value.split(' ') : [value];\n currentRules[name + 'Top'] = parts[0];\n currentRules[name + 'Right'] = parts[1] || parts[0];\n currentRules[name + 'Bottom'] = parts[2] || parts[0];\n currentRules[name + 'Left'] = parts[3] || parts[1] || parts[0];\n}\nfunction getKeyForRules(options, rules) {\n var serialized = [options.rtl ? 'rtl' : 'ltr'];\n var hasProps = false;\n for (var _i = 0, _a = rules.__order; _i < _a.length; _i++) {\n var selector = _a[_i];\n serialized.push(selector);\n var rulesForSelector = rules[selector];\n for (var propName in rulesForSelector) {\n if (rulesForSelector.hasOwnProperty(propName) && rulesForSelector[propName] !== undefined) {\n hasProps = true;\n serialized.push(propName, rulesForSelector[propName]);\n }\n }\n }\n return hasProps ? serialized.join('') : undefined;\n}\nfunction repeatString(target, count) {\n if (count <= 0) {\n return '';\n }\n if (count === 1) {\n return target;\n }\n return target + repeatString(target, count - 1);\n}\nexport function serializeRuleEntries(options, ruleEntries) {\n if (!ruleEntries) {\n return '';\n }\n var allEntries = [];\n for (var entry in ruleEntries) {\n if (ruleEntries.hasOwnProperty(entry) && entry !== DISPLAY_NAME && ruleEntries[entry] !== undefined) {\n allEntries.push(entry, ruleEntries[entry]);\n }\n }\n // Apply transforms.\n for (var i = 0; i < allEntries.length; i += 2) {\n kebabRules(allEntries, i);\n provideUnits(allEntries, i);\n rtlifyRules(options, allEntries, i);\n prefixRules(allEntries, i);\n }\n // Apply punctuation.\n for (var i = 1; i < allEntries.length; i += 4) {\n allEntries.splice(i, 1, ':', allEntries[i], ';');\n }\n return allEntries.join('');\n}\nexport function styleToRegistration(options) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n var rules = extractRules(args);\n var key = getKeyForRules(options, rules);\n if (key) {\n var stylesheet = Stylesheet.getInstance();\n var registration = {\n className: stylesheet.classNameFromKey(key),\n key: key,\n args: args,\n };\n if (!registration.className) {\n registration.className = stylesheet.getClassName(getDisplayName(rules));\n var rulesToInsert = [];\n for (var _a = 0, _b = rules.__order; _a < _b.length; _a++) {\n var selector = _b[_a];\n rulesToInsert.push(selector, serializeRuleEntries(options, rules[selector]));\n }\n registration.rulesToInsert = rulesToInsert;\n }\n return registration;\n }\n return undefined;\n}\n/**\n * Insert style to stylesheet.\n * @param registration Style registration.\n * @param specificityMultiplier Number of times classname selector is repeated in the css rule.\n * This is to increase css specificity in case it's needed. Default to 1.\n */\nexport function applyRegistration(registration, specificityMultiplier) {\n if (specificityMultiplier === void 0) { specificityMultiplier = 1; }\n var stylesheet = Stylesheet.getInstance();\n var className = registration.className, key = registration.key, args = registration.args, rulesToInsert = registration.rulesToInsert;\n if (rulesToInsert) {\n // rulesToInsert is an ordered array of selector/rule pairs.\n for (var i = 0; i < rulesToInsert.length; i += 2) {\n var rules = rulesToInsert[i + 1];\n if (rules) {\n var selector = rulesToInsert[i];\n selector = selector.replace(/&/g, repeatString(\".\" + registration.className, specificityMultiplier));\n // Insert. Note if a media query, we must close the query with a final bracket.\n var processedRule = selector + \"{\" + rules + \"}\" + (selector.indexOf('@') === 0 ? '}' : '');\n stylesheet.insertRule(processedRule);\n }\n }\n stylesheet.cacheClassName(className, key, args, rulesToInsert);\n }\n}\nexport function styleToClassName(options) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n var registration = styleToRegistration.apply(void 0, __spreadArrays([options], args));\n if (registration) {\n applyRegistration(registration, options.specificityMultiplier);\n return registration.className;\n }\n return '';\n}\n//# sourceMappingURL=styleToClassName.js.map","import { extractStyleParts } from './extractStyleParts';\nimport { getStyleOptions } from './StyleOptionsState';\nimport { styleToClassName } from './styleToClassName';\n/**\n * Concatenation helper, which can merge class names together. Skips over falsey values.\n *\n * @public\n */\nexport function mergeStyles() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return mergeCss(args, getStyleOptions());\n}\n/**\n * Concatenation helper, which can merge class names together. Skips over falsey values.\n * Accepts a set of options that will be used when calculating styles.\n *\n * @public\n */\nexport function mergeCss(args, options) {\n var styleArgs = args instanceof Array ? args : [args];\n var _a = extractStyleParts(styleArgs), classes = _a.classes, objects = _a.objects;\n if (objects.length) {\n classes.push(styleToClassName(options || {}, objects));\n }\n return classes.join(' ');\n}\n//# sourceMappingURL=mergeStyles.js.map","import { Stylesheet } from './Stylesheet';\n/**\n * Separates the classes and style objects. Any classes that are pre-registered\n * args are auto expanded into objects.\n */\nexport function extractStyleParts() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var classes = [];\n var objects = [];\n var stylesheet = Stylesheet.getInstance();\n function _processArgs(argsList) {\n for (var _i = 0, argsList_1 = argsList; _i < argsList_1.length; _i++) {\n var arg = argsList_1[_i];\n if (arg) {\n if (typeof arg === 'string') {\n if (arg.indexOf(' ') >= 0) {\n _processArgs(arg.split(' '));\n }\n else {\n var translatedArgs = stylesheet.argsFromClassName(arg);\n if (translatedArgs) {\n _processArgs(translatedArgs);\n }\n else {\n // Avoid adding the same class twice.\n if (classes.indexOf(arg) === -1) {\n classes.push(arg);\n }\n }\n }\n }\n else if (Array.isArray(arg)) {\n _processArgs(arg);\n }\n else if (typeof arg === 'object') {\n objects.push(arg);\n }\n }\n }\n }\n _processArgs(args);\n return {\n classes: classes,\n objects: objects,\n };\n}\n//# sourceMappingURL=extractStyleParts.js.map","import { getDocument } from './dom/getDocument';\nimport { mergeStyles } from '@uifabric/merge-styles';\nimport { getWindow } from './dom/getWindow';\nvar _scrollbarWidth;\nvar _bodyScrollDisabledCount = 0;\nvar DisabledScrollClassName = mergeStyles({\n overflow: 'hidden !important',\n});\n/**\n * Placing this attribute on scrollable divs optimizes detection to know\n * if the div is scrollable or not (given we can avoid expensive operations\n * like getComputedStyle.)\n *\n * @public\n */\nexport var DATA_IS_SCROLLABLE_ATTRIBUTE = 'data-is-scrollable';\n/**\n * Allows the user to scroll within a element,\n * while preventing the user from scrolling the body\n */\nexport var allowScrollOnElement = function (element, events) {\n if (!element) {\n return;\n }\n var _previousClientY = 0;\n var _element = null;\n // remember the clientY for future calls of _preventOverscrolling\n var _saveClientY = function (event) {\n if (event.targetTouches.length === 1) {\n _previousClientY = event.targetTouches[0].clientY;\n }\n };\n // prevent the body from scrolling when the user attempts\n // to scroll past the top or bottom of the element\n var _preventOverscrolling = function (event) {\n // only respond to a single-finger touch\n if (event.targetTouches.length !== 1) {\n return;\n }\n // prevent the body touchmove handler from firing\n // so that scrolling is allowed within the element\n event.stopPropagation();\n if (!_element) {\n return;\n }\n var clientY = event.targetTouches[0].clientY - _previousClientY;\n var scrollableParent = findScrollableParent(event.target);\n if (scrollableParent) {\n _element = scrollableParent;\n }\n // if the element is scrolled to the top,\n // prevent the user from scrolling up\n if (_element.scrollTop === 0 && clientY > 0) {\n event.preventDefault();\n }\n // if the element is scrolled to the bottom,\n // prevent the user from scrolling down\n if (_element.scrollHeight - Math.ceil(_element.scrollTop) <= _element.clientHeight && clientY < 0) {\n event.preventDefault();\n }\n };\n events.on(element, 'touchstart', _saveClientY, { passive: false });\n events.on(element, 'touchmove', _preventOverscrolling, { passive: false });\n _element = element;\n};\n/**\n * Same as allowScrollOnElement but does not prevent overscrolling.\n */\nexport var allowOverscrollOnElement = function (element, events) {\n if (!element) {\n return;\n }\n var _allowElementScroll = function (event) {\n event.stopPropagation();\n };\n events.on(element, 'touchmove', _allowElementScroll, { passive: false });\n};\nvar _disableIosBodyScroll = function (event) {\n event.preventDefault();\n};\n/**\n * Disables the body scrolling.\n *\n * @public\n */\nexport function disableBodyScroll() {\n var doc = getDocument();\n if (doc && doc.body && !_bodyScrollDisabledCount) {\n doc.body.classList.add(DisabledScrollClassName);\n doc.body.addEventListener('touchmove', _disableIosBodyScroll, { passive: false, capture: false });\n }\n _bodyScrollDisabledCount++;\n}\n/**\n * Enables the body scrolling.\n *\n * @public\n */\nexport function enableBodyScroll() {\n if (_bodyScrollDisabledCount > 0) {\n var doc = getDocument();\n if (doc && doc.body && _bodyScrollDisabledCount === 1) {\n doc.body.classList.remove(DisabledScrollClassName);\n doc.body.removeEventListener('touchmove', _disableIosBodyScroll);\n }\n _bodyScrollDisabledCount--;\n }\n}\n/**\n * Calculates the width of a scrollbar for the browser/os.\n *\n * @public\n */\nexport function getScrollbarWidth() {\n if (_scrollbarWidth === undefined) {\n var scrollDiv = document.createElement('div');\n scrollDiv.style.setProperty('width', '100px');\n scrollDiv.style.setProperty('height', '100px');\n scrollDiv.style.setProperty('overflow', 'scroll');\n scrollDiv.style.setProperty('position', 'absolute');\n scrollDiv.style.setProperty('top', '-9999px');\n document.body.appendChild(scrollDiv);\n // Get the scrollbar width\n _scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth;\n // Delete the DIV\n document.body.removeChild(scrollDiv);\n }\n return _scrollbarWidth;\n}\n/**\n * Traverses up the DOM for the element with the data-is-scrollable=true attribute, or returns\n * document.body.\n *\n * @public\n */\nexport function findScrollableParent(startingElement) {\n var el = startingElement;\n var doc = getDocument(startingElement);\n // First do a quick scan for the scrollable attribute.\n while (el && el !== doc.body) {\n if (el.getAttribute(DATA_IS_SCROLLABLE_ATTRIBUTE) === 'true') {\n return el;\n }\n el = el.parentElement;\n }\n // If we haven't found it, the use the slower method: compute styles to evaluate if overflow is set.\n el = startingElement;\n while (el && el !== doc.body) {\n if (el.getAttribute(DATA_IS_SCROLLABLE_ATTRIBUTE) !== 'false') {\n var computedStyles = getComputedStyle(el);\n var overflowY = computedStyles ? computedStyles.getPropertyValue('overflow-y') : '';\n if (overflowY && (overflowY === 'scroll' || overflowY === 'auto')) {\n return el;\n }\n }\n el = el.parentElement;\n }\n // Fall back to window scroll.\n if (!el || el === doc.body) {\n el = getWindow(startingElement);\n }\n return el;\n}\n//# sourceMappingURL=scroll.js.map","import { getParent } from './getParent';\n/**\n * Finds the first parent element where the matchFunction returns true\n * @param element - element to start searching at\n * @param matchFunction - the function that determines if the element is a match\n * @returns the matched element or null no match was found\n */\nexport function findElementRecursive(element, matchFunction) {\n if (!element || element === document.body) {\n return null;\n }\n return matchFunction(element) ? element : findElementRecursive(getParent(element), matchFunction);\n}\n//# sourceMappingURL=findElementRecursive.js.map","import { findElementRecursive } from './findElementRecursive';\n/**\n * Determines if an element, or any of its ancestors, contain the given attribute\n * @param element - element to start searching at\n * @param attribute - the attribute to search for\n * @returns the value of the first instance found\n */\nexport function elementContainsAttribute(element, attribute) {\n var elementMatch = findElementRecursive(element, function (testElement) { return testElement.hasAttribute(attribute); });\n return elementMatch && elementMatch.getAttribute(attribute);\n}\n//# sourceMappingURL=elementContainsAttribute.js.map","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport _invoke from \"lodash/invoke\";\nimport _keys from \"lodash/keys\";\nimport _uniqueId from \"lodash/uniqueId\";\nimport { FocusZoneDirection, FocusZoneTabbableElements, IS_ENTER_DISABLED_ATTRIBUTE, IS_FOCUSABLE_ATTRIBUTE, getCode, keyboardKey, SpacebarKey } from '@fluentui/accessibility';\nimport * as React from 'react';\nimport cx from 'classnames';\nimport * as ReactDOM from 'react-dom';\nimport * as PropTypes from 'prop-types';\nimport { elementContains, findScrollableParent, getDocument as _getDocument, getParent, getWindow, raiseClick, shouldWrapFocus as _shouldWrapFocus } from '@uifabric/utilities';\nimport { getElementType } from '../utils/getElementType';\nimport { getUnhandledProps } from '../utils/getUnhandledProps';\nimport { getNextElement, getPreviousElement, isElementFocusZone, isElementFocusSubZone, isElementTabbable, getElementIndexPath, getFocusableByIndexPath, FOCUSZONE_ID_ATTRIBUTE } from './focusUtilities';\nvar TABINDEX = 'tabindex';\nvar NO_VERTICAL_WRAP = 'data-no-vertical-wrap';\nvar NO_HORIZONTAL_WRAP = 'data-no-horizontal-wrap';\nvar LARGE_DISTANCE_FROM_CENTER = 999999999;\nvar LARGE_NEGATIVE_DISTANCE_FROM_CENTER = -999999999;\nvar _allInstances = {};\nvar outerZones = {\n _windowToOuterZoneMap: new Map(),\n register: function register(window, FZ) {\n var _this$_windowToOuterZ2;\n\n if (this._windowToOuterZoneMap.get(window)) {\n var _this$_windowToOuterZ;\n\n (_this$_windowToOuterZ = this._windowToOuterZoneMap.get(window)) == null ? void 0 : _this$_windowToOuterZ.add(FZ);\n } else {\n this._windowToOuterZoneMap.set(window, new Set([FZ]));\n }\n\n return (_this$_windowToOuterZ2 = this._windowToOuterZoneMap.get(window)) == null ? void 0 : _this$_windowToOuterZ2.size;\n },\n unregister: function unregister(window, FZ) {\n var _this$_windowToOuterZ3, _this$_windowToOuterZ4;\n\n (_this$_windowToOuterZ3 = this._windowToOuterZoneMap.get(window)) == null ? void 0 : _this$_windowToOuterZ3.delete(FZ);\n\n if (((_this$_windowToOuterZ4 = this._windowToOuterZoneMap.get(window)) == null ? void 0 : _this$_windowToOuterZ4.size) === 0) {\n this._windowToOuterZoneMap.delete(window);\n }\n },\n getOutZone: function getOutZone(window) {\n return this._windowToOuterZoneMap.get(window);\n }\n};\nvar ALLOWED_INPUT_TYPES = ['text', 'number', 'password', 'email', 'tel', 'url', 'search'];\nvar ALLOW_VIRTUAL_ELEMENTS = false;\n/**\n * Handle global tab presses so that we can patch tabindexes on the fly.\n */\n\nfunction _onKeyDownCapture(ev) {\n if (getCode(ev) === keyboardKey.Tab) {\n var _outerZones$getOutZon;\n\n (_outerZones$getOutZon = outerZones.getOutZone(getWindow(ev.target))) == null ? void 0 : _outerZones$getOutZon.forEach(function (zone) {\n return zone.updateTabIndexes();\n });\n }\n}\n\nexport var FocusZone = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(FocusZone, _React$Component);\n\n /** The most recently focused child element. */\n\n /**\n * The index path to the last focused child element.\n */\n\n /**\n * Flag to define when we've intentionally parked focus on the root element to temporarily\n * hold focus until items appear within the zone.\n */\n\n /** The child element with tabindex=0. */\n\n /** Used to allow us to move to next focusable element even when we're focusing on a input element when pressing tab */\n function FocusZone(props) {\n var _this;\n\n _this = _React$Component.call(this, props) || this;\n _this._root = {\n current: null\n };\n _this._id = void 0;\n _this._activeElement = void 0;\n _this._lastIndexPath = void 0;\n _this._isParked = false;\n _this._parkedTabIndex = void 0;\n _this._defaultFocusElement = void 0;\n _this._focusAlignment = void 0;\n _this._isInnerZone = void 0;\n _this._processingTabKey = void 0;\n _this.windowElement = void 0;\n\n _this.setRef = function (elem) {\n // findDOMNode needed to get correct DOM ref with react-hot-loader, see https://github.com/gaearon/react-hot-loader/issues/964\n _this._root.current = ReactDOM.findDOMNode(elem);\n };\n\n _this._onBlur = function () {\n _this.setParkedFocus(false);\n };\n\n _this._onFocus = function (ev) {\n var _this$props = _this.props,\n onActiveElementChanged = _this$props.onActiveElementChanged,\n stopFocusPropagation = _this$props.stopFocusPropagation,\n shouldFocusInnerElementWhenReceivedFocus = _this$props.shouldFocusInnerElementWhenReceivedFocus,\n defaultTabbableElement = _this$props.defaultTabbableElement;\n var newActiveElement;\n\n var isImmediateDescendant = _this.isImmediateDescendantOfZone(ev.target);\n\n if (isImmediateDescendant) {\n newActiveElement = ev.target;\n } else {\n var parentElement = ev.target;\n\n while (parentElement && parentElement !== _this._root.current) {\n if (isElementTabbable(parentElement) && _this.isImmediateDescendantOfZone(parentElement)) {\n newActiveElement = parentElement;\n break;\n }\n\n parentElement = getParent(parentElement, ALLOW_VIRTUAL_ELEMENTS);\n }\n } // If an inner focusable element should be focused when FocusZone container receives focus\n\n\n if (shouldFocusInnerElementWhenReceivedFocus && ev.target === _this._root.current) {\n var maybeElementToFocus = defaultTabbableElement && typeof defaultTabbableElement === 'function' && defaultTabbableElement(_this._root.current); // try to focus defaultTabbable element\n\n if (maybeElementToFocus && isElementTabbable(maybeElementToFocus)) {\n newActiveElement = maybeElementToFocus;\n maybeElementToFocus.focus();\n } else {\n // force focus on first focusable element\n _this.focus(true);\n\n if (_this._activeElement) {\n // set to null as new active element was handled in method above\n newActiveElement = null;\n }\n }\n }\n\n if (newActiveElement && newActiveElement !== _this._activeElement) {\n _this._activeElement = newActiveElement;\n\n if (isImmediateDescendant) {\n _this.setFocusAlignment(_this._activeElement);\n\n _this.updateTabIndexes();\n }\n }\n\n if (onActiveElementChanged) {\n onActiveElementChanged(_this._activeElement, ev);\n }\n\n if (stopFocusPropagation) {\n ev.stopPropagation();\n }\n\n _invoke(_this.props, 'onFocus', ev);\n };\n\n _this._onMouseDown = function (ev) {\n var disabled = _this.props.disabled;\n\n if (disabled) {\n return;\n }\n\n var target = ev.target;\n var path = [];\n\n while (target && target !== _this._root.current) {\n path.push(target);\n target = getParent(target, ALLOW_VIRTUAL_ELEMENTS);\n }\n\n while (path.length) {\n target = path.pop();\n\n if (target && isElementTabbable(target)) {\n _this.setActiveElement(target, true);\n }\n\n if (isElementFocusZone(target)) {\n // Stop here since the focus zone will take care of its own children.\n break;\n }\n }\n };\n\n _this._onKeyDown = function (ev) {\n var _this$props2 = _this.props,\n direction = _this$props2.direction,\n disabled = _this$props2.disabled,\n shouldEnterInnerZone = _this$props2.shouldEnterInnerZone,\n pagingSupportDisabled = _this$props2.pagingSupportDisabled;\n\n if (disabled) {\n return undefined;\n }\n\n var doc = _getDocument(_this._root.current);\n\n if (_this.props.onKeyDown) {\n _this.props.onKeyDown(ev);\n } // @ts-ignore\n\n\n if (doc.activeElement === _this._root.current && _this._isInnerZone) {\n // If this element has focus, it is being controlled by a parent.\n // Ignore the keystroke.\n return undefined;\n } // If the default has been prevented, do not process keyboard events.\n\n\n if (ev.isDefaultPrevented()) {\n return undefined;\n }\n\n if (shouldEnterInnerZone && shouldEnterInnerZone(ev) && _this.isImmediateDescendantOfZone(ev.target)) {\n // Try to focus\n var innerZone = _this.getFirstInnerZone();\n\n if (innerZone) {\n if (!innerZone.focus(true)) {\n return undefined;\n }\n } else if (isElementFocusSubZone(ev.target)) {\n if (!_this.focusElement(getNextElement(ev.target, ev.target.firstChild, true))) {\n return undefined;\n }\n } else {\n return undefined;\n }\n } else if (ev.altKey) {\n return undefined;\n } else {\n switch (getCode(ev)) {\n case SpacebarKey:\n // @ts-ignore\n if (_this.tryInvokeClickForFocusable(ev.target)) {\n break;\n }\n\n return undefined;\n\n case keyboardKey.ArrowLeft:\n if (direction !== FocusZoneDirection.vertical) {\n _this.preventDefaultWhenHandled(ev);\n\n if (_this.moveFocusLeft()) {\n break;\n }\n }\n\n return undefined;\n\n case keyboardKey.ArrowRight:\n if (direction !== FocusZoneDirection.vertical) {\n _this.preventDefaultWhenHandled(ev);\n\n if (_this.moveFocusRight()) {\n break;\n }\n }\n\n return undefined;\n\n case keyboardKey.ArrowUp:\n if (direction !== FocusZoneDirection.horizontal) {\n _this.preventDefaultWhenHandled(ev);\n\n if (_this.moveFocusUp()) {\n break;\n }\n }\n\n return undefined;\n\n case keyboardKey.ArrowDown:\n if (direction !== FocusZoneDirection.horizontal) {\n _this.preventDefaultWhenHandled(ev);\n\n if (_this.moveFocusDown()) {\n break;\n }\n }\n\n return undefined;\n\n case keyboardKey.PageDown:\n if (!pagingSupportDisabled && _this.moveFocusPaging(true)) {\n break;\n }\n\n return undefined;\n\n case keyboardKey.PageUp:\n if (!pagingSupportDisabled && _this.moveFocusPaging(false)) {\n break;\n }\n\n return undefined;\n\n case keyboardKey.Tab:\n if (_this.props.handleTabKey === FocusZoneTabbableElements.all || _this.props.handleTabKey === FocusZoneTabbableElements.inputOnly && _this.isElementInput(ev.target)) {\n var focusChanged = false;\n _this._processingTabKey = true;\n\n if (direction === FocusZoneDirection.vertical || !_this.shouldWrapFocus(_this._activeElement, NO_HORIZONTAL_WRAP)) {\n focusChanged = ev.shiftKey ? _this.moveFocusUp() : _this.moveFocusDown();\n } else {\n var tabWithDirection = _this.props.isRtl ? !ev.shiftKey : ev.shiftKey;\n focusChanged = tabWithDirection ? _this.moveFocusLeft() : _this.moveFocusRight();\n }\n\n _this._processingTabKey = false;\n\n if (focusChanged) {\n break;\n }\n } else if (_this.props.shouldResetActiveElementWhenTabFromZone) {\n _this._activeElement = null;\n }\n\n return undefined;\n\n case keyboardKey.Home:\n if (_this.isContentEditableElement(ev.target) || _this.isElementInput(ev.target) && !_this.shouldInputLoseFocus(ev.target, false)) {\n return false;\n }\n\n var firstChild = _this._root.current && _this._root.current.firstChild;\n\n if (_this._root.current && firstChild && _this.focusElement(getNextElement(_this._root.current, firstChild, true))) {\n break;\n }\n\n return undefined;\n\n case keyboardKey.End:\n if (_this.isContentEditableElement(ev.target) || _this.isElementInput(ev.target) && !_this.shouldInputLoseFocus(ev.target, false)) {\n return false;\n }\n\n var lastChild = _this._root.current && _this._root.current.lastChild;\n\n if (_this._root.current && _this.focusElement(getPreviousElement(_this._root.current, lastChild, true, true, true))) {\n break;\n }\n\n return undefined;\n\n case keyboardKey.Enter:\n // @ts-ignore\n if (_this.tryInvokeClickForFocusable(ev.target)) {\n break;\n }\n\n return undefined;\n\n default:\n return undefined;\n }\n }\n\n ev.preventDefault();\n ev.stopPropagation();\n return undefined;\n };\n\n _this.getHorizontalDistanceFromCenter = function (isForward, activeRect, targetRect) {\n var leftAlignment = _this._focusAlignment.left; // ClientRect values can be floats that differ by very small fractions of a decimal.\n // If the difference between top and bottom are within a pixel then we should treat\n // them as equivalent by using Math.floor. For instance 5.2222 and 5.222221 should be equivalent,\n // but without Math.Floor they will be handled incorrectly.\n\n var targetRectTop = Math.floor(targetRect.top);\n var activeRectBottom = Math.floor(activeRect.bottom);\n var targetRectBottom = Math.floor(targetRect.bottom);\n var activeRectTop = Math.floor(activeRect.top);\n var isValidCandidateOnpagingDown = isForward && targetRectTop > activeRectBottom;\n var isValidCandidateOnpagingUp = !isForward && targetRectBottom < activeRectTop;\n\n if (isValidCandidateOnpagingDown || isValidCandidateOnpagingUp) {\n if (leftAlignment >= targetRect.left && leftAlignment <= targetRect.left + targetRect.width) {\n return 0;\n }\n\n return Math.abs(targetRect.left + targetRect.width / 2 - leftAlignment);\n }\n\n if (!_this.shouldWrapFocus(_this._activeElement, NO_VERTICAL_WRAP)) {\n return LARGE_NEGATIVE_DISTANCE_FROM_CENTER;\n }\n\n return LARGE_DISTANCE_FROM_CENTER;\n };\n\n _this._id = _uniqueId('FocusZone');\n _this._focusAlignment = {\n left: 0,\n top: 0\n };\n _this._processingTabKey = false;\n return _this;\n }\n\n var _proto = FocusZone.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n _allInstances[this._id] = this;\n this.setRef(this); // called here to support functional components, we only need HTMLElement ref anyway\n\n if (!this._root.current) {\n return;\n } // @ts-ignore\n\n\n this.windowElement = getWindow(this._root.current);\n var parentElement = getParent(this._root.current, ALLOW_VIRTUAL_ELEMENTS);\n\n var doc = _getDocument(this._root.current); // @ts-ignore\n\n\n while (parentElement && parentElement !== doc.body && parentElement.nodeType === 1) {\n if (isElementFocusZone(parentElement)) {\n this._isInnerZone = true;\n break;\n }\n\n parentElement = getParent(parentElement, ALLOW_VIRTUAL_ELEMENTS);\n }\n\n if (!this._isInnerZone && this.windowElement) {\n var _outerZones$getOutZon2;\n\n outerZones.register(this.windowElement, this);\n\n if (((_outerZones$getOutZon2 = outerZones.getOutZone(this.windowElement)) == null ? void 0 : _outerZones$getOutZon2.size) === 1) {\n this.windowElement.addEventListener('keydown', _onKeyDownCapture, true);\n }\n }\n\n this._root.current.addEventListener('blur', this._onBlur, true); // Assign initial tab indexes so that we can set initial focus as appropriate.\n\n\n this.updateTabIndexes();\n\n if (this.props.defaultTabbableElement && typeof this.props.defaultTabbableElement === 'string') {\n this._activeElement = this.getDocument().querySelector(this.props.defaultTabbableElement);\n }\n\n if (this.props.shouldFocusOnMount) {\n this.focus();\n }\n };\n\n _proto.componentDidUpdate = function componentDidUpdate() {\n if (!this._root.current) {\n return;\n }\n\n var doc = _getDocument(this._root.current);\n\n if (doc && this._lastIndexPath && (doc.activeElement === doc.body || doc.activeElement === null || !this.props.preventFocusRestoration && doc.activeElement === this._root.current)) {\n // The element has been removed after the render, attempt to restore focus.\n var elementToFocus = getFocusableByIndexPath(this._root.current, this._lastIndexPath);\n\n if (elementToFocus) {\n this.setActiveElement(elementToFocus, true);\n elementToFocus.focus();\n this.setParkedFocus(false);\n } else {\n // We had a focus path to restore, but now that path is unresolvable. Park focus\n // on the container until we can try again.\n this.setParkedFocus(true);\n }\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n delete _allInstances[this._id];\n outerZones.unregister(this.windowElement, this);\n\n if (!this._isInnerZone) {\n if (this.windowElement && !outerZones.getOutZone(this.windowElement)) {\n this.windowElement.removeEventListener('keydown', _onKeyDownCapture, true);\n }\n }\n\n if (this._root.current) {\n this._root.current.removeEventListener('blur', this._onBlur, true);\n }\n\n this._activeElement = null;\n this._defaultFocusElement = null;\n };\n\n _proto.render = function render() {\n var className = this.props.className;\n var ElementType = getElementType(this.props);\n var unhandledProps = getUnhandledProps(_keys(FocusZone.propTypes), this.props); // Note, right before rendering/reconciling proceeds, we need to record if focus\n // was in the zone before the update. This helper will track this and, if focus\n // was actually in the zone, what the index path to the element is at this time.\n // Then, later in componentDidUpdate, we can evaluate if we need to restore it in\n // the case the element was removed.\n\n this.evaluateFocusBeforeRender();\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, unhandledProps, {\n className: cx(FocusZone.className, className),\n \"data-focuszone-id\": this._id,\n onKeyDown: this._onKeyDown,\n onFocus: this._onFocus,\n onMouseDownCapture: this._onMouseDown\n }), this.props.children);\n }\n /**\n * Sets focus to the first tabbable item in the zone.\n * @param forceIntoFirstElement - If true, focus will be forced into the first element, even if focus is already in the focus zone.\n * @returns True if focus could be set to an active element, false if no operation was taken.\n */\n ;\n\n _proto.focus = function focus(forceIntoFirstElement) {\n if (forceIntoFirstElement === void 0) {\n forceIntoFirstElement = false;\n }\n\n if (this._root.current) {\n if (!forceIntoFirstElement && this._root.current.getAttribute(IS_FOCUSABLE_ATTRIBUTE) === 'true' && this._isInnerZone) {\n var ownerZoneElement = this.getOwnerZone(this._root.current);\n\n if (ownerZoneElement !== this._root.current) {\n var ownerZone = _allInstances[ownerZoneElement.getAttribute(FOCUSZONE_ID_ATTRIBUTE)];\n\n return !!ownerZone && ownerZone.focusElement(this._root.current);\n }\n\n return false;\n }\n\n if (!forceIntoFirstElement && this._activeElement && elementContains(this._root.current, this._activeElement, ALLOW_VIRTUAL_ELEMENTS) && isElementTabbable(this._activeElement)) {\n this._activeElement.focus();\n\n return true;\n }\n\n var firstChild = this._root.current.firstChild;\n return this.focusElement(getNextElement(this._root.current, firstChild, true));\n }\n\n return false;\n }\n /**\n * Sets focus to the last tabbable item in the zone.\n * @returns True if focus could be set to an active element, false if no operation was taken.\n */\n ;\n\n _proto.focusLast = function focusLast() {\n if (this._root.current) {\n var lastChild = this._root.current && this._root.current.lastChild;\n return this.focusElement(getPreviousElement(this._root.current, lastChild, true, true, true));\n }\n\n return false;\n }\n /**\n * Sets focus to a specific child element within the zone. This can be used in conjunction with\n * shouldReceiveFocus to create delayed focus scenarios (like animate the scroll position to the correct\n * location and then focus.)\n * @param element - The child element within the zone to focus.\n * @param forceAlignment - If true, focus alignment will be set according to the element provided.\n * @returns True if focus could be set to an active element, false if no operation was taken.\n */\n ;\n\n _proto.focusElement = function focusElement(element, forceAlignment) {\n var shouldReceiveFocus = this.props.shouldReceiveFocus;\n\n if (shouldReceiveFocus && !shouldReceiveFocus(element)) {\n return false;\n }\n\n if (element) {\n this.setActiveElement(element, forceAlignment);\n\n if (this._activeElement) {\n this._activeElement.focus();\n }\n\n return true;\n }\n\n return false;\n };\n\n // Record if focus was in the zone, what the index path to the element is at this time.\n _proto.evaluateFocusBeforeRender = function evaluateFocusBeforeRender() {\n if (!this._root.current) {\n return;\n }\n\n var doc = _getDocument(this._root.current);\n\n if (!doc) {\n return;\n }\n\n var focusedElement = doc.activeElement; // Only update the index path if we are not parked on the root.\n\n if (focusedElement !== this._root.current) {\n var shouldRestoreFocus = elementContains(this._root.current, focusedElement, ALLOW_VIRTUAL_ELEMENTS);\n this._lastIndexPath = shouldRestoreFocus ? getElementIndexPath(this._root.current, doc.activeElement) : undefined;\n }\n }\n /**\n * When focus is in the zone at render time but then all focusable elements are removed,\n * we \"park\" focus temporarily on the root. Once we update with focusable children, we restore\n * focus to the closest path from previous. If the user tabs away from the parked container,\n * we restore focusability to the pre-parked state.\n */\n ;\n\n _proto.setParkedFocus = function setParkedFocus(isParked) {\n if (this._root.current && this._isParked !== isParked) {\n this._isParked = isParked;\n\n if (isParked) {\n if (!this.props.allowFocusRoot) {\n this._parkedTabIndex = this._root.current.getAttribute('tabindex');\n\n this._root.current.setAttribute('tabindex', '-1');\n }\n\n this._root.current.focus();\n } else if (!this.props.allowFocusRoot) {\n if (this._parkedTabIndex) {\n this._root.current.setAttribute('tabindex', this._parkedTabIndex);\n\n this._parkedTabIndex = undefined;\n } else {\n this._root.current.removeAttribute('tabindex');\n }\n }\n }\n };\n\n _proto.setActiveElement = function setActiveElement(element, forceAlignment) {\n var previousActiveElement = this._activeElement;\n this._activeElement = element;\n\n if (previousActiveElement) {\n if (isElementFocusZone(previousActiveElement)) {\n this.updateTabIndexes(previousActiveElement);\n }\n\n previousActiveElement.tabIndex = -1;\n }\n\n if (this._activeElement) {\n if (!this._focusAlignment || forceAlignment) {\n this.setFocusAlignment(element, true, true);\n }\n\n this._activeElement.tabIndex = 0;\n }\n };\n\n _proto.preventDefaultWhenHandled = function preventDefaultWhenHandled(ev) {\n this.props.preventDefaultWhenHandled && ev.preventDefault();\n }\n /**\n * Handle the keystrokes.\n */\n ;\n\n /**\n * Walk up the dom try to find a focusable element.\n */\n _proto.tryInvokeClickForFocusable = function tryInvokeClickForFocusable(targetElement) {\n var target = targetElement;\n\n if (target === this._root.current || !this.props.shouldRaiseClicks) {\n return false;\n }\n\n do {\n if (target.tagName === 'BUTTON' || target.tagName === 'A' || target.tagName === 'INPUT' || target.tagName === 'TEXTAREA') {\n return false;\n }\n\n if (this.isImmediateDescendantOfZone(target) && target.getAttribute(IS_FOCUSABLE_ATTRIBUTE) === 'true' && target.getAttribute(IS_ENTER_DISABLED_ATTRIBUTE) !== 'true') {\n raiseClick(target);\n return true;\n }\n\n target = getParent(target, ALLOW_VIRTUAL_ELEMENTS);\n } while (target !== this._root.current);\n\n return false;\n }\n /**\n * Traverse to find first child zone.\n */\n ;\n\n _proto.getFirstInnerZone = function getFirstInnerZone(forRootElement) {\n var rootElement = forRootElement || this._activeElement || this._root.current;\n\n if (!rootElement) {\n return null;\n }\n\n if (isElementFocusZone(rootElement)) {\n return _allInstances[rootElement.getAttribute(FOCUSZONE_ID_ATTRIBUTE)];\n }\n\n var child = rootElement.firstElementChild;\n\n while (child) {\n if (isElementFocusZone(child)) {\n return _allInstances[child.getAttribute(FOCUSZONE_ID_ATTRIBUTE)];\n }\n\n var match = this.getFirstInnerZone(child);\n\n if (match) {\n return match;\n }\n\n child = child.nextElementSibling;\n }\n\n return null;\n };\n\n _proto.moveFocus = function moveFocus(isForward, getDistanceFromCenter, // @ts-ignore\n ev, useDefaultWrap) {\n if (useDefaultWrap === void 0) {\n useDefaultWrap = true;\n }\n\n var element = this._activeElement;\n var candidateDistance = -1;\n var candidateElement = undefined;\n var changedFocus = false;\n var isBidirectional = this.props.direction === FocusZoneDirection.bidirectional;\n\n if (!element || !this._root.current) {\n return false;\n }\n\n if (this.isElementInput(element)) {\n if (!this.shouldInputLoseFocus(element, isForward)) {\n return false;\n }\n }\n\n var activeRect = isBidirectional ? element.getBoundingClientRect() : null;\n\n do {\n element = isForward ? getNextElement(this._root.current, element) : getPreviousElement(this._root.current, element);\n\n if (isBidirectional) {\n if (element) {\n var _targetRect = element.getBoundingClientRect();\n\n var elementDistance = getDistanceFromCenter(activeRect, _targetRect);\n\n if (elementDistance === -1 && candidateDistance === -1) {\n candidateElement = element;\n break;\n }\n\n if (elementDistance > -1 && (candidateDistance === -1 || elementDistance < candidateDistance)) {\n candidateDistance = elementDistance;\n candidateElement = element;\n }\n\n if (candidateDistance >= 0 && elementDistance < 0) {\n break;\n }\n }\n } else {\n candidateElement = element;\n break;\n }\n } while (element); // Focus the closest candidate\n\n\n if (candidateElement && candidateElement !== this._activeElement) {\n changedFocus = true;\n this.focusElement(candidateElement);\n } else if (this.props.isCircularNavigation && useDefaultWrap) {\n if (isForward) {\n return this.focusElement(getNextElement(this._root.current, this._root.current.firstElementChild, true));\n }\n\n return this.focusElement(getPreviousElement(this._root.current, this._root.current.lastElementChild, true, true, true));\n }\n\n return changedFocus;\n };\n\n _proto.moveFocusDown = function moveFocusDown() {\n var _this2 = this;\n\n var targetTop = -1;\n var leftAlignment = this._focusAlignment.left;\n\n if (this.moveFocus(true, function (activeRect, targetRect) {\n var distance = -1; // ClientRect values can be floats that differ by very small fractions of a decimal.\n // If the difference between top and bottom are within a pixel then we should treat\n // them as equivalent by using Math.floor. For instance 5.2222 and 5.222221 should be equivalent,\n // but without Math.Floor they will be handled incorrectly.\n\n var targetRectTop = Math.floor(targetRect.top);\n var activeRectBottom = Math.floor(activeRect.bottom);\n\n if (targetRectTop < activeRectBottom) {\n if (!_this2.shouldWrapFocus(_this2._activeElement, NO_VERTICAL_WRAP)) {\n return LARGE_NEGATIVE_DISTANCE_FROM_CENTER;\n }\n\n return LARGE_DISTANCE_FROM_CENTER;\n }\n\n if (targetTop === -1 && targetRectTop >= activeRectBottom || targetRectTop === targetTop) {\n targetTop = targetRectTop;\n\n if (leftAlignment >= targetRect.left && leftAlignment <= targetRect.left + targetRect.width) {\n distance = 0;\n } else {\n distance = Math.abs(targetRect.left + targetRect.width / 2 - leftAlignment);\n }\n }\n\n return distance;\n })) {\n this.setFocusAlignment(this._activeElement, true, true);\n return true;\n }\n\n return false;\n };\n\n _proto.moveFocusUp = function moveFocusUp() {\n var _this3 = this;\n\n var targetTop = -1;\n var leftAlignment = this._focusAlignment.left;\n\n if (this.moveFocus(false, function (activeRect, targetRect) {\n var distance = -1; // ClientRect values can be floats that differ by very small fractions of a decimal.\n // If the difference between top and bottom are within a pixel then we should treat\n // them as equivalent by using Math.floor. For instance 5.2222 and 5.222221 should be equivalent,\n // but without Math.Floor they will be handled incorrectly.\n\n var targetRectBottom = Math.floor(targetRect.bottom);\n var targetRectTop = Math.floor(targetRect.top);\n var activeRectTop = Math.floor(activeRect.top);\n\n if (targetRectBottom > activeRectTop) {\n if (!_this3.shouldWrapFocus(_this3._activeElement, NO_VERTICAL_WRAP)) {\n return LARGE_NEGATIVE_DISTANCE_FROM_CENTER;\n }\n\n return LARGE_DISTANCE_FROM_CENTER;\n }\n\n if (targetTop === -1 && targetRectBottom <= activeRectTop || targetRectTop === targetTop) {\n targetTop = targetRectTop;\n\n if (leftAlignment >= targetRect.left && leftAlignment <= targetRect.left + targetRect.width) {\n distance = 0;\n } else {\n distance = Math.abs(targetRect.left + targetRect.width / 2 - leftAlignment);\n }\n }\n\n return distance;\n })) {\n this.setFocusAlignment(this._activeElement, true, true);\n return true;\n }\n\n return false;\n };\n\n _proto.moveFocusLeft = function moveFocusLeft() {\n var _this4 = this;\n\n var shouldWrap = this.shouldWrapFocus(this._activeElement, NO_HORIZONTAL_WRAP);\n\n if (this.moveFocus( // @ts-ignore\n this.props.isRtl, function (activeRect, targetRect) {\n var distance = -1;\n var topBottomComparison;\n\n if (_this4.props.isRtl) {\n // When in RTL, this comparison should be the same as the one in moveFocusRight for LTR.\n // Going left at a leftmost rectangle will go down a line instead of up a line like in LTR.\n // This is important, because we want to be comparing the top of the target rect\n // with the bottom of the active rect.\n topBottomComparison = parseFloat(targetRect.top.toFixed(3)) < parseFloat(activeRect.bottom.toFixed(3));\n } else {\n topBottomComparison = parseFloat(targetRect.bottom.toFixed(3)) > parseFloat(activeRect.top.toFixed(3));\n }\n\n if (topBottomComparison && targetRect.right <= activeRect.right && _this4.props.direction !== FocusZoneDirection.vertical) {\n distance = activeRect.right - targetRect.right;\n } else if (!shouldWrap) {\n distance = LARGE_NEGATIVE_DISTANCE_FROM_CENTER;\n }\n\n return distance;\n }, undefined\n /* ev */\n , shouldWrap)) {\n this.setFocusAlignment(this._activeElement, true, false);\n return true;\n }\n\n return false;\n };\n\n _proto.moveFocusRight = function moveFocusRight() {\n var _this5 = this;\n\n var shouldWrap = this.shouldWrapFocus(this._activeElement, NO_HORIZONTAL_WRAP);\n\n if (this.moveFocus(!this.props.isRtl, function (activeRect, targetRect) {\n var distance = -1;\n var topBottomComparison;\n\n if (_this5.props.isRtl) {\n // When in RTL, this comparison should be the same as the one in moveFocusLeft for LTR.\n // Going right at a rightmost rectangle will go up a line instead of down a line like in LTR.\n // This is important, because we want to be comparing the bottom of the target rect\n // with the top of the active rect.\n topBottomComparison = parseFloat(targetRect.bottom.toFixed(3)) > parseFloat(activeRect.top.toFixed(3));\n } else {\n topBottomComparison = parseFloat(targetRect.top.toFixed(3)) < parseFloat(activeRect.bottom.toFixed(3));\n }\n\n if (topBottomComparison && targetRect.left >= activeRect.left && _this5.props.direction !== FocusZoneDirection.vertical) {\n distance = targetRect.left - activeRect.left;\n } else if (!shouldWrap) {\n distance = LARGE_NEGATIVE_DISTANCE_FROM_CENTER;\n }\n\n return distance;\n }, undefined\n /* ev */\n , shouldWrap)) {\n this.setFocusAlignment(this._activeElement, true, false);\n return true;\n }\n\n return false;\n };\n\n _proto.moveFocusPaging = function moveFocusPaging(isForward, useDefaultWrap) {\n if (useDefaultWrap === void 0) {\n useDefaultWrap = true;\n }\n\n var element = this._activeElement;\n\n if (!element || !this._root.current) {\n return false;\n }\n\n if (this.isElementInput(element)) {\n if (!this.shouldInputLoseFocus(element, isForward)) {\n return false;\n }\n }\n\n var scrollableParent = findScrollableParent(element);\n\n if (!scrollableParent) {\n return false;\n }\n\n var candidateDistance = -1;\n var candidateElement = undefined;\n var targetTop = -1;\n var targetBottom = -1;\n var pagesize = scrollableParent.clientHeight;\n var activeRect = element.getBoundingClientRect();\n\n do {\n element = isForward ? getNextElement(this._root.current, element) : getPreviousElement(this._root.current, element);\n\n if (element) {\n var _targetRect2 = element.getBoundingClientRect();\n\n var targetRectTop = Math.floor(_targetRect2.top);\n var activeRectBottom = Math.floor(activeRect.bottom);\n var targetRectBottom = Math.floor(_targetRect2.bottom);\n var activeRectTop = Math.floor(activeRect.top);\n var elementDistance = this.getHorizontalDistanceFromCenter(isForward, activeRect, _targetRect2);\n var isElementPassedPageSizeOnPagingDown = isForward && targetRectTop > activeRectBottom + pagesize;\n var isElementPassedPageSizeOnPagingUp = !isForward && targetRectBottom < activeRectTop - pagesize;\n\n if (isElementPassedPageSizeOnPagingDown || isElementPassedPageSizeOnPagingUp) {\n break;\n }\n\n if (elementDistance > -1) {\n // for paging down\n if (isForward && targetRectTop > targetTop) {\n targetTop = targetRectTop;\n candidateDistance = elementDistance;\n candidateElement = element;\n } else if (!isForward && targetRectBottom < targetBottom) {\n // for paging up\n targetBottom = targetRectBottom;\n candidateDistance = elementDistance;\n candidateElement = element;\n } else if (candidateDistance === -1 || elementDistance <= candidateDistance) {\n candidateDistance = elementDistance;\n candidateElement = element;\n }\n }\n }\n } while (element);\n\n var changedFocus = false; // Focus the closest candidate\n\n if (candidateElement && candidateElement !== this._activeElement) {\n changedFocus = true;\n this.focusElement(candidateElement);\n this.setFocusAlignment(candidateElement, false, true);\n } else if (this.props.isCircularNavigation && useDefaultWrap) {\n if (isForward) {\n return this.focusElement(getNextElement(this._root.current, this._root.current.firstElementChild, true));\n }\n\n return this.focusElement(getPreviousElement(this._root.current, this._root.current.lastElementChild, true, true, true));\n }\n\n return changedFocus;\n };\n\n _proto.setFocusAlignment = function setFocusAlignment(element, isHorizontal, isVertical) {\n if (this.props.direction === FocusZoneDirection.bidirectional && (!this._focusAlignment || isHorizontal || isVertical)) {\n var rect = element.getBoundingClientRect();\n var left = rect.left + rect.width / 2;\n var top = rect.top + rect.height / 2;\n\n if (!this._focusAlignment) {\n this._focusAlignment = {\n left: left,\n top: top\n };\n }\n\n if (isHorizontal) {\n this._focusAlignment.left = left;\n }\n\n if (isVertical) {\n this._focusAlignment.top = top;\n }\n }\n };\n\n _proto.isImmediateDescendantOfZone = function isImmediateDescendantOfZone(element) {\n return this.getOwnerZone(element) === this._root.current;\n };\n\n _proto.getOwnerZone = function getOwnerZone(element) {\n var doc = _getDocument(this._root.current);\n\n var parentElement = getParent(element, ALLOW_VIRTUAL_ELEMENTS); // @ts-ignore\n\n while (parentElement && parentElement !== this._root.current && parentElement !== doc.body) {\n if (isElementFocusZone(parentElement)) {\n return parentElement;\n }\n\n parentElement = getParent(parentElement, ALLOW_VIRTUAL_ELEMENTS);\n }\n\n return this._root.current;\n };\n\n _proto.updateTabIndexes = function updateTabIndexes(onElement) {\n var element = onElement;\n\n if (!this._activeElement && this.props.defaultTabbableElement && typeof this.props.defaultTabbableElement === 'function') {\n this._activeElement = this.props.defaultTabbableElement(this._root.current);\n }\n\n if (!element && this._root.current) {\n this._defaultFocusElement = null;\n element = this._root.current;\n\n if (this._activeElement && !elementContains(element, this._activeElement, ALLOW_VIRTUAL_ELEMENTS)) {\n this._activeElement = null;\n }\n } // If active element changes state to disabled, set it to null.\n // Otherwise, we lose keyboard accessibility to other elements in focus zone.\n\n\n if (this._activeElement && !isElementTabbable(this._activeElement)) {\n this._activeElement = null;\n }\n\n var childNodes = element && element.children;\n\n for (var childIndex = 0; childNodes && childIndex < childNodes.length; childIndex++) {\n var child = childNodes[childIndex];\n\n if (!isElementFocusZone(child)) {\n // If the item is explicitly set to not be focusable then TABINDEX needs to be set to -1.\n if (child.getAttribute && child.getAttribute(IS_FOCUSABLE_ATTRIBUTE) === 'false') {\n child.setAttribute(TABINDEX, '-1');\n }\n\n if (isElementTabbable(child)) {\n if (this.props.disabled) {\n child.setAttribute(TABINDEX, '-1');\n } else if (!this._isInnerZone && (!this._activeElement && !this._defaultFocusElement || this._activeElement === child)) {\n this._defaultFocusElement = child;\n\n if (child.getAttribute(TABINDEX) !== '0') {\n child.setAttribute(TABINDEX, '0');\n }\n } else if (child.getAttribute(TABINDEX) !== '-1') {\n child.setAttribute(TABINDEX, '-1');\n }\n } else if (child.tagName === 'svg' && child.getAttribute('focusable') !== 'false') {\n // Disgusting IE hack. Sad face.\n child.setAttribute('focusable', 'false');\n }\n } else if (child.getAttribute(IS_FOCUSABLE_ATTRIBUTE) === 'true') {\n if (!this._isInnerZone && (!this._activeElement && !this._defaultFocusElement || this._activeElement === child)) {\n this._defaultFocusElement = child;\n\n if (child.getAttribute(TABINDEX) !== '0') {\n child.setAttribute(TABINDEX, '0');\n }\n } else if (child.getAttribute(TABINDEX) !== '-1') {\n child.setAttribute(TABINDEX, '-1');\n }\n }\n\n this.updateTabIndexes(child);\n }\n };\n\n _proto.isContentEditableElement = function isContentEditableElement(element) {\n return element && element.getAttribute('contenteditable') === 'true';\n };\n\n _proto.isElementInput = function isElementInput(element) {\n if (element && element.tagName && (element.tagName.toLowerCase() === 'input' || element.tagName.toLowerCase() === 'textarea')) {\n return true;\n }\n\n return false;\n };\n\n _proto.shouldInputLoseFocus = function shouldInputLoseFocus(element, isForward) {\n // If a tab was used, we want to focus on the next element.\n if (!this._processingTabKey && element && element.type && ALLOWED_INPUT_TYPES.indexOf(element.type.toLowerCase()) > -1) {\n var selectionStart = element.selectionStart;\n var selectionEnd = element.selectionEnd;\n var isRangeSelected = selectionStart !== selectionEnd;\n var inputValue = element.value;\n var isReadonly = element.readOnly; // We shouldn't lose focus in the following cases:\n // 1. There is range selected.\n // 2. When selection start is larger than 0 and it is backward and not readOnly.\n // 3. when selection start is not the end of length and it is forward and not readOnly.\n // 4. We press any of the arrow keys when our handleTabKey isn't none or undefined (only losing focus if we hit tab)\n // and if shouldInputLoseFocusOnArrowKey is defined, if scenario prefers to not loose the focus which is determined by calling the\n // callback shouldInputLoseFocusOnArrowKey\n\n if (isRangeSelected || selectionStart > 0 && !isForward && !isReadonly || selectionStart !== inputValue.length && isForward && !isReadonly || !!this.props.handleTabKey && !(this.props.shouldInputLoseFocusOnArrowKey && this.props.shouldInputLoseFocusOnArrowKey(element))) {\n return false;\n }\n }\n\n return true;\n };\n\n _proto.shouldWrapFocus = function shouldWrapFocus(element, noWrapDataAttribute) {\n return !!this.props.checkForNoWrap ? _shouldWrapFocus(element, noWrapDataAttribute) : true;\n };\n\n _proto.getDocument = function getDocument() {\n return _getDocument(this._root.current);\n };\n\n return FocusZone;\n}(React.Component);\nFocusZone.propTypes = {\n className: PropTypes.string,\n direction: PropTypes.number,\n defaultTabbableElement: PropTypes.func,\n shouldFocusOnMount: PropTypes.bool,\n shouldResetActiveElementWhenTabFromZone: PropTypes.bool,\n shouldRaiseClicks: PropTypes.bool,\n shouldFocusInnerElementWhenReceivedFocus: PropTypes.bool,\n disabled: PropTypes.bool,\n as: PropTypes.elementType,\n isCircularNavigation: PropTypes.bool,\n shouldEnterInnerZone: PropTypes.func,\n onActiveElementChanged: PropTypes.func,\n shouldReceiveFocus: PropTypes.func,\n handleTabKey: PropTypes.number,\n shouldInputLoseFocusOnArrowKey: PropTypes.func,\n stopFocusPropagation: PropTypes.bool,\n onFocus: PropTypes.func,\n preventDefaultWhenHandled: PropTypes.bool,\n isRtl: PropTypes.bool,\n preventFocusRestoration: PropTypes.bool,\n pagingSupportDisabled: PropTypes.bool\n};\nFocusZone.defaultProps = {\n isCircularNavigation: false,\n direction: FocusZoneDirection.bidirectional,\n as: 'div',\n preventDefaultWhenHandled: true,\n shouldRaiseClicks: false\n};\nFocusZone.displayName = 'FocusZone';\nFocusZone.className = 'ms-FocusZone';\nFocusZone.outerZones = outerZones;\n//# sourceMappingURL=FocusZone.js.map\n","import { elementContainsAttribute } from './dom/elementContainsAttribute';\nimport { elementContains } from './dom/elementContains';\nimport { getParent } from './dom/getParent';\nimport { getWindow } from './dom/getWindow';\nimport { getDocument } from './dom/getDocument';\nvar IS_FOCUSABLE_ATTRIBUTE = 'data-is-focusable';\nvar IS_VISIBLE_ATTRIBUTE = 'data-is-visible';\nvar FOCUSZONE_ID_ATTRIBUTE = 'data-focuszone-id';\nvar FOCUSZONE_SUB_ATTRIBUTE = 'data-is-sub-focuszone';\n/**\n * Gets the first focusable element.\n *\n * @public\n */\nexport function getFirstFocusable(rootElement, currentElement, includeElementsInFocusZones) {\n return getNextElement(rootElement, currentElement, true /*checkNode*/, false /*suppressParentTraversal*/, false /*suppressChildTraversal*/, includeElementsInFocusZones);\n}\n/**\n * Gets the last focusable element.\n *\n * @public\n */\nexport function getLastFocusable(rootElement, currentElement, includeElementsInFocusZones) {\n return getPreviousElement(rootElement, currentElement, true /*checkNode*/, false /*suppressParentTraversal*/, true /*traverseChildren*/, includeElementsInFocusZones);\n}\n/**\n * Gets the first tabbable element. (The difference between focusable and tabbable is that tabbable elements are\n * focusable elements that also have tabIndex != -1.)\n * @param rootElement - The parent element to search beneath.\n * @param currentElement - The descendant of rootElement to start the search at. This element is the first one checked,\n * and iteration continues forward. Typical use passes rootElement.firstChild.\n * @param includeElementsInFocusZones - true if traversal should go into FocusZone descendants.\n * @param checkNode - Include currentElement in search when true. Defaults to true.\n * @public\n */\nexport function getFirstTabbable(rootElement, currentElement, includeElementsInFocusZones, checkNode) {\n if (checkNode === void 0) { checkNode = true; }\n return getNextElement(rootElement, currentElement, checkNode, false /*suppressParentTraversal*/, false /*suppressChildTraversal*/, includeElementsInFocusZones, false /*allowFocusRoot*/, true /*tabbable*/);\n}\n/**\n * Gets the last tabbable element. (The difference between focusable and tabbable is that tabbable elements are\n * focusable elements that also have tabIndex != -1.)\n * @param rootElement - The parent element to search beneath.\n * @param currentElement - The descendant of rootElement to start the search at. This element is the first one checked,\n * and iteration continues in reverse. Typical use passes rootElement.lastChild.\n * @param includeElementsInFocusZones - true if traversal should go into FocusZone descendants.\n * @param checkNode - Include currentElement in search when true. Defaults to true.\n * @public\n */\nexport function getLastTabbable(rootElement, currentElement, includeElementsInFocusZones, checkNode) {\n if (checkNode === void 0) { checkNode = true; }\n return getPreviousElement(rootElement, currentElement, checkNode, false /*suppressParentTraversal*/, true /*traverseChildren*/, includeElementsInFocusZones, false /*allowFocusRoot*/, true /*tabbable*/);\n}\n/**\n * Attempts to focus the first focusable element that is a child or child's child of the rootElement.\n *\n * @public\n * @param rootElement - Element to start the search for a focusable child.\n * @returns True if focus was set, false if it was not.\n */\nexport function focusFirstChild(rootElement) {\n var element = getNextElement(rootElement, rootElement, true, false, false, true);\n if (element) {\n focusAsync(element);\n return true;\n }\n return false;\n}\n/**\n * Traverse to find the previous element.\n * If tabbable is true, the element must have tabIndex != -1.\n *\n * @public\n */\nexport function getPreviousElement(rootElement, currentElement, checkNode, suppressParentTraversal, traverseChildren, includeElementsInFocusZones, allowFocusRoot, tabbable) {\n if (!currentElement || (!allowFocusRoot && currentElement === rootElement)) {\n return null;\n }\n var isCurrentElementVisible = isElementVisible(currentElement);\n // Check its children.\n if (traverseChildren &&\n isCurrentElementVisible &&\n (includeElementsInFocusZones || !(isElementFocusZone(currentElement) || isElementFocusSubZone(currentElement)))) {\n var childMatch = getPreviousElement(rootElement, currentElement.lastElementChild, true, true, true, includeElementsInFocusZones, allowFocusRoot, tabbable);\n if (childMatch) {\n if ((tabbable && isElementTabbable(childMatch, true)) || !tabbable) {\n return childMatch;\n }\n var childMatchSiblingMatch = getPreviousElement(rootElement, childMatch.previousElementSibling, true, true, true, includeElementsInFocusZones, allowFocusRoot, tabbable);\n if (childMatchSiblingMatch) {\n return childMatchSiblingMatch;\n }\n var childMatchParent = childMatch.parentElement;\n // At this point if we have not found any potential matches\n // start looking at the rest of the subtree under the currentParent.\n // NOTE: We do not want to recurse here because doing so could\n // cause elements to get skipped.\n while (childMatchParent && childMatchParent !== currentElement) {\n var childMatchParentMatch = getPreviousElement(rootElement, childMatchParent.previousElementSibling, true, true, true, includeElementsInFocusZones, allowFocusRoot, tabbable);\n if (childMatchParentMatch) {\n return childMatchParentMatch;\n }\n childMatchParent = childMatchParent.parentElement;\n }\n }\n }\n // Check the current node, if it's not the first traversal.\n if (checkNode && isCurrentElementVisible && isElementTabbable(currentElement, tabbable)) {\n return currentElement;\n }\n // Check its previous sibling.\n var siblingMatch = getPreviousElement(rootElement, currentElement.previousElementSibling, true, true, true, includeElementsInFocusZones, allowFocusRoot, tabbable);\n if (siblingMatch) {\n return siblingMatch;\n }\n // Check its parent.\n if (!suppressParentTraversal) {\n return getPreviousElement(rootElement, currentElement.parentElement, true, false, false, includeElementsInFocusZones, allowFocusRoot, tabbable);\n }\n return null;\n}\n/**\n * Traverse to find the next focusable element.\n * If tabbable is true, the element must have tabIndex != -1.\n *\n * @public\n * @param checkNode - Include currentElement in search when true.\n */\nexport function getNextElement(rootElement, currentElement, checkNode, suppressParentTraversal, suppressChildTraversal, includeElementsInFocusZones, allowFocusRoot, tabbable) {\n if (!currentElement || (currentElement === rootElement && suppressChildTraversal && !allowFocusRoot)) {\n return null;\n }\n var isCurrentElementVisible = isElementVisible(currentElement);\n // Check the current node, if it's not the first traversal.\n if (checkNode && isCurrentElementVisible && isElementTabbable(currentElement, tabbable)) {\n return currentElement;\n }\n // Check its children.\n if (!suppressChildTraversal &&\n isCurrentElementVisible &&\n (includeElementsInFocusZones || !(isElementFocusZone(currentElement) || isElementFocusSubZone(currentElement)))) {\n var childMatch = getNextElement(rootElement, currentElement.firstElementChild, true, true, false, includeElementsInFocusZones, allowFocusRoot, tabbable);\n if (childMatch) {\n return childMatch;\n }\n }\n if (currentElement === rootElement) {\n return null;\n }\n // Check its sibling.\n var siblingMatch = getNextElement(rootElement, currentElement.nextElementSibling, true, true, false, includeElementsInFocusZones, allowFocusRoot, tabbable);\n if (siblingMatch) {\n return siblingMatch;\n }\n if (!suppressParentTraversal) {\n return getNextElement(rootElement, currentElement.parentElement, false, false, true, includeElementsInFocusZones, allowFocusRoot, tabbable);\n }\n return null;\n}\n/**\n * Determines if an element is visible.\n *\n * @public\n */\nexport function isElementVisible(element) {\n // If the element is not valid, return false.\n if (!element || !element.getAttribute) {\n return false;\n }\n var visibilityAttribute = element.getAttribute(IS_VISIBLE_ATTRIBUTE);\n // If the element is explicitly marked with the visibility attribute, return that value as boolean.\n if (visibilityAttribute !== null && visibilityAttribute !== undefined) {\n return visibilityAttribute === 'true';\n }\n // Fallback to other methods of determining actual visibility.\n return (element.offsetHeight !== 0 ||\n element.offsetParent !== null ||\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n element.isVisible === true); // used as a workaround for testing.\n}\n/**\n * Determines if an element can receive focus programmatically or via a mouse click.\n * If checkTabIndex is true, additionally checks to ensure the element can be focused with the tab key,\n * meaning tabIndex != -1.\n *\n * @public\n */\nexport function isElementTabbable(element, checkTabIndex) {\n // If this element is null or is disabled, it is not considered tabbable.\n if (!element || element.disabled) {\n return false;\n }\n var tabIndex = 0;\n var tabIndexAttributeValue = null;\n if (element && element.getAttribute) {\n tabIndexAttributeValue = element.getAttribute('tabIndex');\n if (tabIndexAttributeValue) {\n tabIndex = parseInt(tabIndexAttributeValue, 10);\n }\n }\n var isFocusableAttribute = element.getAttribute ? element.getAttribute(IS_FOCUSABLE_ATTRIBUTE) : null;\n var isTabIndexSet = tabIndexAttributeValue !== null && tabIndex >= 0;\n var result = !!element &&\n isFocusableAttribute !== 'false' &&\n (element.tagName === 'A' ||\n element.tagName === 'BUTTON' ||\n element.tagName === 'INPUT' ||\n element.tagName === 'TEXTAREA' ||\n element.tagName === 'SELECT' ||\n isFocusableAttribute === 'true' ||\n isTabIndexSet);\n return checkTabIndex ? tabIndex !== -1 && result : result;\n}\n/**\n * Determines if a given element is a focus zone.\n *\n * @public\n */\nexport function isElementFocusZone(element) {\n return !!(element && element.getAttribute && !!element.getAttribute(FOCUSZONE_ID_ATTRIBUTE));\n}\n/**\n * Determines if a given element is a focus sub zone.\n *\n * @public\n */\nexport function isElementFocusSubZone(element) {\n return !!(element && element.getAttribute && element.getAttribute(FOCUSZONE_SUB_ATTRIBUTE) === 'true');\n}\n/**\n * Determines if an element, or any of its children, contain focus.\n *\n * @public\n */\nexport function doesElementContainFocus(element) {\n var document = getDocument(element);\n var currentActiveElement = document && document.activeElement;\n if (currentActiveElement && elementContains(element, currentActiveElement)) {\n return true;\n }\n return false;\n}\n/**\n * Determines if an, or any of its ancestors, sepcificies that it doesn't want focus to wrap\n * @param element - element to start searching from\n * @param noWrapDataAttribute - the no wrap data attribute to match (either)\n * @returns true if focus should wrap, false otherwise\n */\nexport function shouldWrapFocus(element, noWrapDataAttribute) {\n return elementContainsAttribute(element, noWrapDataAttribute) === 'true' ? false : true;\n}\nvar targetToFocusOnNextRepaint = undefined;\n/**\n * Sets focus to an element asynchronously. The focus will be set at the next browser repaint,\n * meaning it won't cause any extra recalculations. If more than one focusAsync is called during one frame,\n * only the latest called focusAsync element will actually be focused\n * @param element - The element to focus\n */\nexport function focusAsync(element) {\n if (element) {\n // An element was already queued to be focused, so replace that one with the new element\n if (targetToFocusOnNextRepaint) {\n targetToFocusOnNextRepaint = element;\n return;\n }\n targetToFocusOnNextRepaint = element;\n var win = getWindow(element);\n if (win) {\n // element.focus() is a no-op if the element is no longer in the DOM, meaning this is always safe\n win.requestAnimationFrame(function () {\n var focusableElement = targetToFocusOnNextRepaint;\n // We are done focusing for this frame, so reset the queued focus element\n targetToFocusOnNextRepaint = undefined;\n if (focusableElement) {\n if (focusableElement.getAttribute && focusableElement.getAttribute(IS_FOCUSABLE_ATTRIBUTE) === 'true') {\n // Normally, a FocusZone would be responsible for setting the tabindex values on all its descendants.\n // However, even this animation frame callback can pre-empt the rendering of a FocusZone's child elements,\n // so it may be necessary to set the tabindex directly here.\n if (!focusableElement.getAttribute('tabindex')) {\n focusableElement.setAttribute('tabindex', '0');\n }\n }\n focusableElement.focus();\n }\n });\n }\n }\n}\n/**\n * Finds the closest focusable element via an index path from a parent. See\n * `getElementIndexPath` for getting an index path from an element to a child.\n */\nexport function getFocusableByIndexPath(parent, path) {\n var element = parent;\n for (var _i = 0, path_1 = path; _i < path_1.length; _i++) {\n var index = path_1[_i];\n var nextChild = element.children[Math.min(index, element.children.length - 1)];\n if (!nextChild) {\n break;\n }\n element = nextChild;\n }\n element =\n isElementTabbable(element) && isElementVisible(element)\n ? element\n : getNextElement(parent, element, true) || getPreviousElement(parent, element);\n return element;\n}\n/**\n * Finds the element index path from a parent element to a child element.\n *\n * If you had this node structure: \"A has children [B, C] and C has child D\",\n * the index path from A to D would be [1, 0], or `parent.chidren[1].children[0]`.\n */\nexport function getElementIndexPath(fromElement, toElement) {\n var path = [];\n while (toElement && fromElement && toElement !== fromElement) {\n var parent_1 = getParent(toElement, true);\n if (parent_1 === null) {\n return [];\n }\n path.unshift(Array.prototype.indexOf.call(parent_1.children, toElement));\n toElement = parent_1;\n }\n return path;\n}\n//# sourceMappingURL=focus.js.map","import * as React from 'react';\nimport { getAccessibility } from '../accessibility/getAccessibility';\nimport { FocusZone } from '../FocusZone/FocusZone';\nimport { useIsomorphicLayoutEffect } from './useIsomorphicLayoutEffect';\nexport var useAccessibility = function useAccessibility(behavior, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n actionHandlers = _options.actionHandlers,\n _options$debugName = _options.debugName,\n debugName = _options$debugName === void 0 ? 'Undefined' : _options$debugName,\n _options$mapPropsToBe = _options.mapPropsToBehavior,\n mapPropsToBehavior = _options$mapPropsToBe === void 0 ? function () {\n return {};\n } : _options$mapPropsToBe,\n _options$rtl = _options.rtl,\n rtl = _options$rtl === void 0 ? false : _options$rtl;\n var definition = getAccessibility(debugName, behavior, mapPropsToBehavior(), rtl, actionHandlers);\n var latestDefinition = React.useRef();\n var slotHandlers = React.useRef({});\n var slotProps = React.useRef({});\n useIsomorphicLayoutEffect(function () {\n latestDefinition.current = definition;\n });\n\n var getA11yProps = function getA11yProps(slotName, userProps) {\n var hasKeyDownHandlers = Boolean(definition.keyHandlers[slotName] || userProps.onKeyDown);\n var childBehavior = definition.childBehaviors ? definition.childBehaviors[slotName] : undefined;\n slotProps.current[slotName] = userProps; // We want to avoid adding event handlers until it's really needed\n\n if (hasKeyDownHandlers) {\n if (!slotHandlers.current[slotName]) {\n slotHandlers.current[slotName] = function (e) {\n var _latestDefinition$cur, _latestDefinition$cur2;\n\n var accessibilityHandler = (_latestDefinition$cur = latestDefinition.current) == null ? void 0 : (_latestDefinition$cur2 = _latestDefinition$cur.keyHandlers[slotName]) == null ? void 0 : _latestDefinition$cur2.onKeyDown;\n var userHandler = slotProps.current[slotName].onKeyDown;\n if (accessibilityHandler) accessibilityHandler(e);\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n if (userHandler) userHandler.apply(void 0, [e].concat(args));\n };\n }\n } else {\n delete slotHandlers.current[slotName];\n }\n\n var finalProps = Object.assign({}, childBehavior && {\n accessibility: childBehavior\n }, definition.attributes[slotName], userProps, {\n onKeyDown: slotHandlers.current[slotName]\n });\n return finalProps;\n }; // Provides an experimental handling for FocusZone definition in behaviors\n\n\n getA11yProps.unstable_wrapWithFocusZone = function (element) {\n if (definition.focusZone) {\n var child = element;\n\n if (process.env.NODE_ENV !== 'production') {\n child = React.Children.only(element);\n }\n\n return /*#__PURE__*/React.createElement(FocusZone, Object.assign({}, definition.focusZone.props, child.props, {\n as: child.type,\n isRtl: rtl\n }));\n }\n\n return element;\n };\n\n getA11yProps.unstable_behaviorDefinition = function () {\n return definition;\n };\n\n return getA11yProps;\n};\n//# sourceMappingURL=useAccessibility.js.map\n","import * as React from 'react';\n\nvar isUndefined = function isUndefined(value) {\n return typeof value === 'undefined';\n};\n/**\n * Returns a stateful value, and a function to update it. Mimics the `useState()` React Hook\n * signature.\n */\n\n\nexport var useAutoControlled = function useAutoControlled(options) {\n var _React$useState = React.useState(isUndefined(options.defaultValue) ? options.initialValue : options.defaultValue),\n stateValue = _React$useState[0],\n setStateValue = _React$useState[1];\n\n var value = isUndefined(options.value) ? stateValue : options.value; // Used to avoid dependencies in \"setValue\"\n\n var valueRef = React.useRef(value);\n var setValue = React.useCallback(function (newState) {\n if (typeof newState === 'function') {\n // Handles functional updates\n // https://reactjs.org/docs/hooks-reference.html#functional-updates\n valueRef.current = newState(valueRef.current);\n } else {\n valueRef.current = newState;\n }\n\n setStateValue(valueRef.current);\n }, []);\n return [value, setValue];\n};\n//# sourceMappingURL=useAutoControlled.js.map\n","import * as React from 'react'; // useLayoutEffect() produces a warning with SSR rendering\n// https://medium.com/@alexandereardon/uselayouteffect-and-ssr-192986cdcf7a\n\nexport var useIsomorphicLayoutEffect = typeof window !== 'undefined' && process.env.NODE_ENV !== 'test' ? React.useLayoutEffect : React.useEffect;\n//# sourceMappingURL=useIsomorphicLayoutEffect.js.map\n","import * as React from 'react';\nimport { useFluentContext } from '../context';\nimport { getStyles } from '../styles/getStyles';\nexport var useStyles = function useStyles(displayName, options) {\n var _composeOptions$mapPr;\n\n var context = useFluentContext();\n var _options$className = options.className,\n className = _options$className === void 0 ? process.env.NODE_ENV === 'production' ? '' : 'no-classname-🙉' : _options$className,\n composeOptions = options.composeOptions,\n _options$mapPropsToSt = options.mapPropsToStyles,\n mapPropsToStyles = _options$mapPropsToSt === void 0 ? function () {\n return {};\n } : _options$mapPropsToSt,\n _options$mapPropsToIn = options.mapPropsToInlineStyles,\n mapPropsToInlineStyles = _options$mapPropsToIn === void 0 ? function () {\n return {};\n } : _options$mapPropsToIn,\n _options$unstable_pro = options.unstable_props,\n unstable_props = _options$unstable_pro === void 0 ? {} : _options$unstable_pro,\n _options$rtl = options.rtl,\n rtl = _options$rtl === void 0 ? false : _options$rtl;\n var componentStylesProps = mapPropsToStyles(); // `composeProps` should include all props including stylesProps as they can contain state\n\n var composeProps = Object.assign({}, unstable_props, componentStylesProps);\n var composeStylesProps = composeOptions == null ? void 0 : (_composeOptions$mapPr = composeOptions.mapPropsToStylesPropsChain) == null ? void 0 : _composeOptions$mapPr.reduce(function (acc, fn) {\n return Object.assign({}, acc, fn(composeProps));\n }, {}); // Stores debug information for component.\n\n var debug = React.useRef({\n fluentUIDebug: null\n });\n\n var _getStyles = getStyles({\n // Input values\n allDisplayNames: (composeOptions == null ? void 0 : composeOptions.displayNames) || [displayName],\n className: (composeOptions == null ? void 0 : composeOptions.className) || className,\n primaryDisplayName: (composeOptions == null ? void 0 : composeOptions.displayName) || displayName,\n componentProps: Object.assign({}, componentStylesProps, composeStylesProps),\n inlineStylesProps: mapPropsToInlineStyles(),\n // Context values\n disableAnimations: context.disableAnimations,\n renderer: context.renderer,\n rtl: rtl,\n saveDebug: function saveDebug(fluentUIDebug) {\n return debug.current = {\n fluentUIDebug: fluentUIDebug\n };\n },\n theme: context.theme,\n performance: context.performance,\n telemetry: context.telemetry\n }),\n classes = _getStyles.classes,\n resolvedStyles = _getStyles.styles;\n\n return {\n classes: classes,\n styles: resolvedStyles\n };\n};\n//# sourceMappingURL=useStyles.js.map\n","import { getUnhandledProps } from '../utils/getUnhandledProps';\n/**\n * Returns an object consisting of props beyond the scope of the Component.\n * Useful for getting and spreading unknown props from the user.\n *\n * @param handledProps - An array with names of props\n * @param props - A ReactElement props object\n * @returns A shallow copy of the prop object\n */\n\nexport function useUnhandledProps(handledProps, props) {\n if (process.env.NODE_ENV === 'test') {\n return getUnhandledProps(handledProps, Object.assign({}, props, {\n 'data-uses-unhanded-props': true\n }));\n }\n\n return getUnhandledProps(handledProps, props);\n}\n//# sourceMappingURL=useUnhandledProps.js.map\n","import { callable, mergeComponentVariables, withDebugId } from '@fluentui/styles';\nvar variablesCache = new WeakMap();\nexport var resolveVariables = function resolveVariables(displayNames, theme, variables, enabledVariablesCaching) {\n var componentThemeVariables; // Filter out components that doesn't have defined variables in theme\n\n var effectiveDisplayNames = displayNames.filter(function (displayName) {\n return !!theme.componentVariables[displayName];\n }); //\n // Simple caching model, works only if there is no `props.variables`\n // Resolves variables for this component, cache the result in provider\n //\n\n if (enabledVariablesCaching) {\n if (!variablesCache.has(theme)) {\n variablesCache.set(theme, {});\n }\n\n var variablesThemeCache = variablesCache.get(theme) || {}; // const displayNames = { Foo: variables, Bar: undefined, Baz: undefined }\n // This allows to avoid creating useless cache entries for `Bar` & `Baz` components\n\n var handlingDisplayName = effectiveDisplayNames[effectiveDisplayNames.length - 1];\n\n if (!variablesThemeCache[handlingDisplayName]) {\n // A short circle to avoid additional merging for non-composed components\n if (effectiveDisplayNames.length === 1) {\n variablesThemeCache[handlingDisplayName] = callable(theme.componentVariables[handlingDisplayName])(theme.siteVariables);\n } else {\n variablesThemeCache[handlingDisplayName] = mergeComponentVariables.apply(void 0, effectiveDisplayNames.map(function (displayName) {\n return theme.componentVariables[displayName];\n }))(theme.siteVariables);\n }\n\n variablesCache.set(theme, variablesThemeCache);\n }\n\n componentThemeVariables = variablesThemeCache[handlingDisplayName];\n } else if (effectiveDisplayNames.length === 1) {\n componentThemeVariables = callable(theme.componentVariables[effectiveDisplayNames[0]])(theme.siteVariables) || {};\n } else {\n componentThemeVariables = mergeComponentVariables.apply(void 0, effectiveDisplayNames.map(function (displayName) {\n return theme.componentVariables[displayName];\n }))(theme.siteVariables);\n }\n\n if (variables === undefined) {\n return componentThemeVariables;\n }\n\n return mergeComponentVariables(componentThemeVariables, withDebugId(variables, 'props.variables'))(theme.siteVariables);\n};\n//# sourceMappingURL=resolveVariables.js.map\n","import _isNil from \"lodash/isNil\";\nimport _isPlainObject from \"lodash/isPlainObject\";\nimport { isDebugEnabled, mergeComponentStyles, withDebugId } from '@fluentui/styles';\nimport cx from 'classnames';\n// this weak map is used as cache for the classes\nvar classesCache = new WeakMap(); // this weak map is used as cache for the styles\n\nvar stylesCache = new WeakMap();\n/**\n * Both resolvedStyles and classes are objects of getters with lazy evaluation\n *\n * Additionally if the cacheEnabled option is provided, than the resolved styles\n * and classes are caching the results in WeakMaps. The key of the maps contains the following:\n * - theme\n * - displayName\n * - slot name\n * - styling props\n * - rtl mode\n * - disable animations mode\n */\n\nexport var resolveStyles = function resolveStyles(options, resolvedVariables) {\n var allDisplayNames = options.allDisplayNames,\n componentClassName = options.className,\n theme = options.theme,\n primaryDisplayName = options.primaryDisplayName,\n componentProps = options.componentProps,\n inlineStylesProps = options.inlineStylesProps,\n rtl = options.rtl,\n disableAnimations = options.disableAnimations,\n renderer = options.renderer,\n performanceFlags = options.performance,\n telemetry = options.telemetry;\n var className = inlineStylesProps.className,\n design = inlineStylesProps.design,\n styles = inlineStylesProps.styles,\n variables = inlineStylesProps.variables;\n var noInlineStylesOverrides = !(design || styles);\n var noVariableOverrides = performanceFlags.enableBooleanVariablesCaching || !variables;\n /* istanbul ignore else */\n\n if (process.env.NODE_ENV !== 'production') {\n if (!performanceFlags.enableStylesCaching && performanceFlags.enableBooleanVariablesCaching) {\n throw new Error('@fluentui/react-northstar: Please check your \"performance\" settings on \"Provider\", to enable \"enableBooleanVariablesCaching\" you need to enable \"enableStylesCaching\"');\n }\n }\n\n if (performanceFlags.enableBooleanVariablesCaching) {\n if (_isPlainObject(variables)) {\n var hasOnlyBooleanVariables = Object.keys(variables).every(function (variableName) {\n return variables[variableName] === null || typeof variables[variableName] === 'undefined' || typeof variables[variableName] === 'boolean';\n });\n\n if (!hasOnlyBooleanVariables) {\n noVariableOverrides = false;\n }\n } else if (!_isNil(variables)) {\n noVariableOverrides = false;\n }\n }\n\n var cacheEnabled = performanceFlags.enableStylesCaching && noInlineStylesOverrides && noVariableOverrides; // Merge theme styles with inline overrides if any\n\n var mergedStyles;\n\n if (allDisplayNames.length === 1) {\n mergedStyles = theme.componentStyles[allDisplayNames[0]] || {\n root: function root() {\n return {};\n }\n };\n } else {\n var _styles = allDisplayNames.map(function (displayName) {\n return theme.componentStyles[displayName];\n }).filter(Boolean);\n\n if (_styles.length > 0) {\n mergedStyles = _styles.reduce(function (acc, styles) {\n return mergeComponentStyles(acc, styles);\n }, {});\n } else {\n mergedStyles = {\n root: function root() {\n return {};\n }\n };\n }\n }\n\n if (!noInlineStylesOverrides) {\n mergedStyles = mergeComponentStyles(mergedStyles, mergeComponentStyles(design && withDebugId({\n root: design\n }, 'props.design'), styles && withDebugId({\n root: styles\n }, 'props.styles')));\n }\n\n var styleParam = {\n props: componentProps,\n variables: resolvedVariables,\n theme: theme,\n rtl: rtl,\n disableAnimations: disableAnimations\n }; // Heads Up! Keep in sync with Design.tsx render logic\n\n var rendererParam = {\n direction: rtl ? 'rtl' : 'ltr',\n disableAnimations: disableAnimations,\n displayName: allDisplayNames.join(':'),\n // does not affect styles, only used by useEnhancedRenderer in docs\n sanitizeCss: performanceFlags.enableSanitizeCssPlugin\n };\n var resolvedStylesDebug = {};\n\n if (cacheEnabled && theme) {\n if (!stylesCache.has(theme)) {\n stylesCache.set(theme, {});\n }\n\n if (!classesCache.has(theme)) {\n classesCache.set(theme, {});\n }\n }\n\n var propsCacheKey = cacheEnabled ? JSON.stringify(componentProps) : '';\n var variablesCacheKey = cacheEnabled && performanceFlags.enableBooleanVariablesCaching ? JSON.stringify(variables) : '';\n var componentCacheKey = cacheEnabled ? allDisplayNames.join(':') + \":\" + propsCacheKey + \":\" + variablesCacheKey + \":\" + styleParam.rtl + styleParam.disableAnimations : '';\n\n if (typeof Proxy === 'undefined') {\n //\n //\n // IE11 branch of code, feel free to remove later.\n // Keep it sync with another branch below!\n //\n //\n var _resolvedStyles = {};\n var _classes = {};\n Object.keys(mergedStyles).forEach(function (slotName) {\n // resolve/render slot styles once and cache\n var lazyEvaluationKey = slotName + \"__return\";\n var slotCacheKey = componentCacheKey + slotName;\n Object.defineProperty(_resolvedStyles, slotName, {\n enumerable: false,\n configurable: false,\n set: function set(val) {\n // Add to the cache if it's enabled\n if (cacheEnabled && theme) {\n var _Object$assign;\n\n stylesCache.set(theme, Object.assign({}, stylesCache.get(theme), (_Object$assign = {}, _Object$assign[slotCacheKey] = val, _Object$assign)));\n }\n\n _resolvedStyles[lazyEvaluationKey] = val;\n },\n get: function get() {\n // If caching enabled and entry exists, get from cache, avoid lazy evaluation\n if (cacheEnabled && theme) {\n var stylesThemeCache = stylesCache.get(theme) || {};\n\n if (stylesThemeCache[slotCacheKey]) {\n return stylesThemeCache[slotCacheKey];\n }\n }\n\n if (_resolvedStyles[lazyEvaluationKey]) {\n return _resolvedStyles[lazyEvaluationKey];\n }\n\n var telemetryPartStart = telemetry != null && telemetry.enabled ? performance.now() : 0; // resolve/render slot styles once and cache\n\n _resolvedStyles[lazyEvaluationKey] = mergedStyles[slotName](styleParam);\n\n if (cacheEnabled && theme) {\n var _Object$assign2;\n\n stylesCache.set(theme, Object.assign({}, stylesCache.get(theme), (_Object$assign2 = {}, _Object$assign2[slotCacheKey] = _resolvedStyles[lazyEvaluationKey], _Object$assign2)));\n }\n\n if (process.env.NODE_ENV !== 'production' && isDebugEnabled) {\n resolvedStylesDebug[slotName] = _resolvedStyles[slotName]['_debug'];\n delete _resolvedStyles[slotName]['_debug'];\n }\n\n if (telemetry != null && telemetry.enabled && telemetry.performance[primaryDisplayName]) {\n telemetry.performance[primaryDisplayName].msResolveStylesTotal += performance.now() - telemetryPartStart;\n }\n\n return _resolvedStyles[lazyEvaluationKey];\n }\n });\n Object.defineProperty(_classes, slotName, {\n enumerable: false,\n configurable: false,\n set: function set(val) {\n if (cacheEnabled && theme) {\n var _Object$assign3;\n\n classesCache.set(theme, Object.assign({}, classesCache.get(theme), (_Object$assign3 = {}, _Object$assign3[slotCacheKey] = val, _Object$assign3)));\n }\n\n _classes[lazyEvaluationKey] = val;\n },\n get: function get() {\n if (cacheEnabled && theme) {\n var classesThemeCache = classesCache.get(theme) || {}; //\n // Cached styles\n //\n\n if (classesThemeCache[slotCacheKey] || classesThemeCache[slotCacheKey] === '') {\n if (telemetry != null && telemetry.performance[primaryDisplayName]) {\n if (slotName === 'root') {\n telemetry.performance[primaryDisplayName].stylesRootCacheHits++;\n } else {\n telemetry.performance[primaryDisplayName].stylesSlotsCacheHits++;\n }\n }\n\n return slotName === 'root' ? cx(componentClassName, classesThemeCache[slotCacheKey], className) : classesThemeCache[slotCacheKey];\n }\n } //\n // Lazy eval\n //\n\n\n if (_classes[lazyEvaluationKey]) {\n return slotName === 'root' ? cx(componentClassName, _classes[lazyEvaluationKey], className) : _classes[lazyEvaluationKey];\n } // this resolves the getter magic\n\n\n var styleObj = _resolvedStyles[slotName];\n var telemetryPartStart = telemetry != null && telemetry.enabled ? performance.now() : 0;\n\n if (styleObj) {\n _classes[lazyEvaluationKey] = renderer.renderRule(styleObj, rendererParam);\n\n if (cacheEnabled && theme) {\n var _Object$assign4;\n\n classesCache.set(theme, Object.assign({}, classesCache.get(theme), (_Object$assign4 = {}, _Object$assign4[slotCacheKey] = _classes[lazyEvaluationKey], _Object$assign4)));\n }\n }\n\n var resultClassName = slotName === 'root' ? cx(componentClassName, _classes[lazyEvaluationKey], className) : _classes[lazyEvaluationKey];\n\n if (telemetry != null && telemetry.enabled && telemetry.performance[primaryDisplayName]) {\n telemetry.performance[primaryDisplayName].msRenderStylesTotal += performance.now() - telemetryPartStart;\n }\n\n return resultClassName;\n }\n });\n });\n return {\n resolvedStyles: _resolvedStyles,\n resolvedStylesDebug: resolvedStylesDebug,\n classes: _classes\n };\n }\n\n var resolvedStyles = new Proxy({}, {\n get: function get(target, slotName) {\n var _mergedStyles$slotNam, _mergedStyles;\n\n var slotCacheKey = componentCacheKey + slotName; // If caching enabled and entry exists, get from cache, avoid lazy evaluation\n\n if (cacheEnabled && theme) {\n var stylesThemeCache = stylesCache.get(theme) || {};\n\n if (stylesThemeCache[slotCacheKey]) {\n return stylesThemeCache[slotCacheKey];\n }\n }\n\n if (target[slotName]) {\n return target[slotName];\n }\n\n var telemetryPartStart = telemetry != null && telemetry.enabled ? performance.now() : 0; // resolve/render slot styles once and cache\n\n target[slotName] = (_mergedStyles$slotNam = (_mergedStyles = mergedStyles)[slotName]) == null ? void 0 : _mergedStyles$slotNam.call(_mergedStyles, styleParam);\n\n if (cacheEnabled && theme) {\n var _Object$assign5;\n\n stylesCache.set(theme, Object.assign({}, stylesCache.get(theme), (_Object$assign5 = {}, _Object$assign5[slotCacheKey] = target[slotName], _Object$assign5)));\n }\n\n if (process.env.NODE_ENV !== 'production' && isDebugEnabled) {\n resolvedStylesDebug[slotName] = target[slotName]['_debug'];\n delete target[slotName]['_debug'];\n }\n\n if (telemetry != null && telemetry.enabled && telemetry.performance[primaryDisplayName]) {\n telemetry.performance[primaryDisplayName].msResolveStylesTotal += performance.now() - telemetryPartStart;\n }\n\n return target[slotName];\n }\n });\n var classes = new Proxy({}, {\n get: function get(target, slotName) {\n var slotCacheKey = componentCacheKey + slotName;\n\n if (cacheEnabled && theme) {\n var classesThemeCache = classesCache.get(theme) || {}; //\n // Cached styles\n //\n\n if (classesThemeCache[slotCacheKey] || classesThemeCache[slotCacheKey] === '') {\n if (telemetry != null && telemetry.performance[primaryDisplayName]) {\n if (slotName === 'root') {\n telemetry.performance[primaryDisplayName].stylesRootCacheHits++;\n } else {\n telemetry.performance[primaryDisplayName].stylesSlotsCacheHits++;\n }\n }\n\n return slotName === 'root' ? cx(componentClassName, classesThemeCache[slotCacheKey], className) : classesThemeCache[slotCacheKey];\n }\n } //\n // Lazy eval\n //\n\n\n if (target[slotName]) {\n return slotName === 'root' ? cx(componentClassName, target[slotName], className) : target[slotName];\n } // this resolves the getter magic\n\n\n var styleObj = resolvedStyles[slotName];\n var telemetryPartStart = telemetry != null && telemetry.enabled ? performance.now() : 0;\n\n if (styleObj) {\n target[slotName] = renderer.renderRule(styleObj, rendererParam);\n\n if (cacheEnabled && theme) {\n var _Object$assign6;\n\n classesCache.set(theme, Object.assign({}, classesCache.get(theme), (_Object$assign6 = {}, _Object$assign6[slotCacheKey] = target[slotName], _Object$assign6)));\n }\n }\n\n var resultClassName = slotName === 'root' ? cx(componentClassName, target[slotName], className) : target[slotName];\n\n if (telemetry != null && telemetry.enabled && telemetry.performance[primaryDisplayName]) {\n telemetry.performance[primaryDisplayName].msRenderStylesTotal += performance.now() - telemetryPartStart;\n }\n\n return resultClassName;\n }\n });\n return {\n resolvedStyles: resolvedStyles,\n resolvedStylesDebug: resolvedStylesDebug,\n classes: classes\n };\n};\n//# sourceMappingURL=resolveStyles.js.map\n","import _isEmpty from \"lodash/isEmpty\";\nimport _filter from \"lodash/filter\";\nimport { isDebugEnabled } from '@fluentui/styles';\nimport { resolveVariables } from './resolveVariables';\nimport { resolveStyles } from './resolveStyles';\nexport var getStyles = function getStyles(options) {\n var primaryDisplayName = options.primaryDisplayName,\n telemetry = options.telemetry; //\n // To compute styles we are going through three stages:\n // - resolve variables (siteVariables => componentVariables + props.variables)\n // - resolve styles (with resolvedVariables & props.styles & props.design)\n // - compute classes (with resolvedStyles)\n // - conditionally add sources for evaluating debug information to component\n\n var telemetryPartStart = telemetry != null && telemetry.enabled ? performance.now() : 0;\n var resolvedVariables = resolveVariables(options.allDisplayNames, options.theme, options.inlineStylesProps.variables, options.performance.enableVariablesCaching);\n\n if (telemetry != null && telemetry.enabled && telemetry.performance[primaryDisplayName]) {\n telemetry.performance[primaryDisplayName].msResolveVariablesTotal += performance.now() - telemetryPartStart;\n }\n\n var _resolveStyles = resolveStyles(options, resolvedVariables),\n classes = _resolveStyles.classes,\n resolvedStyles = _resolveStyles.resolvedStyles,\n resolvedStylesDebug = _resolveStyles.resolvedStylesDebug; // conditionally add sources for evaluating debug information to component\n\n\n if (process.env.NODE_ENV !== 'production' && isDebugEnabled) {\n options.saveDebug({\n componentName: options.allDisplayNames.join(':'),\n componentVariables: _filter(resolvedVariables._debug, function (variables) {\n return !_isEmpty(variables.resolved);\n }),\n componentStyles: resolvedStylesDebug,\n siteVariables: _filter(options.theme.siteVariables._debug, function (siteVars) {\n if (_isEmpty(siteVars) || _isEmpty(siteVars.resolved)) {\n return false;\n }\n\n var keys = Object.keys(siteVars.resolved);\n\n if (keys.length === 1 && keys.pop() === 'fontSizes' && _isEmpty(siteVars.resolved['fontSizes'])) {\n return false;\n }\n\n return true;\n })\n });\n }\n\n return {\n classes: classes,\n variables: resolvedVariables,\n styles: resolvedStyles,\n theme: options.theme\n };\n};\n//# sourceMappingURL=getStyles.js.map\n","import * as React from 'react';\nexport var getTelemetry = function getTelemetry(displayName, telemetry, isFirstRenderRef) {\n var start = -1;\n var end = -1;\n\n var setStart = function setStart() {\n if (telemetry != null && telemetry.enabled) {\n start = performance.now();\n\n if (!telemetry.performance[displayName]) {\n telemetry.performance[displayName] = {\n instances: 0,\n renders: 0,\n msTotal: 0,\n msMin: Number.MAX_SAFE_INTEGER,\n msMax: 0,\n msResolveVariablesTotal: 0,\n msResolveStylesTotal: 0,\n msRenderStylesTotal: 0,\n stylesRootCacheHits: 0,\n stylesSlotsCacheHits: 0\n };\n }\n }\n };\n\n var setEnd = function setEnd() {\n if (telemetry != null && telemetry.enabled && start !== -1) {\n end = performance.now();\n var duration = end - start;\n telemetry.performance[displayName].instances += Number(isFirstRenderRef.current);\n telemetry.performance[displayName].renders++;\n telemetry.performance[displayName].msTotal += duration;\n telemetry.performance[displayName].msMin = Math.min(duration, telemetry.performance[displayName].msMin);\n telemetry.performance[displayName].msMax = Math.max(duration, telemetry.performance[displayName].msMax);\n isFirstRenderRef.current = false;\n }\n };\n\n return {\n setStart: setStart,\n setEnd: setEnd\n };\n};\nexport var useTelemetry = function useTelemetry(displayName, telemetry) {\n var isFirstRenderRef = React.useRef(true);\n return getTelemetry(displayName, telemetry, isFirstRenderRef);\n};\n//# sourceMappingURL=useTelemetry.js.map\n","/**\n * Tests if children are nil in React and Preact.\n *\n * @param children - The children prop of a component.\n */\nexport var childrenExist = function childrenExist(children) {\n if (children === null || children === undefined) return false;\n if (typeof children === 'number') return !isNaN(children);\n if (Array.isArray(children)) return children.length > 0;\n return !!children;\n};\n//# sourceMappingURL=childrenExist.js.map\n","/**\n * Returns a createElement() type based on the props of the Component.\n * Useful for calculating what type a component should render as.\n *\n * @param props - A ReactElement props object\n * @returns A ReactElement type\n */\nexport function getElementType(props) {\n // ----------------------------------------\n // use defaultProp or 'div'\n return props.as || 'div';\n}\n//# sourceMappingURL=getElementType.js.map\n","/**\n * Returns an object consisting of props beyond the scope of the Component.\n * Useful for getting and spreading unknown props from the user.\n *\n * @param handledProps - An array with names of props\n * @param props - A ReactElement props object\n * @returns A shallow copy of the prop object\n */\nexport function getUnhandledProps(handledProps, props) {\n return Object.keys(props).reduce(function (acc, prop) {\n if (handledProps.indexOf(prop) === -1) acc[prop] = props[prop];\n return acc;\n }, {});\n}\n//# sourceMappingURL=getUnhandledProps.js.map\n","import _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport { handleRef } from './utils'; // ========================================================\n// react/packages/react-reconciler/src/ReactFiber.js\n// ========================================================\n\n/**\n * Detects if a passed element is a Fiber object instead of an element. Is needed as `ReactDOM.findDOMNode()` returns\n * a Fiber in `react-test-renderer` that can cause issues with tests. Is used only in non-production env.\n *\n * @see https://github.com/facebook/react/issues/7371#issuecomment-317396864\n * @see https://github.com/Semantic-Org/Semantic-UI-React/issues/4061#issuecomment-694895617\n */\nfunction isFiberRef(node) {\n if (node === null) {\n return false;\n }\n\n if (node instanceof Element || node instanceof Text) {\n return false;\n }\n\n return !!(node.type && node.tag);\n}\n\nexport var RefFindNode = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(RefFindNode, _React$Component);\n\n function RefFindNode() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this.prevNode = null;\n return _this;\n }\n\n var _proto = RefFindNode.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n var currentNode = ReactDOM.findDOMNode(this);\n\n if (process.env.NODE_ENV !== 'production') {\n if (isFiberRef(currentNode)) {\n currentNode = null;\n }\n }\n\n this.prevNode = currentNode;\n handleRef(this.props.innerRef, currentNode);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var currentNode = ReactDOM.findDOMNode(this);\n\n if (process.env.NODE_ENV !== 'production') {\n if (isFiberRef(currentNode)) {\n currentNode = null;\n }\n }\n\n if (this.prevNode !== currentNode) {\n this.prevNode = currentNode;\n handleRef(this.props.innerRef, currentNode);\n }\n\n if (prevProps.innerRef !== this.props.innerRef) {\n handleRef(this.props.innerRef, currentNode);\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n handleRef(this.props.innerRef, null);\n delete this.prevNode;\n };\n\n _proto.render = function render() {\n var children = this.props.children;\n return children;\n };\n\n return RefFindNode;\n}(React.Component);\n//# sourceMappingURL=RefFindNode.js.map\n","import _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport * as React from 'react';\nimport { handleRef } from './utils';\nexport var RefForward = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(RefForward, _React$Component);\n\n function RefForward() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this.currentNode = null;\n\n _this.handleRefOverride = function (node) {\n var _this$props = _this.props,\n children = _this$props.children,\n innerRef = _this$props.innerRef;\n handleRef(children.ref, node);\n handleRef(innerRef, node);\n _this.currentNode = node;\n };\n\n return _this;\n }\n\n var _proto = RefForward.prototype;\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n if (prevProps.innerRef !== this.props.innerRef) {\n handleRef(this.props.innerRef, this.currentNode);\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n delete this.currentNode;\n };\n\n _proto.render = function render() {\n var children = this.props.children;\n return /*#__PURE__*/React.cloneElement(children, {\n ref: this.handleRefOverride\n });\n };\n\n return RefForward;\n}(React.Component);\n//# sourceMappingURL=RefForward.js.map\n","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport * as React from 'react';\nimport * as ReactIs from 'react-is';\nimport { RefFindNode } from './RefFindNode';\nimport { RefForward } from './RefForward';\nexport var Ref = function Ref(props) {\n var children = props.children,\n innerRef = props.innerRef,\n rest = _objectWithoutPropertiesLoose(props, [\"children\", \"innerRef\"]);\n\n var child = React.Children.only(children);\n var ElementType = ReactIs.isForwardRef(child) ? RefForward : RefFindNode;\n var childWithProps = child && rest && Object.keys(rest).length > 0 ? /*#__PURE__*/React.cloneElement(child, rest) : child;\n return /*#__PURE__*/React.createElement(ElementType, {\n innerRef: innerRef\n }, childWithProps);\n};\n//# sourceMappingURL=Ref.js.map\n","/**\n * The function that correctly handles passing refs.\n *\n * @param ref - An ref object or function\n * @param node - A node that should be passed by ref\n */\nexport var handleRef = function handleRef(ref, node) {\n if (process.env.NODE_ENV !== 'production') {\n if (typeof ref === 'string') {\n throw new Error('We do not support refs as string, this is a legacy API and will be likely to be removed in one of the future releases of React.');\n }\n }\n\n if (typeof ref === 'function') {\n ref(node);\n return;\n }\n\n if (ref !== null && typeof ref === 'object') {\n // The `current` property is defined as readonly, however it's a valid way because\n // `ref` is a mutable object\n ref.current = node;\n }\n};\n/** Checks that the passed object is a valid React ref object. */\n\nexport var isRefObject = function isRefObject(ref) {\n return (// https://github.com/facebook/react/blob/v16.8.2/packages/react-reconciler/src/ReactFiberCommitWork.js#L665\n ref !== null && typeof ref === 'object' && ref.hasOwnProperty('current')\n );\n};\n//# sourceMappingURL=utils.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var CloseIcon = /*#__PURE__*/createSvgIcon({\n svg: function svg(_ref) {\n var classes = _ref.classes;\n return /*#__PURE__*/React.createElement(\"svg\", {\n role: \"presentation\",\n focusable: \"false\",\n viewBox: \"2 2 16 16\",\n className: classes.svg\n }, /*#__PURE__*/React.createElement(\"path\", {\n className: cx(iconClassNames.outline, classes.outlinePart),\n d: \"M4.08859 4.21569L4.14645 4.14645C4.32001 3.97288 4.58944 3.9536 4.78431 4.08859L4.85355 4.14645L10 9.293L15.1464 4.14645C15.32 3.97288 15.5894 3.9536 15.7843 4.08859L15.8536 4.14645C16.0271 4.32001 16.0464 4.58944 15.9114 4.78431L15.8536 4.85355L10.707 10L15.8536 15.1464C16.0271 15.32 16.0464 15.5894 15.9114 15.7843L15.8536 15.8536C15.68 16.0271 15.4106 16.0464 15.2157 15.9114L15.1464 15.8536L10 10.707L4.85355 15.8536C4.67999 16.0271 4.41056 16.0464 4.21569 15.9114L4.14645 15.8536C3.97288 15.68 3.9536 15.4106 4.08859 15.2157L4.14645 15.1464L9.293 10L4.14645 4.85355C3.97288 4.67999 3.9536 4.41056 4.08859 4.21569L4.14645 4.14645L4.08859 4.21569Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: cx(iconClassNames.filled, classes.filledPart),\n d: \"M3.89705 4.05379L3.96967 3.96967C4.23594 3.7034 4.6526 3.6792 4.94621 3.89705L5.03033 3.96967L10 8.939L14.9697 3.96967C15.2359 3.7034 15.6526 3.6792 15.9462 3.89705L16.0303 3.96967C16.2966 4.23594 16.3208 4.6526 16.1029 4.94621L16.0303 5.03033L11.061 10L16.0303 14.9697C16.2966 15.2359 16.3208 15.6526 16.1029 15.9462L16.0303 16.0303C15.7641 16.2966 15.3474 16.3208 15.0538 16.1029L14.9697 16.0303L10 11.061L5.03033 16.0303C4.76406 16.2966 4.3474 16.3208 4.05379 16.1029L3.96967 16.0303C3.7034 15.7641 3.6792 15.3474 3.89705 15.0538L3.96967 14.9697L8.939 10L3.96967 5.03033C3.7034 4.76406 3.6792 4.3474 3.89705 4.05379L3.96967 3.96967L3.89705 4.05379Z\"\n }));\n },\n displayName: 'CloseIcon'\n});\n//# sourceMappingURL=CloseIcon.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var ExclamationCircleIcon = /*#__PURE__*/createSvgIcon({\n svg: function svg(_ref) {\n var classes = _ref.classes;\n return /*#__PURE__*/React.createElement(\"svg\", {\n role: \"presentation\",\n focusable: \"false\",\n viewBox: \"2 2 16 16\",\n className: classes.svg\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10 2C14.4183 2 18 5.58172 18 10C18 14.4183 14.4183 18 10 18C5.58172 18 2 14.4183 2 10C2 5.58172 5.58172 2 10 2ZM10 3C6.13401 3 3 6.13401 3 10C3 13.866 6.13401 17 10 17C13.866 17 17 13.866 17 10C17 6.13401 13.866 3 10 3ZM10 12.5C10.4142 12.5 10.75 12.8358 10.75 13.25C10.75 13.6642 10.4142 14 10 14C9.58579 14 9.25 13.6642 9.25 13.25C9.25 12.8358 9.58579 12.5 10 12.5ZM10 6C10.2455 6 10.4496 6.17688 10.4919 6.41012L10.5 6.5V11C10.5 11.2761 10.2761 11.5 10 11.5C9.75454 11.5 9.55039 11.3231 9.50806 11.0899L9.5 11V6.5C9.5 6.22386 9.72386 6 10 6Z\"\n }));\n },\n displayName: 'ExclamationCircleIcon'\n});\n//# sourceMappingURL=ExclamationCircleIcon.js.map\n","import * as React from 'react';\nimport { useFluentContext, useStyles, getUnhandledProps } from '@fluentui/react-bindings';\nexport var svgIconClassName = 'ui-icon';\nexport var svgIconDisplayName = 'SvgIcon';\nexport var svgIconHandledProps = ['bordered', 'className', 'circular', 'design', 'disabled', 'outline', 'size', 'rotate', 'styles', 'variables', 'xSpacing'];\nexport var createSvgIcon = function createSvgIcon(_ref) {\n var svg = _ref.svg,\n displayName = _ref.displayName,\n _ref$handledProps = _ref.handledProps,\n handledProps = _ref$handledProps === void 0 ? [] : _ref$handledProps;\n\n var Component = function Component(props) {\n var context = useFluentContext();\n var alt = props.alt,\n ariaLabel = props['aria-label'],\n bordered = props.bordered,\n circular = props.circular,\n className = props.className,\n design = props.design,\n disabled = props.disabled,\n outline = props.outline,\n _props$rotate = props.rotate,\n rotate = _props$rotate === void 0 ? 0 : _props$rotate,\n _props$size = props.size,\n size = _props$size === void 0 ? 'medium' : _props$size,\n styles = props.styles,\n variables = props.variables,\n xSpacing = props.xSpacing;\n\n var _useStyles = useStyles(svgIconDisplayName, {\n className: svgIconClassName,\n mapPropsToStyles: function mapPropsToStyles() {\n return {\n bordered: bordered,\n circular: circular,\n disabled: disabled,\n outline: outline,\n rotate: rotate,\n size: size,\n xSpacing: xSpacing\n };\n },\n mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n return {\n className: className,\n design: design,\n styles: styles,\n variables: variables\n };\n },\n rtl: context.rtl\n }),\n classes = _useStyles.classes;\n\n var unhandledProps = getUnhandledProps([].concat(svgIconHandledProps, handledProps), props);\n return /*#__PURE__*/React.createElement('span', Object.assign({\n role: 'img',\n 'aria-hidden': alt || ariaLabel ? undefined : 'true',\n 'aria-label': ariaLabel,\n className: classes.root\n }, unhandledProps), svg({\n classes: classes,\n rtl: context.rtl,\n props: props\n }));\n };\n\n Component.displayName = displayName;\n Component.handledProps = [].concat(svgIconHandledProps, handledProps);\n return Component;\n};\n//# sourceMappingURL=createSvgIcon.js.map\n","export var iconClassNames = {\n filled: 'ui-icon__filled',\n outline: 'ui-icon__outline'\n};\n//# sourceMappingURL=iconClassNames.js.map\n","import _difference from \"lodash/difference\";\nimport _trim from \"lodash/trim\";\nimport _isObject from \"lodash/isObject\";\nimport _pick from \"lodash/pick\";\nimport _keys from \"lodash/keys\";\nimport _isPlainObject from \"lodash/isPlainObject\";\nimport _isFunction from \"lodash/isFunction\";\nimport _compact from \"lodash/compact\";\nimport _first from \"lodash/first\";\nimport _isNil from \"lodash/isNil\";\nimport _min from \"lodash/min\";\nimport _sum from \"lodash/sum\";\nimport _map from \"lodash/map\";\nimport _sortBy from \"lodash/sortBy\";\nimport _take from \"lodash/take\";\nimport _memoize from \"lodash/memoize\";\nimport * as PropTypes from 'prop-types';\nimport leven from './leven';\n\nvar typeOf = function typeOf(x) {\n return Object.prototype.toString.call(x);\n};\n/**\n * Ensure a prop is a valid DOM node.\n */\n\n\nexport var domNode = function domNode(props, propName) {\n // skip if prop is undefined\n if (props[propName] === undefined) return undefined; // skip if prop is null\n\n if (props[propName] === null) return null; // skip if prop is valid\n\n if (props[propName] instanceof Element) return undefined;\n return new Error(\"Invalid prop \\\"\" + propName + \"\\\" supplied, expected a DOM node.\");\n};\n/**\n * Similar to PropTypes.oneOf but shows closest matches.\n * Word order is ignored allowing `left chevron` to match `chevron left`.\n * Useful for very large lists of options (e.g. Icon name, Flag name, etc.)\n * @param suggestions - An array of allowed values.\n */\n\nexport var suggest = function suggest(suggestions) {\n if (!Array.isArray(suggestions)) {\n throw new Error('Invalid argument supplied to suggest, expected an instance of array.');\n }\n\n var findBestSuggestions = _memoize(function (str) {\n var propValueWords = str.split(' ');\n return _take(_sortBy(_map(suggestions, function (suggestion) {\n var suggestionWords = suggestion.split(' ');\n\n var propValueScore = _sum(_map(_map(propValueWords, function (x) {\n return _map(suggestionWords, function (y) {\n return leven(x, y);\n });\n }), _min));\n\n var suggestionScore = _sum(_map(_map(suggestionWords, function (x) {\n return _map(propValueWords, function (y) {\n return leven(x, y);\n });\n }), _min));\n\n return {\n suggestion: suggestion,\n score: propValueScore + suggestionScore\n };\n }), ['score', 'suggestion']), 3);\n }); // Convert the suggestions list into a hash map for O(n) lookup times. Ensure\n // the words in each key are sorted alphabetically so that we have a consistent\n // way of looking up a value in the map, i.e. we can sort the words in the\n // incoming propValue and look that up without having to check all permutations.\n\n\n var suggestionsLookup = suggestions.reduce(function (acc, key) {\n acc[key.split(' ').sort().join(' ')] = true;\n return acc;\n }, {});\n return function (props, propName, componentName) {\n var propValue = props[propName]; // skip if prop is undefined or is included in the suggestions\n\n if (!propValue || suggestionsLookup[propValue]) return undefined; // check if the words were correct but ordered differently.\n // Since we're matching for classNames we need to allow any word order\n // to pass validation, e.g. `left chevron` vs `chevron left`.\n\n var propValueSorted = propValue.split(' ').sort().join(' ');\n if (suggestionsLookup[propValueSorted]) return undefined; // find best suggestions\n\n var bestMatches = findBestSuggestions(propValue); // skip if a match scored 0\n\n if (bestMatches.some(function (x) {\n return x.score === 0;\n })) return undefined;\n return new Error([\"Invalid prop `\" + propName + \"` of value `\" + propValue + \"` supplied to `\" + componentName + \"`.\", \"\\n\\nInstead of `\" + propValue + \"`, did you mean:\", bestMatches.map(function (x) {\n return \"\\n - \" + x.suggestion;\n }).join(''), '\\n'].join(''));\n };\n};\n/**\n * The prop cannot be used.\n * Similar to `deprecate` but with different error message.\n */\n\nexport var never = function never(props, propName, componentName) {\n if (_isNil(props[propName]) || props[propName] === false) return undefined;\n return new Error(\"Prop `\" + propName + \"` in `\" + componentName + \"` cannot be used.\");\n};\n/**\n * Disallow other props from being defined with this prop.\n * @param disallowedProps - An array of props that cannot be used with this prop.\n */\n\nexport var disallow = function disallow(disallowedProps) {\n return function (props, propName, componentName) {\n if (!Array.isArray(disallowedProps)) {\n throw new Error(['Invalid argument supplied to disallow, expected an instance of array.', \" See `\" + propName + \"` prop in `\" + componentName + \"`.\"].join(''));\n } // skip if prop is undefined\n\n\n if (_isNil(props[propName]) || props[propName] === false) return undefined; // find disallowed props with values\n\n var disallowed = disallowedProps.reduce(function (acc, disallowedProp) {\n if (!_isNil(props[disallowedProp]) && props[disallowedProp] !== false) {\n return [].concat(acc, [disallowedProp]);\n }\n\n return acc;\n }, []);\n\n if (disallowed.length > 0) {\n return new Error([\"Prop `\" + propName + \"` in `\" + componentName + \"` conflicts with props: `\" + disallowed.join('`, `') + \"`.\", 'They cannot be defined together, choose one or the other.'].join(' '));\n }\n\n return undefined;\n };\n};\n/**\n * Ensure a prop adherers to multiple prop type validators.\n * @param validators - An array of propType functions.\n */\n\nexport var every = function every(validators) {\n return function (props, propName, componentName) {\n for (var _len = arguments.length, args = new Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) {\n args[_key - 3] = arguments[_key];\n }\n\n if (!Array.isArray(validators)) {\n throw new Error(['Invalid argument supplied to every, expected an instance of array.', \"See `\" + propName + \"` prop in `\" + componentName + \"`.\"].join(' '));\n }\n\n return _first(_compact(_map(validators, function (validator) {\n if (typeof validator !== 'function') {\n throw new Error(\"every() argument \\\"validators\\\" should contain functions, found: \" + typeOf(validator) + \".\");\n }\n\n return validator.apply(void 0, [props, propName, componentName].concat(args));\n }))); // we can only return one error at a time\n };\n};\n/**\n * Ensure a prop adherers to at least one of the given prop type validators.\n * @param validators - An array of propType functions.\n */\n\nexport var some = function some(validators) {\n return function (props, propName, componentName) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 3 ? _len2 - 3 : 0), _key2 = 3; _key2 < _len2; _key2++) {\n args[_key2 - 3] = arguments[_key2];\n }\n\n if (!Array.isArray(validators)) {\n throw new Error(['Invalid argument supplied to some, expected an instance of array.', \"See `\" + propName + \"` prop in `\" + componentName + \"`.\"].join(' '));\n }\n\n var errors = _compact(_map(validators, function (validator) {\n if (!_isFunction(validator)) {\n throw new Error(\"some() argument \\\"validators\\\" should contain functions, found: \" + typeOf(validator) + \".\");\n }\n\n return validator.apply(void 0, [props, propName, componentName].concat(args));\n })); // fail only if all validators failed\n\n\n if (errors.length === validators.length) {\n var error = new Error('One of these validators must pass:');\n error.message += \"\\n\" + _map(errors, function (err) {\n return \"- \" + err.message;\n }).join('\\n');\n return error;\n }\n\n return undefined;\n };\n};\n/**\n * Ensure a validator passes only when a component has a given propsShape.\n * @param propsShape - An object describing the prop shape.\n * @param validator - A propType function.\n */\n\nexport var givenProps = function givenProps(propsShape, validator) {\n return function (props, propName, componentName) {\n for (var _len3 = arguments.length, args = new Array(_len3 > 3 ? _len3 - 3 : 0), _key3 = 3; _key3 < _len3; _key3++) {\n args[_key3 - 3] = arguments[_key3];\n }\n\n if (!_isPlainObject(propsShape)) {\n throw new Error(['Invalid argument supplied to givenProps, expected an object.', \"See `\" + propName + \"` prop in `\" + componentName + \"`.\"].join(' '));\n }\n\n if (typeof validator !== 'function') {\n throw new Error(['Invalid argument supplied to givenProps, expected a function.', \"See `\" + propName + \"` prop in `\" + componentName + \"`.\"].join(' '));\n }\n\n var shouldValidate = _keys(propsShape).every(function (key) {\n var val = propsShape[key]; // require propShape validators to pass or prop values to match\n\n return typeof val === 'function' ? !val.apply(void 0, [props, key, componentName].concat(args)) : val === props[propName];\n });\n\n if (!shouldValidate) return undefined;\n var error = validator.apply(void 0, [props, propName, componentName].concat(args));\n\n if (error) {\n // poor mans shallow pretty print, prevents JSON circular reference errors\n var prettyProps = \"{ \" + _keys(_pick(props, _keys(propsShape))).map(function (key) {\n var val = props[key];\n var renderedValue = val;\n if (typeof val === 'string') renderedValue = \"\\\"\" + val + \"\\\"\";else if (Array.isArray(val)) renderedValue = \"[\" + val.join(', ') + \"]\";else if (_isObject(val)) renderedValue = '{...}';\n return key + \": \" + renderedValue;\n }).join(', ') + \" }\";\n error.message = \"Given props \" + prettyProps + \": \" + error.message;\n return error;\n }\n };\n};\n/**\n * Define prop dependencies by requiring other props.\n * @param requiredProps - An array of required prop names.\n */\n\nexport var demand = function demand(requiredProps) {\n return function (props, propName, componentName) {\n if (!Array.isArray(requiredProps)) {\n throw new Error(['Invalid `requiredProps` argument supplied to require, expected an instance of array.', \" See `\" + propName + \"` prop in `\" + componentName + \"`.\"].join(''));\n } // skip if prop is undefined\n\n\n if (props[propName] === undefined) return undefined;\n var missingRequired = requiredProps.filter(function (requiredProp) {\n return props[requiredProp] === undefined;\n });\n\n if (missingRequired.length > 0) {\n return new Error(\"`\" + propName + \"` prop in `\" + componentName + \"` requires props: `\" + missingRequired.join('`, `') + \"`.\");\n }\n\n return undefined;\n };\n};\n/**\n * Ensure an multiple prop contains a string with only possible values.\n * @param possible - An array of possible values to prop.\n */\n\nexport var multipleProp = function multipleProp(possible) {\n return function (props, propName, componentName) {\n if (!Array.isArray(possible)) {\n throw new Error(['Invalid argument supplied to some, expected an instance of array.', \"See `\" + propName + \"` prop in `\" + componentName + \"`.\"].join(' '));\n }\n\n var propValue = props[propName]; // skip if prop is undefined\n\n if (_isNil(propValue) || propValue === false) return undefined;\n var values = propValue.replace('large screen', 'large-screen').replace(/ vertically/g, '-vertically').split(' ').map(function (val) {\n return _trim(val).replace('-', ' ');\n });\n\n var invalid = _difference(values, possible); // fail only if there are invalid values\n\n\n if (invalid.length > 0) {\n return new Error(\"`\" + propName + \"` prop in `\" + componentName + \"` has invalid values: `\" + invalid.join('`, `') + \"`.\");\n }\n\n return undefined;\n };\n};\n/**\n * Ensure a component can render as a node passed as a prop value in place of children.\n */\n\nexport var nodeContent = every([disallow(['children']), PropTypes.node]);\nexport var wrapperShorthand = PropTypes.oneOfType([PropTypes.node, PropTypes.object, PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.node, PropTypes.object]))]);\n/**\n * A shorthand prop which can be used together with `children`.\n */\n\nexport var shorthandAllowingChildren = PropTypes.oneOfType([PropTypes.node, PropTypes.object, PropTypes.func]);\nexport var shorthandObjectAllowingChildren = PropTypes.oneOfType([PropTypes.object, PropTypes.func]);\n/**\n * ObjectItemShorthand is a description of a component that can be\n * a props object or a render function.\n */\n\nexport var objectItemShorthand = every([disallow(['children']), shorthandAllowingChildren]);\n/**\n * Item shorthand is a description of a component that can be a literal,\n * a props object, an element or a render function.\n */\n\nexport var itemShorthand = every([disallow(['children']), shorthandAllowingChildren]);\nexport var itemShorthandWithKindProp = function itemShorthandWithKindProp(kindPropValues) {\n return every([disallow(['children']), PropTypes.oneOfType([PropTypes.node, PropTypes.shape({\n kind: PropTypes.oneOf(kindPropValues)\n }), PropTypes.func])]);\n};\nexport var itemShorthandWithoutJSX = every([disallow(['children']), PropTypes.oneOfType([PropTypes.func, PropTypes.number, PropTypes.object, PropTypes.string, PropTypes.oneOf([false])])]);\n/**\n * Collection shorthand ensures a prop is an array of item shorthand.\n */\n\nexport var collectionObjectShorthand = every([disallow(['children']), PropTypes.arrayOf(objectItemShorthand)]);\n/**\n * Collection shorthand ensures a prop is an array of item shorthand.\n */\n\nexport var collectionShorthand = every([disallow(['children']), PropTypes.arrayOf(itemShorthand)]);\nexport var collectionShorthandWithKindProp = function collectionShorthandWithKindProp(kindPropValues) {\n return every([disallow(['children']), PropTypes.arrayOf(itemShorthandWithKindProp(kindPropValues))]);\n};\n/**\n * Show a deprecated warning for component props with a help message and optional validator.\n * @param help - A help message to display with the deprecation warning.\n * @param validator - A propType function.\n */\n\nexport var deprecate = function deprecate(help, validator) {\n return function (props, propName, componentName) {\n if (typeof help !== 'string') {\n throw new Error(['Invalid `help` argument supplied to deprecate, expected a string.', \"See `\" + propName + \"` prop in `\" + componentName + \"`.\"].join(' '));\n } // skip if prop is undefined\n\n\n if (props[propName] === undefined) return undefined; // deprecation error and help\n\n var error = new Error(\"The `\" + propName + \"` prop in `\" + componentName + \"` is deprecated.\");\n if (help) error.message += \" \" + help; // add optional validation error message\n\n if (validator) {\n if (typeof validator === 'function') {\n for (var _len4 = arguments.length, args = new Array(_len4 > 3 ? _len4 - 3 : 0), _key4 = 3; _key4 < _len4; _key4++) {\n args[_key4 - 3] = arguments[_key4];\n }\n\n var validationError = validator.apply(void 0, [props, propName, componentName].concat(args));\n\n if (validationError) {\n error.message = error.message + \" \" + validationError.message;\n }\n } else {\n throw new Error(['Invalid argument supplied to deprecate, expected a function.', \"See `\" + propName + \"` prop in `\" + componentName + \"`.\"].join(' '));\n }\n }\n\n return error;\n };\n};\nexport var accessibility = PropTypes.func;\nexport var size = PropTypes.oneOf(['smallest', 'smaller', 'small', 'medium', 'large', 'larger', 'largest']);\nexport var align = PropTypes.oneOf(['start', 'end', 'center', 'justify']);\nexport var animation = PropTypes.oneOfType([// Validator is broken in the latest @react/types\nPropTypes.shape({\n name: PropTypes.string.isRequired,\n delay: PropTypes.string,\n direction: PropTypes.string,\n duration: PropTypes.string,\n fillMode: PropTypes.string,\n iterationCount: PropTypes.string,\n playState: PropTypes.string,\n timingFunction: PropTypes.string\n}), PropTypes.string]); // Heads Up!\n// Keep in sync with packages/react/src/themes/types.ts\n\nexport var design = PropTypes.shape({\n position: PropTypes.string,\n display: PropTypes.string,\n top: PropTypes.string,\n right: PropTypes.string,\n bottom: PropTypes.string,\n left: PropTypes.string,\n padding: PropTypes.string,\n paddingTop: PropTypes.string,\n paddingRight: PropTypes.string,\n paddingBottom: PropTypes.string,\n paddingLeft: PropTypes.string,\n margin: PropTypes.string,\n marginTop: PropTypes.string,\n marginRight: PropTypes.string,\n marginBottom: PropTypes.string,\n marginLeft: PropTypes.string,\n width: PropTypes.string,\n height: PropTypes.string,\n minWidth: PropTypes.string,\n maxWidth: PropTypes.string,\n minHeight: PropTypes.string,\n maxHeight: PropTypes.string\n});\n/** A checker that matches the React.Ref type. */\n\nexport var ref = PropTypes.oneOfType([PropTypes.func, PropTypes.object]);\n//# sourceMappingURL=index.js.map\n","export var callable = function callable(possibleFunction) {\n return function () {\n return typeof possibleFunction === 'function' ? possibleFunction.apply(void 0, arguments) : possibleFunction;\n };\n};\n//# sourceMappingURL=callable.js.map\n","import { withDebugId } from './withDebugId';\nexport var createTheme = function createTheme(themeInput, debugId) {\n return withDebugId(themeInput, debugId);\n};\n//# sourceMappingURL=createTheme.js.map\n","var isObject = function isObject(o) {\n return o !== null && typeof o === 'object' && !Array.isArray(o);\n};\n\nvar isValid = function isValid(k) {\n return k !== '__proto__' && k !== 'prototype' && k !== 'constructor';\n}; // Heads Up!\n// Changes here need to consider breaking all object references.\n// Merging should result in a themes that are non-mutated and have broken references.\n\n\nexport var deepmerge = function deepmerge() {\n var inner = function inner(target, source) {\n Object.keys(source).forEach(function (k) {\n if (isValid(k)) {\n if (isObject(source[k])) {\n if (!isObject(target[k])) {\n target[k] = {};\n }\n\n inner(target[k], source[k]);\n } else {\n target[k] = source[k]; // TODO: do deep clone for arrays? We currently do not have any deep arrays in variables\n }\n }\n });\n return target;\n };\n\n for (var _len = arguments.length, sources = new Array(_len), _key = 0; _key < _len; _key++) {\n sources[_key] = arguments[_key];\n }\n\n return sources.filter(Boolean).reduce(function (acc, src) {\n return inner(acc, src);\n }, {});\n};\n//# sourceMappingURL=deepmerge.js.map\n","export var toCompactArray = function toCompactArray() {\n var _ref;\n\n return (_ref = []).concat.apply(_ref, arguments).filter(Boolean);\n};\n//# sourceMappingURL=toCompactArray.js.map\n","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _forEach from \"lodash/forEach\";\nimport _keys from \"lodash/keys\";\nimport _map from \"lodash/map\";\nimport _union from \"lodash/union\";\nimport _merge from \"lodash/merge\";\nimport { callable } from './callable';\nimport { isEnabled as isDebugEnabled } from './debugEnabled';\nimport { deepmerge } from './deepmerge';\nimport { objectKeyToValues } from './objectKeysToValues';\nimport { toCompactArray } from './toCompactArray';\nimport { withDebugId } from './withDebugId';\nexport var emptyTheme = {\n siteVariables: {\n fontSizes: {}\n },\n componentVariables: {},\n componentStyles: {},\n fontFaces: [],\n staticStyles: [],\n animations: {}\n}; // ----------------------------------------\n// Component level merge functions\n// ----------------------------------------\n\n/**\n * Merges a single component's styles (keyed by component part) with another component's styles.\n */\n\nexport var mergeComponentStyles__PROD = function mergeComponentStyles__PROD(stylesA, stylesB) {\n var result = {};\n\n if (stylesA) {\n Object.keys(stylesA).forEach(function (partName) {\n var slotA = stylesA[partName];\n var slotB = stylesB == null ? void 0 : stylesB[partName]; // if there is no source, merging is a no-op, skip it\n\n if (typeof slotA === 'undefined' || slotA === null) {\n return;\n } // no target means source doesn't need to merge onto anything\n // just ensure source is callable (prepared format)\n\n\n if (typeof slotB === 'undefined' || slotB === null) {\n result[partName] = typeof slotA === 'function' ? slotA : function () {\n return slotA;\n };\n return;\n }\n\n if (slotA === slotB) {\n result[partName] = typeof slotA === 'function' ? slotA : function () {\n return slotA;\n };\n }\n });\n }\n\n if (stylesB) {\n Object.keys(stylesB).forEach(function (partName) {\n var slotA = stylesA == null ? void 0 : stylesA[partName];\n var slotB = stylesB[partName]; // if there is no source, merging is a no-op, skip it\n\n if (typeof slotB === 'undefined' || slotB === null) {\n return;\n } // no target means source doesn't need to merge onto anything\n // just ensure source is callable (prepared format)\n\n\n if (typeof slotA === 'undefined' || slotA === null) {\n result[partName] = typeof slotB === 'function' ? slotB : function () {\n return slotB;\n };\n return;\n }\n\n if (slotA === slotB) {\n return;\n } // We have both target and source, replace with merge fn\n\n\n result[partName] = function mergedStyleFunction(styleParam) {\n // originalTarget is always prepared, fn is guaranteed\n return _merge(typeof slotA === 'function' ? slotA(styleParam) : slotA, typeof slotB === 'function' ? slotB(styleParam) : slotB);\n };\n });\n }\n\n return result;\n};\nexport var mergeComponentStyles__DEV = function mergeComponentStyles__DEV(stylesA, stylesB) {\n if (!isDebugEnabled) {\n return mergeComponentStyles__PROD(stylesA, stylesB);\n }\n\n var mergedKeys = [].concat(stylesA ? Object.keys(stylesA) : [], stylesB ? Object.keys(stylesB) : []);\n var result = {};\n mergedKeys.forEach(function (slotName) {\n var slotA = function slotA(styleParam) {\n var _ref = callable(stylesA == null ? void 0 : stylesA[slotName])(styleParam) || {},\n _ref$_debug = _ref._debug,\n _debug = _ref$_debug === void 0 ? undefined : _ref$_debug,\n styles = _objectWithoutPropertiesLoose(_ref, [\"_debug\"]); // new object required to prevent circular JSON structure error in \n\n\n return Object.assign({}, styles, {\n _debug: _debug || [{\n styles: Object.assign({}, styles),\n debugId: stylesA._debugId\n }]\n });\n };\n\n var slotB = function slotB(styleParam) {\n var _ref2 = callable(stylesB == null ? void 0 : stylesB[slotName])(styleParam) || {},\n _ref2$_debug = _ref2._debug,\n _debug = _ref2$_debug === void 0 ? undefined : _ref2$_debug,\n styles = _objectWithoutPropertiesLoose(_ref2, [\"_debug\"]); // new object required to prevent circular JSON structure error in \n\n\n return Object.assign({}, styles, {\n _debug: _debug || [{\n styles: Object.assign({}, styles),\n debugId: stylesB._debugId\n }]\n });\n };\n\n if (stylesA != null && stylesA[slotName] && stylesB != null && stylesB[slotName]) {\n // We have both, replace with merge fn\n result[slotName] = function (styleParam) {\n // slot* are always prepared, fn is guaranteed, _debug always exists\n var _slotA = slotA(styleParam),\n debugA = _slotA._debug,\n resolvedStylesA = _objectWithoutPropertiesLoose(_slotA, [\"_debug\"]);\n\n var _slotB = slotB(styleParam),\n debugB = _slotB._debug,\n resolvedStylesB = _objectWithoutPropertiesLoose(_slotB, [\"_debug\"]);\n\n var merged = _merge(resolvedStylesA, resolvedStylesB);\n\n merged._debug = debugA.concat(debugB || {\n styles: resolvedStylesB,\n debugId: resolvedStylesB._debugId\n });\n return merged;\n };\n } else if (stylesA != null && stylesA[slotName]) {\n result[slotName] = slotA;\n } else if (stylesB != null && stylesB[slotName]) {\n result[slotName] = slotB;\n }\n });\n return result;\n};\nexport var mergeComponentStyles = process.env.NODE_ENV === 'production' ? mergeComponentStyles__PROD : mergeComponentStyles__DEV;\n/**\n * Merges a single component's variables with another component's variables.\n */\n\nexport var mergeComponentVariables__PROD = function mergeComponentVariables__PROD() {\n var initial = function initial() {\n return {};\n }; // filtering is required as some arguments can be undefined\n\n\n for (var _len = arguments.length, sources = new Array(_len), _key = 0; _key < _len; _key++) {\n sources[_key] = arguments[_key];\n }\n\n var filteredSources = sources.filter(Boolean); // a short circle to avoid calls of deepmerge()\n\n if (filteredSources.length === 1) {\n return typeof filteredSources[0] === 'function' ? filteredSources[0] : callable(filteredSources[0]);\n }\n\n return filteredSources.reduce(function (acc, next) {\n return function mergeComponentVariables() {\n var accumulatedVariables = acc.apply(void 0, arguments);\n var fn = typeof next === 'function' ? next : callable(next);\n var computedComponentVariables = fn.apply(void 0, arguments);\n return deepmerge(accumulatedVariables, computedComponentVariables);\n };\n }, initial);\n};\nexport var mergeComponentVariables__DEV = function mergeComponentVariables__DEV() {\n for (var _len2 = arguments.length, sources = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n sources[_key2] = arguments[_key2];\n }\n\n if (!isDebugEnabled) {\n return mergeComponentVariables__PROD.apply(void 0, sources);\n }\n\n var initial = function initial() {\n return {};\n };\n\n return sources.reduce(function (acc, next) {\n return function (siteVariables) {\n var _acc = acc(siteVariables),\n _acc$_debug = _acc._debug,\n _debug = _acc$_debug === void 0 ? [] : _acc$_debug,\n accumulatedVariables = _objectWithoutPropertiesLoose(_acc, [\"_debug\"]);\n\n var _ref3 = callable(next)(siteVariables) || {},\n _ref3$_debug = _ref3._debug,\n computedDebug = _ref3$_debug === void 0 ? undefined : _ref3$_debug,\n _ref3$_debugId = _ref3._debugId,\n _debugId = _ref3$_debugId === void 0 ? undefined : _ref3$_debugId,\n computedComponentVariables = _objectWithoutPropertiesLoose(_ref3, [\"_debug\", \"_debugId\"]);\n\n var merged = deepmerge(accumulatedVariables, computedComponentVariables);\n merged._debug = _debug.concat(computedDebug || {\n resolved: computedComponentVariables,\n debugId: _debugId,\n input: siteVariables ? siteVariables._invertedKeys && callable(next)(siteVariables._invertedKeys) : callable(next)()\n });\n return merged;\n };\n }, initial);\n};\nexport var mergeComponentVariables = process.env.NODE_ENV === 'production' ? mergeComponentVariables__PROD : mergeComponentVariables__DEV; // ----------------------------------------\n// Theme level merge functions\n// ----------------------------------------\n\n/**\n * Site variables can safely be merged at each Provider in the tree.\n * They are flat objects and do not depend on render-time values, such as props.\n */\n\nexport var mergeSiteVariables__PROD = function mergeSiteVariables__PROD() {\n var initial = {\n fontSizes: {}\n };\n\n for (var _len3 = arguments.length, sources = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n sources[_key3] = arguments[_key3];\n }\n\n return deepmerge.apply(void 0, [initial].concat(sources));\n};\nexport var mergeSiteVariables__DEV = function mergeSiteVariables__DEV() {\n for (var _len4 = arguments.length, sources = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n sources[_key4] = arguments[_key4];\n }\n\n if (!isDebugEnabled) {\n return mergeSiteVariables__PROD.apply(void 0, sources);\n }\n\n var initial = {\n fontSizes: {}\n };\n return sources.reduce(function (acc, next) {\n var _acc$_debug2 = acc._debug,\n _debug = _acc$_debug2 === void 0 ? [] : _acc$_debug2,\n accumulatedSiteVariables = _objectWithoutPropertiesLoose(acc, [\"_debug\"]);\n\n var _ref4 = next || {},\n _ref4$_debug = _ref4._debug,\n computedDebug = _ref4$_debug === void 0 ? undefined : _ref4$_debug,\n _ref4$_invertedKeys = _ref4._invertedKeys,\n _invertedKeys = _ref4$_invertedKeys === void 0 ? undefined : _ref4$_invertedKeys,\n _ref4$_debugId = _ref4._debugId,\n _debugId = _ref4$_debugId === void 0 ? undefined : _ref4$_debugId,\n nextSiteVariables = _objectWithoutPropertiesLoose(_ref4, [\"_debug\", \"_invertedKeys\", \"_debugId\"]);\n\n var merged = deepmerge(Object.assign({}, accumulatedSiteVariables, {\n _invertedKeys: undefined\n }), nextSiteVariables);\n merged._debug = _debug.concat(computedDebug || {\n resolved: nextSiteVariables,\n debugId: _debugId\n });\n merged._invertedKeys = _invertedKeys || objectKeyToValues(merged, function (key) {\n return \"siteVariables.\" + key;\n });\n return merged;\n }, initial);\n};\nexport var mergeSiteVariables = process.env.NODE_ENV === 'production' ? mergeSiteVariables__PROD : mergeSiteVariables__DEV;\n/**\n * Component variables can be objects, functions, or an array of these.\n * The functions must be called with the final result of siteVariables, otherwise\n * the component variable objects would have no ability to apply siteVariables.\n * Therefore, componentVariables must be resolved by the component at render time.\n * We instead pass down call stack of component variable functions to be resolved later.\n */\n\nexport var mergeThemeVariables__PROD = function mergeThemeVariables__PROD() {\n for (var _len5 = arguments.length, sources = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {\n sources[_key5] = arguments[_key5];\n }\n\n var displayNames = _union.apply(void 0, _map(sources, _keys));\n\n return displayNames.reduce(function (componentVariables, displayName) {\n componentVariables[displayName] = mergeComponentVariables.apply(void 0, _map(sources, displayName));\n return componentVariables;\n }, {});\n};\nexport var mergeThemeVariables__DEV = function mergeThemeVariables__DEV() {\n for (var _len6 = arguments.length, sources = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\n sources[_key6] = arguments[_key6];\n }\n\n if (!isDebugEnabled) {\n return mergeThemeVariables__PROD.apply(void 0, sources);\n }\n\n var displayNames = _union.apply(void 0, _map(sources, _keys));\n\n return displayNames.reduce(function (componentVariables, displayName) {\n componentVariables[displayName] = mergeComponentVariables.apply(void 0, _map(sources, function (source) {\n return source && withDebugId(source[displayName], source._debugId);\n }));\n return componentVariables;\n }, {});\n};\nexport var mergeThemeVariables = process.env.NODE_ENV === 'production' ? mergeThemeVariables__PROD : mergeThemeVariables__DEV;\n/**\n * See mergeThemeVariables() description.\n * Component styles adhere to the same pattern as component variables, except\n * that they return style objects.\n */\n\nexport var mergeThemeStyles = function mergeThemeStyles() {\n var initial = {};\n\n for (var _len7 = arguments.length, sources = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {\n sources[_key7] = arguments[_key7];\n }\n\n return sources.reduce(function (themeComponentStyles, next) {\n _forEach(next, function (stylesByPart, displayName) {\n themeComponentStyles[displayName] = mergeComponentStyles(themeComponentStyles[displayName], withDebugId(stylesByPart, next._debugId));\n });\n\n return themeComponentStyles;\n }, initial);\n};\nexport var mergeFontFaces = function mergeFontFaces() {\n return toCompactArray.apply(void 0, arguments);\n};\nexport var mergeStaticStyles = function mergeStaticStyles() {\n return toCompactArray.apply(void 0, arguments);\n};\nexport var mergeAnimations = function mergeAnimations() {\n for (var _len8 = arguments.length, sources = new Array(_len8), _key8 = 0; _key8 < _len8; _key8++) {\n sources[_key8] = arguments[_key8];\n }\n\n return Object.assign.apply(Object, [{}].concat(sources));\n};\nexport var mergeStyles = function mergeStyles() {\n for (var _len9 = arguments.length, sources = new Array(_len9), _key9 = 0; _key9 < _len9; _key9++) {\n sources[_key9] = arguments[_key9];\n }\n\n return function () {\n for (var _len10 = arguments.length, args = new Array(_len10), _key10 = 0; _key10 < _len10; _key10++) {\n args[_key10] = arguments[_key10];\n }\n\n return sources.reduce(function (acc, next) {\n return _merge(acc, callable(next).apply(void 0, args));\n }, {});\n };\n};\nexport var mergeThemes = function mergeThemes() {\n for (var _len11 = arguments.length, themes = new Array(_len11), _key11 = 0; _key11 < _len11; _key11++) {\n themes[_key11] = arguments[_key11];\n }\n\n return themes.reduce(function (acc, next) {\n if (!next) return acc;\n var nextDebugId = next['_debugId'];\n acc.siteVariables = mergeSiteVariables(acc.siteVariables, withDebugId(next.siteVariables, nextDebugId));\n acc.componentVariables = mergeThemeVariables(acc.componentVariables, withDebugId(next.componentVariables, nextDebugId));\n acc.componentStyles = mergeThemeStyles(acc.componentStyles, withDebugId(next.componentStyles, nextDebugId));\n acc.fontFaces = mergeFontFaces.apply(void 0, acc.fontFaces.concat(next.fontFaces || []));\n acc.staticStyles = mergeStaticStyles.apply(void 0, acc.staticStyles.concat(next.staticStyles || []));\n acc.animations = mergeAnimations(acc.animations, next.animations);\n return acc;\n }, // .reduce() will modify \"emptyTheme\" object, so we should clone it before actual usage\n Object.assign({}, emptyTheme));\n};\n//# sourceMappingURL=mergeThemes.js.map\n","import { isEnabled as isDebugEnabled } from './debugEnabled';\nexport var withDebugId = process.env.NODE_ENV === 'production' ? function (data, debugId) {\n return data;\n} : function (data, debugId) {\n if (!isDebugEnabled || debugId === undefined) {\n return data;\n }\n\n if (typeof data === 'object' && data !== null) {\n if (!Object.prototype.hasOwnProperty.call(data, '_debugId')) {\n var copy = Object.assign({}, data);\n Object.defineProperty(copy, '_debugId', {\n value: debugId,\n writable: false,\n enumerable: false\n });\n return copy;\n }\n }\n\n if (typeof data === 'function') {\n return function () {\n var result = data.apply(void 0, arguments);\n return withDebugId(result, debugId);\n };\n }\n\n return data;\n};\n//# sourceMappingURL=withDebugId.js.map\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nexport var strShimFunction = \"function\";\r\nexport var strShimObject = \"object\";\r\nexport var strShimUndefined = \"undefined\";\r\nexport var strShimPrototype = \"prototype\";\r\nexport var strShimHasOwnProperty = \"hasOwnProperty\";\r\nexport var strDefault = \"default\";\r\nexport var ObjClass = Object;\r\nexport var ObjProto = ObjClass[strShimPrototype];\r\nexport var ObjAssign = ObjClass[\"assign\"];\r\nexport var ObjCreate = ObjClass[\"create\"];\r\nexport var ObjDefineProperty = ObjClass[\"defineProperty\"];\r\nexport var ObjHasOwnProperty = ObjProto[strShimHasOwnProperty];\r\n//# sourceMappingURL=Constants.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { ObjCreate, strShimFunction, strShimObject, strShimPrototype, strShimUndefined } from \"./Constants\";\r\n/**\r\n * Returns the current global scope object, for a normal web page this will be the current\r\n * window, for a Web Worker this will be current worker global scope via \"self\". The internal\r\n * implementation returns the first available instance object in the following order\r\n * - globalThis (New standard)\r\n * - self (Will return the current window instance for supported browsers)\r\n * - window (fallback for older browser implementations)\r\n * - global (NodeJS standard)\r\n * - (When all else fails)\r\n * While the return type is a Window for the normal case, not all environments will support all\r\n * of the properties or functions.\r\n */\r\nexport function getGlobal() {\r\n if (typeof globalThis !== strShimUndefined && globalThis) {\r\n return globalThis;\r\n }\r\n if (typeof self !== strShimUndefined && self) {\r\n return self;\r\n }\r\n if (typeof window !== strShimUndefined && window) {\r\n return window;\r\n }\r\n if (typeof global !== strShimUndefined && global) {\r\n return global;\r\n }\r\n return null;\r\n}\r\nexport function throwTypeError(message) {\r\n throw new TypeError(message);\r\n}\r\n/**\r\n * Creates an object that has the specified prototype, and that optionally contains specified properties. This helper exists to avoid adding a polyfil\r\n * for older browsers that do not define Object.create eg. ES3 only, IE8 just in case any page checks for presence/absence of the prototype implementation.\r\n * Note: For consistency this will not use the Object.create implementation if it exists as this would cause a testing requirement to test with and without the implementations\r\n * @param obj Object to use as a prototype. May be null\r\n */\r\nexport function objCreateFn(obj) {\r\n var func = ObjCreate;\r\n // Use build in Object.create\r\n if (func) {\r\n // Use Object create method if it exists\r\n return func(obj);\r\n }\r\n if (obj == null) {\r\n return {};\r\n }\r\n var type = typeof obj;\r\n if (type !== strShimObject && type !== strShimFunction) {\r\n throwTypeError('Object prototype may only be an Object:' + obj);\r\n }\r\n function tmpFunc() { }\r\n tmpFunc[strShimPrototype] = obj;\r\n return new tmpFunc();\r\n}\r\n//# sourceMappingURL=Helpers.js.map","/*\n * Application Insights JavaScript SDK - Core, 2.7.0\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { strShimUndefined, strShimObject, strShimFunction, throwTypeError, ObjClass, ObjProto, ObjAssign, ObjHasOwnProperty, ObjDefineProperty } from \"@microsoft/applicationinsights-shims\";\r\n// RESTRICT and AVOID circular dependencies you should not import other contained modules or export the contents of this file directly\r\n// Added to help with minfication\r\nvar strOnPrefix = \"on\";\r\nvar strAttachEvent = \"attachEvent\";\r\nvar strAddEventHelper = \"addEventListener\";\r\nvar strDetachEvent = \"detachEvent\";\r\nvar strRemoveEventListener = \"removeEventListener\";\r\nvar _objDefineProperty = ObjDefineProperty;\r\nvar _objFreeze = ObjClass[\"freeze\"];\r\nvar _objSeal = ObjClass[\"seal\"];\r\nexport function objToString(obj) {\r\n return ObjProto.toString.call(obj);\r\n}\r\nexport function isTypeof(value, theType) {\r\n return typeof value === theType;\r\n}\r\n;\r\nexport function isUndefined(value) {\r\n return value === undefined || typeof value === strShimUndefined;\r\n}\r\n;\r\nexport function isNotUndefined(value) {\r\n return !isUndefined(value);\r\n}\r\nexport function isNullOrUndefined(value) {\r\n return (value === null || isUndefined(value));\r\n}\r\nexport function isNotNullOrUndefined(value) {\r\n return !isNullOrUndefined(value);\r\n}\r\nexport function hasOwnProperty(obj, prop) {\r\n return obj && ObjHasOwnProperty.call(obj, prop);\r\n}\r\n;\r\nexport function isObject(value) {\r\n // Changing to inline for performance\r\n return typeof value === strShimObject;\r\n}\r\n;\r\nexport function isFunction(value) {\r\n // Changing to inline for performance\r\n return typeof value === strShimFunction;\r\n}\r\n;\r\n/**\r\n * Binds the specified function to an event, so that the function gets called whenever the event fires on the object\r\n * @param obj Object to add the event too.\r\n * @param eventNameWithoutOn String that specifies any of the standard DHTML Events without \"on\" prefix\r\n * @param handlerRef Pointer that specifies the function to call when event fires\r\n * @param useCapture [Optional] Defaults to false\r\n * @returns True if the function was bound successfully to the event, otherwise false\r\n */\r\nexport function attachEvent(obj, eventNameWithoutOn, handlerRef, useCapture) {\r\n if (useCapture === void 0) { useCapture = false; }\r\n var result = false;\r\n if (!isNullOrUndefined(obj)) {\r\n try {\r\n if (!isNullOrUndefined(obj[strAddEventHelper])) {\r\n // all browsers except IE before version 9\r\n obj[strAddEventHelper](eventNameWithoutOn, handlerRef, useCapture);\r\n result = true;\r\n }\r\n else if (!isNullOrUndefined(obj[strAttachEvent])) {\r\n // IE before version 9 \r\n obj[strAttachEvent](strOnPrefix + eventNameWithoutOn, handlerRef);\r\n result = true;\r\n }\r\n }\r\n catch (e) {\r\n // Just Ignore any error so that we don't break any execution path\r\n }\r\n }\r\n return result;\r\n}\r\n/**\r\n * Removes an event handler for the specified event\r\n * @param Object to remove the event from\r\n * @param eventNameWithoutOn {string} - The name of the event\r\n * @param handlerRef {any} - The callback function that needs to be executed for the given event\r\n * @param useCapture [Optional] Defaults to false\r\n */\r\nexport function detachEvent(obj, eventNameWithoutOn, handlerRef, useCapture) {\r\n if (useCapture === void 0) { useCapture = false; }\r\n if (!isNullOrUndefined(obj)) {\r\n try {\r\n if (!isNullOrUndefined(obj[strRemoveEventListener])) {\r\n obj[strRemoveEventListener](eventNameWithoutOn, handlerRef, useCapture);\r\n }\r\n else if (!isNullOrUndefined(obj[strDetachEvent])) {\r\n obj[strDetachEvent](strOnPrefix + eventNameWithoutOn, handlerRef);\r\n }\r\n }\r\n catch (e) {\r\n // Just Ignore any error so that we don't break any execution path\r\n }\r\n }\r\n}\r\n/**\r\n * Validates that the string name conforms to the JS IdentifierName specification and if not\r\n * normalizes the name so that it would. This method does not identify or change any keywords\r\n * meaning that if you pass in a known keyword the same value will be returned.\r\n * This is a simplified version\r\n * @param name The name to validate\r\n */\r\nexport function normalizeJsName(name) {\r\n var value = name;\r\n var match = /([^\\w\\d_$])/g;\r\n if (match.test(name)) {\r\n value = name.replace(match, \"_\");\r\n }\r\n return value;\r\n}\r\n/**\r\n * This is a helper function for the equivalent of arForEach(objKeys(target), callbackFn), this is a\r\n * performance optimization to avoid the creation of a new array for large objects\r\n * @param target The target object to find and process the keys\r\n * @param callbackfn The function to call with the details\r\n */\r\nexport function objForEachKey(target, callbackfn) {\r\n if (target) {\r\n for (var prop in target) {\r\n if (ObjHasOwnProperty.call(target, prop)) {\r\n callbackfn.call(target, prop, target[prop]);\r\n }\r\n }\r\n }\r\n}\r\n/**\r\n * The strEndsWith() method determines whether a string ends with the characters of a specified string, returning true or false as appropriate.\r\n * @param value - The value to check whether it ends with the search value.\r\n * @param search - The characters to be searched for at the end of the value.\r\n * @returns true if the given search value is found at the end of the string, otherwise false.\r\n */\r\nexport function strEndsWith(value, search) {\r\n if (value && search) {\r\n var searchLen = search.length;\r\n var valLen = value.length;\r\n if (value === search) {\r\n return true;\r\n }\r\n else if (valLen >= searchLen) {\r\n var pos = valLen - 1;\r\n for (var lp = searchLen - 1; lp >= 0; lp--) {\r\n if (value[pos] != search[lp]) {\r\n return false;\r\n }\r\n pos--;\r\n }\r\n return true;\r\n }\r\n }\r\n return false;\r\n}\r\n/**\r\n * The strStartsWith() method determines whether a string starts with the characters of the specified string, returning true or false as appropriate.\r\n * @param value - The value to check whether it ends with the search value.\r\n * @param checkValue - The characters to be searched for at the start of the value.\r\n * @returns true if the given search value is found at the start of the string, otherwise false.\r\n */\r\nexport function strStartsWith(value, checkValue) {\r\n // Using helper for performance and because string startsWith() is not available on IE\r\n var result = false;\r\n if (value && checkValue) {\r\n var chkLen = checkValue.length;\r\n if (value === checkValue) {\r\n return true;\r\n }\r\n else if (value.length >= chkLen) {\r\n for (var lp = 0; lp < chkLen; lp++) {\r\n if (value[lp] !== checkValue[lp]) {\r\n return false;\r\n }\r\n }\r\n result = true;\r\n }\r\n }\r\n return result;\r\n}\r\n/**\r\n * A simple wrapper (for minification support) to check if the value contains the search string.\r\n * @param value - The string value to check for the existence of the search value\r\n * @param search - The value search within the value\r\n */\r\nexport function strContains(value, search) {\r\n if (value && search) {\r\n return value.indexOf(search) !== -1;\r\n }\r\n return false;\r\n}\r\n/**\r\n * Check if an object is of type Date\r\n */\r\nexport function isDate(obj) {\r\n return objToString(obj) === \"[object Date]\";\r\n}\r\n/**\r\n * Check if an object is of type Array\r\n */\r\nexport function isArray(obj) {\r\n return objToString(obj) === \"[object Array]\";\r\n}\r\n/**\r\n * Check if an object is of type Error\r\n */\r\nexport function isError(obj) {\r\n return objToString(obj) === \"[object Error]\";\r\n}\r\n/**\r\n * Checks if the type of value is a string.\r\n * @param {any} value - Value to be checked.\r\n * @return {boolean} True if the value is a string, false otherwise.\r\n */\r\nexport function isString(value) {\r\n // Changing to inline for performance\r\n return typeof value === \"string\";\r\n}\r\n/**\r\n * Checks if the type of value is a number.\r\n * @param {any} value - Value to be checked.\r\n * @return {boolean} True if the value is a number, false otherwise.\r\n */\r\nexport function isNumber(value) {\r\n // Changing to inline for performance\r\n return typeof value === \"number\";\r\n}\r\n/**\r\n * Checks if the type of value is a boolean.\r\n * @param {any} value - Value to be checked.\r\n * @return {boolean} True if the value is a boolean, false otherwise.\r\n */\r\nexport function isBoolean(value) {\r\n // Changing to inline for performance\r\n return typeof value === \"boolean\";\r\n}\r\n/**\r\n * Checks if the type of value is a Symbol.\r\n * This only returns a boolean as returning value is Symbol will cause issues for older TypeScript consumers\r\n * @param {any} value - Value to be checked.\r\n * @return {boolean} True if the value is a Symbol, false otherwise.\r\n */\r\nexport function isSymbol(value) {\r\n return typeof value === \"symbol\";\r\n}\r\n/**\r\n * Convert a date to I.S.O. format in IE8\r\n */\r\nexport function toISOString(date) {\r\n if (isDate(date)) {\r\n var pad = function (num) {\r\n var r = String(num);\r\n if (r.length === 1) {\r\n r = \"0\" + r;\r\n }\r\n return r;\r\n };\r\n return date.getUTCFullYear()\r\n + \"-\" + pad(date.getUTCMonth() + 1)\r\n + \"-\" + pad(date.getUTCDate())\r\n + \"T\" + pad(date.getUTCHours())\r\n + \":\" + pad(date.getUTCMinutes())\r\n + \":\" + pad(date.getUTCSeconds())\r\n + \".\" + String((date.getUTCMilliseconds() / 1000).toFixed(3)).slice(2, 5)\r\n + \"Z\";\r\n }\r\n}\r\n/**\r\n * Performs the specified action for each element in an array. This helper exists to avoid adding a polyfil for older browsers\r\n * that do not define Array.prototype.xxxx (eg. ES3 only, IE8) just in case any page checks for presence/absence of the prototype\r\n * implementation. Note: For consistency this will not use the Array.prototype.xxxx implementation if it exists as this would\r\n * cause a testing requirement to test with and without the implementations\r\n * @param callbackfn A function that accepts up to three arguments. forEach calls the callbackfn function one time for each element in the array. It can return -1 to break out of the loop\r\n * @param thisArg [Optional] An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value.\r\n */\r\nexport function arrForEach(arr, callbackfn, thisArg) {\r\n var len = arr.length;\r\n try {\r\n for (var idx = 0; idx < len; idx++) {\r\n if (idx in arr) {\r\n if (callbackfn.call(thisArg || arr, arr[idx], idx, arr) === -1) {\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n catch (e) {\r\n // This can happen with some native browser objects, but should not happen for the type we are checking for\r\n }\r\n}\r\n/**\r\n * Returns the index of the first occurrence of a value in an array. This helper exists to avoid adding a polyfil for older browsers\r\n * that do not define Array.prototype.xxxx (eg. ES3 only, IE8) just in case any page checks for presence/absence of the prototype\r\n * implementation. Note: For consistency this will not use the Array.prototype.xxxx implementation if it exists as this would\r\n * cause a testing requirement to test with and without the implementations\r\n * @param searchElement The value to locate in the array.\r\n * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the search starts at index 0.\r\n */\r\nexport function arrIndexOf(arr, searchElement, fromIndex) {\r\n var len = arr.length;\r\n var from = fromIndex || 0;\r\n try {\r\n for (var lp = Math.max(from >= 0 ? from : len - Math.abs(from), 0); lp < len; lp++) {\r\n if (lp in arr && arr[lp] === searchElement) {\r\n return lp;\r\n }\r\n }\r\n }\r\n catch (e) {\r\n // This can happen with some native browser objects, but should not happen for the type we are checking for\r\n }\r\n return -1;\r\n}\r\n/**\r\n * Calls a defined callback function on each element of an array, and returns an array that contains the results. This helper exists\r\n * to avoid adding a polyfil for older browsers that do not define Array.prototype.xxxx (eg. ES3 only, IE8) just in case any page\r\n * checks for presence/absence of the prototype implementation. Note: For consistency this will not use the Array.prototype.xxxx\r\n * implementation if it exists as this would cause a testing requirement to test with and without the implementations\r\n * @param callbackfn A function that accepts up to three arguments. The map method calls the callbackfn function one time for each element in the array.\r\n * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value.\r\n */\r\nexport function arrMap(arr, callbackfn, thisArg) {\r\n var len = arr.length;\r\n var _this = thisArg || arr;\r\n var results = new Array(len);\r\n try {\r\n for (var lp = 0; lp < len; lp++) {\r\n if (lp in arr) {\r\n results[lp] = callbackfn.call(_this, arr[lp], arr);\r\n }\r\n }\r\n }\r\n catch (e) {\r\n // This can happen with some native browser objects, but should not happen for the type we are checking for\r\n }\r\n return results;\r\n}\r\n/**\r\n * Calls the specified callback function for all the elements in an array. The return value of the callback function is the accumulated result, and is\r\n * provided as an argument in the next call to the callback function. This helper exists to avoid adding a polyfil for older browsers that do not define\r\n * Array.prototype.xxxx (eg. ES3 only, IE8) just in case any page checks for presence/absence of the prototype implementation. Note: For consistency\r\n * this will not use the Array.prototype.xxxx implementation if it exists as this would cause a testing requirement to test with and without the implementations\r\n * @param callbackfn A function that accepts up to four arguments. The reduce method calls the callbackfn function one time for each element in the array.\r\n * @param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value.\r\n */\r\nexport function arrReduce(arr, callbackfn, initialValue) {\r\n var len = arr.length;\r\n var lp = 0;\r\n var value;\r\n // Specifically checking the number of passed arguments as the value could be anything\r\n if (arguments.length >= 3) {\r\n value = arguments[2];\r\n }\r\n else {\r\n while (lp < len && !(lp in arr)) {\r\n lp++;\r\n }\r\n value = arr[lp++];\r\n }\r\n while (lp < len) {\r\n if (lp in arr) {\r\n value = callbackfn(value, arr[lp], lp, arr);\r\n }\r\n lp++;\r\n }\r\n return value;\r\n}\r\n/**\r\n * helper method to trim strings (IE8 does not implement String.prototype.trim)\r\n */\r\nexport function strTrim(str) {\r\n if (typeof str !== \"string\") {\r\n return str;\r\n }\r\n return str.replace(/^\\s+|\\s+$/g, \"\");\r\n}\r\nvar _objKeysHasDontEnumBug = !({ toString: null }).propertyIsEnumerable('toString');\r\nvar _objKeysDontEnums = [\r\n 'toString',\r\n 'toLocaleString',\r\n 'valueOf',\r\n 'hasOwnProperty',\r\n 'isPrototypeOf',\r\n 'propertyIsEnumerable',\r\n 'constructor'\r\n];\r\n/**\r\n * Returns the names of the enumerable string properties and methods of an object. This helper exists to avoid adding a polyfil for older browsers\r\n * that do not define Object.keys eg. ES3 only, IE8 just in case any page checks for presence/absence of the prototype implementation.\r\n * Note: For consistency this will not use the Object.keys implementation if it exists as this would cause a testing requirement to test with and without the implementations\r\n * @param obj Object that contains the properties and methods. This can be an object that you created or an existing Document Object Model (DOM) object.\r\n */\r\nexport function objKeys(obj) {\r\n var objType = typeof obj;\r\n if (objType !== strShimFunction && (objType !== strShimObject || obj === null)) {\r\n throwTypeError('objKeys called on non-object');\r\n }\r\n var result = [];\r\n for (var prop in obj) {\r\n if (obj && ObjHasOwnProperty.call(obj, prop)) {\r\n result.push(prop);\r\n }\r\n }\r\n if (_objKeysHasDontEnumBug) {\r\n var dontEnumsLength = _objKeysDontEnums.length;\r\n for (var lp = 0; lp < dontEnumsLength; lp++) {\r\n if (obj && ObjHasOwnProperty.call(obj, _objKeysDontEnums[lp])) {\r\n result.push(_objKeysDontEnums[lp]);\r\n }\r\n }\r\n }\r\n return result;\r\n}\r\n/**\r\n * Try to define get/set object property accessors for the target object/prototype, this will provide compatibility with\r\n * existing API definition when run within an ES5+ container that supports accessors but still enable the code to be loaded\r\n * and executed in an ES3 container, providing basic IE8 compatibility.\r\n * @param target The object on which to define the property.\r\n * @param prop The name of the property to be defined or modified.\r\n * @param getProp The getter function to wire against the getter.\r\n * @param setProp The setter function to wire against the setter.\r\n * @returns True if it was able to create the accessors otherwise false\r\n */\r\nexport function objDefineAccessors(target, prop, getProp, setProp) {\r\n if (_objDefineProperty) {\r\n try {\r\n var descriptor = {\r\n enumerable: true,\r\n configurable: true\r\n };\r\n if (getProp) {\r\n descriptor.get = getProp;\r\n }\r\n if (setProp) {\r\n descriptor.set = setProp;\r\n }\r\n _objDefineProperty(target, prop, descriptor);\r\n return true;\r\n }\r\n catch (e) {\r\n // IE8 Defines a defineProperty on Object but it's only supported for DOM elements so it will throw\r\n // We will just ignore this here.\r\n }\r\n }\r\n return false;\r\n}\r\nexport function objFreeze(value) {\r\n if (_objFreeze) {\r\n value = _objFreeze(value);\r\n }\r\n return value;\r\n}\r\nexport function objSeal(value) {\r\n if (_objSeal) {\r\n value = _objSeal(value);\r\n }\r\n return value;\r\n}\r\n/**\r\n * Return the current time via the Date now() function (if available) and falls back to (new Date()).getTime() if now() is unavailable (IE8 or less)\r\n * https://caniuse.com/#search=Date.now\r\n */\r\nexport function dateNow() {\r\n var dt = Date;\r\n if (dt.now) {\r\n return dt.now();\r\n }\r\n return new dt().getTime();\r\n}\r\n/**\r\n * Returns the name of object if it's an Error. Otherwise, returns empty string.\r\n */\r\nexport function getExceptionName(object) {\r\n if (isError(object)) {\r\n return object.name;\r\n }\r\n return \"\";\r\n}\r\n/**\r\n * Sets the provided value on the target instance using the field name when the provided chk function returns true, the chk\r\n * function will only be called if the new value is no equal to the original value.\r\n * @param target - The target object\r\n * @param field - The key of the target\r\n * @param value - The value to set\r\n * @param valChk - [Optional] Callback to check the value that if supplied will be called check if the new value can be set\r\n * @param srcChk - [Optional] Callback to check to original value that if supplied will be called if the new value should be set (if allowed)\r\n * @returns The existing or new value, depending what was set\r\n */\r\nexport function setValue(target, field, value, valChk, srcChk) {\r\n var theValue = value;\r\n if (target) {\r\n theValue = target[field];\r\n if (theValue !== value && (!srcChk || srcChk(theValue)) && (!valChk || valChk(value))) {\r\n theValue = value;\r\n target[field] = theValue;\r\n }\r\n }\r\n return theValue;\r\n}\r\n/**\r\n * Returns the current value from the target object if not null or undefined otherwise sets the new value and returns it\r\n * @param target - The target object to return or set the default value\r\n * @param field - The key for the field to set on the target\r\n * @param defValue - [Optional] The value to set if not already present, when not provided a empty object will be added\r\n */\r\nexport function getSetValue(target, field, defValue) {\r\n var theValue;\r\n if (target) {\r\n theValue = target[field];\r\n if (!theValue && isNullOrUndefined(theValue)) {\r\n // Supports having the default as null\r\n theValue = !isUndefined(defValue) ? defValue : {};\r\n target[field] = theValue;\r\n }\r\n }\r\n else {\r\n // Expanded for performance so we only check defValue if required\r\n theValue = !isUndefined(defValue) ? defValue : {};\r\n }\r\n return theValue;\r\n}\r\nexport function isNotTruthy(value) {\r\n return !value;\r\n}\r\nexport function isTruthy(value) {\r\n return !!value;\r\n}\r\nexport function throwError(message) {\r\n throw new Error(message);\r\n}\r\n/**\r\n * Effectively assigns all enumerable properties (not just own properties) and functions (including inherited prototype) from\r\n * the source object to the target, it attempts to use proxy getters / setters (if possible) and proxy functions to avoid potential\r\n * implementation issues by assigning prototype functions as instance ones\r\n *\r\n * This method is the primary method used to \"update\" the snippet proxy with the ultimate implementations.\r\n *\r\n * Special ES3 Notes:\r\n * Updates (setting) of direct property values on the target or indirectly on the source object WILL NOT WORK PROPERLY, updates to the\r\n * properties of \"referenced\" object will work (target.context.newValue = 10 => will be reflected in the source.context as it's the\r\n * same object). ES3 Failures: assigning target.myProp = 3 -> Won't change source.myProp = 3, likewise the reverse would also fail.\r\n * @param target - The target object to be assigned with the source properties and functions\r\n * @param source - The source object which will be assigned / called by setting / calling the targets proxies\r\n * @param chkSet - An optional callback to determine whether a specific property/function should be proxied\r\n * @memberof Initialization\r\n */\r\nexport function proxyAssign(target, source, chkSet) {\r\n if (target && source && target !== source && isObject(target) && isObject(source)) {\r\n var _loop_1 = function (field) {\r\n if (isString(field)) {\r\n var value = source[field];\r\n if (isFunction(value)) {\r\n if (!chkSet || chkSet(field, true, source, target)) {\r\n // Create a proxy function rather than just copying the (possible) prototype to the new object as an instance function\r\n target[field] = (function (funcName) {\r\n return function () {\r\n // Capture the original arguments passed to the method\r\n var originalArguments = arguments;\r\n return source[funcName].apply(source, originalArguments);\r\n };\r\n })(field);\r\n }\r\n }\r\n else if (!chkSet || chkSet(field, false, source, target)) {\r\n if (hasOwnProperty(target, field)) {\r\n // Remove any previous instance property\r\n delete target[field];\r\n }\r\n if (!objDefineAccessors(target, field, function () {\r\n return source[field];\r\n }, function (theValue) {\r\n source[field] = theValue;\r\n })) {\r\n // Unable to create an accessor, so just assign the values as a fallback\r\n // -- this will (mostly) work for objects\r\n // -- but will fail for accessing primitives (if the source changes it) and all types of \"setters\" as the source won't be modified\r\n target[field] = value;\r\n }\r\n }\r\n }\r\n };\r\n // effectively apply/proxy full source to the target instance\r\n for (var field in source) {\r\n _loop_1(field);\r\n }\r\n }\r\n return target;\r\n}\r\n/**\r\n * Simpler helper to create a dynamic class that implements the interface and populates the values with the defaults.\r\n * Only instance properties (hasOwnProperty) values are copied from the defaults to the new instance\r\n * @param defaults Simple helper\r\n */\r\nexport function createClassFromInterface(defaults) {\r\n return /** @class */ (function () {\r\n function class_1() {\r\n var _this_1 = this;\r\n if (defaults) {\r\n objForEachKey(defaults, function (field, value) {\r\n _this_1[field] = value;\r\n });\r\n }\r\n }\r\n return class_1;\r\n }());\r\n}\r\n/**\r\n * A helper function to assist with JIT performance for objects that have properties added / removed dynamically\r\n * this is primarily for chromium based browsers and has limited effects on Firefox and none of IE. Only call this\r\n * function after you have finished \"updating\" the object, calling this within loops reduces or defeats the benefits.\r\n * This helps when iterating using for..in, objKeys() and objForEach()\r\n * @param theObject - The object to be optimized if possible\r\n */\r\nexport function optimizeObject(theObject) {\r\n // V8 Optimization to cause the JIT compiler to create a new optimized object for looking up the own properties\r\n // primarily for object with <= 19 properties for >= 20 the effect is reduced or non-existent\r\n if (theObject) {\r\n theObject = ObjClass(ObjAssign ? ObjAssign({}, theObject) : theObject);\r\n }\r\n return theObject;\r\n}\r\n//# sourceMappingURL=HelperFuncs.js.map","/*\n * Application Insights JavaScript SDK - Core, 2.7.0\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { dateNow, isArray, isFunction, objDefineAccessors } from './HelperFuncs';\r\nvar strExecutionContextKey = \"ctx\";\r\nvar _defaultPerfManager = null;\r\nvar PerfEvent = /** @class */ (function () {\r\n function PerfEvent(name, payloadDetails, isAsync) {\r\n var _self = this;\r\n var accessorDefined = false;\r\n _self.start = dateNow();\r\n _self.name = name;\r\n _self.isAsync = isAsync;\r\n _self.isChildEvt = function () { return false; };\r\n if (isFunction(payloadDetails)) {\r\n // Create an accessor to minimize the potential performance impact of executing the payloadDetails callback\r\n var theDetails_1;\r\n accessorDefined = objDefineAccessors(_self, 'payload', function () {\r\n // Delay the execution of the payloadDetails until needed\r\n if (!theDetails_1 && isFunction(payloadDetails)) {\r\n theDetails_1 = payloadDetails();\r\n // clear it out now so the referenced objects can be garbage collected\r\n payloadDetails = null;\r\n }\r\n return theDetails_1;\r\n });\r\n }\r\n _self.getCtx = function (key) {\r\n if (key) {\r\n // The parent and child links are located directly on the object (for better viewing in the DebugPlugin)\r\n if (key === PerfEvent.ParentContextKey || key === PerfEvent.ChildrenContextKey) {\r\n return _self[key];\r\n }\r\n return (_self[strExecutionContextKey] || {})[key];\r\n }\r\n return null;\r\n };\r\n _self.setCtx = function (key, value) {\r\n if (key) {\r\n // Put the parent and child links directly on the object (for better viewing in the DebugPlugin)\r\n if (key === PerfEvent.ParentContextKey) {\r\n // Simple assumption, if we are setting a parent then we must be a child\r\n if (!_self[key]) {\r\n _self.isChildEvt = function () { return true; };\r\n }\r\n _self[key] = value;\r\n }\r\n else if (key === PerfEvent.ChildrenContextKey) {\r\n _self[key] = value;\r\n }\r\n else {\r\n var ctx = _self[strExecutionContextKey] = _self[strExecutionContextKey] || {};\r\n ctx[key] = value;\r\n }\r\n }\r\n };\r\n _self.complete = function () {\r\n var childTime = 0;\r\n var childEvts = _self.getCtx(PerfEvent.ChildrenContextKey);\r\n if (isArray(childEvts)) {\r\n for (var lp = 0; lp < childEvts.length; lp++) {\r\n var childEvt = childEvts[lp];\r\n if (childEvt) {\r\n childTime += childEvt.time;\r\n }\r\n }\r\n }\r\n _self.time = dateNow() - _self.start;\r\n _self.exTime = _self.time - childTime;\r\n _self.complete = function () { };\r\n if (!accessorDefined && isFunction(payloadDetails)) {\r\n // If we couldn't define the property set during complete -- to minimize the perf impact until after the time\r\n _self.payload = payloadDetails();\r\n }\r\n };\r\n }\r\n PerfEvent.ParentContextKey = \"parent\";\r\n PerfEvent.ChildrenContextKey = \"childEvts\";\r\n return PerfEvent;\r\n}());\r\nexport { PerfEvent };\r\nvar PerfManager = /** @class */ (function () {\r\n function PerfManager(manager) {\r\n /**\r\n * General bucket used for execution context set and retrieved via setCtx() and getCtx.\r\n * Defined as private so it can be visualized via the DebugPlugin\r\n */\r\n this.ctx = {};\r\n dynamicProto(PerfManager, this, function (_self) {\r\n _self.create = function (src, payloadDetails, isAsync) {\r\n // TODO (@MSNev): at some point we will want to add additional configuration to \"select\" which events to instrument\r\n // for now this is just a simple do everything.\r\n return new PerfEvent(src, payloadDetails, isAsync);\r\n };\r\n _self.fire = function (perfEvent) {\r\n if (perfEvent) {\r\n perfEvent.complete();\r\n if (manager && isFunction(manager.perfEvent)) {\r\n manager.perfEvent(perfEvent);\r\n }\r\n }\r\n };\r\n _self.setCtx = function (key, value) {\r\n if (key) {\r\n var ctx = _self[strExecutionContextKey] = _self[strExecutionContextKey] || {};\r\n ctx[key] = value;\r\n }\r\n };\r\n _self.getCtx = function (key) {\r\n return (_self[strExecutionContextKey] || {})[key];\r\n };\r\n });\r\n }\r\n// Removed Stub for PerfManager.prototype.create.\r\n// Removed Stub for PerfManager.prototype.fire.\r\n// Removed Stub for PerfManager.prototype.setCtx.\r\n// Removed Stub for PerfManager.prototype.getCtx.\r\n return PerfManager;\r\n}());\r\nexport { PerfManager };\r\nvar doPerfActiveKey = \"CoreUtils.doPerf\";\r\n/**\r\n * Helper function to wrap a function with a perf event\r\n * @param mgrSource - The Performance Manager or a Performance provider source (may be null)\r\n * @param getSource - The callback to create the source name for the event (if perf monitoring is enabled)\r\n * @param func - The function to call and measure\r\n * @param details - A function to return the payload details\r\n * @param isAsync - Is the event / function being call asynchronously or synchronously\r\n */\r\nexport function doPerf(mgrSource, getSource, func, details, isAsync) {\r\n if (mgrSource) {\r\n var perfMgr = mgrSource;\r\n if (isFunction(perfMgr[\"getPerfMgr\"])) {\r\n // Looks like a perf manager provider object\r\n perfMgr = perfMgr[\"getPerfMgr\"]();\r\n }\r\n if (perfMgr) {\r\n var perfEvt = void 0;\r\n var currentActive = perfMgr.getCtx(doPerfActiveKey);\r\n try {\r\n perfEvt = perfMgr.create(getSource(), details, isAsync);\r\n if (perfEvt) {\r\n if (currentActive && perfEvt.setCtx) {\r\n perfEvt.setCtx(PerfEvent.ParentContextKey, currentActive);\r\n if (currentActive.getCtx && currentActive.setCtx) {\r\n var children = currentActive.getCtx(PerfEvent.ChildrenContextKey);\r\n if (!children) {\r\n children = [];\r\n currentActive.setCtx(PerfEvent.ChildrenContextKey, children);\r\n }\r\n children.push(perfEvt);\r\n }\r\n }\r\n // Set this event as the active event now\r\n perfMgr.setCtx(doPerfActiveKey, perfEvt);\r\n return func(perfEvt);\r\n }\r\n }\r\n catch (ex) {\r\n if (perfEvt && perfEvt.setCtx) {\r\n perfEvt.setCtx(\"exception\", ex);\r\n }\r\n }\r\n finally {\r\n // fire the perf event\r\n if (perfEvt) {\r\n perfMgr.fire(perfEvt);\r\n }\r\n // Reset the active event to the previous value\r\n perfMgr.setCtx(doPerfActiveKey, currentActive);\r\n }\r\n }\r\n }\r\n return func();\r\n}\r\n/**\r\n * Set the global performance manager to use when there is no core instance or it has not been initialized yet.\r\n * @param perfManager - The IPerfManager instance to use when no performance manager is supplied.\r\n */\r\nexport function setGblPerfMgr(perfManager) {\r\n _defaultPerfManager = perfManager;\r\n}\r\n/**\r\n * Get the current global performance manager that will be used with no performance manager is supplied.\r\n * @returns - The current default manager\r\n */\r\nexport function getGblPerfMgr() {\r\n return _defaultPerfManager;\r\n}\r\n//# sourceMappingURL=PerfManager.js.map","/*\n * Application Insights JavaScript SDK - Core, 2.7.0\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nexport var LoggingSeverity;\r\n(function (LoggingSeverity) {\r\n /**\r\n * Error will be sent as internal telemetry\r\n */\r\n LoggingSeverity[LoggingSeverity[\"CRITICAL\"] = 1] = \"CRITICAL\";\r\n /**\r\n * Error will NOT be sent as internal telemetry, and will only be shown in browser console\r\n */\r\n LoggingSeverity[LoggingSeverity[\"WARNING\"] = 2] = \"WARNING\";\r\n})(LoggingSeverity || (LoggingSeverity = {}));\r\n/**\r\n * Internal message ID. Please create a new one for every conceptually different message. Please keep alphabetically ordered\r\n */\r\nexport var _InternalMessageId = {\r\n // Non user actionable\r\n BrowserDoesNotSupportLocalStorage: 0,\r\n BrowserCannotReadLocalStorage: 1,\r\n BrowserCannotReadSessionStorage: 2,\r\n BrowserCannotWriteLocalStorage: 3,\r\n BrowserCannotWriteSessionStorage: 4,\r\n BrowserFailedRemovalFromLocalStorage: 5,\r\n BrowserFailedRemovalFromSessionStorage: 6,\r\n CannotSendEmptyTelemetry: 7,\r\n ClientPerformanceMathError: 8,\r\n ErrorParsingAISessionCookie: 9,\r\n ErrorPVCalc: 10,\r\n ExceptionWhileLoggingError: 11,\r\n FailedAddingTelemetryToBuffer: 12,\r\n FailedMonitorAjaxAbort: 13,\r\n FailedMonitorAjaxDur: 14,\r\n FailedMonitorAjaxOpen: 15,\r\n FailedMonitorAjaxRSC: 16,\r\n FailedMonitorAjaxSend: 17,\r\n FailedMonitorAjaxGetCorrelationHeader: 18,\r\n FailedToAddHandlerForOnBeforeUnload: 19,\r\n FailedToSendQueuedTelemetry: 20,\r\n FailedToReportDataLoss: 21,\r\n FlushFailed: 22,\r\n MessageLimitPerPVExceeded: 23,\r\n MissingRequiredFieldSpecification: 24,\r\n NavigationTimingNotSupported: 25,\r\n OnError: 26,\r\n SessionRenewalDateIsZero: 27,\r\n SenderNotInitialized: 28,\r\n StartTrackEventFailed: 29,\r\n StopTrackEventFailed: 30,\r\n StartTrackFailed: 31,\r\n StopTrackFailed: 32,\r\n TelemetrySampledAndNotSent: 33,\r\n TrackEventFailed: 34,\r\n TrackExceptionFailed: 35,\r\n TrackMetricFailed: 36,\r\n TrackPVFailed: 37,\r\n TrackPVFailedCalc: 38,\r\n TrackTraceFailed: 39,\r\n TransmissionFailed: 40,\r\n FailedToSetStorageBuffer: 41,\r\n FailedToRestoreStorageBuffer: 42,\r\n InvalidBackendResponse: 43,\r\n FailedToFixDepricatedValues: 44,\r\n InvalidDurationValue: 45,\r\n TelemetryEnvelopeInvalid: 46,\r\n CreateEnvelopeError: 47,\r\n // User actionable\r\n CannotSerializeObject: 48,\r\n CannotSerializeObjectNonSerializable: 49,\r\n CircularReferenceDetected: 50,\r\n ClearAuthContextFailed: 51,\r\n ExceptionTruncated: 52,\r\n IllegalCharsInName: 53,\r\n ItemNotInArray: 54,\r\n MaxAjaxPerPVExceeded: 55,\r\n MessageTruncated: 56,\r\n NameTooLong: 57,\r\n SampleRateOutOfRange: 58,\r\n SetAuthContextFailed: 59,\r\n SetAuthContextFailedAccountName: 60,\r\n StringValueTooLong: 61,\r\n StartCalledMoreThanOnce: 62,\r\n StopCalledWithoutStart: 63,\r\n TelemetryInitializerFailed: 64,\r\n TrackArgumentsNotSpecified: 65,\r\n UrlTooLong: 66,\r\n SessionStorageBufferFull: 67,\r\n CannotAccessCookie: 68,\r\n IdTooLong: 69,\r\n InvalidEvent: 70,\r\n FailedMonitorAjaxSetRequestHeader: 71,\r\n SendBrowserInfoOnUserInit: 72,\r\n PluginException: 73,\r\n NotificationException: 74,\r\n SnippetScriptLoadFailure: 99,\r\n InvalidInstrumentationKey: 100,\r\n CannotParseAiBlobValue: 101,\r\n InvalidContentBlob: 102,\r\n TrackPageActionEventFailed: 103,\r\n FailedAddingCustomDefinedRequestContext: 104\r\n};\r\n//# sourceMappingURL=LoggingEnums.js.map","/*\n * 1DS JS SDK Core, 3.1.6\n * Copyright (c) Microsoft and contributors. All rights reserved.\n * (Microsoft Internal Only)\n */\n/**\r\n * Enums.ts\r\n * @author Abhilash Panwar (abpanwar)\r\n * @copyright Microsoft 2018\r\n * File containing the enums as constants.\r\n */\r\nimport { __assignFn as __assign } from \"@microsoft/applicationinsights-shims\";\r\nimport { _InternalMessageId } from \"@microsoft/applicationinsights-core-js\";\r\n/**\r\n * The ValueKind contains a set of values that specify value kind of the property.\r\n * Either PII (Personal Identifiable Information) or customer content.\r\n */\r\nexport var ValueKind = {\r\n /**\r\n * No kind.\r\n */\r\n NotSet: 0,\r\n /**\r\n * An LDAP distinguished name. For example, CN=Jeff Smith,OU=Sales,DC=Fabrikam,DC=COM.\r\n */\r\n Pii_DistinguishedName: 1,\r\n /**\r\n * Generic information.\r\n */\r\n Pii_GenericData: 2,\r\n /**\r\n * An IPV4 Internet address. For example, 192.0.2.1.\r\n */\r\n Pii_IPV4Address: 3,\r\n /**\r\n * An IPV6 Internet address. For example, 2001:0db8:85a3:0000:0000:8a2e:0370:7334.\r\n */\r\n Pii_IPv6Address: 4,\r\n /**\r\n * The Subject of an e-mail message.\r\n */\r\n Pii_MailSubject: 5,\r\n /**\r\n * A telephone number.\r\n */\r\n Pii_PhoneNumber: 6,\r\n /**\r\n * A query string.\r\n */\r\n Pii_QueryString: 7,\r\n /**\r\n * An SIP (Session Internet Protocol) address.\r\n */\r\n Pii_SipAddress: 8,\r\n /**\r\n * An e-mail address.\r\n */\r\n Pii_SmtpAddress: 9,\r\n /**\r\n * An user ID.\r\n */\r\n Pii_Identity: 10,\r\n /**\r\n * A URI (Uniform Resource Identifier).\r\n */\r\n Pii_Uri: 11,\r\n /**\r\n * The fully-qualified domain name.\r\n */\r\n Pii_Fqdn: 12,\r\n /**\r\n * Scrubs the last octet in a IPV4 Internet address.\r\n * For example: 10.121.227.147 becomes 10.121.227.*\r\n */\r\n Pii_IPV4AddressLegacy: 13,\r\n /**\r\n * Generic content.\r\n */\r\n CustomerContent_GenericContent: 32\r\n};\r\n/**\r\n * The EventLatency contains a set of values that specify the latency with which an event is sent.\r\n */\r\nexport var EventLatency = {\r\n /**\r\n * Normal latency.\r\n */\r\n Normal: 1 /* Normal */,\r\n /**\r\n * Cost deferred latency. At the moment this latency is treated as Normal latency.\r\n */\r\n CostDeferred: 2 /* CostDeferred */,\r\n /**\r\n * Real time latency.\r\n */\r\n RealTime: 3 /* RealTime */,\r\n /**\r\n * Bypass normal batching/timing and send as soon as possible, this will still send asynchronously.\r\n * Added in v3.1.1\r\n */\r\n Immediate: 4 /* Immediate */\r\n};\r\n/**\r\n * Enum for property types.\r\n */\r\nexport var EventPropertyType = {\r\n Unspecified: 0,\r\n String: 1,\r\n Int32: 2,\r\n UInt32: 3,\r\n Int64: 4,\r\n UInt64: 5,\r\n Double: 6,\r\n Bool: 7,\r\n Guid: 8,\r\n DateTime: 9\r\n};\r\n/**\r\n * The EventPersistence contains a set of values that specify the event's persistence.\r\n */\r\nexport var EventPersistence = {\r\n /**\r\n * Normal persistence.\r\n */\r\n Normal: 1 /* Normal */,\r\n /**\r\n * Critical persistence.\r\n */\r\n Critical: 2 /* Critical */\r\n};\r\n/**\r\n * The TraceLevel contains a set of values that specify the trace level for the trace messages.\r\n */\r\nexport var TraceLevel = {\r\n /**\r\n * None.\r\n */\r\n NONE: 0,\r\n /**\r\n * Error trace.\r\n */\r\n ERROR: 1,\r\n /**\r\n * Warning trace.\r\n */\r\n WARNING: 2,\r\n /**\r\n * Information trace.\r\n */\r\n INFORMATION: 3\r\n};\r\nexport var _ExtendedInternalMessageId = __assign(__assign({}, _InternalMessageId), { AuthHandShakeError: 501, AuthRedirectFail: 502, BrowserCannotReadLocalStorage: 503, BrowserCannotWriteLocalStorage: 504, BrowserDoesNotSupportLocalStorage: 505, CannotParseBiBlobValue: 506, CannotParseDataAttribute: 507, CVPluginNotAvailable: 508, DroppedEvent: 509, ErrorParsingAISessionCookie: 510, ErrorProvidedChannels: 511, FailedToGetCookies: 512, FailedToInitializeCorrelationVector: 513, FailedToInitializeSDK: 514, InvalidContentBlob: 515, InvalidCorrelationValue: 516, SessionRenewalDateIsZero: 517, SendPostOnCompleteFailure: 518, PostResponseHandler: 519, SDKNotInitialized: 520 });\r\n//# sourceMappingURL=Enums.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { ObjAssign, ObjClass, ObjCreate, ObjDefineProperty, ObjHasOwnProperty, ObjProto, strDefault, strShimFunction, strShimHasOwnProperty, strShimPrototype } from \"./Constants\";\r\nimport { getGlobal, objCreateFn, throwTypeError } from \"./Helpers\";\r\n// Most of these functions have been directly shamelessly \"lifted\" from the https://github.com/@microsoft/tslib and\r\n// modified to be ES3 compatible and applying several minification and tree-shaking techniques so that Application Insights\r\n// can successfully use TypeScript \"importHelpers\" which imports tslib during compilation but it will use these at runtime\r\n// Which is also why all of the functions have not been included as Application Insights currently doesn't use or require\r\n// them.\r\nexport var SymbolObj = (getGlobal() || {})[\"Symbol\"];\r\nexport var ReflectObj = (getGlobal() || {})[\"Reflect\"];\r\nexport var __hasSymbol = !!SymbolObj;\r\nexport var __hasReflect = !!ReflectObj;\r\nvar strDecorate = \"decorate\";\r\nvar strMetadata = \"metadata\";\r\nvar strGetOwnPropertySymbols = \"getOwnPropertySymbols\";\r\nvar strIterator = \"iterator\";\r\nexport var __objAssignFnImpl = function (t) {\r\n // tslint:disable-next-line: ban-comma-operator\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) {\r\n if (ObjProto[strShimHasOwnProperty].call(s, p)) {\r\n t[p] = s[p];\r\n }\r\n }\r\n }\r\n return t;\r\n};\r\nexport var __assignFn = ObjAssign || __objAssignFnImpl;\r\n// tslint:disable-next-line: only-arrow-functions\r\nvar extendStaticsFn = function (d, b) {\r\n extendStaticsFn = ObjClass[\"setPrototypeOf\"] ||\r\n // tslint:disable-next-line: only-arrow-functions\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n // tslint:disable-next-line: only-arrow-functions\r\n function (d, b) {\r\n for (var p in b) {\r\n if (b[strShimHasOwnProperty](p)) {\r\n d[p] = b[p];\r\n }\r\n }\r\n };\r\n return extendStaticsFn(d, b);\r\n};\r\nexport function __extendsFn(d, b) {\r\n if (typeof b !== strShimFunction && b !== null) {\r\n throwTypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n }\r\n extendStaticsFn(d, b);\r\n function __() { this.constructor = d; }\r\n // tslint:disable-next-line: ban-comma-operator\r\n d[strShimPrototype] = b === null ? objCreateFn(b) : (__[strShimPrototype] = b[strShimPrototype], new __());\r\n}\r\nexport function __restFn(s, e) {\r\n var t = {};\r\n for (var k in s) {\r\n if (ObjHasOwnProperty.call(s, k) && e.indexOf(k) < 0) {\r\n t[k] = s[k];\r\n }\r\n }\r\n if (s != null && typeof ObjClass[strGetOwnPropertySymbols] === strShimFunction) {\r\n for (var i = 0, p = ObjClass[strGetOwnPropertySymbols](s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && ObjProto[\"propertyIsEnumerable\"].call(s, p[i])) {\r\n t[p[i]] = s[p[i]];\r\n }\r\n }\r\n }\r\n return t;\r\n}\r\nexport function __decorateFn(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = ObjClass[\"getOwnPropertyDescriptor\"](target, key) : desc, d;\r\n if (__hasReflect && typeof ReflectObj[strDecorate] === strShimFunction) {\r\n r = ReflectObj[strDecorate](decorators, target, key, desc);\r\n }\r\n else {\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n // tslint:disable-next-line:no-conditional-assignment\r\n if (d = decorators[i]) {\r\n r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n }\r\n }\r\n }\r\n // tslint:disable-next-line:ban-comma-operator\r\n return c > 3 && r && ObjDefineProperty(target, key, r), r;\r\n}\r\nexport function __paramFn(paramIndex, decorator) {\r\n return function (target, key) {\r\n decorator(target, key, paramIndex);\r\n };\r\n}\r\nexport function __metadataFn(metadataKey, metadataValue) {\r\n if (__hasReflect && ReflectObj[strMetadata] === strShimFunction) {\r\n return ReflectObj[strMetadata](metadataKey, metadataValue);\r\n }\r\n}\r\nexport function __exportStarFn(m, o) {\r\n for (var p in m) {\r\n if (p !== strDefault && !ObjHasOwnProperty.call(o, p)) {\r\n __createBindingFn(o, m, p);\r\n }\r\n }\r\n}\r\nexport function __createBindingFn(o, m, k, k2) {\r\n if (k2 === undefined) {\r\n k2 = k;\r\n }\r\n if (ObjCreate) {\r\n ObjDefineProperty(o, k2, {\r\n enumerable: true,\r\n get: function () {\r\n return m[k];\r\n }\r\n });\r\n }\r\n else {\r\n o[k2] = m[k];\r\n }\r\n}\r\nexport function __valuesFn(o) {\r\n var s = typeof SymbolObj === strShimFunction && SymbolObj[strIterator], m = s && o[s], i = 0;\r\n if (m) {\r\n return m.call(o);\r\n }\r\n if (o && typeof o.length === \"number\") {\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) {\r\n o = void 0;\r\n }\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n }\r\n throwTypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\nexport function __readFn(o, n) {\r\n var m = typeof SymbolObj === strShimFunction && o[SymbolObj[strIterator]];\r\n if (!m) {\r\n return o;\r\n }\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) {\r\n ar.push(r.value);\r\n }\r\n }\r\n catch (error) {\r\n e = {\r\n error: error\r\n };\r\n }\r\n finally {\r\n try {\r\n // tslint:disable-next-line:no-conditional-assignment\r\n if (r && !r.done && (m = i[\"return\"])) {\r\n m.call(i);\r\n }\r\n }\r\n finally {\r\n if (e) {\r\n // tslint:disable-next-line:no-unsafe-finally\r\n throw e.error;\r\n }\r\n }\r\n }\r\n return ar;\r\n}\r\n/** @deprecated */\r\nexport function __spreadArraysFn() {\r\n var theArgs = arguments;\r\n // Calculate new total size\r\n for (var s = 0, i = 0, il = theArgs.length; i < il; i++) {\r\n s += theArgs[i].length;\r\n }\r\n // Create new full array\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++) {\r\n for (var a = theArgs[i], j = 0, jl = a.length; j < jl; j++, k++) {\r\n r[k] = a[j];\r\n }\r\n }\r\n return r;\r\n}\r\nexport function __spreadArrayFn(to, from) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++) {\r\n to[j] = from[i];\r\n }\r\n return to;\r\n}\r\nexport function __makeTemplateObjectFn(cooked, raw) {\r\n if (ObjDefineProperty) {\r\n ObjDefineProperty(cooked, \"raw\", { value: raw });\r\n }\r\n else {\r\n cooked.raw = raw;\r\n }\r\n return cooked;\r\n}\r\n;\r\nexport function __importStarFn(mod) {\r\n if (mod && mod.__esModule) {\r\n return mod;\r\n }\r\n var result = {};\r\n if (mod != null) {\r\n for (var k in mod) {\r\n if (k !== strDefault && Object.prototype.hasOwnProperty.call(mod, k)) {\r\n __createBindingFn(result, mod, k);\r\n }\r\n }\r\n }\r\n // Set default module\r\n if (ObjCreate) {\r\n ObjDefineProperty(result, strDefault, { enumerable: true, value: mod });\r\n }\r\n else {\r\n result[strDefault] = mod;\r\n }\r\n return result;\r\n}\r\n;\r\nexport function __importDefaultFn(mod) {\r\n return (mod && mod.__esModule) ? mod : { strDefault: mod };\r\n}\r\n//# sourceMappingURL=TsLibShims.js.map","/*\n * Application Insights JavaScript SDK - Core, 2.7.0\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n\"use strict\";\r\nimport { getGlobal, strShimUndefined, strShimObject, strShimPrototype } from \"@microsoft/applicationinsights-shims\";\r\nimport { isString, isUndefined, strContains } from \"./HelperFuncs\";\r\n/**\r\n * This file exists to hold environment utilities that are required to check and\r\n * validate the current operating environment. Unless otherwise required, please\r\n * only use defined methods (functions) in this class so that users of these\r\n * functions/properties only need to include those that are used within their own modules.\r\n */\r\nvar strWindow = \"window\";\r\nvar strDocument = \"document\";\r\nvar strNavigator = \"navigator\";\r\nvar strHistory = \"history\";\r\nvar strLocation = \"location\";\r\nvar strConsole = \"console\";\r\nvar strPerformance = \"performance\";\r\nvar strJSON = \"JSON\";\r\nvar strCrypto = \"crypto\";\r\nvar strMsCrypto = \"msCrypto\";\r\nvar strReactNative = \"ReactNative\";\r\nvar strMsie = \"msie\";\r\nvar strTrident = \"trident/\";\r\nvar _isTrident = null;\r\nvar _navUserAgentCheck = null;\r\nvar _enableMocks = false;\r\nvar _useXDomainRequest = null;\r\nvar _beaconsSupported = null;\r\nfunction _hasProperty(theClass, property) {\r\n var supported = false;\r\n if (theClass) {\r\n try {\r\n supported = property in theClass;\r\n if (!supported) {\r\n var proto = theClass[strShimPrototype];\r\n if (proto) {\r\n supported = property in proto;\r\n }\r\n }\r\n }\r\n catch (e) {\r\n // Do Nothing\r\n }\r\n if (!supported) {\r\n try {\r\n var tmp = new theClass();\r\n supported = !isUndefined(tmp[property]);\r\n }\r\n catch (e) {\r\n // Do Nothing\r\n }\r\n }\r\n }\r\n return supported;\r\n}\r\n/**\r\n * Enable the lookup of test mock objects if requested\r\n * @param enabled\r\n */\r\nexport function setEnableEnvMocks(enabled) {\r\n _enableMocks = enabled;\r\n}\r\n/**\r\n * Return the named global object if available, will return null if the object is not available.\r\n * @param name The globally named object\r\n */\r\nexport function getGlobalInst(name) {\r\n var gbl = getGlobal();\r\n if (gbl && gbl[name]) {\r\n return gbl[name];\r\n }\r\n // Test workaround, for environments where .window (when global == window) doesn't return the base window\r\n if (name === strWindow && hasWindow()) {\r\n // tslint:disable-next-line: no-angle-bracket-type-assertion\r\n return window;\r\n }\r\n return null;\r\n}\r\n/**\r\n * Checks if window object is available, this is required as we support the API running without a\r\n * window /document (eg. Node server, electron webworkers) and if we attempt to assign a window\r\n * object to a local variable or pass as an argument an \"Uncaught ReferenceError: window is not defined\"\r\n * exception will be thrown.\r\n * Defined as a function to support lazy / late binding environments.\r\n */\r\nexport function hasWindow() {\r\n return Boolean(typeof window === strShimObject && window);\r\n}\r\n/**\r\n * Returns the global window object if it is present otherwise null.\r\n * This helper is used to access the window object without causing an exception\r\n * \"Uncaught ReferenceError: window is not defined\"\r\n */\r\nexport function getWindow() {\r\n if (hasWindow()) {\r\n return window;\r\n }\r\n // Return the global instance or null\r\n return getGlobalInst(strWindow);\r\n}\r\n/**\r\n * Checks if document object is available, this is required as we support the API running without a\r\n * window /document (eg. Node server, electron webworkers) and if we attempt to assign a document\r\n * object to a local variable or pass as an argument an \"Uncaught ReferenceError: document is not defined\"\r\n * exception will be thrown.\r\n * Defined as a function to support lazy / late binding environments.\r\n */\r\nexport function hasDocument() {\r\n return Boolean(typeof document === strShimObject && document);\r\n}\r\n/**\r\n * Returns the global document object if it is present otherwise null.\r\n * This helper is used to access the document object without causing an exception\r\n * \"Uncaught ReferenceError: document is not defined\"\r\n */\r\nexport function getDocument() {\r\n if (hasDocument()) {\r\n return document;\r\n }\r\n return getGlobalInst(strDocument);\r\n}\r\n/**\r\n * Checks if navigator object is available, this is required as we support the API running without a\r\n * window /document (eg. Node server, electron webworkers) and if we attempt to assign a navigator\r\n * object to a local variable or pass as an argument an \"Uncaught ReferenceError: navigator is not defined\"\r\n * exception will be thrown.\r\n * Defined as a function to support lazy / late binding environments.\r\n */\r\nexport function hasNavigator() {\r\n return Boolean(typeof navigator === strShimObject && navigator);\r\n}\r\n/**\r\n * Returns the global navigator object if it is present otherwise null.\r\n * This helper is used to access the navigator object without causing an exception\r\n * \"Uncaught ReferenceError: navigator is not defined\"\r\n */\r\nexport function getNavigator() {\r\n if (hasNavigator()) {\r\n return navigator;\r\n }\r\n return getGlobalInst(strNavigator);\r\n}\r\n/**\r\n * Checks if history object is available, this is required as we support the API running without a\r\n * window /document (eg. Node server, electron webworkers) and if we attempt to assign a history\r\n * object to a local variable or pass as an argument an \"Uncaught ReferenceError: history is not defined\"\r\n * exception will be thrown.\r\n * Defined as a function to support lazy / late binding environments.\r\n */\r\nexport function hasHistory() {\r\n return Boolean(typeof history === strShimObject && history);\r\n}\r\n/**\r\n * Returns the global history object if it is present otherwise null.\r\n * This helper is used to access the history object without causing an exception\r\n * \"Uncaught ReferenceError: history is not defined\"\r\n */\r\nexport function getHistory() {\r\n if (hasHistory()) {\r\n return history;\r\n }\r\n return getGlobalInst(strHistory);\r\n}\r\n/**\r\n * Returns the global location object if it is present otherwise null.\r\n * This helper is used to access the location object without causing an exception\r\n * \"Uncaught ReferenceError: location is not defined\"\r\n */\r\nexport function getLocation(checkForMock) {\r\n if (checkForMock && _enableMocks) {\r\n var mockLocation = getGlobalInst(\"__mockLocation\");\r\n if (mockLocation) {\r\n return mockLocation;\r\n }\r\n }\r\n if (typeof location === strShimObject && location) {\r\n return location;\r\n }\r\n return getGlobalInst(strLocation);\r\n}\r\n/**\r\n * Returns the global console object\r\n */\r\nexport function getConsole() {\r\n if (typeof console !== strShimUndefined) {\r\n return console;\r\n }\r\n return getGlobalInst(strConsole);\r\n}\r\n/**\r\n * Returns the performance object if it is present otherwise null.\r\n * This helper is used to access the performance object from the current\r\n * global instance which could be window or globalThis for a web worker\r\n */\r\nexport function getPerformance() {\r\n return getGlobalInst(strPerformance);\r\n}\r\n/**\r\n * Checks if JSON object is available, this is required as we support the API running without a\r\n * window /document (eg. Node server, electron webworkers) and if we attempt to assign a history\r\n * object to a local variable or pass as an argument an \"Uncaught ReferenceError: JSON is not defined\"\r\n * exception will be thrown.\r\n * Defined as a function to support lazy / late binding environments.\r\n */\r\nexport function hasJSON() {\r\n return Boolean((typeof JSON === strShimObject && JSON) || getGlobalInst(strJSON) !== null);\r\n}\r\n/**\r\n * Returns the global JSON object if it is present otherwise null.\r\n * This helper is used to access the JSON object without causing an exception\r\n * \"Uncaught ReferenceError: JSON is not defined\"\r\n */\r\nexport function getJSON() {\r\n if (hasJSON()) {\r\n return JSON || getGlobalInst(strJSON);\r\n }\r\n return null;\r\n}\r\n/**\r\n * Returns the crypto object if it is present otherwise null.\r\n * This helper is used to access the crypto object from the current\r\n * global instance which could be window or globalThis for a web worker\r\n */\r\nexport function getCrypto() {\r\n return getGlobalInst(strCrypto);\r\n}\r\n/**\r\n * Returns the crypto object if it is present otherwise null.\r\n * This helper is used to access the crypto object from the current\r\n * global instance which could be window or globalThis for a web worker\r\n */\r\nexport function getMsCrypto() {\r\n return getGlobalInst(strMsCrypto);\r\n}\r\n/**\r\n * Returns whether the environment is reporting that we are running in a React Native Environment\r\n */\r\nexport function isReactNative() {\r\n // If running in React Native, navigator.product will be populated\r\n var nav = getNavigator();\r\n if (nav && nav.product) {\r\n return nav.product === strReactNative;\r\n }\r\n return false;\r\n}\r\n/**\r\n * Identifies whether the current environment appears to be IE\r\n */\r\nexport function isIE() {\r\n var nav = getNavigator();\r\n if (nav && (nav.userAgent !== _navUserAgentCheck || _isTrident === null)) {\r\n // Added to support test mocking of the user agent\r\n _navUserAgentCheck = nav.userAgent;\r\n var userAgent = (_navUserAgentCheck || \"\").toLowerCase();\r\n _isTrident = (strContains(userAgent, strMsie) || strContains(userAgent, strTrident));\r\n }\r\n return _isTrident;\r\n}\r\n/**\r\n * Gets IE version returning the document emulation mode if we are running on IE, or null otherwise\r\n */\r\nexport function getIEVersion(userAgentStr) {\r\n if (userAgentStr === void 0) { userAgentStr = null; }\r\n if (!userAgentStr) {\r\n var navigator_1 = getNavigator() || {};\r\n userAgentStr = navigator_1 ? (navigator_1.userAgent || \"\").toLowerCase() : \"\";\r\n }\r\n var ua = (userAgentStr || \"\").toLowerCase();\r\n if (strContains(ua, strMsie)) {\r\n return parseInt(ua.split(strMsie)[1]);\r\n }\r\n else if (strContains(ua, strTrident)) {\r\n var tridentVer = parseInt(ua.split(strTrident)[1]);\r\n if (tridentVer) {\r\n return tridentVer + 4;\r\n }\r\n }\r\n return null;\r\n}\r\n/**\r\n * Returns string representation of an object suitable for diagnostics logging.\r\n */\r\nexport function dumpObj(object) {\r\n var objectTypeDump = Object[strShimPrototype].toString.call(object);\r\n var propertyValueDump = \"\";\r\n if (objectTypeDump === \"[object Error]\") {\r\n propertyValueDump = \"{ stack: '\" + object.stack + \"', message: '\" + object.message + \"', name: '\" + object.name + \"'\";\r\n }\r\n else if (hasJSON()) {\r\n propertyValueDump = getJSON().stringify(object);\r\n }\r\n return objectTypeDump + propertyValueDump;\r\n}\r\nexport function isSafari(userAgentStr) {\r\n if (!userAgentStr || !isString(userAgentStr)) {\r\n var navigator_2 = getNavigator() || {};\r\n userAgentStr = navigator_2 ? (navigator_2.userAgent || \"\").toLowerCase() : \"\";\r\n }\r\n var ua = (userAgentStr || \"\").toLowerCase();\r\n return (ua.indexOf('safari') >= 0);\r\n}\r\n/**\r\n * Checks if HTML5 Beacons are supported in the current environment.\r\n * @returns True if supported, false otherwise.\r\n */\r\nexport function isBeaconsSupported() {\r\n if (_beaconsSupported === null) {\r\n _beaconsSupported = hasNavigator() && Boolean(getNavigator().sendBeacon);\r\n }\r\n return _beaconsSupported;\r\n}\r\n/**\r\n * Checks if the Fetch API is supported in the current environment.\r\n * @param withKeepAlive - [Optional] If True, check if fetch is available and it supports the keepalive feature, otherwise only check if fetch is supported\r\n * @returns True if supported, otherwise false\r\n */\r\nexport function isFetchSupported(withKeepAlive) {\r\n var isSupported = false;\r\n try {\r\n var fetchApi = getGlobalInst(\"fetch\");\r\n isSupported = !!fetchApi;\r\n var request = getGlobalInst(\"Request\");\r\n if (isSupported && withKeepAlive && request) {\r\n isSupported = _hasProperty(request, \"keepalive\");\r\n }\r\n }\r\n catch (e) {\r\n // Just Swallow any failure during availability checks\r\n }\r\n return isSupported;\r\n}\r\nexport function useXDomainRequest() {\r\n if (_useXDomainRequest === null) {\r\n _useXDomainRequest = (typeof XDomainRequest !== undefined);\r\n if (_useXDomainRequest && isXhrSupported()) {\r\n _useXDomainRequest = _useXDomainRequest && !_hasProperty(getGlobalInst(\"XMLHttpRequest\"), \"withCredentials\");\r\n }\r\n }\r\n return _useXDomainRequest;\r\n}\r\n/**\r\n * Checks if XMLHttpRequest is supported\r\n * @returns True if supported, otherwise false\r\n */\r\nexport function isXhrSupported() {\r\n var isSupported = false;\r\n try {\r\n var xmlHttpRequest = getGlobalInst(\"XMLHttpRequest\");\r\n isSupported = !!xmlHttpRequest;\r\n }\r\n catch (e) {\r\n // Just Swallow any failure during availability checks\r\n }\r\n return isSupported;\r\n}\r\n//# sourceMappingURL=EnvUtils.js.map","/*\n * Application Insights JavaScript SDK - Core, 2.7.0\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n\"use strict\";\r\nimport { _InternalMessageId, LoggingSeverity } from \"../JavaScriptSDK.Enums/LoggingEnums\";\r\nimport { hasJSON, getJSON, getConsole } from \"./EnvUtils\";\r\nimport dynamicProto from '@microsoft/dynamicproto-js';\r\nimport { isFunction, isNullOrUndefined, isUndefined } from \"./HelperFuncs\";\r\n/**\r\n * For user non actionable traces use AI Internal prefix.\r\n */\r\nvar AiNonUserActionablePrefix = \"AI (Internal): \";\r\n/**\r\n * Prefix of the traces in portal.\r\n */\r\nvar AiUserActionablePrefix = \"AI: \";\r\n/**\r\n * Session storage key for the prefix for the key indicating message type already logged\r\n */\r\nvar AIInternalMessagePrefix = \"AITR_\";\r\nfunction _sanitizeDiagnosticText(text) {\r\n if (text) {\r\n return \"\\\"\" + text.replace(/\\\"/g, \"\") + \"\\\"\";\r\n }\r\n return \"\";\r\n}\r\nvar _InternalLogMessage = /** @class */ (function () {\r\n function _InternalLogMessage(msgId, msg, isUserAct, properties) {\r\n if (isUserAct === void 0) { isUserAct = false; }\r\n var _self = this;\r\n _self.messageId = msgId;\r\n _self.message =\r\n (isUserAct ? AiUserActionablePrefix : AiNonUserActionablePrefix) +\r\n msgId;\r\n var strProps = \"\";\r\n if (hasJSON()) {\r\n strProps = getJSON().stringify(properties);\r\n }\r\n var diagnosticText = (msg ? \" message:\" + _sanitizeDiagnosticText(msg) : \"\") +\r\n (properties ? \" props:\" + _sanitizeDiagnosticText(strProps) : \"\");\r\n _self.message += diagnosticText;\r\n }\r\n _InternalLogMessage.dataType = \"MessageData\";\r\n return _InternalLogMessage;\r\n}());\r\nexport { _InternalLogMessage };\r\nexport function safeGetLogger(core, config) {\r\n return (core || {}).logger || new DiagnosticLogger(config);\r\n}\r\nvar DiagnosticLogger = /** @class */ (function () {\r\n function DiagnosticLogger(config) {\r\n this.identifier = 'DiagnosticLogger';\r\n /**\r\n * The internal logging queue\r\n */\r\n this.queue = [];\r\n /**\r\n * Count of internal messages sent\r\n */\r\n var _messageCount = 0;\r\n /**\r\n * Holds information about what message types were already logged to console or sent to server.\r\n */\r\n var _messageLogged = {};\r\n dynamicProto(DiagnosticLogger, this, function (_self) {\r\n if (isNullOrUndefined(config)) {\r\n config = {};\r\n }\r\n _self.consoleLoggingLevel = function () { return _getConfigValue('loggingLevelConsole', 0); };\r\n _self.telemetryLoggingLevel = function () { return _getConfigValue('loggingLevelTelemetry', 1); };\r\n _self.maxInternalMessageLimit = function () { return _getConfigValue('maxMessageLimit', 25); };\r\n _self.enableDebugExceptions = function () { return _getConfigValue('enableDebugExceptions', false); };\r\n /**\r\n * This method will throw exceptions in debug mode or attempt to log the error as a console warning.\r\n * @param severity {LoggingSeverity} - The severity of the log message\r\n * @param message {_InternalLogMessage} - The log message.\r\n */\r\n _self.throwInternal = function (severity, msgId, msg, properties, isUserAct) {\r\n if (isUserAct === void 0) { isUserAct = false; }\r\n var message = new _InternalLogMessage(msgId, msg, isUserAct, properties);\r\n if (_self.enableDebugExceptions()) {\r\n throw message;\r\n }\r\n else {\r\n if (!isUndefined(message.message)) {\r\n var logLevel = _self.consoleLoggingLevel();\r\n if (isUserAct) {\r\n // check if this message type was already logged to console for this page view and if so, don't log it again\r\n var messageKey = +message.messageId;\r\n if (!_messageLogged[messageKey] && logLevel >= LoggingSeverity.WARNING) {\r\n _self.warnToConsole(message.message);\r\n _messageLogged[messageKey] = true;\r\n }\r\n }\r\n else {\r\n // don't log internal AI traces in the console, unless the verbose logging is enabled\r\n if (logLevel >= LoggingSeverity.WARNING) {\r\n _self.warnToConsole(message.message);\r\n }\r\n }\r\n _self.logInternalMessage(severity, message);\r\n }\r\n }\r\n };\r\n /**\r\n * This will write a warning to the console if possible\r\n * @param message {string} - The warning message\r\n */\r\n _self.warnToConsole = function (message) {\r\n var theConsole = getConsole();\r\n if (!!theConsole) {\r\n var logFunc = 'log';\r\n if (theConsole.warn) {\r\n logFunc = 'warn';\r\n }\r\n if (isFunction(theConsole[logFunc])) {\r\n theConsole[logFunc](message);\r\n }\r\n }\r\n };\r\n /**\r\n * Resets the internal message count\r\n */\r\n _self.resetInternalMessageCount = function () {\r\n _messageCount = 0;\r\n _messageLogged = {};\r\n };\r\n /**\r\n * Logs a message to the internal queue.\r\n * @param severity {LoggingSeverity} - The severity of the log message\r\n * @param message {_InternalLogMessage} - The message to log.\r\n */\r\n _self.logInternalMessage = function (severity, message) {\r\n if (_areInternalMessagesThrottled()) {\r\n return;\r\n }\r\n // check if this message type was already logged for this session and if so, don't log it again\r\n var logMessage = true;\r\n var messageKey = AIInternalMessagePrefix + message.messageId;\r\n // if the session storage is not available, limit to only one message type per page view\r\n if (_messageLogged[messageKey]) {\r\n logMessage = false;\r\n }\r\n else {\r\n _messageLogged[messageKey] = true;\r\n }\r\n if (logMessage) {\r\n // Push the event in the internal queue\r\n if (severity <= _self.telemetryLoggingLevel()) {\r\n _self.queue.push(message);\r\n _messageCount++;\r\n }\r\n // When throttle limit reached, send a special event\r\n if (_messageCount === _self.maxInternalMessageLimit()) {\r\n var throttleLimitMessage = \"Internal events throttle limit per PageView reached for this app.\";\r\n var throttleMessage = new _InternalLogMessage(_InternalMessageId.MessageLimitPerPVExceeded, throttleLimitMessage, false);\r\n _self.queue.push(throttleMessage);\r\n _self.warnToConsole(throttleLimitMessage);\r\n }\r\n }\r\n };\r\n function _getConfigValue(name, defValue) {\r\n var value = config[name];\r\n if (!isNullOrUndefined(value)) {\r\n return value;\r\n }\r\n return defValue;\r\n }\r\n function _areInternalMessagesThrottled() {\r\n return _messageCount >= _self.maxInternalMessageLimit();\r\n }\r\n });\r\n }\r\n// Removed Stub for DiagnosticLogger.prototype.enableDebugExceptions.\r\n// Removed Stub for DiagnosticLogger.prototype.consoleLoggingLevel.\r\n// Removed Stub for DiagnosticLogger.prototype.telemetryLoggingLevel.\r\n// Removed Stub for DiagnosticLogger.prototype.maxInternalMessageLimit.\r\n// Removed Stub for DiagnosticLogger.prototype.throwInternal.\r\n// Removed Stub for DiagnosticLogger.prototype.warnToConsole.\r\n// Removed Stub for DiagnosticLogger.prototype.resetInternalMessageCount.\r\n// Removed Stub for DiagnosticLogger.prototype.logInternalMessage.\r\n return DiagnosticLogger;\r\n}());\r\nexport { DiagnosticLogger };\r\n//# sourceMappingURL=DiagnosticLogger.js.map","/*\n * Application Insights JavaScript SDK - Core, 2.7.0\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n\"use strict\";\r\nimport { doPerf } from \"./PerfManager\";\r\nimport { LoggingSeverity, _InternalMessageId } from '../JavaScriptSDK.Enums/LoggingEnums';\r\nimport { isFunction } from './HelperFuncs';\r\nimport { dumpObj } from './EnvUtils';\r\nvar TelemetryPluginChain = /** @class */ (function () {\r\n function TelemetryPluginChain(plugin, defItemCtx) {\r\n var _self = this;\r\n var _nextProxy = null;\r\n var _hasProcessTelemetry = isFunction(plugin.processTelemetry);\r\n var _hasSetNext = isFunction(plugin.setNextPlugin);\r\n _self._hasRun = false;\r\n _self.getPlugin = function () {\r\n return plugin;\r\n };\r\n _self.getNext = function () {\r\n return _nextProxy;\r\n };\r\n _self.setNext = function (nextPlugin) {\r\n _nextProxy = nextPlugin;\r\n };\r\n _self.processTelemetry = function (env, itemCtx) {\r\n if (!itemCtx) {\r\n // Looks like a plugin didn't pass the (optional) context, so restore to the default\r\n itemCtx = defItemCtx;\r\n }\r\n var identifier = plugin ? plugin.identifier : \"TelemetryPluginChain\";\r\n doPerf(itemCtx ? itemCtx.core() : null, function () { return identifier + \":processTelemetry\"; }, function () {\r\n if (plugin && _hasProcessTelemetry) {\r\n _self._hasRun = true;\r\n try {\r\n // Ensure that we keep the context in sync (for processNext()), just in case a plugin\r\n // doesn't calls processTelemetry() instead of itemContext.processNext() or some \r\n // other form of error occurred\r\n itemCtx.setNext(_nextProxy);\r\n if (_hasSetNext) {\r\n // Backward compatibility setting the next plugin on the instance\r\n plugin.setNextPlugin(_nextProxy);\r\n }\r\n // Set a flag on the next plugin so we know if it was attempted to be executed\r\n _nextProxy && (_nextProxy._hasRun = false);\r\n plugin.processTelemetry(env, itemCtx);\r\n }\r\n catch (error) {\r\n var hasRun = _nextProxy && _nextProxy._hasRun;\r\n if (!_nextProxy || !hasRun) {\r\n // Either we have no next plugin or the current one did not attempt to call the next plugin\r\n // Which means the current one is the root of the failure so log/report this failure\r\n itemCtx.diagLog().throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.PluginException, \"Plugin [\" + plugin.identifier + \"] failed during processTelemetry - \" + dumpObj(error));\r\n }\r\n if (_nextProxy && !hasRun) {\r\n // As part of the failure the current plugin did not attempt to call the next plugin in the cahin\r\n // So rather than leave the pipeline dead in the water we call the next plugin\r\n _nextProxy.processTelemetry(env, itemCtx);\r\n }\r\n }\r\n }\r\n else if (_nextProxy) {\r\n _self._hasRun = true;\r\n // The underlying plugin is either not defined or does not have a processTelemetry implementation\r\n // so we still want the next plugin to be executed.\r\n _nextProxy.processTelemetry(env, itemCtx);\r\n }\r\n }, function () { return ({ item: env }); }, !(env.sync));\r\n };\r\n }\r\n return TelemetryPluginChain;\r\n}());\r\nexport { TelemetryPluginChain };\r\n//# sourceMappingURL=TelemetryPluginChain.js.map","/*\n * Application Insights JavaScript SDK - Core, 2.7.0\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n\"use strict\";\r\nimport { safeGetLogger } from \"./DiagnosticLogger\";\r\nimport { TelemetryPluginChain } from \"./TelemetryPluginChain\";\r\nimport { arrForEach, isFunction, isNullOrUndefined, isUndefined } from \"./HelperFuncs\";\r\n/**\r\n * Creates the instance execution chain for the plugins\r\n */\r\nfunction _createProxyChain(plugins, itemCtx) {\r\n var proxies = [];\r\n if (plugins && plugins.length > 0) {\r\n // Create the proxies and wire up the next plugin chain\r\n var lastProxy = null;\r\n for (var idx = 0; idx < plugins.length; idx++) {\r\n var thePlugin = plugins[idx];\r\n if (thePlugin && isFunction(thePlugin.processTelemetry)) {\r\n // Only add plugins that are processors\r\n var newProxy = new TelemetryPluginChain(thePlugin, itemCtx);\r\n proxies.push(newProxy);\r\n if (lastProxy) {\r\n // Set this new proxy as the next for the previous one\r\n lastProxy.setNext(newProxy);\r\n }\r\n lastProxy = newProxy;\r\n }\r\n }\r\n }\r\n return proxies.length > 0 ? proxies[0] : null;\r\n}\r\nfunction _copyProxyChain(proxy, itemCtx, startAt) {\r\n var plugins = [];\r\n var add = startAt ? false : true;\r\n if (proxy) {\r\n while (proxy) {\r\n var thePlugin = proxy.getPlugin();\r\n if (add || thePlugin === startAt) {\r\n add = true;\r\n plugins.push(thePlugin);\r\n }\r\n proxy = proxy.getNext();\r\n }\r\n }\r\n if (!add) {\r\n plugins.push(startAt);\r\n }\r\n return _createProxyChain(plugins, itemCtx);\r\n}\r\nfunction _copyPluginChain(srcPlugins, itemCtx, startAt) {\r\n var plugins = srcPlugins;\r\n var add = false;\r\n if (startAt && srcPlugins) {\r\n plugins = [];\r\n arrForEach(srcPlugins, function (thePlugin) {\r\n if (add || thePlugin === startAt) {\r\n add = true;\r\n plugins.push(thePlugin);\r\n }\r\n });\r\n }\r\n if (startAt && !add) {\r\n if (!plugins) {\r\n plugins = [];\r\n }\r\n plugins.push(startAt);\r\n }\r\n return _createProxyChain(plugins, itemCtx);\r\n}\r\nvar ProcessTelemetryContext = /** @class */ (function () {\r\n /**\r\n * Creates a new Telemetry Item context with the current config, core and plugin execution chain\r\n * @param plugins - The plugin instances that will be executed\r\n * @param config - The current config\r\n * @param core - The current core instance\r\n */\r\n function ProcessTelemetryContext(plugins, config, core, startAt) {\r\n var _self = this;\r\n var _nextProxy = null; // Null == No next plugin\r\n // There is no next element (null) vs not defined (undefined)\r\n if (startAt !== null) {\r\n if (plugins && isFunction(plugins.getPlugin)) {\r\n // We have a proxy chain object\r\n _nextProxy = _copyProxyChain(plugins, _self, startAt || plugins.getPlugin());\r\n }\r\n else {\r\n // We just have an array\r\n if (startAt) {\r\n _nextProxy = _copyPluginChain(plugins, _self, startAt);\r\n }\r\n else if (isUndefined(startAt)) {\r\n // Undefined means copy the existing chain\r\n _nextProxy = _createProxyChain(plugins, _self);\r\n }\r\n }\r\n }\r\n _self.core = function () {\r\n return core;\r\n };\r\n _self.diagLog = function () {\r\n return safeGetLogger(core, config);\r\n };\r\n _self.getCfg = function () {\r\n return config;\r\n };\r\n _self.getExtCfg = function (identifier, defaultValue) {\r\n if (defaultValue === void 0) { defaultValue = {}; }\r\n var theConfig;\r\n if (config) {\r\n var extConfig = config.extensionConfig;\r\n if (extConfig && identifier) {\r\n theConfig = extConfig[identifier];\r\n }\r\n }\r\n return (theConfig ? theConfig : defaultValue);\r\n };\r\n _self.getConfig = function (identifier, field, defaultValue) {\r\n if (defaultValue === void 0) { defaultValue = false; }\r\n var theValue;\r\n var extConfig = _self.getExtCfg(identifier, null);\r\n if (extConfig && !isNullOrUndefined(extConfig[field])) {\r\n theValue = extConfig[field];\r\n }\r\n else if (config && !isNullOrUndefined(config[field])) {\r\n theValue = config[field];\r\n }\r\n return !isNullOrUndefined(theValue) ? theValue : defaultValue;\r\n };\r\n _self.hasNext = function () {\r\n return _nextProxy != null;\r\n };\r\n _self.getNext = function () {\r\n return _nextProxy;\r\n };\r\n _self.setNext = function (nextPlugin) {\r\n _nextProxy = nextPlugin;\r\n };\r\n _self.processNext = function (env) {\r\n var nextPlugin = _nextProxy;\r\n if (nextPlugin) {\r\n // Automatically move to the next plugin\r\n _nextProxy = nextPlugin.getNext();\r\n nextPlugin.processTelemetry(env, _self);\r\n }\r\n };\r\n _self.createNew = function (plugins, startAt) {\r\n if (plugins === void 0) { plugins = null; }\r\n return new ProcessTelemetryContext(plugins || _nextProxy, config, core, startAt);\r\n };\r\n }\r\n return ProcessTelemetryContext;\r\n}());\r\nexport { ProcessTelemetryContext };\r\n//# sourceMappingURL=ProcessTelemetryContext.js.map","/*\n * Application Insights JavaScript SDK - Core, 2.7.0\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nexport var strIKey = \"iKey\";\r\nexport var strExtensionConfig = \"extensionConfig\";\r\n//# sourceMappingURL=Constants.js.map","/*\n * Application Insights JavaScript SDK - Core, 2.7.0\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n\"use strict\";\r\nimport { ProcessTelemetryContext } from './ProcessTelemetryContext';\r\nimport { isFunction, isNullOrUndefined, setValue } from \"./HelperFuncs\";\r\nimport { strExtensionConfig } from \"./Constants\";\r\nvar strGetPlugin = \"getPlugin\";\r\n/**\r\n * BaseTelemetryPlugin provides a basic implementation of the ITelemetryPlugin interface so that plugins\r\n * can avoid implementation the same set of boiler plate code as well as provide a base\r\n * implementation so that new default implementations can be added without breaking all plugins.\r\n */\r\nvar BaseTelemetryPlugin = /** @class */ (function () {\r\n function BaseTelemetryPlugin() {\r\n var _self = this;\r\n var _isinitialized = false;\r\n var _rootCtx = null; // Used as the root context, holding the current config and initialized core\r\n var _nextPlugin = null; // Used for backward compatibility where plugins don't call the main pipeline\r\n _self.core = null;\r\n _self.diagLog = function (itemCtx) {\r\n return _self._getTelCtx(itemCtx).diagLog();\r\n };\r\n _self.isInitialized = function () {\r\n return _isinitialized;\r\n };\r\n _self.setInitialized = function (isInitialized) {\r\n _isinitialized = isInitialized;\r\n };\r\n // _self.getNextPlugin = () => DO NOT IMPLEMENT\r\n // Sub-classes of this base class *should* not be relying on this value and instead\r\n // should use processNext() function. If you require access to the plugin use the\r\n // IProcessTelemetryContext.getNext().getPlugin() while in the pipeline, Note getNext() may return null.\r\n _self.setNextPlugin = function (next) {\r\n _nextPlugin = next;\r\n };\r\n _self.processNext = function (env, itemCtx) {\r\n if (itemCtx) {\r\n // Normal core execution sequence\r\n itemCtx.processNext(env);\r\n }\r\n else if (_nextPlugin && isFunction(_nextPlugin.processTelemetry)) {\r\n // Looks like backward compatibility or out of band processing. And as it looks \r\n // like a ITelemetryPlugin or ITelemetryPluginChain, just call processTelemetry\r\n _nextPlugin.processTelemetry(env, null);\r\n }\r\n };\r\n _self._getTelCtx = function (currentCtx) {\r\n if (currentCtx === void 0) { currentCtx = null; }\r\n var itemCtx = currentCtx;\r\n if (!itemCtx) {\r\n var rootCtx = _rootCtx || new ProcessTelemetryContext(null, {}, _self.core);\r\n // tslint:disable-next-line: prefer-conditional-expression\r\n if (_nextPlugin && _nextPlugin[strGetPlugin]) {\r\n // Looks like a chain object\r\n itemCtx = rootCtx.createNew(null, _nextPlugin[strGetPlugin]);\r\n }\r\n else {\r\n itemCtx = rootCtx.createNew(null, _nextPlugin);\r\n }\r\n }\r\n return itemCtx;\r\n };\r\n _self._baseTelInit = function (config, core, extensions, pluginChain) {\r\n if (config) {\r\n // Make sure the extensionConfig exists\r\n setValue(config, strExtensionConfig, [], null, isNullOrUndefined);\r\n }\r\n if (!pluginChain && core) {\r\n // Get the first plugin from the core\r\n pluginChain = core.getProcessTelContext().getNext();\r\n }\r\n var nextPlugin = _nextPlugin;\r\n if (_nextPlugin && _nextPlugin[strGetPlugin]) {\r\n // If it looks like a proxy/chain then get the plugin\r\n nextPlugin = _nextPlugin[strGetPlugin]();\r\n }\r\n // Support legacy plugins where core was defined as a property\r\n _self.core = core;\r\n _rootCtx = new ProcessTelemetryContext(pluginChain, config, core, nextPlugin);\r\n _isinitialized = true;\r\n };\r\n }\r\n BaseTelemetryPlugin.prototype.initialize = function (config, core, extensions, pluginChain) {\r\n this._baseTelInit(config, core, extensions, pluginChain);\r\n };\r\n return BaseTelemetryPlugin;\r\n}());\r\nexport { BaseTelemetryPlugin };\r\n//# sourceMappingURL=BaseTelemetryPlugin.js.map","/*\n * Application Insights JavaScript SDK - Core, 2.7.0\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n\"use strict\";\r\nimport { arrForEach, isFunction } from './HelperFuncs';\r\nvar processTelemetry = \"processTelemetry\";\r\nvar priority = \"priority\";\r\nvar setNextPlugin = \"setNextPlugin\";\r\nvar isInitialized = \"isInitialized\";\r\n/**\r\n * Initialize the queue of plugins\r\n * @param plugins - The array of plugins to initialize and setting of the next plugin\r\n * @param config The current config for the instance\r\n * @param core THe current core instance\r\n * @param extensions The extensions\r\n */\r\nexport function initializePlugins(processContext, extensions) {\r\n // Set the next plugin and identified the uninitialized plugins\r\n var initPlugins = [];\r\n var lastPlugin = null;\r\n var proxy = processContext.getNext();\r\n while (proxy) {\r\n var thePlugin = proxy.getPlugin();\r\n if (thePlugin) {\r\n if (lastPlugin &&\r\n isFunction(lastPlugin[setNextPlugin]) &&\r\n isFunction(thePlugin[processTelemetry])) {\r\n // Set this plugin as the next for the previous one\r\n lastPlugin[setNextPlugin](thePlugin);\r\n }\r\n if (!isFunction(thePlugin[isInitialized]) || !thePlugin[isInitialized]()) {\r\n initPlugins.push(thePlugin);\r\n }\r\n lastPlugin = thePlugin;\r\n proxy = proxy.getNext();\r\n }\r\n }\r\n // Now initiatilize the plugins\r\n arrForEach(initPlugins, function (thePlugin) {\r\n thePlugin.initialize(processContext.getCfg(), processContext.core(), extensions, processContext.getNext());\r\n });\r\n}\r\nexport function sortPlugins(plugins) {\r\n // Sort by priority\r\n return plugins.sort(function (extA, extB) {\r\n var result = 0;\r\n var bHasProcess = isFunction(extB[processTelemetry]);\r\n if (isFunction(extA[processTelemetry])) {\r\n result = bHasProcess ? extA[priority] - extB[priority] : 1;\r\n }\r\n else if (bHasProcess) {\r\n result = -1;\r\n }\r\n return result;\r\n });\r\n // sort complete \r\n}\r\n//# sourceMappingURL=TelemetryHelpers.js.map","/*\n * Application Insights JavaScript SDK - Core, 2.7.0\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n\"use strict\";\r\nimport { __extendsFn as __extends } from \"@microsoft/applicationinsights-shims\";\r\nimport dynamicProto from '@microsoft/dynamicproto-js';\r\nimport { BaseTelemetryPlugin } from './BaseTelemetryPlugin';\r\nimport { ProcessTelemetryContext } from './ProcessTelemetryContext';\r\nimport { initializePlugins } from './TelemetryHelpers';\r\nimport { arrForEach, objDefineAccessors, throwError } from \"./HelperFuncs\";\r\nvar ChannelControllerPriority = 500;\r\nvar ChannelValidationMessage = \"Channel has invalid priority\";\r\nvar ChannelController = /** @class */ (function (_super) {\r\n __extends(ChannelController, _super);\r\n function ChannelController() {\r\n var _this = _super.call(this) || this;\r\n _this.identifier = \"ChannelControllerPlugin\";\r\n _this.priority = ChannelControllerPriority; // in reserved range 100 to 200\r\n var _channelQueue;\r\n dynamicProto(ChannelController, _this, function (_self, _base) {\r\n _self.setNextPlugin = function (next) {\r\n // The Channel controller is last in pipeline\r\n };\r\n _self.processTelemetry = function (item, itemCtx) {\r\n if (_channelQueue) {\r\n arrForEach(_channelQueue, function (queues) {\r\n // pass on to first item in queue\r\n if (queues.length > 0) {\r\n // Copying the item context as we could have mutiple chains that are executing asynchronously\r\n // and calling _getDefTelCtx as it's possible that the caller doesn't pass any context\r\n var chainCtx = _this._getTelCtx(itemCtx).createNew(queues);\r\n chainCtx.processNext(item);\r\n }\r\n });\r\n }\r\n };\r\n _self.getChannelControls = function () {\r\n return _channelQueue;\r\n };\r\n _self.initialize = function (config, core, extensions) {\r\n if (_self.isInitialized()) {\r\n // already initialized\r\n return;\r\n }\r\n _base.initialize(config, core, extensions);\r\n _createChannelQueues((config || {}).channels, extensions);\r\n // Initialize the Queues\r\n arrForEach(_channelQueue, function (queue) { return initializePlugins(new ProcessTelemetryContext(queue, config, core), extensions); });\r\n };\r\n });\r\n function _checkQueuePriority(queue) {\r\n arrForEach(queue, function (queueItem) {\r\n if (queueItem.priority < ChannelControllerPriority) {\r\n throwError(ChannelValidationMessage + queueItem.identifier);\r\n }\r\n });\r\n }\r\n function _addChannelQueue(queue) {\r\n if (queue && queue.length > 0) {\r\n queue = queue.sort(function (a, b) {\r\n return a.priority - b.priority;\r\n });\r\n _checkQueuePriority(queue);\r\n _channelQueue.push(queue);\r\n }\r\n }\r\n function _createChannelQueues(channels, extensions) {\r\n _channelQueue = [];\r\n if (channels) {\r\n // Add and sort the configuration channel queues\r\n arrForEach(channels, function (queue) { return _addChannelQueue(queue); });\r\n }\r\n if (extensions) {\r\n // Create a new channel queue for any extensions with a priority > the ChannelControllerPriority\r\n var extensionQueue_1 = [];\r\n arrForEach(extensions, function (plugin) {\r\n if (plugin.priority > ChannelControllerPriority) {\r\n extensionQueue_1.push(plugin);\r\n }\r\n });\r\n _addChannelQueue(extensionQueue_1);\r\n }\r\n }\r\n return _this;\r\n }\r\n// Removed Stub for ChannelController.prototype.processTelemetry.\r\n ;\r\n// Removed Stub for ChannelController.prototype.getChannelControls.\r\n// Removed Stub for ChannelController.prototype.initialize.\r\n /**\r\n * Static constructor, attempt to create accessors\r\n */\r\n // tslint:disable-next-line\r\n ChannelController._staticInit = (function () {\r\n var proto = ChannelController.prototype;\r\n // Dynamically create get/set property accessors\r\n objDefineAccessors(proto, \"ChannelControls\", proto.getChannelControls);\r\n objDefineAccessors(proto, \"channelQueue\", proto.getChannelControls);\r\n })();\r\n return ChannelController;\r\n}(BaseTelemetryPlugin));\r\nexport { ChannelController };\r\n//# sourceMappingURL=ChannelController.js.map","/*\n * Application Insights JavaScript SDK - Core, 2.7.0\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\nimport { _InternalMessageId, LoggingSeverity } from '../JavaScriptSDK.Enums/LoggingEnums';\r\nimport { dumpObj, getDocument, getLocation, getNavigator, isIE } from './EnvUtils';\r\nimport { arrForEach, dateNow, getExceptionName, isFunction, isNotNullOrUndefined, isNullOrUndefined, isString, isTruthy, isUndefined, objForEachKey, setValue, strContains, strEndsWith, strTrim } from \"./HelperFuncs\";\r\nvar strToGMTString = \"toGMTString\";\r\nvar strToUTCString = \"toUTCString\";\r\nvar strCookie = \"cookie\";\r\nvar strExpires = \"expires\";\r\nvar strEnabled = \"enabled\";\r\nvar strIsCookieUseDisabled = \"isCookieUseDisabled\";\r\nvar strDisableCookiesUsage = \"disableCookiesUsage\";\r\nvar strConfigCookieMgr = \"_ckMgr\";\r\nvar strEmpty = \"\";\r\nvar _supportsCookies = null;\r\nvar _allowUaSameSite = null;\r\nvar _parsedCookieValue = null;\r\nvar _doc = getDocument();\r\nvar _cookieCache = {};\r\nvar _globalCookieConfig = {};\r\n/**\r\n * @ignore\r\n * DO NOT USE or export from the module, this is exposed as public to support backward compatibility of previous static utility methods only.\r\n * If you want to manager cookies either use the ICookieMgr available from the core instance via getCookieMgr() or create\r\n * your own instance of the CookieMgr and use that.\r\n * Using this directly for enabling / disabling cookie handling will not only affect your usage but EVERY user of cookies.\r\n * Example, if you are using a shared component that is also using Application Insights you will affect their cookie handling.\r\n * @param logger - The DiagnosticLogger to use for reporting errors.\r\n */\r\nexport function _gblCookieMgr(config, logger) {\r\n // Stash the global instance against the BaseCookieMgr class\r\n var inst = createCookieMgr[strConfigCookieMgr] || _globalCookieConfig[strConfigCookieMgr];\r\n if (!inst) {\r\n // Note: not using the getSetValue() helper as that would require always creating a temporary cookieMgr\r\n // that ultimately is never used\r\n inst = createCookieMgr[strConfigCookieMgr] = createCookieMgr(config, logger);\r\n _globalCookieConfig[strConfigCookieMgr] = inst;\r\n }\r\n return inst;\r\n}\r\nfunction _isMgrEnabled(cookieMgr) {\r\n if (cookieMgr) {\r\n return cookieMgr.isEnabled();\r\n }\r\n return true;\r\n}\r\nfunction _createCookieMgrConfig(rootConfig) {\r\n var cookieMgrCfg = rootConfig.cookieCfg = rootConfig.cookieCfg || {};\r\n // Sets the values from the root config if not already present on the cookieMgrCfg\r\n setValue(cookieMgrCfg, \"domain\", rootConfig.cookieDomain, isNotNullOrUndefined, isNullOrUndefined);\r\n setValue(cookieMgrCfg, \"path\", rootConfig.cookiePath || \"/\", null, isNullOrUndefined);\r\n if (isNullOrUndefined(cookieMgrCfg[strEnabled])) {\r\n // Set the enabled from the provided setting or the legacy root values\r\n var cookieEnabled = void 0;\r\n if (!isUndefined(rootConfig[strIsCookieUseDisabled])) {\r\n cookieEnabled = !rootConfig[strIsCookieUseDisabled];\r\n }\r\n if (!isUndefined(rootConfig[strDisableCookiesUsage])) {\r\n cookieEnabled = !rootConfig[strDisableCookiesUsage];\r\n }\r\n cookieMgrCfg[strEnabled] = cookieEnabled;\r\n }\r\n return cookieMgrCfg;\r\n}\r\n/**\r\n * Helper to return the ICookieMgr from the core (if not null/undefined) or a default implementation\r\n * associated with the configuration or a legacy default.\r\n * @param core\r\n * @param config\r\n * @returns\r\n */\r\nexport function safeGetCookieMgr(core, config) {\r\n var cookieMgr;\r\n if (core) {\r\n // Always returns an instance\r\n cookieMgr = core.getCookieMgr();\r\n }\r\n else if (config) {\r\n var cookieCfg = config.cookieCfg;\r\n if (cookieCfg[strConfigCookieMgr]) {\r\n cookieMgr = cookieCfg[strConfigCookieMgr];\r\n }\r\n else {\r\n cookieMgr = createCookieMgr(config);\r\n }\r\n }\r\n if (!cookieMgr) {\r\n // Get or initialize the default global (legacy) cookie manager if we couldn't find one\r\n cookieMgr = _gblCookieMgr(config, (core || {}).logger);\r\n }\r\n return cookieMgr;\r\n}\r\nexport function createCookieMgr(rootConfig, logger) {\r\n var cookieMgrConfig = _createCookieMgrConfig(rootConfig || _globalCookieConfig);\r\n var _path = cookieMgrConfig.path || \"/\";\r\n var _domain = cookieMgrConfig.domain;\r\n // Explicitly checking against false, so that setting to undefined will === true\r\n var _enabled = cookieMgrConfig[strEnabled] !== false;\r\n var cookieMgr = {\r\n isEnabled: function () {\r\n var enabled = _enabled && areCookiesSupported(logger);\r\n // Using an indirect lookup for any global cookie manager to support tree shaking for SDK's\r\n // that don't use the \"applicationinsights-core\" version of the default cookie function\r\n var gblManager = _globalCookieConfig[strConfigCookieMgr];\r\n if (enabled && gblManager && cookieMgr !== gblManager) {\r\n // Make sure the GlobalCookie Manager instance (if not this instance) is also enabled.\r\n // As the global (deprecated) functions may have been called (for backward compatibility)\r\n enabled = _isMgrEnabled(gblManager);\r\n }\r\n return enabled;\r\n },\r\n setEnabled: function (value) {\r\n // Explicitly checking against false, so that setting to undefined will === true\r\n _enabled = value !== false;\r\n },\r\n set: function (name, value, maxAgeSec, domain, path) {\r\n var result = false;\r\n if (_isMgrEnabled(cookieMgr)) {\r\n var values = {};\r\n var theValue = strTrim(value || strEmpty);\r\n var idx = theValue.indexOf(\";\");\r\n if (idx !== -1) {\r\n theValue = strTrim(value.substring(0, idx));\r\n values = _extractParts(value.substring(idx + 1));\r\n }\r\n // Only update domain if not already present (isUndefined) and the value is truthy (not null, undefined or empty string)\r\n setValue(values, \"domain\", domain || _domain, isTruthy, isUndefined);\r\n if (!isNullOrUndefined(maxAgeSec)) {\r\n var _isIE = isIE();\r\n if (isUndefined(values[strExpires])) {\r\n var nowMs = dateNow();\r\n // Only add expires if not already present\r\n var expireMs = nowMs + (maxAgeSec * 1000);\r\n // Sanity check, if zero or -ve then ignore\r\n if (expireMs > 0) {\r\n var expiry = new Date();\r\n expiry.setTime(expireMs);\r\n setValue(values, strExpires, _formatDate(expiry, !_isIE ? strToUTCString : strToGMTString) || _formatDate(expiry, _isIE ? strToGMTString : strToUTCString) || strEmpty, isTruthy);\r\n }\r\n }\r\n if (!_isIE) {\r\n // Only replace if not already present\r\n setValue(values, \"max-age\", strEmpty + maxAgeSec, null, isUndefined);\r\n }\r\n }\r\n var location_1 = getLocation();\r\n if (location_1 && location_1.protocol === \"https:\") {\r\n setValue(values, \"secure\", null, null, isUndefined);\r\n // Only set same site if not also secure\r\n if (_allowUaSameSite === null) {\r\n _allowUaSameSite = !uaDisallowsSameSiteNone((getNavigator() || {}).userAgent);\r\n }\r\n if (_allowUaSameSite) {\r\n setValue(values, \"SameSite\", \"None\", null, isUndefined);\r\n }\r\n }\r\n setValue(values, \"path\", path || _path, null, isUndefined);\r\n var setCookieFn = cookieMgrConfig.setCookie || _setCookieValue;\r\n setCookieFn(name, _formatCookieValue(theValue, values));\r\n result = true;\r\n }\r\n return result;\r\n },\r\n get: function (name) {\r\n var value = strEmpty;\r\n if (_isMgrEnabled(cookieMgr)) {\r\n value = (cookieMgrConfig.getCookie || _getCookieValue)(name);\r\n }\r\n return value;\r\n },\r\n del: function (name, path) {\r\n var result = false;\r\n if (_isMgrEnabled(cookieMgr)) {\r\n // Only remove the cookie if the manager and cookie support has not been disabled\r\n result = cookieMgr.purge(name, path);\r\n }\r\n return result;\r\n },\r\n purge: function (name, path) {\r\n var _a;\r\n var result = false;\r\n if (areCookiesSupported(logger)) {\r\n // Setting the expiration date in the past immediately removes the cookie\r\n var values = (_a = {},\r\n _a[\"path\"] = path ? path : \"/\",\r\n _a[strExpires] = \"Thu, 01 Jan 1970 00:00:01 GMT\",\r\n _a);\r\n if (!isIE()) {\r\n // Set max age to expire now\r\n values[\"max-age\"] = \"0\";\r\n }\r\n var delCookie = cookieMgrConfig.delCookie || _setCookieValue;\r\n delCookie(name, _formatCookieValue(strEmpty, values));\r\n result = true;\r\n }\r\n return result;\r\n }\r\n };\r\n // Associated this cookie manager with the config\r\n cookieMgr[strConfigCookieMgr] = cookieMgr;\r\n return cookieMgr;\r\n}\r\n/*\r\n* Helper method to tell if document.cookie object is supported by the runtime\r\n*/\r\nexport function areCookiesSupported(logger) {\r\n if (_supportsCookies === null) {\r\n _supportsCookies = false;\r\n try {\r\n var doc = _doc || {};\r\n _supportsCookies = doc[strCookie] !== undefined;\r\n }\r\n catch (e) {\r\n logger && logger.throwInternal(LoggingSeverity.WARNING, _InternalMessageId.CannotAccessCookie, \"Cannot access document.cookie - \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n return _supportsCookies;\r\n}\r\nfunction _extractParts(theValue) {\r\n var values = {};\r\n if (theValue && theValue.length) {\r\n var parts = strTrim(theValue).split(\";\");\r\n arrForEach(parts, function (thePart) {\r\n thePart = strTrim(thePart || strEmpty);\r\n if (thePart) {\r\n var idx = thePart.indexOf(\"=\");\r\n if (idx === -1) {\r\n values[thePart] = null;\r\n }\r\n else {\r\n values[strTrim(thePart.substring(0, idx))] = strTrim(thePart.substring(idx + 1));\r\n }\r\n }\r\n });\r\n }\r\n return values;\r\n}\r\nfunction _formatDate(theDate, func) {\r\n if (isFunction(theDate[func])) {\r\n return theDate[func]();\r\n }\r\n return null;\r\n}\r\nfunction _formatCookieValue(value, values) {\r\n var cookieValue = value || strEmpty;\r\n objForEachKey(values, function (name, theValue) {\r\n cookieValue += \"; \" + name + (!isNullOrUndefined(theValue) ? \"=\" + theValue : strEmpty);\r\n });\r\n return cookieValue;\r\n}\r\nfunction _getCookieValue(name) {\r\n var cookieValue = strEmpty;\r\n if (_doc) {\r\n var theCookie = _doc[strCookie] || strEmpty;\r\n if (_parsedCookieValue !== theCookie) {\r\n _cookieCache = _extractParts(theCookie);\r\n _parsedCookieValue = theCookie;\r\n }\r\n cookieValue = strTrim(_cookieCache[name] || strEmpty);\r\n }\r\n return cookieValue;\r\n}\r\nfunction _setCookieValue(name, cookieValue) {\r\n if (_doc) {\r\n _doc[strCookie] = name + \"=\" + cookieValue;\r\n }\r\n}\r\nexport function uaDisallowsSameSiteNone(userAgent) {\r\n if (!isString(userAgent)) {\r\n return false;\r\n }\r\n // Cover all iOS based browsers here. This includes:\r\n // - Safari on iOS 12 for iPhone, iPod Touch, iPad\r\n // - WkWebview on iOS 12 for iPhone, iPod Touch, iPad\r\n // - Chrome on iOS 12 for iPhone, iPod Touch, iPad\r\n // All of which are broken by SameSite=None, because they use the iOS networking stack\r\n if (strContains(userAgent, \"CPU iPhone OS 12\") || strContains(userAgent, \"iPad; CPU OS 12\")) {\r\n return true;\r\n }\r\n // Cover Mac OS X based browsers that use the Mac OS networking stack. This includes:\r\n // - Safari on Mac OS X\r\n // This does not include:\r\n // - Internal browser on Mac OS X\r\n // - Chrome on Mac OS X\r\n // - Chromium on Mac OS X\r\n // Because they do not use the Mac OS networking stack.\r\n if (strContains(userAgent, \"Macintosh; Intel Mac OS X 10_14\") && strContains(userAgent, \"Version/\") && strContains(userAgent, \"Safari\")) {\r\n return true;\r\n }\r\n // Cover Mac OS X internal browsers that use the Mac OS networking stack. This includes:\r\n // - Internal browser on Mac OS X\r\n // This does not include:\r\n // - Safari on Mac OS X\r\n // - Chrome on Mac OS X\r\n // - Chromium on Mac OS X\r\n // Because they do not use the Mac OS networking stack.\r\n if (strContains(userAgent, \"Macintosh; Intel Mac OS X 10_14\") && strEndsWith(userAgent, \"AppleWebKit/605.1.15 (KHTML, like Gecko)\")) {\r\n return true;\r\n }\r\n // Cover Chrome 50-69, because some versions are broken by SameSite=None, and none in this range require it.\r\n // Note: this covers some pre-Chromium Edge versions, but pre-Chromim Edge does not require SameSite=None, so this is fine.\r\n // Note: this regex applies to Windows, Mac OS X, and Linux, deliberately.\r\n if (strContains(userAgent, \"Chrome/5\") || strContains(userAgent, \"Chrome/6\")) {\r\n return true;\r\n }\r\n // Unreal Engine runs Chromium 59, but does not advertise as Chrome until 4.23. Treat versions of Unreal\r\n // that don't specify their Chrome version as lacking support for SameSite=None.\r\n if (strContains(userAgent, \"UnrealEngine\") && !strContains(userAgent, \"Chrome\")) {\r\n return true;\r\n }\r\n // UCBrowser < 12.13.2 ignores Set-Cookie headers with SameSite=None\r\n // NB: this rule isn't complete - you need regex to make a complete rule.\r\n // See: https://www.chromium.org/updates/same-site/incompatible-clients\r\n if (strContains(userAgent, \"UCBrowser/12\") || strContains(userAgent, \"UCBrowser/11\")) {\r\n return true;\r\n }\r\n return false;\r\n}\r\n//# sourceMappingURL=CookieMgr.js.map","/*\n * Application Insights JavaScript SDK - Core, 2.7.0\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n\"use strict\";\r\nimport { __spreadArrayFn as __spreadArray } from \"@microsoft/applicationinsights-shims\";\r\nimport { objCreateFn } from \"@microsoft/applicationinsights-shims\";\r\nimport dynamicProto from '@microsoft/dynamicproto-js';\r\nimport { ChannelController } from './ChannelController';\r\nimport { ProcessTelemetryContext } from './ProcessTelemetryContext';\r\nimport { initializePlugins, sortPlugins } from './TelemetryHelpers';\r\nimport { getGblPerfMgr, PerfManager } from \"./PerfManager\";\r\nimport { createCookieMgr } from \"./CookieMgr\";\r\nimport { arrForEach, isNullOrUndefined, toISOString, getSetValue, setValue, throwError, isNotTruthy, isFunction } from \"./HelperFuncs\";\r\nimport { strExtensionConfig, strIKey } from \"./Constants\";\r\nvar validationError = \"Extensions must provide callback to initialize\";\r\nvar strNotificationManager = \"_notificationManager\";\r\n/**\r\n * Helper to create the default performance manager\r\n * @param core\r\n * @param notificationMgr\r\n */\r\nfunction _createPerfManager(core, notificationMgr) {\r\n return new PerfManager(notificationMgr);\r\n}\r\nvar BaseCore = /** @class */ (function () {\r\n function BaseCore() {\r\n var _isInitialized = false;\r\n var _eventQueue;\r\n var _channelController;\r\n var _notificationManager;\r\n var _perfManager;\r\n var _cookieManager;\r\n dynamicProto(BaseCore, this, function (_self) {\r\n _self._extensions = new Array();\r\n _channelController = new ChannelController();\r\n _self.logger = objCreateFn({\r\n throwInternal: function (severity, msgId, msg, properties, isUserAct) {\r\n if (isUserAct === void 0) { isUserAct = false; }\r\n },\r\n warnToConsole: function (message) { },\r\n resetInternalMessageCount: function () { }\r\n });\r\n _eventQueue = [];\r\n _self.isInitialized = function () { return _isInitialized; };\r\n _self.initialize = function (config, extensions, logger, notificationManager) {\r\n // Make sure core is only initialized once\r\n if (_self.isInitialized()) {\r\n throwError(\"Core should not be initialized more than once\");\r\n }\r\n if (!config || isNullOrUndefined(config.instrumentationKey)) {\r\n throwError(\"Please provide instrumentation key\");\r\n }\r\n _notificationManager = notificationManager;\r\n // For backward compatibility only\r\n _self[strNotificationManager] = notificationManager;\r\n _self.config = config || {};\r\n if (_self.config.enablePerfMgr) {\r\n // Set the performance manager creation function if not defined\r\n setValue(_self.config, \"createPerfMgr\", _createPerfManager);\r\n }\r\n config.extensions = isNullOrUndefined(config.extensions) ? [] : config.extensions;\r\n // add notification to the extensions in the config so other plugins can access it\r\n var extConfig = getSetValue(config, strExtensionConfig);\r\n extConfig.NotificationManager = notificationManager;\r\n if (logger) {\r\n _self.logger = logger;\r\n }\r\n // Concat all available extensions\r\n var allExtensions = [];\r\n allExtensions.push.apply(allExtensions, __spreadArray(__spreadArray([], extensions, false), config.extensions, false));\r\n allExtensions = sortPlugins(allExtensions);\r\n var coreExtensions = [];\r\n var channelExtensions = [];\r\n // Check if any two extensions have the same priority, then warn to console\r\n // And extract the local extensions from the \r\n var extPriorities = {};\r\n // Extension validation\r\n arrForEach(allExtensions, function (ext) {\r\n if (isNullOrUndefined(ext) || isNullOrUndefined(ext.initialize)) {\r\n throwError(validationError);\r\n }\r\n var extPriority = ext.priority;\r\n var identifier = ext.identifier;\r\n if (ext && extPriority) {\r\n if (!isNullOrUndefined(extPriorities[extPriority])) {\r\n logger.warnToConsole(\"Two extensions have same priority #\" + extPriority + \" - \" + extPriorities[extPriority] + \", \" + identifier);\r\n }\r\n else {\r\n // set a value\r\n extPriorities[extPriority] = identifier;\r\n }\r\n }\r\n // Split extensions to core and channelController\r\n if (!extPriority || extPriority < _channelController.priority) {\r\n // Add to core extension that will be managed by BaseCore\r\n coreExtensions.push(ext);\r\n }\r\n else {\r\n // Add all other extensions to be managed by the channel controller\r\n channelExtensions.push(ext);\r\n }\r\n });\r\n // Validation complete\r\n // Add the channelController to the complete extension collection and\r\n // to the end of the core extensions\r\n allExtensions.push(_channelController);\r\n coreExtensions.push(_channelController);\r\n // Sort the complete set of extensions by priority\r\n allExtensions = sortPlugins(allExtensions);\r\n _self._extensions = allExtensions;\r\n // initialize channel controller first, this will initialize all channel plugins\r\n initializePlugins(new ProcessTelemetryContext([_channelController], config, _self), allExtensions);\r\n initializePlugins(new ProcessTelemetryContext(coreExtensions, config, _self), allExtensions);\r\n // Now reset the extensions to just those being managed by Basecore\r\n _self._extensions = coreExtensions;\r\n if (_self.getTransmissionControls().length === 0) {\r\n throwError(\"No channels available\");\r\n }\r\n _isInitialized = true;\r\n _self.releaseQueue();\r\n };\r\n _self.getTransmissionControls = function () {\r\n return _channelController.getChannelControls();\r\n };\r\n _self.track = function (telemetryItem) {\r\n // setup default iKey if not passed in\r\n setValue(telemetryItem, strIKey, _self.config.instrumentationKey, null, isNotTruthy);\r\n // add default timestamp if not passed in\r\n setValue(telemetryItem, \"time\", toISOString(new Date()), null, isNotTruthy);\r\n // Common Schema 4.0\r\n setValue(telemetryItem, \"ver\", \"4.0\", null, isNullOrUndefined);\r\n if (_self.isInitialized()) {\r\n // Process the telemetry plugin chain\r\n _self.getProcessTelContext().processNext(telemetryItem);\r\n }\r\n else {\r\n // Queue events until all extensions are initialized\r\n _eventQueue.push(telemetryItem);\r\n }\r\n };\r\n _self.getProcessTelContext = function () {\r\n var extensions = _self._extensions;\r\n var thePlugins = extensions;\r\n // invoke any common telemetry processors before sending through pipeline\r\n if (!extensions || extensions.length === 0) {\r\n // Pass to Channel controller so data is sent to correct channel queues\r\n thePlugins = [_channelController];\r\n }\r\n return new ProcessTelemetryContext(thePlugins, _self.config, _self);\r\n };\r\n _self.getNotifyMgr = function () {\r\n if (!_notificationManager) {\r\n // Create Dummy notification manager\r\n _notificationManager = objCreateFn({\r\n addNotificationListener: function (listener) { },\r\n removeNotificationListener: function (listener) { },\r\n eventsSent: function (events) { },\r\n eventsDiscarded: function (events, reason) { },\r\n eventsSendRequest: function (sendReason, isAsync) { }\r\n });\r\n // For backward compatibility only\r\n _self[strNotificationManager] = _notificationManager;\r\n }\r\n return _notificationManager;\r\n };\r\n _self.getCookieMgr = function () {\r\n if (!_cookieManager) {\r\n _cookieManager = createCookieMgr(_self.config, _self.logger);\r\n }\r\n return _cookieManager;\r\n };\r\n _self.setCookieMgr = function (cookieMgr) {\r\n _cookieManager = cookieMgr;\r\n };\r\n _self.getPerfMgr = function () {\r\n if (!_perfManager) {\r\n if (_self.config && _self.config.enablePerfMgr && isFunction(_self.config.createPerfMgr)) {\r\n _perfManager = _self.config.createPerfMgr(_self, _self.getNotifyMgr());\r\n }\r\n }\r\n return _perfManager || getGblPerfMgr();\r\n };\r\n _self.setPerfMgr = function (perfMgr) {\r\n _perfManager = perfMgr;\r\n };\r\n _self.eventCnt = function () {\r\n return _eventQueue.length;\r\n };\r\n _self.releaseQueue = function () {\r\n if (_eventQueue.length > 0) {\r\n arrForEach(_eventQueue, function (event) {\r\n _self.getProcessTelContext().processNext(event);\r\n });\r\n _eventQueue = [];\r\n }\r\n };\r\n });\r\n }\r\n// Removed Stub for BaseCore.prototype.initialize.\r\n// Removed Stub for BaseCore.prototype.getTransmissionControls.\r\n// Removed Stub for BaseCore.prototype.track.\r\n// Removed Stub for BaseCore.prototype.getProcessTelContext.\r\n// Removed Stub for BaseCore.prototype.getNotifyMgr.\r\n// Removed Stub for BaseCore.prototype.getCookieMgr.\r\n// Removed Stub for BaseCore.prototype.setCookieMgr.\r\n// Removed Stub for BaseCore.prototype.getPerfMgr.\r\n// Removed Stub for BaseCore.prototype.setPerfMgr.\r\n// Removed Stub for BaseCore.prototype.eventCnt.\r\n// Removed Stub for BaseCore.prototype.releaseQueue.\r\n return BaseCore;\r\n}());\r\nexport { BaseCore };\r\n//# sourceMappingURL=BaseCore.js.map","/*\n * Application Insights JavaScript SDK - Core, 2.7.0\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n/**\r\n * The EventsDiscardedReason enumeration contains a set of values that specify the reason for discarding an event.\r\n */\r\nexport var EventsDiscardedReason = {\r\n /**\r\n * Unknown.\r\n */\r\n Unknown: 0,\r\n /**\r\n * Status set to non-retryable.\r\n */\r\n NonRetryableStatus: 1,\r\n /**\r\n * The event is invalid.\r\n */\r\n InvalidEvent: 2,\r\n /**\r\n * The size of the event is too large.\r\n */\r\n SizeLimitExceeded: 3,\r\n /**\r\n * The server is not accepting events from this instrumentation key.\r\n */\r\n KillSwitch: 4,\r\n /**\r\n * The event queue is full.\r\n */\r\n QueueFull: 5\r\n};\r\n//# sourceMappingURL=EventsDiscardedReason.js.map","/*\n * Application Insights JavaScript SDK - Core, 2.7.0\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { arrForEach, arrIndexOf } from './HelperFuncs';\r\n/**\r\n * Class to manage sending notifications to all the listeners.\r\n */\r\nvar NotificationManager = /** @class */ (function () {\r\n function NotificationManager(config) {\r\n this.listeners = [];\r\n var perfEvtsSendAll = !!(config || {}).perfEvtsSendAll;\r\n dynamicProto(NotificationManager, this, function (_self) {\r\n _self.addNotificationListener = function (listener) {\r\n _self.listeners.push(listener);\r\n };\r\n /**\r\n * Removes all instances of the listener.\r\n * @param {INotificationListener} listener - AWTNotificationListener to remove.\r\n */\r\n _self.removeNotificationListener = function (listener) {\r\n var index = arrIndexOf(_self.listeners, listener);\r\n while (index > -1) {\r\n _self.listeners.splice(index, 1);\r\n index = arrIndexOf(_self.listeners, listener);\r\n }\r\n };\r\n /**\r\n * Notification for events sent.\r\n * @param {ITelemetryItem[]} events - The array of events that have been sent.\r\n */\r\n _self.eventsSent = function (events) {\r\n arrForEach(_self.listeners, function (listener) {\r\n if (listener && listener.eventsSent) {\r\n setTimeout(function () { return listener.eventsSent(events); }, 0);\r\n }\r\n });\r\n };\r\n /**\r\n * Notification for events being discarded.\r\n * @param {ITelemetryItem[]} events - The array of events that have been discarded by the SDK.\r\n * @param {number} reason - The reason for which the SDK discarded the events. The EventsDiscardedReason\r\n * constant should be used to check the different values.\r\n */\r\n _self.eventsDiscarded = function (events, reason) {\r\n arrForEach(_self.listeners, function (listener) {\r\n if (listener && listener.eventsDiscarded) {\r\n setTimeout(function () { return listener.eventsDiscarded(events, reason); }, 0);\r\n }\r\n });\r\n };\r\n /**\r\n * [Optional] A function called when the events have been requested to be sent to the sever.\r\n * @param {number} sendReason - The reason why the event batch is being sent.\r\n * @param {boolean} isAsync - A flag which identifies whether the requests are being sent in an async or sync manner.\r\n */\r\n _self.eventsSendRequest = function (sendReason, isAsync) {\r\n arrForEach(_self.listeners, function (listener) {\r\n if (listener && listener.eventsSendRequest) {\r\n if (isAsync) {\r\n setTimeout(function () { return listener.eventsSendRequest(sendReason, isAsync); }, 0);\r\n }\r\n else {\r\n try {\r\n listener.eventsSendRequest(sendReason, isAsync);\r\n }\r\n catch (e) {\r\n // Catch errors to ensure we don't block sending the requests\r\n }\r\n }\r\n }\r\n });\r\n };\r\n _self.perfEvent = function (perfEvent) {\r\n if (perfEvent) {\r\n // Send all events or only parent events\r\n if (perfEvtsSendAll || !perfEvent.isChildEvt()) {\r\n arrForEach(_self.listeners, function (listener) {\r\n if (listener && listener.perfEvent) {\r\n if (perfEvent.isAsync) {\r\n setTimeout(function () { return listener.perfEvent(perfEvent); }, 0);\r\n }\r\n else {\r\n try {\r\n listener.perfEvent(perfEvent);\r\n }\r\n catch (e) {\r\n // Catch errors to ensure we don't block sending the requests\r\n }\r\n }\r\n }\r\n });\r\n }\r\n }\r\n };\r\n });\r\n }\r\n// Removed Stub for NotificationManager.prototype.addNotificationListener.\r\n// Removed Stub for NotificationManager.prototype.removeNotificationListener.\r\n// Removed Stub for NotificationManager.prototype.eventsSent.\r\n// Removed Stub for NotificationManager.prototype.eventsDiscarded.\r\n// Removed Stub for NotificationManager.prototype.eventsSendRequest.\r\n return NotificationManager;\r\n}());\r\nexport { NotificationManager };\r\n//# sourceMappingURL=NotificationManager.js.map","/*\n * Application Insights JavaScript SDK - Core, 2.7.0\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\nimport { __extendsFn as __extends } from \"@microsoft/applicationinsights-shims\";\r\nimport { BaseCore } from './BaseCore';\r\nimport { EventsDiscardedReason } from \"../JavaScriptSDK.Enums/EventsDiscardedReason\";\r\nimport { NotificationManager } from \"./NotificationManager\";\r\nimport { doPerf } from \"./PerfManager\";\r\nimport { _InternalLogMessage, DiagnosticLogger } from \"./DiagnosticLogger\";\r\nimport dynamicProto from '@microsoft/dynamicproto-js';\r\nimport { arrForEach, isNullOrUndefined, toISOString, throwError } from \"./HelperFuncs\";\r\n\"use strict\";\r\nvar AppInsightsCore = /** @class */ (function (_super) {\r\n __extends(AppInsightsCore, _super);\r\n function AppInsightsCore() {\r\n var _this = _super.call(this) || this;\r\n dynamicProto(AppInsightsCore, _this, function (_self, _base) {\r\n _self.initialize = function (config, extensions, logger, notificationManager) {\r\n _base.initialize(config, extensions, logger || new DiagnosticLogger(config), notificationManager || new NotificationManager(config));\r\n };\r\n _self.track = function (telemetryItem) {\r\n doPerf(_self.getPerfMgr(), function () { return \"AppInsightsCore:track\"; }, function () {\r\n if (telemetryItem === null) {\r\n _notifyInvalidEvent(telemetryItem);\r\n // throw error\r\n throwError(\"Invalid telemetry item\");\r\n }\r\n // do basic validation before sending it through the pipeline\r\n _validateTelemetryItem(telemetryItem);\r\n _base.track(telemetryItem);\r\n }, function () { return ({ item: telemetryItem }); }, !(telemetryItem.sync));\r\n };\r\n /**\r\n * Adds a notification listener. The SDK calls methods on the listener when an appropriate notification is raised.\r\n * The added plugins must raise notifications. If the plugins do not implement the notifications, then no methods will be\r\n * called.\r\n * @param {INotificationListener} listener - An INotificationListener object.\r\n */\r\n _self.addNotificationListener = function (listener) {\r\n var manager = _self.getNotifyMgr();\r\n if (manager) {\r\n manager.addNotificationListener(listener);\r\n }\r\n };\r\n /**\r\n * Removes all instances of the listener.\r\n * @param {INotificationListener} listener - INotificationListener to remove.\r\n */\r\n _self.removeNotificationListener = function (listener) {\r\n var manager = _self.getNotifyMgr();\r\n if (manager) {\r\n manager.removeNotificationListener(listener);\r\n }\r\n };\r\n /**\r\n * Periodically check logger.queue for\r\n */\r\n _self.pollInternalLogs = function (eventName) {\r\n var interval = _self.config.diagnosticLogInterval;\r\n if (!interval || !(interval > 0)) {\r\n interval = 10000;\r\n }\r\n return setInterval(function () {\r\n var queue = _self.logger ? _self.logger.queue : [];\r\n arrForEach(queue, function (logMessage) {\r\n var item = {\r\n name: eventName ? eventName : \"InternalMessageId: \" + logMessage.messageId,\r\n iKey: _self.config.instrumentationKey,\r\n time: toISOString(new Date()),\r\n baseType: _InternalLogMessage.dataType,\r\n baseData: { message: logMessage.message }\r\n };\r\n _self.track(item);\r\n });\r\n queue.length = 0;\r\n }, interval);\r\n };\r\n function _validateTelemetryItem(telemetryItem) {\r\n if (isNullOrUndefined(telemetryItem.name)) {\r\n _notifyInvalidEvent(telemetryItem);\r\n throw Error(\"telemetry name required\");\r\n }\r\n }\r\n function _notifyInvalidEvent(telemetryItem) {\r\n var manager = _self.getNotifyMgr();\r\n if (manager) {\r\n manager.eventsDiscarded([telemetryItem], EventsDiscardedReason.InvalidEvent);\r\n }\r\n }\r\n });\r\n return _this;\r\n }\r\n// Removed Stub for AppInsightsCore.prototype.initialize.\r\n// Removed Stub for AppInsightsCore.prototype.track.\r\n// Removed Stub for AppInsightsCore.prototype.addNotificationListener.\r\n// Removed Stub for AppInsightsCore.prototype.removeNotificationListener.\r\n// Removed Stub for AppInsightsCore.prototype.pollInternalLogs.\r\n return AppInsightsCore;\r\n}(BaseCore));\r\nexport { AppInsightsCore };\r\n//# sourceMappingURL=AppInsightsCore.js.map","/*\n * Application Insights JavaScript SDK - Core, 2.7.0\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { getCrypto, getMsCrypto, isIE } from \"./EnvUtils\";\r\nimport { dateNow } from \"./HelperFuncs\";\r\nvar UInt32Mask = 0x100000000;\r\nvar MaxUInt32 = 0xffffffff;\r\n// MWC based Random generator (for IE)\r\nvar _mwcSeeded = false;\r\nvar _mwcW = 123456789;\r\nvar _mwcZ = 987654321;\r\n// Takes any integer\r\nfunction _mwcSeed(seedValue) {\r\n if (seedValue < 0) {\r\n // Make sure we end up with a positive number and not -ve one.\r\n seedValue >>>= 0;\r\n }\r\n _mwcW = (123456789 + seedValue) & MaxUInt32;\r\n _mwcZ = (987654321 - seedValue) & MaxUInt32;\r\n _mwcSeeded = true;\r\n}\r\nfunction _autoSeedMwc() {\r\n // Simple initialization using default Math.random() - So we inherit any entropy from the browser\r\n // and bitwise XOR with the current milliseconds\r\n try {\r\n var now = dateNow() & 0x7fffffff;\r\n _mwcSeed(((Math.random() * UInt32Mask) ^ now) + now);\r\n }\r\n catch (e) {\r\n // Don't crash if something goes wrong\r\n }\r\n}\r\n/**\r\n * Generate a random value between 0 and maxValue, max value should be limited to a 32-bit maximum.\r\n * So maxValue(16) will produce a number from 0..16 (range of 17)\r\n * @param maxValue\r\n */\r\nexport function randomValue(maxValue) {\r\n if (maxValue > 0) {\r\n return Math.floor((random32() / MaxUInt32) * (maxValue + 1)) >>> 0;\r\n }\r\n return 0;\r\n}\r\n/**\r\n * generate a random 32-bit number (0x000000..0xFFFFFFFF) or (-0x80000000..0x7FFFFFFF), defaults un-unsigned.\r\n * @param signed - True to return a signed 32-bit number (-0x80000000..0x7FFFFFFF) otherwise an unsigned one (0x000000..0xFFFFFFFF)\r\n */\r\nexport function random32(signed) {\r\n var value;\r\n var c = getCrypto() || getMsCrypto();\r\n if (c && c.getRandomValues) {\r\n // Make sure the number is converted into the specified range (-0x80000000..0x7FFFFFFF)\r\n value = c.getRandomValues(new Uint32Array(1))[0] & MaxUInt32;\r\n }\r\n else if (isIE()) {\r\n // For IE 6, 7, 8 (especially on XP) Math.random is not very random\r\n if (!_mwcSeeded) {\r\n // Set the seed for the Mwc algorithm\r\n _autoSeedMwc();\r\n }\r\n // Don't use Math.random for IE\r\n // Make sure the number is converted into the specified range (-0x80000000..0x7FFFFFFF)\r\n value = mwcRandom32() & MaxUInt32;\r\n }\r\n else {\r\n // Make sure the number is converted into the specified range (-0x80000000..0x7FFFFFFF)\r\n value = Math.floor((UInt32Mask * Math.random()) | 0);\r\n }\r\n if (!signed) {\r\n // Make sure we end up with a positive number and not -ve one.\r\n value >>>= 0;\r\n }\r\n return value;\r\n}\r\n/**\r\n * Seed the MWC random number generator with the specified seed or a random value\r\n * @param value - optional the number to used as the seed, if undefined, null or zero a random value will be chosen\r\n */\r\nexport function mwcRandomSeed(value) {\r\n if (!value) {\r\n _autoSeedMwc();\r\n }\r\n else {\r\n _mwcSeed(value);\r\n }\r\n}\r\n/**\r\n * Generate a random 32-bit number between (0x000000..0xFFFFFFFF) or (-0x80000000..0x7FFFFFFF), using MWC (Multiply with carry)\r\n * instead of Math.random() defaults to un-signed.\r\n * Used as a replacement random generator for IE to avoid issues with older IE instances.\r\n * @param signed - True to return a signed 32-bit number (-0x80000000..0x7FFFFFFF) otherwise an unsigned one (0x000000..0xFFFFFFFF)\r\n */\r\nexport function mwcRandom32(signed) {\r\n _mwcZ = (36969 * (_mwcZ & 0xFFFF) + (_mwcZ >> 16)) & MaxUInt32;\r\n _mwcW = (18000 * (_mwcW & 0xFFFF) + (_mwcW >> 16)) & MaxUInt32;\r\n var value = (((_mwcZ << 16) + (_mwcW & 0xFFFF)) >>> 0) & MaxUInt32 | 0;\r\n if (!signed) {\r\n // Make sure we end up with a positive number and not -ve one.\r\n value >>>= 0;\r\n }\r\n return value;\r\n}\r\n//# sourceMappingURL=RandomHelper.js.map","/*\n * Application Insights JavaScript SDK - Core, 2.7.0\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n\"use strict\";\r\nimport { objCreateFn, strShimUndefined } from \"@microsoft/applicationinsights-shims\";\r\nimport { _gblCookieMgr } from \"./CookieMgr\";\r\nimport { getWindow, getDocument, getPerformance, isIE } from \"./EnvUtils\";\r\nimport { arrForEach, arrIndexOf, arrMap, arrReduce, attachEvent, dateNow, detachEvent, hasOwnProperty, isArray, isBoolean, isDate, isError, isFunction, isNullOrUndefined, isNumber, isObject, isString, isTypeof, isUndefined, objDefineAccessors, objKeys, strTrim, toISOString } from \"./HelperFuncs\";\r\nimport { randomValue, random32, mwcRandomSeed, mwcRandom32 } from \"./RandomHelper\";\r\nvar _cookieMgrs = null;\r\nvar _canUseCookies; // legacy supported config\r\n// Added to help with minfication\r\nexport var Undefined = strShimUndefined;\r\n/**\r\n * Trys to add an event handler for the specified event to the window, body and document\r\n * @param eventName {string} - The name of the event\r\n * @param callback {any} - The callback function that needs to be executed for the given event\r\n * @return {boolean} - true if the handler was successfully added\r\n */\r\nexport function addEventHandler(eventName, callback) {\r\n var result = false;\r\n var w = getWindow();\r\n if (w) {\r\n result = attachEvent(w, eventName, callback);\r\n result = attachEvent(w[\"body\"], eventName, callback) || result;\r\n }\r\n var doc = getDocument();\r\n if (doc) {\r\n result = attachEvent(doc, eventName, callback) || result;\r\n }\r\n return result;\r\n}\r\nexport function newGuid() {\r\n function randomHexDigit() {\r\n return randomValue(15); // Get a random value from 0..15\r\n }\r\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(GuidRegex, function (c) {\r\n var r = (randomHexDigit() | 0), v = (c === 'x' ? r : r & 0x3 | 0x8);\r\n return v.toString(16);\r\n });\r\n}\r\n/**\r\n * Return the current value of the Performance Api now() function (if available) and fallback to dateNow() if it is unavailable (IE9 or less)\r\n * https://caniuse.com/#search=performance.now\r\n */\r\nexport function perfNow() {\r\n var perf = getPerformance();\r\n if (perf && perf.now) {\r\n return perf.now();\r\n }\r\n return dateNow();\r\n}\r\n/**\r\n * Generate random base64 id string.\r\n * The default length is 22 which is 132-bits so almost the same as a GUID but as base64 (the previous default was 5)\r\n * @param maxLength - Optional value to specify the length of the id to be generated, defaults to 22\r\n */\r\nexport function newId(maxLength) {\r\n if (maxLength === void 0) { maxLength = 22; }\r\n var base64chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\r\n // Start with an initial random number, consuming the value in reverse byte order\r\n var number = random32() >>> 0; // Make sure it's a +ve number\r\n var chars = 0;\r\n var result = \"\";\r\n while (result.length < maxLength) {\r\n chars++;\r\n result += base64chars.charAt(number & 0x3F);\r\n number >>>= 6; // Zero fill with right shift\r\n if (chars === 5) {\r\n // 5 base64 characters === 30 bits so we don't have enough bits for another base64 char\r\n // So add on another 30 bits and make sure it's +ve\r\n number = (((random32() << 2) & 0xFFFFFFFF) | (number & 0x03)) >>> 0;\r\n chars = 0; // We need to reset the number every 5 chars (30 bits)\r\n }\r\n }\r\n return result;\r\n}\r\n/**\r\n * The strEndsWith() method determines whether a string ends with the characters of a specified string, returning true or false as appropriate.\r\n * @param value - The value to check whether it ends with the search value.\r\n * @param search - The characters to be searched for at the end of the value.\r\n * @returns true if the given search value is found at the end of the string, otherwise false.\r\n */\r\nexport function strEndsWith(value, search) {\r\n if (value && search) {\r\n var len = value.length;\r\n var start = len - search.length;\r\n return value.substring(start >= 0 ? start : 0, len) === search;\r\n }\r\n return false;\r\n}\r\n/**\r\n * generate W3C trace id\r\n */\r\nexport function generateW3CId() {\r\n var hexValues = [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\"];\r\n // rfc4122 version 4 UUID without dashes and with lowercase letters\r\n var oct = \"\", tmp;\r\n for (var a = 0; a < 4; a++) {\r\n tmp = random32();\r\n oct +=\r\n hexValues[tmp & 0xF] +\r\n hexValues[tmp >> 4 & 0xF] +\r\n hexValues[tmp >> 8 & 0xF] +\r\n hexValues[tmp >> 12 & 0xF] +\r\n hexValues[tmp >> 16 & 0xF] +\r\n hexValues[tmp >> 20 & 0xF] +\r\n hexValues[tmp >> 24 & 0xF] +\r\n hexValues[tmp >> 28 & 0xF];\r\n }\r\n // \"Set the two most significant bits (bits 6 and 7) of the clock_seq_hi_and_reserved to zero and one, respectively\"\r\n var clockSequenceHi = hexValues[8 + (random32() & 0x03) | 0];\r\n return oct.substr(0, 8) + oct.substr(9, 4) + \"4\" + oct.substr(13, 3) + clockSequenceHi + oct.substr(16, 3) + oct.substr(19, 12);\r\n}\r\n/**\r\n * Provides a collection of utility functions, included for backward compatibility with previous releases.\r\n * @deprecated Marking this instance as deprecated in favor of direct usage of the helper functions\r\n * as direct usage provides better tree-shaking and minification by avoiding the inclusion of the unused items\r\n * in your resulting code.\r\n */\r\nexport var CoreUtils = {\r\n _canUseCookies: undefined,\r\n isTypeof: isTypeof,\r\n isUndefined: isUndefined,\r\n isNullOrUndefined: isNullOrUndefined,\r\n hasOwnProperty: hasOwnProperty,\r\n isFunction: isFunction,\r\n isObject: isObject,\r\n isDate: isDate,\r\n isArray: isArray,\r\n isError: isError,\r\n isString: isString,\r\n isNumber: isNumber,\r\n isBoolean: isBoolean,\r\n toISOString: toISOString,\r\n arrForEach: arrForEach,\r\n arrIndexOf: arrIndexOf,\r\n arrMap: arrMap,\r\n arrReduce: arrReduce,\r\n strTrim: strTrim,\r\n objCreate: objCreateFn,\r\n objKeys: objKeys,\r\n objDefineAccessors: objDefineAccessors,\r\n addEventHandler: addEventHandler,\r\n dateNow: dateNow,\r\n isIE: isIE,\r\n disableCookies: disableCookies,\r\n newGuid: newGuid,\r\n perfNow: perfNow,\r\n newId: newId,\r\n randomValue: randomValue,\r\n random32: random32,\r\n mwcRandomSeed: mwcRandomSeed,\r\n mwcRandom32: mwcRandom32,\r\n generateW3CId: generateW3CId\r\n};\r\nvar GuidRegex = /[xy]/g;\r\nexport var EventHelper = {\r\n Attach: attachEvent,\r\n AttachEvent: attachEvent,\r\n Detach: detachEvent,\r\n DetachEvent: detachEvent\r\n};\r\n/**\r\n * Helper to support backward compatibility for users that use the legacy cookie handling functions and the use the internal\r\n * CoreUtils._canUseCookies global flag to enable/disable cookies usage.\r\n * Note: This has the following deliberate side-effects\r\n * - Creates the global (legacy) cookie manager if it does not already exist\r\n * - Attempts to add \"listeners\" to the CoreUtils._canUseCookies property to support the legacy usage\r\n * @param config\r\n * @param logger\r\n * @returns\r\n */\r\nexport function _legacyCookieMgr(config, logger) {\r\n var cookieMgr = _gblCookieMgr(config, logger);\r\n var legacyCanUseCookies = CoreUtils._canUseCookies;\r\n if (_cookieMgrs === null) {\r\n _cookieMgrs = [];\r\n _canUseCookies = legacyCanUseCookies;\r\n // Dynamically create get/set property accessors for backward compatibility for enabling / disabling cookies\r\n // this WILL NOT work for ES3 browsers (< IE8)\r\n objDefineAccessors(CoreUtils, \"_canUseCookies\", function () {\r\n return _canUseCookies;\r\n }, function (value) {\r\n _canUseCookies = value;\r\n arrForEach(_cookieMgrs, function (mgr) {\r\n mgr.setEnabled(value);\r\n });\r\n });\r\n }\r\n if (arrIndexOf(_cookieMgrs, cookieMgr) === -1) {\r\n _cookieMgrs.push(cookieMgr);\r\n }\r\n if (isBoolean(legacyCanUseCookies)) {\r\n cookieMgr.setEnabled(legacyCanUseCookies);\r\n }\r\n if (isBoolean(_canUseCookies)) {\r\n cookieMgr.setEnabled(_canUseCookies);\r\n }\r\n return cookieMgr;\r\n}\r\n/**\r\n * @deprecated - Use the core.getCookieMgr().disable()\r\n * Force the SDK not to store and read any data from cookies.\r\n */\r\nexport function disableCookies() {\r\n _legacyCookieMgr().setEnabled(false);\r\n}\r\n/**\r\n * @deprecated - Use the core.getCookieMgr().isEnabled()\r\n * Helper method to tell if document.cookie object is available and whether it can be used.\r\n */\r\nexport function canUseCookies(logger) {\r\n return _legacyCookieMgr(null, logger).isEnabled();\r\n}\r\n/**\r\n * @deprecated - Use the core.getCookieMgr().get()\r\n * helper method to access userId and sessionId cookie\r\n */\r\nexport function getCookie(logger, name) {\r\n return _legacyCookieMgr(null, logger).get(name);\r\n}\r\n/**\r\n * @deprecated - Use the core.getCookieMgr().set()\r\n * helper method to set userId and sessionId cookie\r\n */\r\nexport function setCookie(logger, name, value, domain) {\r\n _legacyCookieMgr(null, logger).set(name, value, null, domain);\r\n}\r\n/**\r\n * @deprecated - Use the core.getCookieMgr().del()\r\n * Deletes a cookie by setting it's expiration time in the past.\r\n * @param name - The name of the cookie to delete.\r\n */\r\nexport function deleteCookie(logger, name) {\r\n return _legacyCookieMgr(null, logger).del(name);\r\n}\r\n//# sourceMappingURL=CoreUtils.js.map","/*\n * 1DS JS SDK Core, 3.1.6\n * Copyright (c) Microsoft and contributors. All rights reserved.\n * (Microsoft Internal Only)\n */\nvar _a;\r\n/**\r\n * Utils.ts\r\n * @author Abhilash Panwar (abpanwar) Hector Hernandez (hectorh)\r\n * @copyright Microsoft 2018\r\n * File containing utility functions.\r\n */\r\nimport { objCreateFn, strShimObject } from \"@microsoft/applicationinsights-shims\";\r\nimport { EventPropertyType, ValueKind, EventLatency } from \"./Enums\";\r\nimport { getDocument, getNavigator, getWindow, getGlobalInst, objForEachKey, isUndefined, isNullOrUndefined, isNumber, isReactNative, isString, isBoolean, isArray, newGuid, isObject, perfNow, hasOwnProperty, addEventHandler, uaDisallowsSameSiteNone, strPrototype, objDefineAccessors, toISOString, strTrim, isFunction, objKeys, arrReduce, arrMap, arrIndexOf, arrForEach, strUndefined, strObject, areCookiesSupported, safeGetCookieMgr, generateW3CId, mwcRandom32, mwcRandomSeed, random32, randomValue, newId, isIE, dateNow, isError, isDate, isTypeof, strEndsWith, useXDomainRequest, isBeaconsSupported, } from \"@microsoft/applicationinsights-core-js\";\r\nexport var Version = '3.1.6';\r\nexport var FullVersionString = \"1DS-Web-JS-\" + Version;\r\n// If value is array just get the type for the first element\r\nvar _fieldTypeEventPropMap = (_a = {},\r\n _a[0 /* NotSet */] = EventPropertyType.Unspecified,\r\n _a[2 /* Number */] = EventPropertyType.Double,\r\n _a[1 /* String */] = EventPropertyType.String,\r\n _a[3 /* Boolean */] = EventPropertyType.Bool,\r\n _a[4096 /* Array */ | 2 /* Number */] = EventPropertyType.Double,\r\n _a[4096 /* Array */ | 1 /* String */] = EventPropertyType.String,\r\n _a[4096 /* Array */ | 3 /* Boolean */] = EventPropertyType.Bool,\r\n _a);\r\n/**\r\n * @ignore\r\n */\r\n// let _uaDisallowsSameSiteNone = null;\r\nvar uInt8ArraySupported = null;\r\n// var _areCookiesAvailable: boolean | undefined;\r\n/**\r\n * Checks if document object is available\r\n */\r\nexport var isDocumentObjectAvailable = Boolean(getDocument());\r\n/**\r\n * Checks if window object is available\r\n */\r\nexport var isWindowObjectAvailable = Boolean(getWindow());\r\n/**\r\n * Checks if value is assigned to the given param.\r\n * @param value - The token from which the tenant id is to be extracted.\r\n * @returns True/false denoting if value is assigned to the param.\r\n */\r\nexport function isValueAssigned(value) {\r\n /// takes a value and checks for undefined, null and empty string \r\n /// value to be tested \r\n /// true if value is null undefined or emptyString \r\n return !(value === \"\" || isNullOrUndefined(value));\r\n}\r\n/**\r\n * Gets the tenant id from the tenant token.\r\n * @param apiKey - The token from which the tenant id is to be extracted.\r\n * @returns The tenant id.\r\n */\r\nexport function getTenantId(apiKey) {\r\n if (apiKey) {\r\n var indexTenantId = apiKey.indexOf(\"-\");\r\n if (indexTenantId > -1) {\r\n return apiKey.substring(0, indexTenantId);\r\n }\r\n }\r\n return \"\";\r\n}\r\n/**\r\n * Checks if Uint8Array are available in the current environment. Safari and Firefox along with\r\n * ReactNative are known to not support Uint8Array properly.\r\n * @returns True if available, false otherwise.\r\n */\r\nexport function isUint8ArrayAvailable() {\r\n if (uInt8ArraySupported === null) {\r\n uInt8ArraySupported = !isUndefined(Uint8Array) && !isSafariOrFirefox() && !isReactNative();\r\n }\r\n return uInt8ArraySupported;\r\n}\r\n/**\r\n * Checks if the value is a valid EventLatency.\r\n * @param value - The value that needs to be checked.\r\n * @returns True if the value is in AWTEventLatency, false otherwise.\r\n */\r\nexport function isLatency(value) {\r\n if (value && isNumber(value) && value >= EventLatency.Normal && value <= EventLatency.Immediate) {\r\n return true;\r\n }\r\n return false;\r\n}\r\n/**\r\n * Sanitizes the Property. It checks the that the property name and value are valid. It also\r\n * checks/populates the correct type and pii of the property value.\r\n * @param name - property name - The property name.\r\n * @param property - The property value or an IEventProperty containing value,\r\n * type ,pii and customer content.\r\n * @returns IEventProperty containing valid name, value, pii and type or null if invalid.\r\n */\r\nexport function sanitizeProperty(name, property, stringifyObjects) {\r\n // Check that property is valid\r\n if ((!property && !isValueAssigned(property)) || typeof name !== \"string\") {\r\n return null;\r\n }\r\n // Perf optimization -- only need to get the type once not multiple times\r\n var propType = typeof property;\r\n // If the property isn't IEventProperty (and is either string, number, boolean or array), convert it into one.\r\n if (propType === \"string\" || propType === \"number\" || propType === \"boolean\" || isArray(property)) {\r\n property = { value: property };\r\n }\r\n else if (propType === \"object\" && !property.hasOwnProperty(\"value\")) {\r\n property = { value: stringifyObjects ? JSON.stringify(property) : property };\r\n }\r\n else if (isNullOrUndefined(property.value)\r\n || property.value === \"\" || (!isString(property.value)\r\n && !isNumber(property.value) && !isBoolean(property.value)\r\n && !isArray(property.value))) {\r\n // Since property is IEventProperty, we need to validate its value\r\n return null;\r\n }\r\n // We need to check that if the property value is an array, it is valid\r\n if (isArray(property.value) &&\r\n !isArrayValid(property.value)) {\r\n return null;\r\n }\r\n // If either pii or cc is set convert value to string (since only string pii/cc is allowed).\r\n // If the value is a complex type like an array that can't be converted to string we will drop\r\n // the property.\r\n if (!isNullOrUndefined(property.kind)) {\r\n if (isArray(property.value) || !isValueKind(property.kind)) {\r\n return null;\r\n }\r\n property.value = property.value.toString();\r\n }\r\n return property;\r\n}\r\nexport function getCommonSchemaMetaData(value, kind, type) {\r\n var encodedTypeValue = -1;\r\n if (!isUndefined(value)) {\r\n if (kind > 0) {\r\n if (kind === 32) {\r\n // encode customer content. Value can only be string. bit 13-16 are for cc\r\n encodedTypeValue = (1 << 13);\r\n }\r\n else if (kind <= 13) {\r\n // encode PII. Value can only be string. bits 5-12 are for Pii\r\n encodedTypeValue = (kind << 5);\r\n }\r\n }\r\n // isDataType checks that the \"type\" is a number so we don't need to check for undefined\r\n if (isDataType(type)) {\r\n // Data Type is provided and valid, so use that\r\n if (encodedTypeValue === -1) {\r\n // Don't return -1\r\n encodedTypeValue = 0;\r\n }\r\n encodedTypeValue |= type;\r\n }\r\n else {\r\n var propType = _fieldTypeEventPropMap[getFieldValueType(value)] || -1;\r\n if (encodedTypeValue !== -1 && propType !== -1) {\r\n // pii exists so we must return correct type\r\n encodedTypeValue |= propType;\r\n }\r\n else if (propType === EventPropertyType.Double) {\r\n encodedTypeValue = propType;\r\n }\r\n }\r\n }\r\n return encodedTypeValue;\r\n}\r\n/**\r\n * @deprecated - Use the core.getCookieMgr().disable()\r\n * Force the SDK not to store and read any data from cookies.\r\n * Overriding the applicationinsights-core version for tree-shaking\r\n */\r\nexport function disableCookies() {\r\n safeGetCookieMgr(null).setEnabled(false);\r\n}\r\n/**\r\n * @deprecated - Use the oneDs.getCookieMgr().set()\r\n * Sets the value of a cookie.\r\n * @param name - Cookie name.\r\n * @param value - Cookie value.\r\n * @param days - Expiration days.\r\n */\r\nexport function setCookie(name, value, days) {\r\n if (areCookiesSupported(null)) {\r\n safeGetCookieMgr(null).set(name, value, days * 86400, null, \"/\");\r\n }\r\n}\r\n/**\r\n * @deprecated - Use the oneDs.getCookieMgr().del()\r\n * Deletes a cookie, by setting its expiration to -1.\r\n * @param name - Cookie name to delete.\r\n */\r\nexport function deleteCookie(name) {\r\n if (areCookiesSupported(null)) {\r\n safeGetCookieMgr(null).del(name);\r\n }\r\n}\r\n/**\r\n * @deprecated - Use the oneDs.getCookieMgr().get()\r\n * Gets the cookie value for the specified cookie.\r\n * if value is k1=v1&k2==v2 then will return 'v1' for key 'k1'\r\n * @param cookieName - Cookie name.\r\n */\r\nexport function getCookie(name) {\r\n if (areCookiesSupported(null)) {\r\n return getCookieValue(safeGetCookieMgr(null), name);\r\n }\r\n return \"\";\r\n}\r\n/**\r\n * Helper to get and decode the cookie value using decodeURIComponent, this is for historical\r\n * backward compatibility where the document.cookie value was decoded before parsing.\r\n * @param cookieMgr - The cookie manager to use\r\n * @param name - The name of the cookie to get\r\n * @param decode - A flag to indicate whether the cookie value should be decoded\r\n * @returns The decoded cookie value (if available) otherwise an empty string.\r\n */\r\nexport function getCookieValue(cookieMgr, name, decode) {\r\n if (decode === void 0) { decode = true; }\r\n var cookieValue;\r\n if (cookieMgr) {\r\n cookieValue = cookieMgr.get(name);\r\n if (decode && cookieValue && decodeURIComponent) {\r\n cookieValue = decodeURIComponent(cookieValue);\r\n }\r\n }\r\n return cookieValue || \"\";\r\n}\r\n/**\r\n * Create a new guid.\r\n * @param style - The style of guid to generated, defaults to Digits\r\n * Digits (Default) : 32 digits separated by hyphens: 00000000-0000-0000-0000-000000000000\r\n * Braces - 32 digits separated by hyphens, enclosed in braces: {00000000-0000-0000-0000-000000000000}\r\n * Parentheses - 32 digits separated by hyphens, enclosed in parentheses: (00000000-0000-0000-0000-000000000000)\r\n * Numeric - 32 digits: 00000000000000000000000000000000\r\n * @returns The formatted guid.\r\n */\r\nexport function createGuid(style) {\r\n if (style === void 0) { style = \"D\" /* Digits */; }\r\n var theGuid = newGuid();\r\n if (style === \"B\" /* Braces */) {\r\n theGuid = \"{\" + theGuid + \"}\";\r\n }\r\n else if (style === \"P\" /* Parentheses */) {\r\n theGuid = \"(\" + theGuid + \")\";\r\n }\r\n else if (style === \"N\" /* Numeric */) {\r\n theGuid = theGuid.replace(/-/g, \"\");\r\n }\r\n return theGuid;\r\n}\r\n/**\r\n * Pass in the objects to merge as arguments.\r\n * @param obj1 - object to merge. Set this argument to 'true' for a deep extend.\r\n * @param obj2 - object to merge.\r\n * @param obj3 - object to merge.\r\n * @param obj4 - object to merge.\r\n * @param obj5 - object to merge.\r\n * @returns The extended object.\r\n */\r\nexport function extend(obj, obj2, obj3, obj4, obj5) {\r\n // Variables\r\n var extended = {};\r\n var deep = false;\r\n var i = 0;\r\n var length = arguments.length;\r\n var objProto = Object[strPrototype];\r\n var theArgs = arguments;\r\n // Check if a deep merge\r\n if (objProto.toString.call(theArgs[0]) === \"[object Boolean]\") {\r\n deep = theArgs[0];\r\n i++;\r\n }\r\n // Loop through each object and conduct a merge\r\n for (; i < length; i++) {\r\n var obj = theArgs[i];\r\n objForEachKey(obj, function (prop, value) {\r\n // If deep merge and property is an object, merge properties\r\n if (deep && value && isObject(value)) {\r\n if (isArray(value)) {\r\n extended[prop] = extended[prop] || [];\r\n arrForEach(value, function (arrayValue, arrayIndex) {\r\n if (arrayValue && isObject(arrayValue)) {\r\n extended[prop][arrayIndex] = extend(true, extended[prop][arrayIndex], arrayValue);\r\n }\r\n else {\r\n extended[prop][arrayIndex] = arrayValue;\r\n }\r\n });\r\n }\r\n else {\r\n extended[prop] = extend(true, extended[prop], value);\r\n }\r\n }\r\n else {\r\n extended[prop] = value;\r\n }\r\n });\r\n }\r\n return extended;\r\n}\r\nexport var getTime = perfNow;\r\nexport function isValueKind(value) {\r\n // Always assume that it's a number (no type checking) for performance as this is used during the JSON serialization\r\n if (value === ValueKind.NotSet || ((value > ValueKind.NotSet && value <= ValueKind.Pii_IPV4AddressLegacy) || value === ValueKind.CustomerContent_GenericContent)) {\r\n return true;\r\n }\r\n return false;\r\n}\r\nfunction isDataType(value) {\r\n // Remark: 0 returns false, but it doesn't affect encoding anyways\r\n // Always assume that it's a number (no type checking) for performance as this is used during the JSON serialization\r\n if (value >= 0 && value <= 9) {\r\n return true;\r\n }\r\n return false;\r\n}\r\nfunction isSafariOrFirefox() {\r\n var nav = getNavigator();\r\n // If non-browser navigator will be undefined\r\n if (!isUndefined(nav) && nav.userAgent) {\r\n var ua = nav.userAgent.toLowerCase();\r\n if ((ua.indexOf(\"safari\") >= 0 || ua.indexOf(\"firefox\") >= 0) && ua.indexOf(\"chrome\") < 0) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n}\r\nexport function isArrayValid(value) {\r\n return value.length > 0;\r\n}\r\n/**\r\n * Listen to the pagehide and visibility changing to 'hidden' events\r\n * @param listener The event callback to call when a page hide event is triggered\r\n * @returns true - when at least one of the events was registered otherwise false\r\n */\r\nexport function addPageHideEventListener(listener) {\r\n function _handlePageVisibility(evt) {\r\n var doc = getDocument();\r\n if (listener && doc && doc.visibilityState === 'hidden') {\r\n listener(evt);\r\n }\r\n }\r\n var pageUnloadAdded = addEventHandler(\"pagehide\", listener);\r\n return addEventHandler(\"visibilitychange\", _handlePageVisibility) || pageUnloadAdded;\r\n}\r\n/**\r\n * Listen to the pageshow and visibility changing to 'visible' events\r\n * @param listener The event callback to call when a page is show event is triggered\r\n * @returns true - when at least one of the events was registered otherwise false\r\n */\r\nexport function addPageShowEventListener(listener) {\r\n function _handlePageVisibility(evt) {\r\n var doc = getDocument();\r\n if (listener && doc && doc.visibilityState === 'visible') {\r\n listener(evt);\r\n }\r\n }\r\n var pageUnloadAdded = addEventHandler(\"pageshow\", listener);\r\n return addEventHandler(\"visibilitychange\", _handlePageVisibility) || pageUnloadAdded;\r\n}\r\n/**\r\n * Listen to the 'beforeunload', 'unload' and 'pagehide' events which indicates a page unload is occurring,\r\n * this does NOT listen to the 'visibilitychange' event as while it does indicate that the page is being hidden\r\n * it does not *necessarily* mean that the page is being completely unloaded, it can mean that the user is\r\n * just navigating to a different Tab and may come back (without unloading the page). As such you may also\r\n * need to listen to the 'addPageHideEventListener' and 'addPageShowEventListener' events.\r\n * @param listener The event callback to call when a page unload event is triggered\r\n * @returns true - when at least one of the events was registered otherwise false\r\n */\r\nexport function addPageUnloadEventListener(listener) {\r\n // Hook the unload event for the document, window and body to ensure that the client events are flushed to the server\r\n // As just hooking the window does not always fire (on chrome) for page navigations.\r\n var pageUnloadAdded = addEventHandler(\"beforeunload\", listener);\r\n pageUnloadAdded = addEventHandler(\"unload\", listener) || pageUnloadAdded;\r\n return addEventHandler(\"pagehide\", listener) || pageUnloadAdded;\r\n}\r\nexport function setProcessTelemetryTimings(event, identifier) {\r\n var evt = event;\r\n evt.timings = evt.timings || {};\r\n evt.timings.processTelemetryStart = evt.timings.processTelemetryStart || {};\r\n evt.timings.processTelemetryStart[identifier] = getTime();\r\n}\r\n/**\r\n * Returns a bitwise value for the FieldValueSanitizerType enum representing the decoded type of the passed value\r\n * @param value The value to determine the type\r\n */\r\nexport function getFieldValueType(value) {\r\n var theType = 0 /* NotSet */;\r\n if (value !== null && value !== undefined) {\r\n var objType = typeof value;\r\n if (objType === \"string\") {\r\n theType = 1 /* String */;\r\n }\r\n else if (objType === \"number\") {\r\n theType = 2 /* Number */;\r\n }\r\n else if (objType === \"boolean\") {\r\n theType = 3 /* Boolean */;\r\n }\r\n else if (objType === strShimObject) {\r\n theType = 4 /* Object */;\r\n if (isArray(value)) {\r\n theType = 4096 /* Array */;\r\n if (value.length > 0) {\r\n // Empty arrays are not supported and are considered to be the same as null\r\n theType |= getFieldValueType(value[0]);\r\n }\r\n }\r\n else if (hasOwnProperty(value, \"value\")) {\r\n // Looks like an IEventProperty\r\n theType = 8192 /* EventProperty */ | getFieldValueType(value.value);\r\n }\r\n }\r\n }\r\n return theType;\r\n}\r\nexport var Utils = {\r\n Version: Version,\r\n FullVersionString: FullVersionString,\r\n strUndefined: strUndefined,\r\n strObject: strObject,\r\n Undefined: strUndefined,\r\n arrForEach: arrForEach,\r\n arrIndexOf: arrIndexOf,\r\n arrMap: arrMap,\r\n arrReduce: arrReduce,\r\n objKeys: objKeys,\r\n toISOString: toISOString,\r\n isReactNative: isReactNative,\r\n isString: isString,\r\n isNumber: isNumber,\r\n isBoolean: isBoolean,\r\n isFunction: isFunction,\r\n isArray: isArray,\r\n isObject: isObject,\r\n strTrim: strTrim,\r\n isDocumentObjectAvailable: isDocumentObjectAvailable,\r\n isWindowObjectAvailable: isWindowObjectAvailable,\r\n isValueAssigned: isValueAssigned,\r\n getTenantId: getTenantId,\r\n isBeaconsSupported: isBeaconsSupported,\r\n isUint8ArrayAvailable: isUint8ArrayAvailable,\r\n isLatency: isLatency,\r\n sanitizeProperty: sanitizeProperty,\r\n getISOString: toISOString,\r\n useXDomainRequest: useXDomainRequest,\r\n getCommonSchemaMetaData: getCommonSchemaMetaData,\r\n cookieAvailable: areCookiesSupported,\r\n disallowsSameSiteNone: uaDisallowsSameSiteNone,\r\n setCookie: setCookie,\r\n deleteCookie: deleteCookie,\r\n getCookie: getCookie,\r\n createGuid: createGuid,\r\n extend: extend,\r\n getTime: getTime,\r\n isValueKind: isValueKind,\r\n isArrayValid: isArrayValid,\r\n objDefineAccessors: objDefineAccessors,\r\n addPageUnloadEventListener: addPageUnloadEventListener,\r\n setProcessTelemetryTimings: setProcessTelemetryTimings,\r\n addEventHandler: addEventHandler,\r\n getFieldValueType: getFieldValueType,\r\n strEndsWith: strEndsWith,\r\n objForEachKey: objForEachKey\r\n};\r\n/**\r\n * Provides a collection of utility functions, included for backward compatibility with previous releases.\r\n * @deprecated Marking this instance as deprecated in favor of direct usage of the helper functions\r\n * as direct usage provides better tree-shaking and minification by avoiding the inclusion of the unused items\r\n * in your resulting code.\r\n * Overriding the applicationinsights-core version for tree-shaking\r\n */\r\nexport var CoreUtils = {\r\n _canUseCookies: undefined,\r\n isTypeof: isTypeof,\r\n isUndefined: isUndefined,\r\n isNullOrUndefined: isNullOrUndefined,\r\n hasOwnProperty: hasOwnProperty,\r\n isFunction: isFunction,\r\n isObject: isObject,\r\n isDate: isDate,\r\n isArray: isArray,\r\n isError: isError,\r\n isString: isString,\r\n isNumber: isNumber,\r\n isBoolean: isBoolean,\r\n toISOString: toISOString,\r\n arrForEach: arrForEach,\r\n arrIndexOf: arrIndexOf,\r\n arrMap: arrMap,\r\n arrReduce: arrReduce,\r\n strTrim: strTrim,\r\n objCreate: objCreateFn,\r\n objKeys: objKeys,\r\n objDefineAccessors: objDefineAccessors,\r\n addEventHandler: addEventHandler,\r\n dateNow: dateNow,\r\n isIE: isIE,\r\n disableCookies: disableCookies,\r\n newGuid: newGuid,\r\n perfNow: perfNow,\r\n newId: newId,\r\n randomValue: randomValue,\r\n random32: random32,\r\n mwcRandomSeed: mwcRandomSeed,\r\n mwcRandom32: mwcRandom32,\r\n generateW3CId: generateW3CId\r\n};\r\n/**\r\n * Helper to identify whether we are running in a chromium based browser environment\r\n */\r\nexport function isChromium() {\r\n return !!getGlobalInst(\"chrome\");\r\n}\r\n//# sourceMappingURL=Utils.js.map","/*\n * 1DS JS SDK Core, 3.1.6\n * Copyright (c) Microsoft and contributors. All rights reserved.\n * (Microsoft Internal Only)\n */\nimport { __extendsFn as __extends } from \"@microsoft/applicationinsights-shims\";\r\n/**\r\n * AppInsightsCore.ts\r\n * @author Abhilash Panwar (abpanwar) Hector Hernandez (hectorh)\r\n * @copyright Microsoft 2018\r\n */\r\nimport { AppInsightsCore as InternalCore, LoggingSeverity, doPerf, arrForEach } from \"@microsoft/applicationinsights-core-js\";\r\nimport { EventLatency, _ExtendedInternalMessageId } from \"./Enums\";\r\nimport { isLatency, FullVersionString, getTime } from \"./Utils\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nvar PropVersion = \"version\";\r\nvar properties = \"properties\";\r\nvar AppInsightsCore = /** @class */ (function (_super) {\r\n __extends(AppInsightsCore, _super);\r\n function AppInsightsCore() {\r\n var _this = _super.call(this) || this;\r\n _this.pluginVersionStringArr = [];\r\n _this.pluginVersionString = \"\";\r\n dynamicProto(AppInsightsCore, _this, function (_self, _base) {\r\n _self.initialize = function (config, extensions, logger, notificationManager) {\r\n doPerf(_self, function () { return \"AppInsightsCore.initialize\"; }, function () {\r\n // Add default collector url\r\n if (config) {\r\n if (!config.endpointUrl) {\r\n config.endpointUrl = \"https://browser.events.data.microsoft.com/OneCollector/1.0/\";\r\n }\r\n var propertyStorageOverride = config.propertyStorageOverride;\r\n // Validate property storage override\r\n if (propertyStorageOverride && (!propertyStorageOverride.getProperty || !propertyStorageOverride.setProperty)) {\r\n throw new Error(\"Invalid property storage override passed.\");\r\n }\r\n if (config.channels) {\r\n arrForEach(config.channels, function (channels) {\r\n if (channels) {\r\n arrForEach(channels, function (channel) {\r\n if (channel.identifier && channel.version) {\r\n var ver = channel.identifier + \"=\" + channel.version;\r\n _self.pluginVersionStringArr.push(ver);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n }\r\n _self.getWParam = function () {\r\n return typeof document !== \"undefined\" ? 0 : -1;\r\n };\r\n if (extensions) {\r\n arrForEach(extensions, function (ext) {\r\n if (ext && ext.identifier && ext.version) {\r\n var ver = ext.identifier + \"=\" + ext.version;\r\n _self.pluginVersionStringArr.push(ver);\r\n }\r\n });\r\n }\r\n _self.pluginVersionString = _self.pluginVersionStringArr.join(\";\");\r\n try {\r\n _base.initialize(config, extensions, logger, notificationManager);\r\n }\r\n catch (e) {\r\n _self.logger.throwInternal(LoggingSeverity.CRITICAL, _ExtendedInternalMessageId.ErrorProvidedChannels, \"Channels must be provided through config.channels only\");\r\n }\r\n _self.pollInternalLogs(\"InternalLog\");\r\n }, function () { return ({ config: config, extensions: extensions, logger: logger, notificationManager: notificationManager }); });\r\n };\r\n _self.track = function (item) {\r\n doPerf(_self, function () { return \"AppInsightsCore.track\"; }, function () {\r\n var telemetryItem = item;\r\n if (telemetryItem) {\r\n telemetryItem.timings = telemetryItem.timings || {};\r\n telemetryItem.timings.trackStart = getTime();\r\n if (!isLatency(telemetryItem.latency)) {\r\n telemetryItem.latency = EventLatency.Normal;\r\n }\r\n var itemExt = telemetryItem.ext = telemetryItem.ext || {};\r\n itemExt.sdk = itemExt.sdk || {};\r\n itemExt.sdk.ver = FullVersionString;\r\n var baseData = telemetryItem.baseData = telemetryItem.baseData || {};\r\n if (!baseData[properties]) {\r\n baseData[properties] = {};\r\n }\r\n var itemProperties = baseData[properties];\r\n if (!itemProperties[PropVersion]) {\r\n itemProperties[PropVersion] = \"\";\r\n }\r\n if (_self.pluginVersionString !== \"\") {\r\n itemProperties[PropVersion] = _self.pluginVersionString;\r\n }\r\n }\r\n _base.track(telemetryItem);\r\n }, function () { return ({ item: item }); }, !(item.sync));\r\n };\r\n });\r\n return _this;\r\n }\r\n// Removed Stub for AppInsightsCore.prototype.initialize.\r\n// Removed Stub for AppInsightsCore.prototype.track.\r\n return AppInsightsCore;\r\n}(InternalCore));\r\nexport default AppInsightsCore;\r\n//# sourceMappingURL=AppInsightsCore.js.map","/*\n * 1DS JS SDK Properties plugin, 3.1.6\n * Copyright (c) Microsoft and contributors. All rights reserved.\n * (Microsoft Internal Only)\n */\n/**\r\n* Application.ts\r\n* @author Hector Hernandez (hectorh)\r\n* @copyright Microsoft 2019\r\n*/\r\nimport { objDefineAccessors, getDocument, safeGetCookieMgr, getCookieValue } from \"@microsoft/1ds-core-js\";\r\nexport var defaultFlightIdNameSpaces = [\r\n \"AX\",\r\n \"EX\",\r\n \"SF\",\r\n \"CS\",\r\n \"CF\",\r\n \"CT\",\r\n \"CU\",\r\n \"DC\",\r\n \"DF\",\r\n \"H5\",\r\n \"HL\",\r\n \"WS\",\r\n \"WP\" // WINDOWSPHONE\r\n];\r\n/// Validate each flight id in appExpId against the app flight ID\r\n/// format and create a comma seperated appExpId with valid flight ids.Ignore invalid flight IDs< /summary>\r\n/// A list of comma seperated appExpId\r\n/// none\r\nfunction _validateAppExpId(appExpIdNew, flightIdNameSpaces) {\r\n if (flightIdNameSpaces === void 0) { flightIdNameSpaces = defaultFlightIdNameSpaces; }\r\n var appExpId = null;\r\n if (appExpIdNew) {\r\n var expIdArray = appExpIdNew.split(\",\");\r\n for (var i = 0; i < expIdArray.length; i++) {\r\n if (_isValidAppFlightId(expIdArray[i], flightIdNameSpaces)) {\r\n if (!appExpId) {\r\n appExpId = expIdArray[i];\r\n }\r\n else {\r\n appExpId += \",\" + expIdArray[i];\r\n }\r\n }\r\n else {\r\n // this._traceLogger.w('Unsupported flight id format for this app expId: ' + expIdArray[i]);\r\n }\r\n }\r\n }\r\n return appExpId;\r\n}\r\n/// Verify an expId against the CS2.1 spec\r\n/// expId to verify in string format\r\n/// true if expId is valid, false otherwise\r\nfunction _isValidAppFlightId(appFlightId, flightIdNameSpaces) {\r\n if (flightIdNameSpaces === void 0) { flightIdNameSpaces = defaultFlightIdNameSpaces; }\r\n if (!appFlightId || appFlightId.length < 4) {\r\n return false;\r\n }\r\n var isValid = false;\r\n var MAXFLIGHTIDLENGTH = 256;\r\n var curNameSpace = (appFlightId.substring(0, 3)).toString().toUpperCase();\r\n // The prefix check must include ':', else strings starting with prefixes will slip through\r\n for (var i = 0; i < flightIdNameSpaces.length; i++) {\r\n if (flightIdNameSpaces[i] + \":\" === curNameSpace && appFlightId.length <= MAXFLIGHTIDLENGTH) {\r\n isValid = true;\r\n break;\r\n }\r\n }\r\n return isValid;\r\n}\r\nvar Application = /** @class */ (function () {\r\n function Application(propertiesConfig, core) {\r\n this.core = core;\r\n this.appExpId = null;\r\n // Create a copy of the defaultNamespaces\r\n this.flightIdNameSpaces = defaultFlightIdNameSpaces.slice(0);\r\n this.expIdCookieName = \"Treatments\";\r\n this._cookieMgr = safeGetCookieMgr(core);\r\n this._propertiesConfig = propertiesConfig;\r\n var doc = getDocument();\r\n // Add app language\r\n if (doc) {\r\n var documentElement = doc.documentElement;\r\n if (doc) {\r\n this.locale = documentElement.lang;\r\n }\r\n }\r\n this.env = propertiesConfig.env ? propertiesConfig.env : this._getMetaDataFromDOM(\"awa-\")[\"env\"];\r\n }\r\n /**\r\n * The application experiment Id.\r\n */\r\n Application.prototype.getExpId = function () {\r\n return this._propertiesConfig.expId ? this._readExpIdFromCoreData(this._propertiesConfig.expId) : this._readExpIdFromCookie();\r\n };\r\n /**\r\n * Retrieve a specified metadata tag value from the DOM.\r\n * @param prefix - Prefix to search the metatags with.\r\n * @returns Metadata collection/property bag\r\n */\r\n Application.prototype._getMetaDataFromDOM = function (prefix) {\r\n var metaElements;\r\n var metaData = {};\r\n var doc = getDocument();\r\n if (doc) {\r\n metaElements = doc && doc.querySelectorAll(\"meta\");\r\n for (var i = 0; i < metaElements.length; i++) {\r\n var meta = metaElements[i];\r\n if (meta.name) {\r\n var mt = meta.name.toLowerCase();\r\n if (mt.indexOf(prefix) === 0) {\r\n var name = meta.name.replace(prefix, \"\");\r\n metaData[name] = meta.content;\r\n }\r\n }\r\n }\r\n }\r\n return metaData;\r\n };\r\n /// Validate each flight id in appExpId against the app flight ID\r\n /// format and create a comma seperated appExpId with valid flight ids.Ignore invalid flight IDs< /summary>\r\n /// A list of comma seperated appExpId\r\n /// none\r\n Application.prototype._setAppExpId = function (appExpIdNew) {\r\n if (appExpIdNew === this.appExpId) {\r\n return; // Nothing to do if seen before\r\n }\r\n // Reset to empty first. The new but invalid appExpId should not be logged and we cannot leave the old one hanging around\r\n // since it means old experiment id cannot represent the new experiment with an invalid appExpId.\r\n this.appExpId = _validateAppExpId(appExpIdNew, this.flightIdNameSpaces);\r\n };\r\n /// Get experiment ids based on flight ID string format.\r\n /// Comma seperated experiment ids\r\n Application.prototype._getAppExpId = function () {\r\n return this.appExpId;\r\n };\r\n Application.prototype._readExpIdFromCookie = function () {\r\n var cookieValue = getCookieValue(this._cookieMgr, this.expIdCookieName);\r\n this._setAppExpId(cookieValue);\r\n return this._getAppExpId();\r\n };\r\n Application.prototype._readExpIdFromCoreData = function (expId) {\r\n this._setAppExpId(expId);\r\n return this._getAppExpId();\r\n };\r\n /// Validate each flight id in appExpId against the app flight ID\r\n /// format and create a comma seperated appExpId with valid flight ids.Ignore invalid flight IDs< /summary>\r\n /// A list of comma seperated appExpId\r\n /// none\r\n /**\r\n * Validate each flight id in appExpId against the app flight ID format and create\r\n * a comma seperated appExpId with valid flight ids.Ignore invalid flight IDs\r\n * @param appExpId - The current experiment id\r\n * @param appExpIdNew - The new experiment id to set (if valid)\r\n * @param flightIdNameSpaces - The valid set of flight id names\r\n * @returns The validated experiment id,\r\n */\r\n Application.validateAppExpId = _validateAppExpId;\r\n /**\r\n * Static constructor, attempt to create accessors\r\n */\r\n Application._staticInit = (function () {\r\n // Dynamically create get/set property accessors\r\n objDefineAccessors(Application.prototype, \"expId\", Application.prototype.getExpId);\r\n })();\r\n return Application;\r\n}());\r\nexport { Application };\r\n//# sourceMappingURL=Application.js.map","/*\n * 1DS JS SDK Properties plugin, 3.1.6\n * Copyright (c) Microsoft and contributors. All rights reserved.\n * (Microsoft Internal Only)\n */\n/**\r\n* Cloud.ts\r\n* @author Hector Hernandez (hectorh)\r\n* @copyright Microsoft 2020\r\n*/\r\nvar Cloud = /** @class */ (function () {\r\n function Cloud() {\r\n }\r\n return Cloud;\r\n}());\r\nexport { Cloud };\r\n//# sourceMappingURL=Cloud.js.map","/*\n * 1DS JS SDK Properties plugin, 3.1.6\n * Copyright (c) Microsoft and contributors. All rights reserved.\n * (Microsoft Internal Only)\n */\n/**\r\n* User.ts\r\n* @author Hector Hernandez (hectorh)\r\n* @copyright Microsoft 2019\r\n*/\r\nimport { objDefineAccessors, newId, isUndefined, getISOString, safeGetCookieMgr, getCookieValue, } from \"@microsoft/1ds-core-js\";\r\nvar User = /** @class */ (function () {\r\n function User(coreConfig, propertiesConfig, core) {\r\n this.core = core;\r\n this._propertiesConfig = propertiesConfig;\r\n var cookieMgr = this._cookieMgr = safeGetCookieMgr(core, coreConfig);\r\n // Add MUID in user localId\r\n if (cookieMgr && cookieMgr.isEnabled()) {\r\n // Only add default local ID is hash or drop config are not enabled\r\n if (!this._propertiesConfig.hashIdentifiers && !this._propertiesConfig.dropIdentifiers) {\r\n var muidValue = getCookieValue(cookieMgr, \"MUID\");\r\n if (muidValue) {\r\n this.setLocalId(\"t:\" + muidValue);\r\n }\r\n }\r\n if (this._propertiesConfig.enableApplicationInsightsUser) {\r\n // get userId or create new one if none exists\r\n var aiUser = getCookieValue(cookieMgr, User.userCookieName);\r\n if (aiUser) {\r\n var params = aiUser.split(User.cookieSeparator);\r\n if (params.length > 0) {\r\n this.id = params[0];\r\n }\r\n }\r\n if (!this.id) {\r\n this.id = newId((coreConfig && !isUndefined(coreConfig.idLength)) ? coreConfig.idLength : 22);\r\n var date = new Date();\r\n var acqStr = getISOString(date);\r\n this.accountAcquisitionDate = acqStr;\r\n // without expiration, cookies expire at the end of the session\r\n // set it to 365 days from now\r\n // 365 * 24 * 60 * 60 * 1000 = 31536000\r\n var newCookie = [this.id, acqStr];\r\n var cookieDomain = this._propertiesConfig.cookieDomain ? this._propertiesConfig.cookieDomain : undefined;\r\n cookieMgr.set(User.userCookieName, newCookie.join(User.cookieSeparator), 31536000, cookieDomain);\r\n }\r\n }\r\n }\r\n // Add user language\r\n if (typeof navigator !== \"undefined\") {\r\n var nav = navigator;\r\n this.locale = nav.userLanguage || nav.language;\r\n }\r\n }\r\n /**\r\n * The userId as known by the logging library.\r\n */\r\n User.prototype.getLocalId = function () {\r\n if (this._customLocalId) {\r\n return this._customLocalId;\r\n }\r\n // Only add default local ID is hash or drop config are not enabled\r\n if (!this._propertiesConfig.hashIdentifiers && !this._propertiesConfig.dropIdentifiers) {\r\n var muidValue = getCookieValue(this._cookieMgr, \"MUID\");\r\n if (muidValue) {\r\n this.setLocalId(\"t:\" + muidValue);\r\n }\r\n }\r\n return undefined;\r\n };\r\n User.prototype.setLocalId = function (value) {\r\n this._customLocalId = value;\r\n };\r\n User.cookieSeparator = \"|\";\r\n User.userCookieName = \"ai_user\";\r\n /**\r\n * Static constructor, attempt to create accessors\r\n */\r\n User._staticInit = (function () {\r\n // Dynamically create get/set property accessors\r\n objDefineAccessors(User.prototype, \"localId\", User.prototype.getLocalId, User.prototype.setLocalId);\r\n })();\r\n return User;\r\n}());\r\nexport { User };\r\n//# sourceMappingURL=User.js.map","/*\n * 1DS JS SDK Properties plugin, 3.1.6\n * Copyright (c) Microsoft and contributors. All rights reserved.\n * (Microsoft Internal Only)\n */\n/**\r\n* Web.ts\r\n* @author Hector Hernandez (hectorh)\r\n* @copyright Microsoft 2019\r\n*/\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { objDefineAccessors, getWindow, getLocation, safeGetCookieMgr, getCookieValue, getNavigator, isArray } from \"@microsoft/1ds-core-js\";\r\nvar REGEX_VERSION = \"([\\\\d,.]+)\";\r\nvar UNKNOWN = \"Unknown\";\r\nvar EDGE_CHROMIUM = \"Edg/\";\r\n;\r\nvar USER_AGENTS = [\r\n { ua: \"OPR/\", b: \"Opera\" /* OPERA */ },\r\n { ua: \"PhantomJS\" /* PHANTOMJS */, b: \"PhantomJS\" /* PHANTOMJS */ },\r\n { ua: \"Edge\" /* EDGE */, b: \"Edge\" /* EDGE */ },\r\n { ua: EDGE_CHROMIUM, b: \"Edge\" /* EDGE */ },\r\n { ua: \"Electron\" /* ELECTRON */, b: \"Electron\" /* ELECTRON */ },\r\n { ua: \"Chrome\" /* CHROME */, b: \"Chrome\" /* CHROME */ },\r\n { ua: \"Trident\", b: \"MSIE\" /* MSIE */ },\r\n { ua: \"MSIE \", b: \"MSIE\" /* MSIE */ },\r\n { ua: \"Firefox\" /* FIREFOX */, b: \"Firefox\" /* FIREFOX */ },\r\n { ua: \"Safari\" /* SAFARI */, b: \"Safari\" /* SAFARI */ },\r\n { ua: \"SkypeShell\" /* SKYPE_SHELL */, b: \"SkypeShell\" /* SKYPE_SHELL */ } // Check for Skype shell\r\n];\r\nvar BRANDS = [\r\n { br: \"Microsoft Edge\", b: \"Edge\" /* EDGE */ },\r\n { br: \"Google Chrome\", b: \"Chrome\" /* CHROME */ },\r\n { br: \"Opera\", b: \"Opera\" /* OPERA */ }\r\n];\r\nfunction _userAgentContainsString(searchString, userAgent) {\r\n return userAgent.indexOf(searchString) > -1;\r\n}\r\nfunction _getBrandVersion(match, brands) {\r\n for (var lp = 0; lp < brands.length; lp++) {\r\n if (match == brands[lp].brand) {\r\n return brands[lp].version;\r\n }\r\n }\r\n return null;\r\n}\r\nfunction _getBrowserName(userAgent) {\r\n if (userAgent) {\r\n for (var lp = 0; lp < USER_AGENTS.length; lp++) {\r\n var ua = USER_AGENTS[lp].ua;\r\n if (_userAgentContainsString(ua, userAgent)) {\r\n return USER_AGENTS[lp].b;\r\n }\r\n }\r\n }\r\n return UNKNOWN;\r\n}\r\nfunction _getBrowserVersion(userAgent, browserName) {\r\n if (browserName === \"MSIE\" /* MSIE */) {\r\n return _getIeVersion(userAgent);\r\n }\r\n return _getOtherVersion(browserName, userAgent);\r\n}\r\nfunction _getIeVersion(userAgent) {\r\n var classicIeVersionMatches = userAgent.match(new RegExp(\"MSIE\" /* MSIE */ + \" \" + REGEX_VERSION));\r\n if (classicIeVersionMatches) {\r\n return classicIeVersionMatches[1];\r\n }\r\n var ieVersionMatches = userAgent.match(new RegExp(\"rv:\" + REGEX_VERSION));\r\n if (ieVersionMatches) {\r\n return ieVersionMatches[1];\r\n }\r\n}\r\nfunction _getOtherVersion(browserString, userAgent) {\r\n if (browserString === \"Safari\" /* SAFARI */) {\r\n browserString = \"Version\";\r\n }\r\n else if (browserString === \"Edge\" /* EDGE */) {\r\n if (_userAgentContainsString(EDGE_CHROMIUM, userAgent)) {\r\n browserString = \"Edg\";\r\n }\r\n }\r\n var matches = userAgent.match(new RegExp(browserString + \"/\" + REGEX_VERSION));\r\n if (matches) {\r\n return matches[1];\r\n }\r\n if (browserString === \"Opera\" /* OPERA */) {\r\n matches = userAgent.match(new RegExp(\"OPR/\" + REGEX_VERSION));\r\n if (matches) {\r\n return matches[1];\r\n }\r\n }\r\n return UNKNOWN;\r\n}\r\n/**\r\n* Get Screen resolution\r\n* @returns {ScreenResolution} - Screen resolution\r\n*/\r\nfunction _getScreenResolution() {\r\n var screenRes = { h: 0, w: 0 };\r\n var win = getWindow();\r\n if (win && win.screen) {\r\n screenRes.h = screen.height;\r\n screenRes.w = screen.width;\r\n }\r\n return screenRes;\r\n}\r\nvar Web = /** @class */ (function () {\r\n function Web(propertiesConfig, core) {\r\n var _cookieMgr = safeGetCookieMgr(core);\r\n var _propertiesConfig = propertiesConfig || {};\r\n dynamicProto(Web, this, function (_self) {\r\n // Add the domain\r\n var windowLocation = getLocation();\r\n if (windowLocation) {\r\n var domain = windowLocation.hostname;\r\n if (domain) {\r\n _self.domain = windowLocation.protocol === \"file:\" ? \"local\" : domain;\r\n }\r\n }\r\n if (_propertiesConfig.populateBrowserInfo) {\r\n var userAgent = _propertiesConfig.userAgent;\r\n var userAgentBrands = (_propertiesConfig.userAgentData || {}).brands;\r\n var theNav = getNavigator();\r\n if (theNav) {\r\n userAgent = userAgent || theNav.userAgent || \"\";\r\n userAgentBrands = userAgentBrands || (theNav.userAgentData || {}).brands;\r\n }\r\n _parseUserAgent(userAgent, userAgentBrands);\r\n var screenRes = _getScreenResolution();\r\n _self.screenRes = screenRes.w + \"X\" + screenRes.h;\r\n }\r\n _self.getUserConsent = function () {\r\n return _propertiesConfig.userConsented || (getCookieValue(_cookieMgr, _propertiesConfig.userConsentCookieName || \"MSCC\") ? true : false);\r\n };\r\n /**\r\n *\r\n ** Function to retrieve user consent details.\r\n * @param callback - Callback function to get user consent details\r\n * @returns IUserContentDetails stringified object\r\n */\r\n _self.getUserConsentDetails = function () {\r\n try {\r\n var callback = _propertiesConfig.callback;\r\n if (callback && callback.userConsentDetails) {\r\n var result = callback.userConsentDetails();\r\n if (result) {\r\n return JSON.stringify({\r\n Required: result.Required || false,\r\n Analytics: result.Analytics || false,\r\n SocialMedia: result.SocialMedia || false,\r\n Advertising: result.Advertising || false\r\n });\r\n }\r\n }\r\n }\r\n catch (e) {\r\n // Unexpected - Just making sure we don't crash\r\n }\r\n return null;\r\n };\r\n function _parseUserAgent(userAgent, userAgentBrands) {\r\n if (isArray(userAgentBrands)) {\r\n try {\r\n // Go through the ordered list of \"known\" brands and use the first matching value\r\n for (var lp = 0; lp < BRANDS.length; lp++) {\r\n var version = _getBrandVersion(BRANDS[lp].br, userAgentBrands);\r\n if (version) {\r\n _self.browser = BRANDS[lp].b;\r\n _self.browserVer = version;\r\n return;\r\n }\r\n }\r\n }\r\n catch (e) {\r\n // Unexpected - Just making sure we don't crash\r\n }\r\n }\r\n if (userAgent) {\r\n var browserName = _getBrowserName(userAgent);\r\n _self.browser = browserName;\r\n _self.browserVer = _getBrowserVersion(userAgent, browserName);\r\n }\r\n }\r\n // Remap this get userContext for this instance\r\n objDefineAccessors(_self, \"userConsent\", _self.getUserConsent);\r\n });\r\n }\r\n// Removed Stub for Web.prototype.getUserConsent.\r\n// Removed Stub for Web.prototype.getUserConsentDetails.\r\n /**\r\n * Static constructor, attempt to create accessors\r\n */\r\n Web._staticInit = (function () {\r\n // Dynamically create get/set property accessors\r\n objDefineAccessors(Web.prototype, \"userConsent\", Web.prototype.getUserConsent);\r\n })();\r\n return Web;\r\n}());\r\nexport { Web };\r\n//# sourceMappingURL=Web.js.map","/*\n * 1DS JS SDK Properties plugin, 3.1.6\n * Copyright (c) Microsoft and contributors. All rights reserved.\n * (Microsoft Internal Only)\n */\n/**\r\n* OperatingSystem.ts\r\n* @author Hector Hernandez (hectorh)\r\n* @copyright Microsoft 2019\r\n*/\r\nimport { getNavigator, isString } from \"@microsoft/1ds-core-js\";\r\n;\r\nvar OSNAMEREGEX = {\r\n WIN: /(windows|win32)/i,\r\n WINRT: / arm;/i,\r\n WINPHONE: /windows\\sphone\\s\\d+\\.\\d+/i,\r\n OSX: /(macintosh|mac os x)/i,\r\n IOS: /(ipad|iphone|ipod)(?=.*like mac os x)/i,\r\n LINUX: /(linux|joli|[kxln]?ubuntu|debian|[open]*suse|gentoo|arch|slackware|fedora|mandriva|centos|pclinuxos|redhat|zenwalk)/i,\r\n ANDROID: /android/i,\r\n CROS: /CrOS/i\r\n};\r\nvar VERSION_MAPPINGS = {\r\n \"5.1\": \"XP\",\r\n \"6.0\": \"Vista\",\r\n \"6.1\": \"7\",\r\n \"6.2\": \"8\",\r\n \"6.3\": \"8.1\",\r\n \"10.0\": \"10\"\r\n};\r\nvar REGEX_VERSION = \"([\\\\d,.]+)\";\r\nvar REGEX_VERSION_MAC = \"([\\\\d,_,.]+)\";\r\nvar UNKNOWN = \"Unknown\";\r\nvar OSNAMES = [\r\n { r: OSNAMEREGEX.WINPHONE, os: \"Windows Phone\" },\r\n { r: OSNAMEREGEX.WINRT, os: \"Windows RT\" },\r\n { r: OSNAMEREGEX.WIN, os: \"Windows\" /* WINDOWS */ },\r\n { r: OSNAMEREGEX.IOS, os: \"iOS\" /* IOS */ },\r\n { r: OSNAMEREGEX.ANDROID, os: \"Android\" /* ANDROID */ },\r\n { r: OSNAMEREGEX.LINUX, os: \"Linux\" },\r\n { r: OSNAMEREGEX.CROS, os: \"Chrome OS\" },\r\n { s: \"x11\", os: \"Unix\" },\r\n { s: \"blackberry\", os: \"BlackBerry\" },\r\n { s: \"symbian\", os: \"Symbian\" },\r\n { s: \"nokia\", os: \"Nokia\" },\r\n { r: OSNAMEREGEX.OSX, os: \"Mac OS X\" /* MACOSX */ }\r\n];\r\nfunction _getOsName(lowerCaseUserAgent) {\r\n for (var lp = 0; lp < OSNAMES.length; lp++) {\r\n var match = OSNAMES[lp];\r\n if (match.r && lowerCaseUserAgent.match(match.r)) {\r\n return match.os;\r\n }\r\n else if (match.s && lowerCaseUserAgent.indexOf(match.s) !== -1) {\r\n return match.os;\r\n }\r\n }\r\n return UNKNOWN;\r\n}\r\nfunction _getOsVersion(userAgent, osName) {\r\n if (osName === \"Windows\" /* WINDOWS */) {\r\n return _getGenericOsVersion(userAgent, \"Windows NT\");\r\n }\r\n if (osName === \"Android\" /* ANDROID */) {\r\n return _getGenericOsVersion(userAgent, osName);\r\n }\r\n if (osName === \"Mac OS X\" /* MACOSX */) {\r\n return _getMacOsxVersion(userAgent);\r\n }\r\n if (osName === \"iOS\" /* IOS */) {\r\n return _getIosVersion(userAgent);\r\n }\r\n return UNKNOWN;\r\n}\r\nfunction _getGenericOsVersion(userAgent, osName) {\r\n var ntVersionMatches = userAgent.match(new RegExp(osName + \" \" + REGEX_VERSION));\r\n if (ntVersionMatches) {\r\n if (VERSION_MAPPINGS[ntVersionMatches[1]]) {\r\n return VERSION_MAPPINGS[ntVersionMatches[1]];\r\n }\r\n return ntVersionMatches[1];\r\n }\r\n return UNKNOWN;\r\n}\r\nfunction _getMacOsxVersion(userAgent) {\r\n var macOsxVersionInUserAgentMatches = userAgent.match(new RegExp(\"Mac OS X\" /* MACOSX */ + \" \" + REGEX_VERSION_MAC));\r\n if (macOsxVersionInUserAgentMatches) {\r\n var versionString = macOsxVersionInUserAgentMatches[1].replace(/_/g, \".\");\r\n if (versionString) {\r\n var delimiter = _getDelimiter(versionString);\r\n if (delimiter) {\r\n var components = versionString.split(delimiter);\r\n return components[0];\r\n }\r\n else {\r\n return versionString;\r\n }\r\n }\r\n }\r\n return UNKNOWN;\r\n}\r\nfunction _getIosVersion(userAgent) {\r\n var iosVersionInUserAgentMatches = userAgent.match(new RegExp(\"OS \" + REGEX_VERSION_MAC));\r\n if (iosVersionInUserAgentMatches) {\r\n var versionString = iosVersionInUserAgentMatches[1].replace(/_/g, \".\");\r\n if (versionString) {\r\n var delimiter = _getDelimiter(versionString);\r\n if (delimiter) {\r\n var components = versionString.split(delimiter);\r\n return components[0];\r\n }\r\n else {\r\n return versionString;\r\n }\r\n }\r\n }\r\n return UNKNOWN;\r\n}\r\nfunction _getDelimiter(versionString) {\r\n if (versionString.indexOf(\".\") > -1) {\r\n return \".\";\r\n }\r\n if (versionString.indexOf(\"_\") > -1) {\r\n return \"_\";\r\n }\r\n return null;\r\n}\r\nvar OperatingSystem = /** @class */ (function () {\r\n function OperatingSystem(propertiesConfig) {\r\n if (propertiesConfig.populateOperatingSystemInfo) {\r\n var theNav = getNavigator() || {};\r\n var userAgent = propertiesConfig.userAgent || theNav.userAgent || \"\";\r\n var userAgentData = propertiesConfig.userAgentData || theNav.userAgentData || {};\r\n if (userAgent) {\r\n var osName = _getOsName(userAgent.toLowerCase());\r\n this.name = osName;\r\n this.ver = _getOsVersion(userAgent, osName);\r\n }\r\n if ((!this.name || this.name === UNKNOWN) && isString(userAgentData.platform)) {\r\n this.name = userAgentData.platform;\r\n }\r\n }\r\n }\r\n return OperatingSystem;\r\n}());\r\nexport { OperatingSystem };\r\n//# sourceMappingURL=OperatingSystem.js.map","/*\n * 1DS JS SDK Properties plugin, 3.1.6\n * Copyright (c) Microsoft and contributors. All rights reserved.\n * (Microsoft Internal Only)\n */\n/**\r\n* IntWeb.ts\r\n* @author Hector Hernandez (hectorh)\r\n* @copyright Microsoft 2019\r\n*/\r\nimport { safeGetCookieMgr, objDefineAccessors, getCookieValue } from \"@microsoft/1ds-core-js\";\r\nvar IntWeb = /** @class */ (function () {\r\n function IntWeb(propertiesConfig, core) {\r\n this.core = core;\r\n if (propertiesConfig.serviceName) {\r\n this.serviceName = propertiesConfig.serviceName;\r\n }\r\n this._cookieMgr = safeGetCookieMgr(core);\r\n }\r\n /**\r\n * Anonymous visitor Id in hosting domain.\r\n */\r\n IntWeb.prototype.getMsfpc = function () {\r\n return getCookieValue(this._cookieMgr, \"MSFPC\");\r\n }; /**\r\n * ANON - MSA Anonymous ID.\r\n */\r\n IntWeb.prototype.getAnid = function () {\r\n return getCookieValue(this._cookieMgr, \"ANON\").slice(0, 34);\r\n };\r\n /**\r\n * Static constructor, attempt to create accessors\r\n */\r\n IntWeb._staticInit = (function () {\r\n // Dynamically create get/set property accessors\r\n objDefineAccessors(IntWeb.prototype, \"msfpc\", IntWeb.prototype.getMsfpc);\r\n objDefineAccessors(IntWeb.prototype, \"anid\", IntWeb.prototype.getAnid);\r\n })();\r\n return IntWeb;\r\n}());\r\nexport { IntWeb };\r\n//# sourceMappingURL=IntWeb.js.map","/*\n * 1DS JS SDK Properties plugin, 3.1.6\n * Copyright (c) Microsoft and contributors. All rights reserved.\n * (Microsoft Internal Only)\n */\n/**\r\n* Utc.ts\r\n* @author Hector Hernandez (hectorh)\r\n* @copyright Microsoft 2019\r\n*/\r\nexport var HASH_IDENTIFIERS_FLAG = 0x100000;\r\nexport var DROP_IDENTIFIERS_FLAG = 0x200000;\r\nvar Utc = /** @class */ (function () {\r\n function Utc(propertiesConfig) {\r\n this.popSample = 100;\r\n this.eventFlags = 0;\r\n if (propertiesConfig.hashIdentifiers) {\r\n this.eventFlags = this.eventFlags | HASH_IDENTIFIERS_FLAG;\r\n }\r\n if (propertiesConfig.dropIdentifiers) {\r\n this.eventFlags = this.eventFlags | DROP_IDENTIFIERS_FLAG;\r\n }\r\n }\r\n return Utc;\r\n}());\r\nexport { Utc };\r\n//# sourceMappingURL=Utc.js.map","/*\n * 1DS JS SDK Properties plugin, 3.1.6\n * Copyright (c) Microsoft and contributors. All rights reserved.\n * (Microsoft Internal Only)\n */\n/**\r\n* Loc.ts\r\n* @author Hector Hernandez (hectorh)\r\n* @copyright Microsoft 2019\r\n*/\r\nvar Loc = /** @class */ (function () {\r\n function Loc() {\r\n // Add time zone\r\n var timeZone = new Date().getTimezoneOffset();\r\n var minutes = timeZone % 60;\r\n var hours = (timeZone - minutes) / 60;\r\n var timeZonePrefix = \"+\";\r\n if (hours > 0) {\r\n timeZonePrefix = \"-\";\r\n }\r\n hours = Math.abs(hours);\r\n minutes = Math.abs(minutes);\r\n this.tz = timeZonePrefix + (hours < 10 ? \"0\" + hours : hours.toString()) + \":\"\r\n + (minutes < 10 ? \"0\" + minutes : minutes.toString());\r\n }\r\n return Loc;\r\n}());\r\nexport { Loc };\r\n//# sourceMappingURL=Loc.js.map","/*\n * 1DS JS SDK Properties plugin, 3.1.6\n * Copyright (c) Microsoft and contributors. All rights reserved.\n * (Microsoft Internal Only)\n */\n/**\r\n* Device.ts\r\n* @author Hector Hernandez (hectorh)\r\n* @copyright Microsoft 2019\r\n*/\r\nvar Device = /** @class */ (function () {\r\n function Device() {\r\n }\r\n return Device;\r\n}());\r\nexport { Device };\r\n//# sourceMappingURL=Device.js.map","/*\n * 1DS JS SDK Properties plugin, 3.1.6\n * Copyright (c) Microsoft and contributors. All rights reserved.\n * (Microsoft Internal Only)\n */\n// import { SessionManager } from '@microsoft/applicationinsights-properties-js';\r\nimport { isString, objDefineAccessors } from \"@microsoft/1ds-core-js\";\r\nvar Session = /** @class */ (function () {\r\n function Session() {\r\n }\r\n Session.prototype.setId = function (id) {\r\n this.customId = id;\r\n };\r\n Session.prototype.getId = function () {\r\n if (isString(this.customId)) {\r\n return this.customId;\r\n }\r\n else {\r\n return this.automaticId;\r\n }\r\n };\r\n /**\r\n * Static constructor, attempt to create accessors\r\n */\r\n Session._staticInit = (function () {\r\n // Dynamically create get/set property accessors\r\n objDefineAccessors(Session.prototype, \"id\", Session.prototype.getId, Session.prototype.setId);\r\n })();\r\n return Session;\r\n}());\r\nexport { Session };\r\n//# sourceMappingURL=Session.js.map","/*\n * 1DS JS SDK Properties plugin, 3.1.6\n * Copyright (c) Microsoft and contributors. All rights reserved.\n * (Microsoft Internal Only)\n */\n/**\r\n* AITrace.ts\r\n* @author Hector Hernandez (hectorh)\r\n* @copyright Microsoft 2019\r\n*/\r\nimport { getLocation, generateW3CId } from \"@microsoft/1ds-core-js\";\r\nvar Trace = /** @class */ (function () {\r\n function Trace(propertiesConfig, id, parentId, name) {\r\n if (propertiesConfig.enableApplicationInsightsTrace) {\r\n this.traceId = id || generateW3CId();\r\n this.parentId = parentId;\r\n this.name = name;\r\n var loc = getLocation();\r\n if (loc && loc.pathname) {\r\n this.name = loc.pathname;\r\n }\r\n }\r\n }\r\n return Trace;\r\n}());\r\nexport { Trace };\r\n//# sourceMappingURL=Trace.js.map","/*\n * 1DS JS SDK Properties plugin, 3.1.6\n * Copyright (c) Microsoft and contributors. All rights reserved.\n * (Microsoft Internal Only)\n */\n/**\r\n* TelemetryContext.ts\r\n* @author Hector Hernandez (hectorh)\r\n* @copyright Microsoft 2019\r\n*/\r\nimport { objFreeze } from \"@microsoft/applicationinsights-core-js\";\r\nexport var AppExtensionKeys = objFreeze({\r\n id: \"id\",\r\n ver: \"ver\",\r\n appName: \"name\",\r\n locale: \"locale\",\r\n expId: \"expId\",\r\n env: \"env\"\r\n});\r\nexport var WebExtensionKeys = objFreeze({\r\n domain: \"domain\",\r\n browser: \"browser\",\r\n browserVer: \"browserVer\",\r\n screenRes: \"screenRes\",\r\n userConsent: \"userConsent\",\r\n consentDetails: \"consentDetails\"\r\n});\r\nexport var UserExtensionKeys = objFreeze({\r\n locale: \"locale\",\r\n localId: \"localId\",\r\n id: \"id\"\r\n});\r\nexport var OSExtKeys = objFreeze({\r\n osName: \"name\",\r\n ver: \"ver\"\r\n});\r\nexport var SDKExtKeys = objFreeze({\r\n ver: \"ver\",\r\n seq: \"seq\",\r\n installId: \"installId\",\r\n epoch: \"epoch\"\r\n});\r\nexport var IntWebExtKeys = objFreeze({\r\n msfpc: \"msfpc\",\r\n anid: \"anid\",\r\n serviceName: \"serviceName\"\r\n});\r\nexport var UtcExtKeys = objFreeze({\r\n popSample: \"popSample\",\r\n eventFlags: \"eventFlags\"\r\n});\r\nexport var LocExtKeys = objFreeze({\r\n tz: \"tz\"\r\n});\r\nexport var SessionExtKeys = objFreeze({\r\n sessionId: \"sesId\"\r\n});\r\nexport var DeviceExtKeys = objFreeze({\r\n localId: \"localId\",\r\n deviceClass: \"deviceClass\",\r\n make: \"make\",\r\n model: \"model\"\r\n});\r\nexport var CloudExtKeys = objFreeze({\r\n role: \"role\",\r\n roleInstance: \"roleInstance\",\r\n roleVer: \"roleVer\"\r\n});\r\nexport var TraceExtKeys = objFreeze({\r\n traceId: \"traceID\",\r\n traceName: \"name\",\r\n parentId: \"parentID\"\r\n});\r\n//# sourceMappingURL=ExtensionKeys.js.map","/*\n * 1DS JS SDK Properties plugin, 3.1.6\n * Copyright (c) Microsoft and contributors. All rights reserved.\n * (Microsoft Internal Only)\n */\n/**\r\n* Extensions.ts\r\n* @author Hector Hernandez (hectorh)\r\n* @copyright Microsoft 2019\r\n*/\r\nimport { objFreeze } from \"@microsoft/applicationinsights-core-js\";\r\nexport var Extensions = objFreeze({\r\n UserExt: \"user\",\r\n DeviceExt: \"device\",\r\n TraceExt: \"trace\",\r\n WebExt: \"web\",\r\n AppExt: \"app\",\r\n OSExt: \"os\",\r\n SdkExt: \"sdk\",\r\n IntWebExt: \"intweb\",\r\n UtcExt: \"utc\",\r\n LocExt: \"loc\",\r\n CloudExt: \"cloud\"\r\n});\r\n//# sourceMappingURL=Extensions.js.map","/*\n * 1DS JS SDK Properties plugin, 3.1.6\n * Copyright (c) Microsoft and contributors. All rights reserved.\n * (Microsoft Internal Only)\n */\n/**\r\n* Sdk.ts\r\n* @author Hector Hernandez (hectorh)\r\n* @copyright Microsoft 2019\r\n*/\r\nimport { newGuid, safeGetCookieMgr, getCookieValue, random32 } from \"@microsoft/1ds-core-js\";\r\nvar DEVICE_ID_COOKIE = \"MicrosoftApplicationsTelemetryDeviceId\";\r\nfunction _saveData(mgr, propertyStorage, name, value) {\r\n if (propertyStorage) {\r\n propertyStorage.setProperty(name, value);\r\n }\r\n else {\r\n // Expires in 365 days (365 * 24 * 60 * 60)\r\n mgr.set(name, value, 31536000);\r\n }\r\n}\r\nfunction _getData(mgr, propertyStorage, name) {\r\n if (propertyStorage) {\r\n return propertyStorage.getProperty(name) || \"\";\r\n }\r\n return getCookieValue(mgr, name);\r\n}\r\nvar Sdk = /** @class */ (function () {\r\n function Sdk(coreConfig, core) {\r\n this._sequenceId = 0;\r\n var propertyStorage = coreConfig.propertyStorageOverride;\r\n // Start sequence\r\n this.seq = this._sequenceId;\r\n this.epoch = random32(false).toString();\r\n var mgr = safeGetCookieMgr(core, coreConfig);\r\n if (mgr.isEnabled() || propertyStorage) {\r\n // Only collect device id if it can be stored\r\n var deviceId = _getData(mgr, propertyStorage, DEVICE_ID_COOKIE);\r\n if (!deviceId) {\r\n deviceId = newGuid();\r\n }\r\n _saveData(mgr, propertyStorage, DEVICE_ID_COOKIE, deviceId);\r\n this.installId = deviceId;\r\n }\r\n else {\r\n mgr.purge(DEVICE_ID_COOKIE);\r\n }\r\n }\r\n // Get seq value\r\n Sdk.prototype.getSequenceId = function () {\r\n return ++this._sequenceId;\r\n };\r\n return Sdk;\r\n}());\r\nexport { Sdk };\r\n//# sourceMappingURL=Sdk.js.map","/*\n * 1DS JS SDK Properties plugin, 3.1.6\n * Copyright (c) Microsoft and contributors. All rights reserved.\n * (Microsoft Internal Only)\n */\n/**\r\n* Utils.ts\r\n* @author Abhilash Panwar (abpanwar) Hector Hernandez (hectorh)\r\n* @copyright Microsoft 2018\r\n* File containing utility functions.\r\n*/\r\nimport { LoggingSeverity, _ExtendedInternalMessageId, getGlobal, isFunction } from \"@microsoft/1ds-core-js\";\r\nvar _canUseLocalStorage;\r\n/**\r\n* Type of storage to differentiate between local storage and session storage\r\n*/\r\nexport var StorageType;\r\n(function (StorageType) {\r\n StorageType[StorageType[\"LocalStorage\"] = 0] = \"LocalStorage\";\r\n StorageType[StorageType[\"SessionStorage\"] = 1] = \"SessionStorage\";\r\n})(StorageType || (StorageType = {}));\r\n/**\r\n * Check if the browser supports local storage.\r\n *\r\n * @returns {boolean} True if local storage is supported.\r\n */\r\nexport function canUseLocalStorage() {\r\n if (_canUseLocalStorage === undefined) {\r\n _canUseLocalStorage = !!_getVerifiedStorageObject(StorageType.LocalStorage);\r\n }\r\n return _canUseLocalStorage;\r\n}\r\n/**\r\n* Gets the localStorage object if available\r\n* @returns Returns the storage object if available else returns null\r\n*/\r\nfunction _getLocalStorageObject() {\r\n if (canUseLocalStorage()) {\r\n return _getVerifiedStorageObject(StorageType.LocalStorage);\r\n }\r\n return null;\r\n}\r\n/**\r\n * Tests storage object (localStorage or sessionStorage) to verify that it is usable\r\n * More details here: https://mathiasbynens.be/notes/localstorage-pattern\r\n * @param storageType - Type of storage\r\n * @returns Returns storage object verified that it is usable\r\n */\r\nfunction _getVerifiedStorageObject(storageType) {\r\n var storage = null;\r\n var fail;\r\n var uid;\r\n try {\r\n var global_1 = getGlobal();\r\n if (!global_1) {\r\n return null;\r\n }\r\n uid = new Date();\r\n storage = storageType === StorageType.LocalStorage ? global_1.localStorage : global_1.sessionStorage;\r\n if (storage && isFunction(storage.setItem)) {\r\n storage.setItem(uid, uid);\r\n fail = storage.getItem(uid) !== uid;\r\n storage.removeItem(uid);\r\n if (fail) {\r\n storage = null;\r\n }\r\n }\r\n }\r\n catch (exception) {\r\n storage = null;\r\n }\r\n return storage;\r\n}\r\n/**\r\n * Set the contents of an object in the browser's local storage\r\n *\r\n * @param name - the name of the object to set in storage\r\n * @param data - the contents of the object to set in storage\r\n * @returns True if the storage object could be written.\r\n */\r\nexport function setStorage(logger, name, data) {\r\n var storage = _getLocalStorageObject();\r\n if (storage !== null) {\r\n try {\r\n storage.setItem(name, data);\r\n return true;\r\n }\r\n catch (e) {\r\n _canUseLocalStorage = false;\r\n logger.throwInternal(LoggingSeverity.CRITICAL, _ExtendedInternalMessageId.BrowserCannotWriteLocalStorage, \"Browser failed write to local storage. \" + e);\r\n }\r\n }\r\n return false;\r\n}\r\n/**\r\n * Get an object from the browser's local storage\r\n *\r\n * @param name - the name of the object to get from storage\r\n * @returns The contents of the storage object with the given name. Null if storage is not supported.\r\n */\r\nexport function getStorage(logger, name) {\r\n var storage = _getLocalStorageObject();\r\n if (storage !== null) {\r\n try {\r\n return storage.getItem(name);\r\n }\r\n catch (e) {\r\n _canUseLocalStorage = false;\r\n logger.throwInternal(LoggingSeverity.CRITICAL, _ExtendedInternalMessageId.BrowserCannotReadLocalStorage, \"Browser failed read of local storage. \" + e);\r\n }\r\n }\r\n return null;\r\n}\r\n//# sourceMappingURL=Utils.js.map","/*\n * 1DS JS SDK Properties plugin, 3.1.6\n * Copyright (c) Microsoft and contributors. All rights reserved.\n * (Microsoft Internal Only)\n */\n/**\r\n* SessionManager.ts\r\n* @author Hector Hernandez (hectorh)\r\n* @copyright Microsoft 2019\r\n*/\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { getCookie, LoggingSeverity, _ExtendedInternalMessageId, createGuid, isFunction, isUndefined, isBoolean, newId, safeGetCookieMgr, safeGetLogger, } from \"@microsoft/1ds-core-js\";\r\nimport { Session } from \"./context/Session\";\r\nimport { canUseLocalStorage, getStorage, setStorage } from \"./Utils\";\r\nvar SessionManager = /** @class */ (function () {\r\n function SessionManager(core, propConfig) {\r\n var _cookieUpdatedTimestamp;\r\n var _logger = safeGetLogger(core);\r\n var cookieMgr = safeGetCookieMgr(core);\r\n var _storageNamePrefix;\r\n dynamicProto(SessionManager, this, function (_self) {\r\n var functionalConfig = getDefaultConfig(propConfig);\r\n if (!isFunction(propConfig.sessionExpirationMs)) {\r\n functionalConfig.sessionExpirationMs = function () { return SessionManager.acquisitionSpan; };\r\n }\r\n if (!isFunction(propConfig.sessionRenewalMs)) {\r\n functionalConfig.sessionRenewalMs = function () { return SessionManager.renewalSpan; };\r\n }\r\n _self.config = functionalConfig;\r\n _storageNamePrefix = function () { return _self.config.namePrefix && _self.config.namePrefix() ? SessionManager.cookieNameConst + _self.config.namePrefix() : SessionManager.cookieNameConst; };\r\n _self.automaticSession = new Session();\r\n _self.update = function () {\r\n if (!_self.automaticSession.getId()) {\r\n _initializeAutomaticSession();\r\n }\r\n var autoSession = _self.automaticSession;\r\n var config = _self.config;\r\n var now = new Date().getTime();\r\n var acquisitionExpired = now - autoSession.acquisitionDate > config.sessionExpirationMs();\r\n var renewalExpired = now - autoSession.renewalDate > config.sessionRenewalMs();\r\n // renew if acquisitionSpan or renewalSpan has ellapsed\r\n if (acquisitionExpired || renewalExpired) {\r\n // update automaticSession so session state has correct id\r\n _renew();\r\n }\r\n else {\r\n // do not update the cookie more often than cookieUpdateInterval\r\n var cookieUpdatedTimestamp = _cookieUpdatedTimestamp;\r\n if (!cookieUpdatedTimestamp || now - cookieUpdatedTimestamp > SessionManager.cookieUpdateInterval) {\r\n autoSession.renewalDate = now;\r\n _setCookie(autoSession.getId(), autoSession.acquisitionDate, autoSession.renewalDate);\r\n }\r\n }\r\n };\r\n _self.backup = function () {\r\n var automaticSession = _self.automaticSession;\r\n _setStorage(automaticSession.getId(), automaticSession.acquisitionDate, automaticSession.renewalDate);\r\n };\r\n /**\r\n * @ignore\r\n * Create functional configs if value is provided, else SessionManager provides the defaults\r\n * @param config - Property configuration\r\n */\r\n function getDefaultConfig(config) {\r\n return {\r\n sessionRenewalMs: config.sessionRenewalMs && (function () { return config.sessionRenewalMs; }),\r\n sessionExpirationMs: config.sessionExpirationMs && (function () { return config.sessionExpirationMs; }),\r\n cookieDomain: config.cookieDomain && (function () { return config.cookieDomain; }),\r\n namePrefix: config.namePrefix && (function () { return config.namePrefix; }),\r\n sessionAsGuid: (function () { return config.sessionAsGuid; }),\r\n idLength: (function () { return config.idLength ? config.idLength : 22; })\r\n };\r\n }\r\n /**\r\n * @ignore\r\n * Use config.namePrefix + ai_session cookie data or local storage data (when the cookie is unavailable) to\r\n * initialize the automatic session.\r\n */\r\n function _initializeAutomaticSession() {\r\n var cookie = getCookie(_storageNamePrefix());\r\n if (cookie && isFunction(cookie.split)) {\r\n _initializeAutomaticSessionWithData(cookie);\r\n }\r\n else {\r\n // There's no cookie, but we might have session data in local storage\r\n // This can happen if the session expired or the user actively deleted the cookie\r\n // We only want to recover data if the cookie is missing from expiry. We should respect the user's wishes if the cookie was deleted actively.\r\n // The User class handles this for us and deletes our local storage object if the persistent user cookie was removed.\r\n var storage = getStorage(_logger, _storageNamePrefix());\r\n if (storage) {\r\n _initializeAutomaticSessionWithData(storage);\r\n }\r\n }\r\n if (!_self.automaticSession.getId()) {\r\n _renew();\r\n }\r\n }\r\n /**\r\n * @ignore\r\n * Extract id, aquisitionDate, and renewalDate from an ai_session payload string and\r\n * use this data to initialize automaticSession.\r\n *\r\n * @param sessionData - The string stored in an ai_session cookie or local storage backup\r\n */\r\n function _initializeAutomaticSessionWithData(sessionData) {\r\n var automaticSession = _self.automaticSession;\r\n var params = sessionData.split(\"|\");\r\n if (params.length > 0) {\r\n automaticSession.setId(params[0]);\r\n }\r\n try {\r\n if (params.length > 1) {\r\n var acq = +params[1];\r\n automaticSession.acquisitionDate = +new Date(acq);\r\n automaticSession.acquisitionDate = automaticSession.acquisitionDate > 0 ? automaticSession.acquisitionDate : 0;\r\n }\r\n if (params.length > 2) {\r\n var renewal = +params[2];\r\n automaticSession.renewalDate = +new Date(renewal);\r\n automaticSession.renewalDate = automaticSession.renewalDate > 0 ? automaticSession.renewalDate : 0;\r\n }\r\n }\r\n catch (e) {\r\n _logger.throwInternal(LoggingSeverity.CRITICAL, _ExtendedInternalMessageId.ErrorParsingAISessionCookie, \"Error parsing ai_session cookie, session will be reset: \" + e);\r\n }\r\n if (automaticSession.renewalDate === 0) {\r\n _logger.throwInternal(LoggingSeverity.WARNING, _ExtendedInternalMessageId.SessionRenewalDateIsZero, \"AI session renewal date is 0, session will be reset.\");\r\n }\r\n }\r\n function _renew() {\r\n var automaticSession = _self.automaticSession;\r\n var now = new Date().getTime();\r\n var sessionAsGuid = _self.config.sessionAsGuid();\r\n if (!isUndefined(sessionAsGuid) && sessionAsGuid) {\r\n if (!isBoolean(sessionAsGuid)) {\r\n automaticSession.setId(createGuid(sessionAsGuid));\r\n }\r\n else {\r\n automaticSession.setId(createGuid());\r\n }\r\n }\r\n else {\r\n automaticSession.setId(newId((functionalConfig && functionalConfig.idLength) ? functionalConfig.idLength() : 22));\r\n }\r\n automaticSession.acquisitionDate = now;\r\n automaticSession.renewalDate = now;\r\n _setCookie(automaticSession.getId(), automaticSession.acquisitionDate, automaticSession.renewalDate);\r\n // If this browser does not support local storage, fire an internal log to keep track of it at this point\r\n if (!canUseLocalStorage()) {\r\n _logger.throwInternal(LoggingSeverity.WARNING, _ExtendedInternalMessageId.BrowserDoesNotSupportLocalStorage, \"Browser does not support local storage. Session durations will be inaccurate.\");\r\n }\r\n }\r\n function _setCookie(guid, acq, renewal) {\r\n // Set cookie to expire after the session expiry time passes or the session renewal deadline, whichever is sooner\r\n // Expiring the cookie will cause the session to expire even if the user isn't on the page\r\n var acquisitionExpiry = acq + _self.config.sessionExpirationMs();\r\n var renewalExpiry = renewal + _self.config.sessionRenewalMs();\r\n var cookieExpiry = new Date();\r\n var cookie = [guid, acq, renewal];\r\n if (acquisitionExpiry < renewalExpiry) {\r\n cookieExpiry.setTime(acquisitionExpiry);\r\n }\r\n else {\r\n cookieExpiry.setTime(renewalExpiry);\r\n }\r\n var cookieDomain = _self.config.cookieDomain ? _self.config.cookieDomain() : null;\r\n cookieMgr.set(_storageNamePrefix(), cookie.join(\"|\") + \";expires=\" + cookieExpiry.toUTCString(), null, cookieDomain);\r\n _cookieUpdatedTimestamp = new Date().getTime();\r\n }\r\n function _setStorage(guid, acq, renewal) {\r\n // Keep data in local storage to retain the last session id, allowing us to cleanly end the session when it expires\r\n // Browsers that don't support local storage won't be able to end sessions cleanly from the client\r\n // The server will notice this and end the sessions itself, with loss of accurate session duration\r\n setStorage(_logger, _storageNamePrefix(), [guid, acq, renewal].join(\"|\"));\r\n }\r\n });\r\n }\r\n// Removed Stub for SessionManager.prototype.update.\r\n// Removed Stub for SessionManager.prototype.backup.\r\n SessionManager.acquisitionSpan = 86400000; // 24 hours in ms\r\n SessionManager.renewalSpan = 1800000; // 30 minutes in ms\r\n SessionManager.cookieUpdateInterval = 60000; // 1 minute in ms\r\n SessionManager.cookieNameConst = \"ai_session\";\r\n return SessionManager;\r\n}());\r\nexport { SessionManager };\r\n//# sourceMappingURL=SessionManager.js.map","/*\n * 1DS JS SDK Properties plugin, 3.1.6\n * Copyright (c) Microsoft and contributors. All rights reserved.\n * (Microsoft Internal Only)\n */\n/**\r\n* TelemetryContext.ts\r\n* @author Hector Hernandez (hectorh)\r\n* @copyright Microsoft 2019\r\n*/\r\nimport { isString, setValue } from \"@microsoft/1ds-core-js\";\r\nimport { Application } from \"./context/Application\";\r\nimport { Cloud } from \"./context/Cloud\";\r\nimport { User } from \"./context/User\";\r\nimport { Web } from \"./context/Web\";\r\nimport { OperatingSystem } from \"./context/OperatingSystem\";\r\nimport { IntWeb } from \"./context/IntWeb\";\r\nimport { Utc } from \"./context/Utc\";\r\nimport { Loc } from \"./context/Loc\";\r\nimport { Device } from \"./context/Device\";\r\nimport { Session } from \"./context/Session\";\r\nimport { Trace } from \"./context/Trace\";\r\nimport { AppExtensionKeys, UserExtensionKeys, WebExtensionKeys, SDKExtKeys, OSExtKeys, IntWebExtKeys, UtcExtKeys, LocExtKeys, SessionExtKeys, DeviceExtKeys, TraceExtKeys, CloudExtKeys, } from \"./ExtensionKeys\";\r\nimport { Extensions } from \"./Extensions\";\r\nimport { Sdk } from \"./context/Sdk\";\r\nimport { SessionManager } from \"./SessionManager\";\r\n// Use a local variable as the reference so it will be minified for the 25ish usages\r\nvar _isString = isString;\r\nvar TelemetryContext = /** @class */ (function () {\r\n function TelemetryContext(coreConfig, propertiesConfig, core) {\r\n var self = this;\r\n self.app = new Application(propertiesConfig, core);\r\n self.cloud = new Cloud();\r\n self.user = new User(coreConfig, propertiesConfig, core);\r\n self.os = new OperatingSystem(propertiesConfig);\r\n self.web = new Web(propertiesConfig, core);\r\n self.sdk = new Sdk(coreConfig, core);\r\n self.intWeb = new IntWeb(propertiesConfig, core);\r\n self.utc = new Utc(propertiesConfig);\r\n self.loc = new Loc();\r\n self.device = new Device();\r\n self.telemetryTrace = new Trace(propertiesConfig);\r\n self.sessionManager = new SessionManager(core, propertiesConfig);\r\n self.session = new Session();\r\n }\r\n /**\r\n * Returns the current session id, if one does not already exist a new one will be attempted to be created.\r\n * If you have set a specific custom id via session.setId(), this function will return that value.\r\n */\r\n TelemetryContext.prototype.getSessionId = function () {\r\n var session = this.session;\r\n if (session && _isString(session.customId)) {\r\n return session.customId;\r\n }\r\n var sessionManager = this.sessionManager;\r\n sessionManager.update();\r\n var autoSession = sessionManager.automaticSession;\r\n if (autoSession) {\r\n var autoId = autoSession.getId();\r\n if (autoId && _isString(autoId)) {\r\n session.automaticId = autoId;\r\n }\r\n }\r\n return session.automaticId;\r\n };\r\n TelemetryContext.prototype.applyApplicationContext = function (event) {\r\n var app = this.app;\r\n var evtApp = event.ext[Extensions.AppExt];\r\n setValue(evtApp, AppExtensionKeys.id, app.id, _isString);\r\n setValue(evtApp, AppExtensionKeys.ver, app.ver, _isString);\r\n setValue(evtApp, AppExtensionKeys.appName, app.name, _isString);\r\n setValue(evtApp, AppExtensionKeys.locale, app.locale, _isString);\r\n setValue(evtApp, AppExtensionKeys.expId, app.getExpId(), _isString);\r\n setValue(evtApp, AppExtensionKeys.env, app.env, _isString);\r\n };\r\n TelemetryContext.prototype.applyUserContext = function (event) {\r\n var user = this.user;\r\n var evtUser = event.ext[Extensions.UserExt];\r\n setValue(evtUser, UserExtensionKeys.localId, user.getLocalId(), _isString);\r\n setValue(evtUser, UserExtensionKeys.locale, user.locale, _isString);\r\n setValue(evtUser, UserExtensionKeys.id, user.id, _isString);\r\n };\r\n TelemetryContext.prototype.applyWebContext = function (event) {\r\n var web = this.web;\r\n var evtWeb = event.ext[Extensions.WebExt];\r\n setValue(evtWeb, WebExtensionKeys.domain, web.domain, _isString);\r\n setValue(evtWeb, WebExtensionKeys.browser, web.browser, _isString);\r\n setValue(evtWeb, WebExtensionKeys.browserVer, web.browserVer, _isString);\r\n setValue(evtWeb, WebExtensionKeys.screenRes, web.screenRes, _isString);\r\n evtWeb[WebExtensionKeys.userConsent] = web.getUserConsent();\r\n evtWeb[WebExtensionKeys.consentDetails] = web.getUserConsentDetails();\r\n };\r\n TelemetryContext.prototype.applyOsContext = function (event) {\r\n var os = this.os;\r\n var evtOs = event.ext[Extensions.OSExt];\r\n setValue(evtOs, OSExtKeys.osName, os.name, _isString);\r\n setValue(evtOs, OSExtKeys.ver, os.ver, _isString);\r\n };\r\n TelemetryContext.prototype.applySdkContext = function (event) {\r\n var sdk = this.sdk;\r\n var evtSdk = event.ext[Extensions.SdkExt];\r\n evtSdk[SDKExtKeys.seq] = sdk.getSequenceId();\r\n evtSdk[SDKExtKeys.epoch] = sdk.epoch;\r\n setValue(evtSdk, SDKExtKeys.installId, sdk.installId, _isString);\r\n };\r\n TelemetryContext.prototype.applyIntWebContext = function (event) {\r\n var intWeb = this.intWeb;\r\n var evtIntWeb = event.ext[Extensions.IntWebExt];\r\n setValue(evtIntWeb, IntWebExtKeys.msfpc, intWeb.getMsfpc(), _isString);\r\n setValue(evtIntWeb, IntWebExtKeys.anid, intWeb.getAnid(), _isString);\r\n setValue(evtIntWeb, IntWebExtKeys.serviceName, intWeb.serviceName, _isString);\r\n };\r\n TelemetryContext.prototype.applyUtcContext = function (event) {\r\n var utc = this.utc;\r\n var evtUtc = event.ext[Extensions.UtcExt];\r\n evtUtc[UtcExtKeys.popSample] = utc.popSample;\r\n if (utc.eventFlags > 0) {\r\n evtUtc[UtcExtKeys.eventFlags] = utc.eventFlags;\r\n }\r\n };\r\n TelemetryContext.prototype.applyLocContext = function (event) {\r\n event.ext[Extensions.LocExt][LocExtKeys.tz] = this.loc.tz;\r\n };\r\n TelemetryContext.prototype.applySessionContext = function (event) {\r\n event.ext[Extensions.AppExt][SessionExtKeys.sessionId] = this.getSessionId();\r\n };\r\n TelemetryContext.prototype.applyDeviceContext = function (event) {\r\n var device = this.device;\r\n var evtDevice = event.ext[Extensions.DeviceExt];\r\n setValue(evtDevice, DeviceExtKeys.localId, device.localId, _isString);\r\n setValue(evtDevice, DeviceExtKeys.make, device.make, _isString);\r\n setValue(evtDevice, DeviceExtKeys.model, device.model, _isString);\r\n setValue(evtDevice, DeviceExtKeys.deviceClass, device.deviceClass, _isString);\r\n };\r\n TelemetryContext.prototype.applyCloudContext = function (event) {\r\n var cloud = this.cloud;\r\n var evtCloud = event.ext[Extensions.CloudExt];\r\n setValue(evtCloud, CloudExtKeys.role, cloud.role, _isString);\r\n setValue(evtCloud, CloudExtKeys.roleInstance, cloud.roleInstance, _isString);\r\n setValue(evtCloud, CloudExtKeys.roleVer, cloud.roleVer, _isString);\r\n };\r\n TelemetryContext.prototype.applyAITraceContext = function (event) {\r\n var trace = this.telemetryTrace;\r\n var evtTrace = event.ext[Extensions.TraceExt];\r\n setValue(evtTrace, TraceExtKeys.traceId, trace.traceId, _isString);\r\n setValue(evtTrace, TraceExtKeys.traceName, trace.name, _isString);\r\n setValue(evtTrace, TraceExtKeys.parentId, trace.parentId, _isString);\r\n };\r\n return TelemetryContext;\r\n}());\r\nexport { TelemetryContext };\r\n//# sourceMappingURL=TelemetryContext.js.map","/*\n * 1DS JS SDK Properties plugin, 3.1.6\n * Copyright (c) Microsoft and contributors. All rights reserved.\n * (Microsoft Internal Only)\n */\nimport { __extendsFn as __extends } from \"@microsoft/applicationinsights-shims\";\r\n/**\r\n* PropertiesPlugin.ts\r\n* @author Abhilash Panwar (abpanwar) Hector Hernandez (hectorh)\r\n* @copyright Microsoft 2018\r\n*/\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { BaseTelemetryPlugin, setProcessTelemetryTimings, objForEachKey, arrForEach, objKeys, } from \"@microsoft/1ds-core-js\";\r\nimport { TelemetryContext } from \"./TelemetryContext\";\r\nimport { Extensions } from \"./Extensions\";\r\nvar PropertiesPlugin = /** @class */ (function (_super) {\r\n __extends(PropertiesPlugin, _super);\r\n function PropertiesPlugin() {\r\n var _this = _super.call(this) || this;\r\n _this.identifier = \"SystemPropertiesCollector\";\r\n _this.priority = 3;\r\n _this.version = '3.1.6';\r\n var _context;\r\n var _properties = {};\r\n dynamicProto(PropertiesPlugin, _this, function (_self, _base) {\r\n _self.initialize = function (coreConfig, core, extensions) {\r\n _super.prototype.initialize.call(_this, coreConfig, core, extensions);\r\n _context = new TelemetryContext(coreConfig, _self._getTelCtx().getExtCfg(_self.identifier), core);\r\n };\r\n /**\r\n * Process the event and add part A fields to it.\r\n * @param event - The event that needs to be stored.\r\n * @param itemCtx - This is the context for the current request, ITelemetryPlugin instances\r\n * can optionally use this to access the current core instance or define / pass additional information\r\n * to later plugins (vs appending items to the telemetry item)\r\n */\r\n _self.processTelemetry = function (event, itemCtx) {\r\n setProcessTelemetryTimings(event, _self.identifier);\r\n itemCtx = _self._getTelCtx(itemCtx);\r\n var evtExt = event.ext = event.ext ? event.ext : {};\r\n event.data = event.data ? event.data : {};\r\n evtExt[Extensions.AppExt] = evtExt[Extensions.AppExt] || {};\r\n evtExt[Extensions.UserExt] = evtExt[Extensions.UserExt] || {};\r\n evtExt[Extensions.WebExt] = evtExt[Extensions.WebExt] || {};\r\n evtExt[Extensions.OSExt] = evtExt[Extensions.OSExt] || {};\r\n evtExt[Extensions.SdkExt] = evtExt[Extensions.SdkExt] || {};\r\n evtExt[Extensions.IntWebExt] = evtExt[Extensions.IntWebExt] || {};\r\n evtExt[Extensions.UtcExt] = evtExt[Extensions.UtcExt] || {};\r\n evtExt[Extensions.LocExt] = evtExt[Extensions.LocExt] || {};\r\n evtExt[Extensions.DeviceExt] = evtExt[Extensions.DeviceExt] || {};\r\n evtExt[Extensions.TraceExt] = evtExt[Extensions.TraceExt] || {};\r\n evtExt[Extensions.CloudExt] = evtExt[Extensions.CloudExt] || {};\r\n _context.applyApplicationContext(event);\r\n _context.applyUserContext(event);\r\n _context.applyWebContext(event);\r\n _context.applyOsContext(event);\r\n _context.applySdkContext(event);\r\n _context.applyIntWebContext(event);\r\n _context.applyUtcContext(event);\r\n _context.applyLocContext(event);\r\n _context.applySessionContext(event);\r\n _context.applyDeviceContext(event);\r\n _context.applyAITraceContext(event);\r\n _context.applyCloudContext(event);\r\n // Delete empty ext fields\r\n arrForEach(objKeys(evtExt), function (key) {\r\n if (objKeys(evtExt[key]).length === 0) {\r\n delete evtExt[key];\r\n }\r\n });\r\n // Add custom properties\r\n _addPropertiesIfAbsent(_properties, event.data);\r\n _self.processNext(event, itemCtx);\r\n };\r\n /**\r\n * Get properties context to override or specify specific part A properties\r\n * @returns the Context\r\n */\r\n _self.getPropertiesContext = function () {\r\n return _context;\r\n };\r\n /**\r\n * Sets a custom property to be sent with every event. IEventProperty can be used to tag the property as\r\n * pii or customer content.\r\n * @param name - The name of the property.\r\n * @param value - The context property's value.\r\n */\r\n _self.setProperty = function (name, value) {\r\n _properties[name] = value;\r\n };\r\n function _addPropertiesIfAbsent(inputMap, outputMap) {\r\n if (inputMap) {\r\n objForEachKey(inputMap, function (name, inputValue) {\r\n if (!outputMap[name]) {\r\n outputMap[name] = inputValue;\r\n }\r\n });\r\n }\r\n }\r\n });\r\n return _this;\r\n }\r\n// Removed Stub for PropertiesPlugin.prototype.initialize.\r\n// Removed Stub for PropertiesPlugin.prototype.processTelemetry.\r\n// Removed Stub for PropertiesPlugin.prototype.getPropertiesContext.\r\n// Removed Stub for PropertiesPlugin.prototype.setProperty.\r\n return PropertiesPlugin;\r\n}(BaseTelemetryPlugin));\r\nexport default PropertiesPlugin;\r\n//# sourceMappingURL=PropertiesPlugin.js.map","/*\n * 1DS JS SDK POST plugin, 3.1.6\n * Copyright (c) Microsoft and contributors. All rights reserved.\n * (Microsoft Internal Only)\n */\n/**\r\n * Real Time profile (default profile). RealTime Latency events are sent every 1 sec and\r\n * Normal Latency events are sent every 2 sec.\r\n */\r\nexport var RT_PROFILE = \"REAL_TIME\";\r\n/**\r\n * Near Real Time profile. RealTime Latency events are sent every 3 sec and\r\n * Normal Latency events are sent every 6 sec.\r\n */\r\nexport var NRT_PROFILE = \"NEAR_REAL_TIME\";\r\n/**\r\n * Best Effort. RealTime Latency events are sent every 9 sec and\r\n * Normal Latency events are sent every 18 sec.\r\n */\r\nexport var BE_PROFILE = \"BEST_EFFORT\";\r\n//# sourceMappingURL=DataModels.js.map","/*\n * 1DS JS SDK POST plugin, 3.1.6\n * Copyright (c) Microsoft and contributors. All rights reserved.\n * (Microsoft Internal Only)\n */\nimport { isNullOrUndefined } from \"@microsoft/1ds-core-js\";\r\n/**\r\n* This class defines a \"batch\" events related to a specific iKey, it is used by the PostChannel and HttpManager\r\n* to collect and transfer ownership of events without duplicating them in-memory. This reduces the previous\r\n* array duplication and shared ownership issues that occurred due to race conditions caused by the async nature\r\n* of sending requests.\r\n*/\r\nvar EventBatch = /** @class */ (function () {\r\n /**\r\n * Private constructor so that caller is forced to use the static create method.\r\n * @param iKey - The iKey to associate with the events (not validated)\r\n * @param addEvents - The optional collection of events to assign to this batch - defaults to an empty array.\r\n */\r\n function EventBatch(iKey, addEvents) {\r\n var events = addEvents ? [].concat(addEvents) : [];\r\n var _self = this;\r\n _self.iKey = function () {\r\n return iKey;\r\n };\r\n _self.count = function () {\r\n return events.length;\r\n };\r\n _self.events = function () {\r\n return events;\r\n };\r\n _self.addEvents = function (theEvents, append) {\r\n if (append === void 0) { append = true; }\r\n if (theEvents && theEvents.length > 0) {\r\n if (append) {\r\n events = events.concat(theEvents);\r\n }\r\n else {\r\n events = theEvents.concat(events);\r\n }\r\n return theEvents.length;\r\n }\r\n return 0;\r\n };\r\n _self.split = function (fromEvent, numEvents) {\r\n // Create a new batch with the same iKey\r\n var newBatch = new EventBatch(iKey);\r\n if (fromEvent < events.length) {\r\n var cnt = events.length - fromEvent;\r\n if (!isNullOrUndefined(numEvents)) {\r\n cnt = numEvents < cnt ? numEvents : cnt;\r\n }\r\n newBatch.addEvents(events.splice(fromEvent, cnt), true);\r\n }\r\n return newBatch;\r\n };\r\n }\r\n /**\r\n * Creates a new Event Batch object\r\n * @param iKey The iKey associated with this batch of events\r\n */\r\n EventBatch.create = function (iKey, theEvents) {\r\n return new EventBatch(iKey, theEvents);\r\n };\r\n return EventBatch;\r\n}());\r\nexport { EventBatch };\r\n//# sourceMappingURL=EventBatch.js.map","/*\n * 1DS JS SDK POST plugin, 3.1.6\n * Copyright (c) Microsoft and contributors. All rights reserved.\n * (Microsoft Internal Only)\n */\n/**\r\n* Serializer.ts\r\n* @author Abhilash Panwar (abpanwar); Hector Hernandez (hectorh); Nev Wylie (newylie)\r\n* @copyright Microsoft 2018-2020\r\n*/\r\nimport { getTenantId, getCommonSchemaMetaData, isArray, sanitizeProperty, doPerf, isValueAssigned, strStartsWith, objForEachKey, arrIndexOf, } from \"@microsoft/1ds-core-js\";\r\nimport { EventBatch } from \"./EventBatch\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\n/**\r\n * Note: This is an optimization for V8-based browsers. When V8 concatenates a string,\r\n * the strings are only joined logically using a \"cons string\" or \"constructed/concatenated\r\n * string\". These containers keep references to one another and can result in very large\r\n * memory usage. For example, if a 2MB string is constructed by concatenating 4 bytes\r\n * together at a time, the memory usage will be ~44MB; so ~22x increase. The strings are\r\n * only joined together when an operation requiring their joining takes place, such as\r\n * substr(). This function is called when adding data to this buffer to ensure these\r\n * types of strings are periodically joined to reduce the memory footprint.\r\n * Setting to every 20 events as the JSON.stringify() may have joined many strings\r\n * and calling this too much causes a minor delay while processing.\r\n */\r\nvar _MAX_STRING_JOINS = 20;\r\nvar RequestSizeLimitBytes = 3984588; // approx 3.8 Mb\r\nvar BeaconRequestSizeLimitBytes = 65000; // approx 64kb (the current Edge, Firefox and Chrome max limit)\r\nvar MaxRecordSize = 2000000; // approx 2 Mb\r\nvar MaxBeaconRecordSize = Math.min(MaxRecordSize, BeaconRequestSizeLimitBytes);\r\nvar metadata = \"metadata\";\r\nvar f = \"f\";\r\nvar rCheckDot = /\\./;\r\n/**\r\n* Class to handle serialization of event and request.\r\n* Currently uses Bond for serialization. Please note that this may be subject to change.\r\n*/\r\nvar Serializer = /** @class */ (function () {\r\n function Serializer(perfManager, valueSanitizer, stringifyObjects, enableCompoundKey) {\r\n var strData = \"data\";\r\n var strBaseData = \"baseData\";\r\n var strExt = \"ext\";\r\n var _checkForCompoundkey = !!enableCompoundKey;\r\n var _processSubMetaData = true;\r\n var _theSanitizer = valueSanitizer;\r\n var _isReservedCache = {};\r\n dynamicProto(Serializer, this, function (_self) {\r\n _self.createPayload = function (retryCnt, isTeardown, isSync, useSendBeacon, sendReason, sendType) {\r\n return {\r\n apiKeys: [],\r\n payloadBlob: \"\",\r\n overflow: null,\r\n sizeExceed: [],\r\n failedEvts: [],\r\n batches: [],\r\n numEvents: 0,\r\n retryCnt: retryCnt,\r\n isTeardown: isTeardown,\r\n isSync: isSync,\r\n isBeacon: useSendBeacon,\r\n sendType: sendType,\r\n sendReason: sendReason\r\n };\r\n };\r\n _self.appendPayload = function (payload, theBatch, maxEventsPerBatch) {\r\n var canAddEvents = payload && theBatch && !payload.overflow;\r\n if (canAddEvents) {\r\n doPerf(perfManager, function () { return \"Serializer:appendPayload\"; }, function () {\r\n var theEvents = theBatch.events();\r\n var payloadBlob = payload.payloadBlob;\r\n var payloadEvents = payload.numEvents;\r\n var eventsAdded = false;\r\n var sizeExceeded = [];\r\n var failedEvts = [];\r\n var isBeaconPayload = payload.isBeacon;\r\n var requestMaxSize = isBeaconPayload ? BeaconRequestSizeLimitBytes : RequestSizeLimitBytes;\r\n var recordMaxSize = isBeaconPayload ? MaxBeaconRecordSize : MaxRecordSize;\r\n var lp = 0;\r\n var joinCount = 0;\r\n while (lp < theEvents.length) {\r\n var theEvent = theEvents[lp];\r\n if (theEvent) {\r\n if (payloadEvents >= maxEventsPerBatch) {\r\n // Maximum events per payload reached, so don't add any more\r\n payload.overflow = theBatch.split(lp);\r\n break;\r\n }\r\n var eventBlob = _self.getEventBlob(theEvent);\r\n if (eventBlob && eventBlob.length <= recordMaxSize) {\r\n // This event will fit into the payload\r\n var blobLength = eventBlob.length;\r\n var currentSize = payloadBlob.length;\r\n if (currentSize + blobLength > requestMaxSize) {\r\n // Request or batch size exceeded, so don't add any more to the payload\r\n payload.overflow = theBatch.split(lp);\r\n break;\r\n }\r\n if (payloadBlob) {\r\n payloadBlob += \"\\n\";\r\n }\r\n payloadBlob += eventBlob;\r\n joinCount++;\r\n // v8 memory optimization only\r\n if (joinCount > _MAX_STRING_JOINS) {\r\n // this substr() should cause the constructed string to join\r\n payloadBlob.substr(0, 1);\r\n joinCount = 0;\r\n }\r\n eventsAdded = true;\r\n payloadEvents++;\r\n }\r\n else {\r\n if (eventBlob) {\r\n // Single event size exceeded so remove from the batch\r\n sizeExceeded.push(theEvent);\r\n }\r\n else {\r\n failedEvts.push(theEvent);\r\n }\r\n // We also need to remove this event from the existing array, otherwise a notification will be sent\r\n // indicating that it was successfully sent\r\n theEvents.splice(lp, 1);\r\n lp--;\r\n }\r\n }\r\n lp++;\r\n }\r\n if (sizeExceeded && sizeExceeded.length > 0) {\r\n payload.sizeExceed.push(EventBatch.create(theBatch.iKey(), sizeExceeded));\r\n // Remove the exceeded events from the batch\r\n }\r\n if (failedEvts && failedEvts.length > 0) {\r\n payload.failedEvts.push(EventBatch.create(theBatch.iKey(), failedEvts));\r\n // Remove the failed events from the batch\r\n }\r\n if (eventsAdded) {\r\n payload.batches.push(theBatch);\r\n payload.payloadBlob = payloadBlob;\r\n payload.numEvents = payloadEvents;\r\n var apiKey = theBatch.iKey();\r\n if (arrIndexOf(payload.apiKeys, apiKey) === -1) {\r\n payload.apiKeys.push(apiKey);\r\n }\r\n }\r\n }, function () { return ({ payload: payload, theBatch: { iKey: theBatch.iKey(), evts: theBatch.events() }, max: maxEventsPerBatch }); });\r\n }\r\n return canAddEvents;\r\n };\r\n _self.getEventBlob = function (eventData) {\r\n try {\r\n return doPerf(perfManager, function () { return \"Serializer.getEventBlob\"; }, function () {\r\n var serializedEvent = {};\r\n // Adding as dynamic keys for v8 performance\r\n serializedEvent.name = eventData.name;\r\n serializedEvent.time = eventData.time;\r\n serializedEvent.ver = eventData.ver;\r\n serializedEvent.iKey = \"o:\" + getTenantId(eventData.iKey);\r\n // Assigning local var so usage in part b/c don't throw if there is no ext\r\n var serializedExt = {};\r\n // Part A\r\n var eventExt = eventData[strExt];\r\n if (eventExt) {\r\n // Only assign ext if the event had one (There are tests covering this use case)\r\n serializedEvent[strExt] = serializedExt;\r\n objForEachKey(eventExt, function (key, value) {\r\n var data = serializedExt[key] = {};\r\n // Don't include a metadata callback as we don't currently set metadata Part A fields\r\n _processPathKeys(value, data, \"ext.\" + key, true, null, null, true);\r\n });\r\n }\r\n var serializedData = serializedEvent[strData] = {};\r\n serializedData.baseType = eventData.baseType;\r\n var serializedBaseData = serializedData[strBaseData] = {};\r\n // Part B\r\n _processPathKeys(eventData.baseData, serializedBaseData, strBaseData, false, [strBaseData], function (pathKeys, name, value) {\r\n _addJSONPropertyMetaData(serializedExt, pathKeys, name, value);\r\n }, _processSubMetaData);\r\n // Part C\r\n _processPathKeys(eventData.data, serializedData, strData, false, [], function (pathKeys, name, value) {\r\n _addJSONPropertyMetaData(serializedExt, pathKeys, name, value);\r\n }, _processSubMetaData);\r\n return JSON.stringify(serializedEvent);\r\n }, function () { return ({ item: eventData }); });\r\n }\r\n catch (e) {\r\n return null;\r\n }\r\n };\r\n function _isReservedField(path, name) {\r\n var result = _isReservedCache[path];\r\n if (result === undefined) {\r\n if (path.length >= 7) {\r\n // Do not allow the changing of fields located in the ext.metadata or ext.web extension\r\n result = strStartsWith(path, \"ext.metadata\") || strStartsWith(path, \"ext.web\");\r\n }\r\n _isReservedCache[path] = result;\r\n }\r\n return result;\r\n }\r\n function _processPathKeys(srcObj, target, thePath, checkReserved, metadataPathKeys, metadataCallback, processSubKeys) {\r\n objForEachKey(srcObj, function (key, srcValue) {\r\n var prop = null;\r\n if (srcValue || isValueAssigned(srcValue)) {\r\n var path = thePath;\r\n var name_1 = key;\r\n var theMetaPathKeys = metadataPathKeys;\r\n var destObj = target;\r\n // Handle keys with embedded '.', like \"TestObject.testProperty\"\r\n if (_checkForCompoundkey && !checkReserved && rCheckDot.test(key)) {\r\n var subKeys = key.split(\".\");\r\n var keyLen = subKeys.length;\r\n if (keyLen > 1) {\r\n if (theMetaPathKeys) {\r\n // Create a copy of the meta path keys so we can add the extra ones\r\n theMetaPathKeys = theMetaPathKeys.slice();\r\n }\r\n for (var lp = 0; lp < keyLen - 1; lp++) {\r\n var subKey = subKeys[lp];\r\n // Add/reuse the sub key object\r\n destObj = destObj[subKey] = destObj[subKey] || {};\r\n path += \".\" + subKey;\r\n if (theMetaPathKeys) {\r\n theMetaPathKeys.push(subKey);\r\n }\r\n }\r\n name_1 = subKeys[keyLen - 1];\r\n }\r\n }\r\n var isReserved = checkReserved && _isReservedField(path, name_1);\r\n if (!isReserved && _theSanitizer && _theSanitizer.handleField(path, name_1)) {\r\n prop = _theSanitizer.value(path, name_1, srcValue, stringifyObjects);\r\n }\r\n else {\r\n prop = sanitizeProperty(name_1, srcValue, stringifyObjects);\r\n }\r\n if (prop) {\r\n // Set the value\r\n var newValue = prop.value;\r\n destObj[name_1] = newValue;\r\n if (metadataCallback) {\r\n metadataCallback(theMetaPathKeys, name_1, prop);\r\n }\r\n if (processSubKeys && typeof newValue === \"object\" && !isArray(newValue)) {\r\n var newPath = theMetaPathKeys;\r\n if (newPath) {\r\n newPath = newPath.slice();\r\n newPath.push(name_1);\r\n }\r\n // Make sure we process sub objects as well (for value sanitization and metadata)\r\n _processPathKeys(srcValue, newValue, path + \".\" + name_1, checkReserved, newPath, metadataCallback, processSubKeys);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n });\r\n }\r\n// Removed Stub for Serializer.prototype.createPayload.\r\n// Removed Stub for Serializer.prototype.appendPayload.\r\n// Removed Stub for Serializer.prototype.getEventBlob.\r\n// Removed Stub for Serializer.prototype.handleField.\r\n// Removed Stub for Serializer.prototype.getSanitizer.\r\n return Serializer;\r\n}());\r\nexport { Serializer };\r\n/**\r\n * @ignore\r\n */\r\nfunction _addJSONPropertyMetaData(json, propKeys, name, propertyValue) {\r\n if (propertyValue && json) {\r\n var encodedTypeValue = getCommonSchemaMetaData(propertyValue.value, propertyValue.kind, propertyValue.propertyType);\r\n if (encodedTypeValue > -1) {\r\n // Add the root metadata\r\n var metaData = json[metadata];\r\n if (!metaData) {\r\n // Sets the root 'f'\r\n metaData = json[metadata] = { f: {} };\r\n }\r\n var metaTarget = metaData[f];\r\n if (!metaTarget) {\r\n // This can occur if someone has manually added an ext.metadata object\r\n // Such as ext.metadata.privLevel and ext.metadata.privTags\r\n metaTarget = metaData[f] = {};\r\n }\r\n // Traverse the metadata path and build each object (contains an 'f' key) -- if required\r\n if (propKeys) {\r\n for (var lp = 0; lp < propKeys.length; lp++) {\r\n var key = propKeys[lp];\r\n if (!metaTarget[key]) {\r\n metaTarget[key] = { f: {} };\r\n }\r\n var newTarget = metaTarget[key][f];\r\n if (!newTarget) {\r\n // Not expected, but can occur if the metadata context was pre-created as part of the event\r\n newTarget = metaTarget[key][f] = {};\r\n }\r\n metaTarget = newTarget;\r\n }\r\n }\r\n metaTarget = metaTarget[name] = {};\r\n if (isArray(propertyValue.value)) {\r\n metaTarget[\"a\"] = {\r\n t: encodedTypeValue\r\n };\r\n }\r\n else {\r\n metaTarget[\"t\"] = encodedTypeValue;\r\n }\r\n }\r\n }\r\n}\r\n//# sourceMappingURL=Serializer.js.map","/*\n * 1DS JS SDK POST plugin, 3.1.6\n * Copyright (c) Microsoft and contributors. All rights reserved.\n * (Microsoft Internal Only)\n */\n/**\r\n* RetryPolicy.ts\r\n* @author Abhilash Panwar (abpanwar)\r\n* @copyright Microsoft 2018\r\n*/\r\nvar RandomizationLowerThreshold = 0.8;\r\nvar RandomizationUpperThreshold = 1.2;\r\nvar BaseBackoff = 3000;\r\nvar MaxBackoff = 600000;\r\n/**\r\n* Class for retry policy.\r\n*/\r\nvar RetryPolicy = /** @class */ (function () {\r\n function RetryPolicy() {\r\n }\r\n /**\r\n * Determine if the request should be retried for the given status code.\r\n * The below expression reads that we should only retry for:\r\n * - HttpStatusCodes that are smaller than 300.\r\n * - HttpStatusCodes greater or equal to 500 (except for 501-NotImplement\r\n * and 505-HttpVersionNotSupport).\r\n * - HttpStatusCode 408-RequestTimeout.\r\n * - HttpStatusCode 429.\r\n * This is based on Microsoft.WindowsAzure.Storage.RetryPolicies.ExponentialRetry class\r\n * @param httpStatusCode - The status code returned for the request.\r\n * @returns True if request should be retried, false otherwise.\r\n */\r\n RetryPolicy.shouldRetryForStatus = function (httpStatusCode) {\r\n /* tslint:disable:triple-equals */\r\n // Disabling triple-equals rule to avoid httpOverrides from failing because they are returning a string value\r\n return !((httpStatusCode >= 300 && httpStatusCode < 500 && httpStatusCode != 408 && httpStatusCode != 429)\r\n || (httpStatusCode == 501)\r\n || (httpStatusCode == 505));\r\n /* tslint:enable:triple-equals */\r\n };\r\n /**\r\n * Gets the number of milliseconds to back off before retrying the request. The\r\n * back off duration is exponentially scaled based on the number of retries already\r\n * done for the request.\r\n * @param retriesSoFar - The number of times the request has already been retried.\r\n * @returns The back off duration for the request before it can be retried.\r\n */\r\n RetryPolicy.getMillisToBackoffForRetry = function (retriesSoFar) {\r\n var waitDuration = 0;\r\n var minBackoff = BaseBackoff * RandomizationLowerThreshold;\r\n var maxBackoff = BaseBackoff * RandomizationUpperThreshold;\r\n var randomBackoff = Math.floor(Math.random() * (maxBackoff - minBackoff)) + minBackoff;\r\n waitDuration = Math.pow(2, retriesSoFar) * randomBackoff;\r\n return Math.min(waitDuration, MaxBackoff);\r\n };\r\n return RetryPolicy;\r\n}());\r\nexport default RetryPolicy;\r\n//# sourceMappingURL=RetryPolicy.js.map","/*\n * 1DS JS SDK POST plugin, 3.1.6\n * Copyright (c) Microsoft and contributors. All rights reserved.\n * (Microsoft Internal Only)\n */\nvar _a;\r\n/**\r\n* HttpManager.ts\r\n* @author Abhilash Panwar (abpanwar); Hector Hernandez (hectorh); Nev Wylie (newylie)\r\n* @copyright Microsoft 2018-2020\r\n*/\r\nimport { isReactNative, isValueAssigned, isString, getTime, arrForEach, getLocation, strTrim, isFetchSupported, isXhrSupported, isBeaconsSupported, FullVersionString, useXDomainRequest, LoggingSeverity, _ExtendedInternalMessageId, strUndefined, getNavigator, doPerf, dateNow, isUndefined, isNullOrUndefined, objForEachKey, isNumber, isArray, dumpObj, objKeys, extend, hasOwnProperty } from \"@microsoft/1ds-core-js\";\r\nimport { Serializer } from \"./Serializer\";\r\nimport RetryPolicy from \"./RetryPolicy\";\r\nimport EVTKillSwitch from \"./KillSwitch\";\r\nimport EVTClockSkewManager from \"./ClockSkewManager\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nvar Method = \"POST\";\r\nvar DisabledPropertyName = \"Microsoft_ApplicationInsights_BypassAjaxInstrumentation\";\r\nvar strDropped = \"drop\";\r\nvar strSending = \"send\";\r\nvar strRequeue = \"requeue\";\r\nvar strResponseFail = \"rspFail\";\r\nvar strOther = \"oth\";\r\nvar defaultCacheControl = \"no-cache, no-store\";\r\nvar defaultContentType = \"application/x-json-stream\";\r\nvar strCacheControl = \"cache-control\";\r\nvar strContentTypeHeader = \"content-type\";\r\nvar strKillTokensHeader = \"kill-tokens\";\r\nvar strKillDurationHeader = \"kill-duration\";\r\nvar strKillDurationSecondsHeader = \"kill-duration-seconds\";\r\nvar strTimeDeltaHeader = \"time-delta-millis\";\r\n/**\r\n * Identifies the default notification reason to the action names\r\n */\r\nvar _eventActionMap = (_a = {},\r\n _a[1 /* Paused */] = strRequeue,\r\n _a[100 /* RequeueEvents */] = strRequeue,\r\n _a[200 /* Complete */] = \"sent\",\r\n _a[8004 /* KillSwitch */] = strDropped,\r\n _a[8003 /* SizeLimitExceeded */] = strDropped,\r\n _a);\r\nfunction _getResponseText(xhr) {\r\n try {\r\n return xhr.responseText;\r\n }\r\n catch (e) {\r\n // Best effort, as XHR may throw while XDR wont so just ignore\r\n }\r\n return \"\";\r\n}\r\nfunction _hasHeader(headers, header) {\r\n var hasHeader = false;\r\n if (headers && header) {\r\n var keys = objKeys(headers);\r\n if (keys && keys.length > 0) {\r\n var lowerHeader = header.toLowerCase();\r\n for (var lp = 0; lp < keys.length; lp++) {\r\n var value = keys[lp];\r\n if (value && hasOwnProperty(header, value) &&\r\n value.toLowerCase() === lowerHeader) {\r\n hasHeader = true;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n return hasHeader;\r\n}\r\n/**\r\n * Class managing the sending of requests.\r\n */\r\nvar HttpManager = /** @class */ (function () {\r\n /**\r\n * @constructor\r\n * @param requestQueue - The queue that contains the requests to be sent.\r\n */\r\n function HttpManager(maxEventsPerBatch, maxConnections, maxRetries, actions) {\r\n this._responseHandlers = [];\r\n var _urlString = \"?cors=true&\" + strContentTypeHeader.toLowerCase() + \"=\" + defaultContentType + \"&client-id=NO_AUTH&client-version=\"\r\n + FullVersionString;\r\n var _killSwitch = new EVTKillSwitch();\r\n var _paused = false;\r\n var _clockSkewManager = new EVTClockSkewManager();\r\n var _useBeacons = false;\r\n var _outstandingRequests = 0; // Holds the number of outstanding async requests that have not returned a response yet\r\n var _postManager;\r\n var _sendInterfaces;\r\n var _core;\r\n var _customHttpInterface = true;\r\n var _queryStringParameters = [];\r\n var _headers = {};\r\n var _batchQueue = [];\r\n var _serializer = null;\r\n var _enableEventTimings = false;\r\n var _cookieMgr;\r\n var _isUnloading = false;\r\n dynamicProto(HttpManager, this, function (_self) {\r\n var _sendCredentials = true;\r\n _self.initialize = function (endpointUrl, core, postChannel, httpInterface, channelConfig) {\r\n var _a;\r\n if (!channelConfig) {\r\n channelConfig = {};\r\n }\r\n _urlString = endpointUrl + _urlString;\r\n _core = core;\r\n _cookieMgr = core.getCookieMgr();\r\n _enableEventTimings = !_core.config.disableEventTimings;\r\n var enableCompoundKey = !!_core.config.enableCompoundKey;\r\n _postManager = postChannel;\r\n var valueSanitizer = channelConfig.valueSanitizer;\r\n var stringifyObjects = channelConfig.stringifyObjects;\r\n if (!isUndefined(channelConfig.enableCompoundKey)) {\r\n enableCompoundKey = !!channelConfig.enableCompoundKey;\r\n }\r\n // For this to work the collection MUST return \"Cache-control\" in the OPTIONS response in the Allow-Control-Allow-Headers\r\n // ONLY un-comment the below once the collector has changed and deployed.\r\n // if (!!channelConfig.disableCacheHeader) {\r\n // // Stop Chrome from stalling/throttling requests see task #7178858\r\n // _self.addHeader(\"Cache-control\", \"no-cache, no-store\");\r\n // }\r\n _useBeacons = !isReactNative(); // Only use beacons if not running in React Native\r\n _serializer = new Serializer(_core, valueSanitizer, stringifyObjects, enableCompoundKey);\r\n var syncHttpInterface = httpInterface;\r\n if (!httpInterface) {\r\n _customHttpInterface = false;\r\n var location_1 = getLocation();\r\n if (location_1 && location_1.protocol && location_1.protocol.toLowerCase() === \"file:\") {\r\n // Special case where a local html file fails with a CORS error on Chromium browsers\r\n _sendCredentials = false;\r\n }\r\n var theTransports = [];\r\n if (isReactNative()) {\r\n // Use Fetch or XDR/XHR\r\n theTransports = [2 /* Fetch */, 1 /* Xhr */];\r\n }\r\n else {\r\n // Use XDR/XHR, Fetch or beacons\r\n theTransports = [1 /* Xhr */, 2 /* Fetch */, 3 /* Beacon */];\r\n }\r\n // Prefix any user requested transport(s) values\r\n var configTransports = channelConfig.transports;\r\n if (configTransports) {\r\n if (isNumber(configTransports)) {\r\n theTransports = [configTransports].concat(theTransports);\r\n }\r\n else if (isArray(configTransports)) {\r\n theTransports = configTransports.concat(theTransports);\r\n }\r\n }\r\n httpInterface = _getSenderInterface(theTransports, false);\r\n syncHttpInterface = _getSenderInterface(theTransports, true);\r\n if (!httpInterface) {\r\n _postManager.diagLog().warnToConsole(\"No available transport to send events\");\r\n }\r\n }\r\n _sendInterfaces = (_a = {},\r\n _a[0 /* Batched */] = httpInterface,\r\n _a[1 /* Synchronous */] = syncHttpInterface || _getSenderInterface([1 /* Xhr */, 2 /* Fetch */, 3 /* Beacon */], true),\r\n _a[2 /* SendBeacon */] = _getSenderInterface([3 /* Beacon */, 2 /* Fetch */, 1 /* Xhr */], true) || syncHttpInterface,\r\n _a[3 /* SyncFetch */] = _getSenderInterface([2 /* Fetch */, 3 /* Beacon */, 1 /* Xhr */], true) || syncHttpInterface,\r\n _a);\r\n };\r\n // Special internal method to allow the DebugPlugin to hook embedded objects\r\n function _getSenderInterface(transports, syncSupport) {\r\n var transportType = 0 /* NotSet */;\r\n var sendPostFunc = null;\r\n var lp = 0;\r\n while (sendPostFunc == null && lp < transports.length) {\r\n transportType = transports[lp];\r\n if (transportType === 1 /* Xhr */) {\r\n if (useXDomainRequest()) {\r\n sendPostFunc = _xdrSendPost;\r\n }\r\n else if (isXhrSupported()) {\r\n sendPostFunc = _xhrSendPost;\r\n }\r\n }\r\n else if (transportType === 2 /* Fetch */ && isFetchSupported(syncSupport)) {\r\n sendPostFunc = _fetchSendPost;\r\n }\r\n else if (_useBeacons && transportType === 3 /* Beacon */ && isBeaconsSupported()) {\r\n sendPostFunc = _beaconSendPost;\r\n }\r\n lp++;\r\n }\r\n if (sendPostFunc) {\r\n return {\r\n _transport: transportType,\r\n _isSync: syncSupport,\r\n sendPOST: sendPostFunc\r\n };\r\n }\r\n return null;\r\n }\r\n _self[\"_getDbgPlgTargets\"] = function () {\r\n return [_sendInterfaces[0 /* Batched */], _killSwitch, _serializer, _sendInterfaces];\r\n };\r\n function _xdrSendPost(payload, oncomplete, sync) {\r\n // It doesn't support custom headers, so no action is taken with current requestHeaders\r\n var xdr = new XDomainRequest();\r\n xdr.open(Method, payload.urlString);\r\n // can't get the status code in xdr.\r\n xdr.onload = function () {\r\n // we will assume onload means the request succeeded.\r\n var response = _getResponseText(xdr);\r\n _doOnComplete(oncomplete, 200, {}, response);\r\n _handleCollectorResponse(response);\r\n };\r\n // we will assume onerror means we need to drop the events.\r\n xdr.onerror = function () {\r\n _doOnComplete(oncomplete, 400, {});\r\n };\r\n // we will assume ontimeout means we need to retry the events.\r\n xdr.ontimeout = function () {\r\n _doOnComplete(oncomplete, 500, {});\r\n };\r\n // https://cypressnorth.com/web-programming-and-development/internet-explorer-aborting-ajax-requests-fixed/\r\n // tslint:disable-next-line:no-empty\r\n xdr.onprogress = function () { };\r\n if (sync) {\r\n xdr.send(payload.data);\r\n }\r\n else {\r\n _postManager._setTimeoutOverride(function () {\r\n xdr.send(payload.data);\r\n }, 0);\r\n }\r\n }\r\n function _fetchSendPost(payload, oncomplete, sync) {\r\n var _a;\r\n var requestInit = (_a = {\r\n body: payload.data,\r\n method: Method\r\n },\r\n _a[DisabledPropertyName] = true,\r\n _a);\r\n if (sync) {\r\n requestInit.keepalive = true;\r\n }\r\n if (_sendCredentials) {\r\n // Don't send credentials when URL is file://\r\n requestInit.credentials = \"include\";\r\n }\r\n // Only add headers if there are headers to add, due to issue with some polyfills\r\n if (payload.headers && objKeys(payload.headers).length > 0) {\r\n requestInit.headers = payload.headers;\r\n }\r\n fetch(payload.urlString, requestInit).then(function (response) {\r\n var headerMap = {};\r\n var responseText = \"\";\r\n if (response.headers) {\r\n response.headers.forEach(function (value, name) {\r\n headerMap[name] = value;\r\n });\r\n }\r\n if (response.body) {\r\n response.text().then(function (text) {\r\n responseText = text;\r\n });\r\n }\r\n _doOnComplete(oncomplete, response.status, headerMap, responseText);\r\n _handleCollectorResponse(responseText);\r\n })[\"catch\"](function (error) {\r\n // In case there is an error in the request. Set the status to 0\r\n // so that the events can be retried later.\r\n _doOnComplete(oncomplete, 0, {});\r\n });\r\n }\r\n function _xhrSendPost(payload, oncomplete, sync) {\r\n function _appendHeader(theHeaders, xhr, name) {\r\n if (!theHeaders[name] && xhr && xhr.getResponseHeader) {\r\n var value = xhr.getResponseHeader(name);\r\n if (value) {\r\n theHeaders[name] = strTrim(value);\r\n }\r\n }\r\n return theHeaders;\r\n }\r\n function _getAllResponseHeaders(xhr) {\r\n var theHeaders = {};\r\n if (!xhr.getAllResponseHeaders) {\r\n // Firefox 2-63 doesn't have getAllResponseHeaders function but it does have getResponseHeader\r\n // Only call these if getAllResponseHeaders doesn't exist, otherwise we can get invalid response errors\r\n // as collector is not currently returning the correct header to allow JS to access these headers\r\n theHeaders = _appendHeader(theHeaders, xhr, strTimeDeltaHeader);\r\n theHeaders = _appendHeader(theHeaders, xhr, strKillDurationHeader);\r\n theHeaders = _appendHeader(theHeaders, xhr, strKillDurationSecondsHeader);\r\n }\r\n else {\r\n theHeaders = _convertAllHeadersToMap(xhr.getAllResponseHeaders());\r\n }\r\n return theHeaders;\r\n }\r\n function xhrComplete(xhr, responseTxt) {\r\n _doOnComplete(oncomplete, xhr.status, _getAllResponseHeaders(xhr), responseTxt);\r\n }\r\n var xhRequest = new XMLHttpRequest();\r\n try {\r\n xhRequest[DisabledPropertyName] = true;\r\n }\r\n catch (e) {\r\n // If the environment has locked down the XMLHttpRequest (preventExtensions and/or freeze), this would\r\n // cause the request to fail and we no telemetry would be sent\r\n }\r\n if (_sendCredentials) {\r\n // Special case where a local html file fails with a CORS error on Chromium browsers (protocol is only evaluated on initialization)\r\n xhRequest.withCredentials = true;\r\n }\r\n xhRequest.open(Method, payload.urlString, !sync);\r\n // Set custom headers (e.g. gzip) here (after open())\r\n objForEachKey(payload.headers, function (name, value) {\r\n xhRequest.setRequestHeader(name, value);\r\n });\r\n xhRequest.onload = function () {\r\n var response = _getResponseText(xhRequest);\r\n xhrComplete(xhRequest, response);\r\n _handleCollectorResponse(response);\r\n };\r\n xhRequest.onerror = function () {\r\n xhrComplete(xhRequest);\r\n };\r\n xhRequest.ontimeout = function () {\r\n xhrComplete(xhRequest);\r\n };\r\n xhRequest.send(payload.data);\r\n }\r\n function _doOnComplete(oncomplete, status, headers, response) {\r\n try {\r\n oncomplete(status, headers, response);\r\n }\r\n catch (e) {\r\n _postManager.diagLog().throwInternal(LoggingSeverity.WARNING, _ExtendedInternalMessageId.SendPostOnCompleteFailure, dumpObj(e));\r\n }\r\n }\r\n function _beaconSendPost(payload, oncomplete, sync) {\r\n // Custom headers not supported in sendBeacon payload.headers would be ignored\r\n var internalPayloadData = payload;\r\n var status = 200;\r\n var thePayload = internalPayloadData._thePayload;\r\n try {\r\n var nav_1 = getNavigator();\r\n if (!nav_1.sendBeacon(payload.urlString, payload.data)) {\r\n if (thePayload) {\r\n // Failed to send entire payload so try and split data and try to send as much events as possible\r\n var droppedBatches_1 = [];\r\n arrForEach(thePayload.batches, function (theBatch) {\r\n if (droppedBatches_1 && theBatch && theBatch.count() > 0) {\r\n var theEvents = theBatch.events();\r\n for (var lp = 0; lp < theEvents.length; lp++) {\r\n if (!nav_1.sendBeacon(payload.urlString, _serializer.getEventBlob(theEvents[lp]))) {\r\n // Can't send anymore, so split the batch and drop the rest\r\n droppedBatches_1.push(theBatch.split(lp));\r\n break;\r\n }\r\n }\r\n }\r\n else {\r\n // Remove all of the events from the existing batch in the payload as the copy includes the original\r\n droppedBatches_1.push(theBatch.split(0));\r\n }\r\n });\r\n _sendBatchesNotification(droppedBatches_1, 8003 /* SizeLimitExceeded */, thePayload.sendType, true);\r\n }\r\n else {\r\n status = 0;\r\n }\r\n }\r\n }\r\n catch (ex) {\r\n _postManager.diagLog().warnToConsole(\"Failed to send telemetry using sendBeacon API. Ex:\" + ex);\r\n status = 0;\r\n }\r\n finally {\r\n _doOnComplete(oncomplete, status, {}, \"\");\r\n }\r\n }\r\n function _isBeaconPayload(sendType) {\r\n // Sync Fetch has the same payload limitation as sendBeacon -- 64kb limit, so treat both as a beacon send\r\n return sendType === 2 /* SendBeacon */ || sendType === 3 /* SyncFetch */;\r\n }\r\n function _adjustSendType(sendType) {\r\n if (_isUnloading && _isBeaconPayload(sendType)) {\r\n sendType = 2 /* SendBeacon */;\r\n }\r\n return sendType;\r\n }\r\n _self.addQueryStringParameter = function (name, value) {\r\n for (var i = 0; i < _queryStringParameters.length; i++) {\r\n if (_queryStringParameters[i].name === name) {\r\n _queryStringParameters[i].value = value;\r\n return;\r\n }\r\n }\r\n _queryStringParameters.push({ name: name, value: value });\r\n };\r\n _self.addHeader = function (name, value) {\r\n _headers[name] = value;\r\n };\r\n _self.canSendRequest = function () {\r\n return _hasIdleConnection() && _clockSkewManager.allowRequestSending();\r\n };\r\n _self.sendQueuedRequests = function (sendType, sendReason) {\r\n if (isUndefined(sendType)) {\r\n sendType = 0 /* Batched */;\r\n }\r\n if (_isUnloading) {\r\n sendType = _adjustSendType(sendType);\r\n sendReason = 2 /* Unload */;\r\n }\r\n if (_canSendPayload(_batchQueue, sendType, 0)) {\r\n _sendBatches(_clearQueue(), 0, false, sendType, sendReason || 0 /* Undefined */);\r\n }\r\n };\r\n _self.isCompletelyIdle = function () {\r\n return !_paused && _outstandingRequests === 0 && _batchQueue.length === 0;\r\n };\r\n _self.setUnloading = function (value) {\r\n _isUnloading = value;\r\n };\r\n _self.addBatch = function (theBatch) {\r\n if (theBatch && theBatch.count() > 0) {\r\n // Try and kill the event faster\r\n if (_killSwitch.isTenantKilled(theBatch.iKey())) {\r\n return false;\r\n }\r\n _batchQueue.push(theBatch);\r\n }\r\n return true;\r\n };\r\n /**\r\n * Queue all the remaining requests to be sent. The requests will be\r\n * sent using HTML5 Beacons if they are available.\r\n */\r\n _self.teardown = function () {\r\n if (_batchQueue.length > 0) {\r\n _sendBatches(_clearQueue(), 0, true, 2 /* SendBeacon */, 2 /* Unload */);\r\n }\r\n };\r\n /**\r\n * Pause the sending of requests. No new requests will be sent.\r\n */\r\n _self.pause = function () {\r\n _paused = true;\r\n };\r\n /**\r\n * Resume the sending of requests.\r\n */\r\n _self.resume = function () {\r\n _paused = false;\r\n _self.sendQueuedRequests(0 /* Batched */, 4 /* Resumed */);\r\n };\r\n /**\r\n * Sends a request synchronously to the Aria collector. This api is used to send\r\n * a request containing a single immediate event.\r\n *\r\n * @param batch - The request to be sent.\r\n * @param sendReason - The token used to send the request.\r\n */\r\n _self.sendSynchronousBatch = function (batch, sendType, sendReason) {\r\n // This will not take into account the max connections restriction. Since this is sync, we can\r\n // only send one of this request at a time and thus should not worry about multiple connections\r\n // being used to send synchronous events.\r\n // Increment active connection since we are still going to use a connection to send the request.\r\n if (batch && batch.count() > 0) {\r\n if (isNullOrUndefined(sendType)) {\r\n sendType = 1 /* Synchronous */;\r\n }\r\n if (_isUnloading) {\r\n sendType = _adjustSendType(sendType);\r\n sendReason = 2 /* Unload */;\r\n }\r\n // For sync requests we will not wait for the clock skew.\r\n _sendBatches([batch], 0, false, sendType, sendReason || 0 /* Undefined */);\r\n }\r\n };\r\n function _hasIdleConnection() {\r\n return !_paused && _outstandingRequests < maxConnections;\r\n }\r\n function _clearQueue() {\r\n var theQueue = _batchQueue;\r\n _batchQueue = [];\r\n return theQueue;\r\n }\r\n function _canSendPayload(theBatches, sendType, retryCnt) {\r\n var result = false;\r\n if (theBatches && theBatches.length > 0 && !_paused && _sendInterfaces[sendType] && _serializer) {\r\n // Always attempt to send synchronous events don't wait for idle or clockSkew\r\n // and don't block retry requests if clockSkew is not yet set\r\n result = (sendType !== 0 /* Batched */) || (_hasIdleConnection() && (retryCnt > 0 || _clockSkewManager.allowRequestSending()));\r\n }\r\n return result;\r\n }\r\n function _createDebugBatches(theBatches) {\r\n var values = {};\r\n if (theBatches) {\r\n arrForEach(theBatches, function (theBatch, idx) {\r\n values[idx] = {\r\n iKey: theBatch.iKey(),\r\n evts: theBatch.events()\r\n };\r\n });\r\n }\r\n return values;\r\n }\r\n function _sendBatches(theBatches, retryCount, isTeardown, sendType, sendReason) {\r\n if (!theBatches || theBatches.length === 0) {\r\n // Nothing to do\r\n return;\r\n }\r\n if (_paused) {\r\n _sendBatchesNotification(theBatches, 1 /* Paused */, sendType);\r\n return;\r\n }\r\n // Make sure that if we are unloading the sendType is a supported version\r\n sendType = _adjustSendType(sendType);\r\n try {\r\n var orgBatches_1 = theBatches;\r\n var isSynchronous_1 = sendType !== 0 /* Batched */;\r\n doPerf(_core, function () { return \"HttpManager:_sendBatches\"; }, function (perfEvt) {\r\n if (perfEvt) {\r\n // Perf Monitoring is enabled, so create a \"Quick\" copy of the original batches so we still report\r\n // the original values as part of the perfEvent. This is because theBatches uses .shift() to remove each\r\n // batch as they are processed - removing from the original array, so by the time the _createDebugBatches()\r\n // function is called the passed in value has changed and therefore the reported value for the perfEvent is incorrect\r\n theBatches = theBatches.slice(0);\r\n }\r\n var droppedBatches = [];\r\n var thePayload = null;\r\n var serializationStart = getTime();\r\n var sendInterface = _sendInterfaces[sendType] || (isSynchronous_1 ? _sendInterfaces[1 /* Synchronous */] : _sendInterfaces[0 /* Batched */]);\r\n // Sync Fetch has the same payload limitation as sendBeacon -- 64kb limit\r\n var isBeaconTransport = (_isUnloading || _isBeaconPayload(sendType) || (sendInterface && sendInterface._transport === 3 /* Beacon */)) && _canUseSendBeaconApi();\r\n while (_canSendPayload(theBatches, sendType, retryCount)) {\r\n var theBatch = theBatches.shift();\r\n if (theBatch && theBatch.count() > 0) {\r\n if (!_killSwitch.isTenantKilled(theBatch.iKey())) {\r\n // Make sure we have a payload object\r\n thePayload = thePayload || _serializer.createPayload(retryCount, isTeardown, isSynchronous_1, isBeaconTransport, sendReason, sendType);\r\n // Add the batch to the current payload\r\n if (!_serializer.appendPayload(thePayload, theBatch, maxEventsPerBatch)) {\r\n // Entire batch was not added so send the payload and retry adding this batch\r\n _doPayloadSend(thePayload, serializationStart, getTime(), sendReason);\r\n serializationStart = getTime();\r\n theBatches = [theBatch].concat(theBatches);\r\n thePayload = null;\r\n }\r\n else if (thePayload.overflow !== null) {\r\n // Total Payload size was exceeded so send the payload and add the unsent as the next batch to send\r\n theBatches = [thePayload.overflow].concat(theBatches);\r\n thePayload.overflow = null;\r\n _doPayloadSend(thePayload, serializationStart, getTime(), sendReason);\r\n serializationStart = getTime();\r\n thePayload = null;\r\n }\r\n }\r\n else {\r\n droppedBatches.push(theBatch);\r\n }\r\n }\r\n }\r\n // Make sure to flush any remaining payload\r\n if (thePayload) {\r\n _doPayloadSend(thePayload, serializationStart, getTime(), sendReason);\r\n }\r\n if (theBatches.length > 0) {\r\n // Add any unsent batches back to the head of the queue\r\n _batchQueue = theBatches.concat(_batchQueue);\r\n }\r\n // Now send notification about any dropped events\r\n _sendBatchesNotification(droppedBatches, 8004 /* KillSwitch */, sendType);\r\n }, function () { return ({ batches: _createDebugBatches(orgBatches_1), retryCount: retryCount, isTeardown: isTeardown, isSynchronous: isSynchronous_1, sendReason: sendReason, useSendBeacon: _isBeaconPayload(sendType), sendType: sendType }); }, !isSynchronous_1);\r\n }\r\n catch (ex) {\r\n _postManager.diagLog().throwInternal(LoggingSeverity.WARNING, _ExtendedInternalMessageId.CannotSerializeObject, \"Unexpected Exception sending batch: \" + dumpObj(ex));\r\n }\r\n }\r\n function _buildQueryString(thePayload) {\r\n var urlString = _urlString;\r\n var apiQsKeys = \"\";\r\n arrForEach(thePayload.apiKeys, function (apiKey) {\r\n if (apiQsKeys.length > 0) {\r\n apiQsKeys += \",\";\r\n }\r\n apiQsKeys += apiKey;\r\n });\r\n if (apiQsKeys.length > 0) {\r\n urlString += \"&apikey=\" + apiQsKeys;\r\n }\r\n urlString += \"&upload-time=\" + dateNow().toString();\r\n var msfpc = _getMsfpc(thePayload);\r\n if (isValueAssigned(msfpc)) {\r\n urlString = urlString + \"&ext.intweb.msfpc=\" + msfpc;\r\n }\r\n if (_clockSkewManager.shouldAddClockSkewHeaders()) {\r\n urlString += \"&time-delta-to-apply-millis=\" + _clockSkewManager.getClockSkewHeaderValue();\r\n }\r\n if (_core.getWParam) {\r\n var wParam = _core.getWParam();\r\n if (wParam >= 0) {\r\n urlString += \"&w=\" + wParam;\r\n }\r\n }\r\n for (var i = 0; i < _queryStringParameters.length; i++) {\r\n urlString += \"&\" + _queryStringParameters[i].name + \"=\" + _queryStringParameters[i].value;\r\n }\r\n return urlString;\r\n }\r\n function _canUseSendBeaconApi() {\r\n return !_customHttpInterface && _useBeacons && isBeaconsSupported();\r\n }\r\n function _setTimingValue(timings, name, value) {\r\n timings[name] = timings[name] || {};\r\n timings[name][_postManager.identifier] = value;\r\n }\r\n function _doPayloadSend(thePayload, serializationStart, serializationCompleted, sendReason) {\r\n if (thePayload && thePayload.payloadBlob && thePayload.payloadBlob.length > 0) {\r\n var urlString_1 = _buildQueryString(thePayload);\r\n var sendEventStart_1 = getTime();\r\n var strSendAttempt_1 = \"sendAttempt\";\r\n doPerf(_core, function () { return \"HttpManager:_doPayloadSend\"; }, function () {\r\n // Increment the send attempt count and add timings after packaging (So it's not serialized in the 1st attempt)\r\n for (var batchLp = 0; batchLp < thePayload.batches.length; batchLp++) {\r\n var theBatch = thePayload.batches[batchLp];\r\n var theEvents = theBatch.events();\r\n for (var evtLp = 0; evtLp < theEvents.length; evtLp++) {\r\n var telemetryItem = theEvents[evtLp];\r\n if (_enableEventTimings) {\r\n var timings = telemetryItem.timings = telemetryItem.timings || {};\r\n _setTimingValue(timings, \"sendEventStart\", sendEventStart_1);\r\n _setTimingValue(timings, \"serializationStart\", serializationStart);\r\n _setTimingValue(timings, \"serializationCompleted\", serializationCompleted);\r\n }\r\n telemetryItem[strSendAttempt_1] > 0 ? telemetryItem[strSendAttempt_1]++ : telemetryItem[strSendAttempt_1] = 1;\r\n }\r\n }\r\n // Note: always sending this notification in a synchronous manner.\r\n _sendBatchesNotification(thePayload.batches, (1000 /* SendingUndefined */ + (sendReason || 0 /* Undefined */)), thePayload.sendType, true);\r\n var orgPayloadData = {\r\n data: thePayload.payloadBlob,\r\n urlString: urlString_1,\r\n headers: extend({}, _headers),\r\n _thePayload: thePayload,\r\n _sendReason: sendReason\r\n };\r\n if (!_hasHeader(orgPayloadData.headers, strCacheControl)) {\r\n orgPayloadData.headers[strCacheControl] = defaultCacheControl;\r\n }\r\n if (!_hasHeader(orgPayloadData.headers, strContentTypeHeader)) {\r\n orgPayloadData.headers[strContentTypeHeader] = defaultContentType;\r\n }\r\n var sender = null;\r\n var useSendHook = !!_self.sendHook;\r\n var sendInterface = _sendInterfaces[thePayload.sendType];\r\n // Send all data using a beacon style transport if closing mode is on or channel was teared down\r\n if (!_isBeaconPayload(thePayload.sendType) && thePayload.isBeacon && thePayload.sendReason === 2 /* Unload */) {\r\n sendInterface = _sendInterfaces[2 /* SendBeacon */] || _sendInterfaces[3 /* SyncFetch */] || sendInterface;\r\n }\r\n if (sendInterface) {\r\n // Send sync requests if the request is immediate or we are tearing down telemetry.\r\n sender = function (payload) {\r\n // Notify the clock skew manager that we are sending the first request (Potentially blocking all further requests)\r\n _clockSkewManager.firstRequestSent();\r\n var onComplete = function (status, headers) {\r\n _retryRequestIfNeeded(status, headers, thePayload, sendReason);\r\n };\r\n var isSync = thePayload.isTeardown || thePayload.isSync;\r\n try {\r\n sendInterface.sendPOST(payload, onComplete, isSync);\r\n if (_self.sendListener) {\r\n // Send the original payload to the listener\r\n _self.sendListener(orgPayloadData, payload, isSync, thePayload.isBeacon);\r\n }\r\n }\r\n catch (ex) {\r\n _postManager.diagLog().warnToConsole(\"Unexpected exception sending payload. Ex:\" + dumpObj(ex));\r\n _doOnComplete(onComplete, 0, {});\r\n }\r\n };\r\n }\r\n doPerf(_core, function () { return \"HttpManager:_doPayloadSend.sender\"; }, function () {\r\n if (sender) {\r\n if (thePayload.sendType === 0 /* Batched */) {\r\n _outstandingRequests++;\r\n }\r\n // Only call the hook if it's defined and we are not using sendBeacon as additional headers are not supported\r\n if (useSendHook && !thePayload.isBeacon && sendInterface._transport !== 3 /* Beacon */) {\r\n // Create a new IPayloadData that is sent into the hook method, so that the hook method\r\n // can't change the object references to the orgPayloadData (it can still change the content -- mainly the headers)\r\n var hookData_1 = {\r\n data: orgPayloadData.data,\r\n urlString: orgPayloadData.urlString,\r\n headers: orgPayloadData.headers\r\n };\r\n var senderCalled_1 = false;\r\n doPerf(_core, function () { return \"HttpManager:_doPayloadSend.sendHook\"; }, function () {\r\n try {\r\n _self.sendHook(hookData_1, function (payload) {\r\n senderCalled_1 = true;\r\n // Add back the internal properties\r\n if (!_customHttpInterface && !payload._thePayload) {\r\n payload._thePayload = payload._thePayload || orgPayloadData._thePayload;\r\n payload._sendReason = payload._sendReason || orgPayloadData._sendReason;\r\n }\r\n sender(payload);\r\n }, thePayload.isSync || thePayload.isTeardown);\r\n }\r\n catch (ex) {\r\n if (!senderCalled_1) {\r\n // The hook never called the sender -- assume that it never will\r\n sender(orgPayloadData);\r\n }\r\n }\r\n });\r\n }\r\n else {\r\n sender(orgPayloadData);\r\n }\r\n }\r\n });\r\n }, function () { return ({ thePayload: thePayload, serializationStart: serializationStart, serializationCompleted: serializationCompleted, sendReason: sendReason }); }, thePayload.isSync);\r\n }\r\n if (thePayload.sizeExceed && thePayload.sizeExceed.length > 0) {\r\n // Ensure that we send any discard events for oversize events even when there was no payload to send\r\n _sendBatchesNotification(thePayload.sizeExceed, 8003 /* SizeLimitExceeded */, thePayload.sendType);\r\n }\r\n if (thePayload.failedEvts && thePayload.failedEvts.length > 0) {\r\n // Ensure that we send any discard events for events that could not be serialized even when there was no payload to send\r\n _sendBatchesNotification(thePayload.failedEvts, 8002 /* InvalidEvent */, thePayload.sendType);\r\n }\r\n }\r\n function _addEventCompletedTimings(theEvents, sendEventCompleted) {\r\n if (_enableEventTimings) {\r\n arrForEach(theEvents, function (theEvent) {\r\n var timings = theEvent.timings = theEvent.timings || {};\r\n _setTimingValue(timings, \"sendEventCompleted\", sendEventCompleted);\r\n });\r\n }\r\n }\r\n function _retryRequestIfNeeded(status, headers, thePayload, sendReason) {\r\n var reason = 9000 /* ResponseFailure */;\r\n var droppedBatches = null;\r\n var isRetrying = false;\r\n var backOffTrans = false;\r\n try {\r\n var shouldRetry = true;\r\n if (typeof status !== strUndefined) {\r\n if (headers) {\r\n _clockSkewManager.setClockSkew(headers[strTimeDeltaHeader]);\r\n var killDuration = headers[strKillDurationHeader] || headers[\"kill-duration-seconds\"];\r\n arrForEach(_killSwitch.setKillSwitchTenants(headers[strKillTokensHeader], killDuration), function (killToken) {\r\n arrForEach(thePayload.batches, function (theBatch) {\r\n if (theBatch.iKey() === killToken) {\r\n // Make sure we have initialized the array\r\n droppedBatches = droppedBatches || [];\r\n // Create a copy of the batch with all of the events (and more importantly the action functions)\r\n var removedEvents = theBatch.split(0);\r\n // And then remove the events for the payload batch and reduce the actual number of processed\r\n thePayload.numEvents -= removedEvents.count();\r\n droppedBatches.push(removedEvents);\r\n }\r\n });\r\n });\r\n }\r\n // Disabling triple-equals rule to avoid httpOverrides from failing because they are returning a string value\r\n // tslint:disable-next-line:triple-equals\r\n if (status == 200) {\r\n // Response was successfully sent\r\n reason = 200 /* Complete */;\r\n return;\r\n }\r\n if (!RetryPolicy.shouldRetryForStatus(status) || thePayload.numEvents <= 0) {\r\n // Only retry for specific response codes and if there is still events after kill switch processing\r\n shouldRetry = false;\r\n }\r\n // Derive the notification response from the HttpStatus Code\r\n reason = 9000 /* ResponseFailure */ + (status % 1000);\r\n }\r\n if (shouldRetry) {\r\n // The events should be retried -- so change notification to requeue them\r\n reason = 100 /* RequeueEvents */;\r\n var retryCount_1 = thePayload.retryCnt;\r\n if (thePayload.sendType === 0 /* Batched */) {\r\n if (retryCount_1 < maxRetries) {\r\n isRetrying = true;\r\n _doAction(function () {\r\n // try to resend the same batches\r\n if (thePayload.sendType === 0 /* Batched */) {\r\n // Reduce the outstanding request count (if this was an async request) as we didn't reduce the count\r\n // previously and we are about to reschedule our retry attempt and we want an attempt to send\r\n // to occur, it's also required to ensure that a follow up handleRequestFinished() call occurs\r\n _outstandingRequests--;\r\n }\r\n _sendBatches(thePayload.batches, retryCount_1 + 1, thePayload.isTeardown, _isUnloading ? 2 /* SendBeacon */ : thePayload.sendType, 5 /* Retry */);\r\n }, _isUnloading, RetryPolicy.getMillisToBackoffForRetry(retryCount_1));\r\n }\r\n else {\r\n backOffTrans = true;\r\n }\r\n }\r\n }\r\n }\r\n finally {\r\n if (!isRetrying) {\r\n // Make sure the clockSkewManager doesn't blocking further sending of requests once we have a proper response\r\n // This won't override any previously sent clock Skew value\r\n _clockSkewManager.setClockSkew();\r\n _handleRequestFinished(thePayload, reason, sendReason, backOffTrans);\r\n }\r\n _sendBatchesNotification(droppedBatches, 8004 /* KillSwitch */, thePayload.sendType);\r\n }\r\n }\r\n function _handleRequestFinished(thePayload, batchReason, sendReason, backOffTrans) {\r\n try {\r\n if (backOffTrans) {\r\n // Slow down the transmission requests\r\n _postManager._backOffTransmission();\r\n }\r\n if (batchReason === 200 /* Complete */) {\r\n if (!backOffTrans && !thePayload.isSync) {\r\n // We have a successful async response, so the lets open the floodgates\r\n // The reason for checking isSync is to avoid unblocking if beacon send occurred as it\r\n // doesn't wait for a response.\r\n _postManager._clearBackOff();\r\n }\r\n _addCompleteTimings(thePayload.batches);\r\n }\r\n // Send the notifications synchronously\r\n _sendBatchesNotification(thePayload.batches, batchReason, thePayload.sendType, true);\r\n }\r\n finally {\r\n if (thePayload.sendType === 0 /* Batched */) {\r\n // we always need to decrement this value otherwise the httpmanager locks up and won't send any more events\r\n _outstandingRequests--;\r\n // Don't try to send additional queued events if this is a retry operation as the retried\r\n // response will eventually call _handleRequestFinished for the retried event\r\n if (sendReason !== 5 /* Retry */) {\r\n // Try and send any other queued batched events\r\n _self.sendQueuedRequests(thePayload.sendType, sendReason);\r\n }\r\n }\r\n }\r\n }\r\n function _addCompleteTimings(theBatches) {\r\n if (_enableEventTimings) {\r\n var sendEventCompleted_1 = getTime();\r\n arrForEach(theBatches, function (theBatch) {\r\n if (theBatch && theBatch.count() > 0) {\r\n _addEventCompletedTimings(theBatch.events(), sendEventCompleted_1);\r\n }\r\n });\r\n }\r\n }\r\n function _doAction(cb, isSync, interval) {\r\n if (isSync) {\r\n cb();\r\n }\r\n else {\r\n _postManager._setTimeoutOverride(cb, interval);\r\n }\r\n }\r\n /**\r\n * Converts the XHR getAllResponseHeaders to a map containing the header key and value.\r\n */\r\n // tslint:disable-next-line: align\r\n function _convertAllHeadersToMap(headersString) {\r\n var headers = {};\r\n if (isString(headersString)) {\r\n var headersArray = strTrim(headersString).split(/[\\r\\n]+/);\r\n arrForEach(headersArray, function (headerEntry) {\r\n if (headerEntry) {\r\n var idx = headerEntry.indexOf(\": \");\r\n if (idx !== -1) {\r\n // The new spec has the headers returning all as lowercase -- but not all browsers do this yet\r\n var header = strTrim(headerEntry.substring(0, idx)).toLowerCase();\r\n var value = strTrim(headerEntry.substring(idx + 1));\r\n headers[header] = value;\r\n }\r\n else {\r\n headers[strTrim(headerEntry)] = 1;\r\n }\r\n }\r\n });\r\n }\r\n return headers;\r\n }\r\n function _getMsfpc(thePayload) {\r\n for (var lp = 0; lp < thePayload.batches.length; lp++) {\r\n var batchEvents = thePayload.batches[lp].events();\r\n for (var evtLp = 0; evtLp < batchEvents.length; evtLp++) {\r\n var intWeb = ((batchEvents[evtLp].ext || {})[\"intweb\"] || {});\r\n if (isValueAssigned(intWeb[\"msfpc\"])) {\r\n return encodeURIComponent(intWeb[\"msfpc\"]);\r\n }\r\n }\r\n }\r\n return \"\";\r\n }\r\n function _handleCollectorResponse(responseText) {\r\n var responseHandlers = _self._responseHandlers;\r\n try {\r\n for (var i = 0; i < responseHandlers.length; i++) {\r\n try {\r\n responseHandlers[i](responseText);\r\n }\r\n catch (e) {\r\n _postManager.diagLog().throwInternal(LoggingSeverity.CRITICAL, _ExtendedInternalMessageId.PostResponseHandler, \"Response handler failed: \" + e);\r\n }\r\n }\r\n if (responseText) {\r\n var response = JSON.parse(responseText);\r\n if (isValueAssigned(response.webResult) && isValueAssigned(response.webResult.msfpc)) {\r\n // Set cookie\r\n _cookieMgr.set(\"MSFPC\", response.webResult.msfpc, 365 * 86400);\r\n }\r\n }\r\n }\r\n catch (ex) {\r\n // Doing nothing\r\n }\r\n }\r\n function _sendBatchesNotification(theBatches, batchReason, sendType, sendSync) {\r\n if (theBatches && theBatches.length > 0 && actions) {\r\n var theAction_1 = actions[_getNotificationAction(batchReason)];\r\n if (theAction_1) {\r\n var isSyncRequest_1 = sendType !== 0 /* Batched */;\r\n doPerf(_core, function () { return \"HttpManager:_sendBatchesNotification\"; }, function () {\r\n _doAction(function () {\r\n try {\r\n theAction_1.call(actions, theBatches, batchReason, isSyncRequest_1, sendType);\r\n }\r\n catch (e) {\r\n _postManager.diagLog().throwInternal(LoggingSeverity.CRITICAL, _ExtendedInternalMessageId.NotificationException, \"send request notification failed: \" + e);\r\n }\r\n }, sendSync || isSyncRequest_1, 0);\r\n }, function () { return ({ batches: _createDebugBatches(theBatches), reason: batchReason, isSync: isSyncRequest_1, sendSync: sendSync, sendType: sendType }); }, !isSyncRequest_1);\r\n }\r\n }\r\n }\r\n function _getNotificationAction(reason) {\r\n var action = _eventActionMap[reason];\r\n if (!isValueAssigned(action)) {\r\n action = strOther;\r\n if (reason >= 9000 /* ResponseFailure */ && reason <= 9999 /* ResponseFailureMax */) {\r\n action = strResponseFail;\r\n }\r\n else if (reason >= 8000 /* EventsDropped */ && reason <= 8999 /* EventsDroppedMax */) {\r\n action = strDropped;\r\n }\r\n else if (reason >= 1000 /* SendingUndefined */ && reason <= 1999 /* SendingEventMax */) {\r\n action = strSending;\r\n }\r\n }\r\n return action;\r\n }\r\n });\r\n }\r\n// Removed Stub for HttpManager.prototype.initialize.\r\n// Removed Stub for HttpManager.prototype.addQueryStringParameter.\r\n// Removed Stub for HttpManager.prototype.addHeader.\r\n// Removed Stub for HttpManager.prototype.addBatch.\r\n// Removed Stub for HttpManager.prototype.canSendRequest.\r\n// Removed Stub for HttpManager.prototype.sendQueuedRequests.\r\n// Removed Stub for HttpManager.prototype.isCompletelyIdle.\r\n// Removed Stub for HttpManager.prototype.setUnloading.\r\n// Removed Stub for HttpManager.prototype.teardown.\r\n// Removed Stub for HttpManager.prototype.pause.\r\n// Removed Stub for HttpManager.prototype.resume.\r\n// Removed Stub for HttpManager.prototype.sendSynchronousBatch.\r\n return HttpManager;\r\n}());\r\nexport default HttpManager;\r\n//# sourceMappingURL=HttpManager.js.map","/*\n * 1DS JS SDK POST plugin, 3.1.6\n * Copyright (c) Microsoft and contributors. All rights reserved.\n * (Microsoft Internal Only)\n */\n/**\r\n* KillSwitch.ts\r\n* @author Abhilash Panwar (abpanwar)\r\n* @copyright Microsoft 2018\r\n*/\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { arrForEach, strTrim, dateNow } from \"@microsoft/1ds-core-js\";\r\nvar SecToMsMultiplier = 1000;\r\n/**\r\n* Class to stop certain tenants sending events.\r\n*/\r\nvar KillSwitch = /** @class */ (function () {\r\n function KillSwitch() {\r\n var _killedTokenDictionary = {};\r\n function _normalizeTenants(values) {\r\n var result = [];\r\n if (values) {\r\n arrForEach(values, function (value) {\r\n result.push(strTrim(value));\r\n });\r\n }\r\n return result;\r\n }\r\n dynamicProto(KillSwitch, this, function (_self) {\r\n _self.setKillSwitchTenants = function (killTokens, killDuration) {\r\n if (killTokens && killDuration) {\r\n try {\r\n var killedTokens = _normalizeTenants(killTokens.split(\",\"));\r\n if (killDuration === \"this-request-only\") {\r\n return killedTokens;\r\n }\r\n var durationMs = parseInt(killDuration, 10) * SecToMsMultiplier;\r\n for (var i = 0; i < killedTokens.length; ++i) {\r\n _killedTokenDictionary[killedTokens[i]] = dateNow() + durationMs;\r\n }\r\n }\r\n catch (ex) {\r\n return [];\r\n }\r\n }\r\n return [];\r\n };\r\n _self.isTenantKilled = function (tenantToken) {\r\n var killDictionary = _killedTokenDictionary;\r\n var name = strTrim(tenantToken);\r\n if (killDictionary[name] !== undefined && killDictionary[name] > dateNow()) {\r\n return true;\r\n }\r\n delete killDictionary[name];\r\n return false;\r\n };\r\n });\r\n }\r\n// Removed Stub for KillSwitch.prototype.setKillSwitchTenants.\r\n// Removed Stub for KillSwitch.prototype.isTenantKilled.\r\n return KillSwitch;\r\n}());\r\nexport default KillSwitch;\r\n//# sourceMappingURL=KillSwitch.js.map","/*\n * 1DS JS SDK POST plugin, 3.1.6\n * Copyright (c) Microsoft and contributors. All rights reserved.\n * (Microsoft Internal Only)\n */\n/**\r\n* ClockSkewManager.ts\r\n* @author Abhilash Panwar (abpanwar)\r\n* @copyright Microsoft 2018\r\n*/\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\n/**\r\n* Class to manage clock skew correction.\r\n*/\r\nvar ClockSkewManager = /** @class */ (function () {\r\n function ClockSkewManager() {\r\n var _allowRequestSending = true;\r\n var _shouldAddClockSkewHeaders = true;\r\n var _isFirstRequest = true;\r\n var _clockSkewHeaderValue = \"use-collector-delta\";\r\n var _clockSkewSet = false;\r\n dynamicProto(ClockSkewManager, this, function (_self) {\r\n /**\r\n * Determine if requests can be sent.\r\n * @returns True if requests can be sent, false otherwise.\r\n */\r\n _self.allowRequestSending = function () {\r\n return _allowRequestSending;\r\n };\r\n /**\r\n * Tells the ClockSkewManager that it should assume that the first request has now been sent,\r\n * If this method had not yet been called AND the clock Skew had not been set this will set\r\n * allowRequestSending to false until setClockSet() is called.\r\n */\r\n _self.firstRequestSent = function () {\r\n if (_isFirstRequest) {\r\n _isFirstRequest = false;\r\n if (!_clockSkewSet) {\r\n // Block sending until we get the first clock Skew\r\n _allowRequestSending = false;\r\n }\r\n }\r\n };\r\n /**\r\n * Determine if clock skew headers should be added to the request.\r\n * @returns True if clock skew headers should be added, false otherwise.\r\n */\r\n _self.shouldAddClockSkewHeaders = function () {\r\n return _shouldAddClockSkewHeaders;\r\n };\r\n /**\r\n * Gets the clock skew header value.\r\n * @returns The clock skew header value.\r\n */\r\n _self.getClockSkewHeaderValue = function () {\r\n return _clockSkewHeaderValue;\r\n };\r\n /**\r\n * Sets the clock skew header value. Once clock skew is set this method\r\n * is no-op.\r\n * @param timeDeltaInMillis - Time delta to be saved as the clock skew header value.\r\n */\r\n _self.setClockSkew = function (timeDeltaInMillis) {\r\n if (!_clockSkewSet) {\r\n if (timeDeltaInMillis) {\r\n _clockSkewHeaderValue = timeDeltaInMillis;\r\n _shouldAddClockSkewHeaders = true;\r\n _clockSkewSet = true;\r\n }\r\n else {\r\n _shouldAddClockSkewHeaders = false;\r\n }\r\n // Unblock sending\r\n _allowRequestSending = true;\r\n }\r\n };\r\n });\r\n }\r\n// Removed Stub for ClockSkewManager.prototype.allowRequestSending.\r\n// Removed Stub for ClockSkewManager.prototype.firstRequestSent.\r\n// Removed Stub for ClockSkewManager.prototype.shouldAddClockSkewHeaders.\r\n// Removed Stub for ClockSkewManager.prototype.getClockSkewHeaderValue.\r\n// Removed Stub for ClockSkewManager.prototype.setClockSkew.\r\n return ClockSkewManager;\r\n}());\r\nexport default ClockSkewManager;\r\n//# sourceMappingURL=ClockSkewManager.js.map","/*\n * 1DS JS SDK POST plugin, 3.1.6\n * Copyright (c) Microsoft and contributors. All rights reserved.\n * (Microsoft Internal Only)\n */\nimport { __extendsFn as __extends } from \"@microsoft/applicationinsights-shims\";\r\n/**\r\n* PostManager.ts\r\n* @author Abhilash Panwar (abpanwar); Hector Hernandez (hectorh); Nev Wylie (newylie)\r\n* @copyright Microsoft 2018-2020\r\n*/\r\nimport { BaseTelemetryPlugin, EventLatency, EventsDiscardedReason, isValueAssigned, addPageUnloadEventListener, addPageHideEventListener, addPageShowEventListener, setProcessTelemetryTimings, isWindowObjectAvailable, arrForEach, LoggingSeverity, _ExtendedInternalMessageId, doPerf, objForEachKey, optimizeObject, isChromium, getWindow, } from \"@microsoft/1ds-core-js\";\r\nimport { RT_PROFILE, NRT_PROFILE, BE_PROFILE, } from \"./DataModels\";\r\nimport { EventBatch } from \"./EventBatch\";\r\nimport HttpManager from \"./HttpManager\";\r\nimport RetryPolicy from \"./RetryPolicy\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nvar FlushCheckTimer = 0.250; // This needs to be in seconds, so this is 250ms\r\nvar MaxNumberEventPerBatch = 500;\r\nvar EventsDroppedAtOneTime = 20;\r\nvar MaxSendAttempts = 6;\r\nvar MaxBackoffCount = 4;\r\nvar globalContext = isWindowObjectAvailable ? window : this;\r\nvar MaxConnections = 2;\r\nvar MaxRetries = 1;\r\nvar strEventsDiscarded = \"eventsDiscarded\";\r\nvar strOverrideInstrumentationKey = \"overrideInstrumentationKey\";\r\n/**\r\n * Class that manages adding events to inbound queues and batching of events\r\n * into requests.\r\n */\r\nvar PostChannel = /** @class */ (function (_super) {\r\n __extends(PostChannel, _super);\r\n function PostChannel() {\r\n var _this = _super.call(this) || this;\r\n _this.identifier = \"PostChannel\";\r\n _this.priority = 1011;\r\n _this.version = '3.1.6';\r\n var _config;\r\n var _isTeardownCalled = false;\r\n var _flushCallbackQueue = [];\r\n var _flushCallbackTimerId = null;\r\n var _paused = false;\r\n var _immediateQueueSize = 0;\r\n var _immediateQueueSizeLimit = 500;\r\n var _queueSize = 0;\r\n var _queueSizeLimit = 10000;\r\n var _profiles = {};\r\n var _currentProfile = RT_PROFILE;\r\n var _scheduledTimerId = null;\r\n var _immediateTimerId = null;\r\n var _currentBackoffCount = 0;\r\n var _timerCount = 0;\r\n var _xhrOverride;\r\n var _httpManager;\r\n var _batchQueues = {};\r\n var _autoFlushEventsLimit;\r\n // either MaxBatchSize * (1+ Max Connections) or _queueLimit / 6 (where 3 latency Queues [normal, realtime, cost deferred] * 2 [allow half full -- allow for retry])\r\n var _autoFlushBatchLimit;\r\n var _delayedBatchSendLatency = -1;\r\n var _delayedBatchReason;\r\n var _optimizeObject = true;\r\n var _isPageUnloadTriggered = false;\r\n dynamicProto(PostChannel, _this, function (_self, _base) {\r\n _initializeProfiles();\r\n _clearQueues();\r\n _setAutoLimits();\r\n _httpManager = new HttpManager(MaxNumberEventPerBatch, MaxConnections, MaxRetries, {\r\n requeue: _requeueEvents,\r\n send: _sendingEvent,\r\n sent: _eventsSentEvent,\r\n drop: _eventsDropped,\r\n rspFail: _eventsResponseFail,\r\n oth: _otherEvent\r\n });\r\n // Special internal method to allow the DebugPlugin to hook embedded objects\r\n _self[\"_getDbgPlgTargets\"] = function () {\r\n return [_httpManager];\r\n };\r\n _self.initialize = function (coreConfig, core, extensions) {\r\n doPerf(core, function () { return \"PostChannel:initialize\"; }, function () {\r\n var extendedCore = core;\r\n _base.initialize(coreConfig, core, extensions);\r\n _self.setInitialized(false);\r\n var ctx = _self._getTelCtx();\r\n coreConfig.extensionConfig[_self.identifier] = coreConfig.extensionConfig[_self.identifier] || {};\r\n _config = ctx.getExtCfg(_self.identifier);\r\n _self._setTimeoutOverride = _config.setTimeoutOverride ? _config.setTimeoutOverride : setTimeout.bind(globalContext);\r\n _self._clearTimeoutOverride = _config.clearTimeoutOverride ? _config.clearTimeoutOverride : clearTimeout.bind(globalContext);\r\n // Only try and use the optimizeObject() if this appears to be a chromium based browser and it has not been explicitly disabled\r\n _optimizeObject = !_config.disableOptimizeObj && isChromium();\r\n var existingGetWParamMethod = extendedCore.getWParam;\r\n extendedCore.getWParam = function () {\r\n var wparam = 0;\r\n if (_config.ignoreMc1Ms0CookieProcessing) {\r\n wparam = wparam | 2;\r\n }\r\n return wparam | existingGetWParamMethod();\r\n };\r\n if (_config.eventsLimitInMem > 0) {\r\n _queueSizeLimit = _config.eventsLimitInMem;\r\n }\r\n if (_config.immediateEventLimit > 0) {\r\n _immediateQueueSizeLimit = _config.immediateEventLimit;\r\n }\r\n if (_config.autoFlushEventsLimit > 0) {\r\n _autoFlushEventsLimit = _config.autoFlushEventsLimit;\r\n }\r\n _setAutoLimits();\r\n if (_config.httpXHROverride && _config.httpXHROverride.sendPOST) {\r\n _xhrOverride = _config.httpXHROverride;\r\n }\r\n if (isValueAssigned(coreConfig.anonCookieName)) {\r\n _httpManager.addQueryStringParameter(\"anoncknm\", coreConfig.anonCookieName);\r\n }\r\n _httpManager.sendHook = _config.payloadPreprocessor;\r\n _httpManager.sendListener = _config.payloadListener;\r\n // Override endpointUrl if provided in Post config\r\n var endpointUrl = _config.overrideEndpointUrl ? _config.overrideEndpointUrl : coreConfig.endpointUrl;\r\n _self._notificationManager = coreConfig.extensionConfig.NotificationManager;\r\n _httpManager.initialize(endpointUrl, _self.core, _self, _xhrOverride, _config);\r\n function _handleUnloadEvents(evt) {\r\n var theEvt = evt || getWindow().event; // IE 8 does not pass the event\r\n if (theEvt.type !== \"beforeunload\") {\r\n // Only set the unload trigger if not beforeunload event as beforeunload can be cancelled while the other events can't\r\n _isPageUnloadTriggered = true;\r\n _httpManager.setUnloading(_isPageUnloadTriggered);\r\n }\r\n _releaseAllQueues(2 /* SendBeacon */, 2 /* Unload */);\r\n }\r\n // When running in Web browsers try to send all telemetry if page is unloaded\r\n addPageUnloadEventListener(_handleUnloadEvents);\r\n addPageHideEventListener(_handleUnloadEvents);\r\n addPageShowEventListener(function (evt) {\r\n // Handle the page becoming visible again\r\n _isPageUnloadTriggered = false;\r\n _httpManager.setUnloading(_isPageUnloadTriggered);\r\n });\r\n _self.setInitialized(true);\r\n }, function () { return ({ coreConfig: coreConfig, core: core, extensions: extensions }); });\r\n };\r\n _self.processTelemetry = function (ev, itemCtx) {\r\n setProcessTelemetryTimings(ev, _self.identifier);\r\n itemCtx = _self._getTelCtx(itemCtx);\r\n // Get the channel instance from the current request/instance\r\n var channelConfig = itemCtx.getExtCfg(_self.identifier);\r\n // DisableTelemetry was defined in the config provided during initialization\r\n var disableTelemetry = !!_config.disableTelemetry;\r\n if (channelConfig) {\r\n // DisableTelemetry is defined in the config for this request/instance\r\n disableTelemetry = disableTelemetry || !!channelConfig.disableTelemetry;\r\n }\r\n var event = ev;\r\n if (!disableTelemetry && !_isTeardownCalled) {\r\n // Override iKey if provided in Post config if provided for during initialization\r\n if (_config[strOverrideInstrumentationKey]) {\r\n event.iKey = _config[strOverrideInstrumentationKey];\r\n }\r\n // Override iKey if provided in Post config if provided for this instance\r\n if (channelConfig && channelConfig[strOverrideInstrumentationKey]) {\r\n event.iKey = channelConfig[strOverrideInstrumentationKey];\r\n }\r\n _addEventToQueues(event, true);\r\n if (_isPageUnloadTriggered) {\r\n // Unload event has been received so we need to try and flush new events\r\n _releaseAllQueues(2 /* SendBeacon */, 2 /* Unload */);\r\n }\r\n else {\r\n _scheduleTimer();\r\n }\r\n }\r\n _self.processNext(event, itemCtx);\r\n };\r\n function _addEventToQueues(event, append) {\r\n // If send attempt field is undefined we should set it to 0.\r\n if (!event.sendAttempt) {\r\n event.sendAttempt = 0;\r\n }\r\n // Add default latency\r\n if (!event.latency) {\r\n event.latency = EventLatency.Normal;\r\n }\r\n // Remove extra AI properties if present\r\n if (event.ext && event.ext[\"trace\"]) {\r\n delete (event.ext[\"trace\"]);\r\n }\r\n if (event.ext && event.ext[\"user\"] && event.ext[\"user\"][\"id\"]) {\r\n delete (event.ext[\"user\"][\"id\"]);\r\n }\r\n // v8 performance optimization for iterating over the keys\r\n if (_optimizeObject) {\r\n event.ext = optimizeObject(event.ext);\r\n if (event.baseData) {\r\n event.baseData = optimizeObject(event.baseData);\r\n }\r\n if (event.data) {\r\n event.data = optimizeObject(event.data);\r\n }\r\n }\r\n if (event.sync) {\r\n // If the transmission is backed off then do not send synchronous events.\r\n // We will convert these events to Real time latency instead.\r\n if (_currentBackoffCount || _paused) {\r\n event.latency = EventLatency.RealTime;\r\n event.sync = false;\r\n }\r\n else {\r\n // Log the event synchronously\r\n if (_httpManager) {\r\n // v8 performance optimization for iterating over the keys\r\n if (_optimizeObject) {\r\n event = optimizeObject(event);\r\n }\r\n _httpManager.sendSynchronousBatch(EventBatch.create(event.iKey, [event]), event.sync === true ? 1 /* Synchronous */ : event.sync, 3 /* SyncEvent */);\r\n return;\r\n }\r\n }\r\n }\r\n var evtLatency = event.latency;\r\n var queueSize = _queueSize;\r\n var queueLimit = _queueSizeLimit;\r\n if (evtLatency === EventLatency.Immediate) {\r\n queueSize = _immediateQueueSize;\r\n queueLimit = _immediateQueueSizeLimit;\r\n }\r\n var eventDropped = false;\r\n // Only add the event if the queue isn't full or it's a direct event (which don't add to the queue sizes)\r\n if (queueSize < queueLimit) {\r\n eventDropped = !_addEventToProperQueue(event, append);\r\n }\r\n else {\r\n var dropLatency = EventLatency.Normal;\r\n var dropNumber = EventsDroppedAtOneTime;\r\n if (evtLatency === EventLatency.Immediate) {\r\n // Only drop other immediate events as they are not technically sharing the general queue\r\n dropLatency = EventLatency.Immediate;\r\n dropNumber = 1;\r\n }\r\n // Drop old event from lower or equal latency\r\n eventDropped = true;\r\n if (_dropEventWithLatencyOrLess(event.iKey, event.latency, dropLatency, dropNumber)) {\r\n eventDropped = !_addEventToProperQueue(event, append);\r\n }\r\n }\r\n if (eventDropped) {\r\n // Can't drop events from current queues because the all the slots are taken by queues that are being flushed.\r\n _notifyEvents(strEventsDiscarded, [event], EventsDiscardedReason.QueueFull);\r\n }\r\n }\r\n _self.setEventQueueLimits = function (eventLimit, autoFlushLimit) {\r\n _queueSizeLimit = eventLimit > 0 ? eventLimit : 10000;\r\n _autoFlushEventsLimit = autoFlushLimit > 0 ? autoFlushLimit : 0;\r\n _setAutoLimits();\r\n // We only do this check here as during normal event addition if the queue is > then events start getting dropped\r\n var doFlush = _queueSize > eventLimit;\r\n if (!doFlush && _autoFlushBatchLimit > 0) {\r\n // Check the auto flush max batch size\r\n for (var latency = EventLatency.Normal; !doFlush && latency <= EventLatency.RealTime; latency++) {\r\n var batchQueue = _batchQueues[latency];\r\n if (batchQueue && batchQueue.batches) {\r\n arrForEach(batchQueue.batches, function (theBatch) {\r\n if (theBatch && theBatch.count() >= _autoFlushBatchLimit) {\r\n // If any 1 batch is > than the limit then trigger an auto flush\r\n doFlush = true;\r\n }\r\n });\r\n }\r\n }\r\n }\r\n _performAutoFlush(true, doFlush);\r\n };\r\n _self.teardown = function () {\r\n _releaseAllQueues(2 /* SendBeacon */, 2 /* Unload */);\r\n _isTeardownCalled = true;\r\n _httpManager.teardown();\r\n };\r\n _self.pause = function () {\r\n _clearScheduledTimer();\r\n _paused = true;\r\n _httpManager.pause();\r\n };\r\n _self.resume = function () {\r\n _paused = false;\r\n _httpManager.resume();\r\n _scheduleTimer();\r\n };\r\n _self.addResponseHandler = function (responseHandler) {\r\n _httpManager._responseHandlers.push(responseHandler);\r\n };\r\n _self._loadTransmitProfiles = function (profiles) {\r\n _resetTransmitProfiles();\r\n objForEachKey(profiles, function (profileName, profileValue) {\r\n var profLen = profileValue.length;\r\n if (profLen >= 2) {\r\n var directValue = (profLen > 2 ? profileValue[2] : 0);\r\n profileValue.splice(0, profLen - 2);\r\n // Make sure if a higher latency is set to not send then don't send lower latency\r\n if (profileValue[1] < 0) {\r\n profileValue[0] = -1;\r\n }\r\n // Make sure each latency is multiple of the latency higher then it. If not a multiple\r\n // we round up so that it becomes a multiple.\r\n if (profileValue[1] > 0 && profileValue[0] > 0) {\r\n var timerMultiplier = profileValue[0] / profileValue[1];\r\n profileValue[0] = Math.ceil(timerMultiplier) * profileValue[1];\r\n }\r\n // Add back the direct profile timeout\r\n if (directValue >= 0 && profileValue[1] >= 0 && directValue > profileValue[1]) {\r\n // Make sure if it's not disabled (< 0) then make sure it's not larger than RealTime\r\n directValue = profileValue[1];\r\n }\r\n profileValue.push(directValue);\r\n _profiles[profileName] = profileValue;\r\n }\r\n });\r\n };\r\n _self.flush = function (async, callback, sendReason) {\r\n if (async === void 0) { async = true; }\r\n if (!_paused) {\r\n // Clear the normal schedule timer as we are going to try and flush ASAP\r\n _clearScheduledTimer();\r\n sendReason = sendReason || 1 /* ManualFlush */;\r\n if (async) {\r\n // Move all queued events to the HttpManager\r\n _queueBatches(EventLatency.Normal, 0 /* Batched */, sendReason);\r\n // All events (should) have been queue -- lets just make sure the queue counts are correct to avoid queue exhaustion (previous bug #9685112)\r\n _resetQueueCounts();\r\n if (_flushCallbackTimerId == null) {\r\n _flushCallbackTimerId = _createTimer(function () {\r\n _flushImpl(callback, sendReason);\r\n }, 0);\r\n }\r\n else {\r\n // Even if null (no callback) this will ensure after the flushImpl finishes waiting\r\n // for a completely idle connection it will attempt to re-flush any queued events on the next cycle\r\n _flushCallbackQueue.push(callback);\r\n }\r\n }\r\n else {\r\n // Now cause all queued events to be sent synchronously\r\n _sendEventsForLatencyAndAbove(EventLatency.Normal, 1 /* Synchronous */, sendReason);\r\n if (callback !== null && callback !== undefined) {\r\n callback();\r\n }\r\n }\r\n }\r\n };\r\n _self.setMsaAuthTicket = function (ticket) {\r\n _httpManager.addHeader(\"AuthMsaDeviceTicket\", ticket);\r\n };\r\n _self.hasEvents = _hasEvents;\r\n _self._setTransmitProfile = function (profileName) {\r\n if (_currentProfile !== profileName && _profiles[profileName] !== undefined) {\r\n _clearScheduledTimer();\r\n _currentProfile = profileName;\r\n _scheduleTimer();\r\n }\r\n };\r\n /**\r\n * Batch and send events currently in the queue for the given latency.\r\n * @param latency - Latency for which to send events.\r\n */\r\n function _sendEventsForLatencyAndAbove(latency, sendType, sendReason) {\r\n var queued = _queueBatches(latency, sendType, sendReason);\r\n // Always trigger the request as while the post channel may not have queued additional events, the httpManager may already have waiting events\r\n _httpManager.sendQueuedRequests(sendType, sendReason);\r\n return queued;\r\n }\r\n function _hasEvents() {\r\n return _queueSize > 0;\r\n }\r\n /**\r\n * Try to schedule the timer after which events will be sent. If there are\r\n * no events to be sent, or there is already a timer scheduled, or the\r\n * http manager doesn't have any idle connections this method is no-op.\r\n */\r\n function _scheduleTimer() {\r\n // If we had previously attempted to send requests, but the http manager didn't have any idle connections then the requests where delayed\r\n // so try and requeue then again now\r\n if (_delayedBatchSendLatency >= 0 && _queueBatches(_delayedBatchSendLatency, 0 /* Batched */, _delayedBatchReason)) {\r\n _httpManager.sendQueuedRequests(0 /* Batched */, _delayedBatchReason);\r\n }\r\n if (_immediateQueueSize > 0 && !_immediateTimerId && !_paused) {\r\n // During initialization _profiles enforce that the direct [2] is less than real time [1] timer value\r\n // If the immediateTimeout is disabled the immediate events will be sent with Real Time events\r\n var immediateTimeOut = _profiles[_currentProfile][2];\r\n if (immediateTimeOut >= 0) {\r\n _immediateTimerId = _createTimer(function () {\r\n _immediateTimerId = null;\r\n // Only try to send direct events\r\n _sendEventsForLatencyAndAbove(EventLatency.Immediate, 0 /* Batched */, 1 /* NormalSchedule */);\r\n _scheduleTimer();\r\n }, immediateTimeOut);\r\n }\r\n }\r\n // During initialization the _profiles enforce that the normal [0] is a multiple of the real time [1] timer value\r\n var timeOut = _profiles[_currentProfile][1];\r\n if (!_scheduledTimerId && !_flushCallbackTimerId && timeOut >= 0 && !_paused) {\r\n if (_hasEvents()) {\r\n _scheduledTimerId = _createTimer(function () {\r\n _scheduledTimerId = null;\r\n _sendEventsForLatencyAndAbove(_timerCount === 0 ? EventLatency.RealTime : EventLatency.Normal, 0 /* Batched */, 1 /* NormalSchedule */);\r\n // Increment the count for next cycle\r\n _timerCount++;\r\n _timerCount %= 2;\r\n _scheduleTimer();\r\n }, timeOut);\r\n }\r\n else {\r\n _timerCount = 0;\r\n }\r\n }\r\n }\r\n _self._backOffTransmission = function () {\r\n if (_currentBackoffCount < MaxBackoffCount) {\r\n _currentBackoffCount++;\r\n _clearScheduledTimer();\r\n _scheduleTimer();\r\n }\r\n };\r\n _self._clearBackOff = function () {\r\n if (_currentBackoffCount) {\r\n _currentBackoffCount = 0;\r\n _clearScheduledTimer();\r\n _scheduleTimer();\r\n }\r\n };\r\n function _createTimer(theTimerFunc, timeOut) {\r\n // If the transmission is backed off make the timer at least 1 sec to allow for back off.\r\n if (timeOut === 0 && _currentBackoffCount) {\r\n timeOut = 1;\r\n }\r\n var timerMultiplier = 1000;\r\n if (_currentBackoffCount) {\r\n timerMultiplier = RetryPolicy.getMillisToBackoffForRetry(_currentBackoffCount - 1);\r\n }\r\n return _self._setTimeoutOverride(theTimerFunc, timeOut * timerMultiplier);\r\n }\r\n function _clearScheduledTimer() {\r\n if (_scheduledTimerId !== null) {\r\n _self._clearTimeoutOverride(_scheduledTimerId);\r\n _scheduledTimerId = null;\r\n _timerCount = 0;\r\n }\r\n }\r\n // Try to send all queued events using beacons if available\r\n function _releaseAllQueues(sendType, sendReason) {\r\n _clearScheduledTimer();\r\n // Cancel all flush callbacks\r\n if (_flushCallbackTimerId) {\r\n _self._clearTimeoutOverride(_flushCallbackTimerId);\r\n _flushCallbackTimerId = null;\r\n }\r\n if (!_paused) {\r\n // Queue all the remaining requests to be sent. The requests will be sent using HTML5 Beacons if they are available.\r\n _sendEventsForLatencyAndAbove(EventLatency.Normal, sendType, sendReason);\r\n }\r\n }\r\n /**\r\n * Add empty queues for all latencies in the inbound queues map. This is called\r\n * when Transmission Manager is being flushed. This ensures that new events added\r\n * after flush are stored separately till we flush the current events.\r\n */\r\n function _clearQueues() {\r\n _batchQueues[EventLatency.Immediate] = {\r\n batches: [],\r\n iKeyMap: {}\r\n };\r\n _batchQueues[EventLatency.RealTime] = {\r\n batches: [],\r\n iKeyMap: {}\r\n };\r\n _batchQueues[EventLatency.CostDeferred] = {\r\n batches: [],\r\n iKeyMap: {}\r\n };\r\n _batchQueues[EventLatency.Normal] = {\r\n batches: [],\r\n iKeyMap: {}\r\n };\r\n }\r\n function _getEventBatch(iKey, latency, create) {\r\n var batchQueue = _batchQueues[latency];\r\n if (!batchQueue) {\r\n latency = EventLatency.Normal;\r\n batchQueue = _batchQueues[latency];\r\n }\r\n var eventBatch = batchQueue.iKeyMap[iKey];\r\n if (!eventBatch && create) {\r\n eventBatch = EventBatch.create(iKey);\r\n batchQueue.batches.push(eventBatch);\r\n batchQueue.iKeyMap[iKey] = eventBatch;\r\n }\r\n return eventBatch;\r\n }\r\n function _performAutoFlush(isAsync, doFlush) {\r\n // Only perform the auto flush check if the httpManager has an idle connection and we are not in a backoff situation\r\n if (_httpManager.canSendRequest() && !_currentBackoffCount) {\r\n if (_autoFlushEventsLimit > 0 && _queueSize > _autoFlushEventsLimit) {\r\n // Force flushing\r\n doFlush = true;\r\n }\r\n if (doFlush && _flushCallbackTimerId == null) {\r\n // Auto flush the queue\r\n _self.flush(isAsync, null, 20 /* MaxQueuedEvents */);\r\n }\r\n }\r\n }\r\n function _addEventToProperQueue(event, append) {\r\n // v8 performance optimization for iterating over the keys\r\n if (_optimizeObject) {\r\n event = optimizeObject(event);\r\n }\r\n var latency = event.latency;\r\n var eventBatch = _getEventBatch(event.iKey, latency, true);\r\n if (eventBatch.addEvents([event], append)) {\r\n if (latency !== EventLatency.Immediate) {\r\n _queueSize++;\r\n // Check for auto flushing based on total events in the queue, but not for requeued or retry events\r\n if (append && event.sendAttempt === 0) {\r\n // Force the flushing of the batch if the batch (specific iKey / latency combination) reaches it's auto flush limit\r\n _performAutoFlush(!event.sync, _autoFlushBatchLimit > 0 && eventBatch.count() >= _autoFlushBatchLimit);\r\n }\r\n }\r\n else {\r\n // Direct events don't need auto flushing as they are scheduled (by default) for immediate delivery\r\n _immediateQueueSize++;\r\n }\r\n return true;\r\n }\r\n return false;\r\n }\r\n function _dropEventWithLatencyOrLess(iKey, latency, currentLatency, dropNumber) {\r\n while (currentLatency <= latency) {\r\n var eventBatch = _getEventBatch(iKey, latency, true);\r\n if (eventBatch && eventBatch.count() > 0) {\r\n // Dropped oldest events from lowest possible latency\r\n var droppedEvents = eventBatch.split(0, dropNumber);\r\n var droppedCount = droppedEvents.count();\r\n if (droppedCount > 0) {\r\n if (currentLatency === EventLatency.Immediate) {\r\n _immediateQueueSize -= droppedCount;\r\n }\r\n else {\r\n _queueSize -= droppedCount;\r\n }\r\n _notifyBatchEvents(strEventsDiscarded, [droppedEvents], EventsDiscardedReason.QueueFull);\r\n return true;\r\n }\r\n }\r\n currentLatency++;\r\n }\r\n // Unable to drop any events -- lets just make sure the queue counts are correct to avoid exhaustion\r\n _resetQueueCounts();\r\n return false;\r\n }\r\n /**\r\n * Internal helper to reset the queue counts, used as a backstop to avoid future queue exhaustion errors\r\n * that might occur because of counting issues.\r\n */\r\n function _resetQueueCounts() {\r\n var immediateQueue = 0;\r\n var normalQueue = 0;\r\n var _loop_1 = function (latency) {\r\n var batchQueue = _batchQueues[latency];\r\n if (batchQueue && batchQueue.batches) {\r\n arrForEach(batchQueue.batches, function (theBatch) {\r\n if (latency === EventLatency.Immediate) {\r\n immediateQueue += theBatch.count();\r\n }\r\n else {\r\n normalQueue += theBatch.count();\r\n }\r\n });\r\n }\r\n };\r\n for (var latency = EventLatency.Normal; latency <= EventLatency.Immediate; latency++) {\r\n _loop_1(latency);\r\n }\r\n _queueSize = normalQueue;\r\n _immediateQueueSize = immediateQueue;\r\n }\r\n function _queueBatches(latency, sendType, sendReason) {\r\n var eventsQueued = false;\r\n var isAsync = sendType === 0 /* Batched */;\r\n // Only queue batches (to the HttpManager) if this is a sync request or the httpManager has an idle connection\r\n // Thus keeping the events within the PostChannel until the HttpManager has a connection available\r\n // This is so we can drop \"old\" events if the queue is getting full because we can't successfully send events\r\n if (!isAsync || _httpManager.canSendRequest()) {\r\n doPerf(_self.core, function () { return \"PostChannel._queueBatches\"; }, function () {\r\n var droppedEvents = [];\r\n var latencyToProcess = EventLatency.Immediate;\r\n while (latencyToProcess >= latency) {\r\n var batchQueue = _batchQueues[latencyToProcess];\r\n if (batchQueue && batchQueue.batches && batchQueue.batches.length > 0) {\r\n arrForEach(batchQueue.batches, function (theBatch) {\r\n // Add the batch to the http manager to send the requests\r\n if (!_httpManager.addBatch(theBatch)) {\r\n // The events from this iKey are being dropped (killed)\r\n droppedEvents = droppedEvents.concat(theBatch.events());\r\n }\r\n else {\r\n eventsQueued = eventsQueued || (theBatch && theBatch.count() > 0);\r\n }\r\n if (latencyToProcess === EventLatency.Immediate) {\r\n _immediateQueueSize -= theBatch.count();\r\n }\r\n else {\r\n _queueSize -= theBatch.count();\r\n }\r\n });\r\n // Remove all batches from this Queue\r\n batchQueue.batches = [];\r\n batchQueue.iKeyMap = {};\r\n }\r\n latencyToProcess--;\r\n }\r\n if (droppedEvents.length > 0) {\r\n _notifyEvents(strEventsDiscarded, droppedEvents, EventsDiscardedReason.KillSwitch);\r\n }\r\n if (eventsQueued && _delayedBatchSendLatency >= latency) {\r\n // We have queued events at the same level as the delayed values so clear the setting\r\n _delayedBatchSendLatency = -1;\r\n _delayedBatchReason = 0 /* Undefined */;\r\n }\r\n }, function () { return ({ latency: latency, sendType: sendType, sendReason: sendReason }); }, !isAsync);\r\n }\r\n else {\r\n // remember the min latency so that we can re-trigger later\r\n _delayedBatchSendLatency = _delayedBatchSendLatency >= 0 ? Math.min(_delayedBatchSendLatency, latency) : latency;\r\n _delayedBatchReason = Math.max(_delayedBatchReason, sendReason);\r\n }\r\n return eventsQueued;\r\n }\r\n /**\r\n * This is the callback method is called as part of the manual flushing process.\r\n * @param callback\r\n * @param sendReason\r\n */\r\n function _flushImpl(callback, sendReason) {\r\n // Add any additional queued events and cause all queued events to be sent asynchronously\r\n _sendEventsForLatencyAndAbove(EventLatency.Normal, 0 /* Batched */, sendReason);\r\n _waitForIdleManager(function () {\r\n // Only called AFTER the httpManager does not have any outstanding requests\r\n if (callback) {\r\n callback();\r\n }\r\n if (_flushCallbackQueue.length > 0) {\r\n _flushCallbackTimerId = _createTimer(function () { return _flushImpl(_flushCallbackQueue.shift(), sendReason); }, 0);\r\n }\r\n else {\r\n // No more flush requests\r\n _flushCallbackTimerId = null;\r\n if (_hasEvents()) {\r\n // We still have events, so restart the normal timer schedule\r\n _scheduleTimer();\r\n }\r\n }\r\n });\r\n }\r\n function _waitForIdleManager(callback) {\r\n if (_httpManager.isCompletelyIdle()) {\r\n callback();\r\n }\r\n else {\r\n _flushCallbackTimerId = _createTimer(function () {\r\n _waitForIdleManager(callback);\r\n }, FlushCheckTimer);\r\n }\r\n }\r\n /**\r\n * Resets the transmit profiles to the default profiles of Real Time, Near Real Time\r\n * and Best Effort. This removes all the custom profiles that were loaded.\r\n */\r\n function _resetTransmitProfiles() {\r\n _clearScheduledTimer();\r\n _initializeProfiles();\r\n _currentProfile = RT_PROFILE;\r\n _scheduleTimer();\r\n }\r\n function _initializeProfiles() {\r\n _profiles = {};\r\n _profiles[RT_PROFILE] = [2, 1, 0];\r\n _profiles[NRT_PROFILE] = [6, 3, 0];\r\n _profiles[BE_PROFILE] = [18, 9, 0];\r\n }\r\n /**\r\n * The notification handler for requeue events\r\n * @ignore\r\n */\r\n function _requeueEvents(batches, reason) {\r\n var droppedEvents = [];\r\n arrForEach(batches, function (theBatch) {\r\n if (theBatch && theBatch.count() > 0) {\r\n arrForEach(theBatch.events(), function (theEvent) {\r\n if (theEvent) {\r\n // Check if the request being added back is for a sync event in which case mark it no longer a sync event\r\n if (theEvent.sync) {\r\n theEvent.latency = EventLatency.Immediate;\r\n theEvent.sync = false;\r\n }\r\n if (theEvent.sendAttempt < MaxSendAttempts) {\r\n // Reset the event timings\r\n setProcessTelemetryTimings(theEvent, _self.identifier);\r\n _addEventToQueues(theEvent, false);\r\n }\r\n else {\r\n droppedEvents.push(theEvent);\r\n }\r\n }\r\n });\r\n }\r\n });\r\n if (droppedEvents.length > 0) {\r\n _notifyEvents(strEventsDiscarded, droppedEvents, EventsDiscardedReason.NonRetryableStatus);\r\n }\r\n if (_isPageUnloadTriggered) {\r\n // Unload event has been received so we need to try and flush new events\r\n _releaseAllQueues(2 /* SendBeacon */, 2 /* Unload */);\r\n }\r\n }\r\n function _callNotification(evtName, theArgs) {\r\n var manager = (_self._notificationManager || {});\r\n var notifyFunc = manager[evtName];\r\n if (notifyFunc) {\r\n try {\r\n notifyFunc.apply(manager, theArgs);\r\n }\r\n catch (e) {\r\n _self.diagLog().throwInternal(LoggingSeverity.CRITICAL, _ExtendedInternalMessageId.NotificationException, evtName + \" notification failed: \" + e);\r\n }\r\n }\r\n }\r\n function _notifyEvents(evtName, theEvents) {\r\n var extraArgs = [];\r\n for (var _i = 2; _i < arguments.length; _i++) {\r\n extraArgs[_i - 2] = arguments[_i];\r\n }\r\n if (theEvents && theEvents.length > 0) {\r\n _callNotification(evtName, [theEvents].concat(extraArgs));\r\n }\r\n }\r\n function _notifyBatchEvents(evtName, batches) {\r\n var extraArgs = [];\r\n for (var _i = 2; _i < arguments.length; _i++) {\r\n extraArgs[_i - 2] = arguments[_i];\r\n }\r\n if (batches && batches.length > 0) {\r\n arrForEach(batches, function (theBatch) {\r\n if (theBatch && theBatch.count() > 0) {\r\n _callNotification(evtName, [theBatch.events()].concat(extraArgs));\r\n }\r\n });\r\n }\r\n }\r\n /**\r\n * The notification handler for when batches are about to be sent\r\n * @ignore\r\n */\r\n function _sendingEvent(batches, reason, isSyncRequest) {\r\n if (batches && batches.length > 0) {\r\n _callNotification(\"eventsSendRequest\", [(reason >= 1000 /* SendingUndefined */ && reason <= 1999 /* SendingEventMax */ ?\r\n reason - 1000 /* SendingUndefined */ :\r\n 0 /* Undefined */), isSyncRequest !== true]);\r\n }\r\n }\r\n /**\r\n * This event represents that a batch of events have been successfully sent and a response received\r\n * @param batches The notification handler for when the batches have been successfully sent\r\n * @param reason For this event the reason will always be EventBatchNotificationReason.Complete\r\n */\r\n function _eventsSentEvent(batches, reason) {\r\n _notifyBatchEvents(\"eventsSent\", batches, reason);\r\n // Try and schedule the processing timer if we have events\r\n _scheduleTimer();\r\n }\r\n function _eventsDropped(batches, reason) {\r\n _notifyBatchEvents(strEventsDiscarded, batches, (reason >= 8000 /* EventsDropped */ && reason <= 8999 /* EventsDroppedMax */ ?\r\n reason - 8000 /* EventsDropped */ :\r\n EventsDiscardedReason.Unknown));\r\n }\r\n function _eventsResponseFail(batches) {\r\n _notifyBatchEvents(strEventsDiscarded, batches, EventsDiscardedReason.NonRetryableStatus);\r\n // Try and schedule the processing timer if we have events\r\n _scheduleTimer();\r\n }\r\n function _otherEvent(batches, reason) {\r\n _notifyBatchEvents(strEventsDiscarded, batches, EventsDiscardedReason.Unknown);\r\n // Try and schedule the processing timer if we have events\r\n _scheduleTimer();\r\n }\r\n function _setAutoLimits() {\r\n if (!_config || !_config.disableAutoBatchFlushLimit) {\r\n _autoFlushBatchLimit = Math.max(MaxNumberEventPerBatch * (MaxConnections + 1), _queueSizeLimit / 6);\r\n }\r\n else {\r\n _autoFlushBatchLimit = 0;\r\n }\r\n }\r\n });\r\n return _this;\r\n }\r\n// Removed Stub for PostChannel.prototype.initialize.\r\n// Removed Stub for PostChannel.prototype.processTelemetry.\r\n// Removed Stub for PostChannel.prototype.setEventQueueLimits.\r\n// Removed Stub for PostChannel.prototype.teardown.\r\n// Removed Stub for PostChannel.prototype.pause.\r\n// Removed Stub for PostChannel.prototype.resume.\r\n// Removed Stub for PostChannel.prototype.addResponseHandler.\r\n// Removed Stub for PostChannel.prototype.flush.\r\n// Removed Stub for PostChannel.prototype.setMsaAuthTicket.\r\n// Removed Stub for PostChannel.prototype.hasEvents.\r\n// Removed Stub for PostChannel.prototype._loadTransmitProfiles.\r\n// Removed Stub for PostChannel.prototype._setTransmitProfile.\r\n// Removed Stub for PostChannel.prototype._backOffTransmission.\r\n// Removed Stub for PostChannel.prototype._clearBackOff.\r\n return PostChannel;\r\n}(BaseTelemetryPlugin));\r\nexport default PostChannel;\r\n//# sourceMappingURL=PostChannel.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nexport var strShimFunction = \"function\";\r\nexport var strShimObject = \"object\";\r\nexport var strShimUndefined = \"undefined\";\r\nexport var strShimPrototype = \"prototype\";\r\nexport var strShimHasOwnProperty = \"hasOwnProperty\";\r\nexport var strDefault = \"default\";\r\nexport var ObjClass = Object;\r\nexport var ObjProto = ObjClass[strShimPrototype];\r\nexport var ObjAssign = ObjClass[\"assign\"];\r\nexport var ObjCreate = ObjClass[\"create\"];\r\nexport var ObjDefineProperty = ObjClass[\"defineProperty\"];\r\nexport var ObjHasOwnProperty = ObjProto[strShimHasOwnProperty];\r\n//# sourceMappingURL=Constants.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { ObjCreate, strShimFunction, strShimObject, strShimPrototype, strShimUndefined } from \"./Constants\";\r\n/**\r\n * Returns the current global scope object, for a normal web page this will be the current\r\n * window, for a Web Worker this will be current worker global scope via \"self\". The internal\r\n * implementation returns the first available instance object in the following order\r\n * - globalThis (New standard)\r\n * - self (Will return the current window instance for supported browsers)\r\n * - window (fallback for older browser implementations)\r\n * - global (NodeJS standard)\r\n * - (When all else fails)\r\n * While the return type is a Window for the normal case, not all environments will support all\r\n * of the properties or functions.\r\n */\r\nexport function getGlobal() {\r\n if (typeof globalThis !== strShimUndefined && globalThis) {\r\n return globalThis;\r\n }\r\n if (typeof self !== strShimUndefined && self) {\r\n return self;\r\n }\r\n if (typeof window !== strShimUndefined && window) {\r\n return window;\r\n }\r\n if (typeof global !== strShimUndefined && global) {\r\n return global;\r\n }\r\n return null;\r\n}\r\nexport function throwTypeError(message) {\r\n throw new TypeError(message);\r\n}\r\n/**\r\n * Creates an object that has the specified prototype, and that optionally contains specified properties. This helper exists to avoid adding a polyfil\r\n * for older browsers that do not define Object.create eg. ES3 only, IE8 just in case any page checks for presence/absence of the prototype implementation.\r\n * Note: For consistency this will not use the Object.create implementation if it exists as this would cause a testing requirement to test with and without the implementations\r\n * @param obj Object to use as a prototype. May be null\r\n */\r\nexport function objCreateFn(obj) {\r\n var func = ObjCreate;\r\n // Use build in Object.create\r\n if (func) {\r\n // Use Object create method if it exists\r\n return func(obj);\r\n }\r\n if (obj == null) {\r\n return {};\r\n }\r\n var type = typeof obj;\r\n if (type !== strShimObject && type !== strShimFunction) {\r\n throwTypeError('Object prototype may only be an Object:' + obj);\r\n }\r\n function tmpFunc() { }\r\n tmpFunc[strShimPrototype] = obj;\r\n return new tmpFunc();\r\n}\r\n//# sourceMappingURL=Helpers.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { ObjAssign, ObjClass, ObjCreate, ObjDefineProperty, ObjHasOwnProperty, ObjProto, strDefault, strShimFunction, strShimHasOwnProperty, strShimPrototype } from \"./Constants\";\r\nimport { getGlobal, objCreateFn, throwTypeError } from \"./Helpers\";\r\n// Most of these functions have been directly shamelessly \"lifted\" from the https://github.com/@microsoft/tslib and\r\n// modified to be ES3 compatible and applying several minification and tree-shaking techniques so that Application Insights\r\n// can successfully use TypeScript \"importHelpers\" which imports tslib during compilation but it will use these at runtime\r\n// Which is also why all of the functions have not been included as Application Insights currently doesn't use or require\r\n// them.\r\nexport var SymbolObj = (getGlobal() || {})[\"Symbol\"];\r\nexport var ReflectObj = (getGlobal() || {})[\"Reflect\"];\r\nexport var __hasSymbol = !!SymbolObj;\r\nexport var __hasReflect = !!ReflectObj;\r\nvar strDecorate = \"decorate\";\r\nvar strMetadata = \"metadata\";\r\nvar strGetOwnPropertySymbols = \"getOwnPropertySymbols\";\r\nvar strIterator = \"iterator\";\r\nexport var __objAssignFnImpl = function (t) {\r\n // tslint:disable-next-line: ban-comma-operator\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) {\r\n if (ObjProto[strShimHasOwnProperty].call(s, p)) {\r\n t[p] = s[p];\r\n }\r\n }\r\n }\r\n return t;\r\n};\r\nexport var __assignFn = ObjAssign || __objAssignFnImpl;\r\n// tslint:disable-next-line: only-arrow-functions\r\nvar extendStaticsFn = function (d, b) {\r\n extendStaticsFn = ObjClass[\"setPrototypeOf\"] ||\r\n // tslint:disable-next-line: only-arrow-functions\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n // tslint:disable-next-line: only-arrow-functions\r\n function (d, b) {\r\n for (var p in b) {\r\n if (b[strShimHasOwnProperty](p)) {\r\n d[p] = b[p];\r\n }\r\n }\r\n };\r\n return extendStaticsFn(d, b);\r\n};\r\nexport function __extendsFn(d, b) {\r\n if (typeof b !== strShimFunction && b !== null) {\r\n throwTypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n }\r\n extendStaticsFn(d, b);\r\n function __() { this.constructor = d; }\r\n // tslint:disable-next-line: ban-comma-operator\r\n d[strShimPrototype] = b === null ? objCreateFn(b) : (__[strShimPrototype] = b[strShimPrototype], new __());\r\n}\r\nexport function __restFn(s, e) {\r\n var t = {};\r\n for (var k in s) {\r\n if (ObjHasOwnProperty.call(s, k) && e.indexOf(k) < 0) {\r\n t[k] = s[k];\r\n }\r\n }\r\n if (s != null && typeof ObjClass[strGetOwnPropertySymbols] === strShimFunction) {\r\n for (var i = 0, p = ObjClass[strGetOwnPropertySymbols](s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && ObjProto[\"propertyIsEnumerable\"].call(s, p[i])) {\r\n t[p[i]] = s[p[i]];\r\n }\r\n }\r\n }\r\n return t;\r\n}\r\nexport function __decorateFn(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = ObjClass[\"getOwnPropertyDescriptor\"](target, key) : desc, d;\r\n if (__hasReflect && typeof ReflectObj[strDecorate] === strShimFunction) {\r\n r = ReflectObj[strDecorate](decorators, target, key, desc);\r\n }\r\n else {\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n // tslint:disable-next-line:no-conditional-assignment\r\n if (d = decorators[i]) {\r\n r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n }\r\n }\r\n }\r\n // tslint:disable-next-line:ban-comma-operator\r\n return c > 3 && r && ObjDefineProperty(target, key, r), r;\r\n}\r\nexport function __paramFn(paramIndex, decorator) {\r\n return function (target, key) {\r\n decorator(target, key, paramIndex);\r\n };\r\n}\r\nexport function __metadataFn(metadataKey, metadataValue) {\r\n if (__hasReflect && ReflectObj[strMetadata] === strShimFunction) {\r\n return ReflectObj[strMetadata](metadataKey, metadataValue);\r\n }\r\n}\r\nexport function __exportStarFn(m, o) {\r\n for (var p in m) {\r\n if (p !== strDefault && !ObjHasOwnProperty.call(o, p)) {\r\n __createBindingFn(o, m, p);\r\n }\r\n }\r\n}\r\nexport function __createBindingFn(o, m, k, k2) {\r\n if (k2 === undefined) {\r\n k2 = k;\r\n }\r\n if (ObjCreate) {\r\n ObjDefineProperty(o, k2, {\r\n enumerable: true,\r\n get: function () {\r\n return m[k];\r\n }\r\n });\r\n }\r\n else {\r\n o[k2] = m[k];\r\n }\r\n}\r\nexport function __valuesFn(o) {\r\n var s = typeof SymbolObj === strShimFunction && SymbolObj[strIterator], m = s && o[s], i = 0;\r\n if (m) {\r\n return m.call(o);\r\n }\r\n if (o && typeof o.length === \"number\") {\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) {\r\n o = void 0;\r\n }\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n }\r\n throwTypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\nexport function __readFn(o, n) {\r\n var m = typeof SymbolObj === strShimFunction && o[SymbolObj[strIterator]];\r\n if (!m) {\r\n return o;\r\n }\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) {\r\n ar.push(r.value);\r\n }\r\n }\r\n catch (error) {\r\n e = {\r\n error: error\r\n };\r\n }\r\n finally {\r\n try {\r\n // tslint:disable-next-line:no-conditional-assignment\r\n if (r && !r.done && (m = i[\"return\"])) {\r\n m.call(i);\r\n }\r\n }\r\n finally {\r\n if (e) {\r\n // tslint:disable-next-line:no-unsafe-finally\r\n throw e.error;\r\n }\r\n }\r\n }\r\n return ar;\r\n}\r\n/** @deprecated */\r\nexport function __spreadArraysFn() {\r\n var theArgs = arguments;\r\n // Calculate new total size\r\n for (var s = 0, i = 0, il = theArgs.length; i < il; i++) {\r\n s += theArgs[i].length;\r\n }\r\n // Create new full array\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++) {\r\n for (var a = theArgs[i], j = 0, jl = a.length; j < jl; j++, k++) {\r\n r[k] = a[j];\r\n }\r\n }\r\n return r;\r\n}\r\nexport function __spreadArrayFn(to, from) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++) {\r\n to[j] = from[i];\r\n }\r\n return to;\r\n}\r\nexport function __makeTemplateObjectFn(cooked, raw) {\r\n if (ObjDefineProperty) {\r\n ObjDefineProperty(cooked, \"raw\", { value: raw });\r\n }\r\n else {\r\n cooked.raw = raw;\r\n }\r\n return cooked;\r\n}\r\n;\r\nexport function __importStarFn(mod) {\r\n if (mod && mod.__esModule) {\r\n return mod;\r\n }\r\n var result = {};\r\n if (mod != null) {\r\n for (var k in mod) {\r\n if (k !== strDefault && Object.prototype.hasOwnProperty.call(mod, k)) {\r\n __createBindingFn(result, mod, k);\r\n }\r\n }\r\n }\r\n // Set default module\r\n if (ObjCreate) {\r\n ObjDefineProperty(result, strDefault, { enumerable: true, value: mod });\r\n }\r\n else {\r\n result[strDefault] = mod;\r\n }\r\n return result;\r\n}\r\n;\r\nexport function __importDefaultFn(mod) {\r\n return (mod && mod.__esModule) ? mod : { strDefault: mod };\r\n}\r\n//# sourceMappingURL=TsLibShims.js.map","/*\n * Application Insights JavaScript SDK - Common, 2.7.0\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { LoggingSeverity, _InternalMessageId, hasJSON, getJSON, objForEachKey, isObject, strTrim } from '@microsoft/applicationinsights-core-js';\r\n;\r\nexport function dataSanitizeKeyAndAddUniqueness(logger, key, map) {\r\n var origLength = key.length;\r\n var field = dataSanitizeKey(logger, key);\r\n // validation truncated the length. We need to add uniqueness\r\n if (field.length !== origLength) {\r\n var i = 0;\r\n var uniqueField = field;\r\n while (map[uniqueField] !== undefined) {\r\n i++;\r\n uniqueField = field.substring(0, 150 /* MAX_NAME_LENGTH */ - 3) + dsPadNumber(i);\r\n }\r\n field = uniqueField;\r\n }\r\n return field;\r\n}\r\nexport function dataSanitizeKey(logger, name) {\r\n var nameTrunc;\r\n if (name) {\r\n // Remove any leading or trailing whitepace\r\n name = strTrim(name.toString());\r\n // truncate the string to 150 chars\r\n if (name.length > 150 /* MAX_NAME_LENGTH */) {\r\n nameTrunc = name.substring(0, 150 /* MAX_NAME_LENGTH */);\r\n logger.throwInternal(LoggingSeverity.WARNING, _InternalMessageId.NameTooLong, \"name is too long. It has been truncated to \" + 150 /* MAX_NAME_LENGTH */ + \" characters.\", { name: name }, true);\r\n }\r\n }\r\n return nameTrunc || name;\r\n}\r\nexport function dataSanitizeString(logger, value, maxLength) {\r\n if (maxLength === void 0) { maxLength = 1024 /* MAX_STRING_LENGTH */; }\r\n var valueTrunc;\r\n if (value) {\r\n maxLength = maxLength ? maxLength : 1024 /* MAX_STRING_LENGTH */; // in case default parameters dont work\r\n value = strTrim(value);\r\n if (value.toString().length > maxLength) {\r\n valueTrunc = value.toString().substring(0, maxLength);\r\n logger.throwInternal(LoggingSeverity.WARNING, _InternalMessageId.StringValueTooLong, \"string value is too long. It has been truncated to \" + maxLength + \" characters.\", { value: value }, true);\r\n }\r\n }\r\n return valueTrunc || value;\r\n}\r\nexport function dataSanitizeUrl(logger, url) {\r\n return dataSanitizeInput(logger, url, 2048 /* MAX_URL_LENGTH */, _InternalMessageId.UrlTooLong);\r\n}\r\nexport function dataSanitizeMessage(logger, message) {\r\n var messageTrunc;\r\n if (message) {\r\n if (message.length > 32768 /* MAX_MESSAGE_LENGTH */) {\r\n messageTrunc = message.substring(0, 32768 /* MAX_MESSAGE_LENGTH */);\r\n logger.throwInternal(LoggingSeverity.WARNING, _InternalMessageId.MessageTruncated, \"message is too long, it has been truncated to \" + 32768 /* MAX_MESSAGE_LENGTH */ + \" characters.\", { message: message }, true);\r\n }\r\n }\r\n return messageTrunc || message;\r\n}\r\nexport function dataSanitizeException(logger, exception) {\r\n var exceptionTrunc;\r\n if (exception) {\r\n // Make surte its a string\r\n var value = \"\" + exception;\r\n if (value.length > 32768 /* MAX_EXCEPTION_LENGTH */) {\r\n exceptionTrunc = value.substring(0, 32768 /* MAX_EXCEPTION_LENGTH */);\r\n logger.throwInternal(LoggingSeverity.WARNING, _InternalMessageId.ExceptionTruncated, \"exception is too long, it has been truncated to \" + 32768 /* MAX_EXCEPTION_LENGTH */ + \" characters.\", { exception: exception }, true);\r\n }\r\n }\r\n return exceptionTrunc || exception;\r\n}\r\nexport function dataSanitizeProperties(logger, properties) {\r\n if (properties) {\r\n var tempProps_1 = {};\r\n objForEachKey(properties, function (prop, value) {\r\n if (isObject(value) && hasJSON()) {\r\n // Stringify any part C properties\r\n try {\r\n value = getJSON().stringify(value);\r\n }\r\n catch (e) {\r\n logger.throwInternal(LoggingSeverity.WARNING, _InternalMessageId.CannotSerializeObjectNonSerializable, \"custom property is not valid\", { exception: e }, true);\r\n }\r\n }\r\n value = dataSanitizeString(logger, value, 8192 /* MAX_PROPERTY_LENGTH */);\r\n prop = dataSanitizeKeyAndAddUniqueness(logger, prop, tempProps_1);\r\n tempProps_1[prop] = value;\r\n });\r\n properties = tempProps_1;\r\n }\r\n return properties;\r\n}\r\nexport function dataSanitizeMeasurements(logger, measurements) {\r\n if (measurements) {\r\n var tempMeasurements_1 = {};\r\n objForEachKey(measurements, function (measure, value) {\r\n measure = dataSanitizeKeyAndAddUniqueness(logger, measure, tempMeasurements_1);\r\n tempMeasurements_1[measure] = value;\r\n });\r\n measurements = tempMeasurements_1;\r\n }\r\n return measurements;\r\n}\r\nexport function dataSanitizeId(logger, id) {\r\n return id ? dataSanitizeInput(logger, id, 128 /* MAX_ID_LENGTH */, _InternalMessageId.IdTooLong).toString() : id;\r\n}\r\nexport function dataSanitizeInput(logger, input, maxLength, _msgId) {\r\n var inputTrunc;\r\n if (input) {\r\n input = strTrim(input);\r\n if (input.length > maxLength) {\r\n inputTrunc = input.substring(0, maxLength);\r\n logger.throwInternal(LoggingSeverity.WARNING, _msgId, \"input is too long, it has been truncated to \" + maxLength + \" characters.\", { data: input }, true);\r\n }\r\n }\r\n return inputTrunc || input;\r\n}\r\nexport function dsPadNumber(num) {\r\n var s = \"00\" + num;\r\n return s.substr(s.length - 3);\r\n}\r\n;\r\n/**\r\n * Provides the DataSanitizer functions within the previous namespace.\r\n */\r\nexport var DataSanitizer = {\r\n MAX_NAME_LENGTH: 150 /* MAX_NAME_LENGTH */,\r\n MAX_ID_LENGTH: 128 /* MAX_ID_LENGTH */,\r\n MAX_PROPERTY_LENGTH: 8192 /* MAX_PROPERTY_LENGTH */,\r\n MAX_STRING_LENGTH: 1024 /* MAX_STRING_LENGTH */,\r\n MAX_URL_LENGTH: 2048 /* MAX_URL_LENGTH */,\r\n MAX_MESSAGE_LENGTH: 32768 /* MAX_MESSAGE_LENGTH */,\r\n MAX_EXCEPTION_LENGTH: 32768 /* MAX_EXCEPTION_LENGTH */,\r\n sanitizeKeyAndAddUniqueness: dataSanitizeKeyAndAddUniqueness,\r\n sanitizeKey: dataSanitizeKey,\r\n sanitizeString: dataSanitizeString,\r\n sanitizeUrl: dataSanitizeUrl,\r\n sanitizeMessage: dataSanitizeMessage,\r\n sanitizeException: dataSanitizeException,\r\n sanitizeProperties: dataSanitizeProperties,\r\n sanitizeMeasurements: dataSanitizeMeasurements,\r\n sanitizeId: dataSanitizeId,\r\n sanitizeInput: dataSanitizeInput,\r\n padNumber: dsPadNumber,\r\n trim: strTrim\r\n};\r\n//# sourceMappingURL=DataSanitizer.js.map","/*\n * Application Insights JavaScript SDK - Common, 2.7.0\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n/**\r\n * This is an internal property used to cause internal (reporting) requests to be ignored from reporting\r\n * additional telemetry, to handle polyfil implementations ALL urls used with a disabled request will\r\n * also be ignored for future requests even when this property is not provided.\r\n * Tagging as Ignore as this is an internal value and is not expected to be used outside of the SDK\r\n * @ignore\r\n */\r\nexport var DisabledPropertyName = \"Microsoft_ApplicationInsights_BypassAjaxInstrumentation\";\r\nexport var SampleRate = \"sampleRate\";\r\nexport var ProcessLegacy = \"ProcessLegacy\";\r\nexport var HttpMethod = \"http.method\";\r\nexport var DEFAULT_BREEZE_ENDPOINT = \"https://dc.services.visualstudio.com\";\r\nexport var strNotSpecified = \"not_specified\";\r\nexport var strIkey = \"iKey\";\r\n//# sourceMappingURL=Constants.js.map","/*\n * Application Insights JavaScript SDK - Common, 2.7.0\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { dataSanitizeString } from \"./Telemetry/Common/DataSanitizer\";\r\nimport { objForEachKey, isNullOrUndefined, toISOString } from \"@microsoft/applicationinsights-core-js\";\r\nimport { strNotSpecified, strIkey } from \"./Constants\";\r\nvar TelemetryItemCreator = /** @class */ (function () {\r\n function TelemetryItemCreator() {\r\n }\r\n /**\r\n * Create a telemetry item that the 1DS channel understands\r\n * @param item domain specific properties; part B\r\n * @param baseType telemetry item type. ie PageViewData\r\n * @param envelopeName name of the envelope. ie Microsoft.ApplicationInsights..PageView\r\n * @param customProperties user defined custom properties; part C\r\n * @param systemProperties system properties that are added to the context; part A\r\n * @returns ITelemetryItem that is sent to channel\r\n */\r\n TelemetryItemCreator.create = function (item, baseType, envelopeName, logger, customProperties, systemProperties) {\r\n envelopeName = dataSanitizeString(logger, envelopeName) || strNotSpecified;\r\n if (isNullOrUndefined(item) ||\r\n isNullOrUndefined(baseType) ||\r\n isNullOrUndefined(envelopeName)) {\r\n throw Error(\"Input doesn't contain all required fields\");\r\n }\r\n var iKey = \"\";\r\n if (item[strIkey]) {\r\n iKey = item[strIkey];\r\n delete item[strIkey];\r\n }\r\n var telemetryItem = {\r\n name: envelopeName,\r\n time: toISOString(new Date()),\r\n iKey: iKey,\r\n ext: systemProperties ? systemProperties : {},\r\n tags: [],\r\n data: {},\r\n baseType: baseType,\r\n baseData: item // Part B\r\n };\r\n // Part C\r\n if (!isNullOrUndefined(customProperties)) {\r\n objForEachKey(customProperties, function (prop, value) {\r\n telemetryItem.data[prop] = value;\r\n });\r\n }\r\n return telemetryItem;\r\n };\r\n return TelemetryItemCreator;\r\n}());\r\nexport { TelemetryItemCreator };\r\n//# sourceMappingURL=TelemetryItemCreator.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nexport var strShimFunction = \"function\";\r\nexport var strShimObject = \"object\";\r\nexport var strShimUndefined = \"undefined\";\r\nexport var strShimPrototype = \"prototype\";\r\nexport var strShimHasOwnProperty = \"hasOwnProperty\";\r\nexport var strDefault = \"default\";\r\nexport var ObjClass = Object;\r\nexport var ObjProto = ObjClass[strShimPrototype];\r\nexport var ObjAssign = ObjClass[\"assign\"];\r\nexport var ObjCreate = ObjClass[\"create\"];\r\nexport var ObjDefineProperty = ObjClass[\"defineProperty\"];\r\nexport var ObjHasOwnProperty = ObjProto[strShimHasOwnProperty];\r\n//# sourceMappingURL=Constants.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { ObjCreate, strShimFunction, strShimObject, strShimPrototype, strShimUndefined } from \"./Constants\";\r\n/**\r\n * Returns the current global scope object, for a normal web page this will be the current\r\n * window, for a Web Worker this will be current worker global scope via \"self\". The internal\r\n * implementation returns the first available instance object in the following order\r\n * - globalThis (New standard)\r\n * - self (Will return the current window instance for supported browsers)\r\n * - window (fallback for older browser implementations)\r\n * - global (NodeJS standard)\r\n * - (When all else fails)\r\n * While the return type is a Window for the normal case, not all environments will support all\r\n * of the properties or functions.\r\n */\r\nexport function getGlobal() {\r\n if (typeof globalThis !== strShimUndefined && globalThis) {\r\n return globalThis;\r\n }\r\n if (typeof self !== strShimUndefined && self) {\r\n return self;\r\n }\r\n if (typeof window !== strShimUndefined && window) {\r\n return window;\r\n }\r\n if (typeof global !== strShimUndefined && global) {\r\n return global;\r\n }\r\n return null;\r\n}\r\nexport function throwTypeError(message) {\r\n throw new TypeError(message);\r\n}\r\n/**\r\n * Creates an object that has the specified prototype, and that optionally contains specified properties. This helper exists to avoid adding a polyfil\r\n * for older browsers that do not define Object.create eg. ES3 only, IE8 just in case any page checks for presence/absence of the prototype implementation.\r\n * Note: For consistency this will not use the Object.create implementation if it exists as this would cause a testing requirement to test with and without the implementations\r\n * @param obj Object to use as a prototype. May be null\r\n */\r\nexport function objCreateFn(obj) {\r\n var func = ObjCreate;\r\n // Use build in Object.create\r\n if (func) {\r\n // Use Object create method if it exists\r\n return func(obj);\r\n }\r\n if (obj == null) {\r\n return {};\r\n }\r\n var type = typeof obj;\r\n if (type !== strShimObject && type !== strShimFunction) {\r\n throwTypeError('Object prototype may only be an Object:' + obj);\r\n }\r\n function tmpFunc() { }\r\n tmpFunc[strShimPrototype] = obj;\r\n return new tmpFunc();\r\n}\r\n//# sourceMappingURL=Helpers.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { ObjAssign, ObjClass, ObjCreate, ObjDefineProperty, ObjHasOwnProperty, ObjProto, strDefault, strShimFunction, strShimHasOwnProperty, strShimPrototype } from \"./Constants\";\r\nimport { getGlobal, objCreateFn, throwTypeError } from \"./Helpers\";\r\n// Most of these functions have been directly shamelessly \"lifted\" from the https://github.com/@microsoft/tslib and\r\n// modified to be ES3 compatible and applying several minification and tree-shaking techniques so that Application Insights\r\n// can successfully use TypeScript \"importHelpers\" which imports tslib during compilation but it will use these at runtime\r\n// Which is also why all of the functions have not been included as Application Insights currently doesn't use or require\r\n// them.\r\nexport var SymbolObj = (getGlobal() || {})[\"Symbol\"];\r\nexport var ReflectObj = (getGlobal() || {})[\"Reflect\"];\r\nexport var __hasSymbol = !!SymbolObj;\r\nexport var __hasReflect = !!ReflectObj;\r\nvar strDecorate = \"decorate\";\r\nvar strMetadata = \"metadata\";\r\nvar strGetOwnPropertySymbols = \"getOwnPropertySymbols\";\r\nvar strIterator = \"iterator\";\r\nexport var __objAssignFnImpl = function (t) {\r\n // tslint:disable-next-line: ban-comma-operator\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) {\r\n if (ObjProto[strShimHasOwnProperty].call(s, p)) {\r\n t[p] = s[p];\r\n }\r\n }\r\n }\r\n return t;\r\n};\r\nexport var __assignFn = ObjAssign || __objAssignFnImpl;\r\n// tslint:disable-next-line: only-arrow-functions\r\nvar extendStaticsFn = function (d, b) {\r\n extendStaticsFn = ObjClass[\"setPrototypeOf\"] ||\r\n // tslint:disable-next-line: only-arrow-functions\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n // tslint:disable-next-line: only-arrow-functions\r\n function (d, b) {\r\n for (var p in b) {\r\n if (b[strShimHasOwnProperty](p)) {\r\n d[p] = b[p];\r\n }\r\n }\r\n };\r\n return extendStaticsFn(d, b);\r\n};\r\nexport function __extendsFn(d, b) {\r\n if (typeof b !== strShimFunction && b !== null) {\r\n throwTypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n }\r\n extendStaticsFn(d, b);\r\n function __() { this.constructor = d; }\r\n // tslint:disable-next-line: ban-comma-operator\r\n d[strShimPrototype] = b === null ? objCreateFn(b) : (__[strShimPrototype] = b[strShimPrototype], new __());\r\n}\r\nexport function __restFn(s, e) {\r\n var t = {};\r\n for (var k in s) {\r\n if (ObjHasOwnProperty.call(s, k) && e.indexOf(k) < 0) {\r\n t[k] = s[k];\r\n }\r\n }\r\n if (s != null && typeof ObjClass[strGetOwnPropertySymbols] === strShimFunction) {\r\n for (var i = 0, p = ObjClass[strGetOwnPropertySymbols](s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && ObjProto[\"propertyIsEnumerable\"].call(s, p[i])) {\r\n t[p[i]] = s[p[i]];\r\n }\r\n }\r\n }\r\n return t;\r\n}\r\nexport function __decorateFn(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = ObjClass[\"getOwnPropertyDescriptor\"](target, key) : desc, d;\r\n if (__hasReflect && typeof ReflectObj[strDecorate] === strShimFunction) {\r\n r = ReflectObj[strDecorate](decorators, target, key, desc);\r\n }\r\n else {\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n // tslint:disable-next-line:no-conditional-assignment\r\n if (d = decorators[i]) {\r\n r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n }\r\n }\r\n }\r\n // tslint:disable-next-line:ban-comma-operator\r\n return c > 3 && r && ObjDefineProperty(target, key, r), r;\r\n}\r\nexport function __paramFn(paramIndex, decorator) {\r\n return function (target, key) {\r\n decorator(target, key, paramIndex);\r\n };\r\n}\r\nexport function __metadataFn(metadataKey, metadataValue) {\r\n if (__hasReflect && ReflectObj[strMetadata] === strShimFunction) {\r\n return ReflectObj[strMetadata](metadataKey, metadataValue);\r\n }\r\n}\r\nexport function __exportStarFn(m, o) {\r\n for (var p in m) {\r\n if (p !== strDefault && !ObjHasOwnProperty.call(o, p)) {\r\n __createBindingFn(o, m, p);\r\n }\r\n }\r\n}\r\nexport function __createBindingFn(o, m, k, k2) {\r\n if (k2 === undefined) {\r\n k2 = k;\r\n }\r\n if (ObjCreate) {\r\n ObjDefineProperty(o, k2, {\r\n enumerable: true,\r\n get: function () {\r\n return m[k];\r\n }\r\n });\r\n }\r\n else {\r\n o[k2] = m[k];\r\n }\r\n}\r\nexport function __valuesFn(o) {\r\n var s = typeof SymbolObj === strShimFunction && SymbolObj[strIterator], m = s && o[s], i = 0;\r\n if (m) {\r\n return m.call(o);\r\n }\r\n if (o && typeof o.length === \"number\") {\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) {\r\n o = void 0;\r\n }\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n }\r\n throwTypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\nexport function __readFn(o, n) {\r\n var m = typeof SymbolObj === strShimFunction && o[SymbolObj[strIterator]];\r\n if (!m) {\r\n return o;\r\n }\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) {\r\n ar.push(r.value);\r\n }\r\n }\r\n catch (error) {\r\n e = {\r\n error: error\r\n };\r\n }\r\n finally {\r\n try {\r\n // tslint:disable-next-line:no-conditional-assignment\r\n if (r && !r.done && (m = i[\"return\"])) {\r\n m.call(i);\r\n }\r\n }\r\n finally {\r\n if (e) {\r\n // tslint:disable-next-line:no-unsafe-finally\r\n throw e.error;\r\n }\r\n }\r\n }\r\n return ar;\r\n}\r\n/** @deprecated */\r\nexport function __spreadArraysFn() {\r\n var theArgs = arguments;\r\n // Calculate new total size\r\n for (var s = 0, i = 0, il = theArgs.length; i < il; i++) {\r\n s += theArgs[i].length;\r\n }\r\n // Create new full array\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++) {\r\n for (var a = theArgs[i], j = 0, jl = a.length; j < jl; j++, k++) {\r\n r[k] = a[j];\r\n }\r\n }\r\n return r;\r\n}\r\nexport function __spreadArrayFn(to, from) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++) {\r\n to[j] = from[i];\r\n }\r\n return to;\r\n}\r\nexport function __makeTemplateObjectFn(cooked, raw) {\r\n if (ObjDefineProperty) {\r\n ObjDefineProperty(cooked, \"raw\", { value: raw });\r\n }\r\n else {\r\n cooked.raw = raw;\r\n }\r\n return cooked;\r\n}\r\n;\r\nexport function __importStarFn(mod) {\r\n if (mod && mod.__esModule) {\r\n return mod;\r\n }\r\n var result = {};\r\n if (mod != null) {\r\n for (var k in mod) {\r\n if (k !== strDefault && Object.prototype.hasOwnProperty.call(mod, k)) {\r\n __createBindingFn(result, mod, k);\r\n }\r\n }\r\n }\r\n // Set default module\r\n if (ObjCreate) {\r\n ObjDefineProperty(result, strDefault, { enumerable: true, value: mod });\r\n }\r\n else {\r\n result[strDefault] = mod;\r\n }\r\n return result;\r\n}\r\n;\r\nexport function __importDefaultFn(mod) {\r\n return (mod && mod.__esModule) ? mod : { strDefault: mod };\r\n}\r\n//# sourceMappingURL=TsLibShims.js.map","/*\n * Application Insights JavaScript SDK - Common, 2.7.0\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n/**\r\n * Instances of Event represent structured event records that can be grouped and searched by their properties. Event data item also creates a metric of event count by name.\r\n */\r\nvar EventData = /** @class */ (function () {\r\n function EventData() {\r\n /**\r\n * Schema version\r\n */\r\n this.ver = 2;\r\n /**\r\n * Collection of custom properties.\r\n */\r\n this.properties = {};\r\n /**\r\n * Collection of custom measurements.\r\n */\r\n this.measurements = {};\r\n }\r\n return EventData;\r\n}());\r\nexport { EventData };\r\n//# sourceMappingURL=EventData.js.map","/*\n * Application Insights JavaScript SDK - Common, 2.7.0\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n// THIS FILE WAS AUTOGENERATED\r\n/**\r\n * Type of the metric data measurement.\r\n */\r\nexport var DataPointType;\r\n(function (DataPointType) {\r\n DataPointType[DataPointType[\"Measurement\"] = 0] = \"Measurement\";\r\n DataPointType[DataPointType[\"Aggregation\"] = 1] = \"Aggregation\";\r\n})(DataPointType || (DataPointType = {}));\r\n//# sourceMappingURL=DataPointType.js.map","/*\n * Application Insights JavaScript SDK - Common, 2.7.0\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { __extendsFn as __extends } from \"@microsoft/applicationinsights-shims\";\r\nimport { EventData } from '../Interfaces/Contracts/Generated/EventData';\r\nimport { dataSanitizeString, dataSanitizeProperties, dataSanitizeMeasurements } from './Common/DataSanitizer';\r\nimport { strNotSpecified } from '../Constants';\r\nvar Event = /** @class */ (function (_super) {\r\n __extends(Event, _super);\r\n /**\r\n * Constructs a new instance of the EventTelemetry object\r\n */\r\n function Event(logger, name, properties, measurements) {\r\n var _this = _super.call(this) || this;\r\n _this.aiDataContract = {\r\n ver: 1 /* Required */,\r\n name: 1 /* Required */,\r\n properties: 0 /* Default */,\r\n measurements: 0 /* Default */\r\n };\r\n _this.name = dataSanitizeString(logger, name) || strNotSpecified;\r\n _this.properties = dataSanitizeProperties(logger, properties);\r\n _this.measurements = dataSanitizeMeasurements(logger, measurements);\r\n return _this;\r\n }\r\n Event.envelopeType = \"Microsoft.ApplicationInsights.{0}.Event\";\r\n Event.dataType = \"EventData\";\r\n return Event;\r\n}(EventData));\r\nexport { Event };\r\n//# sourceMappingURL=Event.js.map","/*\n * Application Insights JavaScript SDK - Common, 2.7.0\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { __extendsFn as __extends } from \"@microsoft/applicationinsights-shims\";\r\nimport { MessageData } from '../Interfaces/Contracts/Generated/MessageData';\r\nimport { dataSanitizeMessage, dataSanitizeProperties, dataSanitizeMeasurements } from './Common/DataSanitizer';\r\nimport { strNotSpecified } from '../Constants';\r\nvar Trace = /** @class */ (function (_super) {\r\n __extends(Trace, _super);\r\n /**\r\n * Constructs a new instance of the TraceTelemetry object\r\n */\r\n function Trace(logger, message, severityLevel, properties, measurements) {\r\n var _this = _super.call(this) || this;\r\n _this.aiDataContract = {\r\n ver: 1 /* Required */,\r\n message: 1 /* Required */,\r\n severityLevel: 0 /* Default */,\r\n properties: 0 /* Default */\r\n };\r\n message = message || strNotSpecified;\r\n _this.message = dataSanitizeMessage(logger, message);\r\n _this.properties = dataSanitizeProperties(logger, properties);\r\n _this.measurements = dataSanitizeMeasurements(logger, measurements);\r\n if (severityLevel) {\r\n _this.severityLevel = severityLevel;\r\n }\r\n return _this;\r\n }\r\n Trace.envelopeType = \"Microsoft.ApplicationInsights.{0}.Message\";\r\n Trace.dataType = \"MessageData\";\r\n return Trace;\r\n}(MessageData));\r\nexport { Trace };\r\n//# sourceMappingURL=Trace.js.map","/*\n * Application Insights JavaScript SDK - Common, 2.7.0\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n/**\r\n * Instances of Message represent printf-like trace statements that are text-searched. Log4Net, NLog and other text-based log file entries are translated into intances of this type. The message does not have measurements.\r\n */\r\nvar MessageData = /** @class */ (function () {\r\n function MessageData() {\r\n /**\r\n * Schema version\r\n */\r\n this.ver = 2;\r\n /**\r\n * Collection of custom properties.\r\n */\r\n this.properties = {};\r\n /**\r\n * Collection of custom measurements.\r\n */\r\n this.measurements = {};\r\n }\r\n return MessageData;\r\n}());\r\nexport { MessageData };\r\n//# sourceMappingURL=MessageData.js.map","/*\n * Application Insights JavaScript SDK - Common, 2.7.0\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n/**\r\n * An instance of the Metric item is a list of measurements (single data points) and/or aggregations.\r\n */\r\nvar MetricData = /** @class */ (function () {\r\n function MetricData() {\r\n /**\r\n * Schema version\r\n */\r\n this.ver = 2;\r\n /**\r\n * List of metrics. Only one metric in the list is currently supported by Application Insights storage. If multiple data points were sent only the first one will be used.\r\n */\r\n this.metrics = [];\r\n /**\r\n * Collection of custom properties.\r\n */\r\n this.properties = {};\r\n /**\r\n * Collection of custom measurements.\r\n */\r\n this.measurements = {};\r\n }\r\n return MetricData;\r\n}());\r\nexport { MetricData };\r\n//# sourceMappingURL=MetricData.js.map","/*\n * Application Insights JavaScript SDK - Common, 2.7.0\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { DataPointType } from './DataPointType';\r\n/**\r\n * Metric data single measurement.\r\n */\r\nvar DataPoint = /** @class */ (function () {\r\n function DataPoint() {\r\n /**\r\n * Metric type. Single measurement or the aggregated value.\r\n */\r\n this.kind = DataPointType.Measurement;\r\n }\r\n return DataPoint;\r\n}());\r\nexport { DataPoint };\r\n//# sourceMappingURL=DataPoint.js.map","/*\n * Application Insights JavaScript SDK - Common, 2.7.0\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { __extendsFn as __extends } from \"@microsoft/applicationinsights-shims\";\r\nimport { DataPoint as AIDataPoint } from '../../Interfaces/Contracts/Generated/DataPoint';\r\nvar DataPoint = /** @class */ (function (_super) {\r\n __extends(DataPoint, _super);\r\n function DataPoint() {\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n /**\r\n * The data contract for serializing this object.\r\n */\r\n _this.aiDataContract = {\r\n name: 1 /* Required */,\r\n kind: 0 /* Default */,\r\n value: 1 /* Required */,\r\n count: 0 /* Default */,\r\n min: 0 /* Default */,\r\n max: 0 /* Default */,\r\n stdDev: 0 /* Default */\r\n };\r\n return _this;\r\n }\r\n return DataPoint;\r\n}(AIDataPoint));\r\nexport { DataPoint };\r\n//# sourceMappingURL=DataPoint.js.map","/*\n * Application Insights JavaScript SDK - Common, 2.7.0\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { __extendsFn as __extends } from \"@microsoft/applicationinsights-shims\";\r\nimport { MetricData } from '../Interfaces/Contracts/Generated/MetricData';\r\nimport { dataSanitizeMeasurements, dataSanitizeProperties, dataSanitizeString } from './Common/DataSanitizer';\r\nimport { DataPoint } from './Common/DataPoint';\r\nimport { strNotSpecified } from '../Constants';\r\nvar Metric = /** @class */ (function (_super) {\r\n __extends(Metric, _super);\r\n /**\r\n * Constructs a new instance of the MetricTelemetry object\r\n */\r\n function Metric(logger, name, value, count, min, max, properties, measurements) {\r\n var _this = _super.call(this) || this;\r\n _this.aiDataContract = {\r\n ver: 1 /* Required */,\r\n metrics: 1 /* Required */,\r\n properties: 0 /* Default */\r\n };\r\n var dataPoint = new DataPoint();\r\n dataPoint.count = count > 0 ? count : undefined;\r\n dataPoint.max = isNaN(max) || max === null ? undefined : max;\r\n dataPoint.min = isNaN(min) || min === null ? undefined : min;\r\n dataPoint.name = dataSanitizeString(logger, name) || strNotSpecified;\r\n dataPoint.value = value;\r\n _this.metrics = [dataPoint];\r\n _this.properties = dataSanitizeProperties(logger, properties);\r\n _this.measurements = dataSanitizeMeasurements(logger, measurements);\r\n return _this;\r\n }\r\n Metric.envelopeType = \"Microsoft.ApplicationInsights.{0}.Metric\";\r\n Metric.dataType = \"MetricData\";\r\n return Metric;\r\n}(MetricData));\r\nexport { Metric };\r\n//# sourceMappingURL=Metric.js.map","/*\n * Application Insights JavaScript SDK - Common, 2.7.0\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { __extendsFn as __extends } from \"@microsoft/applicationinsights-shims\";\r\n// THIS FILE WAS AUTOGENERATED\r\nimport { EventData } from './EventData';\r\n/**\r\n * An instance of PageView represents a generic action on a page like a button click. It is also the base type for PageView.\r\n */\r\nvar PageViewData = /** @class */ (function (_super) {\r\n __extends(PageViewData, _super);\r\n function PageViewData() {\r\n var _this = _super.call(this) || this;\r\n /**\r\n * Schema version\r\n */\r\n _this.ver = 2;\r\n /**\r\n * Collection of custom properties.\r\n */\r\n _this.properties = {};\r\n /**\r\n * Collection of custom measurements.\r\n */\r\n _this.measurements = {};\r\n return _this;\r\n }\r\n return PageViewData;\r\n}(EventData));\r\nexport { PageViewData };\r\n//# sourceMappingURL=PageViewData.js.map","/*\n * Application Insights JavaScript SDK - Common, 2.7.0\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { arrForEach, isString } from \"@microsoft/applicationinsights-core-js\";\r\nexport function stringToBoolOrDefault(str, defaultValue) {\r\n if (defaultValue === void 0) { defaultValue = false; }\r\n if (str === undefined || str === null) {\r\n return defaultValue;\r\n }\r\n return str.toString().toLowerCase() === \"true\";\r\n}\r\n/**\r\n * Convert ms to c# time span format\r\n */\r\nexport function msToTimeSpan(totalms) {\r\n if (isNaN(totalms) || totalms < 0) {\r\n totalms = 0;\r\n }\r\n totalms = Math.round(totalms);\r\n var ms = \"\" + totalms % 1000;\r\n var sec = \"\" + Math.floor(totalms / 1000) % 60;\r\n var min = \"\" + Math.floor(totalms / (1000 * 60)) % 60;\r\n var hour = \"\" + Math.floor(totalms / (1000 * 60 * 60)) % 24;\r\n var days = Math.floor(totalms / (1000 * 60 * 60 * 24));\r\n ms = ms.length === 1 ? \"00\" + ms : ms.length === 2 ? \"0\" + ms : ms;\r\n sec = sec.length < 2 ? \"0\" + sec : sec;\r\n min = min.length < 2 ? \"0\" + min : min;\r\n hour = hour.length < 2 ? \"0\" + hour : hour;\r\n return (days > 0 ? days + \".\" : \"\") + hour + \":\" + min + \":\" + sec + \".\" + ms;\r\n}\r\nexport function getExtensionByName(extensions, identifier) {\r\n var extension = null;\r\n arrForEach(extensions, function (value) {\r\n if (value.identifier === identifier) {\r\n extension = value;\r\n return -1;\r\n }\r\n });\r\n return extension;\r\n}\r\nexport function isCrossOriginError(message, url, lineNumber, columnNumber, error) {\r\n return !error && isString(message) && (message === \"Script error.\" || message === \"Script error\");\r\n}\r\n//# sourceMappingURL=HelperFuncs.js.map","/*\n * Application Insights JavaScript SDK - Common, 2.7.0\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { __extendsFn as __extends } from \"@microsoft/applicationinsights-shims\";\r\nimport { PageViewData } from '../Interfaces/Contracts/Generated/PageViewData';\r\nimport { dataSanitizeId, dataSanitizeMeasurements, dataSanitizeProperties, dataSanitizeString, dataSanitizeUrl } from './Common/DataSanitizer';\r\nimport { msToTimeSpan } from '../HelperFuncs';\r\nimport { strNotSpecified } from '../Constants';\r\nvar PageView = /** @class */ (function (_super) {\r\n __extends(PageView, _super);\r\n /**\r\n * Constructs a new instance of the PageEventTelemetry object\r\n */\r\n function PageView(logger, name, url, durationMs, properties, measurements, id) {\r\n var _this = _super.call(this) || this;\r\n _this.aiDataContract = {\r\n ver: 1 /* Required */,\r\n name: 0 /* Default */,\r\n url: 0 /* Default */,\r\n duration: 0 /* Default */,\r\n properties: 0 /* Default */,\r\n measurements: 0 /* Default */,\r\n id: 0 /* Default */\r\n };\r\n _this.id = dataSanitizeId(logger, id);\r\n _this.url = dataSanitizeUrl(logger, url);\r\n _this.name = dataSanitizeString(logger, name) || strNotSpecified;\r\n if (!isNaN(durationMs)) {\r\n _this.duration = msToTimeSpan(durationMs);\r\n }\r\n _this.properties = dataSanitizeProperties(logger, properties);\r\n _this.measurements = dataSanitizeMeasurements(logger, measurements);\r\n return _this;\r\n }\r\n PageView.envelopeType = \"Microsoft.ApplicationInsights.{0}.Pageview\";\r\n PageView.dataType = \"PageviewData\";\r\n return PageView;\r\n}(PageViewData));\r\nexport { PageView };\r\n//# sourceMappingURL=PageView.js.map","/*\n * Application Insights JavaScript SDK - Common, 2.7.0\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { __extendsFn as __extends } from \"@microsoft/applicationinsights-shims\";\r\nimport { PageViewPerfData } from '../Interfaces/Contracts/Generated/PageViewPerfData';\r\nimport { dataSanitizeMeasurements, dataSanitizeProperties, dataSanitizeString, dataSanitizeUrl } from './Common/DataSanitizer';\r\nimport { strNotSpecified } from '../Constants';\r\nvar PageViewPerformance = /** @class */ (function (_super) {\r\n __extends(PageViewPerformance, _super);\r\n /**\r\n * Constructs a new instance of the PageEventTelemetry object\r\n */\r\n function PageViewPerformance(logger, name, url, unused, properties, measurements, cs4BaseData) {\r\n var _this = _super.call(this) || this;\r\n _this.aiDataContract = {\r\n ver: 1 /* Required */,\r\n name: 0 /* Default */,\r\n url: 0 /* Default */,\r\n duration: 0 /* Default */,\r\n perfTotal: 0 /* Default */,\r\n networkConnect: 0 /* Default */,\r\n sentRequest: 0 /* Default */,\r\n receivedResponse: 0 /* Default */,\r\n domProcessing: 0 /* Default */,\r\n properties: 0 /* Default */,\r\n measurements: 0 /* Default */\r\n };\r\n _this.url = dataSanitizeUrl(logger, url);\r\n _this.name = dataSanitizeString(logger, name) || strNotSpecified;\r\n _this.properties = dataSanitizeProperties(logger, properties);\r\n _this.measurements = dataSanitizeMeasurements(logger, measurements);\r\n if (cs4BaseData) {\r\n _this.domProcessing = cs4BaseData.domProcessing;\r\n _this.duration = cs4BaseData.duration;\r\n _this.networkConnect = cs4BaseData.networkConnect;\r\n _this.perfTotal = cs4BaseData.perfTotal;\r\n _this.receivedResponse = cs4BaseData.receivedResponse;\r\n _this.sentRequest = cs4BaseData.sentRequest;\r\n }\r\n return _this;\r\n }\r\n PageViewPerformance.envelopeType = \"Microsoft.ApplicationInsights.{0}.PageviewPerformance\";\r\n PageViewPerformance.dataType = \"PageviewPerformanceData\";\r\n return PageViewPerformance;\r\n}(PageViewPerfData));\r\nexport { PageViewPerformance };\r\n//# sourceMappingURL=PageViewPerformance.js.map","/*\n * Application Insights JavaScript SDK - Common, 2.7.0\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { __extendsFn as __extends } from \"@microsoft/applicationinsights-shims\";\r\n// THIS FILE WAS AUTOGENERATED\r\nimport { PageViewData } from './PageViewData';\r\n/**\r\n * An instance of PageViewPerf represents: a page view with no performance data, a page view with performance data, or just the performance data of an earlier page request.\r\n */\r\nvar PageViewPerfData = /** @class */ (function (_super) {\r\n __extends(PageViewPerfData, _super);\r\n function PageViewPerfData() {\r\n var _this = _super.call(this) || this;\r\n /**\r\n * Schema version\r\n */\r\n _this.ver = 2;\r\n /**\r\n * Collection of custom properties.\r\n */\r\n _this.properties = {};\r\n /**\r\n * Collection of custom measurements.\r\n */\r\n _this.measurements = {};\r\n return _this;\r\n }\r\n return PageViewPerfData;\r\n}(PageViewData));\r\nexport { PageViewPerfData };\r\n//# sourceMappingURL=PageViewPerfData.js.map","/*\n * Application Insights JavaScript SDK - Common, 2.7.0\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n// THIS FILE WAS AUTOGENERATED\r\n/**\r\n * Stack frame information.\r\n */\r\nvar StackFrame = /** @class */ (function () {\r\n function StackFrame() {\r\n }\r\n return StackFrame;\r\n}());\r\nexport { StackFrame };\r\n//# sourceMappingURL=StackFrame.js.map","/*\n * Application Insights JavaScript SDK - Common, 2.7.0\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n/**\r\n * Exception details of the exception in a chain.\r\n */\r\nvar ExceptionDetails = /** @class */ (function () {\r\n function ExceptionDetails() {\r\n /**\r\n * Indicates if full exception stack is provided in the exception. The stack may be trimmed, such as in the case of a StackOverflow exception.\r\n */\r\n this.hasFullStack = true;\r\n /**\r\n * List of stack frames. Either stack or parsedStack should have a value.\r\n */\r\n this.parsedStack = [];\r\n }\r\n return ExceptionDetails;\r\n}());\r\nexport { ExceptionDetails };\r\n//# sourceMappingURL=ExceptionDetails.js.map","/*\n * Application Insights JavaScript SDK - Common, 2.7.0\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { __assignFn as __assign, __extendsFn as __extends } from \"@microsoft/applicationinsights-shims\";\r\nimport { StackFrame } from '../Interfaces/Contracts/Generated/StackFrame';\r\nimport { ExceptionData } from '../Interfaces/Contracts/Generated/ExceptionData';\r\nimport { ExceptionDetails } from '../Interfaces/Contracts/Generated/ExceptionDetails';\r\nimport { dataSanitizeException, dataSanitizeMeasurements, dataSanitizeMessage, dataSanitizeProperties, dataSanitizeString } from './Common/DataSanitizer';\r\nimport { isNullOrUndefined, arrMap, isString, strTrim, isArray, isError, arrForEach, isObject, isFunction } from '@microsoft/applicationinsights-core-js';\r\nimport { strNotSpecified } from '../Constants';\r\nvar NoMethod = \"\";\r\nvar strError = \"error\";\r\nvar strStack = \"stack\";\r\nvar strStackDetails = \"stackDetails\";\r\nvar strErrorSrc = \"errorSrc\";\r\nvar strMessage = \"message\";\r\nvar strDescription = \"description\";\r\nfunction _stringify(value, convertToString) {\r\n var result = value;\r\n if (result && !isString(result)) {\r\n if (JSON && JSON.stringify) {\r\n result = JSON.stringify(value);\r\n if (convertToString && (!result || result === \"{}\")) {\r\n if (isFunction(value.toString)) {\r\n result = value.toString();\r\n }\r\n else {\r\n result = \"\" + value;\r\n }\r\n }\r\n }\r\n else {\r\n result = \"\" + value + \" - (Missing JSON.stringify)\";\r\n }\r\n }\r\n return result || \"\";\r\n}\r\nfunction _formatMessage(theEvent, errorType) {\r\n var evtMessage = theEvent;\r\n if (theEvent) {\r\n if (evtMessage && !isString(evtMessage)) {\r\n evtMessage = theEvent[strMessage] || theEvent[strDescription] || evtMessage;\r\n }\r\n // Make sure the message is a string\r\n if (evtMessage && !isString(evtMessage)) {\r\n // tslint:disable-next-line: prefer-conditional-expression\r\n evtMessage = _stringify(evtMessage, true);\r\n }\r\n if (theEvent[\"filename\"]) {\r\n // Looks like an event object with filename\r\n evtMessage = evtMessage + \" @\" + (theEvent[\"filename\"] || \"\") + \":\" + (theEvent[\"lineno\"] || \"?\") + \":\" + (theEvent[\"colno\"] || \"?\");\r\n }\r\n }\r\n // Automatically add the error type to the message if it does already appear to be present\r\n if (errorType && errorType !== \"String\" && errorType !== \"Object\" && errorType !== \"Error\" && (evtMessage || \"\").indexOf(errorType) === -1) {\r\n evtMessage = errorType + \": \" + evtMessage;\r\n }\r\n return evtMessage || \"\";\r\n}\r\nfunction _isExceptionDetailsInternal(value) {\r\n try {\r\n if (isObject(value)) {\r\n return \"hasFullStack\" in value && \"typeName\" in value;\r\n }\r\n }\r\n catch (e) {\r\n // This can happen with some native browser objects, but should not happen for the type we are checking for\r\n }\r\n return false;\r\n}\r\nfunction _isExceptionInternal(value) {\r\n try {\r\n if (isObject(value)) {\r\n return (\"ver\" in value && \"exceptions\" in value && \"properties\" in value);\r\n }\r\n }\r\n catch (e) {\r\n // This can happen with some native browser objects, but should not happen for the type we are checking for\r\n }\r\n return false;\r\n}\r\nfunction _isStackDetails(details) {\r\n return details && details.src && isString(details.src) && details.obj && isArray(details.obj);\r\n}\r\nfunction _convertStackObj(errorStack) {\r\n var src = errorStack || \"\";\r\n if (!isString(src)) {\r\n if (isString(src[strStack])) {\r\n src = src[strStack];\r\n }\r\n else {\r\n src = \"\" + src;\r\n }\r\n }\r\n var items = src.split(\"\\n\");\r\n return {\r\n src: src,\r\n obj: items\r\n };\r\n}\r\nfunction _getOperaStack(errorMessage) {\r\n var stack = [];\r\n var lines = errorMessage.split(\"\\n\");\r\n for (var lp = 0; lp < lines.length; lp++) {\r\n var entry = lines[lp];\r\n if (lines[lp + 1]) {\r\n entry += \"@\" + lines[lp + 1];\r\n lp++;\r\n }\r\n stack.push(entry);\r\n }\r\n return {\r\n src: errorMessage,\r\n obj: stack\r\n };\r\n}\r\nfunction _getStackFromErrorObj(errorObj) {\r\n var details = null;\r\n if (errorObj) {\r\n try {\r\n /* Using bracket notation is support older browsers (IE 7/8 -- dont remember the version) that throw when using dot\r\n notation for undefined objects and we don't want to loose the error from being reported */\r\n if (errorObj[strStack]) {\r\n // Chrome/Firefox\r\n details = _convertStackObj(errorObj[strStack]);\r\n }\r\n else if (errorObj[strError] && errorObj[strError][strStack]) {\r\n // Edge error event provides the stack and error object\r\n details = _convertStackObj(errorObj[strError][strStack]);\r\n }\r\n else if (errorObj['exception'] && errorObj.exception[strStack]) {\r\n details = _convertStackObj(errorObj.exception[strStack]);\r\n }\r\n else if (_isStackDetails(errorObj)) {\r\n details = errorObj;\r\n }\r\n else if (_isStackDetails(errorObj[strStackDetails])) {\r\n details = errorObj[strStackDetails];\r\n }\r\n else if (window['opera'] && errorObj[strMessage]) {\r\n // Opera\r\n details = _getOperaStack(errorObj.message);\r\n }\r\n else if (isString(errorObj)) {\r\n details = _convertStackObj(errorObj);\r\n }\r\n else {\r\n var evtMessage = errorObj[strMessage] || errorObj[strDescription] || \"\";\r\n if (isString(errorObj[strErrorSrc])) {\r\n if (evtMessage) {\r\n evtMessage += \"\\n\";\r\n }\r\n evtMessage += \" from \" + errorObj[strErrorSrc];\r\n }\r\n if (evtMessage) {\r\n details = _convertStackObj(evtMessage);\r\n }\r\n }\r\n }\r\n catch (e) {\r\n // something unexpected happened so to avoid failing to report any error lets swallow the exception \r\n // and fallback to the callee/caller method\r\n details = _convertStackObj(e);\r\n }\r\n }\r\n return details || {\r\n src: \"\",\r\n obj: null\r\n };\r\n}\r\nfunction _formatStackTrace(stackDetails) {\r\n var stack = \"\";\r\n if (stackDetails) {\r\n if (stackDetails.obj) {\r\n arrForEach(stackDetails.obj, function (entry) {\r\n stack += entry + \"\\n\";\r\n });\r\n }\r\n else {\r\n stack = stackDetails.src || \"\";\r\n }\r\n }\r\n return stack;\r\n}\r\nfunction _parseStack(stack) {\r\n var parsedStack;\r\n var frames = stack.obj;\r\n if (frames && frames.length > 0) {\r\n parsedStack = [];\r\n var level_1 = 0;\r\n var totalSizeInBytes_1 = 0;\r\n arrForEach(frames, function (frame) {\r\n var theFrame = frame.toString();\r\n if (_StackFrame.regex.test(theFrame)) {\r\n var parsedFrame = new _StackFrame(theFrame, level_1++);\r\n totalSizeInBytes_1 += parsedFrame.sizeInBytes;\r\n parsedStack.push(parsedFrame);\r\n }\r\n });\r\n // DP Constraint - exception parsed stack must be < 32KB\r\n // remove frames from the middle to meet the threshold\r\n var exceptionParsedStackThreshold = 32 * 1024;\r\n if (totalSizeInBytes_1 > exceptionParsedStackThreshold) {\r\n var left = 0;\r\n var right = parsedStack.length - 1;\r\n var size = 0;\r\n var acceptedLeft = left;\r\n var acceptedRight = right;\r\n while (left < right) {\r\n // check size\r\n var lSize = parsedStack[left].sizeInBytes;\r\n var rSize = parsedStack[right].sizeInBytes;\r\n size += lSize + rSize;\r\n if (size > exceptionParsedStackThreshold) {\r\n // remove extra frames from the middle\r\n var howMany = acceptedRight - acceptedLeft + 1;\r\n parsedStack.splice(acceptedLeft, howMany);\r\n break;\r\n }\r\n // update pointers\r\n acceptedLeft = left;\r\n acceptedRight = right;\r\n left++;\r\n right--;\r\n }\r\n }\r\n }\r\n return parsedStack;\r\n}\r\nfunction _getErrorType(errorType) {\r\n // Gets the Error Type by passing the constructor (used to get the true type of native error object).\r\n var typeName = \"\";\r\n if (errorType) {\r\n typeName = errorType.typeName || errorType.name || \"\";\r\n if (!typeName) {\r\n try {\r\n var funcNameRegex = /function (.{1,200})\\(/;\r\n var results = (funcNameRegex).exec((errorType).constructor.toString());\r\n typeName = (results && results.length > 1) ? results[1] : \"\";\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty -- Ignoring any failures as nothing we can do\r\n }\r\n }\r\n }\r\n return typeName;\r\n}\r\n/**\r\n * Formats the provided errorObj for display and reporting, it may be a String, Object, integer or undefined depending on the browser.\r\n * @param errorObj The supplied errorObj\r\n */\r\nexport function _formatErrorCode(errorObj) {\r\n if (errorObj) {\r\n try {\r\n if (!isString(errorObj)) {\r\n var errorType = _getErrorType(errorObj);\r\n var result = _stringify(errorObj, false);\r\n if (!result || result === \"{}\") {\r\n if (errorObj[strError]) {\r\n // Looks like an MS Error Event\r\n errorObj = errorObj[strError];\r\n errorType = _getErrorType(errorObj);\r\n }\r\n result = _stringify(errorObj, true);\r\n }\r\n if (result.indexOf(errorType) !== 0 && errorType !== \"String\") {\r\n return errorType + \":\" + result;\r\n }\r\n return result;\r\n }\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty -- Ignoring any failures as nothing we can do\r\n }\r\n }\r\n // Fallback to just letting the object format itself into a string\r\n return \"\" + (errorObj || \"\");\r\n}\r\nvar Exception = /** @class */ (function (_super) {\r\n __extends(Exception, _super);\r\n /**\r\n * Constructs a new instance of the ExceptionTelemetry object\r\n */\r\n function Exception(logger, exception, properties, measurements, severityLevel, id) {\r\n var _this = _super.call(this) || this;\r\n _this.aiDataContract = {\r\n ver: 1 /* Required */,\r\n exceptions: 1 /* Required */,\r\n severityLevel: 0 /* Default */,\r\n properties: 0 /* Default */,\r\n measurements: 0 /* Default */\r\n };\r\n if (!_isExceptionInternal(exception)) {\r\n if (!properties) {\r\n properties = {};\r\n }\r\n _this.exceptions = [new _ExceptionDetails(logger, exception, properties)];\r\n _this.properties = dataSanitizeProperties(logger, properties);\r\n _this.measurements = dataSanitizeMeasurements(logger, measurements);\r\n if (severityLevel) {\r\n _this.severityLevel = severityLevel;\r\n }\r\n if (id) {\r\n _this.id = id;\r\n }\r\n }\r\n else {\r\n _this.exceptions = exception.exceptions;\r\n _this.properties = exception.properties;\r\n _this.measurements = exception.measurements;\r\n if (exception.severityLevel) {\r\n _this.severityLevel = exception.severityLevel;\r\n }\r\n if (exception.id) {\r\n _this.id = exception.id;\r\n }\r\n if (exception.problemGroup) {\r\n _this.problemGroup = exception.problemGroup;\r\n }\r\n // bool/int types, use isNullOrUndefined\r\n _this.ver = 2; // TODO: handle the CS\"4.0\" ==> breeze 2 conversion in a better way\r\n if (!isNullOrUndefined(exception.isManual)) {\r\n _this.isManual = exception.isManual;\r\n }\r\n }\r\n return _this;\r\n }\r\n Exception.CreateAutoException = function (message, url, lineNumber, columnNumber, error, evt, stack, errorSrc) {\r\n var errorType = _getErrorType(error || evt || message);\r\n return {\r\n message: _formatMessage(message, errorType),\r\n url: url,\r\n lineNumber: lineNumber,\r\n columnNumber: columnNumber,\r\n error: _formatErrorCode(error || evt || message),\r\n evt: _formatErrorCode(evt || message),\r\n typeName: errorType,\r\n stackDetails: _getStackFromErrorObj(stack || error || evt),\r\n errorSrc: errorSrc\r\n };\r\n };\r\n Exception.CreateFromInterface = function (logger, exception, properties, measurements) {\r\n var exceptions = exception.exceptions\r\n && arrMap(exception.exceptions, function (ex) { return _ExceptionDetails.CreateFromInterface(logger, ex); });\r\n var exceptionData = new Exception(logger, __assign(__assign({}, exception), { exceptions: exceptions }), properties, measurements);\r\n return exceptionData;\r\n };\r\n Exception.prototype.toInterface = function () {\r\n var _a = this, exceptions = _a.exceptions, properties = _a.properties, measurements = _a.measurements, severityLevel = _a.severityLevel, ver = _a.ver, problemGroup = _a.problemGroup, id = _a.id, isManual = _a.isManual;\r\n var exceptionDetailsInterface = exceptions instanceof Array\r\n && arrMap(exceptions, function (exception) { return exception.toInterface(); })\r\n || undefined;\r\n return {\r\n ver: \"4.0\",\r\n exceptions: exceptionDetailsInterface,\r\n severityLevel: severityLevel,\r\n properties: properties,\r\n measurements: measurements,\r\n problemGroup: problemGroup,\r\n id: id,\r\n isManual: isManual\r\n };\r\n };\r\n /**\r\n * Creates a simple exception with 1 stack frame. Useful for manual constracting of exception.\r\n */\r\n Exception.CreateSimpleException = function (message, typeName, assembly, fileName, details, line) {\r\n return {\r\n exceptions: [\r\n {\r\n hasFullStack: true,\r\n message: message,\r\n stack: details,\r\n typeName: typeName\r\n }\r\n ]\r\n };\r\n };\r\n Exception.envelopeType = \"Microsoft.ApplicationInsights.{0}.Exception\";\r\n Exception.dataType = \"ExceptionData\";\r\n Exception.formatError = _formatErrorCode;\r\n return Exception;\r\n}(ExceptionData));\r\nexport { Exception };\r\nvar _ExceptionDetails = /** @class */ (function (_super) {\r\n __extends(_ExceptionDetails, _super);\r\n function _ExceptionDetails(logger, exception, properties) {\r\n var _this = _super.call(this) || this;\r\n _this.aiDataContract = {\r\n id: 0 /* Default */,\r\n outerId: 0 /* Default */,\r\n typeName: 1 /* Required */,\r\n message: 1 /* Required */,\r\n hasFullStack: 0 /* Default */,\r\n stack: 0 /* Default */,\r\n parsedStack: 2 /* Array */\r\n };\r\n if (!_isExceptionDetailsInternal(exception)) {\r\n var error = exception;\r\n var evt = error && error.evt;\r\n if (!isError(error)) {\r\n error = error[strError] || evt || error;\r\n }\r\n _this.typeName = dataSanitizeString(logger, _getErrorType(error)) || strNotSpecified;\r\n _this.message = dataSanitizeMessage(logger, _formatMessage(exception || error, _this.typeName)) || strNotSpecified;\r\n var stack = exception[strStackDetails] || _getStackFromErrorObj(exception);\r\n _this.parsedStack = _parseStack(stack);\r\n _this[strStack] = dataSanitizeException(logger, _formatStackTrace(stack));\r\n _this.hasFullStack = isArray(_this.parsedStack) && _this.parsedStack.length > 0;\r\n if (properties) {\r\n properties.typeName = properties.typeName || _this.typeName;\r\n }\r\n }\r\n else {\r\n _this.typeName = exception.typeName;\r\n _this.message = exception.message;\r\n _this[strStack] = exception[strStack];\r\n _this.parsedStack = exception.parsedStack;\r\n _this.hasFullStack = exception.hasFullStack;\r\n }\r\n return _this;\r\n }\r\n _ExceptionDetails.prototype.toInterface = function () {\r\n var parsedStack = this.parsedStack instanceof Array\r\n && arrMap(this.parsedStack, function (frame) { return frame.toInterface(); });\r\n var exceptionDetailsInterface = {\r\n id: this.id,\r\n outerId: this.outerId,\r\n typeName: this.typeName,\r\n message: this.message,\r\n hasFullStack: this.hasFullStack,\r\n stack: this[strStack],\r\n parsedStack: parsedStack || undefined\r\n };\r\n return exceptionDetailsInterface;\r\n };\r\n _ExceptionDetails.CreateFromInterface = function (logger, exception) {\r\n var parsedStack = (exception.parsedStack instanceof Array\r\n && arrMap(exception.parsedStack, function (frame) { return _StackFrame.CreateFromInterface(frame); }))\r\n || exception.parsedStack;\r\n var exceptionDetails = new _ExceptionDetails(logger, __assign(__assign({}, exception), { parsedStack: parsedStack }));\r\n return exceptionDetails;\r\n };\r\n return _ExceptionDetails;\r\n}(ExceptionDetails));\r\nexport { _ExceptionDetails };\r\nvar _StackFrame = /** @class */ (function (_super) {\r\n __extends(_StackFrame, _super);\r\n function _StackFrame(sourceFrame, level) {\r\n var _this = _super.call(this) || this;\r\n _this.sizeInBytes = 0;\r\n _this.aiDataContract = {\r\n level: 1 /* Required */,\r\n method: 1 /* Required */,\r\n assembly: 0 /* Default */,\r\n fileName: 0 /* Default */,\r\n line: 0 /* Default */\r\n };\r\n // Not converting this to isString() as typescript uses this logic to \"understand\" the different\r\n // types for the 2 different code paths\r\n if (typeof sourceFrame === \"string\") {\r\n var frame = sourceFrame;\r\n _this.level = level;\r\n _this.method = NoMethod;\r\n _this.assembly = strTrim(frame);\r\n _this.fileName = \"\";\r\n _this.line = 0;\r\n var matches = frame.match(_StackFrame.regex);\r\n if (matches && matches.length >= 5) {\r\n _this.method = strTrim(matches[2]) || _this.method;\r\n _this.fileName = strTrim(matches[4]);\r\n _this.line = parseInt(matches[5]) || 0;\r\n }\r\n }\r\n else {\r\n _this.level = sourceFrame.level;\r\n _this.method = sourceFrame.method;\r\n _this.assembly = sourceFrame.assembly;\r\n _this.fileName = sourceFrame.fileName;\r\n _this.line = sourceFrame.line;\r\n _this.sizeInBytes = 0;\r\n }\r\n _this.sizeInBytes += _this.method.length;\r\n _this.sizeInBytes += _this.fileName.length;\r\n _this.sizeInBytes += _this.assembly.length;\r\n // todo: these might need to be removed depending on how the back-end settles on their size calculation\r\n _this.sizeInBytes += _StackFrame.baseSize;\r\n _this.sizeInBytes += _this.level.toString().length;\r\n _this.sizeInBytes += _this.line.toString().length;\r\n return _this;\r\n }\r\n _StackFrame.CreateFromInterface = function (frame) {\r\n return new _StackFrame(frame, null /* level is available in frame interface */);\r\n };\r\n _StackFrame.prototype.toInterface = function () {\r\n return {\r\n level: this.level,\r\n method: this.method,\r\n assembly: this.assembly,\r\n fileName: this.fileName,\r\n line: this.line\r\n };\r\n };\r\n // regex to match stack frames from ie/chrome/ff\r\n // methodName=$2, fileName=$4, lineNo=$5, column=$6\r\n _StackFrame.regex = /^([\\s]+at)?[\\s]{0,50}([^\\@\\()]+?)[\\s]{0,50}(\\@|\\()([^\\(\\n]+):([0-9]+):([0-9]+)(\\)?)$/;\r\n _StackFrame.baseSize = 58; // '{\"method\":\"\",\"level\":,\"assembly\":\"\",\"fileName\":\"\",\"line\":}'.length\r\n return _StackFrame;\r\n}(StackFrame));\r\nexport { _StackFrame };\r\n//# sourceMappingURL=Exception.js.map","/*\n * Application Insights JavaScript SDK - Common, 2.7.0\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n// THIS FILE WAS AUTOGENERATED\r\n/**\r\n * Defines the level of severity for the event.\r\n */\r\nexport var SeverityLevel;\r\n(function (SeverityLevel) {\r\n SeverityLevel[SeverityLevel[\"Verbose\"] = 0] = \"Verbose\";\r\n SeverityLevel[SeverityLevel[\"Information\"] = 1] = \"Information\";\r\n SeverityLevel[SeverityLevel[\"Warning\"] = 2] = \"Warning\";\r\n SeverityLevel[SeverityLevel[\"Error\"] = 3] = \"Error\";\r\n SeverityLevel[SeverityLevel[\"Critical\"] = 4] = \"Critical\";\r\n})(SeverityLevel || (SeverityLevel = {}));\r\n//# sourceMappingURL=SeverityLevel.js.map","/*\n * Application Insights JavaScript SDK - Common, 2.7.0\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n/**\r\n * Type of storage to differentiate between local storage and session storage\r\n */\r\nexport var StorageType;\r\n(function (StorageType) {\r\n StorageType[StorageType[\"LocalStorage\"] = 0] = \"LocalStorage\";\r\n StorageType[StorageType[\"SessionStorage\"] = 1] = \"SessionStorage\";\r\n})(StorageType || (StorageType = {}));\r\n;\r\nexport var DistributedTracingModes;\r\n(function (DistributedTracingModes) {\r\n /**\r\n * (Default) Send Application Insights correlation headers\r\n */\r\n DistributedTracingModes[DistributedTracingModes[\"AI\"] = 0] = \"AI\";\r\n /**\r\n * Send both W3C Trace Context headers and back-compatibility Application Insights headers\r\n */\r\n DistributedTracingModes[DistributedTracingModes[\"AI_AND_W3C\"] = 1] = \"AI_AND_W3C\";\r\n /**\r\n * Send W3C Trace Context headers\r\n */\r\n DistributedTracingModes[DistributedTracingModes[\"W3C\"] = 2] = \"W3C\";\r\n})(DistributedTracingModes || (DistributedTracingModes = {}));\r\n//# sourceMappingURL=Enums.js.map","/*\n * Application Insights JavaScript SDK - Common, 2.7.0\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n/**\r\n * An instance of Exception represents a handled or unhandled exception that occurred during execution of the monitored application.\r\n */\r\nvar ExceptionData = /** @class */ (function () {\r\n function ExceptionData() {\r\n /**\r\n * Schema version\r\n */\r\n this.ver = 2;\r\n /**\r\n * Exception chain - list of inner exceptions.\r\n */\r\n this.exceptions = [];\r\n /**\r\n * Collection of custom properties.\r\n */\r\n this.properties = {};\r\n /**\r\n * Collection of custom measurements.\r\n */\r\n this.measurements = {};\r\n }\r\n return ExceptionData;\r\n}());\r\nexport { ExceptionData };\r\n//# sourceMappingURL=ExceptionData.js.map","/*\n * Application Insights JavaScript SDK - Common, 2.7.0\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { dumpObj, getExceptionName, getGlobal, getGlobalInst, isNullOrUndefined, LoggingSeverity, objForEachKey, _InternalMessageId } from \"@microsoft/applicationinsights-core-js\";\r\nimport { StorageType } from \"./Enums\";\r\nvar _canUseLocalStorage = undefined;\r\nvar _canUseSessionStorage = undefined;\r\n/**\r\n * Gets the localStorage object if available\r\n * @return {Storage} - Returns the storage object if available else returns null\r\n */\r\nfunction _getLocalStorageObject() {\r\n if (utlCanUseLocalStorage()) {\r\n return _getVerifiedStorageObject(StorageType.LocalStorage);\r\n }\r\n return null;\r\n}\r\n/**\r\n * Tests storage object (localStorage or sessionStorage) to verify that it is usable\r\n * More details here: https://mathiasbynens.be/notes/localstorage-pattern\r\n * @param storageType Type of storage\r\n * @return {Storage} Returns storage object verified that it is usable\r\n */\r\nfunction _getVerifiedStorageObject(storageType) {\r\n try {\r\n if (isNullOrUndefined(getGlobal())) {\r\n return null;\r\n }\r\n var uid = new Date;\r\n var storage = getGlobalInst(storageType === StorageType.LocalStorage ? \"localStorage\" : \"sessionStorage\");\r\n storage.setItem(uid.toString(), uid.toString());\r\n var fail = storage.getItem(uid.toString()) !== uid.toString();\r\n storage.removeItem(uid.toString());\r\n if (!fail) {\r\n return storage;\r\n }\r\n }\r\n catch (exception) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n return null;\r\n}\r\n/**\r\n * Gets the sessionStorage object if available\r\n * @return {Storage} - Returns the storage object if available else returns null\r\n */\r\nfunction _getSessionStorageObject() {\r\n if (utlCanUseSessionStorage()) {\r\n return _getVerifiedStorageObject(StorageType.SessionStorage);\r\n }\r\n return null;\r\n}\r\nexport function utlDisableStorage() {\r\n _canUseLocalStorage = false;\r\n _canUseSessionStorage = false;\r\n}\r\nexport function utlCanUseLocalStorage() {\r\n if (_canUseLocalStorage === undefined) {\r\n _canUseLocalStorage = !!_getVerifiedStorageObject(StorageType.LocalStorage);\r\n }\r\n return _canUseLocalStorage;\r\n}\r\nexport function utlGetLocalStorage(logger, name) {\r\n var storage = _getLocalStorageObject();\r\n if (storage !== null) {\r\n try {\r\n return storage.getItem(name);\r\n }\r\n catch (e) {\r\n _canUseLocalStorage = false;\r\n logger.throwInternal(LoggingSeverity.WARNING, _InternalMessageId.BrowserCannotReadLocalStorage, \"Browser failed read of local storage. \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n return null;\r\n}\r\nexport function utlSetLocalStorage(logger, name, data) {\r\n var storage = _getLocalStorageObject();\r\n if (storage !== null) {\r\n try {\r\n storage.setItem(name, data);\r\n return true;\r\n }\r\n catch (e) {\r\n _canUseLocalStorage = false;\r\n logger.throwInternal(LoggingSeverity.WARNING, _InternalMessageId.BrowserCannotWriteLocalStorage, \"Browser failed write to local storage. \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n return false;\r\n}\r\nexport function utlRemoveStorage(logger, name) {\r\n var storage = _getLocalStorageObject();\r\n if (storage !== null) {\r\n try {\r\n storage.removeItem(name);\r\n return true;\r\n }\r\n catch (e) {\r\n _canUseLocalStorage = false;\r\n logger.throwInternal(LoggingSeverity.WARNING, _InternalMessageId.BrowserFailedRemovalFromLocalStorage, \"Browser failed removal of local storage item. \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n return false;\r\n}\r\nexport function utlCanUseSessionStorage() {\r\n if (_canUseSessionStorage === undefined) {\r\n _canUseSessionStorage = !!_getVerifiedStorageObject(StorageType.SessionStorage);\r\n }\r\n return _canUseSessionStorage;\r\n}\r\nexport function utlGetSessionStorageKeys() {\r\n var keys = [];\r\n if (utlCanUseSessionStorage()) {\r\n objForEachKey(getGlobalInst(\"sessionStorage\"), function (key) {\r\n keys.push(key);\r\n });\r\n }\r\n return keys;\r\n}\r\nexport function utlGetSessionStorage(logger, name) {\r\n var storage = _getSessionStorageObject();\r\n if (storage !== null) {\r\n try {\r\n return storage.getItem(name);\r\n }\r\n catch (e) {\r\n _canUseSessionStorage = false;\r\n logger.throwInternal(LoggingSeverity.WARNING, _InternalMessageId.BrowserCannotReadSessionStorage, \"Browser failed read of session storage. \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n return null;\r\n}\r\nexport function utlSetSessionStorage(logger, name, data) {\r\n var storage = _getSessionStorageObject();\r\n if (storage !== null) {\r\n try {\r\n storage.setItem(name, data);\r\n return true;\r\n }\r\n catch (e) {\r\n _canUseSessionStorage = false;\r\n logger.throwInternal(LoggingSeverity.WARNING, _InternalMessageId.BrowserCannotWriteSessionStorage, \"Browser failed write to session storage. \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n return false;\r\n}\r\nexport function utlRemoveSessionStorage(logger, name) {\r\n var storage = _getSessionStorageObject();\r\n if (storage !== null) {\r\n try {\r\n storage.removeItem(name);\r\n return true;\r\n }\r\n catch (e) {\r\n _canUseSessionStorage = false;\r\n logger.throwInternal(LoggingSeverity.WARNING, _InternalMessageId.BrowserFailedRemovalFromSessionStorage, \"Browser failed removal of session storage item. \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n return false;\r\n}\r\n//# sourceMappingURL=StorageHelperFuncs.js.map","/*\n * Application Insights JavaScript SDK - Common, 2.7.0\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { isFunction, getDocument } from '@microsoft/applicationinsights-core-js';\r\nexport function createDomEvent(eventName) {\r\n var event = null;\r\n if (isFunction(Event)) { // Use Event constructor when available\r\n event = new Event(eventName);\r\n }\r\n else { // Event has no constructor in IE\r\n var doc = getDocument();\r\n if (doc && doc.createEvent) {\r\n event = doc.createEvent(\"Event\");\r\n event.initEvent(eventName, true, true);\r\n }\r\n }\r\n return event;\r\n}\r\n//# sourceMappingURL=DomHelperFuncs.js.map","/*\n * Application Insights JavaScript SDK - Common, 2.7.0\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nexport var RequestHeaders = {\r\n requestContextHeader: \"Request-Context\",\r\n requestContextTargetKey: \"appId\",\r\n requestContextAppIdFormat: \"appId=cid-v1:\",\r\n requestIdHeader: \"Request-Id\",\r\n traceParentHeader: \"traceparent\",\r\n traceStateHeader: \"tracestate\",\r\n sdkContextHeader: \"Sdk-Context\",\r\n sdkContextHeaderAppIdRequest: \"appId\",\r\n requestContextHeaderLowerCase: \"request-context\"\r\n};\r\n//# sourceMappingURL=RequestResponseHeaders.js.map","/*\n * Application Insights JavaScript SDK - Common, 2.7.0\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { getDocument, isString } from \"@microsoft/applicationinsights-core-js\";\r\nvar _document = getDocument() || {};\r\nvar _htmlAnchorIdx = 0;\r\n// Use an array of temporary values as it's possible for multiple calls to parseUrl() will be called with different URLs\r\n// Using a cache size of 5 for now as it current depth usage is at least 2, so adding a minor buffer to handle future updates\r\nvar _htmlAnchorElement = [null, null, null, null, null];\r\nexport function urlParseUrl(url) {\r\n var anchorIdx = _htmlAnchorIdx;\r\n var anchorCache = _htmlAnchorElement;\r\n var tempAnchor = anchorCache[anchorIdx];\r\n if (!_document.createElement) {\r\n // Always create the temp instance if createElement is not available\r\n tempAnchor = { host: urlParseHost(url, true) };\r\n }\r\n else if (!anchorCache[anchorIdx]) {\r\n // Create and cache the unattached anchor instance \r\n tempAnchor = anchorCache[anchorIdx] = _document.createElement('a');\r\n }\r\n tempAnchor.href = url;\r\n // Move the cache index forward\r\n anchorIdx++;\r\n if (anchorIdx >= anchorCache.length) {\r\n anchorIdx = 0;\r\n }\r\n _htmlAnchorIdx = anchorIdx;\r\n return tempAnchor;\r\n}\r\nexport function urlGetAbsoluteUrl(url) {\r\n var result;\r\n var a = urlParseUrl(url);\r\n if (a) {\r\n result = a.href;\r\n }\r\n return result;\r\n}\r\nexport function urlGetPathName(url) {\r\n var result;\r\n var a = urlParseUrl(url);\r\n if (a) {\r\n result = a.pathname;\r\n }\r\n return result;\r\n}\r\nexport function urlGetCompleteUrl(method, absoluteUrl) {\r\n if (method) {\r\n return method.toUpperCase() + \" \" + absoluteUrl;\r\n }\r\n return absoluteUrl;\r\n}\r\n// Fallback method to grab host from url if document.createElement method is not available\r\nexport function urlParseHost(url, inclPort) {\r\n var fullHost = urlParseFullHost(url, inclPort) || \"\";\r\n if (fullHost) {\r\n var match = fullHost.match(/(www[0-9]?\\.)?(.[^/:]+)(\\:[\\d]+)?/i);\r\n if (match != null && match.length > 3 && isString(match[2]) && match[2].length > 0) {\r\n return match[2] + (match[3] || \"\");\r\n }\r\n }\r\n return fullHost;\r\n}\r\nexport function urlParseFullHost(url, inclPort) {\r\n var result = null;\r\n if (url) {\r\n var match = url.match(/(\\w*):\\/\\/(.[^/:]+)(\\:[\\d]+)?/i);\r\n if (match != null && match.length > 2 && isString(match[2]) && match[2].length > 0) {\r\n result = match[2] || \"\";\r\n if (inclPort && match.length > 2) {\r\n var protocol = (match[1] || \"\").toLowerCase();\r\n var port = match[3] || \"\";\r\n // IE includes the standard port so pass it off if it's the same as the protocol\r\n if (protocol === \"http\" && port === \":80\") {\r\n port = \"\";\r\n }\r\n else if (protocol === \"https\" && port === \":443\") {\r\n port = \"\";\r\n }\r\n result += port;\r\n }\r\n }\r\n }\r\n return result;\r\n}\r\n//# sourceMappingURL=UrlHelperFuncs.js.map","/*\n * Application Insights JavaScript SDK - Common, 2.7.0\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { getPerformance, getExceptionName as coreGetExceptionName, dumpObj, isNullOrUndefined, strTrim, random32, isArray, isError, isDate, newId, generateW3CId, toISOString, arrForEach, getIEVersion, attachEvent, dateNow, uaDisallowsSameSiteNone, disableCookies as coreDisableCookies, canUseCookies as coreCanUseCookies, getCookie as coreGetCookie, setCookie as coreSetCookie, deleteCookie as coreDeleteCookie, isBeaconsSupported } from \"@microsoft/applicationinsights-core-js\";\r\nimport { RequestHeaders } from \"./RequestResponseHeaders\";\r\nimport { dataSanitizeString } from \"./Telemetry/Common/DataSanitizer\";\r\nimport { createDomEvent } from './DomHelperFuncs';\r\nimport { stringToBoolOrDefault, msToTimeSpan, isCrossOriginError, getExtensionByName } from \"./HelperFuncs\";\r\nimport { strNotSpecified } from \"./Constants\";\r\nimport { utlCanUseLocalStorage, utlCanUseSessionStorage, utlDisableStorage, utlGetSessionStorage, utlGetSessionStorageKeys, utlGetLocalStorage, utlRemoveSessionStorage, utlRemoveStorage, utlSetSessionStorage, utlSetLocalStorage } from \"./StorageHelperFuncs\";\r\nimport { urlGetAbsoluteUrl, urlGetCompleteUrl, urlGetPathName, urlParseFullHost, urlParseHost, urlParseUrl } from \"./UrlHelperFuncs\";\r\n// listing only non-geo specific locations\r\nvar _internalEndpoints = [\r\n \"https://dc.services.visualstudio.com/v2/track\",\r\n \"https://breeze.aimon.applicationinsights.io/v2/track\",\r\n \"https://dc-int.services.visualstudio.com/v2/track\"\r\n];\r\nexport function isInternalApplicationInsightsEndpoint(endpointUrl) {\r\n return _internalEndpoints.indexOf(endpointUrl.toLowerCase()) !== -1;\r\n}\r\nexport var Util = {\r\n NotSpecified: strNotSpecified,\r\n createDomEvent: createDomEvent,\r\n disableStorage: utlDisableStorage,\r\n isInternalApplicationInsightsEndpoint: isInternalApplicationInsightsEndpoint,\r\n canUseLocalStorage: utlCanUseLocalStorage,\r\n getStorage: utlGetLocalStorage,\r\n setStorage: utlSetLocalStorage,\r\n removeStorage: utlRemoveStorage,\r\n canUseSessionStorage: utlCanUseSessionStorage,\r\n getSessionStorageKeys: utlGetSessionStorageKeys,\r\n getSessionStorage: utlGetSessionStorage,\r\n setSessionStorage: utlSetSessionStorage,\r\n removeSessionStorage: utlRemoveSessionStorage,\r\n disableCookies: coreDisableCookies,\r\n canUseCookies: coreCanUseCookies,\r\n disallowsSameSiteNone: uaDisallowsSameSiteNone,\r\n setCookie: coreSetCookie,\r\n stringToBoolOrDefault: stringToBoolOrDefault,\r\n getCookie: coreGetCookie,\r\n deleteCookie: coreDeleteCookie,\r\n trim: strTrim,\r\n newId: newId,\r\n random32: function () {\r\n return random32(true);\r\n },\r\n generateW3CId: generateW3CId,\r\n isArray: isArray,\r\n isError: isError,\r\n isDate: isDate,\r\n toISOStringForIE8: toISOString,\r\n getIEVersion: getIEVersion,\r\n msToTimeSpan: msToTimeSpan,\r\n isCrossOriginError: isCrossOriginError,\r\n dump: dumpObj,\r\n getExceptionName: coreGetExceptionName,\r\n addEventHandler: attachEvent,\r\n IsBeaconApiSupported: isBeaconsSupported,\r\n getExtension: getExtensionByName\r\n};\r\n;\r\nexport var UrlHelper = {\r\n parseUrl: urlParseUrl,\r\n getAbsoluteUrl: urlGetAbsoluteUrl,\r\n getPathName: urlGetPathName,\r\n getCompleteUrl: urlGetCompleteUrl,\r\n parseHost: urlParseHost,\r\n parseFullHost: urlParseFullHost\r\n};\r\nexport var CorrelationIdHelper = {\r\n correlationIdPrefix: \"cid-v1:\",\r\n /**\r\n * Checks if a request url is not on a excluded domain list and if it is safe to add correlation headers.\r\n * Headers are always included if the current domain matches the request domain. If they do not match (CORS),\r\n * they are regex-ed across correlationHeaderDomains and correlationHeaderExcludedDomains to determine if headers are included.\r\n * Some environments don't give information on currentHost via window.location.host (e.g. Cordova). In these cases, the user must\r\n * manually supply domains to include correlation headers on. Else, no headers will be included at all.\r\n */\r\n canIncludeCorrelationHeader: function (config, requestUrl, currentHost) {\r\n if (!requestUrl || (config && config.disableCorrelationHeaders)) {\r\n return false;\r\n }\r\n if (config && config.correlationHeaderExcludePatterns) {\r\n for (var i = 0; i < config.correlationHeaderExcludePatterns.length; i++) {\r\n if (config.correlationHeaderExcludePatterns[i].test(requestUrl)) {\r\n return false;\r\n }\r\n }\r\n }\r\n var requestHost = urlParseUrl(requestUrl).host.toLowerCase();\r\n if (requestHost && (requestHost.indexOf(\":443\") !== -1 || requestHost.indexOf(\":80\") !== -1)) {\r\n // [Bug #1260] IE can include the port even for http and https URLs so if present \r\n // try and parse it to remove if it matches the default protocol port\r\n requestHost = (urlParseFullHost(requestUrl, true) || \"\").toLowerCase();\r\n }\r\n if ((!config || !config.enableCorsCorrelation) && (requestHost && requestHost !== currentHost)) {\r\n return false;\r\n }\r\n var includedDomains = config && config.correlationHeaderDomains;\r\n if (includedDomains) {\r\n var matchExists_1;\r\n arrForEach(includedDomains, function (domain) {\r\n var regex = new RegExp(domain.toLowerCase().replace(/\\\\/g, \"\\\\\\\\\").replace(/\\./g, \"\\\\.\").replace(/\\*/g, \".*\"));\r\n matchExists_1 = matchExists_1 || regex.test(requestHost);\r\n });\r\n if (!matchExists_1) {\r\n return false;\r\n }\r\n }\r\n var excludedDomains = config && config.correlationHeaderExcludedDomains;\r\n if (!excludedDomains || excludedDomains.length === 0) {\r\n return true;\r\n }\r\n for (var i = 0; i < excludedDomains.length; i++) {\r\n var regex = new RegExp(excludedDomains[i].toLowerCase().replace(/\\\\/g, \"\\\\\\\\\").replace(/\\./g, \"\\\\.\").replace(/\\*/g, \".*\"));\r\n if (regex.test(requestHost)) {\r\n return false;\r\n }\r\n }\r\n // if we don't know anything about the requestHost, require the user to use included/excludedDomains.\r\n // Previously we always returned false for a falsy requestHost\r\n return requestHost && requestHost.length > 0;\r\n },\r\n /**\r\n * Combines target appId and target role name from response header.\r\n */\r\n getCorrelationContext: function (responseHeader) {\r\n if (responseHeader) {\r\n var correlationId = CorrelationIdHelper.getCorrelationContextValue(responseHeader, RequestHeaders.requestContextTargetKey);\r\n if (correlationId && correlationId !== CorrelationIdHelper.correlationIdPrefix) {\r\n return correlationId;\r\n }\r\n }\r\n },\r\n /**\r\n * Gets key from correlation response header\r\n */\r\n getCorrelationContextValue: function (responseHeader, key) {\r\n if (responseHeader) {\r\n var keyValues = responseHeader.split(\",\");\r\n for (var i = 0; i < keyValues.length; ++i) {\r\n var keyValue = keyValues[i].split(\"=\");\r\n if (keyValue.length === 2 && keyValue[0] === key) {\r\n return keyValue[1];\r\n }\r\n }\r\n }\r\n }\r\n};\r\nexport function AjaxHelperParseDependencyPath(logger, absoluteUrl, method, commandName) {\r\n var target, name = commandName, data = commandName;\r\n if (absoluteUrl && absoluteUrl.length > 0) {\r\n var parsedUrl = urlParseUrl(absoluteUrl);\r\n target = parsedUrl.host;\r\n if (!name) {\r\n if (parsedUrl.pathname != null) {\r\n var pathName = (parsedUrl.pathname.length === 0) ? \"/\" : parsedUrl.pathname;\r\n if (pathName.charAt(0) !== '/') {\r\n pathName = \"/\" + pathName;\r\n }\r\n data = parsedUrl.pathname;\r\n name = dataSanitizeString(logger, method ? method + \" \" + pathName : pathName);\r\n }\r\n else {\r\n name = dataSanitizeString(logger, absoluteUrl);\r\n }\r\n }\r\n }\r\n else {\r\n target = commandName;\r\n name = commandName;\r\n }\r\n return {\r\n target: target,\r\n name: name,\r\n data: data\r\n };\r\n}\r\nexport function dateTimeUtilsNow() {\r\n // returns the window or webworker performance object\r\n var perf = getPerformance();\r\n if (perf && perf.now && perf.timing) {\r\n var now = perf.now() + perf.timing.navigationStart;\r\n // Known issue with IE where this calculation can be negative, so if it is then ignore and fallback\r\n if (now > 0) {\r\n return now;\r\n }\r\n }\r\n return dateNow();\r\n}\r\nexport function dateTimeUtilsDuration(start, end) {\r\n var result = null;\r\n if (start !== 0 && end !== 0 && !isNullOrUndefined(start) && !isNullOrUndefined(end)) {\r\n result = end - start;\r\n }\r\n return result;\r\n}\r\n/**\r\n * A utility class that helps getting time related parameters\r\n */\r\nexport var DateTimeUtils = {\r\n Now: dateTimeUtilsNow,\r\n GetDuration: dateTimeUtilsDuration\r\n};\r\n//# sourceMappingURL=Util.js.map","/*\n * Application Insights JavaScript SDK - Common, 2.7.0\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { __extendsFn as __extends } from \"@microsoft/applicationinsights-shims\";\r\nimport { dataSanitizeMeasurements, dataSanitizeProperties, dataSanitizeString, dataSanitizeUrl } from './Common/DataSanitizer';\r\nimport { AjaxHelperParseDependencyPath } from '../Util';\r\nimport { RemoteDependencyData as GeneratedRemoteDependencyData } from '../Interfaces/Contracts/Generated/RemoteDependencyData';\r\nimport { msToTimeSpan } from '../HelperFuncs';\r\nvar RemoteDependencyData = /** @class */ (function (_super) {\r\n __extends(RemoteDependencyData, _super);\r\n /**\r\n * Constructs a new instance of the RemoteDependencyData object\r\n */\r\n function RemoteDependencyData(logger, id, absoluteUrl, commandName, value, success, resultCode, method, requestAPI, correlationContext, properties, measurements) {\r\n if (requestAPI === void 0) { requestAPI = \"Ajax\"; }\r\n var _this = _super.call(this) || this;\r\n _this.aiDataContract = {\r\n id: 1 /* Required */,\r\n ver: 1 /* Required */,\r\n name: 0 /* Default */,\r\n resultCode: 0 /* Default */,\r\n duration: 0 /* Default */,\r\n success: 0 /* Default */,\r\n data: 0 /* Default */,\r\n target: 0 /* Default */,\r\n type: 0 /* Default */,\r\n properties: 0 /* Default */,\r\n measurements: 0 /* Default */,\r\n kind: 0 /* Default */,\r\n value: 0 /* Default */,\r\n count: 0 /* Default */,\r\n min: 0 /* Default */,\r\n max: 0 /* Default */,\r\n stdDev: 0 /* Default */,\r\n dependencyKind: 0 /* Default */,\r\n dependencySource: 0 /* Default */,\r\n commandName: 0 /* Default */,\r\n dependencyTypeName: 0 /* Default */\r\n };\r\n _this.id = id;\r\n _this.duration = msToTimeSpan(value);\r\n _this.success = success;\r\n _this.resultCode = resultCode + \"\";\r\n _this.type = dataSanitizeString(logger, requestAPI);\r\n var dependencyFields = AjaxHelperParseDependencyPath(logger, absoluteUrl, method, commandName);\r\n _this.data = dataSanitizeUrl(logger, commandName) || dependencyFields.data; // get a value from hosturl if commandName not available\r\n _this.target = dataSanitizeString(logger, dependencyFields.target);\r\n if (correlationContext) {\r\n _this.target = _this.target + \" | \" + correlationContext;\r\n }\r\n _this.name = dataSanitizeString(logger, dependencyFields.name);\r\n _this.properties = dataSanitizeProperties(logger, properties);\r\n _this.measurements = dataSanitizeMeasurements(logger, measurements);\r\n return _this;\r\n }\r\n RemoteDependencyData.envelopeType = \"Microsoft.ApplicationInsights.{0}.RemoteDependency\";\r\n RemoteDependencyData.dataType = \"RemoteDependencyData\";\r\n return RemoteDependencyData;\r\n}(GeneratedRemoteDependencyData));\r\nexport { RemoteDependencyData };\r\n//# sourceMappingURL=RemoteDependencyData.js.map","/*\n * Application Insights JavaScript SDK - Common, 2.7.0\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n/**\r\n * An instance of Remote Dependency represents an interaction of the monitored component with a remote component/service like SQL or an HTTP endpoint.\r\n */\r\nvar RemoteDependencyData = /** @class */ (function () {\r\n function RemoteDependencyData() {\r\n /**\r\n * Schema version\r\n */\r\n this.ver = 2;\r\n /**\r\n * Indication of successful or unsuccessful call.\r\n */\r\n this.success = true;\r\n /**\r\n * Collection of custom properties.\r\n */\r\n this.properties = {};\r\n /**\r\n * Collection of custom measurements.\r\n */\r\n this.measurements = {};\r\n }\r\n return RemoteDependencyData;\r\n}());\r\nexport { RemoteDependencyData };\r\n//# sourceMappingURL=RemoteDependencyData.js.map","/*\n * Application Insights JavaScript SDK - Web Analytics, 2.7.0\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { dateTimeUtilsDuration } from '@microsoft/applicationinsights-common';\r\nimport { LoggingSeverity, _InternalMessageId, getDocument, getLocation, arrForEach, isNullOrUndefined, getExceptionName, dumpObj } from '@microsoft/applicationinsights-core-js';\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\n/**\r\n * Class encapsulates sending page views and page view performance telemetry.\r\n */\r\nvar PageViewManager = /** @class */ (function () {\r\n function PageViewManager(appInsights, overridePageViewDuration, core, pageViewPerformanceManager) {\r\n dynamicProto(PageViewManager, this, function (_self) {\r\n var intervalHandle = null;\r\n var itemQueue = [];\r\n var pageViewPerformanceSent = false;\r\n var _logger;\r\n if (core) {\r\n _logger = core.logger;\r\n }\r\n function _flushChannels() {\r\n if (core) {\r\n arrForEach(core.getTransmissionControls(), function (queues) {\r\n arrForEach(queues, function (q) { return q.flush(true); });\r\n });\r\n }\r\n }\r\n function _addQueue(cb) {\r\n itemQueue.push(cb);\r\n if (!intervalHandle) {\r\n intervalHandle = setInterval((function () {\r\n var allItems = itemQueue.slice(0);\r\n var doFlush = false;\r\n itemQueue = [];\r\n arrForEach(allItems, function (item) {\r\n if (!item()) {\r\n // Not processed so rescheduled\r\n itemQueue.push(item);\r\n }\r\n else {\r\n doFlush = true;\r\n }\r\n });\r\n if (itemQueue.length === 0) {\r\n clearInterval(intervalHandle);\r\n intervalHandle = null;\r\n }\r\n if (doFlush) {\r\n // We process at least one item so flush the queue\r\n _flushChannels();\r\n }\r\n }), 100);\r\n }\r\n }\r\n _self.trackPageView = function (pageView, customProperties) {\r\n var name = pageView.name;\r\n if (isNullOrUndefined(name) || typeof name !== \"string\") {\r\n var doc = getDocument();\r\n name = pageView.name = doc && doc.title || \"\";\r\n }\r\n var uri = pageView.uri;\r\n if (isNullOrUndefined(uri) || typeof uri !== \"string\") {\r\n var location_1 = getLocation();\r\n uri = pageView.uri = location_1 && location_1.href || \"\";\r\n }\r\n // case 1a. if performance timing is not supported by the browser, send the page view telemetry with the duration provided by the user. If the user\r\n // do not provide the duration, set duration to undefined\r\n // Also this is case 4\r\n if (!pageViewPerformanceManager.isPerformanceTimingSupported()) {\r\n appInsights.sendPageViewInternal(pageView, customProperties);\r\n _flushChannels();\r\n // no navigation timing (IE 8, iOS Safari 8.4, Opera Mini 8 - see http://caniuse.com/#feat=nav-timing)\r\n _logger.throwInternal(LoggingSeverity.WARNING, _InternalMessageId.NavigationTimingNotSupported, \"trackPageView: navigation timing API used for calculation of page duration is not supported in this browser. This page view will be collected without duration and timing info.\");\r\n return;\r\n }\r\n var pageViewSent = false;\r\n var customDuration;\r\n // if the performance timing is supported by the browser, calculate the custom duration\r\n var start = pageViewPerformanceManager.getPerformanceTiming().navigationStart;\r\n if (start > 0) {\r\n customDuration = dateTimeUtilsDuration(start, +new Date);\r\n if (!pageViewPerformanceManager.shouldCollectDuration(customDuration)) {\r\n customDuration = undefined;\r\n }\r\n }\r\n // if the user has provided duration, send a page view telemetry with the provided duration. Otherwise, if\r\n // overridePageViewDuration is set to true, send a page view telemetry with the custom duration calculated earlier\r\n var duration;\r\n if (!isNullOrUndefined(customProperties) &&\r\n !isNullOrUndefined(customProperties.duration)) {\r\n duration = customProperties.duration;\r\n }\r\n if (overridePageViewDuration || !isNaN(duration)) {\r\n if (isNaN(duration)) {\r\n // case 3\r\n if (!customProperties) {\r\n customProperties = {};\r\n }\r\n customProperties[\"duration\"] = customDuration;\r\n }\r\n // case 2\r\n appInsights.sendPageViewInternal(pageView, customProperties);\r\n _flushChannels();\r\n pageViewSent = true;\r\n }\r\n // now try to send the page view performance telemetry\r\n var maxDurationLimit = 60000;\r\n if (!customProperties) {\r\n customProperties = {};\r\n }\r\n // Queue the event for processing\r\n _addQueue(function () {\r\n var processed = false;\r\n try {\r\n if (pageViewPerformanceManager.isPerformanceTimingDataReady()) {\r\n processed = true;\r\n var pageViewPerformance = {\r\n name: name,\r\n uri: uri\r\n };\r\n pageViewPerformanceManager.populatePageViewPerformanceEvent(pageViewPerformance);\r\n if (!pageViewPerformance.isValid && !pageViewSent) {\r\n // If navigation timing gives invalid numbers, then go back to \"override page view duration\" mode.\r\n // That's the best value we can get that makes sense.\r\n customProperties[\"duration\"] = customDuration;\r\n appInsights.sendPageViewInternal(pageView, customProperties);\r\n }\r\n else {\r\n if (!pageViewSent) {\r\n customProperties[\"duration\"] = pageViewPerformance.durationMs;\r\n appInsights.sendPageViewInternal(pageView, customProperties);\r\n }\r\n if (!pageViewPerformanceSent) {\r\n appInsights.sendPageViewPerformanceInternal(pageViewPerformance, customProperties);\r\n pageViewPerformanceSent = true;\r\n }\r\n }\r\n }\r\n else if (start > 0 && dateTimeUtilsDuration(start, +new Date) > maxDurationLimit) {\r\n // if performance timings are not ready but we exceeded the maximum duration limit, just log a page view telemetry\r\n // with the maximum duration limit. Otherwise, keep waiting until performance timings are ready\r\n processed = true;\r\n if (!pageViewSent) {\r\n customProperties[\"duration\"] = maxDurationLimit;\r\n appInsights.sendPageViewInternal(pageView, customProperties);\r\n }\r\n }\r\n }\r\n catch (e) {\r\n _logger.throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.TrackPVFailedCalc, \"trackPageView failed on page load calculation: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n return processed;\r\n });\r\n };\r\n });\r\n }\r\n// Removed Stub for PageViewManager.prototype.trackPageView.\r\n return PageViewManager;\r\n}());\r\nexport { PageViewManager };\r\n//# sourceMappingURL=PageViewManager.js.map","/*\n * Application Insights JavaScript SDK - Web Analytics, 2.7.0\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { utlCanUseSessionStorage, utlGetSessionStorage, utlRemoveSessionStorage, utlSetSessionStorage } from '@microsoft/applicationinsights-common';\r\nimport { hasJSON, getJSON, dateNow, dumpObj, throwError } from '@microsoft/applicationinsights-core-js';\r\n/**\r\n * Used to track page visit durations\r\n */\r\nvar PageVisitTimeManager = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of PageVisitTimeManager\r\n * @param pageVisitTimeTrackingHandler Delegate that will be called to send telemetry data to AI (when trackPreviousPageVisit is called)\r\n * @returns {}\r\n */\r\n function PageVisitTimeManager(logger, pageVisitTimeTrackingHandler) {\r\n this.prevPageVisitDataKeyName = \"prevPageVisitData\";\r\n this.pageVisitTimeTrackingHandler = pageVisitTimeTrackingHandler;\r\n this._logger = logger;\r\n }\r\n /**\r\n * Tracks the previous page visit time telemetry (if exists) and starts timing of new page visit time\r\n * @param currentPageName Name of page to begin timing for visit duration\r\n * @param currentPageUrl Url of page to begin timing for visit duration\r\n */\r\n PageVisitTimeManager.prototype.trackPreviousPageVisit = function (currentPageName, currentPageUrl) {\r\n try {\r\n // Restart timer for new page view\r\n var prevPageVisitTimeData = this.restartPageVisitTimer(currentPageName, currentPageUrl);\r\n // If there was a page already being timed, track the visit time for it now.\r\n if (prevPageVisitTimeData) {\r\n this.pageVisitTimeTrackingHandler(prevPageVisitTimeData.pageName, prevPageVisitTimeData.pageUrl, prevPageVisitTimeData.pageVisitTime);\r\n }\r\n }\r\n catch (e) {\r\n this._logger.warnToConsole(\"Auto track page visit time failed, metric will not be collected: \" + dumpObj(e));\r\n }\r\n };\r\n /**\r\n * Stops timing of current page (if exists) and starts timing for duration of visit to pageName\r\n * @param pageName Name of page to begin timing visit duration\r\n * @returns {PageVisitData} Page visit data (including duration) of pageName from last call to start or restart, if exists. Null if not.\r\n */\r\n PageVisitTimeManager.prototype.restartPageVisitTimer = function (pageName, pageUrl) {\r\n try {\r\n var prevPageVisitData = this.stopPageVisitTimer();\r\n this.startPageVisitTimer(pageName, pageUrl);\r\n return prevPageVisitData;\r\n }\r\n catch (e) {\r\n this._logger.warnToConsole(\"Call to restart failed: \" + dumpObj(e));\r\n return null;\r\n }\r\n };\r\n /**\r\n * Starts timing visit duration of pageName\r\n * @param pageName\r\n * @returns {}\r\n */\r\n PageVisitTimeManager.prototype.startPageVisitTimer = function (pageName, pageUrl) {\r\n try {\r\n if (utlCanUseSessionStorage()) {\r\n if (utlGetSessionStorage(this._logger, this.prevPageVisitDataKeyName) != null) {\r\n throwError(\"Cannot call startPageVisit consecutively without first calling stopPageVisit\");\r\n }\r\n var currPageVisitData = new PageVisitData(pageName, pageUrl);\r\n var currPageVisitDataStr = getJSON().stringify(currPageVisitData);\r\n utlSetSessionStorage(this._logger, this.prevPageVisitDataKeyName, currPageVisitDataStr);\r\n }\r\n }\r\n catch (e) {\r\n // TODO: Remove this catch in next phase, since if start is called twice in a row the exception needs to be propagated out\r\n this._logger.warnToConsole(\"Call to start failed: \" + dumpObj(e));\r\n }\r\n };\r\n /**\r\n * Stops timing of current page, if exists.\r\n * @returns {PageVisitData} Page visit data (including duration) of pageName from call to start, if exists. Null if not.\r\n */\r\n PageVisitTimeManager.prototype.stopPageVisitTimer = function () {\r\n try {\r\n if (utlCanUseSessionStorage()) {\r\n // Define end time of page's visit\r\n var pageVisitEndTime = dateNow();\r\n // Try to retrieve page name and start time from session storage\r\n var pageVisitDataJsonStr = utlGetSessionStorage(this._logger, this.prevPageVisitDataKeyName);\r\n if (pageVisitDataJsonStr && hasJSON()) {\r\n // if previous page data exists, set end time of visit\r\n var prevPageVisitData = getJSON().parse(pageVisitDataJsonStr);\r\n prevPageVisitData.pageVisitTime = pageVisitEndTime - prevPageVisitData.pageVisitStartTime;\r\n // Remove data from storage since we already used it\r\n utlRemoveSessionStorage(this._logger, this.prevPageVisitDataKeyName);\r\n // Return page visit data\r\n return prevPageVisitData;\r\n }\r\n else {\r\n return null;\r\n }\r\n }\r\n return null;\r\n }\r\n catch (e) {\r\n this._logger.warnToConsole(\"Stop page visit timer failed: \" + dumpObj(e));\r\n return null;\r\n }\r\n };\r\n return PageVisitTimeManager;\r\n}());\r\nexport { PageVisitTimeManager };\r\nvar PageVisitData = /** @class */ (function () {\r\n function PageVisitData(pageName, pageUrl) {\r\n this.pageVisitStartTime = dateNow();\r\n this.pageName = pageName;\r\n this.pageUrl = pageUrl;\r\n }\r\n return PageVisitData;\r\n}());\r\nexport { PageVisitData };\r\n//# sourceMappingURL=PageVisitTimeManager.js.map","/*\n * Application Insights JavaScript SDK - Web Analytics, 2.7.0\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { dateTimeUtilsDuration, msToTimeSpan } from '@microsoft/applicationinsights-common';\r\nimport { LoggingSeverity, _InternalMessageId, getNavigator, getPerformance } from '@microsoft/applicationinsights-core-js';\r\n/**\r\n * Class encapsulates sending page view performance telemetry.\r\n */\r\nvar PageViewPerformanceManager = /** @class */ (function () {\r\n function PageViewPerformanceManager(core) {\r\n this.MAX_DURATION_ALLOWED = 3600000; // 1h\r\n if (core) {\r\n this._logger = core.logger;\r\n }\r\n }\r\n PageViewPerformanceManager.prototype.populatePageViewPerformanceEvent = function (pageViewPerformance) {\r\n pageViewPerformance.isValid = false;\r\n /*\r\n * http://www.w3.org/TR/navigation-timing/#processing-model\r\n * |-navigationStart\r\n * | |-connectEnd\r\n * | ||-requestStart\r\n * | || |-responseStart\r\n * | || | |-responseEnd\r\n * | || | |\r\n * | || | | |-loadEventEnd\r\n * |---network---||---request---|---response---|---dom---|\r\n * |--------------------------total----------------------|\r\n *\r\n * total = The difference between the load event of the current document is completed and the first recorded timestamp of the performance entry : https://developer.mozilla.org/en-US/docs/Web/Performance/Navigation_and_resource_timings#duration\r\n * network = Redirect time + App Cache + DNS lookup time + TCP connection time\r\n * request = Request time : https://developer.mozilla.org/en-US/docs/Web/Performance/Navigation_and_resource_timings#request_time\r\n * response = Response time\r\n * dom = Document load time : https://html.spec.whatwg.org/multipage/dom.html#document-load-timing-info\r\n * = Document processing time : https://developers.google.com/web/fundamentals/performance/navigation-and-resource-timing/#document_processing\r\n * + Loading time : https://developers.google.com/web/fundamentals/performance/navigation-and-resource-timing/#loading\r\n */\r\n var navigationTiming = this.getPerformanceNavigationTiming();\r\n var timing = this.getPerformanceTiming();\r\n var total = 0;\r\n var network = 0;\r\n var request = 0;\r\n var response = 0;\r\n var dom = 0;\r\n if (navigationTiming || timing) {\r\n if (navigationTiming) {\r\n total = navigationTiming.duration;\r\n /**\r\n * support both cases:\r\n * - startTime is always zero: https://developer.mozilla.org/en-US/docs/Web/API/PerformanceNavigationTiming\r\n * - for older browsers where the startTime is not zero\r\n */\r\n network = navigationTiming.startTime === 0 ? navigationTiming.connectEnd : dateTimeUtilsDuration(navigationTiming.startTime, navigationTiming.connectEnd);\r\n request = dateTimeUtilsDuration(navigationTiming.requestStart, navigationTiming.responseStart);\r\n response = dateTimeUtilsDuration(navigationTiming.responseStart, navigationTiming.responseEnd);\r\n dom = dateTimeUtilsDuration(navigationTiming.responseEnd, navigationTiming.loadEventEnd);\r\n }\r\n else {\r\n total = dateTimeUtilsDuration(timing.navigationStart, timing.loadEventEnd);\r\n network = dateTimeUtilsDuration(timing.navigationStart, timing.connectEnd);\r\n request = dateTimeUtilsDuration(timing.requestStart, timing.responseStart);\r\n response = dateTimeUtilsDuration(timing.responseStart, timing.responseEnd);\r\n dom = dateTimeUtilsDuration(timing.responseEnd, timing.loadEventEnd);\r\n }\r\n if (total === 0) {\r\n this._logger.throwInternal(LoggingSeverity.WARNING, _InternalMessageId.ErrorPVCalc, \"error calculating page view performance.\", { total: total, network: network, request: request, response: response, dom: dom });\r\n }\r\n else if (!this.shouldCollectDuration(total, network, request, response, dom)) {\r\n this._logger.throwInternal(LoggingSeverity.WARNING, _InternalMessageId.InvalidDurationValue, \"Invalid page load duration value. Browser perf data won't be sent.\", { total: total, network: network, request: request, response: response, dom: dom });\r\n }\r\n else if (total < Math.floor(network) + Math.floor(request) + Math.floor(response) + Math.floor(dom)) {\r\n // some browsers may report individual components incorrectly so that the sum of the parts will be bigger than total PLT\r\n // in this case, don't report client performance from this page\r\n this._logger.throwInternal(LoggingSeverity.WARNING, _InternalMessageId.ClientPerformanceMathError, \"client performance math error.\", { total: total, network: network, request: request, response: response, dom: dom });\r\n }\r\n else {\r\n pageViewPerformance.durationMs = total;\r\n // // convert to timespans\r\n pageViewPerformance.perfTotal = pageViewPerformance.duration = msToTimeSpan(total);\r\n pageViewPerformance.networkConnect = msToTimeSpan(network);\r\n pageViewPerformance.sentRequest = msToTimeSpan(request);\r\n pageViewPerformance.receivedResponse = msToTimeSpan(response);\r\n pageViewPerformance.domProcessing = msToTimeSpan(dom);\r\n pageViewPerformance.isValid = true;\r\n }\r\n }\r\n };\r\n PageViewPerformanceManager.prototype.getPerformanceTiming = function () {\r\n if (this.isPerformanceTimingSupported()) {\r\n return getPerformance().timing;\r\n }\r\n return null;\r\n };\r\n PageViewPerformanceManager.prototype.getPerformanceNavigationTiming = function () {\r\n if (this.isPerformanceNavigationTimingSupported()) {\r\n return getPerformance().getEntriesByType(\"navigation\")[0];\r\n }\r\n return null;\r\n };\r\n /**\r\n * Returns true is window PerformanceNavigationTiming API is supported, false otherwise.\r\n */\r\n PageViewPerformanceManager.prototype.isPerformanceNavigationTimingSupported = function () {\r\n var perf = getPerformance();\r\n return perf && perf.getEntriesByType && perf.getEntriesByType(\"navigation\").length > 0;\r\n };\r\n /**\r\n * Returns true is window performance timing API is supported, false otherwise.\r\n */\r\n PageViewPerformanceManager.prototype.isPerformanceTimingSupported = function () {\r\n var perf = getPerformance();\r\n return perf && perf.timing;\r\n };\r\n /**\r\n * As page loads different parts of performance timing numbers get set. When all of them are set we can report it.\r\n * Returns true if ready, false otherwise.\r\n */\r\n PageViewPerformanceManager.prototype.isPerformanceTimingDataReady = function () {\r\n var perf = getPerformance();\r\n var timing = perf ? perf.timing : 0;\r\n return timing\r\n && timing.domainLookupStart > 0\r\n && timing.navigationStart > 0\r\n && timing.responseStart > 0\r\n && timing.requestStart > 0\r\n && timing.loadEventEnd > 0\r\n && timing.responseEnd > 0\r\n && timing.connectEnd > 0\r\n && timing.domLoading > 0;\r\n };\r\n /**\r\n * This method tells if given durations should be excluded from collection.\r\n */\r\n PageViewPerformanceManager.prototype.shouldCollectDuration = function () {\r\n var durations = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n durations[_i] = arguments[_i];\r\n }\r\n var _navigator = getNavigator() || {};\r\n // a full list of Google crawlers user agent strings - https://support.google.com/webmasters/answer/1061943?hl=en\r\n var botAgentNames = ['googlebot', 'adsbot-google', 'apis-google', 'mediapartners-google'];\r\n var userAgent = _navigator.userAgent;\r\n var isGoogleBot = false;\r\n if (userAgent) {\r\n for (var i = 0; i < botAgentNames.length; i++) {\r\n isGoogleBot = isGoogleBot || userAgent.toLowerCase().indexOf(botAgentNames[i]) !== -1;\r\n }\r\n }\r\n if (isGoogleBot) {\r\n // Don't report durations for GoogleBot, it is returning invalid values in performance.timing API.\r\n return false;\r\n }\r\n else {\r\n // for other page views, don't report if it's outside of a reasonable range\r\n for (var i = 0; i < durations.length; i++) {\r\n if (durations[i] < 0 || durations[i] >= this.MAX_DURATION_ALLOWED) {\r\n return false;\r\n }\r\n }\r\n }\r\n return true;\r\n };\r\n return PageViewPerformanceManager;\r\n}());\r\nexport { PageViewPerformanceManager };\r\n//# sourceMappingURL=PageViewPerformanceManager.js.map","/*\n * Application Insights JavaScript SDK - Web Analytics, 2.7.0\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n/**\r\n * ApplicationInsights.ts\r\n * @copyright Microsoft 2018\r\n */\r\nimport { __assignFn as __assign, __extendsFn as __extends } from \"@microsoft/applicationinsights-shims\";\r\nimport { PageViewPerformance, PageView, RemoteDependencyData, Event as EventTelemetry, TelemetryItemCreator, Metric, Exception, SeverityLevel, Trace, dateTimeUtilsDuration, PropertiesPluginIdentifier, AnalyticsPluginIdentifier, stringToBoolOrDefault, createDomEvent, strNotSpecified, isCrossOriginError, utlDisableStorage } from \"@microsoft/applicationinsights-common\";\r\nimport { BaseTelemetryPlugin, LoggingSeverity, _InternalMessageId, getWindow, getDocument, getHistory, getLocation, doPerf, objForEachKey, isString, isFunction, isNullOrUndefined, arrForEach, generateW3CId, dumpObj, getExceptionName, safeGetCookieMgr } from \"@microsoft/applicationinsights-core-js\";\r\nimport { PageViewManager } from \"./Telemetry/PageViewManager\";\r\nimport { PageVisitTimeManager } from \"./Telemetry/PageVisitTimeManager\";\r\nimport { PageViewPerformanceManager } from './Telemetry/PageViewPerformanceManager';\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\n\"use strict\";\r\nvar durationProperty = \"duration\";\r\nvar strEvent = \"event\";\r\nfunction _dispatchEvent(target, evnt) {\r\n if (target && target.dispatchEvent && evnt) {\r\n target.dispatchEvent(evnt);\r\n }\r\n}\r\nfunction _getReason(error) {\r\n if (error && error.reason) {\r\n var reason = error.reason;\r\n if (!isString(reason) && isFunction(reason.toString)) {\r\n return reason.toString();\r\n }\r\n return dumpObj(reason);\r\n }\r\n // Pass the original object down which will eventually get evaluated for any message or description\r\n return error || \"\";\r\n}\r\nvar ApplicationInsights = /** @class */ (function (_super) {\r\n __extends(ApplicationInsights, _super);\r\n function ApplicationInsights() {\r\n var _this = _super.call(this) || this;\r\n _this.identifier = AnalyticsPluginIdentifier; // do not change name or priority\r\n _this.priority = 180; // take from reserved priority range 100- 200\r\n _this.autoRoutePVDelay = 500; // ms; Time to wait after a route change before triggering a pageview to allow DOM changes to take place\r\n var _eventTracking;\r\n var _pageTracking;\r\n var _properties;\r\n // Counts number of trackAjax invocations.\r\n // By default we only monitor X ajax call per view to avoid too much load.\r\n // Default value is set in config.\r\n // This counter keeps increasing even after the limit is reached.\r\n var _trackAjaxAttempts = 0;\r\n // array with max length of 2 that store current url and previous url for SPA page route change trackPageview use.\r\n var _prevUri; // Assigned in the constructor\r\n var _currUri;\r\n dynamicProto(ApplicationInsights, _this, function (_self, _base) {\r\n var location = getLocation(true);\r\n _prevUri = location && location.href || \"\";\r\n _self.getCookieMgr = function () {\r\n return safeGetCookieMgr(_self.core);\r\n };\r\n _self.processTelemetry = function (env, itemCtx) {\r\n doPerf(_self.core, function () { return _self.identifier + \":processTelemetry\"; }, function () {\r\n var doNotSendItem = false;\r\n var telemetryInitializersCount = _self._telemetryInitializers.length;\r\n itemCtx = _self._getTelCtx(itemCtx);\r\n for (var i = 0; i < telemetryInitializersCount; ++i) {\r\n var telemetryInitializer = _self._telemetryInitializers[i];\r\n if (telemetryInitializer) {\r\n try {\r\n if (telemetryInitializer.apply(null, [env]) === false) {\r\n doNotSendItem = true;\r\n break;\r\n }\r\n }\r\n catch (e) {\r\n // log error but dont stop executing rest of the telemetry initializers\r\n // doNotSendItem = true;\r\n itemCtx.diagLog().throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.TelemetryInitializerFailed, \"One of telemetry initializers failed, telemetry item will not be sent: \" + getExceptionName(e), { exception: dumpObj(e) }, true);\r\n }\r\n }\r\n }\r\n if (!doNotSendItem) {\r\n _self.processNext(env, itemCtx);\r\n }\r\n }, function () { return ({ item: env }); }, !(env.sync));\r\n };\r\n _self.trackEvent = function (event, customProperties) {\r\n try {\r\n var telemetryItem = TelemetryItemCreator.create(event, EventTelemetry.dataType, EventTelemetry.envelopeType, _self.diagLog(), customProperties);\r\n _self.core.track(telemetryItem);\r\n }\r\n catch (e) {\r\n _self.diagLog().throwInternal(LoggingSeverity.WARNING, _InternalMessageId.TrackTraceFailed, \"trackTrace failed, trace will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * Start timing an extended event. Call `stopTrackEvent` to log the event when it ends.\r\n * @param name A string that identifies this event uniquely within the document.\r\n */\r\n _self.startTrackEvent = function (name) {\r\n try {\r\n _eventTracking.start(name);\r\n }\r\n catch (e) {\r\n _self.diagLog().throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.StartTrackEventFailed, \"startTrackEvent failed, event will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * Log an extended event that you started timing with `startTrackEvent`.\r\n * @param name The string you used to identify this event in `startTrackEvent`.\r\n * @param properties map[string, string] - additional data used to filter events and metrics in the portal. Defaults to empty.\r\n * @param measurements map[string, number] - metrics associated with this event, displayed in Metrics Explorer on the portal. Defaults to empty.\r\n */\r\n _self.stopTrackEvent = function (name, properties, measurements) {\r\n try {\r\n _eventTracking.stop(name, undefined, properties); // Todo: Fix to pass measurements once type is updated\r\n }\r\n catch (e) {\r\n _self.diagLog().throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.StopTrackEventFailed, \"stopTrackEvent failed, event will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * @description Log a diagnostic message\r\n * @param {ITraceTelemetry} trace\r\n * @param ICustomProperties.\r\n * @memberof ApplicationInsights\r\n */\r\n _self.trackTrace = function (trace, customProperties) {\r\n try {\r\n var telemetryItem = TelemetryItemCreator.create(trace, Trace.dataType, Trace.envelopeType, _self.diagLog(), customProperties);\r\n _self.core.track(telemetryItem);\r\n }\r\n catch (e) {\r\n _self.diagLog().throwInternal(LoggingSeverity.WARNING, _InternalMessageId.TrackTraceFailed, \"trackTrace failed, trace will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * @description Log a numeric value that is not associated with a specific event. Typically\r\n * used to send regular reports of performance indicators. To send single measurement, just\r\n * use the name and average fields of {@link IMetricTelemetry}. If you take measurements\r\n * frequently, you can reduce the telemetry bandwidth by aggregating multiple measurements\r\n * and sending the resulting average at intervals\r\n * @param {IMetricTelemetry} metric input object argument. Only name and average are mandatory.\r\n * @param {{[key: string]: any}} customProperties additional data used to filter metrics in the\r\n * portal. Defaults to empty.\r\n * @memberof ApplicationInsights\r\n */\r\n _self.trackMetric = function (metric, customProperties) {\r\n try {\r\n var telemetryItem = TelemetryItemCreator.create(metric, Metric.dataType, Metric.envelopeType, _self.diagLog(), customProperties);\r\n _self.core.track(telemetryItem);\r\n }\r\n catch (e) {\r\n _self.diagLog().throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.TrackMetricFailed, \"trackMetric failed, metric will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * Logs that a page or other item was viewed.\r\n * @param IPageViewTelemetry The string you used as the name in startTrackPage. Defaults to the document title.\r\n * @param customProperties Additional data used to filter events and metrics. Defaults to empty.\r\n * If a user wants to provide duration for pageLoad, it'll have to be in pageView.properties.duration\r\n */\r\n _self.trackPageView = function (pageView, customProperties) {\r\n try {\r\n var inPv = pageView || {};\r\n _self._pageViewManager.trackPageView(inPv, __assign(__assign(__assign({}, inPv.properties), inPv.measurements), customProperties));\r\n if (_self.config.autoTrackPageVisitTime) {\r\n _self._pageVisitTimeManager.trackPreviousPageVisit(inPv.name, inPv.uri);\r\n }\r\n }\r\n catch (e) {\r\n _self.diagLog().throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.TrackPVFailed, \"trackPageView failed, page view will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * Create a page view telemetry item and send it to the SDK pipeline through the core.track API\r\n * @param pageView Page view item to be sent\r\n * @param properties Custom properties (Part C) that a user can add to the telemetry item\r\n * @param systemProperties System level properties (Part A) that a user can add to the telemetry item\r\n */\r\n _self.sendPageViewInternal = function (pageView, properties, systemProperties) {\r\n var doc = getDocument();\r\n if (doc) {\r\n pageView.refUri = pageView.refUri === undefined ? doc.referrer : pageView.refUri;\r\n }\r\n var telemetryItem = TelemetryItemCreator.create(pageView, PageView.dataType, PageView.envelopeType, _self.diagLog(), properties, systemProperties);\r\n _self.core.track(telemetryItem);\r\n // reset ajaxes counter\r\n _trackAjaxAttempts = 0;\r\n };\r\n /**\r\n * @ignore INTERNAL ONLY\r\n * @param pageViewPerformance\r\n * @param properties\r\n */\r\n _self.sendPageViewPerformanceInternal = function (pageViewPerformance, properties, systemProperties) {\r\n var telemetryItem = TelemetryItemCreator.create(pageViewPerformance, PageViewPerformance.dataType, PageViewPerformance.envelopeType, _self.diagLog(), properties, systemProperties);\r\n _self.core.track(telemetryItem);\r\n };\r\n /**\r\n * Send browser performance metrics.\r\n * @param pageViewPerformance\r\n * @param customProperties\r\n */\r\n _self.trackPageViewPerformance = function (pageViewPerformance, customProperties) {\r\n try {\r\n _self._pageViewPerformanceManager.populatePageViewPerformanceEvent(pageViewPerformance);\r\n _self.sendPageViewPerformanceInternal(pageViewPerformance, customProperties);\r\n }\r\n catch (e) {\r\n _self.diagLog().throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.TrackPVFailed, \"trackPageViewPerformance failed, page view will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * Starts the timer for tracking a page load time. Use this instead of `trackPageView` if you want to control when the page view timer starts and stops,\r\n * but don't want to calculate the duration yourself. This method doesn't send any telemetry. Call `stopTrackPage` to log the end of the page view\r\n * and send the event.\r\n * @param name A string that idenfities this item, unique within this HTML document. Defaults to the document title.\r\n */\r\n _self.startTrackPage = function (name) {\r\n try {\r\n if (typeof name !== \"string\") {\r\n var doc = getDocument();\r\n name = doc && doc.title || \"\";\r\n }\r\n _pageTracking.start(name);\r\n }\r\n catch (e) {\r\n _self.diagLog().throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.StartTrackFailed, \"startTrackPage failed, page view may not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * Stops the timer that was started by calling `startTrackPage` and sends the pageview load time telemetry with the specified properties and measurements.\r\n * The duration of the page view will be the time between calling `startTrackPage` and `stopTrackPage`.\r\n * @param name The string you used as the name in startTrackPage. Defaults to the document title.\r\n * @param url String - a relative or absolute URL that identifies the page or other item. Defaults to the window location.\r\n * @param properties map[string, string] - additional data used to filter pages and metrics in the portal. Defaults to empty.\r\n * @param measurements map[string, number] - metrics associated with this page, displayed in Metrics Explorer on the portal. Defaults to empty.\r\n */\r\n _self.stopTrackPage = function (name, url, properties, measurement) {\r\n try {\r\n if (typeof name !== \"string\") {\r\n var doc = getDocument();\r\n name = doc && doc.title || \"\";\r\n }\r\n if (typeof url !== \"string\") {\r\n var loc = getLocation();\r\n url = loc && loc.href || \"\";\r\n }\r\n _pageTracking.stop(name, url, properties, measurement);\r\n if (_self.config.autoTrackPageVisitTime) {\r\n _self._pageVisitTimeManager.trackPreviousPageVisit(name, url);\r\n }\r\n }\r\n catch (e) {\r\n _self.diagLog().throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.StopTrackFailed, \"stopTrackPage failed, page view will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * @ignore INTERNAL ONLY\r\n * @param exception\r\n * @param properties\r\n * @param systemProperties\r\n */\r\n _self.sendExceptionInternal = function (exception, customProperties, systemProperties) {\r\n var theError = exception.exception || exception.error || new Error(strNotSpecified);\r\n var exceptionPartB = new Exception(_self.diagLog(), theError, exception.properties || customProperties, exception.measurements, exception.severityLevel, exception.id).toInterface();\r\n var telemetryItem = TelemetryItemCreator.create(exceptionPartB, Exception.dataType, Exception.envelopeType, _self.diagLog(), customProperties, systemProperties);\r\n _self.core.track(telemetryItem);\r\n };\r\n /**\r\n * Log an exception you have caught.\r\n *\r\n * @param {IExceptionTelemetry} exception Object which contains exception to be sent\r\n * @param {{[key: string]: any}} customProperties Additional data used to filter pages and metrics in the portal. Defaults to empty.\r\n *\r\n * Any property of type double will be considered a measurement, and will be treated by Application Insights as a metric.\r\n * @memberof ApplicationInsights\r\n */\r\n _self.trackException = function (exception, customProperties) {\r\n try {\r\n _self.sendExceptionInternal(exception, customProperties);\r\n }\r\n catch (e) {\r\n _self.diagLog().throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.TrackExceptionFailed, \"trackException failed, exception will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * @description Custom error handler for Application Insights Analytics\r\n * @param {IAutoExceptionTelemetry} exception\r\n * @memberof ApplicationInsights\r\n */\r\n _self._onerror = function (exception) {\r\n var error = exception && exception.error;\r\n var evt = exception && exception.evt;\r\n try {\r\n if (!evt) {\r\n var _window = getWindow();\r\n if (_window) {\r\n evt = _window[strEvent];\r\n }\r\n }\r\n var url = (exception && exception.url) || (getDocument() || {}).URL;\r\n // If no error source is provided assume the default window.onerror handler\r\n var errorSrc = exception.errorSrc || \"window.onerror@\" + url + \":\" + (exception.lineNumber || 0) + \":\" + (exception.columnNumber || 0);\r\n var properties = {\r\n errorSrc: errorSrc,\r\n url: url,\r\n lineNumber: exception.lineNumber || 0,\r\n columnNumber: exception.columnNumber || 0,\r\n message: exception.message\r\n };\r\n if (isCrossOriginError(exception.message, exception.url, exception.lineNumber, exception.columnNumber, exception.error)) {\r\n _sendCORSException(Exception.CreateAutoException(\"Script error: The browser's same-origin policy prevents us from getting the details of this exception. Consider using the 'crossorigin' attribute.\", url, exception.lineNumber || 0, exception.columnNumber || 0, error, evt, null, errorSrc), properties);\r\n }\r\n else {\r\n if (!exception.errorSrc) {\r\n exception.errorSrc = errorSrc;\r\n }\r\n _self.trackException({ exception: exception, severityLevel: SeverityLevel.Error }, properties);\r\n }\r\n }\r\n catch (e) {\r\n var errorString = error ? (error.name + \", \" + error.message) : \"null\";\r\n _self.diagLog().throwInternal(LoggingSeverity.CRITICAL, _InternalMessageId.ExceptionWhileLoggingError, \"_onError threw exception while logging error, error will not be collected: \"\r\n + getExceptionName(e), { exception: dumpObj(e), errorString: errorString });\r\n }\r\n };\r\n _self.addTelemetryInitializer = function (telemetryInitializer) {\r\n _self._telemetryInitializers.push(telemetryInitializer);\r\n };\r\n _self.initialize = function (config, core, extensions, pluginChain) {\r\n if (_self.isInitialized()) {\r\n return;\r\n }\r\n if (isNullOrUndefined(core)) {\r\n throw Error(\"Error initializing\");\r\n }\r\n _base.initialize(config, core, extensions, pluginChain);\r\n _self.setInitialized(false); // resetting the initialized state, just in case the following fails\r\n var ctx = _self._getTelCtx();\r\n var identifier = _self.identifier;\r\n _self.config = ctx.getExtCfg(identifier);\r\n // load default values if specified\r\n var defaults = ApplicationInsights.getDefaultConfig(config);\r\n if (defaults !== undefined) {\r\n objForEachKey(defaults, function (field, value) {\r\n // for each unspecified field, set the default value\r\n _self.config[field] = ctx.getConfig(identifier, field, value);\r\n if (_self.config[field] === undefined) {\r\n _self.config[field] = value;\r\n }\r\n });\r\n }\r\n // Todo: move this out of static state\r\n if (_self.config.isStorageUseDisabled) {\r\n utlDisableStorage();\r\n }\r\n var configGetters = {\r\n instrumentationKey: function () { return config.instrumentationKey; },\r\n accountId: function () { return _self.config.accountId || config.accountId; },\r\n sessionRenewalMs: function () { return _self.config.sessionRenewalMs || config.sessionRenewalMs; },\r\n sessionExpirationMs: function () { return _self.config.sessionExpirationMs || config.sessionExpirationMs; },\r\n sampleRate: function () { return _self.config.samplingPercentage || config.samplingPercentage; },\r\n sdkExtension: function () { return _self.config.sdkExtension || config.sdkExtension; },\r\n isBrowserLinkTrackingEnabled: function () { return _self.config.isBrowserLinkTrackingEnabled || config.isBrowserLinkTrackingEnabled; },\r\n appId: function () { return _self.config.appId || config.appId; }\r\n };\r\n _self._pageViewPerformanceManager = new PageViewPerformanceManager(_self.core);\r\n _self._pageViewManager = new PageViewManager(_this, _self.config.overridePageViewDuration, _self.core, _self._pageViewPerformanceManager);\r\n _self._pageVisitTimeManager = new PageVisitTimeManager(_self.diagLog(), function (pageName, pageUrl, pageVisitTime) { return trackPageVisitTime(pageName, pageUrl, pageVisitTime); });\r\n _self._telemetryInitializers = _self._telemetryInitializers || [];\r\n _addDefaultTelemetryInitializers(configGetters);\r\n _eventTracking = new Timing(_self.diagLog(), \"trackEvent\");\r\n _eventTracking.action =\r\n function (name, url, duration, properties) {\r\n if (!properties) {\r\n properties = {};\r\n }\r\n properties[durationProperty] = duration.toString();\r\n _self.trackEvent({ name: name, properties: properties });\r\n };\r\n // initialize page view timing\r\n _pageTracking = new Timing(_self.diagLog(), \"trackPageView\");\r\n _pageTracking.action = function (name, url, duration, properties, measurements) {\r\n // duration must be a custom property in order for the collector to extract it\r\n if (isNullOrUndefined(properties)) {\r\n properties = {};\r\n }\r\n properties[durationProperty] = duration.toString();\r\n var pageViewItem = {\r\n name: name,\r\n uri: url,\r\n properties: properties,\r\n measurements: measurements\r\n };\r\n _self.sendPageViewInternal(pageViewItem, properties);\r\n };\r\n var _window = getWindow();\r\n var _history = getHistory();\r\n var _location = getLocation(true);\r\n var instance = _this;\r\n if (_self.config.disableExceptionTracking === false &&\r\n !_self.config.autoExceptionInstrumented && _window) {\r\n // We want to enable exception auto collection and it has not been done so yet\r\n var onerror_1 = \"onerror\";\r\n var originalOnError_1 = _window[onerror_1];\r\n _window.onerror = function (message, url, lineNumber, columnNumber, error) {\r\n var evt = _window[strEvent];\r\n var handled = originalOnError_1 && originalOnError_1(message, url, lineNumber, columnNumber, error);\r\n if (handled !== true) { // handled could be typeof function\r\n instance._onerror(Exception.CreateAutoException(message, url, lineNumber, columnNumber, error, evt));\r\n }\r\n return handled;\r\n };\r\n _self.config.autoExceptionInstrumented = true;\r\n }\r\n if (_self.config.disableExceptionTracking === false &&\r\n _self.config.enableUnhandledPromiseRejectionTracking === true &&\r\n !_self.config.autoUnhandledPromiseInstrumented && _window) {\r\n // We want to enable exception auto collection and it has not been done so yet\r\n var onunhandledrejection_1 = \"onunhandledrejection\";\r\n var originalOnUnhandledRejection_1 = _window[onunhandledrejection_1];\r\n _window[onunhandledrejection_1] = function (error) {\r\n var evt = _window[strEvent];\r\n var handled = originalOnUnhandledRejection_1 && originalOnUnhandledRejection_1.call(_window, error);\r\n if (handled !== true) { // handled could be typeof function\r\n instance._onerror(Exception.CreateAutoException(_getReason(error), _location ? _location.href : \"\", 0, 0, error, evt));\r\n }\r\n return handled;\r\n };\r\n _self.config.autoUnhandledPromiseInstrumented = true;\r\n }\r\n /**\r\n * Create a custom \"locationchange\" event which is triggered each time the history object is changed\r\n */\r\n if (_self.config.enableAutoRouteTracking === true\r\n && _history && isFunction(_history.pushState) && isFunction(_history.replaceState)\r\n && _window\r\n && typeof Event !== \"undefined\") {\r\n var _self_1 = _this;\r\n // Find the properties plugin\r\n arrForEach(extensions, function (extension) {\r\n if (extension.identifier === PropertiesPluginIdentifier) {\r\n _properties = extension;\r\n }\r\n });\r\n _history.pushState = (function (f) { return function pushState() {\r\n var ret = f.apply(this, arguments);\r\n _dispatchEvent(_window, createDomEvent(_self_1.config.namePrefix + \"pushState\"));\r\n _dispatchEvent(_window, createDomEvent(_self_1.config.namePrefix + \"locationchange\"));\r\n return ret;\r\n }; })(_history.pushState);\r\n _history.replaceState = (function (f) { return function replaceState() {\r\n var ret = f.apply(this, arguments);\r\n _dispatchEvent(_window, createDomEvent(_self_1.config.namePrefix + \"replaceState\"));\r\n _dispatchEvent(_window, createDomEvent(_self_1.config.namePrefix + \"locationchange\"));\r\n return ret;\r\n }; })(_history.replaceState);\r\n if (_window.addEventListener) {\r\n _window.addEventListener(_self_1.config.namePrefix + \"popstate\", function () {\r\n _dispatchEvent(_window, createDomEvent(_self_1.config.namePrefix + \"locationchange\"));\r\n });\r\n _window.addEventListener(_self_1.config.namePrefix + \"locationchange\", function () {\r\n if (_properties && _properties.context && _properties.context.telemetryTrace) {\r\n _properties.context.telemetryTrace.traceID = generateW3CId();\r\n var traceLocationName = \"_unknown_\";\r\n if (_location && _location.pathname) {\r\n traceLocationName = _location.pathname + (_location.hash || \"\");\r\n }\r\n _properties.context.telemetryTrace.name = traceLocationName;\r\n }\r\n if (_currUri) {\r\n _prevUri = _currUri;\r\n _currUri = _location && _location.href || \"\";\r\n }\r\n else {\r\n _currUri = _location && _location.href || \"\";\r\n }\r\n setTimeout((function (uri) {\r\n // todo: override start time so that it is not affected by autoRoutePVDelay\r\n _self_1.trackPageView({ refUri: uri, properties: { duration: 0 } }); // SPA route change loading durations are undefined, so send 0\r\n }).bind(_this, _prevUri), _self_1.autoRoutePVDelay);\r\n });\r\n }\r\n }\r\n _self.setInitialized(true);\r\n };\r\n /**\r\n * Log a page visit time\r\n * @param pageName Name of page\r\n * @param pageVisitDuration Duration of visit to the page in milleseconds\r\n */\r\n function trackPageVisitTime(pageName, pageUrl, pageVisitTime) {\r\n var properties = { PageName: pageName, PageUrl: pageUrl };\r\n _self.trackMetric({\r\n name: \"PageVisitTime\",\r\n average: pageVisitTime,\r\n max: pageVisitTime,\r\n min: pageVisitTime,\r\n sampleCount: 1\r\n }, properties);\r\n }\r\n function _addDefaultTelemetryInitializers(configGetters) {\r\n if (!configGetters.isBrowserLinkTrackingEnabled()) {\r\n var browserLinkPaths_1 = ['/browserLinkSignalR/', '/__browserLink/'];\r\n var dropBrowserLinkRequests = function (envelope) {\r\n if (envelope.baseType === RemoteDependencyData.dataType) {\r\n var remoteData = envelope.baseData;\r\n if (remoteData) {\r\n for (var i = 0; i < browserLinkPaths_1.length; i++) {\r\n if (remoteData.target && remoteData.target.indexOf(browserLinkPaths_1[i]) >= 0) {\r\n return false;\r\n }\r\n }\r\n }\r\n }\r\n return true;\r\n };\r\n _addTelemetryInitializer(dropBrowserLinkRequests);\r\n }\r\n }\r\n function _addTelemetryInitializer(telemetryInitializer) {\r\n _self._telemetryInitializers.push(telemetryInitializer);\r\n }\r\n function _sendCORSException(exception, properties) {\r\n var telemetryItem = TelemetryItemCreator.create(exception, Exception.dataType, Exception.envelopeType, _self.diagLog(), properties);\r\n _self.core.track(telemetryItem);\r\n }\r\n });\r\n return _this;\r\n }\r\n ApplicationInsights.getDefaultConfig = function (config) {\r\n if (!config) {\r\n config = {};\r\n }\r\n // set default values\r\n config.sessionRenewalMs = 30 * 60 * 1000;\r\n config.sessionExpirationMs = 24 * 60 * 60 * 1000;\r\n config.disableExceptionTracking = stringToBoolOrDefault(config.disableExceptionTracking);\r\n config.autoTrackPageVisitTime = stringToBoolOrDefault(config.autoTrackPageVisitTime);\r\n config.overridePageViewDuration = stringToBoolOrDefault(config.overridePageViewDuration);\r\n config.enableUnhandledPromiseRejectionTracking = stringToBoolOrDefault(config.enableUnhandledPromiseRejectionTracking);\r\n if (isNaN(config.samplingPercentage) || config.samplingPercentage <= 0 || config.samplingPercentage >= 100) {\r\n config.samplingPercentage = 100;\r\n }\r\n config.isStorageUseDisabled = stringToBoolOrDefault(config.isStorageUseDisabled);\r\n config.isBrowserLinkTrackingEnabled = stringToBoolOrDefault(config.isBrowserLinkTrackingEnabled);\r\n config.enableAutoRouteTracking = stringToBoolOrDefault(config.enableAutoRouteTracking);\r\n config.namePrefix = config.namePrefix || \"\";\r\n config.enableDebug = stringToBoolOrDefault(config.enableDebug);\r\n config.disableFlushOnBeforeUnload = stringToBoolOrDefault(config.disableFlushOnBeforeUnload);\r\n config.disableFlushOnUnload = stringToBoolOrDefault(config.disableFlushOnUnload, config.disableFlushOnBeforeUnload);\r\n return config;\r\n };\r\n// Removed Stub for ApplicationInsights.prototype.getCookieMgr.\r\n// Removed Stub for ApplicationInsights.prototype.processTelemetry.\r\n// Removed Stub for ApplicationInsights.prototype.trackEvent.\r\n// Removed Stub for ApplicationInsights.prototype.startTrackEvent.\r\n// Removed Stub for ApplicationInsights.prototype.stopTrackEvent.\r\n// Removed Stub for ApplicationInsights.prototype.trackTrace.\r\n// Removed Stub for ApplicationInsights.prototype.trackMetric.\r\n// Removed Stub for ApplicationInsights.prototype.trackPageView.\r\n// Removed Stub for ApplicationInsights.prototype.sendPageViewInternal.\r\n// Removed Stub for ApplicationInsights.prototype.sendPageViewPerformanceInternal.\r\n// Removed Stub for ApplicationInsights.prototype.trackPageViewPerformance.\r\n// Removed Stub for ApplicationInsights.prototype.startTrackPage.\r\n// Removed Stub for ApplicationInsights.prototype.stopTrackPage.\r\n// Removed Stub for ApplicationInsights.prototype.sendExceptionInternal.\r\n// Removed Stub for ApplicationInsights.prototype.trackException.\r\n// Removed Stub for ApplicationInsights.prototype._onerror.\r\n// Removed Stub for ApplicationInsights.prototype.addTelemetryInitializer.\r\n// Removed Stub for ApplicationInsights.prototype.initialize.\r\n ApplicationInsights.Version = \"2.7.0\"; // Not currently used anywhere\r\n return ApplicationInsights;\r\n}(BaseTelemetryPlugin));\r\nexport { ApplicationInsights };\r\n/**\r\n * Used to record timed events and page views.\r\n */\r\nvar Timing = /** @class */ (function () {\r\n function Timing(logger, name) {\r\n var _self = this;\r\n var _events = {};\r\n _self.start = function (name) {\r\n if (typeof _events[name] !== \"undefined\") {\r\n logger.throwInternal(LoggingSeverity.WARNING, _InternalMessageId.StartCalledMoreThanOnce, \"start was called more than once for this event without calling stop.\", { name: name, key: name }, true);\r\n }\r\n _events[name] = +new Date;\r\n };\r\n _self.stop = function (name, url, properties, measurements) {\r\n var start = _events[name];\r\n if (isNaN(start)) {\r\n logger.throwInternal(LoggingSeverity.WARNING, _InternalMessageId.StopCalledWithoutStart, \"stop was called without a corresponding start.\", { name: name, key: name }, true);\r\n }\r\n else {\r\n var end = +new Date;\r\n var duration = dateTimeUtilsDuration(start, end);\r\n _self.action(name, url, duration, properties, measurements);\r\n }\r\n delete _events[name];\r\n _events[name] = undefined;\r\n };\r\n }\r\n return Timing;\r\n}());\r\n//# sourceMappingURL=ApplicationInsights.js.map","/*\n * Application Insights JavaScript SDK - Common, 2.7.0\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n// Licensed under the\r\nexport { Util, CorrelationIdHelper, DateTimeUtils, dateTimeUtilsNow, dateTimeUtilsDuration, UrlHelper, isInternalApplicationInsightsEndpoint } from './Util';\r\nexport { parseConnectionString, ConnectionStringParser } from './ConnectionStringParser';\r\nexport { RequestHeaders } from './RequestResponseHeaders';\r\nexport { DisabledPropertyName, ProcessLegacy, SampleRate, HttpMethod, DEFAULT_BREEZE_ENDPOINT, strNotSpecified } from './Constants';\r\nexport { Data as AIData } from './Interfaces/Contracts/Generated/Data';\r\nexport { Base as AIBase } from './Interfaces/Contracts/Generated/Base';\r\nexport { Envelope } from './Telemetry/Common/Envelope';\r\nexport { Event } from './Telemetry/Event';\r\nexport { Exception } from './Telemetry/Exception';\r\nexport { Metric } from './Telemetry/Metric';\r\nexport { PageView } from './Telemetry/PageView';\r\nexport { PageViewData } from './Interfaces/Contracts/Generated/PageViewData';\r\nexport { RemoteDependencyData } from './Telemetry/RemoteDependencyData';\r\nexport { Trace } from './Telemetry/Trace';\r\nexport { PageViewPerformance } from './Telemetry/PageViewPerformance';\r\nexport { Data } from './Telemetry/Common/Data';\r\nexport { SeverityLevel } from './Interfaces/Contracts/Generated/SeverityLevel';\r\nexport { ConfigurationManager } from './Interfaces/IConfig';\r\nexport { ContextTagKeys } from './Interfaces/Contracts/Generated/ContextTagKeys';\r\nexport { DataSanitizer, dataSanitizeKeyAndAddUniqueness, dataSanitizeKey, dataSanitizeString, dataSanitizeUrl, dataSanitizeMessage, dataSanitizeException, dataSanitizeProperties, dataSanitizeMeasurements, dataSanitizeId, dataSanitizeInput, dsPadNumber } from './Telemetry/Common/DataSanitizer';\r\nexport { TelemetryItemCreator } from './TelemetryItemCreator';\r\nexport { CtxTagKeys, Extensions } from './Interfaces/PartAExtensions';\r\nexport { DistributedTracingModes } from './Enums';\r\nexport { stringToBoolOrDefault, msToTimeSpan, getExtensionByName, isCrossOriginError } from './HelperFuncs';\r\nexport { isBeaconsSupported as isBeaconApiSupported } from \"@microsoft/applicationinsights-core-js\";\r\nexport { createDomEvent } from './DomHelperFuncs';\r\nexport { utlDisableStorage, utlCanUseLocalStorage, utlGetLocalStorage, utlSetLocalStorage, utlRemoveStorage, utlCanUseSessionStorage, utlGetSessionStorageKeys, utlGetSessionStorage, utlSetSessionStorage, utlRemoveSessionStorage } from './StorageHelperFuncs';\r\nexport { urlParseUrl, urlGetAbsoluteUrl, urlGetPathName, urlGetCompleteUrl, urlParseHost, urlParseFullHost } from './UrlHelperFuncs';\r\nexport var PropertiesPluginIdentifier = \"AppInsightsPropertiesPlugin\";\r\nexport var BreezeChannelIdentifier = \"AppInsightsChannelPlugin\";\r\nexport var AnalyticsPluginIdentifier = \"ApplicationInsightsAnalytics\";\r\n//# sourceMappingURL=applicationinsights-common.js.map","/*\n * 1DS JS SDK Web Analytics plugin, 3.1.6\n * Copyright (c) Microsoft and contributors. All rights reserved.\n * (Microsoft Internal Only)\n */\n/**\r\n* Utils.ts\r\n* @author Ram Thiru (ramthi) Hector Hernandez (hectorh)\r\n* @copyright Microsoft 2018\r\n* File containing utility functions.\r\n*/\r\nimport { isValueAssigned, isWindowObjectAvailable, getPerformance, getWindow, getDocument, arrForEach, objForEachKey, isObject } from \"@microsoft/1ds-core-js\";\r\nimport { APPID_PREFIX } from \"./Constants\";\r\nvar doNotTrackFieldName = \"data-bi-dnt\";\r\nvar manualTrackOnlyFieldName = \"data-bi-mto\";\r\n/**\r\n* Check if appId has a colon as the third character. If it does\r\n* do nothing otherwise prefix it with 'JS:'.A colon is valid in an appId\r\n* @param appId - appId\r\n* @returns An appId with js:prefix\r\n*/\r\nexport function _getAppIdWithPrefix(appId) {\r\n var result;\r\n if (appId) {\r\n var appIdArray = appId.split(\":\");\r\n result = appIdArray.length > 1 && appIdArray[0].toLowerCase() === \"js\" ? appId : APPID_PREFIX + appId;\r\n }\r\n return result;\r\n}\r\n/**\r\n* Finds attributes in overrideConfig which are invalid or should be objects\r\n* and deletes them. useful in override config\r\n* @param overrideConfig - override config object\r\n* @param attributeNamesExpectedObjects - attributes that should be objects in override config object\r\n*/\r\nexport function _removeNonObjectsAndInvalidElements(overrideConfig, attributeNamesExpectedObjects) {\r\n _removeInvalidElements(overrideConfig);\r\n arrForEach(attributeNamesExpectedObjects, function (objectName, i) {\r\n if (isObject(overrideConfig[objectName])) {\r\n _removeInvalidElements(overrideConfig[objectName]);\r\n }\r\n else {\r\n delete overrideConfig[objectName];\r\n }\r\n });\r\n}\r\n/**\r\n* Finds attributes in object which are invalid\r\n* and deletes them. useful in override config\r\n* @param object Input object\r\n*/\r\nexport function _removeInvalidElements(object) {\r\n /// Because the config object 'callback' contains only functions,\r\n /// when it is stringified it returns the empty object. This explains\r\n /// the workaround regarding 'callback'\r\n objForEachKey(object, function (property, value) {\r\n if (!isValueAssigned(value) ||\r\n (JSON.stringify(value) === \"{}\" && (property !== \"callback\"))) {\r\n delete object[property];\r\n }\r\n });\r\n}\r\n/**\r\n* Gets intersection area of two rectangles\r\n* and deletes them. useful in override config\r\n* @param rect1 - object containing top, left, right, and bottom numbers\r\n* @param rect2 - object containing top, left, right, and bottom numbers\r\n* @returns Intersection area in px^2\r\n*/\r\nexport function _getIntersectionArea(rect1, rect2) {\r\n var x11 = rect1.left;\r\n var y11 = rect1.top;\r\n var x12 = rect1.right;\r\n var y12 = rect1.bottom;\r\n var x21 = rect2.left;\r\n var y21 = rect2.top;\r\n var x22 = rect2.right;\r\n var y22 = rect2.bottom;\r\n var xOverlap = Math.max(0, Math.min(x12, x22) - Math.max(x11, x21));\r\n var yOverlap = Math.max(0, Math.min(y12, y22) - Math.max(y11, y21));\r\n return xOverlap * yOverlap;\r\n}\r\n/**\r\n* Walks up DOM tree to find anchor element\r\n* @param element - DOM element\r\n* @returns Dom element which is an anchor\r\n*/\r\nexport function _findClosestAnchor(element) {\r\n /// Walks up DOM tree to find anchor element \r\n /// DOM element \r\n /// Dom element which is an anchor\r\n return _walkUpDomChainWithElementValidation(element, _isElementAnAnchor);\r\n}\r\n/**\r\n* Stringify object\r\n* @param fieldName - Field name\r\n* @param value - Value\r\n* @returns Stringified value\r\n*/\r\nexport function _stringifyField(fieldName, value) {\r\n if (value) {\r\n try {\r\n var stringified = JSON.stringify(value);\r\n if (stringified === \"{}\") {\r\n if (fieldName === \"timing\") {\r\n return _stringifyWindowPerformanceTiming();\r\n }\r\n }\r\n return stringified;\r\n }\r\n catch (e) {\r\n // JSON.Strigify has issues with circular references.\r\n // http://stackoverflow.com/questions/4816099/chrome-sendrequest-error-typeerror-converting-circular-structure-to-json\r\n var message = \"{'error': 'ERROR: could not stringify {0} {1}'}\";\r\n var token = (typeof value === \"string\") ? value : \"\";\r\n return message.replace(\"{0}\", fieldName).replace(\"{1}\", token);\r\n }\r\n }\r\n return \"\";\r\n}\r\n/**\r\n* Stringify window timing object\r\n* Safari does not serialize window.performance.timing, therefore this shim is necessary.\r\n* @returns stringified window.performance.timing\r\n*/\r\nfunction _stringifyWindowPerformanceTiming() {\r\n var performanceString = \"{\";\r\n if (isWindowObjectAvailable) {\r\n var WPTfields = [\"navigationStart\",\r\n \"unloadEventStart\",\r\n \"unloadEventEnd\",\r\n \"redirectStart\",\r\n \"redirectEnd\",\r\n \"fetchStart\",\r\n \"domainLookupStart\",\r\n \"domainLookupEnd\",\r\n \"connectStart\",\r\n \"connectEnd\",\r\n \"secureConnectionStart\",\r\n \"requestStart\",\r\n \"responseStart\",\r\n \"responseEnd\",\r\n \"domLoading\",\r\n \"domInteractive\",\r\n \"domContentLoadedEventStart\",\r\n \"domContentLoadedEventEnd\",\r\n \"domComplete\",\r\n \"loadEventStart\",\r\n \"loadEventEnd\"];\r\n var perf = getPerformance();\r\n var windowPerformanceTiming = perf ? perf.timing : {};\r\n for (var i = 0; i < WPTfields.length; i++) {\r\n var WindowPerformanceTimingTempValue = windowPerformanceTiming[WPTfields[i]];\r\n if (isValueAssigned(WindowPerformanceTimingTempValue)) {\r\n performanceString += \"'\" + WPTfields[i] + \"':\" + WindowPerformanceTimingTempValue;\r\n if (i < WPTfields.length - 1) {\r\n performanceString += \",\";\r\n }\r\n }\r\n }\r\n }\r\n performanceString += \"}\";\r\n return performanceString;\r\n}\r\n/**\r\n* Walks up DOM tree to find element which matches validationMethod\r\n* @param el - DOM element\r\n* @param validationMethod - DOM element validation method\r\n* @param validationMethodParam - DOM element validation method parameters\r\n* @returns Dom element which is an anchor\r\n*/\r\nexport function _walkUpDomChainWithElementValidation(el, validationMethod, validationMethodParam) {\r\n var element = el;\r\n if (element) {\r\n element = _returnDomObjectIfjQuery(element);\r\n while (!validationMethod(element, validationMethodParam)) {\r\n element = element.parentNode;\r\n element = _returnDomObjectIfjQuery(element);\r\n if (!element || !(element.getAttribute)) {\r\n return null;\r\n }\r\n }\r\n return element;\r\n }\r\n}\r\n/**\r\n* Determine if DOM element is an anchor\r\n* @param element - DOM element\r\n* @returns Is element an anchor\r\n*/\r\nexport function _isElementAnAnchor(element) {\r\n return element.nodeName === \"A\";\r\n}\r\n/**\r\n* Some elements might be jQuery, do not have method getAttribute\r\n* @param element - DOM or jQuery element\r\n* @returns DOM element\r\n*/\r\nexport function _returnDomObjectIfjQuery(element) {\r\n // TODO: Fix Jquery reference.\r\n // if (typeof jQuery === 'function' && element instanceof jQuery) {\r\n // return element[0];\r\n // }\r\n return element;\r\n}\r\n/**\r\n* Determines if an element is currently visible to the user\r\n* @param element - element to check for visibility\r\n* @param viewportBoundingRect - Viewport bounding rectangle\r\n* @returns true if element is truly visible\r\n*/\r\nexport function _isElementTrulyVisible(element, viewportBoundingRect) {\r\n element = _returnDomObjectIfjQuery(element);\r\n var rect = element.getBoundingClientRect();\r\n var intersectionArea = _getIntersectionArea(rect, viewportBoundingRect);\r\n if (intersectionArea > 0) {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n}\r\n/**\r\n* Returns the specified field and also removes the property from the object if exists.\r\n* @param obj - Input object\r\n* @param fieldName - >Name of the field/property to be extracted\r\n* @returns Value of the specified tag\r\n*/\r\nexport function _extractFieldFromObject(obj, fieldName) {\r\n var fieldValue;\r\n if (obj && obj[fieldName]) {\r\n fieldValue = obj[fieldName];\r\n delete obj[fieldName];\r\n }\r\n return fieldValue;\r\n}\r\n/**\r\n* Determines whether an event is a right click or not\r\n* @param evt - Mouse event\r\n* @returns true if the event is a right click\r\n*/\r\nexport function _isRightClick(evt) {\r\n if (\"which\" in evt) { // Chrome, FF, ...\r\n return (evt.which === 3);\r\n }\r\n else if (\"button\" in evt) { // IE, ...\r\n return (evt.button === 2);\r\n }\r\n}\r\n/**\r\n* Determines whether an event is a left click or not\r\n* @param evt - Mouse event\r\n* @returns true if the event is a left click\r\n*/\r\nexport function _isLeftClick(evt) {\r\n if (\"which\" in evt) { // Chrome, FF, ...\r\n return (evt.which === 1);\r\n }\r\n else if (\"button\" in evt) { // IE, ...\r\n return (evt.button === 1);\r\n }\r\n}\r\n/**\r\n* Determines whether an event is a middle click or not\r\n* @param evt - Mouse event\r\n* @returns true if the event is a middle click\r\n*/\r\nexport function _isMiddleClick(evt) {\r\n if (\"which\" in evt) { // Chrome, FF, ...\r\n return (evt.which === 2);\r\n }\r\n else if (\"button\" in evt) { // IE, ...\r\n return (evt.button === 4);\r\n }\r\n}\r\n/**\r\n* Determines whether an event is a keyboard enter or not\r\n* @param evt - Keyboard event\r\n* @returns true if the event is a keyboard enter\r\n*/\r\nexport function _isKeyboardEnter(evt) {\r\n if (\"keyCode\" in evt) { // Chrome, FF, ...\r\n return (evt.keyCode === 13);\r\n }\r\n}\r\n/**\r\n* Determines whether an event is a keyboard space or not\r\n* @param evt - Keyboard event\r\n* @returns true if the event is a space enter\r\n*/\r\nexport function _isKeyboardSpace(evt) {\r\n if (\"keyCode\" in evt) { // Chrome, FF, ...\r\n return (evt.keyCode === 32);\r\n }\r\n}\r\n/**\r\n* Determines whether the element have a DNT(Do Not Track) tag\r\n* @param element - DOM element\r\n* @param doNotTrackFieldName - Deprecated\r\n* @returns true if the element must not be tracked\r\n*/\r\nexport function _isElementDnt(element, deprecated) {\r\n var dntElement = _findClosestByAttribute(element, doNotTrackFieldName);\r\n if (!isValueAssigned(dntElement)) {\r\n return false;\r\n }\r\n return true;\r\n}\r\n/**\r\n* Determines whether the element can generate pageAction telemetry using data-bi attributes mto and dnt\r\n* @param element - DOM element\r\n* @param overrides - Override to determine if auto or manual call\r\n* @returns true if the element is can be tracked\r\n*/\r\nexport function _isClickTelemetryAllowed(element, overrideValues) {\r\n // MTO do not send auto telemetry for this element\r\n if (overrideValues &&\r\n overrideValues.isAuto &&\r\n isValueAssigned(_findClosestByAttribute(element, manualTrackOnlyFieldName))) {\r\n return false;\r\n }\r\n // Do not track element\r\n if (_isElementDnt(element)) {\r\n return false;\r\n }\r\n return true;\r\n}\r\n/**\r\n* Walks up DOM tree to find element with attribute\r\n* @param el - DOM element\r\n* @param attribute - Attribute name\r\n* @returns Dom element which contains attribute\r\n*/\r\nexport function _findClosestByAttribute(el, attribute) {\r\n return _walkUpDomChainWithElementValidation(el, _isAttributeInElement, attribute);\r\n}\r\n/**\r\n* checks if attribute is in element.\r\n* method checks for empty string, in case the attribute is set but no value is assigned to it\r\n* @param element - DOM element\r\n* @param attributeToLookFor - Attribute name\r\n* @returns true if attribute is in element, even if empty string\r\n*/\r\nexport function _isAttributeInElement(element, attributeToLookFor) {\r\n var value = element.getAttribute(attributeToLookFor);\r\n return isValueAssigned(value) || value === \"\";\r\n}\r\n/**\r\n* Adds surrounding square brackets to the passed in text\r\n* @param str - Input string\r\n* @returns String with surrounding brackets\r\n*/\r\nexport function _bracketIt(str) {\r\n /// \r\n /// Adds surrounding square brackets to the passed in text\r\n /// \r\n return \"[\" + str + \"]\";\r\n}\r\n/**\r\n * When constantly called, debounce returns two functions, where:\r\n * - function 1 will trigger at first call,\r\n * - function 2 will be called at last call, after it stops being called for\r\n * 'wait' milliseconds\r\n * @param firstCallFunction - The function that will trigger at first call\r\n * @param secondCallFunction - The function that will trigger at last call after 'wait' milliseconds\r\n * @params wait - The debounce time interval\r\n */\r\nexport function _debounce(firstCallFunction, secondCallFunction, wait, context) {\r\n var timeout;\r\n return function () {\r\n var args = arguments;\r\n var later = function () {\r\n timeout = 0;\r\n if (secondCallFunction) {\r\n secondCallFunction.apply(context, args);\r\n }\r\n };\r\n var callNow = !timeout;\r\n clearTimeout(timeout);\r\n timeout = setTimeout(later, wait);\r\n if (callNow) {\r\n if (firstCallFunction) {\r\n firstCallFunction.apply(context, args);\r\n }\r\n }\r\n };\r\n}\r\n/**\r\n * Get scroll offset\r\n * @returns Returns the scroll offset\r\n */\r\nexport function _getScrollOffset() {\r\n var scrollOffset = { h: 0, v: 0 };\r\n var win = getWindow();\r\n var doc = getDocument();\r\n if (doc && win) {\r\n scrollOffset = {\r\n h: parseInt(doc.body.scrollLeft || doc.documentElement.scrollLeft || win.pageXOffset, 10),\r\n v: parseInt(doc.body.scrollTop || doc.documentElement.scrollTop || win.pageYOffset, 10)\r\n };\r\n }\r\n return scrollOffset;\r\n}\r\n/**\r\n* Use window dimensions if available before reaching into DOM.\r\n* Accessing DOM frequently causes layout to reflow and impacts perf.\r\n* @returns Returns a Viewport object that contains dimensions of the current viewport\r\n* @description When this is executed from within an iFrame, the dimensions would be that of the iFrame and not the browser window.\r\n*/\r\nexport function _getViewportDimensions() {\r\n var viewport = { h: 0, w: 0 };\r\n var win = getWindow();\r\n var doc = getDocument();\r\n if (win && doc && win.screen) {\r\n var body = doc.body || {};\r\n var docElem = doc.documentElement || {};\r\n viewport.h = win.innerHeight || body.clientHeight || docElem.clientHeight;\r\n viewport.w = win.innerWidth || body.clientWidth || docElem.clientWidth;\r\n }\r\n return viewport;\r\n}\r\n/**\r\n * Get viewport bounding dimensions\r\n * @param viewportDimensions Dimensions of the viewport\r\n * @returns Returns viewport bounding rect\r\n */\r\nexport function _getViewportBoundingRect(viewportDimensions) {\r\n var viewportBoundingRect = {\r\n top: 0,\r\n bottom: viewportDimensions.h,\r\n left: 0,\r\n right: viewportDimensions.w\r\n };\r\n return viewportBoundingRect;\r\n}\r\n//# sourceMappingURL=Utils.js.map","/*\n * 1DS JS SDK Web Analytics plugin, 3.1.6\n * Copyright (c) Microsoft and contributors. All rights reserved.\n * (Microsoft Internal Only)\n */\n/**\r\n* Enums.ts\r\n* @author Ram Thiru (ramthi) and Hector Hernandez (hectorh)\r\n* @copyright Microsoft 2018\r\n*/\r\nexport var ActionType = {\r\n CLICKLEFT: \"CL\",\r\n CLICKRIGHT: \"CR\",\r\n CLICKMIDDLE: \"CM\",\r\n SCROLL: \"S\",\r\n ZOOM: \"Z\",\r\n RESIZE: \"R\",\r\n KEYBOARDENTER: \"KE\",\r\n KEYBOARDSPACE: \"KS\",\r\n OTHER: \"O\"\r\n};\r\nexport var EventType;\r\n(function (EventType) {\r\n EventType[EventType[\"PAGE_ACTION\"] = 0] = \"PAGE_ACTION\";\r\n EventType[EventType[\"CONTENT_UPDATE\"] = 1] = \"CONTENT_UPDATE\";\r\n})(EventType || (EventType = {}));\r\n//# sourceMappingURL=Enums.js.map","/*\n * 1DS JS SDK Web Analytics plugin, 3.1.6\n * Copyright (c) Microsoft and contributors. All rights reserved.\n * (Microsoft Internal Only)\n */\n/**\r\n* DataCollector.ts\r\n* @author Ram Thiru (ramthi) and Hector Hernandez (hectorh)\r\n* @copyright Microsoft 2018\r\n*/\r\nimport { isValueAssigned, isDocumentObjectAvailable, isWindowObjectAvailable, LoggingSeverity, _ExtendedInternalMessageId, getLocation, getDocument, getWindow, arrForEach, } from \"@microsoft/1ds-core-js\";\r\nimport { _findClosestAnchor } from \"./common/Utils\";\r\nvar clickCaptureInputTypes = { BUTTON: true, CHECKBOX: true, RADIO: true, RESET: true, SUBMIT: true };\r\n/**\r\n* Get Image href of a given HTMLImageElement\r\n* @param element - An html image element\r\n* @returns Href value.\r\n*/\r\nexport function _getImageHref(element) {\r\n var temp = element;\r\n if (temp) {\r\n var parent = _findClosestAnchor(temp);\r\n if (parent && parent.length === 1) {\r\n if (parent[0].href) {\r\n return parent[0].href;\r\n }\r\n else if (parent[0].src) {\r\n return (parent[0].src);\r\n }\r\n }\r\n }\r\n return \"\";\r\n}\r\n/**\r\n* Check if a given element has an element has data-dc attribute defined with a value 'pii'\r\n* @param element - An html element\r\n* @returns Flag indicating if an element is market PII.\r\n*/\r\nexport function _isPii(element) {\r\n if (!element || !element.attributes) {\r\n return false;\r\n }\r\n try {\r\n var pii = element.getAttribute(\"data-dc\");\r\n if (isValueAssigned(pii)) {\r\n if (pii.toLowerCase() === \"pii\") {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n catch (e) {\r\n return false;\r\n }\r\n}\r\n/**\r\n* Get URI, sanitize the value if configured on\r\n* @param config - Configuration\r\n* @param location - window.location or document.location\r\n* @returns Flag indicating if an element is market PII.\r\n*/\r\nexport function _getUri(config, location) {\r\n if (config.coreData && config.coreData.requestUri && config.coreData.requestUri !== \"\") {\r\n return config.coreData.requestUri;\r\n }\r\n return _sanitizeUrl(config, location);\r\n}\r\n/**\r\n* Sanitize URL values\r\n* @param config - Configuration\r\n* @param location - window.location or document.location\r\n* @returns Flag indicating if an element is market PII.\r\n*/\r\nexport function _sanitizeUrl(config, location) {\r\n if (!location) {\r\n return null;\r\n }\r\n var url = location.protocol + \"//\" + (location.hostname || location.host) + // location.hostname is not supported on Opera and Opera for Android\r\n (isValueAssigned(location.port) ? \":\" + location.port : \"\") +\r\n location.pathname;\r\n if (config.urlCollectQuery) { // false by default\r\n var query = location.search;\r\n if (!query) {\r\n // in older browsers the query parameters can be contained in the hash\r\n var hash = location.hash || \"\";\r\n var queryIndex = hash.indexOf(\"?\");\r\n if (queryIndex !== -1) {\r\n query = hash.slice(queryIndex);\r\n }\r\n }\r\n url += query;\r\n }\r\n if (config.urlCollectHash) { // false by default\r\n url += (location.hash || \"\");\r\n }\r\n return url;\r\n}\r\n/**\r\n* Gets the pageName from the DOM or by calling a override if set.\r\n* @param config - configuration object\r\n* @returns Page name.\r\n*/\r\nexport function _getPageName(config, overrideValues) {\r\n /// \r\n /// Gets the pageName from the DOM or by calling a override if set.\r\n /// \r\n if (overrideValues && overrideValues.pageName) {\r\n return overrideValues.pageName;\r\n }\r\n else if (config.callback && typeof (config.callback.pageName) === \"function\") {\r\n return config.callback.pageName();\r\n }\r\n else if (config.coreData && config.coreData.pageName) {\r\n return config.coreData.pageName;\r\n }\r\n else {\r\n var loc = getLocation() || {};\r\n var pagename = loc.pathname || \"\";\r\n var fragments = pagename.split(\"/\");\r\n if (fragments && fragments[fragments.length - 1] !== \"\") {\r\n pagename = fragments[fragments.length - 1];\r\n }\r\n else {\r\n pagename = \"Undefined\";\r\n }\r\n return pagename;\r\n }\r\n}\r\n/**\r\n* Gets the document's title. Title returned is trimmed to 150 characters\r\n* @returns Document title.\r\n*/\r\nexport function _getTitle() {\r\n return isDocumentObjectAvailable ? document.title.substring(0, 150) : \"\";\r\n}\r\nexport function _getSignedInStatus(config) {\r\n var isLoggedIn = config.callback && typeof (config.callback.signedinStatus) === \"function\" ?\r\n config.callback.signedinStatus() : config.isLoggedIn;\r\n return isLoggedIn;\r\n}\r\n/**\r\n* Gets client cookies\r\n* @returns Cookies.\r\n*/\r\nexport function _getClientCookies(config, traceLogger) {\r\n var cookies = \"\";\r\n var uniqueCookies = {};\r\n var mergedCookies = [];\r\n var cookiesConfig = config.cookiesToCollect;\r\n if (config.shareAuthStatus === false) {\r\n // collect ANON if it is in cookiesConfig\r\n mergedCookies = cookiesConfig;\r\n }\r\n else {\r\n // do not collect ANON even if it is in cookiesConfig\r\n arrForEach(cookiesConfig, function (value) {\r\n if (value !== \"ANON\") {\r\n mergedCookies.push(value);\r\n }\r\n });\r\n }\r\n var key;\r\n var cookieValue;\r\n try {\r\n try {\r\n // adding a try catch block to ensure any mis-handling\r\n // of the varCustomerCookies variable by adopters is not impacting the rest.\r\n if (isWindowObjectAvailable && window.varCustomerCookies && window.varCustomerCookies.length > 0) {\r\n mergedCookies = mergedCookies.concat(window.varCustomerCookies);\r\n }\r\n }\r\n catch (e) {\r\n traceLogger.throwInternal(LoggingSeverity.CRITICAL, _ExtendedInternalMessageId.FailedToGetCookies, \"Failed to get cookies \");\r\n }\r\n arrForEach(mergedCookies, function (value) {\r\n // de-dupe the list, no value is necessary hence ''\r\n if (!uniqueCookies.hasOwnProperty(value)) {\r\n uniqueCookies[value] = \"\";\r\n if (isDocumentObjectAvailable) {\r\n cookieValue = decodeURIComponent(document.cookie.replace(new RegExp(\"(?:(?:^|.*;)\\\\s*\" + encodeURIComponent(value).replace(/[\\-\\.\\+\\*]/g, \"\\\\$&\") +\r\n \"\\\\s*\\\\=\\\\s*([^;]*).*$)|^.*$\"), \"$1\"));\r\n if (cookieValue !== \"\") {\r\n cookies += value + \"=\" + cookieValue + \";\";\r\n }\r\n }\r\n }\r\n });\r\n }\r\n catch (e) {\r\n traceLogger.throwInternal(LoggingSeverity.CRITICAL, _ExtendedInternalMessageId.FailedToGetCookies, \"Failed to get cookies \");\r\n }\r\n return cookies;\r\n}\r\n/**\r\n *\r\n* Get click target\r\n* @returns Click target URI\r\n*/\r\nexport function _getClickTarget(element) {\r\n var clickTarget = \"\";\r\n switch (element.tagName) {\r\n case \"A\":\r\n case \"AREA\":\r\n clickTarget = element.href || \"\";\r\n break;\r\n case \"IMG\":\r\n clickTarget = _getImageHref(element);\r\n break;\r\n case \"INPUT\":\r\n var type = element.type;\r\n if (type && (clickCaptureInputTypes[type.toUpperCase()])) {\r\n var loc = getLocation() || {};\r\n if (element.form) {\r\n clickTarget = element.form.action || (loc.pathname || \"\");\r\n }\r\n else {\r\n clickTarget = loc.pathname || \"\";\r\n }\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n return clickTarget;\r\n}\r\n/**\r\n *\r\n* Execute callback when DOM finish loading\r\n*/\r\nexport function onDomLoaded(callback) {\r\n onDomReadyDo(function () {\r\n if (isDocumentObjectAvailable && document.readyState === \"complete\") {\r\n callback();\r\n }\r\n else {\r\n var win = getWindow();\r\n if (win) {\r\n if (win.addEventListener) {\r\n win.addEventListener(\"load\", function () {\r\n callback();\r\n }); // NB **not** 'onload'\r\n }\r\n else if (win.attachEvent) {\r\n win.attachEvent(\"onload\", function () {\r\n callback();\r\n }); // IE8\r\n }\r\n }\r\n }\r\n });\r\n}\r\n// use smallest domready ever for IE8. When IE8 is deprecated, use addEventListener('DomContentLoaded')\r\nfunction onDomReadyDo(f) {\r\n /// fires function f on domRead \r\n /// function to call on domRead\r\n var doc = getDocument() || {};\r\n /in/.test(doc.readyState) ? setTimeout(function () { onDomReadyDo(f); }, 100) : f.call();\r\n}\r\n//# sourceMappingURL=DataCollector.js.map","/*\n * 1DS JS SDK Web Analytics plugin, 3.1.6\n * Copyright (c) Microsoft and contributors. All rights reserved.\n * (Microsoft Internal Only)\n */\n/**\r\n* Constants.ts\r\n* @author Ram Thiru (ramthi) and Hector Hernandez(hectorh)\r\n* @copyright Microsoft 2018\r\n*/\r\nexport var COMMON_SCHEMA_VER = \"2.1\";\r\nexport var MSCONTENT_PARTB_VERSION = \"1.0\";\r\nexport var CONTENT_VERSION = \"2.0\";\r\nexport var MAX_CONTENTNAME_LENGTH = 200;\r\nexport var IS_SENSITIVE_FLAG = 0x080000;\r\nexport var APPID_PREFIX = \"JS:\";\r\n//# sourceMappingURL=Constants.js.map","/*\n * 1DS JS SDK Web Analytics plugin, 3.1.6\n * Copyright (c) Microsoft and contributors. All rights reserved.\n * (Microsoft Internal Only)\n */\n/**\r\n* Enums.ts\r\n* @author Ram Thiru (ramthi) and Hector Hernandez (hectorh)\r\n* Copyright (c) Microsoft and contributors. All rights reserved.\r\n*/\r\n// Behavior enum values\r\nexport var Behavior;\r\n(function (Behavior) {\r\n Behavior[Behavior[\"UNDEFINED\"] = 0] = \"UNDEFINED\";\r\n ///////////////////////////////////////////////////////////////////////////////////////////////////\r\n // Page Experience [1-19]\r\n ///////////////////////////////////////////////////////////////////////////////////////////////////\r\n Behavior[Behavior[\"NAVIGATIONBACK\"] = 1] = \"NAVIGATIONBACK\";\r\n Behavior[Behavior[\"NAVIGATION\"] = 2] = \"NAVIGATION\";\r\n Behavior[Behavior[\"NAVIGATIONFORWARD\"] = 3] = \"NAVIGATIONFORWARD\";\r\n Behavior[Behavior[\"APPLY\"] = 4] = \"APPLY\";\r\n Behavior[Behavior[\"REMOVE\"] = 5] = \"REMOVE\";\r\n Behavior[Behavior[\"SORT\"] = 6] = \"SORT\";\r\n Behavior[Behavior[\"EXPAND\"] = 7] = \"EXPAND\";\r\n Behavior[Behavior[\"REDUCE\"] = 8] = \"REDUCE\";\r\n Behavior[Behavior[\"CONTEXTMENU\"] = 9] = \"CONTEXTMENU\";\r\n Behavior[Behavior[\"TAB\"] = 10] = \"TAB\";\r\n Behavior[Behavior[\"COPY\"] = 11] = \"COPY\";\r\n Behavior[Behavior[\"EXPERIMENTATION\"] = 12] = \"EXPERIMENTATION\";\r\n Behavior[Behavior[\"PRINT\"] = 13] = \"PRINT\";\r\n Behavior[Behavior[\"SHOW\"] = 14] = \"SHOW\";\r\n Behavior[Behavior[\"HIDE\"] = 15] = \"HIDE\";\r\n Behavior[Behavior[\"MAXIMIZE\"] = 16] = \"MAXIMIZE\";\r\n Behavior[Behavior[\"MINIMIZE\"] = 17] = \"MINIMIZE\";\r\n Behavior[Behavior[\"BACKBUTTON\"] = 18] = \"BACKBUTTON\";\r\n ///////////////////////////////////////////////////////////////////////////////////////////////////\r\n // Scenario Process [20-39]\r\n ///////////////////////////////////////////////////////////////////////////////////////////////////\r\n Behavior[Behavior[\"STARTPROCESS\"] = 20] = \"STARTPROCESS\";\r\n Behavior[Behavior[\"PROCESSCHECKPOINT\"] = 21] = \"PROCESSCHECKPOINT\";\r\n Behavior[Behavior[\"COMPLETEPROCESS\"] = 22] = \"COMPLETEPROCESS\";\r\n Behavior[Behavior[\"SCENARIOCANCEL\"] = 23] = \"SCENARIOCANCEL\";\r\n ///////////////////////////////////////////////////////////////////////////////////////////////////\r\n // Download [40-59]\r\n ///////////////////////////////////////////////////////////////////////////////////////////////////\r\n Behavior[Behavior[\"DOWNLOADCOMMIT\"] = 40] = \"DOWNLOADCOMMIT\";\r\n Behavior[Behavior[\"DOWNLOAD\"] = 41] = \"DOWNLOAD\";\r\n ///////////////////////////////////////////////////////////////////////////////////////////////////\r\n // Search [60-79]\r\n ///////////////////////////////////////////////////////////////////////////////////////////////////\r\n Behavior[Behavior[\"SEARCHAUTOCOMPLETE\"] = 60] = \"SEARCHAUTOCOMPLETE\";\r\n Behavior[Behavior[\"SEARCH\"] = 61] = \"SEARCH\";\r\n Behavior[Behavior[\"SEARCHINITIATE\"] = 62] = \"SEARCHINITIATE\";\r\n Behavior[Behavior[\"TEXTBOXINPUT\"] = 63] = \"TEXTBOXINPUT\";\r\n ///////////////////////////////////////////////////////////////////////////////////////////////////\r\n // Commerce [80-99]\r\n ///////////////////////////////////////////////////////////////////////////////////////////////////\r\n Behavior[Behavior[\"PURCHASE\"] = 80] = \"PURCHASE\";\r\n Behavior[Behavior[\"ADDTOCART\"] = 81] = \"ADDTOCART\";\r\n Behavior[Behavior[\"VIEWCART\"] = 82] = \"VIEWCART\";\r\n Behavior[Behavior[\"ADDWISHLIST\"] = 83] = \"ADDWISHLIST\";\r\n Behavior[Behavior[\"FINDSTORE\"] = 84] = \"FINDSTORE\";\r\n Behavior[Behavior[\"CHECKOUT\"] = 85] = \"CHECKOUT\";\r\n Behavior[Behavior[\"REMOVEFROMCART\"] = 86] = \"REMOVEFROMCART\";\r\n Behavior[Behavior[\"PURCHASECOMPLETE\"] = 87] = \"PURCHASECOMPLETE\";\r\n Behavior[Behavior[\"VIEWCHECKOUTPAGE\"] = 88] = \"VIEWCHECKOUTPAGE\";\r\n Behavior[Behavior[\"VIEWCARTPAGE\"] = 89] = \"VIEWCARTPAGE\";\r\n Behavior[Behavior[\"VIEWPDP\"] = 90] = \"VIEWPDP\";\r\n Behavior[Behavior[\"UPDATEITEMQUANTITY\"] = 91] = \"UPDATEITEMQUANTITY\";\r\n Behavior[Behavior[\"INTENTTOBUY\"] = 92] = \"INTENTTOBUY\";\r\n Behavior[Behavior[\"PUSHTOINSTALL\"] = 93] = \"PUSHTOINSTALL\";\r\n ///////////////////////////////////////////////////////////////////////////////////////////////////\r\n // Authentication [100-119]\r\n ///////////////////////////////////////////////////////////////////////////////////////////////////\r\n Behavior[Behavior[\"SIGNIN\"] = 100] = \"SIGNIN\";\r\n Behavior[Behavior[\"SIGNOUT\"] = 101] = \"SIGNOUT\";\r\n ///////////////////////////////////////////////////////////////////////////////////////////////////\r\n // Social [120-139]\r\n ///////////////////////////////////////////////////////////////////////////////////////////////////\r\n Behavior[Behavior[\"SOCIALSHARE\"] = 120] = \"SOCIALSHARE\";\r\n Behavior[Behavior[\"SOCIALLIKE\"] = 121] = \"SOCIALLIKE\";\r\n Behavior[Behavior[\"SOCIALREPLY\"] = 122] = \"SOCIALREPLY\";\r\n Behavior[Behavior[\"CALL\"] = 123] = \"CALL\";\r\n Behavior[Behavior[\"EMAIL\"] = 124] = \"EMAIL\";\r\n Behavior[Behavior[\"COMMUNITY\"] = 125] = \"COMMUNITY\";\r\n Behavior[Behavior[\"SOCIALFOLLOW\"] = 126] = \"SOCIALFOLLOW\";\r\n ///////////////////////////////////////////////////////////////////////////////////////////////////\r\n // Feedback [140-159]\r\n ///////////////////////////////////////////////////////////////////////////////////////////////////\r\n Behavior[Behavior[\"VOTE\"] = 140] = \"VOTE\";\r\n Behavior[Behavior[\"SURVEYINITIATE\"] = 141] = \"SURVEYINITIATE\";\r\n Behavior[Behavior[\"SURVEYCOMPLETE\"] = 142] = \"SURVEYCOMPLETE\";\r\n Behavior[Behavior[\"REPORTAPPLICATION\"] = 143] = \"REPORTAPPLICATION\";\r\n Behavior[Behavior[\"REPORTREVIEW\"] = 144] = \"REPORTREVIEW\";\r\n Behavior[Behavior[\"SURVEYCHECKPOINT\"] = 145] = \"SURVEYCHECKPOINT\";\r\n ///////////////////////////////////////////////////////////////////////////////////////////////////\r\n // Registration, Contact [160-179]\r\n ///////////////////////////////////////////////////////////////////////////////////////////////////\r\n Behavior[Behavior[\"CONTACT\"] = 160] = \"CONTACT\";\r\n Behavior[Behavior[\"REGISTRATIONINITIATE\"] = 161] = \"REGISTRATIONINITIATE\";\r\n Behavior[Behavior[\"REGISTRATIONCOMPLETE\"] = 162] = \"REGISTRATIONCOMPLETE\";\r\n Behavior[Behavior[\"CANCELSUBSCRIPTION\"] = 163] = \"CANCELSUBSCRIPTION\";\r\n Behavior[Behavior[\"RENEWSUBSCRIPTION\"] = 164] = \"RENEWSUBSCRIPTION\";\r\n Behavior[Behavior[\"CHANGESUBSCRIPTION\"] = 165] = \"CHANGESUBSCRIPTION\";\r\n Behavior[Behavior[\"REGISTRATIONCHECKPOINT\"] = 166] = \"REGISTRATIONCHECKPOINT\";\r\n ///////////////////////////////////////////////////////////////////////////////////////////////////\r\n // Chat [180-199]\r\n ///////////////////////////////////////////////////////////////////////////////////////////////////\r\n Behavior[Behavior[\"CHATINITIATE\"] = 180] = \"CHATINITIATE\";\r\n Behavior[Behavior[\"CHATEND\"] = 181] = \"CHATEND\";\r\n ///////////////////////////////////////////////////////////////////////////////////////////////////\r\n // Trial [200-209]\r\n ///////////////////////////////////////////////////////////////////////////////////////////////////\r\n Behavior[Behavior[\"TRIALSIGNUP\"] = 200] = \"TRIALSIGNUP\";\r\n Behavior[Behavior[\"TRIALINITIATE\"] = 201] = \"TRIALINITIATE\";\r\n ///////////////////////////////////////////////////////////////////////////////////////////////////\r\n // Signup [210-219]\r\n ///////////////////////////////////////////////////////////////////////////////////////////////////\r\n Behavior[Behavior[\"SIGNUP\"] = 210] = \"SIGNUP\";\r\n Behavior[Behavior[\"FREESIGNUP\"] = 211] = \"FREESIGNUP\";\r\n ///////////////////////////////////////////////////////////////////////////////////////////////////\r\n // Referals [220-229]\r\n ///////////////////////////////////////////////////////////////////////////////////////////////////\r\n Behavior[Behavior[\"PARTNERREFERRAL\"] = 220] = \"PARTNERREFERRAL\";\r\n ///////////////////////////////////////////////////////////////////////////////////////////////////\r\n // Intents [230-239]\r\n ///////////////////////////////////////////////////////////////////////////////////////////////////\r\n Behavior[Behavior[\"LEARNLOWFUNNEL\"] = 230] = \"LEARNLOWFUNNEL\";\r\n Behavior[Behavior[\"LEARNHIGHFUNNEL\"] = 231] = \"LEARNHIGHFUNNEL\";\r\n Behavior[Behavior[\"SHOPPINGINTENT\"] = 232] = \"SHOPPINGINTENT\";\r\n ///////////////////////////////////////////////////////////////////////////////////////////////////\r\n // Video [240-259]\r\n ///////////////////////////////////////////////////////////////////////////////////////////////////\r\n Behavior[Behavior[\"VIDEOSTART\"] = 240] = \"VIDEOSTART\";\r\n Behavior[Behavior[\"VIDEOPAUSE\"] = 241] = \"VIDEOPAUSE\";\r\n Behavior[Behavior[\"VIDEOCONTINUE\"] = 242] = \"VIDEOCONTINUE\";\r\n Behavior[Behavior[\"VIDEOCHECKPOINT\"] = 243] = \"VIDEOCHECKPOINT\";\r\n Behavior[Behavior[\"VIDEOJUMP\"] = 244] = \"VIDEOJUMP\";\r\n Behavior[Behavior[\"VIDEOCOMPLETE\"] = 245] = \"VIDEOCOMPLETE\";\r\n Behavior[Behavior[\"VIDEOBUFFERING\"] = 246] = \"VIDEOBUFFERING\";\r\n Behavior[Behavior[\"VIDEOERROR\"] = 247] = \"VIDEOERROR\";\r\n Behavior[Behavior[\"VIDEOMUTE\"] = 248] = \"VIDEOMUTE\";\r\n Behavior[Behavior[\"VIDEOUNMUTE\"] = 249] = \"VIDEOUNMUTE\";\r\n Behavior[Behavior[\"VIDEOFULLSCREEN\"] = 250] = \"VIDEOFULLSCREEN\";\r\n Behavior[Behavior[\"VIDEOUNFULLSCREEN\"] = 251] = \"VIDEOUNFULLSCREEN\";\r\n Behavior[Behavior[\"VIDEOREPLAY\"] = 252] = \"VIDEOREPLAY\";\r\n Behavior[Behavior[\"VIDEOPLAYERLOAD\"] = 253] = \"VIDEOPLAYERLOAD\";\r\n Behavior[Behavior[\"VIDEOPLAYERCLICK\"] = 254] = \"VIDEOPLAYERCLICK\";\r\n Behavior[Behavior[\"VIDEOVOLUMECONTROL\"] = 255] = \"VIDEOVOLUMECONTROL\";\r\n Behavior[Behavior[\"VIDEOAUDIOTRACKCONTROL\"] = 256] = \"VIDEOAUDIOTRACKCONTROL\";\r\n Behavior[Behavior[\"VIDEOCLOSEDCAPTIONCONTROL\"] = 257] = \"VIDEOCLOSEDCAPTIONCONTROL\";\r\n Behavior[Behavior[\"VIDEOCLOSEDCAPTIONSTYLE\"] = 258] = \"VIDEOCLOSEDCAPTIONSTYLE\";\r\n Behavior[Behavior[\"VIDEORESOLUTIONCONTROL\"] = 259] = \"VIDEORESOLUTIONCONTROL\";\r\n ///////////////////////////////////////////////////////////////////////////////////////////////////\r\n // Virtual Event [260-279]\r\n ///////////////////////////////////////////////////////////////////////////////////////////////////\r\n Behavior[Behavior[\"VIRTUALEVENTJOIN\"] = 260] = \"VIRTUALEVENTJOIN\";\r\n Behavior[Behavior[\"VIRTUALEVENTEND\"] = 261] = \"VIRTUALEVENTEND\";\r\n Behavior[Behavior[\"JOINTEAMSMEETINGEVENT\"] = 262] = \"JOINTEAMSMEETINGEVENT\";\r\n ///////////////////////////////////////////////////////////////////////////////////////////////////\r\n // \tAdvertisement Engagement [280-299]\r\n ///////////////////////////////////////////////////////////////////////////////////////////////////\r\n Behavior[Behavior[\"IMPRESSION\"] = 280] = \"IMPRESSION\";\r\n Behavior[Behavior[\"CLICK\"] = 281] = \"CLICK\";\r\n Behavior[Behavior[\"RICHMEDIACOMPLETE\"] = 282] = \"RICHMEDIACOMPLETE\";\r\n Behavior[Behavior[\"ADBUFFERING\"] = 283] = \"ADBUFFERING\";\r\n Behavior[Behavior[\"ADERROR\"] = 284] = \"ADERROR\";\r\n Behavior[Behavior[\"ADSTART\"] = 285] = \"ADSTART\";\r\n Behavior[Behavior[\"ADCOMPLETE\"] = 286] = \"ADCOMPLETE\";\r\n Behavior[Behavior[\"ADSKIP\"] = 287] = \"ADSKIP\";\r\n Behavior[Behavior[\"ADTIMEOUT\"] = 288] = \"ADTIMEOUT\";\r\n Behavior[Behavior[\"OTHER\"] = 300] = \"OTHER\"; // Other\r\n})(Behavior || (Behavior = {}));\r\n//# sourceMappingURL=Behaviors.js.map","/*\n * 1DS JS SDK Web Analytics plugin, 3.1.6\n * Copyright (c) Microsoft and contributors. All rights reserved.\n * (Microsoft Internal Only)\n */\n/**\r\n* DomContentHandler.ts\r\n* @author Ram Thiru (ramthi) and Hector Hernandez (hectorh)\r\n* @copyright Microsoft 2018\r\n*/\r\nimport { _returnDomObjectIfjQuery, _bracketIt, _findClosestByAttribute, _removeInvalidElements, _walkUpDomChainWithElementValidation, _isElementDnt, _isElementTrulyVisible, _getViewportBoundingRect, _getViewportDimensions, } from \"../common/Utils\";\r\nimport { EventType } from \"../Enums\";\r\nimport * as DataCollector from \"../DataCollector\";\r\nimport { MAX_CONTENTNAME_LENGTH } from \"../common/Constants\";\r\nimport { extend, isDocumentObjectAvailable, LoggingSeverity, _ExtendedInternalMessageId, getDocument } from \"@microsoft/1ds-core-js\";\r\nexport var _contentBlobFieldNameObjects = {\r\n longNames: {\r\n isShortNames: false,\r\n id: \"data-bi-id\",\r\n areaName: \"data-bi-area\",\r\n slotNumber: \"data-bi-slot\",\r\n contentName: \"data-bi-name\",\r\n contentSource: \"data-bi-source\",\r\n templateName: \"data-bi-view\",\r\n productId: \"data-bi-product\",\r\n contentType: \"data-bi-type\",\r\n parentId: \"data-bi-parentid\",\r\n parentName: \"data-bi-parentname\"\r\n },\r\n shortNames: {\r\n isShortNames: true,\r\n id: \"data-bi-id\",\r\n areaName: \"data-bi-an\",\r\n slotNumber: \"data-bi-sn\",\r\n contentName: \"data-bi-cn\",\r\n contentSource: \"data-bi-cs\",\r\n templateName: \"data-bi-tn\",\r\n productId: \"data-bi-pid\",\r\n contentType: \"data-bi-ct\",\r\n parentId: \"data-bi-pi\",\r\n parentName: \"data-bi-pn\"\r\n }\r\n};\r\nexport var _keyName = {\r\n longKeys: {\r\n parentId: \"parentId\",\r\n parentName: \"parentName\"\r\n },\r\n shortKeys: {\r\n parentId: \"pI\",\r\n parentName: \"pN\"\r\n }\r\n};\r\nvar DomContentHandler = /** @class */ (function () {\r\n /**\r\n * @param config - WebAnalytics configuration object\r\n * @param traceLogger - Trace logger to log to console.\r\n */\r\n function DomContentHandler(_config, _traceLogger) {\r\n this._config = _config;\r\n this._traceLogger = _traceLogger;\r\n this._contentBlobFieldNames = null;\r\n this._contentBlobFieldNames = this._config.useShortNameForContentBlob === true ?\r\n _contentBlobFieldNameObjects.shortNames : _contentBlobFieldNameObjects.longNames;\r\n }\r\n /**\r\n * Collect metatags from DOM.\r\n * Collect data from meta tags. Assign specific field values\r\n * in the event object.Return an object that is a kvp of awa- and ms.tags.\r\n * @returns {object} - Metatags collection/property bag\r\n */\r\n DomContentHandler.prototype.getMetadata = function () {\r\n var msTags = {};\r\n var awaTags = {};\r\n if (isDocumentObjectAvailable) {\r\n // Collect the awa-* tags.\r\n awaTags = this._getMetaDataFromDOM(\"awa-\", true);\r\n if (this._config.autoCapture && this._config.autoCapture.msTags) {\r\n // Collect the legacy ms.* tags and append them to the metaTags.\r\n msTags = this._getMetaDataFromDOM(\"ms.\", false);\r\n }\r\n }\r\n return extend(true, awaTags, msTags);\r\n };\r\n DomContentHandler.prototype.getVisibleContent = function () {\r\n /// takes an array of elements and only pushes the visible ones to arrayOfContents \r\n /// the list of elements \r\n /// the array to push in \r\n var viewportDim = _getViewportDimensions();\r\n var viewportBoundingRect = _getViewportBoundingRect(viewportDim);\r\n // Select all elements that have data-bi-area/aN, data-bi-slot/sN or data-m (biAttributeName) defined in the viewPort.\r\n var elements = null;\r\n if (isDocumentObjectAvailable) {\r\n elements = document.querySelectorAll(_bracketIt(this._contentBlobFieldNames.areaName) + \",\" +\r\n _bracketIt(this._contentBlobFieldNames.slotNumber) + \",\" +\r\n _bracketIt(this._config.biBlobAttributeTag));\r\n }\r\n var arrayOfContents = [];\r\n if (elements) {\r\n for (var i = 0; i < elements.length; i++) {\r\n // DNT = Do Not Track\r\n var element = elements[i];\r\n if (!_isElementDnt(element)) {\r\n if (_isElementTrulyVisible(element, viewportBoundingRect)) {\r\n var elementContent = this.getElementContent(element, EventType.CONTENT_UPDATE);\r\n if (elementContent) {\r\n arrayOfContents.push(elementContent);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return arrayOfContents;\r\n };\r\n /**\r\n * Collect data-bi attributes for the given element.\r\n * All attributes with data-bi prefix are collected. 'data-bi' prefix is removed from the key name.\r\n * @param element - The element from which attributes need to be collected.\r\n * @returns String representation of the Json array of element attributes\r\n */\r\n DomContentHandler.prototype.getElementContent = function (element, eventType) {\r\n if (!element) {\r\n return {};\r\n }\r\n var elementContent = {};\r\n var biBlobElement;\r\n var biBlobValue;\r\n var contentElement;\r\n // element has no tags - look for the closest upper element with tags\r\n if (!this._isTracked(element)) {\r\n // capture config.biBlobAttributeTag blob from element or hierarchy\r\n biBlobElement = _findClosestByAttribute(element, this._config.biBlobAttributeTag);\r\n if (biBlobElement) {\r\n biBlobValue = biBlobElement.getAttribute(this._config.biBlobAttributeTag);\r\n }\r\n if (biBlobValue) {\r\n try {\r\n elementContent = JSON.parse(biBlobValue);\r\n }\r\n catch (e) {\r\n this._traceLogger.throwInternal(LoggingSeverity.CRITICAL, _ExtendedInternalMessageId.CannotParseBiBlobValue, \"Can not parse \" + biBlobValue);\r\n }\r\n }\r\n else {\r\n // Get the element if it has any data-bi tag defined. If not traverse up the DOM to find the closest parent with data-bi tag defined\r\n contentElement = _walkUpDomChainWithElementValidation(element, this._isTrackedWithDataBi);\r\n elementContent = extend(elementContent, this._populateElementContentwithDataBi(contentElement, element));\r\n }\r\n }\r\n else if (this._isTrackedWithDataM(element)) {\r\n biBlobElement = element;\r\n biBlobValue = biBlobElement.getAttribute(this._config.biBlobAttributeTag);\r\n try {\r\n elementContent = JSON.parse(biBlobValue);\r\n }\r\n catch (e) {\r\n this._traceLogger.throwInternal(LoggingSeverity.CRITICAL, _ExtendedInternalMessageId.CannotParseBiBlobValue, \"Can not parse \" + biBlobValue);\r\n }\r\n }\r\n else if (this._isTrackedWithDataBi(element)) {\r\n // Get the element if it has any data-bi tag defined. If not traverse up the DOM to find the closest parent with data-bi tag defined\r\n contentElement = element;\r\n elementContent = extend(elementContent, this._populateElementContentwithDataBi(contentElement, element));\r\n }\r\n _removeInvalidElements(elementContent);\r\n if (this._config.autoCapture.lineage && eventType === EventType.PAGE_ACTION) {\r\n elementContent = extend(elementContent, this.getLineageDetails(element));\r\n }\r\n if (this._config.autoPopulateParentIdAndParentName) {\r\n elementContent = extend(elementContent, this._getParentDetails(biBlobElement ? biBlobElement : contentElement, elementContent));\r\n }\r\n return elementContent;\r\n };\r\n /**\r\n * Computes the lineage of a given element.\r\n * @param element - An html element\r\n * @returns An object containing the different forms of lineage/hierarchy on DOM tree starting with the current element.\r\n * example output: {'lineage':'GET OFFICE 365>coreui-hero-6zx3vxo-item-2>R1Hero 1>primaryR1 1>primaryArea 1',\r\n * 'lineageById':'n10m1r1a2>nn9m1r1a2>m1r1a2>r1a2>a2Body','containerName':'R1Hero 1'}\r\n */\r\n DomContentHandler.prototype.getLineageDetails = function (element) {\r\n var name = [];\r\n var identifier = [];\r\n var lineageDelimiter = \">\";\r\n var elementBiDataAttribute = this._config.biBlobAttributeTag; // data-m\r\n var elementModuleIdAttribute = \"data-module-id\";\r\n var containerName;\r\n var nameValue;\r\n var idValue;\r\n while (element) {\r\n var dataAttr = element.getAttribute(elementBiDataAttribute) || element[elementBiDataAttribute];\r\n var moduleIdAttribute = element.getAttribute(elementModuleIdAttribute) || element[elementModuleIdAttribute];\r\n if (dataAttr) {\r\n try {\r\n var telemetryObject = JSON.parse(dataAttr);\r\n }\r\n catch (e) {\r\n this._traceLogger.throwInternal(LoggingSeverity.CRITICAL, _ExtendedInternalMessageId.CannotParseDataAttribute, \"Can not parse \" + dataAttr);\r\n }\r\n if (telemetryObject) {\r\n nameValue = telemetryObject.cN || telemetryObject.cT;\r\n idValue = telemetryObject.id || undefined;\r\n if (nameValue || idValue) {\r\n name.push(nameValue);\r\n if (moduleIdAttribute) {\r\n // reporting treats cN of modules as containerName\r\n containerName = nameValue;\r\n }\r\n identifier.push(idValue);\r\n }\r\n }\r\n }\r\n else {\r\n nameValue = element.getAttribute(this._contentBlobFieldNames.contentName) || element.getAttribute(this._contentBlobFieldNames.contentType);\r\n idValue = element.getAttribute(this._contentBlobFieldNames.id) || undefined;\r\n if (nameValue || idValue) {\r\n name.push(nameValue);\r\n if (moduleIdAttribute) {\r\n containerName = nameValue;\r\n }\r\n identifier.push(idValue);\r\n }\r\n }\r\n element = element.parentElement;\r\n }\r\n var lineageDetails = {\r\n lineage: name.join(lineageDelimiter),\r\n lineageById: identifier.join(lineageDelimiter),\r\n lineageContainerName: containerName\r\n };\r\n return lineageDetails;\r\n };\r\n DomContentHandler.prototype._populateElementContentwithDataBi = function (contentElement, element) {\r\n var elementContent = {};\r\n if (!contentElement) {\r\n // None of the element and its parent has any tags, collect standard HTML attribute for contentName when useDefaultContentName flag is true\r\n if (this._config.useDefaultContentName) {\r\n contentElement = element;\r\n }\r\n else {\r\n return elementContent;\r\n }\r\n }\r\n // Get the closest element with attribute data-bi-area.\r\n var areaElement = _findClosestByAttribute(contentElement, this._contentBlobFieldNames.areaName);\r\n var areaContent = extend({}, this._getAreaContent(areaElement));\r\n var customizedContentName = this._config.callback.contentName ? this._config.callback.contentName(contentElement, this._config.useDefaultContentName) : \"\";\r\n //Default content name must be for original clicked element and not contentElement to align with JSLL implementation\r\n var defaultContentName = this._getDefaultContentName(element, this._config.useDefaultContentName);\r\n elementContent = {\r\n id: contentElement.getAttribute(this._contentBlobFieldNames.id) || contentElement.id || \"\",\r\n aN: areaContent.areaName,\r\n sN: contentElement.getAttribute(this._contentBlobFieldNames.slotNumber),\r\n cN: customizedContentName || contentElement.getAttribute(this._contentBlobFieldNames.contentName) || defaultContentName || contentElement.getAttribute(\"alt\") || \"\",\r\n cS: contentElement.getAttribute(this._contentBlobFieldNames.contentSource) || areaContent.contentSource,\r\n tN: areaContent.templateName,\r\n pid: contentElement.getAttribute(this._contentBlobFieldNames.productId),\r\n cT: contentElement.getAttribute(this._contentBlobFieldNames.contentType) || areaContent.type,\r\n pI: contentElement.getAttribute(this._contentBlobFieldNames.parentId),\r\n pN: contentElement.getAttribute(this._contentBlobFieldNames.parentName)\r\n };\r\n // Validate to ensure the minimum required field 'contentName/cN' is present.\r\n // The content schema defines id, aN and sN as required fields. However,\r\n /// requiring these fields would result in majority of adopter's content from being collected.\r\n // Just throw a warning and continue collection.\r\n if (!elementContent.id || !elementContent.aN || !elementContent.sN || !elementContent.cN) {\r\n this._traceLogger.throwInternal(LoggingSeverity.WARNING, _ExtendedInternalMessageId.InvalidContentBlob, \"Invalid content blob. Missing required attributes (id, aN/area, sN/slot), cN/contentName. \" +\r\n \" Content information will still be collected!\");\r\n }\r\n // use legacy fullNames for the content blob if configured so.\r\n if (!this._contentBlobFieldNames.isShortNames) {\r\n elementContent = {\r\n contentId: elementContent.id,\r\n areaName: elementContent.aN,\r\n slotNumber: elementContent.sN,\r\n contentName: elementContent.cN,\r\n contentSource: elementContent.cS,\r\n templateName: elementContent.tN,\r\n productId: elementContent.pid,\r\n contentType: elementContent.cT,\r\n parentId: elementContent.pI,\r\n parentName: elementContent.pN\r\n };\r\n }\r\n // Collect all other data-bi attributes and name them w/o the data-bi prefix.\r\n for (var i = 0, attrib; i < contentElement.attributes.length; i++) {\r\n attrib = contentElement.attributes[i];\r\n if (attrib.name === this._contentBlobFieldNames.id ||\r\n attrib.name === this._contentBlobFieldNames.areaName ||\r\n attrib.name === this._contentBlobFieldNames.slotNumber ||\r\n attrib.name === this._contentBlobFieldNames.contentName ||\r\n attrib.name === this._contentBlobFieldNames.contentSource ||\r\n attrib.name === this._contentBlobFieldNames.templateName ||\r\n attrib.name === this._contentBlobFieldNames.productId ||\r\n attrib.name === this._contentBlobFieldNames.contentType ||\r\n attrib.name === this._contentBlobFieldNames.parentId ||\r\n attrib.name === this._contentBlobFieldNames.parentName ||\r\n attrib.name.indexOf(\"data-bi-\") === -1) {\r\n continue;\r\n }\r\n var attribName = attrib.name.replace(\"data-bi-\", \"\");\r\n elementContent[attribName] = attrib.value;\r\n }\r\n return elementContent;\r\n };\r\n /**\r\n * Retrieve a specified metadata tag value from the DOM.\r\n * @param prefix - Prefix to search the metatags with.\r\n * @param removePrefix - Specifies if the prefix must be excluded from key names in the returned collection.\r\n * @returns Metadata collection/property bag\r\n */\r\n DomContentHandler.prototype._getMetaDataFromDOM = function (prefix, removePrefix) {\r\n var metaElements;\r\n var metaData = {};\r\n if (isDocumentObjectAvailable) {\r\n metaElements = document.querySelectorAll(\"meta\");\r\n for (var i = 0; i < metaElements.length; i++) {\r\n var meta = metaElements[i];\r\n if (meta.name) {\r\n var mt = meta.name.toLowerCase();\r\n if (mt.indexOf(prefix) === 0) {\r\n var name = removePrefix ? meta.name.replace(prefix, \"\") : meta.name;\r\n metaData[name] = meta.content;\r\n }\r\n }\r\n }\r\n }\r\n return metaData;\r\n };\r\n /**\r\n * extracts area content from element\r\n * @param areaElement An html element\r\n * @returns A JSON object representing the content.\r\n */\r\n DomContentHandler.prototype._getAreaContent = function (areaElement) {\r\n areaElement = _returnDomObjectIfjQuery(areaElement);\r\n if (areaElement) {\r\n return {\r\n areaName: areaElement.getAttribute(this._contentBlobFieldNames.areaName),\r\n templateName: areaElement.getAttribute(this._contentBlobFieldNames.templateName),\r\n contentSource: areaElement.getAttribute(this._contentBlobFieldNames.contentSource),\r\n product: areaElement.getAttribute(this._contentBlobFieldNames.productId),\r\n type: areaElement.getAttribute(this._contentBlobFieldNames.contentType)\r\n };\r\n }\r\n };\r\n /**\r\n * Gets the default content name.\r\n * @param element - An html element\r\n * @param useDefaultContentName -Flag indicating if an element is market PII.\r\n * @returns Content name\r\n */\r\n /*ignore jslint start*/\r\n DomContentHandler.prototype._getDefaultContentName = function (element, useDefaultContentName) {\r\n if (useDefaultContentName === false || DataCollector._isPii(element) || !element.tagName) {\r\n return \"\";\r\n }\r\n var doc = getDocument() || {};\r\n var contentName;\r\n switch (element.tagName) {\r\n case \"A\":\r\n contentName = doc.all ? element.innerText || element.innerHTML : element.text || element.innerHTML;\r\n break;\r\n case \"IMG\":\r\n case \"AREA\":\r\n contentName = element.alt;\r\n break;\r\n default:\r\n contentName = element.value || element.name || element.alt || element.innerText || element.id;\r\n }\r\n return contentName.substring(0, MAX_CONTENTNAME_LENGTH);\r\n };\r\n /*ignore jslint end*/\r\n /**\r\n * Computes the parentId and parentName of a given element.\r\n * @param element - An html element\r\n * @returns An object containing the closest parentId and parentName, can be empty if nothing was found\r\n */\r\n DomContentHandler.prototype._getParentDetails = function (element, elementContent) {\r\n var parentIdKey = this._contentBlobFieldNames.isShortNames ? _keyName.shortKeys.parentId : _keyName.longKeys.parentId;\r\n var parentNameKey = this._contentBlobFieldNames.isShortNames ? _keyName.shortKeys.parentName : _keyName.longKeys.parentName;\r\n var parentId = elementContent[parentIdKey];\r\n var parentName = elementContent[parentNameKey];\r\n var parentInfo = {};\r\n if (parentId || parentName || !element) {\r\n return parentInfo;\r\n }\r\n return this._populateParentInfo(element, parentIdKey, parentNameKey);\r\n };\r\n /**\r\n * Check if the user wants to track the element, which means if the element has any tags\r\n * @param element - An html element\r\n * @returns true if any data-bi- tag or data-m tag exist, otherwise return false\r\n */\r\n DomContentHandler.prototype._isTrackedWithDataM = function (element) {\r\n var attrs = element.attributes;\r\n for (var i = 0; i < attrs.length; i++) {\r\n if (attrs[i].name === \"data-m\") {\r\n return true;\r\n }\r\n }\r\n return false;\r\n };\r\n /**\r\n * Check if the user wants to track the element, which means if the element has any tags\r\n * @param element - An html element\r\n * @returns true if any data-bi- tag or data-m tag exist, otherwise return false\r\n */\r\n DomContentHandler.prototype._isTrackedWithDataBi = function (element) {\r\n var attrs = element.attributes;\r\n for (var i = 0; i < attrs.length; i++) {\r\n if (attrs[i].name.indexOf(\"data-bi-\") >= 0) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n };\r\n /**\r\n * Check if the user wants to track the element, which means if the element has any tags\r\n * @param element - An html element\r\n * @returns true if any data-bi- tag or data-m tag exist, otherwise return false\r\n */\r\n DomContentHandler.prototype._isTracked = function (element) {\r\n var attrs = element.attributes;\r\n for (var i = 0; i < attrs.length; i++) {\r\n if (attrs[i].name === \"data-m\" || attrs[i].name.indexOf(\"data-bi-\") >= 0) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n };\r\n /**\r\n * Check if parent info already set up, if so take and put into content, if not walk up the DOM to find correct info\r\n * @param element - An html element that the user wants to track\r\n * @returns n object containing the parent info, can be empty if nothing was found\r\n */\r\n DomContentHandler.prototype._populateParentInfo = function (element, parentIdKey, parentNameKey) {\r\n var parentInfo = {};\r\n var elementBiDataAttribute = this._config.biBlobAttributeTag; // data-m\r\n var parentId;\r\n var parentName;\r\n // if the user does not set up parent info, walk to the DOM, find the closest parent element (with tags) and populate the info\r\n var closestParentElement = _walkUpDomChainWithElementValidation(element.parentElement, this._isTracked);\r\n if (closestParentElement) {\r\n var dataAttr = closestParentElement.getAttribute(elementBiDataAttribute) || element[elementBiDataAttribute];\r\n if (dataAttr) {\r\n try {\r\n var telemetryObject = JSON.parse(dataAttr);\r\n }\r\n catch (e) {\r\n this._traceLogger.throwInternal(LoggingSeverity.CRITICAL, _ExtendedInternalMessageId.CannotParseDataAttribute, \"Can not parse \" + dataAttr);\r\n }\r\n if (telemetryObject) {\r\n parentId = telemetryObject.id;\r\n parentName = telemetryObject.cN;\r\n }\r\n }\r\n else {\r\n parentId = closestParentElement.getAttribute(this._contentBlobFieldNames.id);\r\n parentName = closestParentElement.getAttribute(this._contentBlobFieldNames.contentName);\r\n }\r\n if (parentId) {\r\n parentInfo[parentIdKey] = parentId;\r\n }\r\n if (parentName) {\r\n parentInfo[parentNameKey] = parentName;\r\n }\r\n }\r\n return parentInfo;\r\n };\r\n return DomContentHandler;\r\n}());\r\nexport { DomContentHandler };\r\n//# sourceMappingURL=DomContentHandler.js.map","/*\n * 1DS JS SDK Web Analytics plugin, 3.1.6\n * Copyright (c) Microsoft and contributors. All rights reserved.\n * (Microsoft Internal Only)\n */\n/**\r\n* AutoCaptureHandler.ts\r\n* @author Ram Thiru (ramthi) and Hector Hernandez (hectorh)\r\n* @copyright Microsoft 2018\r\n*/\r\nimport { _debounce, _getScrollOffset, _isRightClick, _isLeftClick, _isKeyboardEnter, _isKeyboardSpace, _isMiddleClick, } from \"../common/Utils\";\r\nimport { ActionType } from \"../Enums\";\r\nimport { onDomLoaded } from \"../DataCollector\";\r\nimport { addPageUnloadEventListener, getWindow, getDocument } from \"@microsoft/1ds-core-js\";\r\nvar clickCaptureInputTypes = { BUTTON: true, CHECKBOX: true, RADIO: true, RESET: true, SUBMIT: true };\r\nvar AutoCaptureHandler = /** @class */ (function () {\r\n /**\r\n * @param analyticsPlugin - WebAnalytics plugin\r\n * @param traceLogger - Trace logger to log to console.\r\n */\r\n function AutoCaptureHandler(_analyticsPlugin, _traceLogger) {\r\n this._analyticsPlugin = _analyticsPlugin;\r\n this._traceLogger = _traceLogger;\r\n }\r\n AutoCaptureHandler.prototype.pageView = function () {\r\n this._analyticsPlugin.capturePageView({ isAuto: true });\r\n };\r\n AutoCaptureHandler.prototype.onLoad = function () {\r\n var _this = this;\r\n onDomLoaded(function () {\r\n _this._analyticsPlugin.capturePageViewPerformance({ isAuto: true });\r\n _this._analyticsPlugin.captureContentUpdate({ isAuto: true, isDomComplete: true });\r\n });\r\n };\r\n // handle automatic event firing on user click\r\n AutoCaptureHandler.prototype.click = function () {\r\n var _this = this;\r\n var win = getWindow();\r\n var doc = getDocument();\r\n if (win && win.addEventListener) {\r\n // IE9 onwards addEventListener is available, 'click' event captures mouse click. mousedown works on other browsers\r\n var event = (navigator.appVersion.indexOf(\"MSIE\") !== -1) ? \"click\" : \"mousedown\";\r\n win.addEventListener(event, function (evt) { _this._processClick(evt); }, false);\r\n win.addEventListener(\"keyup\", function (evt) { _this._processClick(evt); }, false);\r\n }\r\n else if (doc && doc.attachEvent) {\r\n // IE8 and below doesn't have addEventListener so it will use attachEvent\r\n // attaching to window does not work in IE8\r\n doc.attachEvent(\"onclick\", function (evt) { _this._processClick(evt); });\r\n doc.attachEvent(\"keyup\", function (evt) { _this._processClick(evt); });\r\n }\r\n };\r\n // handle automatic event firing on user scroll\r\n AutoCaptureHandler.prototype.scroll = function (debounceConfig) {\r\n var _this = this;\r\n var processScroll = _debounce(\r\n // on first call do nothing\r\n null, \r\n // after debounce, send contentView with viewportOffset\r\n function () {\r\n _this._analyticsPlugin.captureContentUpdate({ isAuto: true, actionType: ActionType.SCROLL });\r\n }, debounceConfig.scroll, this);\r\n var win = getWindow();\r\n if (win) {\r\n if (win.addEventListener) {\r\n win.addEventListener(\"scroll\", processScroll);\r\n }\r\n else if (window.attachEvent) {\r\n window.attachEvent(\"onscroll\", processScroll);\r\n }\r\n }\r\n };\r\n // handle automatic event firing on user scroll\r\n AutoCaptureHandler.prototype.maxScroll = function (maxScroll) {\r\n var getMaxScrollDepth = function () {\r\n var currentScroll = _getScrollOffset();\r\n maxScroll.v = maxScroll.v > currentScroll.v ? maxScroll.v : currentScroll.v;\r\n };\r\n var win = getWindow();\r\n if (win) {\r\n if (win.addEventListener) {\r\n win.addEventListener(\"scroll\", getMaxScrollDepth);\r\n }\r\n else if (win.attachEvent) {\r\n win.attachEvent(\"onscroll\", getMaxScrollDepth);\r\n }\r\n }\r\n };\r\n // handle automatic event firing on user resize\r\n AutoCaptureHandler.prototype.resize = function (debounceConfig) {\r\n /// I wasn�t able to repro the bug\r\n /// (https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/7958464)\r\n /// until new content was loaded on the page and the resize\r\n /// rendering became slow. When resize happens, the page rendering\r\n /// time is longer than the resize debounce, and resize render\r\n /// happens in time > debounce, and so resize is acting like\r\n /// it's being done twice: once at the beginning of user resize,\r\n /// one at the end of browser render resize.\r\n var _this = this;\r\n var processResize = _debounce(\r\n // on first call, send resize contentUpdate\r\n function () {\r\n _this._analyticsPlugin.captureContentUpdate({ isAuto: true, actionType: ActionType.RESIZE });\r\n }, \r\n // after debounce, do nothing\r\n null, debounceConfig.resize, this);\r\n var win = getWindow();\r\n if (win) {\r\n if (win.addEventListener) {\r\n win.addEventListener(\"resize\", processResize);\r\n }\r\n else if (win.attachEvent) {\r\n win.attachEvent(\"onresize\", processResize);\r\n }\r\n }\r\n };\r\n AutoCaptureHandler.prototype.onUnload = function () {\r\n var _this = this;\r\n addPageUnloadEventListener(function () { _this._analyticsPlugin.capturePageUnload({ isAuto: true }); });\r\n };\r\n AutoCaptureHandler.prototype._processClick = function (clickEvent) {\r\n var clickCaptureElements = { A: true, BUTTON: true, AREA: true, INPUT: true };\r\n var win = getWindow();\r\n clickEvent = clickEvent || win.event; // IE 8 does not pass the event\r\n var element = clickEvent.srcElement || clickEvent.target;\r\n // populate overrideValues\r\n var overrideValues = {\r\n isAuto: true,\r\n clickCoordinateX: clickEvent.pageX,\r\n clickCoordinateY: clickEvent.pageY\r\n };\r\n var isRightClick = _isRightClick(clickEvent);\r\n if (isRightClick) {\r\n overrideValues.actionType = ActionType.CLICKRIGHT;\r\n }\r\n else if (_isLeftClick(clickEvent)) {\r\n overrideValues.actionType = ActionType.CLICKLEFT;\r\n }\r\n else if (_isKeyboardEnter(clickEvent)) {\r\n overrideValues.actionType = ActionType.KEYBOARDENTER;\r\n }\r\n else if (_isKeyboardSpace(clickEvent)) {\r\n overrideValues.actionType = ActionType.KEYBOARDSPACE;\r\n }\r\n else if (_isMiddleClick(clickEvent)) {\r\n overrideValues.actionType = ActionType.CLICKMIDDLE;\r\n }\r\n else {\r\n return;\r\n }\r\n while (element && element.tagName) {\r\n // control property will be available for