{"version":3,"sources":["../node_modules/react/index.js","../node_modules/office-ui-fabric-react/node_modules/tslib/tslib.es6.js","../node_modules/react-flexbox-grid/lib/index.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/styling/lib/utilities/buildClassMap.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/merge-styles/lib/fontFace.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/styling/lib/utilities/icons.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/merge-styles/lib/keyframes.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/styling/lib/styles/AnimationStyles.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/styling/lib/styles/DefaultPalette.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/styling/lib/styles/fonts.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/styling/lib/styles/DefaultEffects.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/utilities/lib/language.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/styling/lib/styles/DefaultFontStyles.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/utilities/lib/localStorage.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/styling/lib/styles/CommonStyles.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/styling/lib/styles/zIndexes.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/styling/lib/styles/getFocusStyle.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/styling/lib/styles/hiddenContentStyle.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/styling/lib/styles/PulsingBeaconAnimationStyles.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/styling/lib/styles/getGlobalClassNames.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/utilities/lib/merge.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/styling/lib/styles/DefaultSpacing.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/styling/lib/styles/theme.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/styling/lib/classNames/AnimationClassNames.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/styling/lib/classNames/ColorClassNames.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/styling/lib/classNames/FontClassNames.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/styling/lib/version.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/styling/lib/index.js","../node_modules/office-ui-fabric-react/lib/components/Image/Image.types.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/utilities/lib/dom/getWindow.js","../node_modules/office-ui-fabric-react/lib/common/DirectionalHint.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/utilities/lib/KeyCodes.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/merge-styles/lib/Stylesheet.js","../node_modules/axios/lib/utils.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/utilities/lib/dom/getDocument.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/utilities/lib/customizations/Customizations.js","../node_modules/office-ui-fabric-react/lib/components/Icon/Icon.styles.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/merge-styles/lib/getVendorSettings.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/merge-styles/lib/transforms/kebabRules.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/merge-styles/lib/transforms/prefixRules.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/merge-styles/lib/transforms/provideUnits.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/merge-styles/lib/transforms/rtlifyRules.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/merge-styles/lib/styleToClassName.js","../node_modules/axios/index.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/merge-styles/lib/StyleOptionsState.js","../node_modules/@babel/runtime/regenerator/index.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/utilities/lib/customizations/CustomizerContext.js","../node_modules/react-dom/index.js","../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/utilities/lib/dom/getParent.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/utilities/lib/dom/getVirtualParent.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/utilities/lib/dom/isVirtualElement.js","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/utilities/lib/hoist.js","../node_modules/office-ui-fabric-react/lib/utilities/decorators/withResponsiveMode.js","../node_modules/office-ui-fabric-react/lib/utilities/decorators/BaseDecorator.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/utilities/lib/setFocusVisibility.js","../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/merge-styles/lib/concatStyleSets.js","../node_modules/prop-types/index.js","../node_modules/object-assign/index.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/utilities/lib/warn/warn.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/utilities/lib/getId.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/merge-styles/lib/extractStyleParts.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/utilities/lib/dom/setSSR.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/utilities/lib/object.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/utilities/lib/dom/findElementRecursive.js","../node_modules/office-ui-fabric-react/lib/components/Button/BaseButton.styles.js","../node_modules/office-ui-fabric-react/lib/components/Button/SplitButton/SplitButton.styles.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/utilities/lib/dom/portalContainsElement.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/utilities/lib/aria.js","../node_modules/office-ui-fabric-react/lib/components/ContextualMenu/ContextualMenu.types.js","../node_modules/office-ui-fabric-react/lib/components/Icon/ImageIcon.js","../node_modules/office-ui-fabric-react/lib/components/FocusZone/FocusZone.types.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/utilities/lib/dom/raiseClick.js","../node_modules/office-ui-fabric-react/lib/components/FocusZone/FocusZone.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/utilities/lib/osDetector.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/utilities/lib/mobileDetector.js","../node_modules/office-ui-fabric-react/lib/utilities/contextualMenu/contextualMenuUtility.js","../node_modules/office-ui-fabric-react/lib/utilities/positioning/positioning.types.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/utilities/lib/Rectangle.js","../node_modules/office-ui-fabric-react/lib/utilities/positioning/positioning.js","../node_modules/office-ui-fabric-react/lib/components/Callout/CalloutContent.base.js","../node_modules/office-ui-fabric-react/lib/components/Callout/CalloutContent.styles.js","../node_modules/office-ui-fabric-react/lib/components/Callout/CalloutContent.js","../node_modules/office-ui-fabric-react/lib/components/Callout/Callout.js","../node_modules/office-ui-fabric-react/lib/components/ContextualMenu/ContextualMenuItem.base.js","../node_modules/office-ui-fabric-react/lib/components/Divider/VerticalDivider.classNames.js","../node_modules/office-ui-fabric-react/lib/components/ContextualMenu/ContextualMenu.cnstyles.js","../node_modules/office-ui-fabric-react/lib/components/ContextualMenu/ContextualMenu.classNames.js","../node_modules/office-ui-fabric-react/lib/components/ContextualMenu/ContextualMenuItem.js","../node_modules/office-ui-fabric-react/lib/components/ContextualMenu/ContextualMenuItemWrapper/ContextualMenuItemWrapper.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/utilities/lib/array.js","../node_modules/office-ui-fabric-react/lib/utilities/keytips/KeytipConstants.js","../node_modules/office-ui-fabric-react/lib/utilities/keytips/KeytipManager.js","../node_modules/office-ui-fabric-react/lib/utilities/keytips/KeytipUtils.js","../node_modules/office-ui-fabric-react/lib/components/KeytipData/KeytipData.js","../node_modules/office-ui-fabric-react/lib/components/ContextualMenu/ContextualMenuItemWrapper/ContextualMenuAnchor.js","../node_modules/office-ui-fabric-react/lib/components/ContextualMenu/ContextualMenuItemWrapper/ContextualMenuButton.js","../node_modules/office-ui-fabric-react/lib/components/Divider/VerticalDivider.base.js","../node_modules/office-ui-fabric-react/lib/components/Divider/VerticalDivider.js","../node_modules/office-ui-fabric-react/lib/components/Divider/VerticalDivider.styles.js","../node_modules/office-ui-fabric-react/lib/components/ContextualMenu/ContextualMenuItemWrapper/ContextualMenuSplitButton.js","../node_modules/office-ui-fabric-react/lib/components/ContextualMenu/ContextualMenu.base.js","../node_modules/office-ui-fabric-react/lib/components/ContextualMenu/ContextualMenu.js","../node_modules/office-ui-fabric-react/lib/components/ContextualMenu/ContextualMenu.styles.js","../node_modules/office-ui-fabric-react/lib/components/Button/BaseButton.classNames.js","../node_modules/office-ui-fabric-react/lib/components/Button/SplitButton/SplitButton.classNames.js","../node_modules/office-ui-fabric-react/lib/components/Button/BaseButton.js","../node_modules/office-ui-fabric-react/lib/components/Image/Image.base.js","../node_modules/office-ui-fabric-react/lib/components/Image/Image.styles.js","../node_modules/office-ui-fabric-react/lib/components/Image/Image.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/set-version/lib/setVersion.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/set-version/lib/index.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/utilities/lib/memoize.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/utilities/lib/properties.js","../node_modules/react-flexbox-grid/lib/classNames.js","../node_modules/react-flexbox-grid/lib/createProps.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/utilities/lib/customizations/mergeSettings.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/utilities/lib/Async.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/utilities/lib/dom/setPortalAttribute.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/utilities/lib/dom/on.js","../node_modules/react-flexbox-grid/lib/types.js","../node_modules/axios/lib/helpers/bind.js","../node_modules/axios/lib/helpers/buildURL.js","../node_modules/axios/lib/cancel/isCancel.js","../node_modules/axios/lib/defaults.js","../node_modules/axios/lib/adapters/xhr.js","../node_modules/axios/lib/core/createError.js","../node_modules/axios/lib/core/mergeConfig.js","../node_modules/axios/lib/cancel/Cancel.js","../node_modules/webpack/buildin/global.js","../node_modules/react-iframe/dist/es/iframe.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/utilities/lib/GlobalSettings.js","../node_modules/office-ui-fabric-react/node_modules/@microsoft/load-themed-styles/lib-es6/index.js","../node_modules/office-ui-fabric-react/lib/components/Icon/FontIcon.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/utilities/lib/dom/elementContains.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/utilities/lib/keyboard.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/utilities/lib/EventGroup.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/utilities/lib/hoistStatics.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/utilities/lib/rtl.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/utilities/lib/sessionStorage.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/scheduler/index.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/regenerator-runtime/runtime.js","../node_modules/react-flexbox-grid/lib/components/Row.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/react-flexbox-grid/lib/components/Col.js","../node_modules/react-flexbox-grid/lib/components/Grid.js","../node_modules/axios/lib/axios.js","../node_modules/axios/lib/core/Axios.js","../node_modules/axios/lib/core/InterceptorManager.js","../node_modules/axios/lib/core/dispatchRequest.js","../node_modules/axios/lib/core/transformData.js","../node_modules/process/browser.js","../node_modules/axios/lib/helpers/normalizeHeaderName.js","../node_modules/axios/lib/core/settle.js","../node_modules/axios/lib/core/enhanceError.js","../node_modules/axios/lib/core/buildFullPath.js","../node_modules/axios/lib/helpers/isAbsoluteURL.js","../node_modules/axios/lib/helpers/combineURLs.js","../node_modules/axios/lib/helpers/parseHeaders.js","../node_modules/axios/lib/helpers/isURLSameOrigin.js","../node_modules/axios/lib/helpers/cookies.js","../node_modules/axios/lib/cancel/CancelToken.js","../node_modules/axios/lib/helpers/spread.js","../node_modules/ip/lib/ip.js","../node_modules/buffer/index.js","../node_modules/base64-js/index.js","../node_modules/ieee754/index.js","../node_modules/isarray/index.js","../node_modules/os-browserify/browser.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/merge-styles/lib/mergeStyleSets.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/merge-styles/lib/mergeStyles.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/merge-styles/lib/concatStyleSetsWithProps.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/utilities/lib/css.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/utilities/lib/focus.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/utilities/lib/dom/elementContainsAttribute.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/utilities/lib/styled.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/utilities/lib/classNamesFunction.js","../node_modules/office-ui-fabric-react/lib/components/Popup/Popup.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/utilities/lib/scroll.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/utilities/lib/customizations/customizable.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/icons/lib/fabric-icons.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/icons/lib/fabric-icons-0.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/icons/lib/fabric-icons-1.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/icons/lib/fabric-icons-2.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/icons/lib/fabric-icons-3.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/icons/lib/fabric-icons-4.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/icons/lib/fabric-icons-5.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/icons/lib/fabric-icons-6.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/icons/lib/fabric-icons-7.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/icons/lib/fabric-icons-8.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/icons/lib/fabric-icons-9.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/icons/lib/fabric-icons-10.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/icons/lib/fabric-icons-11.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/icons/lib/fabric-icons-12.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/icons/lib/fabric-icons-13.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/icons/lib/fabric-icons-14.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/icons/lib/fabric-icons-15.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/icons/lib/fabric-icons-16.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/icons/lib/fabric-icons-17.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/icons/lib/iconAliases.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/icons/lib/version.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/icons/lib/index.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/utilities/lib/customizations/Customizer.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/utilities/lib/customizations/mergeCustomizations.js","../node_modules/office-ui-fabric-react/lib/components/Fabric/Fabric.styles.js","../node_modules/office-ui-fabric-react/lib/components/Fabric/Fabric.base.js","../node_modules/office-ui-fabric-react/lib/components/Fabric/Fabric.js","../node_modules/office-ui-fabric-react/lib/components/Layer/Layer.notification.js","../node_modules/office-ui-fabric-react/lib/components/Layer/Layer.base.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/utilities/lib/dom/setVirtualParent.js","../node_modules/office-ui-fabric-react/lib/components/Layer/Layer.styles.js","../node_modules/office-ui-fabric-react/lib/components/Layer/Layer.js","../node_modules/office-ui-fabric-react/lib/components/FocusTrapZone/FocusTrapZone.js","../node_modules/office-ui-fabric-react/lib/components/Modal/Modal.styles.js","../node_modules/office-ui-fabric-react/lib/components/Overlay/Overlay.base.js","../node_modules/office-ui-fabric-react/lib/components/Overlay/Overlay.styles.js","../node_modules/office-ui-fabric-react/lib/components/Overlay/Overlay.js","../node_modules/office-ui-fabric-react/lib/utilities/DraggableZone/DraggableZone.styles.js","../node_modules/office-ui-fabric-react/lib/utilities/DraggableZone/DraggableZone.js","../node_modules/office-ui-fabric-react/lib/components/Modal/Modal.base.js","../node_modules/office-ui-fabric-react/lib/components/Modal/Modal.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/utilities/lib/initializeFocusRects.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/utilities/lib/BaseComponent.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/utilities/lib/initializeDir.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/utilities/lib/appendFunction.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/utilities/lib/initializeComponentRef.js","../node_modules/office-ui-fabric-react/node_modules/@uifabric/utilities/lib/extendComponent.js","../node_modules/office-ui-fabric-react/lib/components/Button/ButtonThemes.js","../node_modules/office-ui-fabric-react/lib/components/Button/DefaultButton/DefaultButton.styles.js","../node_modules/office-ui-fabric-react/lib/components/Button/DefaultButton/DefaultButton.js","../node_modules/office-ui-fabric-react/lib/components/Label/Label.base.js","../node_modules/office-ui-fabric-react/lib/components/Label/Label.js","../node_modules/office-ui-fabric-react/lib/components/Label/Label.styles.js","../node_modules/office-ui-fabric-react/lib/components/Icon/Icon.types.js","../node_modules/office-ui-fabric-react/lib/components/Icon/Icon.base.js","../node_modules/office-ui-fabric-react/lib/components/Icon/Icon.js","../node_modules/office-ui-fabric-react/lib/components/Button/IconButton/IconButton.styles.js","../node_modules/office-ui-fabric-react/lib/components/Button/IconButton/IconButton.js"],"names":["module","exports","_extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__extends","__","this","constructor","prototype","create","_assign","assign","t","s","i","n","arguments","length","call","apply","__rest","e","indexOf","getOwnPropertySymbols","propertyIsEnumerable","__decorate","decorators","target","key","desc","c","r","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","__spreadArrays","il","k","a","j","jl","value","getColumnProps","Col","getRowProps","Row","Grid","undefined","_Row2","enumerable","get","_Col2","_Grid3","_interopRequireDefault","_Row3","_Col3","obj","__esModule","default","buildClassMap","styles","classes","_loop_1","styleName","className_1","mergeStyles","toString","configurable","fontFace","font","Stylesheet","getInstance","insertRule","_iconSettings","GlobalSettings","getValue","__options","disableWarnings","warnOnMissingIcons","__remapped","onReset","name_1","subset","className","normalizeIconName","name","toLowerCase","registerIcons","iconSubset","options","isRegistered","icons","iconName","code","normalizedIconName","_warnDuplicateIcon","registerIconAlias","mappedToName","getIcon","icon","style","fontFamily","fontWeight","fontStyle","warn","_missingIcons","_missingIconsTimer","push","setTimeout","slice","join","keyframes","timeline","stylesheet","getClassName","rulesArray","prop","rules","cacheClassName","EASING_FUNCTION_1","EASING_FUNCTION_2","FADE_IN","from","opacity","to","FADE_OUT","visibility","SLIDE_RIGHT_IN10","_createSlideInX","SLIDE_RIGHT_IN20","SLIDE_RIGHT_IN40","SLIDE_RIGHT_IN400","SLIDE_LEFT_IN10","SLIDE_LEFT_IN20","SLIDE_LEFT_IN40","SLIDE_LEFT_IN400","SLIDE_UP_IN10","_createSlideInY","SLIDE_UP_IN20","SLIDE_DOWN_IN10","SLIDE_DOWN_IN20","SLIDE_RIGHT_OUT10","_createSlideOutX","SLIDE_RIGHT_OUT20","SLIDE_RIGHT_OUT40","SLIDE_RIGHT_OUT400","SLIDE_LEFT_OUT10","SLIDE_LEFT_OUT20","SLIDE_LEFT_OUT40","SLIDE_LEFT_OUT400","SLIDE_UP_OUT10","_createSlideOutY","SLIDE_UP_OUT20","SLIDE_DOWN_OUT10","SLIDE_DOWN_OUT20","SCALE_UP100","transform","SCALE_DOWN98","SCALE_DOWN100","SCALE_UP103","ROTATE90","ROTATE_N90","AnimationVariables","easeFunction1","easeFunction2","durationValue1","durationValue2","durationValue3","durationValue4","AnimationStyles","slideRightIn10","_createAnimation","slideRightIn20","slideRightIn40","slideRightIn400","slideLeftIn10","slideLeftIn20","slideLeftIn40","slideLeftIn400","slideUpIn10","slideUpIn20","slideDownIn10","slideDownIn20","slideRightOut10","slideRightOut20","slideRightOut40","slideRightOut400","slideLeftOut10","slideLeftOut20","slideLeftOut40","slideLeftOut400","slideUpOut10","slideUpOut20","slideDownOut10","slideDownOut20","scaleUpIn100","scaleDownIn100","scaleUpOut103","scaleDownOut98","fadeIn100","fadeIn200","fadeIn400","fadeIn500","fadeOut100","fadeOut200","fadeOut400","fadeOut500","rotate90deg","rotateN90deg","animationName","animationDuration","animationTimingFunction","animationFillMode","fromX","fromY","toX","toY","LocalizedFontNames","LocalizedFontFamilies","DefaultPalette","themeDarker","themeDark","themeDarkAlt","themePrimary","themeSecondary","themeTertiary","themeLight","themeLighter","themeLighterAlt","black","blackTranslucent40","neutralDark","neutralPrimary","neutralPrimaryAlt","neutralSecondary","neutralSecondaryAlt","neutralTertiary","neutralTertiaryAlt","neutralQuaternary","neutralQuaternaryAlt","neutralLight","neutralLighter","neutralLighterAlt","accent","white","whiteTranslucent40","yellowDark","yellow","yellowLight","orange","orangeLight","orangeLighter","redDark","red","magentaDark","magenta","magentaLight","purpleDark","purple","purpleLight","blueDark","blueMid","blue","blueLight","tealDark","teal","tealLight","greenDark","green","greenLight","DefaultEffects","elevation4","elevation8","elevation16","elevation64","roundedCorner2","FontFamilyFallbacks","Arabic","Cyrillic","EastEuropean","Greek","Hebrew","Thai","Vietnamese","WestEuropean","Selawik","Armenian","Georgian","ChineseSimplified","ChineseTraditional","Hindi","Japanese","Korean","FontSizes","FontWeights","IconFontSizes","defaultFontFamily","LanguageToFontMap","ar","bg","cs","el","et","he","hi","hr","hu","ja","kk","ko","lt","lv","pl","ru","sk","th","tr","uk","vi","hy","ka","_createFont","size","weight","MozOsxFontSmoothing","WebkitFontSmoothing","fontSize","mini","xSmall","small","smallPlus","medium","mediumPlus","large","xLarge","xLargePlus","xxLarge","xxLargePlus","superLarge","mega","light","semilight","regular","semibold","bold","_language","DefaultBaseUrl","DefaultFontStyles","localeCode","fontFamilyWithFallback","language","lang","_getLocalizedFontFamily","tiny","createFontStyles","doc","getDocument","savedLanguage","result","win","getWindow","localStorage","getItem","documentElement","getAttribute","getLanguage","_registerFontFace","url","localFontName","src","fontDisplay","_registerFontFaceSet","baseUrl","cdnFolder","cdnFontName","urlBase","fontUrl","registerDefaultFontFaces","fabricConfig","fontBaseUrl","_getFontBaseUrl","HighContrastSelector","getScreenSelector","min","max","ZIndexes","getFocusStyle","theme","insetOrOptions","position","highContrastStyle","borderColor","outlineColor","isFocusedOnly","_getFocusStyleInternal","inset","_a","_b","_c","_d","width","_e","_f","palette","_g","_h","outline","selectors","border","content","left","top","bottom","right","zIndex","FocusStyle","focusClear","Nav","ScrollablePane","Coachmark","Layer","KeytipLayer","hiddenContentStyle","height","margin","padding","overflow","_getGlobalClassNames","memoize","classNames","disableGlobalClassNames","styleSheet","keys","reduce","acc","getGlobalClassNames","merge","args","_i","args_1","_merge","source","circularReferences","isCircularReference","pop","DefaultSpacing","s2","s1","m","l1","l2","_theme","createTheme","semanticColors","_makeSemanticColorsFromPalette","fonts","isInverted","ThemeSettingName","Customizations","getSettings","applySettings","depComments","newPalette","newSemanticColors","defaultFontStyles","defaultFontStyle","rtl","spacing","effects","dep","listTextColor","listText","menuItemBackgroundChecked","_fixDeprecatedSlots","bodyBackground","bodyBackgroundHovered","bodyBackgroundChecked","bodyStandoutBackground","bodyFrameBackground","bodyFrameDivider","bodyText","bodyTextChecked","bodySubtext","bodyDivider","disabledBodyText","disabledBodySubtext","disabledBorder","focusBorder","variantBorder","variantBorderHovered","defaultStateBackground","actionLink","actionLinkHovered","link","linkHovered","buttonBackground","buttonBackgroundChecked","buttonBackgroundHovered","buttonBackgroundCheckedHovered","buttonBackgroundPressed","buttonBackgroundDisabled","buttonBorder","buttonText","buttonTextHovered","buttonTextChecked","buttonTextCheckedHovered","buttonTextPressed","buttonTextDisabled","buttonBorderDisabled","primaryButtonBackground","primaryButtonBackgroundHovered","primaryButtonBackgroundPressed","primaryButtonBackgroundDisabled","primaryButtonBorder","primaryButtonText","primaryButtonTextHovered","primaryButtonTextPressed","primaryButtonTextDisabled","accentButtonBackground","accentButtonText","inputBorder","inputBorderHovered","inputBackground","inputBackgroundChecked","inputBackgroundCheckedHovered","inputPlaceholderBackgroundChecked","inputForegroundChecked","inputIcon","inputIconHovered","inputIconDisabled","inputFocusBorderAlt","smallInputBorder","inputText","inputTextHovered","inputPlaceholderText","disabledBackground","disabledText","disabledSubtext","listBackground","listItemBackgroundHovered","listItemBackgroundChecked","listItemBackgroundCheckedHovered","listHeaderBackgroundHovered","listHeaderBackgroundPressed","menuBackground","menuDivider","menuIcon","menuHeader","menuItemBackgroundHovered","menuItemBackgroundPressed","menuItemText","menuItemTextHovered","errorText","warningText","successText","errorBackground","blockingBackground","warningBackground","warningHighlight","successBackground","AnimationClassNames","ColorClassNames","_defineGetter","colorName","suffix","isHover","cssProperty","ScreenWidthMinLarge","ImageFit","ImageCoverStyle","ImageLoadState","_window","window","rootElement","ownerDocument","defaultView","DirectionalHint","topLeftEdge","topCenter","topRightEdge","topAutoEdge","bottomLeftEdge","bottomCenter","bottomRightEdge","bottomAutoEdge","leftTopEdge","leftCenter","leftBottomEdge","rightTopEdge","rightCenter","rightBottomEdge","KeyCodes","backspace","tab","enter","shift","ctrl","alt","pauseBreak","capslock","escape","space","pageUp","pageDown","end","home","up","down","insert","del","zero","one","two","three","four","five","six","seven","eight","nine","f","g","h","l","o","q","u","v","w","x","y","z","leftWindow","rightWindow","select","zero_numpad","one_numpad","two_numpad","three_numpad","four_numpad","five_numpad","six_numpad","seven_numpad","eight_numpad","nine_numpad","multiply","add","subtract","decimalPoint","divide","f1","f2","f3","f4","f5","f6","f7","f8","f9","f10","f11","f12","numlock","scrollLock","semicolon","equalSign","comma","dash","period","forwardSlash","graveAccent","openBracket","backSlash","closeBracket","singleQuote","_stylesheet","InjectionMode","none","insertNode","appendChild","REUSE_STYLE_NODE","navigator","test","userAgent","_global","config","_rules","_preservedRules","_rulesToInsert","_counter","_keyToClassName","_onResetCallbacks","_classNameToArgs","_config","injectionMode","defaultPrefix","namespace","cspSettings","_lastStyleElement","document","setConfig","callback","displayName","classNameFromKey","argsFromClassName","entry","insertedRulesFromClassName","rule","preserve","element","_getStyleElement","sheet","cssRules","createTextNode","onInsertRule","getRules","includePreservedRules","reset","forEach","resetKeys","_this","_styleElement","_createStyleElement","requestAnimationFrame","head","styleElement","createElement","setAttribute","nonce","insertBefore","nextElementSibling","placeholderStyleTag","_findPlaceholderStyleTag","childNodes","querySelector","bind","isArray","val","isUndefined","isObject","isFunction","fn","isArrayBuffer","isBuffer","isFormData","FormData","isArrayBufferView","ArrayBuffer","isView","buffer","isString","isNumber","isDate","isFile","isBlob","isStream","pipe","isURLSearchParams","URLSearchParams","isStandardBrowserEnv","product","assignValue","deepMerge","extend","thisArg","trim","str","replace","NO_CUSTOMIZATIONS","settings","scopedSettings","inCustomizerContext","_allSettings","_events","_raiseChange","applyScopedSettings","scopeName","properties","localSettings","localScopedSettings","globalScopedSettings","properties_1","property","applyBatchedUpdates","suppressUpdate","_suppressUpdates","observe","onChange","unobserve","filter","cb","root","display","placeholder","image","MS_ICON","getStyles","props","iconClassName","isPlaceholder","isImage","imageContainer","_vendorSettings","kebabRules","rulePairs","index","autoPrefixNames","prefixRules","vendorSettings","nav","isWebkit","isMoz","isOpera","isMs","getVendorSettings","NON_PIXEL_NUMBER_PROPS","provideUnits","unit","LEFT","RIGHT","NO_FLIP","NAME_REPLACEMENTS","VALUE_REPLACEMENTS","rtlifyRules","String","parts","split","flipQuad","partIndex","numberVal","parseInt","negateNum","DISPLAY_NAME","globalSelectorRegExp","expandCommaSeparatedGlobals","selectorWithGlobals","replacementInfo","findGlobal","match","exec","map","reverse","selector","matchIndex","matchEndIndex","replacement","expandSelector","newSelector","currentSelector","expandQuads","currentRules","serializeRuleEntries","ruleEntries","allEntries","splice","styleToRegistration","extractRules","__order","arg","expandedRules","selectorValue_1","separatedSelector","serialized","hasProps","rulesForSelector","propName","getKeyForRules","registration","rootStyle","getDisplayName","rulesToInsert","applyRegistration","processedRule","styleToClassName","setRTL","isRTL","_rtl","getRTL","getStyleOptions","CustomizerContext","customizations","checkDCE","__REACT_DEVTOOLS_GLOBAL_HOOK__","err","console","error","_classCallCheck","instance","Constructor","TypeError","_defineProperties","descriptor","writable","_createClass","protoProps","staticProps","_getPrototypeOf","getPrototypeOf","getParent","child","allowVirtualParents","parent","_virtual","getVirtualParent","parentNode","_typeof2","Symbol","iterator","_typeof","_possibleConstructorReturn","self","ReferenceError","_setPrototypeOf","_inherits","subClass","superClass","REACT_LIFECYCLE_EXCLUSIONS","ResponsiveMode","_super","BaseDecorator","_skipComponentRefResolution","_updateComposedComponentRef","composedComponentInstance","_composedComponentInstance","_hoisted","destination","exclusions","hoisted","methodName","hoistMethods","_defaultMode","_lastMode","RESPONSIVE_MAX_CONSTRAINT","withResponsiveMode","ComposedComponent","resultClass","WithResponsiveMode","_onResize","responsiveMode","_getResponsiveMode","state","setState","componentDidMount","on","componentWillUnmount","dispose","render","unknown","ref","innerWidth","Error","hoistStatics","IsFocusVisibleClassName","IsFocusHiddenClassName","setFocusVisibility","enabled","classList","body","remove","asyncGeneratorStep","gen","resolve","reject","_next","_throw","info","done","Promise","then","_asyncToGenerator","concatStyleSets","styleSets","subComponentStyles","mergedSet","workingSubcomponentStyles","styleSets_1","currentSet","currentComponentStyles","subCompProp","mergedValue","currentValue","mergedSubStyles","workingSet_1","styleProps","styleFunctionOrObject","propIsEnumerable","toObject","test1","getOwnPropertyNames","test2","fromCharCode","test3","letter","shouldUseNative","symbols","message","CURRENT_ID_PROPERTY","DEFAULT_ID_STRING","getId","prefix","resetIds","counter","extractStyleParts","objects","_processArgs","argsList","argsList_1","translatedArgs","_isSSR","checkProperties","shallowCompare","filteredAssign","concat","isAllowed","sourceObject","findElementRecursive","matchFunction","noOutline","iconStyle","lineHeight","textAlign","verticalAlign","flexShrink","buttonHighContrastFocus","boxSizing","userSelect","textDecoration","cursor","borderRadius","rootDisabled","backgroundColor","color","pointerEvents","iconDisabled","menuIconDisabled","flexContainer","flexWrap","justifyContent","alignItems","description","textContainer","flexGrow","label","screenReaderText","customStyles","_j","_k","splitButtonDividerBaseStyles","splitButtonStyles","splitButtonContainer","borderTopRightRadius","borderBottomRightRadius","borderRight","MsHighContrastAdjust","splitButtonContainerHovered","splitButtonContainerChecked","splitButtonContainerCheckedHovered","splitButtonContainerFocused","splitButtonMenuButton","borderLeft","marginLeft","marginTop","marginRight","marginBottom","splitButtonDivider","splitButtonDividerDisabled","splitButtonMenuButtonDisabled","splitButtonFlexContainer","splitButtonContainerDisabled","portalContainsElement","elementMatch","testElement","hasAttribute","mergeAriaAttributeValues","ariaAttributes","mergedAttribute","ContextualMenuItemType","imageProps","nativeProps","containerProps","role","css","Image","FocusZoneDirection","FocusZoneTabbableElements","all","inputOnly","raiseClick","event","eventName","Event","createEvent","initEvent","createNewEvent","dispatchEvent","focusZoneStyles","NO_VERTICAL_WRAP","NO_HORIZONTAL_WRAP","LARGE_DISTANCE_FROM_CENTER","LARGE_NEGATIVE_DISTANCE_FROM_CENTER","focusZoneClass","_disposeGlobalKeyDownListener","isMacResult","_allInstances","_outerZones","Set","ALLOWED_INPUT_TYPES","ALLOW_VIRTUAL_ELEMENTS","FocusZone","_disposables","_root","_onFocus","ev","_portalContainsElement","newActiveElement","onActiveElementChanged","doNotAllowFocusEventToPropagate","onFocusNotification","isImmediateDescendant","_isImmediateDescendantOfZone","parentElement","current","initialElementFocused","_activeElement","_setFocusAlignment","_updateTabIndexes","stopPropagation","_onBlur","_setParkedFocus","_onKeyDownCapture","which","zone","_onMouseDown","disabled","path","_setActiveElement","_onKeyDown","direction","isInnerZoneKeystroke","onKeyDown","isDefaultPrevented","_getDocument","activeElement","_isInnerZone","innerZone","_getFirstInnerZone","focus","focusElement","firstChild","altKey","_tryInvokeClickForFocusable","vertical","_moveFocusLeft","_moveFocusRight","horizontal","_moveFocusUp","_moveFocusDown","_moveFocusPaging","allowTabKey","handleTabKey","_isElementInput","focusChanged","_processingTabKey","_shouldWrapFocus","shiftKey","_shouldInputLoseFocus","lastChild","preventDefault","_getHorizontalDistanceFromCenter","isForward","activeRect","targetRect","leftAlignment","_focusAlignment","targetRectTop","Math","floor","activeRectBottom","targetRectBottom","activeRectTop","abs","initializeComponentRef","_id","getOuterZones","windowElement","nodeType","defaultActiveElement","componentDidUpdate","_lastIndexPath","elementToFocus","delete","rootProps","ariaDescribedBy","ariaLabelledBy","divProps","Tag","as","elementType","_evaluateFocusBeforeRender","onFocus","onMouseDownCapture","children","forceIntoFirstElement","ownerZoneElement","_getOwnerZone","ownerZone","elementContains","onBeforeFocus","setFocusAlignment","point","focusedElement","shouldRestoreFocus","isParked","_isParked","allowFocusRoot","_parkedTabIndex","removeAttribute","forceAlignment","previousActiveElement","tabIndex","tagName","firstElementChild","_moveFocus","getDistanceFromCenter","useDefaultWrap","candidateDistance","candidateElement","changedFocus","isBidirectional","bidirectional","getBoundingClientRect","elementDistance","isCircularNavigation","lastElementChild","targetTop","distance","shouldWrap","parseFloat","toFixed","scrollableParent","targetBottom","pagesize","clientHeight","isHorizontal","isVertical","rect","top_1","_defaultFocusElement","childIndex","type","selectionStart","isRangeSelected","selectionEnd","inputValue","isReadonly","readOnly","shouldInputLoseFocusOnArrowKey","noWrapDataAttribute","checkForNoWrap","defaultProps","isMac","isIOS","getIsChecked","item","canCheck","isChecked","checked","hasSubmenu","subMenuProps","items","isItemDisabled","isDisabled","getMenuItemAriaRole","RectangleEdge","Position","Rectangle","equals","_createPositionData","targetEdge","alignmentEdge","isAuto","DirectionalDictionary","_isRectangleWithinBounds","boundingRect","_getOutOfBoundsEdges","outOfBounds","_getEdgeValue","edge","_setEdgeValue","_getCenterValue","edges","_getFlankingEdges","positiveEdge","negativeEdge","_getRelativeEdgeValue","_getRelativeRectEdgeValue","_getRelativeEdgeDifference","hostRect","_moveEdge","newValue","difference","_alignEdges","gap","_isEdgeInBounds","bounds","_adjustFitWithinBounds","bounding","positionData","directionalHintFixed","coverTarget","alignTargetEdge","elementEstimate","elementRectangle","directions","currentEstimate","currentEdge","currentAlignment","_estimatePosition","_flipToFit","flippedElementEstimate","oppositeEdge","_flipAlignmentEdge","_alignOutOfBoundsEdges","outOfBoundsEdges","outOfBoundsEdges_1","_centerEdgeToPoint","elementToPosition","estimatedElementPosition","elementEdge","adjustedGap","_alignOppositeEdges","_finalizeReturnEdge","returnEdge","_calculateActualBeakWidthInPixels","beakWidth","sqrt","_getPositionData","directionalHint","directionalHintForRTL","previousPositions","positionInformation","getClosestEdge","targetCenter","boundingCenter","_positionElementWithinBounds","_finalizeBeakPosition","elementPosition","positionedBeak","actualElement","returnValue","closestEdge","_positionBeak","targetRectangle","beakTargetPoint","elementBounds","beakPosition","_getRectangleFromElement","clientRect","_getRectangleFromIRect","_getMaxHeightFromTargetRectangle","gapSpace","maxHeight","_positionElementRelative","clientX","clientY","outOfBounds_1","_getTargetRect","_getAlignmentData","positionedElement","_finalizePositionData","hostElement","doNotFinalizeReturnEdge","elementEdgeString","_finalizeElementPosition","_positionCallout","callout","isBeakVisible","positionProps","innerHeight","finalizedBeakPosition","positionCard","_positionCard","ANIMATIONS","classNamesFunction","disableCaching","BEAK_ORIGIN_POSITION","OFF_SCREEN_STYLE","ARIA_ROLE_ATTRIBUTES","CalloutContentBase","_hostElement","_calloutElement","_hasListeners","dismiss","onDismiss","_dismissOnScroll","preventDismissOnScroll","positions","_dismissOnClickOrScroll","_dismissOnResize","preventDismissOnResize","_dismissOnLostFocus","preventDismissOnLostFocus","_setInitialFocus","setInitialFocus","_didSetInitialFocus","_async","_onComponentDidMount","_addListeners","onLayerMounted","_updateAsyncPosition","_setHeightOffsetEveryFrame","_mouseDownOnPopup","_isMouseDownOnPopup","_mouseUpOnPopup","Async","slideDirectionalClassName","calloutElementRect","heightOffset","_positionAttempts","hidden","_removeListeners","shouldComponentUpdate","newProps","newState","shouldUpdateWhenHidden","UNSAFE_componentWillMount","_setTargetWindowAndElement","_getTarget","UNSAFE_componentWillUpdate","newTarget","_blockResetHeight","_maxHeight","finalHeight","_didPositionPropsChange","_bounds","_targetWindow","ariaLabel","calloutWidth","calloutMaxWidth","hideOverflow","calloutMaxHeight","onScroll","getContentMaxHeight","_getMaxHeight","contentMaxHeight","overflowYHidden","beakVisible","_classNames","overflowStyle","overflowY","visibilityStyle","container","beak","_getBeakPosition","beakCurtain","Popup","calloutMain","onMouseDown","onMouseUp","isEventTargetOutsideCallout","_target","_updatePosition","beakPostionStyle","calloutElement","expectsTarget","currentProps","_getBounds","newPositions","positionCallout","_arePositionsEqual","onPositioned","currentBounds","minPagePadding","totalGap_1","mouseTarget","elementTarget","pointTarget","boundingRectangle","getMaxHeight","forceUpdate","newPosition","_comparePositions","oldPositions","oldPositionEdge","newPositionEdge","currentElement","currentDoc","targetElement","_setHeightOffsetTimer","calloutMainElem","scrollDiff","scrollHeight","offsetHeight","cancelAnimationFrame","oldProps","getBeakStyle","GlobalClassNames","CalloutContent","styled","boxShadow","borderWidth","borderStyle","maxWidth","overflowX","scope","Callout","layerProps","rest","doNotLayer","ContextualMenuItemBase","openSubMenu","getSubmenuTarget","submenuTarget","dismissSubMenu","dismissMenu","dismissAll","linkContentMenu","linkContent","onCheckmarkClick","isItemChecked","Icon","checkmarkIcon","onClick","hasIcons","iconProps","onRenderIcon","text","secondaryText","submenuIconProps","subMenuIcon","BaseComponent","wrapper","divider","MediumScreenSelector","getItemHighContrastStyles","getMenuItemStyles","ContextualMenuItemBackgroundHoverColor","ContextualMenuItemTextHoverColor","ContextualMenuItemBackgroundSelectedColor","ContextualMenuItemDividerColor","menuItemStyles","rootHovered","rootFocused","rootChecked","rootPressed","rootExpanded","whiteSpace","anchorLink","textRendering","letterSpacing","wordSpacing","textTransform","textIndent","textShadow","textOverflow","paddingLeft","minHeight","iconColor","getSplitButtonVerticalDividerClassNames","isExpanded","splitMenu","expanded","isAnchorLink","knownIcon","itemClassName","dividerClassName","subMenuClassName","primaryDisabled","background","splitPrimary","flexBasis","minWidth","splitContainer","getItemStyles","ContextualMenuItem","ContextualMenuItemWrapper","_onItemMouseEnter","onItemMouseEnter","currentTarget","_onItemClick","onItemClickBase","_onItemMouseLeave","onItemMouseLeave","_onItemKeyDown","onItemKeyDown","_onItemMouseMove","onItemMouseMove","_getSubMenuId","getSubMenuId","_getSubmenuTarget","findIndex","array","KeytipEvents","KTP_PREFIX","KTP_SEPARATOR","KTP_LAYER_ID","KEYTIP_ADDED","KEYTIP_REMOVED","KEYTIP_UPDATED","PERSISTED_KEYTIP_ADDED","PERSISTED_KEYTIP_REMOVED","PERSISTED_KEYTIP_EXECUTE","ENTER_KEYTIP_MODE","EXIT_KEYTIP_MODE","KeytipManager","keytips","persistedKeytips","inKeytipMode","shouldEnterKeytipMode","_instance","register","keytipProps","persisted","addParentOverflow","uniqueKeytip","_getUniqueKtp","EventGroup","raise","keytip","uniqueID","update","newKeytipProps","keytipIndex","ktp","visible","newElement","copy","replaceElement","unregister","keytipToRemove","uniqueKtp","enterKeytipMode","exitKeytipMode","getKeytips","fullSequence","keySequences","parentKeytip","find","array1","array2","arraysEqual","overflowSetSequence","menuExecute","overflowButtonSequences","keytipSequences","sequencesToID","prevValue","keySequence","KeytipData","_keytipManager","_uniqueId","_getKtpProps","prevProps","nativeKeytipProps","_getKtpAttrs","describedByPrepend","describedby","getAriaDescribedBy","overflowKeySequences","overflowSequenceLen","overflowSequence","itemToAdd","addElementAtIndex","mergeOverflows","ktpId","ContextualMenuAnchor","_anchor","_getMemoizedMenuButtonKeytipProps","hasMenu","onItemClick","focusableElementIndex","totalItemCount","hasCheckmarks","contextualMenuItemAs","ChildrenRenderer","expandedMenuItemKey","anchorRel","rel","subMenuId","itemHasSubmenu","itemProps","keytipAttributes","href","onMouseEnter","onMouseLeave","onMouseMove","componentRef","ContextualMenuButton","_btn","onItemMouseDown","defaultRole","buttonNativeProperties","itemButtonProperties","title","VerticalDivider","deprecatedGetClassNames","getClassNames","names","ContextualMenuSplitButton","_executeItemClick","_splitButton","_onItemMouseEnterPrimary","_onItemMouseEnterIcon","_onItemMouseMovePrimary","_onItemMouseMoveIcon","_onIconItemClick","executeItemClick","_processingTouch","_onTouchStart","_handleTouchAndPointerEvent","_onPointerDown","pointerType","stopImmediatePropagation","splitButton","ariaDescription","onTouchStart","_renderSplitPrimaryButton","_renderSplitDivider","_renderSplitIconButton","itemComponentProps","getDividerClassNames","buttonProps","onTap","_lastTouchTimeoutId","clearTimeout","getContextualMenuItemClassNames","getSubmenuItems","LocalContextualMenu","NavigationIdleDelay","ContextualMenuBase","_mounted","_onRenderMenuList","menuListProps","defaultRender","indexCorrection","list","onKeyUp","_onKeyUp","menuItem","_renderMenuItem","itemType","Divider","Header","indexIncrease","customOnRenderListLength","_lastKeyDownWasAltOrMeta","_isAltOrMeta","dismissAllMenus","_keyHandler","_shouldHandleKeyDown","_shouldCloseSubMenu","metaKey","_onMenuFocusCapture","delayUpdateFocusOnHover","_shouldUpdateFocusOnMouseEvent","_shouldHandleKeyUp","keyPressIsAltOrMetaAlone","shouldHandleKey","handled","_isFocusingPreviousElement","submenuCloseKey","isSubMenu","_adjustedFocusZoneProps","_onMenuKeyDown","_host","hasModifier","isUp","isDown","_onScroll","_isScrollIdle","_scrollIdleTimeoutId","_onItemMouseEnterBase","_shouldIgnoreMouseEvent","_updateFocusOnMouseEvent","_onItemMouseMoveBase","_gotMouseMove","_enterTimerId","_onMouseItemLeave","setActive","_onItemMouseDown","_onItemClickBase","_cancelSubMenuTimer","expandedByMouseClick","nativeEvent","detail","_onItemSubMenuExpand","_onAnchorClick","defaultPrevented","openKey","_onSubMenuDismiss","dismissedMenuItemKey","id","_onPointerAndTouchEvent","contextualMenuItems","_warnDeprecations","getMenuClassNames","_isHidden","_onMenuClosed","_onMenuOpened","_previousActiveElement","_tryFocusPreviousActiveElement","onMenuDismissed","labelElementId","useTargetWidth","useTargetAsMinWidth","shouldFocusOnMount","shouldFocusOnContainer","calloutProps","onRenderSubMenu","_onRenderSubMenu","onRenderMenuList","focusZoneProps","itemsHaveIcons","contextualMenuItems_1","Section","sectionProps","_getFocusZoneDirection","contextMenuStyle","some","submenuItem","canAnyMenuItemsCheck","submenuProps","_getSubmenuProps","targetAsHtmlElement","offsetWidth","targetWidth","items_1","calloutStyles","host","onFocusCapture","onMenuOpened","off","itemClassNames","renderedItems","getItemClassNames","subMenuIconClassName","itemStyleProps","_renderSeparator","headerItem","_renderHeaderMenuItem","_renderListItem","_renderSectionItem","_renderNormalItem","sectionItem","menuClassNames","groupProps","headerContextualMenuItem","topDivider","contextualMenuItem","itemsIndex","bottomDivider","fromSection","onRender","_renderAnchorMenuItem","_renderSplitButton","_renderButtonItem","divHtmlProperties","header","subMenuHoverDelay","timeoutDuration","_findItemByKey","_findItemByKeyFromItems","items_2","isopen","ContextualMenu","listStyleType","paddingRight","paddingBottom","paddingTop","ButtonGlobalClassNames","msButton","msButtonHasMenu","msButtonIcon","msButtonMenuIcon","msButtonLabel","msButtonDescription","msButtonScreenReaderText","msButtonFlexContainer","msButtonTextContainer","getBaseButtonClassNames","variantClassName","menuIconClassName","isSplit","iconExpandedHovered","menuIconExpandedHovered","rootExpandedHovered","rootHasMenu","labelHovered","iconHovered","descriptionHovered","menuIconHovered","iconPressed","descriptionPressed","menuIconPressed","rootCheckedDisabled","rootCheckedHovered","rootCheckedPressed","iconExpanded","iconChecked","labelChecked","labelDisabled","menuIconChecked","menuIconExpanded","descriptionChecked","descriptionDisabled","splitButtonMenuButtonExpanded","splitButtonMenuButtonChecked","splitButtonMenuIcon","splitButtonMenuIconDisabled","BaseButton","rootClassName","_buttonElement","_splitButtonContainer","_renderedVisibleMenu","_onRenderIcon","FontIcon","_onRenderTextContents","onRenderText","_onRenderText","onRenderDescription","_onRenderDescription","_hasText","_labelId","_onRenderChildren","_descriptionId","_onRenderAriaDescription","_ariaDescriptionId","_onRenderMenuIcon","menuIconProps","_onRenderMenu","menuProps","persistMenu","menuHidden","MenuType","menuAs","_menuShouldFocusOnContainer","_menuShouldFocusOnMount","_isSplitButton","_onDismissMenu","_dismissMenu","_openMenu","_onToggleMenu","_onSplitContainerFocusCapture","_onSplitButtonPrimaryClick","_onMenuClick","_onKeyPress","onKeyPress","_onMouseUp","_onClick","_onSplitButtonContainerKeyDown","click","_isValidMenuOpenKey","onMenuClick","_warnConditionallyRequiredProps","toggled","ariaHidden","allowDisabledFocus","toggle","isPrimaryButtonDisabled","renderAsAnchor","tag","resolvedAriaLabel","dataIsFocusable","isCheckboxTypeRole","checkedOrPressedValue","_onRenderSplitButtonContent","_onRenderContent","onPointerUp","prevState","onAfterMenuDismiss","openMenu","onRenderAriaDescription","onRenderChildren","onRenderMenu","onRenderMenuIcon","Button","_shouldRenderMenu","Content","renderPersistedMenuHiddenOnMount","getSplitButtonClassNames","primaryActionButtonProps","onPointerDown","SplitButton","_onRenderSplitButtonMenuButton","_onRenderSplitButtonDivider","splitButtonMenuProps","splitButtonAriaLabel","splitButtonProps","menuTriggerKeyCode","baseClassName","ImageBase","_coverStyle","portrait","_imageElement","_frameElement","_onImageLoaded","onLoad","_computeCoverStyle","loadState","loaded","_onImageError","onError","notLoaded","UNSAFE_componentWillReceiveProps","nextProps","_checkImageLoaded","onLoadingStateChange","shouldFadeIn","shouldStartVisible","imageFit","maximizeFrame","coverStyle","isLoaded","isLandscape","landscape","isCenter","center","isCenterContain","centerContain","isCenterCover","centerCover","isContain","contain","isCover","cover","isNone","isError","isNotImageFit","naturalWidth","naturalHeight","complete","_svgRegex","desiredRatio","clientWidth","naturalRatio","rootMaximizeFrame","imageCenter","imageContain","imageCover","imageCenterContain","imageCenterCover","imageNone","imageLandscape","imagePortrait","ImageFitStyles","supportsObjectFit","msMaxTouchPoints","fallbackObjectFitStyles","objectFit","packagesCache","_win","setVersion","packageName","packageVersion","packages","__packages__","_resetCounter","_emptyObject","empty","_dictionary","_weakMap","WeakMap","memoizeFunction","maxCacheSize","ignoreNullOrUndefinedResult","rootNode","cacheSize","localResetCounter","currentNode","_createNode","_normalizeArg","has","set","htmlElementProperties","anchorProperties","buttonProperties","imageProperties","divProperties","getNativeProps","allowedPropNames","excludedPropNames","_flexboxgrid2","_flexboxgrid","propTypes","cn","mergeSettings","oldSettings","newSettings","_isSettingsFunction","_settingsMergeWith","mergeScopedSettings","scopedSettingsFromProps","oldScopedSettings","newScopedSettings","_scopedSettingsMergeWith","_timeoutIds","_immediateIds","_intervalIds","_animationFrameIds","_isDisposed","_parent","_onErrorHandler","_noop","clearImmediate","clearInterval","duration","timeoutId","setImmediate","immediateId","_logError","setInterval","intervalId","throttle","func","wait","lastResult","lastArgs","waitMS","leading","trailing","lastExecuteTime","userCall","now","Date","getTime","delta","waitLength","debounce","noOpFunction","cancel","flush","pending","maxWait","lastCallTime","isNaN","markExecuted","time","invokeFunction","executeImmediately","maxWaitDelta","maxWaitExpired","resultFunction","animationFrameId","animationFrameCallback","DATA_PORTAL_ATTRIBUTE","setPortalAttribute","addEventListener","removeEventListener","ViewportSizeType","ColumnSizeType","_propTypes","_propTypes2","oneOfType","number","bool","oneOf","utils","encode","encodeURIComponent","params","paramsSerializer","serializedParams","toISOString","JSON","stringify","hashmarkIndex","__CANCEL__","normalizeHeaderName","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","headers","defaults","adapter","XMLHttpRequest","process","getDefaultAdapter","transformRequest","data","transformResponse","parse","timeout","xsrfCookieName","xsrfHeaderName","maxContentLength","validateStatus","status","common","method","settle","buildURL","buildFullPath","parseHeaders","isURLSameOrigin","createError","requestData","requestHeaders","request","auth","username","password","Authorization","btoa","fullPath","baseURL","open","toUpperCase","onreadystatechange","readyState","responseURL","responseHeaders","getAllResponseHeaders","response","responseType","responseText","statusText","onabort","onerror","ontimeout","timeoutErrorMessage","cookies","xsrfValue","withCredentials","read","setRequestHeader","onDownloadProgress","onUploadProgress","upload","cancelToken","promise","abort","send","enhanceError","config1","config2","valueFromConfig2Keys","mergeDeepPropertiesKeys","defaultToConfig2Keys","axiosKeys","otherKeys","Cancel","Function","__assign","allowFullScreen","onMouseOver","onMouseOut","scrolling","frameBorder","sandbox","allow","ariaLabelledby","loading","importance","referrerpolicy","allowpaymentrequest","currentAllow","GLOBAL_SETTINGS_PROP_NAME","CALLBACK_STATE_PROP_NAME","defaultValue","globalSettings","_getGlobalSettings","setValue","callbacks","oldValue","changeDescription","addChangeListener","__id__","_getCallbacks","removeChangeListener","globalObj","global","_styleNonce","CSPSettings","_themeState","__themeState__","lastStyleElement","registeredStyles","runState","perf","count","flushTimer","mode","registeredThemableStyles","initializeThemeState","applyThemableStyles","stylesArray","styleRecord","loadStyles","resolveThemableArray","styleString","styleArray","getElementsByTagName","themable","newStyle","record","themableStyle","registerStyles","loadTheme","themableStyles","option","clearStylesInternal","clearStyles","reloadStyles","records","removeChild","splitStyleArray","themeSlot","themedValue","DEBUG","rawString","getIconContent","iconContent","isContained","nextParent","contains","DirectionalKeyCodes","isDirectionalKeyCode","_eventRecords","eventArgs","bubbleEvent","retVal","_isElement","evObj","fireEvent","events","__events__","eventRecords","eventRecordList","listIndex","objectCallback","isObserved","isDeclared","declaredEvents","__declaredEvents","cancelBubble","HTMLElement","onAll","useCapture","parent_1","eventRecord","processElementEvent","elementCallback","attachEvent","targetArrayLookup","targetArray","detachEvent","declare","dest","_isRTL","RTL_LOCAL_STORAGE_KEY","savedRTL","sessionStorage","persistSetting","setItem","for","aa","A","B","C","isMounted","enqueueForceUpdate","enqueueReplaceState","enqueueSetState","D","E","context","refs","updater","F","G","isReactComponent","H","isPureReactComponent","I","J","K","L","__self","__source","M","$$typeof","_owner","N","O","P","Q","keyPrefix","R","U","S","T","next","ca","da","V","ba","W","X","Children","toArray","only","createRef","Component","PureComponent","createContext","_calculateChangedBits","_currentValue","_currentValue2","_threadCount","Provider","Consumer","_context","forwardRef","lazy","_ctor","_status","_result","memo","compare","useCallback","useContext","useEffect","useImperativeHandle","useDebugValue","useLayoutEffect","useMemo","useReducer","useRef","useState","Fragment","Profiler","StrictMode","Suspense","cloneElement","createFactory","isValidElement","version","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","ReactCurrentDispatcher","ReactCurrentBatchConfig","suspense","ReactCurrentOwner","IsSomeRendererActing","Y","Z","ea","extractEvents","eventTypes","fa","phasedRegistrationNames","ha","registrationName","ia","dependencies","la","ma","na","oa","pa","qa","sa","ua","va","wa","ra","xa","ya","za","Aa","_dispatchListeners","_dispatchInstances","isPropagationStopped","isPersistent","release","Ba","Ca","injectEventPluginOrder","injectEventPluginsByName","Da","stateNode","Ea","Fa","Ga","Ha","Ia","Ja","Ka","La","Ma","Na","Oa","Pa","Qa","Ra","Sa","Ta","Ua","Wa","Xa","_debugOwner","_debugSource","fileName","lineNumber","return","Ya","Za","$a","ab","bb","db","eb","fb","gb","hb","ib","jb","kb","Map","lb","mb","nb","ob","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","sb","tb","ub","vb","qb","rb","pb","setAttributeNS","wb","nodeName","yb","_valueTracker","stopTracking","xb","zb","Ab","defaultChecked","_wrapperState","initialChecked","Bb","initialValue","controlled","Cb","Eb","Fb","Gb","Ib","Hb","Jb","selected","defaultSelected","Kb","dangerouslySetInnerHTML","Lb","Mb","Nb","textContent","xlinkHref","Ob","html","mathml","svg","Pb","Qb","Rb","Sb","MSApp","execUnsafeLocalFunction","namespaceURI","innerHTML","valueOf","Tb","nodeValue","Ub","Vb","animationend","animationiteration","animationstart","transitionend","Wb","Xb","Yb","animation","transition","Zb","$b","ac","bc","cc","ec","alternate","effectTag","fc","memoizedState","dehydrated","gc","ic","sibling","hc","jc","kc","lc","mc","nc","oc","pc","qc","rc","sc","tc","uc","vc","zc","blockedOn","topLevelType","eventSystemFlags","Ac","pointerId","Bc","Cc","Ec","Fc","unstable_runWithPriority","priority","hydrate","containerInfo","Gc","Hc","Ic","Jc","Kc","unstable_scheduleCallback","unstable_NormalPriority","Lc","Mc","srcElement","correspondingUseElement","Nc","Oc","dispatchConfig","Pc","_targetInst","Qc","Rc","Sc","Tc","Uc","Interface","Wc","eventPool","Xc","destructor","Vc","getPooled","persist","eventPhase","bubbles","cancelable","timeStamp","isTrusted","Yc","elapsedTime","pseudoElement","Zc","clipboardData","$c","view","ad","relatedTarget","bd","keyCode","charCode","cd","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","dd","8","9","12","13","16","17","18","19","20","27","32","33","34","35","36","37","38","39","40","45","46","112","113","114","115","116","117","118","119","120","121","122","123","144","145","224","ed","Alt","Control","Meta","Shift","gd","getModifierState","hd","location","ctrlKey","repeat","locale","jd","kd","ld","md","nd","screenX","screenY","pageX","pageY","button","buttons","fromElement","toElement","movementX","movementY","od","pressure","tangentialPressure","tiltX","tiltY","twist","isPrimary","pd","dataTransfer","qd","touches","targetTouches","changedTouches","rd","sd","deltaX","wheelDeltaX","deltaY","wheelDeltaY","wheelDelta","deltaZ","deltaMode","td","ud","vd","wd","yd","zd","Ad","Bd","Cd","Dd","bubbled","captured","eventPriority","Ed","getEventPriority","Fd","unstable_UserBlockingPriority","Gd","Hd","Id","Jd","Kd","targetInst","ancestors","Ld","Md","Nd","Od","Pd","Qd","Dc","Rd","Sd","xc","yc","Td","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexPositive","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","lineClamp","order","orphans","tabSize","widows","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","Ud","Vd","Wd","setProperty","charAt","substring","Xd","menuitem","area","base","br","col","embed","img","input","keygen","meta","param","track","wbr","Yd","Zd","is","$d","ae","be","ce","de","node","offset","nextSibling","fe","HTMLIFrameElement","contentWindow","ge","contentEditable","ie","je","ke","le","me","ne","autoFocus","oe","__html","pe","qe","re","se","previousSibling","te","random","ue","ve","we","xe","ye","ze","Ae","Be","Ce","De","Ee","Fe","Ge","He","documentMode","Ie","Je","Ke","Le","beforeInput","compositionEnd","compositionStart","compositionUpdate","Me","Ne","Oe","Pe","Se","Qe","char","Re","Te","date","datetime","email","month","range","search","tel","week","Ue","Ve","change","We","Xe","Ye","Ze","$e","af","bf","cf","df","ef","ff","gf","hf","lf","jf","_isInputEventSupported","kf","mouseEnter","mouseLeave","pointerEnter","pointerLeave","mf","parentWindow","of","pf","qf","rf","sf","tf","uf","vf","wf","xf","start","anchorNode","getSelection","anchorOffset","focusNode","focusOffset","yf","onSelect","SimpleEventPlugin","EnterLeaveEventPlugin","ChangeEventPlugin","SelectEventPlugin","BeforeInputEventPlugin","Af","Bf","Cf","Df","Ef","contextTypes","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","childContextTypes","Ff","Gf","Hf","If","getChildContext","Jf","__reactInternalMemoizedMergedChildContext","Kf","Lf","Mf","Nf","unstable_cancelCallback","Of","unstable_shouldYield","Pf","unstable_requestPaint","Qf","unstable_now","Rf","unstable_getCurrentPriorityLevel","Sf","unstable_ImmediatePriority","Tf","Uf","Vf","unstable_LowPriority","Wf","unstable_IdlePriority","Xf","Yf","Zf","$f","ag","cg","dg","eg","fg","gg","hg","ig","jg","kg","lg","mg","ng","og","pg","qg","rg","sg","tg","ug","childExpirationTime","vg","firstContext","expirationTime","wg","xg","observedBits","responders","yg","zg","baseState","firstUpdate","lastUpdate","firstCapturedUpdate","lastCapturedUpdate","firstEffect","lastEffect","firstCapturedEffect","lastCapturedEffect","Ag","Bg","suspenseConfig","payload","nextEffect","Cg","Dg","updateQueue","Eg","Fg","Gg","Hg","Ig","Jg","Kg","Lg","Mg","Ng","Og","Sg","_reactInternalFiber","Pg","Qg","Rg","Tg","Ug","contextType","Vg","componentWillReceiveProps","Wg","getDerivedStateFromProps","getSnapshotBeforeUpdate","componentWillMount","Xg","Yg","_stringRef","Zg","$g","ah","bh","ch","implementation","dh","eh","ta","fh","gh","hh","ih","jh","kh","lh","mh","nh","oh","ph","qh","memoizedProps","revealOrder","rh","responder","sh","uh","vh","wh","xh","yh","zh","Ah","Bh","Ch","Gh","Hh","Ih","Jh","Kh","Lh","Mh","Nh","queue","baseUpdate","Oh","Ph","Qh","lastRenderedReducer","dispatch","action","last","lastRenderedState","eagerReducer","eagerState","Rh","Sh","Th","Uh","destroy","deps","Vh","Wh","Xh","Yh","Zh","$h","ai","bi","readContext","useResponder","useDeferredValue","useTransition","unstable_next","ci","di","ei","fi","gi","pendingProps","ii","ji","ki","li","mi","ni","oi","pi","qi","ri","si","ti","ui","componentWillUpdate","getDerivedStateFromError","wi","pendingContext","Hi","Ii","Ji","Ki","xi","retryTime","yi","fallback","unstable_avoidThisFallback","zi","Ai","isBackwards","rendering","tail","tailExpiration","tailMode","Bi","Ci","Li","Mi","Ni","stack","onclick","Oi","WeakSet","Pi","Si","Ri","Ti","Ui","__reactInternalSnapshotBeforeUpdate","Vi","Wi","Qi","Xi","Yi","Zi","$i","_reactRootContainer","aj","wasMultiple","multiple","bj","cj","dj","ej","fj","gj","hj","ij","componentDidCatch","jj","componentStack","gk","kj","ceil","lj","mj","nj","oj","pj","qj","rj","sj","tj","uj","vj","wj","xj","yj","zj","Aj","Bj","Cj","Dj","Ej","Fj","Gj","Hj","Ij","Jj","timeoutMs","Kj","Lj","Mj","Nj","Oj","lastExpiredTime","Pj","firstPendingTime","lastPingedTime","nextKnownPendingLevel","callbackExpirationTime","callbackPriority","callbackNode","Qj","Rj","Sj","Tj","Uj","Vj","Wj","finishedWork","finishedExpirationTime","lastSuspendedTime","Xj","timeoutHandle","Yj","busyMinDurationMs","busyDelayMs","Zj","bk","ck","pingCache","dk","ek","fk","createElementNS","ik","firstSuspendedTime","rangeCount","Db","focusedElem","selectionRange","jk","ee","compareDocumentPosition","createRange","setStart","removeAllRanges","addRange","setEnd","scrollLeft","scrollTop","Dh","dc","fd","hk","Eh","Fh","xk","Di","Ei","Fi","xd","Gi","lk","mk","Va","nk","unstable_observedBits","pk","pendingChildren","qk","rk","tk","vk","wc","_internalRoot","wk","zk","yk","Bk","Ak","unmount","querySelectorAll","form","ak","Ck","createPortal","findDOMNode","unstable_renderSubtreeIntoContainer","unmountComponentAtNode","unstable_createPortal","unstable_batchedUpdates","flushSync","Events","findFiberByHostInstance","supportsFiber","inject","onCommitFiberRoot","onCommitFiberUnmount","ok","overrideHookState","overrideProps","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","bundleType","rendererPackageName","Dk","Ek","MessageChannel","unstable_forceFrameRate","performance","port2","port1","onmessage","postMessage","sortIndex","startTime","priorityLevel","delay","unstable_wrapCallback","unstable_continueExecution","unstable_pauseExecution","unstable_getFirstCallbackNode","unstable_Profiling","runtime","Op","hasOwn","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","wrap","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","Context","_invoke","GenStateSuspendedStart","GenStateExecuting","GenStateCompleted","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","abrupt","tryCatch","GenStateSuspendedYield","makeInvokeMethod","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","NativeIteratorPrototype","values","Gp","defineIteratorMethods","AsyncIterator","previousPromise","callInvokeWithMethodAndArg","invoke","__await","unwrapped","resultName","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","iterable","iteratorMethod","isGeneratorFunction","genFun","ctor","mark","awrap","async","iter","object","skipTempReset","prev","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","_classNames2","_react2","_createProps2","_types","rowKeys","middle","around","between","string","modificators","getRowClassNames","ReactPropTypesSecret","emptyFunction","shim","componentName","propFullName","secret","getShim","isRequired","ReactPropTypes","symbol","any","arrayOf","instanceOf","objectOf","shape","exact","checkPropTypes","PropTypes","xs","sm","xl","xsOffset","smOffset","mdOffset","lgOffset","xlOffset","first","classMap","getColClassNames","extraClasses","isFinite","columnProps","_objectWithoutProperties","fluid","containerClass","Axios","mergeConfig","createInstance","defaultConfig","axios","instanceConfig","CancelToken","isCancel","promises","spread","InterceptorManager","dispatchRequest","interceptors","chain","interceptor","unshift","fulfilled","rejected","getUri","handlers","use","eject","transformData","throwIfCancellationRequested","throwIfRequested","reason","fns","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","currentQueue","draining","queueIndex","cleanUpNextTick","drainQueue","len","run","marker","runClearTimeout","Item","noop","nextTick","browser","env","argv","versions","addListener","once","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","normalizedName","isAxiosError","toJSON","columnNumber","isAbsoluteURL","combineURLs","requestedURL","relativeURL","ignoreDuplicateOf","parsed","line","substr","originURL","msie","urlParsingNode","resolveURL","protocol","hash","hostname","port","pathname","requestURL","write","expires","domain","secure","cookie","toGMTString","RegExp","decodeURIComponent","executor","resolvePromise","token","arr","ip","Buffer","os","toBuffer","buff","isV4Format","byte","isV6Format","sections","v4Buffer","word","readUInt16BE","ipv4Regex","ipv6Regex","_normalizeFamily","family","fromPrefixLen","prefixlen","bits","mask","addr","cidr","cidrString","cidrParts","subnet","networkAddress","toLong","maskBuffer","maskLength","octet","numberOfAddresses","pow","fromLong","firstAddress","lastAddress","broadcastAddress","subnetMask","subnetMaskLength","numHosts","other","cidrSubnet","not","or","isEqual","isPrivate","isPublic","isLoopback","loopback","address","interfaces","networkInterfaces","res","details","nic","addresses","Boolean","ipl","base64","ieee754","kMaxLength","TYPED_ARRAY_SUPPORT","createBuffer","that","RangeError","Uint8Array","encodingOrOffset","allocUnsafe","byteOffset","byteLength","fromArrayLike","fromArrayBuffer","encoding","isEncoding","actual","fromString","fromObject","assertSize","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","bidirectionalIndexOf","arrayIndexOf","lastIndexOf","indexSize","arrLength","valLength","buf","foundIndex","found","hexWrite","Number","remaining","strLen","utf8Write","blitBuffer","asciiWrite","byteArray","charCodeAt","asciiToBytes","latin1Write","base64Write","ucs2Write","units","lo","utf16leToBytes","fromByteArray","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","codePoint","bytesPerSequence","codePoints","MAX_ARGUMENTS_LENGTH","decodeCodePointsArray","SlowBuffer","alloc","INSPECT_MAX_BYTES","foo","subarray","typedArraySupport","poolSize","_augment","species","fill","allocUnsafeSlow","_isBuffer","pos","swap16","swap32","swap64","inspect","thisStart","thisEnd","thisCopy","targetCopy","includes","_arr","ret","out","toHex","bytes","checkOffset","ext","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","sliceLen","readUIntLE","mul","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","writeUIntBE","writeUInt8","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","limit","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","INVALID_BASE64_RE","Infinity","leadSurrogate","toByteArray","stringtrim","base64clean","dst","b64","lens","getLens","validLen","placeHoldersLen","tmp","Arr","_byteLength","curByte","revLookup","uint8","extraBytes","len2","encodeChunk","lookup","num","output","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","NaN","rt","log","LN2","endianness","loadavg","uptime","freemem","MAX_VALUE","totalmem","cpus","appVersion","getNetworkInterfaces","arch","platform","tmpdir","tmpDir","EOL","homedir","mergeStyleSets","mergeCssSets","classNameSet","concatenatedStyleSet","registrations","styleSetArea","registrations_1","styleArgs","mergeCss","concatStyleSetsWithProps","allStyles","allStyles_1","IS_FOCUSABLE_ATTRIBUTE","IS_VISIBLE_ATTRIBUTE","FOCUSZONE_ID_ATTRIBUTE","FOCUSZONE_SUB_ATTRIBUTE","getFirstFocusable","includeElementsInFocusZones","getNextElement","getLastFocusable","getPreviousElement","getFirstTabbable","checkNode","getLastTabbable","focusFirstChild","focusAsync","suppressParentTraversal","traverseChildren","tabbable","isCurrentElementVisible","isElementVisible","isElementFocusZone","isElementFocusSubZone","childMatch","isElementTabbable","childMatchSiblingMatch","previousElementSibling","childMatchParent","childMatchParentMatch","siblingMatch","suppressChildTraversal","visibilityAttribute","offsetParent","isVisible","checkTabIndex","tabIndexAttributeValue","isFocusableAttribute","isTabIndexSet","doesElementContainFocus","currentActiveElement","shouldWrapFocus","attribute","elementContainsAttribute","targetToFocusOnNextRepaint","getFocusableByIndexPath","path_1","nextChild","getElementIndexPath","DefaultFields","baseStyles","getProps","customizable","pure","fields","Wrapped","_inCustomizerContext","_renderContent","customizedStyles","additionalProps","_updateStyles","_styles","_onSettingsChanged","__cachedInputs__","MAX_CACHE_COUNT","_memoizedClassNames","RetVal","resultCount","currentMemoizedClassNames","_traverseMap","clear","_traverseEdge","_normalizeValue","inputs","_containsFocus","needsVerticalScrollBar","_originalFocusedElement","currentWindow","_updateScrollBarAsync","_getScrollBar","rootHeight","firstChildHeight","_scrollbarWidth","_bodyScrollDisabledCount","DisabledScrollClassName","DATA_IS_SCROLLABLE_ATTRIBUTE","allowScrollOnElement","_previousClientY","_element","_saveClientY","_preventOverscrolling","findScrollableParent","passive","_makeElementScrollAllower","allowOverscrollOnElement","_disableIosBodyScroll","disableBodyScroll","capture","enableBodyScroll","getScrollbarWidth","scrollDiv","startingElement","computedStyles","getComputedStyle","getPropertyValue","concatStyles","ComponentWithInjectedProps","_onSettingChanged","componentProps","mergedStyles","initializeIcons","speak","GlobalNavButton","ChevronDown","ChevronUp","Edit","Add","More","Settings","Mail","Filter","Search","Share","BlockedSite","FavoriteStar","FavoriteStarFill","CheckMark","Delete","ChevronLeft","ChevronRight","Calendar","Megaphone","Undo","Flag","Page","Pinned","View","Clear","Download","Upload","Folder","Sort","AlignRight","AlignLeft","AddFriend","Info","SortLines","List","CircleRing","Heart","HeartFill","Tiles","Embed","Glimmer","Ascending","Descending","SortUp","SortDown","SyncToPC","LargeGrid","SkypeCheck","SkypeClock","SkypeMinus","ClearFilter","Flow","StatusCircleCheckmark","MoreVertical","DEFAULT_BASE_URL","initialize","Customizer","_onCustomizationChange","contextTransform","parentContext","newContext","mergeCustomizations","inheritFont","bodyThemed","isFocusVisible","applyTheme","focusVisibility","getFabricTheme","getDir","FabricBase","_rootElement","_removeClassNameFromBody","Root","_getClassNames","componentDir","parentDir","renderedContent","_addClassNameToBody","applyThemeToBody","classNames_1","currentDoc_1","Fabric","_defaultHostSelector","_layersByHostId","_filteredEventProps","LayerBase","_rootRef","_createLayerElement","hostId","_getHost","_removeLayerElement","layerElement","virtualChild","virtualParent","oldParent","setVirtualParent","insertFirst","onLayerDidMount","registerLayer","eventBubblingEnabled","_onFilterEvent","_getFilteredEvents","idx","unregisterLayer","onLayerWillUnmount","isNotHost","getElementById","defaultHostSelector","BUBBLING_PHASE","rootNoHost","FocusTrapZone","_firstBumper","_lastBumper","_hasFocus","_onRootFocus","_onRootBlur","onBlur","_onFirstBumperFocus","_onBumperFocus","_onLastBumperFocus","isFirstBumper","currentBumper","nextFocusable","_isBumper","_onFocusCapture","_previouslyFocusedElementInTrapZone","_forceFocusInTrap","_focusStack","_forceClickInTrap","clickedElement","_bringFocusIntoZone","_updateEventHandlers","elementToFocusOnDismiss","_previouslyFocusedElementOutsideTrapZone","prevForceFocusInsideTrap","forceFocusInsideTrap","newForceFocusInsideTrap","prevDisabled","newDisabled","_returnFocusToInitiator","_disposeClickHandler","_disposeFocusHandler","bumperProps","focusPreviouslyFocusedInnerElement","firstFocusableSelector","_focusAsync","focusSelector","_firstFocusableChild","disableFirstFocus","ignoreExternalFocusing","isClickableOutsideFocusTrap","globalClassNames","main","scrollableContent","isOpen","layer","OverlayBase","allowTouchBodyScroll","_allowTouchBodyScroll","isDark","isDarkThemed","rootDark","Overlay","isDragging","touchAction","eventMapping","touch","move","mouse","DraggableZone","_currentEventType","_onDragStart","_onDragStop","_onTouchEnd","onTouchEnd","handleSelector","_matchesSelector","preventDragSelector","_touchId","_getTouchId","_getControlPosition","dragData","_createDragDataFromPosition","onStart","lastPosition","_onDrag","updatedData","_createUpdatedDragData","updatedPosition","onDragChange","baseDragData","onStop","statePosition","touchObj","_getActiveTouch","eventToGetOffset","_findTouchInTouchList","identifier","matchesSelectorFn","matches","webkitMatchesSelector","msMatchesSelector","touchList","DefaultLayerProps","ModalBase","_focusTrapZone","_allowScrollOnModal","elt","_scrollableContent","_onModalContextMenuClose","isModalMenuOpen","_onModalClose","_lastSetX","_lastSetY","isInKeyboardMoveMode","dragOptions","_hasRegisteredKeyUp","onDismissed","_","handledEvent","_getMoveDelta","_onEnterKeyboardMoveMode","_onExitKeyboardMoveMode","_registerForKeyUp","hasBeenOpened","_onModalCloseTimer","topOffsetFixed","dialogMain","getElementsByClassName","modalRectangle","modalRectangleTop","containerClassName","scrollableContentClassName","isBlocking","isDarkOverlay","overlay","titleAriaId","subtitleAriaId","isModeless","layerClassName","isDefaultDragHandle","dragHandleSelector","mergedLayerProps","modalContent","keyboardMoveIconContainer","keyboardMoveIconProps","keyboardMoveIcon","menu","moveMenuItemText","closeMenuItemText","Modal","__hasInitializeFocusRects__","initializeFocusRects","__hasInitializedDir__","initializeDir","methodNames","_makeSafe","_makeAllSafe","_updateComponentRef","_setComponentRef","__disposables","disposable","__className","results","__async","__events","_resolveRef","refName","__resolves","deprecationMap","_warnMutuallyExclusive","mutuallyExclusiveMap","requiredProps","conditionalPropName","condition","classMethod","prototypeMethod","nullRender","appendFunction","functions","methods","extendComponent","_onMount","_onUpdate","_onUnmount","primary","baseButtonStyles","defaultButtonStyles","primaryStyles","standardStyles","DefaultButton","LabelBase","RootType","required","Label","labelFontWeight","labelColor","labelDisabledColor","labelRequiredStarColor","wordWrap","overflowWrap","IconType","IconBase","onImageLoadingStateChange","imageLoadError","imageErrorAs","iconType","ImageType","iconButtonStyles","IconButton"],"mappings":"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","file":"static/js/2.678cd2c6.chunk.js","sourcesContent":["'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\n\n/* global Reflect, Promise */\nvar _extendStatics = function extendStatics(d, b) {\n _extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) {\n if (b.hasOwnProperty(p)) d[p] = b[p];\n }\n };\n\n return _extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n _extendStatics(d, b);\n\n function __() {\n this.constructor = d;\n }\n\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nvar _assign = function __assign() {\n _assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return _assign.apply(this, arguments);\n};\n\nexport { _assign as __assign };\nexport function __rest(s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n}\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length,\n r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,\n d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) {\n if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n }\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\nexport function __param(paramIndex, decorator) {\n return function (target, key) {\n decorator(target, key, paramIndex);\n };\n}\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\nexport function __awaiter(thisArg, _arguments, P, generator) {\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n\n function step(result) {\n result.done ? resolve(result.value) : new P(function (resolve) {\n resolve(result.value);\n }).then(fulfilled, rejected);\n }\n\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\nexport function __generator(thisArg, body) {\n var _ = {\n label: 0,\n sent: function sent() {\n if (t[0] & 1) throw t[1];\n return t[1];\n },\n trys: [],\n ops: []\n },\n f,\n y,\n t,\n g;\n return g = {\n next: verb(0),\n \"throw\": verb(1),\n \"return\": verb(2)\n }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function () {\n return this;\n }), g;\n\n function verb(n) {\n return function (v) {\n return step([n, v]);\n };\n }\n\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n\n while (_) {\n try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n\n switch (op[0]) {\n case 0:\n case 1:\n t = op;\n break;\n\n case 4:\n _.label++;\n return {\n value: op[1],\n done: false\n };\n\n case 5:\n _.label++;\n y = op[1];\n op = [0];\n continue;\n\n case 7:\n op = _.ops.pop();\n\n _.trys.pop();\n\n continue;\n\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {\n _ = 0;\n continue;\n }\n\n if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {\n _.label = op[1];\n break;\n }\n\n if (op[0] === 6 && _.label < t[1]) {\n _.label = t[1];\n t = op;\n break;\n }\n\n if (t && _.label < t[2]) {\n _.label = t[2];\n\n _.ops.push(op);\n\n break;\n }\n\n if (t[2]) _.ops.pop();\n\n _.trys.pop();\n\n continue;\n }\n\n op = body.call(thisArg, _);\n } catch (e) {\n op = [6, e];\n y = 0;\n } finally {\n f = t = 0;\n }\n }\n\n if (op[0] & 5) throw op[1];\n return {\n value: op[0] ? op[1] : void 0,\n done: true\n };\n }\n}\nexport function __exportStar(m, exports) {\n for (var p in m) {\n if (!exports.hasOwnProperty(p)) exports[p] = m[p];\n }\n}\nexport function __values(o) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator],\n i = 0;\n if (m) return m.call(o);\n return {\n next: function next() {\n if (o && i >= o.length) o = void 0;\n return {\n value: o && o[i++],\n done: !o\n };\n }\n };\n}\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o),\n r,\n ar = [],\n e;\n\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) {\n ar.push(r.value);\n }\n } catch (error) {\n e = {\n error: error\n };\n } finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n } finally {\n if (e) throw e.error;\n }\n }\n\n return ar;\n}\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++) {\n ar = ar.concat(__read(arguments[i]));\n }\n\n return ar;\n}\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) {\n s += arguments[i].length;\n }\n\n for (var r = Array(s), k = 0, i = 0; i < il; i++) {\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) {\n r[k] = a[j];\n }\n }\n\n return r;\n}\n;\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []),\n i,\n q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () {\n return this;\n }, i;\n\n function verb(n) {\n if (g[n]) i[n] = function (v) {\n return new Promise(function (a, b) {\n q.push([n, v, a, b]) > 1 || resume(n, v);\n });\n };\n }\n\n function resume(n, v) {\n try {\n step(g[n](v));\n } catch (e) {\n settle(q[0][3], e);\n }\n }\n\n function step(r) {\n r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r);\n }\n\n function fulfill(value) {\n resume(\"next\", value);\n }\n\n function reject(value) {\n resume(\"throw\", value);\n }\n\n function settle(f, v) {\n if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]);\n }\n}\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) {\n throw e;\n }), verb(\"return\"), i[Symbol.iterator] = function () {\n return this;\n }, i;\n\n function verb(n, f) {\n i[n] = o[n] ? function (v) {\n return (p = !p) ? {\n value: __await(o[n](v)),\n done: n === \"return\"\n } : f ? f(v) : v;\n } : f;\n }\n}\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator],\n i;\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 () {\n return this;\n }, i);\n\n function verb(n) {\n i[n] = o[n] && function (v) {\n return new Promise(function (resolve, reject) {\n v = o[n](v), settle(resolve, reject, v.done, v.value);\n });\n };\n }\n\n function settle(resolve, reject, d, v) {\n Promise.resolve(v).then(function (v) {\n resolve({\n value: v,\n done: d\n });\n }, reject);\n }\n}\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) {\n Object.defineProperty(cooked, \"raw\", {\n value: raw\n });\n } else {\n cooked.raw = raw;\n }\n\n return cooked;\n}\n;\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) {\n if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n }\n result.default = mod;\n return result;\n}\nexport function __importDefault(mod) {\n return mod && mod.__esModule ? mod : {\n default: mod\n };\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getColumnProps = exports.Col = exports.getRowProps = exports.Row = exports.Grid = undefined;\n\nvar _Row2 = require('./components/Row');\n\nObject.defineProperty(exports, 'getRowProps', {\n enumerable: true,\n get: function get() {\n return _Row2.getRowProps;\n }\n});\n\nvar _Col2 = require('./components/Col');\n\nObject.defineProperty(exports, 'getColumnProps', {\n enumerable: true,\n get: function get() {\n return _Col2.getColumnProps;\n }\n});\n\nvar _Grid2 = require('./components/Grid');\n\nvar _Grid3 = _interopRequireDefault(_Grid2);\n\nvar _Row3 = _interopRequireDefault(_Row2);\n\nvar _Col3 = _interopRequireDefault(_Col2);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nexports.Grid = _Grid3.default;\nexports.Row = _Row3.default;\nexports.Col = _Col3.default;","import { mergeStyles } from '../MergeStyles';\n/**\n * Builds a class names object from a given map.\n *\n * @param styles - Map of unprocessed styles.\n * @returns Map of property name to class name.\n */\n\nexport function buildClassMap(styles) {\n var classes = {};\n\n var _loop_1 = function _loop_1(styleName) {\n if (styles.hasOwnProperty(styleName)) {\n var className_1;\n Object.defineProperty(classes, styleName, {\n get: function get() {\n if (className_1 === undefined) {\n // tslint:disable-next-line:no-any\n className_1 = mergeStyles(styles[styleName]).toString();\n }\n\n return className_1;\n },\n enumerable: true,\n configurable: true\n });\n }\n };\n\n for (var styleName in styles) {\n _loop_1(styleName);\n }\n\n return classes;\n}","import { getStyleOptions } from './StyleOptionsState';\nimport { Stylesheet } from './Stylesheet';\nimport { serializeRuleEntries } from './styleToClassName';\n/**\n * Registers a font face.\n * @public\n */\n\nexport function fontFace(font) {\n Stylesheet.getInstance().insertRule(\"@font-face{\" + serializeRuleEntries(getStyleOptions(), font) + \"}\", true);\n}","import { __assign } from \"tslib\";\nimport { GlobalSettings, warn } from '@uifabric/utilities';\nimport { fontFace, mergeStyles, Stylesheet } from '@uifabric/merge-styles';\nvar ICON_SETTING_NAME = 'icons';\n\nvar _iconSettings = GlobalSettings.getValue(ICON_SETTING_NAME, {\n __options: {\n disableWarnings: false,\n warnOnMissingIcons: true\n },\n __remapped: {}\n}); // Reset icon registration on stylesheet resets.\n\n\nvar stylesheet = Stylesheet.getInstance();\n\nif (stylesheet && stylesheet.onReset) {\n stylesheet.onReset(function () {\n for (var name_1 in _iconSettings) {\n if (_iconSettings.hasOwnProperty(name_1) && !!_iconSettings[name_1].subset) {\n _iconSettings[name_1].subset.className = undefined;\n }\n }\n });\n}\n/**\n * Normalizes an icon name for consistent mapping.\n * Current implementation is to convert the icon name to lower case.\n *\n * @param name - Icon name to normalize.\n * @returns {string} Normalized icon name to use for indexing and mapping.\n */\n\n\nvar normalizeIconName = function normalizeIconName(name) {\n return name.toLowerCase();\n};\n/**\n * Registers a given subset of icons.\n *\n * @param iconSubset - the icon subset definition.\n */\n\n\nexport function registerIcons(iconSubset, options) {\n var subset = __assign(__assign({}, iconSubset), {\n isRegistered: false,\n className: undefined\n });\n\n var icons = iconSubset.icons; // Grab options, optionally mix user provided ones on top.\n\n options = options ? __assign(__assign({}, _iconSettings.__options), options) : _iconSettings.__options;\n\n for (var iconName in icons) {\n if (icons.hasOwnProperty(iconName)) {\n var code = icons[iconName];\n var normalizedIconName = normalizeIconName(iconName);\n\n if (_iconSettings[normalizedIconName]) {\n _warnDuplicateIcon(iconName);\n } else {\n _iconSettings[normalizedIconName] = {\n code: code,\n subset: subset\n };\n }\n }\n }\n}\n/**\n * Unregisters icons by name.\n *\n * @param iconNames - List of icons to unregister.\n */\n\nexport function unregisterIcons(iconNames) {\n var options = _iconSettings.__options;\n\n var _loop_1 = function _loop_1(iconName) {\n var normalizedIconName = normalizeIconName(iconName);\n\n if (_iconSettings[normalizedIconName]) {\n delete _iconSettings[normalizedIconName];\n } else {\n // Warn that we are trying to delete an icon that doesn't exist\n if (!options.disableWarnings) {\n warn(\"The icon \\\"\" + iconName + \"\\\" tried to unregister but was not registered.\");\n }\n } // Delete any aliases for this iconName\n\n\n if (_iconSettings.__remapped[normalizedIconName]) {\n delete _iconSettings.__remapped[normalizedIconName];\n } // Delete any items that were an alias for this iconName\n\n\n Object.keys(_iconSettings.__remapped).forEach(function (key) {\n if (_iconSettings.__remapped[key] === normalizedIconName) {\n delete _iconSettings.__remapped[key];\n }\n });\n };\n\n for (var _i = 0, iconNames_1 = iconNames; _i < iconNames_1.length; _i++) {\n var iconName = iconNames_1[_i];\n\n _loop_1(iconName);\n }\n}\n/**\n * Remaps one icon name to another.\n */\n\nexport function registerIconAlias(iconName, mappedToName) {\n _iconSettings.__remapped[normalizeIconName(iconName)] = normalizeIconName(mappedToName);\n}\n/**\n * Gets an icon definition. If an icon is requested but the subset has yet to be registered,\n * it will get registered immediately.\n *\n * @public\n * @param name - Name of icon.\n */\n\nexport function getIcon(name) {\n var icon = undefined;\n var options = _iconSettings.__options;\n name = name ? normalizeIconName(name) : '';\n name = _iconSettings.__remapped[name] || name;\n\n if (name) {\n icon = _iconSettings[name];\n\n if (icon) {\n var subset = icon.subset;\n\n if (subset && subset.fontFace) {\n if (!subset.isRegistered) {\n fontFace(subset.fontFace);\n subset.isRegistered = true;\n }\n\n if (!subset.className) {\n subset.className = mergeStyles(subset.style, {\n fontFamily: subset.fontFace.fontFamily,\n fontWeight: subset.fontFace.fontWeight || 'normal',\n fontStyle: subset.fontFace.fontStyle || 'normal'\n });\n }\n }\n } else {\n if (!options.disableWarnings && options.warnOnMissingIcons) {\n warn(\"The icon \\\"\" + name + \"\\\" was used but not registered. See http://aka.ms/fabric-icon-usage for more information.\");\n }\n }\n }\n\n return icon;\n}\n/**\n * Sets the icon options.\n *\n * @public\n */\n\nexport function setIconOptions(options) {\n _iconSettings.__options = __assign(__assign({}, _iconSettings.__options), options);\n}\nvar _missingIcons = [];\nvar _missingIconsTimer = undefined;\n\nfunction _warnDuplicateIcon(iconName) {\n var options = _iconSettings.__options;\n var warningDelay = 2000;\n var maxIconsInMessage = 10;\n\n if (!options.disableWarnings) {\n _missingIcons.push(iconName);\n\n if (_missingIconsTimer === undefined) {\n _missingIconsTimer = setTimeout(function () {\n warn(\"Some icons were re-registered. Applications should only call registerIcons for any given \" + \"icon once. Redefining what an icon is may have unintended consequences. Duplicates \" + \"include: \\n\" + _missingIcons.slice(0, maxIconsInMessage).join(', ') + (_missingIcons.length > maxIconsInMessage ? \" (+ \" + (_missingIcons.length - maxIconsInMessage) + \" more)\" : ''));\n _missingIconsTimer = undefined;\n _missingIcons = [];\n }, warningDelay);\n }\n }\n}","import { getStyleOptions } from './StyleOptionsState';\nimport { Stylesheet } from './Stylesheet';\nimport { serializeRuleEntries } from './styleToClassName';\n/**\n * Registers keyframe definitions.\n *\n * @public\n */\n\nexport function keyframes(timeline) {\n var stylesheet = Stylesheet.getInstance();\n var name = stylesheet.getClassName();\n var rulesArray = [];\n\n for (var prop in timeline) {\n if (timeline.hasOwnProperty(prop)) {\n rulesArray.push(prop, '{', serializeRuleEntries(getStyleOptions(), timeline[prop]), '}');\n }\n }\n\n var rules = rulesArray.join('');\n stylesheet.insertRule(\"@keyframes \" + name + \"{\" + rules + \"}\", true);\n stylesheet.cacheClassName(name, rules, [], ['keyframes', rules]);\n return name;\n}","import { keyframes } from '@uifabric/merge-styles';\n/* Register the keyframes */\n\nvar EASING_FUNCTION_1 = 'cubic-bezier(.1,.9,.2,1)';\nvar EASING_FUNCTION_2 = 'cubic-bezier(.1,.25,.75,.9)';\nvar DURATION_1 = '0.167s';\nvar DURATION_2 = '0.267s';\nvar DURATION_3 = '0.367s';\nvar DURATION_4 = '0.467s';\nvar FADE_IN = keyframes({\n from: {\n opacity: 0\n },\n to: {\n opacity: 1\n }\n});\nvar FADE_OUT = keyframes({\n from: {\n opacity: 1\n },\n to: {\n opacity: 0,\n visibility: 'hidden'\n }\n});\n\nvar SLIDE_RIGHT_IN10 = _createSlideInX(-10);\n\nvar SLIDE_RIGHT_IN20 = _createSlideInX(-20);\n\nvar SLIDE_RIGHT_IN40 = _createSlideInX(-40);\n\nvar SLIDE_RIGHT_IN400 = _createSlideInX(-400);\n\nvar SLIDE_LEFT_IN10 = _createSlideInX(10);\n\nvar SLIDE_LEFT_IN20 = _createSlideInX(20);\n\nvar SLIDE_LEFT_IN40 = _createSlideInX(40);\n\nvar SLIDE_LEFT_IN400 = _createSlideInX(400);\n\nvar SLIDE_UP_IN10 = _createSlideInY(10);\n\nvar SLIDE_UP_IN20 = _createSlideInY(20);\n\nvar SLIDE_DOWN_IN10 = _createSlideInY(-10);\n\nvar SLIDE_DOWN_IN20 = _createSlideInY(-20);\n\nvar SLIDE_RIGHT_OUT10 = _createSlideOutX(10);\n\nvar SLIDE_RIGHT_OUT20 = _createSlideOutX(20);\n\nvar SLIDE_RIGHT_OUT40 = _createSlideOutX(40);\n\nvar SLIDE_RIGHT_OUT400 = _createSlideOutX(400);\n\nvar SLIDE_LEFT_OUT10 = _createSlideOutX(-10);\n\nvar SLIDE_LEFT_OUT20 = _createSlideOutX(-20);\n\nvar SLIDE_LEFT_OUT40 = _createSlideOutX(-40);\n\nvar SLIDE_LEFT_OUT400 = _createSlideOutX(-400);\n\nvar SLIDE_UP_OUT10 = _createSlideOutY(-10);\n\nvar SLIDE_UP_OUT20 = _createSlideOutY(-20);\n\nvar SLIDE_DOWN_OUT10 = _createSlideOutY(10);\n\nvar SLIDE_DOWN_OUT20 = _createSlideOutY(20);\n\nvar SCALE_UP100 = keyframes({\n from: {\n transform: 'scale3d(.98,.98,1)'\n },\n to: {\n transform: 'scale3d(1,1,1)'\n }\n});\nvar SCALE_DOWN98 = keyframes({\n from: {\n transform: 'scale3d(1,1,1)'\n },\n to: {\n transform: 'scale3d(.98,.98,1)'\n }\n});\nvar SCALE_DOWN100 = keyframes({\n from: {\n transform: 'scale3d(1.03,1.03,1)'\n },\n to: {\n transform: 'scale3d(1,1,1)'\n }\n});\nvar SCALE_UP103 = keyframes({\n from: {\n transform: 'scale3d(1,1,1)'\n },\n to: {\n transform: 'scale3d(1.03,1.03,1)'\n }\n});\nvar ROTATE90 = keyframes({\n from: {\n transform: 'rotateZ(0deg)'\n },\n to: {\n transform: 'rotateZ(90deg)'\n }\n});\nvar ROTATE_N90 = keyframes({\n from: {\n transform: 'rotateZ(0deg)'\n },\n to: {\n transform: 'rotateZ(-90deg)'\n }\n});\n/**\n * Exporting raw duraction values and easing functions to be used in custom animations\n */\n\nexport var AnimationVariables = {\n easeFunction1: EASING_FUNCTION_1,\n easeFunction2: EASING_FUNCTION_2,\n durationValue1: DURATION_1,\n durationValue2: DURATION_2,\n durationValue3: DURATION_3,\n durationValue4: DURATION_4\n};\n/**\n * All Fabric standard animations, exposed as json objects referencing predefined\n * keyframes. These objects can be mixed in with other class definitions.\n */\n\nexport var AnimationStyles = {\n slideRightIn10: _createAnimation(FADE_IN + \",\" + SLIDE_RIGHT_IN10, DURATION_3, EASING_FUNCTION_1),\n slideRightIn20: _createAnimation(FADE_IN + \",\" + SLIDE_RIGHT_IN20, DURATION_3, EASING_FUNCTION_1),\n slideRightIn40: _createAnimation(FADE_IN + \",\" + SLIDE_RIGHT_IN40, DURATION_3, EASING_FUNCTION_1),\n slideRightIn400: _createAnimation(FADE_IN + \",\" + SLIDE_RIGHT_IN400, DURATION_3, EASING_FUNCTION_1),\n slideLeftIn10: _createAnimation(FADE_IN + \",\" + SLIDE_LEFT_IN10, DURATION_3, EASING_FUNCTION_1),\n slideLeftIn20: _createAnimation(FADE_IN + \",\" + SLIDE_LEFT_IN20, DURATION_3, EASING_FUNCTION_1),\n slideLeftIn40: _createAnimation(FADE_IN + \",\" + SLIDE_LEFT_IN40, DURATION_3, EASING_FUNCTION_1),\n slideLeftIn400: _createAnimation(FADE_IN + \",\" + SLIDE_LEFT_IN400, DURATION_3, EASING_FUNCTION_1),\n slideUpIn10: _createAnimation(FADE_IN + \",\" + SLIDE_UP_IN10, DURATION_3, EASING_FUNCTION_1),\n slideUpIn20: _createAnimation(FADE_IN + \",\" + SLIDE_UP_IN20, DURATION_3, EASING_FUNCTION_1),\n slideDownIn10: _createAnimation(FADE_IN + \",\" + SLIDE_DOWN_IN10, DURATION_3, EASING_FUNCTION_1),\n slideDownIn20: _createAnimation(FADE_IN + \",\" + SLIDE_DOWN_IN20, DURATION_3, EASING_FUNCTION_1),\n slideRightOut10: _createAnimation(FADE_OUT + \",\" + SLIDE_RIGHT_OUT10, DURATION_3, EASING_FUNCTION_1),\n slideRightOut20: _createAnimation(FADE_OUT + \",\" + SLIDE_RIGHT_OUT20, DURATION_3, EASING_FUNCTION_1),\n slideRightOut40: _createAnimation(FADE_OUT + \",\" + SLIDE_RIGHT_OUT40, DURATION_3, EASING_FUNCTION_1),\n slideRightOut400: _createAnimation(FADE_OUT + \",\" + SLIDE_RIGHT_OUT400, DURATION_3, EASING_FUNCTION_1),\n slideLeftOut10: _createAnimation(FADE_OUT + \",\" + SLIDE_LEFT_OUT10, DURATION_3, EASING_FUNCTION_1),\n slideLeftOut20: _createAnimation(FADE_OUT + \",\" + SLIDE_LEFT_OUT20, DURATION_3, EASING_FUNCTION_1),\n slideLeftOut40: _createAnimation(FADE_OUT + \",\" + SLIDE_LEFT_OUT40, DURATION_3, EASING_FUNCTION_1),\n slideLeftOut400: _createAnimation(FADE_OUT + \",\" + SLIDE_LEFT_OUT400, DURATION_3, EASING_FUNCTION_1),\n slideUpOut10: _createAnimation(FADE_OUT + \",\" + SLIDE_UP_OUT10, DURATION_3, EASING_FUNCTION_1),\n slideUpOut20: _createAnimation(FADE_OUT + \",\" + SLIDE_UP_OUT20, DURATION_3, EASING_FUNCTION_1),\n slideDownOut10: _createAnimation(FADE_OUT + \",\" + SLIDE_DOWN_OUT10, DURATION_3, EASING_FUNCTION_1),\n slideDownOut20: _createAnimation(FADE_OUT + \",\" + SLIDE_DOWN_OUT20, DURATION_3, EASING_FUNCTION_1),\n scaleUpIn100: _createAnimation(FADE_IN + \",\" + SCALE_UP100, DURATION_3, EASING_FUNCTION_1),\n scaleDownIn100: _createAnimation(FADE_IN + \",\" + SCALE_DOWN100, DURATION_3, EASING_FUNCTION_1),\n scaleUpOut103: _createAnimation(FADE_OUT + \",\" + SCALE_UP103, DURATION_1, EASING_FUNCTION_2),\n scaleDownOut98: _createAnimation(FADE_OUT + \",\" + SCALE_DOWN98, DURATION_1, EASING_FUNCTION_2),\n fadeIn100: _createAnimation(FADE_IN, DURATION_1, EASING_FUNCTION_2),\n fadeIn200: _createAnimation(FADE_IN, DURATION_2, EASING_FUNCTION_2),\n fadeIn400: _createAnimation(FADE_IN, DURATION_3, EASING_FUNCTION_2),\n fadeIn500: _createAnimation(FADE_IN, DURATION_4, EASING_FUNCTION_2),\n fadeOut100: _createAnimation(FADE_OUT, DURATION_1, EASING_FUNCTION_2),\n fadeOut200: _createAnimation(FADE_OUT, DURATION_2, EASING_FUNCTION_2),\n fadeOut400: _createAnimation(FADE_OUT, DURATION_3, EASING_FUNCTION_2),\n fadeOut500: _createAnimation(FADE_OUT, DURATION_4, EASING_FUNCTION_2),\n rotate90deg: _createAnimation(ROTATE90, '0.1s', EASING_FUNCTION_2),\n rotateN90deg: _createAnimation(ROTATE_N90, '0.1s', EASING_FUNCTION_2) // expandCollapse 100/200/400, delay 100/200\n\n};\n\nfunction _createAnimation(animationName, animationDuration, animationTimingFunction) {\n return {\n animationName: animationName,\n animationDuration: animationDuration,\n animationTimingFunction: animationTimingFunction,\n animationFillMode: 'both'\n };\n}\n\nfunction _createSlideInX(fromX) {\n return keyframes({\n from: {\n transform: \"translate3d(\" + fromX + \"px,0,0)\"\n },\n to: {\n transform: \"translate3d(0,0,0)\"\n }\n });\n}\n\nfunction _createSlideInY(fromY) {\n return keyframes({\n from: {\n transform: \"translate3d(0,\" + fromY + \"px,0)\"\n },\n to: {\n transform: \"translate3d(0,0,0)\"\n }\n });\n}\n\nfunction _createSlideOutX(toX) {\n return keyframes({\n from: {\n transform: \"translate3d(0,0,0)\"\n },\n to: {\n transform: \"translate3d(\" + toX + \"px,0,0)\"\n }\n });\n}\n\nfunction _createSlideOutY(toY) {\n return keyframes({\n from: {\n transform: \"translate3d(0,0,0)\"\n },\n to: {\n transform: \"translate3d(0,\" + toY + \"px,0)\"\n }\n });\n}","// When adding or removing a color, make sure you keep this consistent with IColorClassNames by adding the color variants.\nexport var DefaultPalette = {\n themeDarker: '#004578',\n themeDark: '#005a9e',\n themeDarkAlt: '#106ebe',\n themePrimary: '#0078d4',\n themeSecondary: '#2b88d8',\n themeTertiary: '#71afe5',\n themeLight: '#c7e0f4',\n themeLighter: '#deecf9',\n themeLighterAlt: '#eff6fc',\n black: '#000000',\n blackTranslucent40: 'rgba(0,0,0,.4)',\n neutralDark: '#201f1e',\n neutralPrimary: '#323130',\n neutralPrimaryAlt: '#3b3a39',\n neutralSecondary: '#605e5c',\n neutralSecondaryAlt: '#8a8886',\n neutralTertiary: '#a19f9d',\n neutralTertiaryAlt: '#c8c6c4',\n neutralQuaternary: '#d2d0ce',\n neutralQuaternaryAlt: '#e1dfdd',\n neutralLight: '#edebe9',\n neutralLighter: '#f3f2f1',\n neutralLighterAlt: '#faf9f8',\n accent: '#0078d4',\n white: '#ffffff',\n whiteTranslucent40: 'rgba(255,255,255,.4)',\n yellowDark: '#d29200',\n yellow: '#ffb900',\n yellowLight: '#fff100',\n orange: '#d83b01',\n orangeLight: '#ea4300',\n orangeLighter: '#ff8c00',\n redDark: '#a4262c',\n red: '#e81123',\n magentaDark: '#5c005c',\n magenta: '#b4009e',\n magentaLight: '#e3008c',\n purpleDark: '#32145a',\n purple: '#5c2d91',\n purpleLight: '#b4a0ff',\n blueDark: '#002050',\n blueMid: '#00188f',\n blue: '#0078d4',\n blueLight: '#00bcf2',\n tealDark: '#004b50',\n teal: '#008272',\n tealLight: '#00b294',\n greenDark: '#004b1c',\n green: '#107c10',\n greenLight: '#bad80a'\n};","// Fallback fonts, if specified system or web fonts are unavailable.\nvar FontFamilyFallbacks = \"'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif\"; // Font face names to be registered.\n\nexport var LocalizedFontNames;\n\n(function (LocalizedFontNames) {\n LocalizedFontNames.Arabic = 'Segoe UI Web (Arabic)';\n LocalizedFontNames.Cyrillic = 'Segoe UI Web (Cyrillic)';\n LocalizedFontNames.EastEuropean = 'Segoe UI Web (East European)';\n LocalizedFontNames.Greek = 'Segoe UI Web (Greek)';\n LocalizedFontNames.Hebrew = 'Segoe UI Web (Hebrew)';\n LocalizedFontNames.Thai = 'Leelawadee UI Web';\n LocalizedFontNames.Vietnamese = 'Segoe UI Web (Vietnamese)';\n LocalizedFontNames.WestEuropean = 'Segoe UI Web (West European)';\n LocalizedFontNames.Selawik = 'Selawik Web';\n LocalizedFontNames.Armenian = 'Segoe UI Web (Armenian)';\n LocalizedFontNames.Georgian = 'Segoe UI Web (Georgian)';\n})(LocalizedFontNames || (LocalizedFontNames = {})); // Font families with fallbacks, for the general regions.\n\n\nexport var LocalizedFontFamilies;\n\n(function (LocalizedFontFamilies) {\n LocalizedFontFamilies.Arabic = \"'\" + LocalizedFontNames.Arabic + \"'\";\n LocalizedFontFamilies.ChineseSimplified = \"'Microsoft Yahei UI', Verdana, Simsun\";\n LocalizedFontFamilies.ChineseTraditional = \"'Microsoft Jhenghei UI', Pmingliu\";\n LocalizedFontFamilies.Cyrillic = \"'\" + LocalizedFontNames.Cyrillic + \"'\";\n LocalizedFontFamilies.EastEuropean = \"'\" + LocalizedFontNames.EastEuropean + \"'\";\n LocalizedFontFamilies.Greek = \"'\" + LocalizedFontNames.Greek + \"'\";\n LocalizedFontFamilies.Hebrew = \"'\" + LocalizedFontNames.Hebrew + \"'\";\n LocalizedFontFamilies.Hindi = \"'Nirmala UI'\";\n LocalizedFontFamilies.Japanese = \"'Yu Gothic UI', 'Meiryo UI', Meiryo, 'MS Pgothic', Osaka\";\n LocalizedFontFamilies.Korean = \"'Malgun Gothic', Gulim\";\n LocalizedFontFamilies.Selawik = \"'\" + LocalizedFontNames.Selawik + \"'\";\n LocalizedFontFamilies.Thai = \"'Leelawadee UI Web', 'Kmer UI'\";\n LocalizedFontFamilies.Vietnamese = \"'\" + LocalizedFontNames.Vietnamese + \"'\";\n LocalizedFontFamilies.WestEuropean = \"'\" + LocalizedFontNames.WestEuropean + \"'\";\n LocalizedFontFamilies.Armenian = \"'\" + LocalizedFontNames.Armenian + \"'\";\n LocalizedFontFamilies.Georgian = \"'\" + LocalizedFontNames.Georgian + \"'\";\n})(LocalizedFontFamilies || (LocalizedFontFamilies = {})); // By default, we favor system fonts for the default.\n// All localized fonts use a web font and never use the system font.\n\n\nvar defaultFontFamily = \"'Segoe UI', '\" + LocalizedFontNames.WestEuropean + \"'\"; // Mapping of language prefix to to font family.\n\nvar LanguageToFontMap = {\n ar: LocalizedFontFamilies.Arabic,\n bg: LocalizedFontFamilies.Cyrillic,\n cs: LocalizedFontFamilies.EastEuropean,\n el: LocalizedFontFamilies.Greek,\n et: LocalizedFontFamilies.EastEuropean,\n he: LocalizedFontFamilies.Hebrew,\n hi: LocalizedFontFamilies.Hindi,\n hr: LocalizedFontFamilies.EastEuropean,\n hu: LocalizedFontFamilies.EastEuropean,\n ja: LocalizedFontFamilies.Japanese,\n kk: LocalizedFontFamilies.EastEuropean,\n ko: LocalizedFontFamilies.Korean,\n lt: LocalizedFontFamilies.EastEuropean,\n lv: LocalizedFontFamilies.EastEuropean,\n pl: LocalizedFontFamilies.EastEuropean,\n ru: LocalizedFontFamilies.Cyrillic,\n sk: LocalizedFontFamilies.EastEuropean,\n 'sr-latn': LocalizedFontFamilies.EastEuropean,\n th: LocalizedFontFamilies.Thai,\n tr: LocalizedFontFamilies.EastEuropean,\n uk: LocalizedFontFamilies.Cyrillic,\n vi: LocalizedFontFamilies.Vietnamese,\n 'zh-hans': LocalizedFontFamilies.ChineseSimplified,\n 'zh-hant': LocalizedFontFamilies.ChineseTraditional,\n hy: LocalizedFontFamilies.Armenian,\n ka: LocalizedFontFamilies.Georgian\n}; // Standard font sizes.\n\nexport var FontSizes;\n\n(function (FontSizes) {\n FontSizes.mini = '10px';\n FontSizes.xSmall = '10px';\n FontSizes.small = '12px';\n FontSizes.smallPlus = '12px';\n FontSizes.medium = '14px';\n FontSizes.mediumPlus = '16px';\n FontSizes.icon = '16px';\n FontSizes.large = '18px';\n FontSizes.xLarge = '20px';\n FontSizes.xLargePlus = '24px';\n FontSizes.xxLarge = '28px';\n FontSizes.xxLargePlus = '32px';\n FontSizes.superLarge = '42px';\n FontSizes.mega = '68px';\n})(FontSizes || (FontSizes = {})); // Standard font weights.\n\n\nexport var FontWeights;\n\n(function (FontWeights) {\n FontWeights.light = 100;\n FontWeights.semilight = 300;\n FontWeights.regular = 400;\n FontWeights.semibold = 600;\n FontWeights.bold = 700;\n})(FontWeights || (FontWeights = {})); // Standard Icon Sizes.\n\n\nexport var IconFontSizes;\n\n(function (IconFontSizes) {\n IconFontSizes.xSmall = '10px';\n IconFontSizes.small = '12px';\n IconFontSizes.medium = '16px';\n IconFontSizes.large = '20px';\n})(IconFontSizes || (IconFontSizes = {}));\n\nfunction _fontFamilyWithFallbacks(fontFamily) {\n return fontFamily + \", \" + FontFamilyFallbacks;\n}\n\nexport function createFontStyles(localeCode) {\n var localizedFont = _getLocalizedFontFamily(localeCode);\n\n var fontFamilyWithFallback = _fontFamilyWithFallbacks(localizedFont);\n\n var fontStyles = {\n tiny: _createFont(FontSizes.mini, FontWeights.regular, fontFamilyWithFallback),\n xSmall: _createFont(FontSizes.xSmall, FontWeights.regular, fontFamilyWithFallback),\n small: _createFont(FontSizes.small, FontWeights.regular, fontFamilyWithFallback),\n smallPlus: _createFont(FontSizes.smallPlus, FontWeights.regular, fontFamilyWithFallback),\n medium: _createFont(FontSizes.medium, FontWeights.regular, fontFamilyWithFallback),\n mediumPlus: _createFont(FontSizes.mediumPlus, FontWeights.regular, fontFamilyWithFallback),\n large: _createFont(FontSizes.large, FontWeights.regular, fontFamilyWithFallback),\n xLarge: _createFont(FontSizes.xLarge, FontWeights.semibold, fontFamilyWithFallback),\n xLargePlus: _createFont(FontSizes.xLargePlus, FontWeights.semibold, fontFamilyWithFallback),\n xxLarge: _createFont(FontSizes.xxLarge, FontWeights.semibold, fontFamilyWithFallback),\n xxLargePlus: _createFont(FontSizes.xxLargePlus, FontWeights.semibold, fontFamilyWithFallback),\n superLarge: _createFont(FontSizes.superLarge, FontWeights.semibold, fontFamilyWithFallback),\n mega: _createFont(FontSizes.mega, FontWeights.semibold, fontFamilyWithFallback)\n };\n return fontStyles;\n}\n/**\n * If there is a localized font for this language, return that. Returns undefined if there is no localized font for that language.\n */\n\nfunction _getLocalizedFontFamily(language) {\n for (var lang in LanguageToFontMap) {\n if (LanguageToFontMap.hasOwnProperty(lang) && language && lang.indexOf(language) === 0) {\n // tslint:disable-next-line:no-any\n return LanguageToFontMap[lang];\n }\n }\n\n return defaultFontFamily;\n}\n\nfunction _createFont(size, weight, fontFamily) {\n return {\n fontFamily: fontFamily,\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontSize: size,\n fontWeight: weight\n };\n}","export var DefaultEffects = {\n // commented values are the defaults for Fluent\n elevation4: '0 1.6px 3.6px 0 rgba(0, 0, 0, 0.132), 0 0.3px 0.9px 0 rgba(0, 0, 0, 0.108)',\n elevation8: '0 3.2px 7.2px 0 rgba(0, 0, 0, 0.132), 0 0.6px 1.8px 0 rgba(0, 0, 0, 0.108)',\n elevation16: '0 6.4px 14.4px 0 rgba(0, 0, 0, 0.132), 0 1.2px 3.6px 0 rgba(0, 0, 0, 0.108)',\n elevation64: '0 25.6px 57.6px 0 rgba(0, 0, 0, 0.22), 0 4.8px 14.4px 0 rgba(0, 0, 0, 0.18)',\n roundedCorner2: '2px'\n};","import { getDocument } from './dom/getDocument';\nimport { getItem, setItem } from './localStorage'; // Default to undefined so that we initialize on first read.\n\nvar _language;\n/**\n * Gets the rtl state of the page (returns true if in rtl.)\n *\n * @public\n */\n\n\nexport function getLanguage() {\n if (_language === undefined) {\n var doc = getDocument();\n var savedLanguage = getItem('language');\n\n if (savedLanguage !== null) {\n _language = savedLanguage;\n }\n\n if (_language === undefined && doc) {\n _language = doc.documentElement.getAttribute('lang');\n }\n\n if (_language === undefined) {\n _language = 'en';\n }\n }\n\n return _language;\n}\n/**\n * Sets the rtl state of the page (by adjusting the dir attribute of the html element.)\n *\n * @public\n */\n\nexport function setLanguage(language, avoidPersisting) {\n if (avoidPersisting === void 0) {\n avoidPersisting = false;\n }\n\n var doc = getDocument();\n\n if (doc) {\n doc.documentElement.setAttribute('lang', language);\n }\n\n if (!avoidPersisting) {\n setItem('language', language);\n }\n\n _language = language;\n}","import { fontFace } from '@uifabric/merge-styles';\nimport { createFontStyles, FontWeights, LocalizedFontFamilies, LocalizedFontNames } from './fonts';\nimport { getLanguage, getWindow } from '@uifabric/utilities'; // Default urls.\n\nvar DefaultBaseUrl = 'https://static2.sharepointonline.com/files/fabric/assets'; // Standard font styling.\n\nexport var DefaultFontStyles = createFontStyles(getLanguage());\n\nfunction _registerFontFace(fontFamily, url, fontWeight, localFontName) {\n fontFamily = \"'\" + fontFamily + \"'\";\n var localFontSrc = localFontName !== undefined ? \"local('\" + localFontName + \"'),\" : '';\n fontFace({\n fontFamily: fontFamily,\n src: localFontSrc + (\"url('\" + url + \".woff2') format('woff2'),\") + (\"url('\" + url + \".woff') format('woff')\"),\n fontWeight: fontWeight,\n fontStyle: 'normal',\n fontDisplay: 'swap'\n });\n}\n\nfunction _registerFontFaceSet(baseUrl, fontFamily, cdnFolder, cdnFontName, localFontName) {\n if (cdnFontName === void 0) {\n cdnFontName = 'segoeui';\n }\n\n var urlBase = baseUrl + \"/\" + cdnFolder + \"/\" + cdnFontName;\n\n _registerFontFace(fontFamily, urlBase + '-light', FontWeights.light, localFontName && localFontName + ' Light');\n\n _registerFontFace(fontFamily, urlBase + '-semilight', FontWeights.semilight, localFontName && localFontName + ' SemiLight');\n\n _registerFontFace(fontFamily, urlBase + '-regular', FontWeights.regular, localFontName);\n\n _registerFontFace(fontFamily, urlBase + '-semibold', FontWeights.semibold, localFontName && localFontName + ' SemiBold');\n}\n\nexport function registerDefaultFontFaces(baseUrl) {\n if (baseUrl) {\n var fontUrl = baseUrl + \"/fonts\"; // Produce @font-face definitions for all supported web fonts.\n\n _registerFontFaceSet(fontUrl, LocalizedFontNames.Thai, 'leelawadeeui-thai', 'leelawadeeui');\n\n _registerFontFaceSet(fontUrl, LocalizedFontNames.Arabic, 'segoeui-arabic');\n\n _registerFontFaceSet(fontUrl, LocalizedFontNames.Cyrillic, 'segoeui-cyrillic');\n\n _registerFontFaceSet(fontUrl, LocalizedFontNames.EastEuropean, 'segoeui-easteuropean');\n\n _registerFontFaceSet(fontUrl, LocalizedFontNames.Greek, 'segoeui-greek');\n\n _registerFontFaceSet(fontUrl, LocalizedFontNames.Hebrew, 'segoeui-hebrew');\n\n _registerFontFaceSet(fontUrl, LocalizedFontNames.Vietnamese, 'segoeui-vietnamese');\n\n _registerFontFaceSet(fontUrl, LocalizedFontNames.WestEuropean, 'segoeui-westeuropean', 'segoeui', 'Segoe UI');\n\n _registerFontFaceSet(fontUrl, LocalizedFontFamilies.Selawik, 'selawik', 'selawik');\n\n _registerFontFaceSet(fontUrl, LocalizedFontNames.Armenian, 'segoeui-armenian');\n\n _registerFontFaceSet(fontUrl, LocalizedFontNames.Georgian, 'segoeui-georgian'); // Leelawadee UI (Thai) does not have a 'light' weight, so we override\n // the font-face generated above to use the 'semilight' weight instead.\n\n\n _registerFontFace('Leelawadee UI Web', fontUrl + \"/leelawadeeui-thai/leelawadeeui-semilight\", FontWeights.light); // Leelawadee UI (Thai) does not have a 'semibold' weight, so we override\n // the font-face generated above to use the 'bold' weight instead.\n\n\n _registerFontFace('Leelawadee UI Web', fontUrl + \"/leelawadeeui-thai/leelawadeeui-bold\", FontWeights.semibold);\n }\n}\n/**\n * Reads the fontBaseUrl from window.FabricConfig.fontBaseUrl or falls back to a default.\n */\n\nfunction _getFontBaseUrl() {\n var win = getWindow(); // tslint:disable-next-line:no-string-literal no-any\n\n var fabricConfig = win ? win['FabricConfig'] : undefined;\n return fabricConfig && fabricConfig.fontBaseUrl !== undefined ? fabricConfig.fontBaseUrl : DefaultBaseUrl;\n}\n/**\n * Register the font faces.\n */\n\n\nregisterDefaultFontFaces(_getFontBaseUrl());","import { getWindow } from './dom/getWindow';\n/**\n * Fetches an item from local storage without throwing an exception\n * @param key The key of the item to fetch from local storage\n */\n\nexport function getItem(key) {\n var result = null;\n\n try {\n var win = getWindow();\n result = win ? win.localStorage.getItem(key) : null;\n } catch (e) {\n /* Eat the exception */\n }\n\n return result;\n}\n/**\n * Inserts an item into local storage without throwing an exception\n * @param key The key of the item to add to local storage\n * @param data The data to put into local storage\n */\n\nexport function setItem(key, data) {\n try {\n var win = getWindow();\n win && win.localStorage.setItem(key, data);\n } catch (e) {\n /* Eat the exception */\n }\n}","export var HighContrastSelector = '@media screen and (-ms-high-contrast: active)';\nexport var HighContrastSelectorWhite = '@media screen and (-ms-high-contrast: black-on-white)';\nexport var HighContrastSelectorBlack = '@media screen and (-ms-high-contrast: white-on-black)';\nexport var ScreenWidthMinSmall = 320;\nexport var ScreenWidthMinMedium = 480;\nexport var ScreenWidthMinLarge = 640;\nexport var ScreenWidthMinXLarge = 1024;\nexport var ScreenWidthMinXXLarge = 1366;\nexport var ScreenWidthMinXXXLarge = 1920;\nexport var ScreenWidthMaxSmall = ScreenWidthMinMedium - 1;\nexport var ScreenWidthMaxMedium = ScreenWidthMinLarge - 1;\nexport var ScreenWidthMaxLarge = ScreenWidthMinXLarge - 1;\nexport var ScreenWidthMaxXLarge = ScreenWidthMinXXLarge - 1;\nexport var ScreenWidthMaxXXLarge = ScreenWidthMinXXXLarge - 1;\nexport var ScreenWidthMinUhfMobile = 768;\nexport function getScreenSelector(min, max) {\n return \"@media only screen and (min-width: \" + min + \"px) and (max-width: \" + max + \"px)\";\n}","export var ZIndexes;\n\n(function (ZIndexes) {\n ZIndexes.Nav = 1;\n /**\n * @deprecated ScrollablePane\n */\n\n ZIndexes.ScrollablePane = 1;\n ZIndexes.FocusStyle = 1;\n ZIndexes.Coachmark = 1000;\n ZIndexes.Layer = 1000000;\n ZIndexes.KeytipLayer = 1000001;\n})(ZIndexes || (ZIndexes = {}));","import { HighContrastSelector } from './CommonStyles';\nimport { IsFocusVisibleClassName } from '@uifabric/utilities';\nimport { ZIndexes } from './zIndexes';\nexport function getFocusStyle(theme, insetOrOptions, position, highContrastStyle, borderColor, outlineColor, isFocusedOnly) {\n if (typeof insetOrOptions === 'number' || !insetOrOptions) {\n return _getFocusStyleInternal(theme, {\n inset: insetOrOptions,\n position: position,\n highContrastStyle: highContrastStyle,\n borderColor: borderColor,\n outlineColor: outlineColor,\n isFocusedOnly: isFocusedOnly\n });\n } else {\n return _getFocusStyleInternal(theme, insetOrOptions);\n }\n}\n\nfunction _getFocusStyleInternal(theme, options) {\n var _a, _b;\n\n if (options === void 0) {\n options = {};\n }\n\n var _c = options.inset,\n inset = _c === void 0 ? 0 : _c,\n _d = options.width,\n width = _d === void 0 ? 1 : _d,\n _e = options.position,\n position = _e === void 0 ? 'relative' : _e,\n highContrastStyle = options.highContrastStyle,\n _f = options.borderColor,\n borderColor = _f === void 0 ? theme.palette.white : _f,\n _g = options.outlineColor,\n outlineColor = _g === void 0 ? theme.palette.neutralSecondary : _g,\n _h = options.isFocusedOnly,\n isFocusedOnly = _h === void 0 ? true : _h;\n return {\n // Clear browser-specific focus styles and use 'transparent' as placeholder for focus style.\n outline: 'transparent',\n // Requirement because pseudo-element is absolutely positioned.\n position: position,\n selectors: (_a = {\n // Clear the focus border in Firefox.\n // Reference: http://stackoverflow.com/a/199319/1436671\n '::-moz-focus-inner': {\n border: '0'\n }\n }, // When the element that uses this mixin is in a :focus state, add a pseudo-element to\n // create a border.\n _a[\".\" + IsFocusVisibleClassName + \" &\" + (isFocusedOnly ? ':focus' : '') + \":after\"] = {\n content: '\"\"',\n position: 'absolute',\n left: inset + 1,\n top: inset + 1,\n bottom: inset + 1,\n right: inset + 1,\n border: width + \"px solid \" + borderColor,\n outline: width + \"px solid \" + outlineColor,\n zIndex: ZIndexes.FocusStyle,\n selectors: (_b = {}, _b[HighContrastSelector] = highContrastStyle, _b)\n }, _a)\n };\n}\n/**\n * Generates style to clear browser specific focus styles.\n */\n\n\nexport function focusClear() {\n return {\n selectors: {\n '&::-moz-focus-inner': {\n // Clear the focus border in Firefox. Reference: http://stackoverflow.com/a/199319/1436671\n border: 0\n },\n '&': {\n // Clear browser specific focus styles and use transparent as placeholder for focus style\n outline: 'transparent'\n }\n }\n };\n}\n/**\n * Generates a style which can be used to set a border on focus.\n *\n * @param theme - The theme object to use.\n * @param inset - The number of pixels to inset the border (default 0)\n * @param width - The border width in pixels (default 1)\n * @param color - Color of the outline (default `theme.palette.neutralSecondary`)\n * @returns The style object.\n */\n\nexport function getFocusOutlineStyle(theme, inset, width, color) {\n var _a;\n\n if (inset === void 0) {\n inset = 0;\n }\n\n if (width === void 0) {\n width = 1;\n }\n\n return {\n selectors: (_a = {}, _a[\":global(\" + IsFocusVisibleClassName + \") &:focus\"] = {\n outline: width + \" solid \" + (color || theme.palette.neutralSecondary),\n outlineOffset: -inset + \"px\"\n }, _a)\n };\n}\n/**\n * Generates text input border styles on focus.\n *\n * @param borderColor - Color of the border.\n * @param borderRadius - Radius of the border.\n * @param borderType - Type of the border.\n * @param borderPosition - Position of the border relative to the input element (default to -1\n * as it's the most common border width of the input element)\n * @returns The style object.\n */\n\nexport var getInputFocusStyle = function getInputFocusStyle(borderColor, borderRadius, borderType, borderPosition) {\n var _a, _b, _c;\n\n if (borderType === void 0) {\n borderType = 'border';\n }\n\n if (borderPosition === void 0) {\n borderPosition = -1;\n }\n\n var isBorderBottom = borderType === 'borderBottom';\n return {\n borderColor: borderColor,\n selectors: {\n ':after': (_a = {\n pointerEvents: 'none',\n content: \"''\",\n position: 'absolute',\n left: isBorderBottom ? 0 : borderPosition,\n top: borderPosition,\n bottom: borderPosition,\n right: isBorderBottom ? 0 : borderPosition\n }, _a[borderType] = \"2px solid \" + borderColor, _a.borderRadius = borderRadius, _a.width = borderType === 'borderBottom' ? '100%' : undefined, _a.selectors = (_b = {}, _b[HighContrastSelector] = (_c = {}, _c[borderType === 'border' ? 'borderColor' : 'borderBottomColor'] = 'Highlight', _c), _b), _a)\n }\n };\n};","export var hiddenContentStyle = {\n position: 'absolute',\n width: 1,\n height: 1,\n margin: -1,\n padding: 0,\n border: 0,\n overflow: 'hidden'\n};","import { __assign } from \"tslib\";\nimport { keyframes } from '@uifabric/merge-styles';\nvar DEFAULT_DURATION = '14s';\nvar DEFAULT_DELAY = '2s';\nvar DEFAULT_ITERATION_COUNT = '1';\n\nfunction _continuousPulseStepOne(beaconColorOne, innerDimension) {\n return {\n borderColor: beaconColorOne,\n borderWidth: '0px',\n width: innerDimension,\n height: innerDimension\n };\n}\n\nfunction _continuousPulseStepTwo(borderWidth) {\n return {\n opacity: 1,\n borderWidth: borderWidth\n };\n}\n\nfunction _continuousPulseStepThree() {\n return {\n opacity: 1\n };\n}\n\nfunction _continuousPulseStepFour(beaconColorTwo, outerDimension) {\n return {\n borderWidth: '0',\n width: outerDimension,\n height: outerDimension,\n opacity: 0,\n borderColor: beaconColorTwo\n };\n}\n\nfunction _continuousPulseStepFive(beaconColorOne, innerDimension) {\n return __assign(__assign({}, _continuousPulseStepOne(beaconColorOne, innerDimension)), {\n opacity: 0\n });\n}\n\nfunction _continuousPulseAnimationDouble(beaconColorOne, beaconColorTwo, innerDimension, outerDimension, borderWidth) {\n return keyframes({\n '0%': _continuousPulseStepOne(beaconColorOne, innerDimension),\n '1.42%': _continuousPulseStepTwo(borderWidth),\n '3.57%': _continuousPulseStepThree(),\n '7.14%': _continuousPulseStepFour(beaconColorTwo, outerDimension),\n '8%': _continuousPulseStepFive(beaconColorOne, innerDimension),\n '29.99%': _continuousPulseStepFive(beaconColorOne, innerDimension),\n '30%': _continuousPulseStepOne(beaconColorOne, innerDimension),\n '31.42%': _continuousPulseStepTwo(borderWidth),\n '33.57%': _continuousPulseStepThree(),\n '37.14%': _continuousPulseStepFour(beaconColorTwo, outerDimension),\n '38%': _continuousPulseStepFive(beaconColorOne, innerDimension),\n '79.42%': _continuousPulseStepFive(beaconColorOne, innerDimension),\n '79.43': _continuousPulseStepOne(beaconColorOne, innerDimension),\n '81.85': _continuousPulseStepTwo(borderWidth),\n '83.42': _continuousPulseStepThree(),\n '87%': _continuousPulseStepFour(beaconColorTwo, outerDimension),\n '100%': {}\n });\n}\n\nfunction _continuousPulseAnimationSingle(beaconColorOne, beaconColorTwo, innerDimension, outerDimension, borderWidth) {\n return keyframes({\n '0%': _continuousPulseStepOne(beaconColorOne, innerDimension),\n '14.2%': _continuousPulseStepTwo(borderWidth),\n '35.7%': _continuousPulseStepThree(),\n '71.4%': _continuousPulseStepFour(beaconColorTwo, outerDimension),\n '100%': {}\n });\n}\n\nfunction _createDefaultAnimation(animationName, delayLength) {\n return {\n animationName: animationName,\n animationIterationCount: DEFAULT_ITERATION_COUNT,\n animationDuration: DEFAULT_DURATION,\n animationDelay: delayLength || DEFAULT_DELAY\n };\n}\n\nexport var PulsingBeaconAnimationStyles = {\n continuousPulseAnimationDouble: _continuousPulseAnimationDouble,\n continuousPulseAnimationSingle: _continuousPulseAnimationSingle,\n createDefaultAnimation: _createDefaultAnimation\n};","import { Stylesheet } from '@uifabric/merge-styles';\nimport { memoizeFunction } from '@uifabric/utilities';\n/**\n * Internal memoized function which simply takes in the class map and the\n * disable boolean. These immutable values can be memoized.\n */\n\nvar _getGlobalClassNames = memoizeFunction(function (classNames, disableGlobalClassNames) {\n var styleSheet = Stylesheet.getInstance();\n\n if (disableGlobalClassNames) {\n // disable global classnames\n return Object.keys(classNames).reduce(function (acc, className) {\n acc[className] = styleSheet.getClassName(classNames[className]);\n return acc;\n }, {});\n } // use global classnames\n\n\n return classNames;\n});\n/**\n * Checks for the `disableGlobalClassNames` property on the `theme` to determine if it should return `classNames`\n * Note that calls to this function are memoized.\n *\n * @param classNames - The collection of global class names that apply when the flag is false. Make sure to pass in\n * the same instance on each call to benefit from memoization.\n * @param theme - The theme to check the flag on\n * @param disableGlobalClassNames - Optional. Explicitly opt in/out of disabling global classnames. Defaults to false.\n */\n\n\nexport function getGlobalClassNames(classNames, theme, disableGlobalClassNames) {\n return _getGlobalClassNames(classNames, disableGlobalClassNames !== undefined ? disableGlobalClassNames : theme.disableGlobalClassNames);\n}","/**\n * Simple deep merge function. Takes all arguments and returns a deep copy of the objects merged\n * together in the order provided. If an object creates a circular reference, it will assign the\n * original reference.\n */\nexport function merge(target) {\n var args = [];\n\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n\n for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {\n var arg = args_1[_a];\n\n _merge(target || {}, arg);\n }\n\n return target;\n}\n/**\n * The _merge helper iterates through all props on source and assigns them to target.\n * When the value is an object, we will create a deep clone of the object. However if\n * there is a circular reference, the value will not be deep cloned and will persist\n * the reference.\n */\n// tslint:disable-next-line:no-any\n\nfunction _merge(target, source, circularReferences) {\n if (circularReferences === void 0) {\n circularReferences = [];\n }\n\n circularReferences.push(source);\n\n for (var name_1 in source) {\n if (source.hasOwnProperty(name_1)) {\n var value = source[name_1];\n\n if (typeof value === 'object') {\n var isCircularReference = circularReferences.indexOf(value) > -1;\n target[name_1] = isCircularReference ? value : _merge(target[name_1] || {}, value, circularReferences);\n } else {\n target[name_1] = value;\n }\n }\n }\n\n circularReferences.pop();\n return target;\n}","export var DefaultSpacing = {\n s2: '4px',\n s1: '8px',\n m: '16px',\n l1: '20px',\n l2: '32px'\n};","var _a;\n\nimport { __assign } from \"tslib\";\nimport { Customizations, merge, getWindow } from '@uifabric/utilities';\nimport { DefaultFontStyles } from './DefaultFontStyles';\nimport { DefaultPalette } from './DefaultPalette';\nimport { DefaultSpacing } from './DefaultSpacing';\nimport { loadTheme as legacyLoadTheme } from '@microsoft/load-themed-styles';\nimport { DefaultEffects } from './DefaultEffects';\n\nvar _theme = createTheme({\n palette: DefaultPalette,\n semanticColors: _makeSemanticColorsFromPalette(DefaultPalette, false, false),\n fonts: DefaultFontStyles,\n isInverted: false,\n disableGlobalClassNames: false\n});\n\nvar _onThemeChangeCallbacks = [];\nexport var ThemeSettingName = 'theme';\n\nif (!Customizations.getSettings([ThemeSettingName]).theme) {\n var win = getWindow(); // tslint:disable:no-string-literal no-any\n\n if (win && win['FabricConfig'] && win['FabricConfig'].theme) {\n _theme = createTheme(win['FabricConfig'].theme);\n } // tslint:enable:no-string-literal no-any\n // Set the default theme.\n\n\n Customizations.applySettings((_a = {}, _a[ThemeSettingName] = _theme, _a));\n}\n/**\n * Gets the theme object\n * @param depComments - Whether to include deprecated tags as comments for deprecated slots.\n */\n\n\nexport function getTheme(depComments) {\n if (depComments === void 0) {\n depComments = false;\n }\n\n if (depComments === true) {\n _theme = createTheme({}, depComments);\n }\n\n return _theme;\n}\n/**\n * Registers a callback that gets called whenever the theme changes.\n * This should only be used when the component cannot automatically get theme changes through its state.\n * This will not register duplicate callbacks.\n */\n\nexport function registerOnThemeChangeCallback(callback) {\n if (_onThemeChangeCallbacks.indexOf(callback) === -1) {\n _onThemeChangeCallbacks.push(callback);\n }\n}\n/**\n * See registerOnThemeChangeCallback().\n * Removes previously registered callbacks.\n */\n\nexport function removeOnThemeChangeCallback(callback) {\n var i = _onThemeChangeCallbacks.indexOf(callback);\n\n if (i === -1) {\n return;\n }\n\n _onThemeChangeCallbacks.splice(i, 1);\n}\n/**\n * Applies the theme, while filling in missing slots.\n * @param theme - Partial theme object.\n * @param depComments - Whether to include deprecated tags as comments for deprecated slots.\n */\n\nexport function loadTheme(theme, depComments) {\n var _a;\n\n if (depComments === void 0) {\n depComments = false;\n }\n\n _theme = createTheme(theme, depComments); // Invoke the legacy method of theming the page as well.\n\n legacyLoadTheme(__assign(__assign(__assign(__assign({}, _theme.palette), _theme.semanticColors), _theme.effects), _loadFonts(_theme)));\n Customizations.applySettings((_a = {}, _a[ThemeSettingName] = _theme, _a));\n\n _onThemeChangeCallbacks.forEach(function (callback) {\n try {\n callback(_theme);\n } catch (e) {// don't let a bad callback break everything else\n }\n });\n\n return _theme;\n}\n/**\n * Loads font variables into a JSON object.\n * @param theme - The theme object\n */\n\nfunction _loadFonts(theme) {\n var lines = {};\n\n for (var _i = 0, _a = Object.keys(theme.fonts); _i < _a.length; _i++) {\n var fontName = _a[_i];\n var font = theme.fonts[fontName];\n\n for (var _b = 0, _c = Object.keys(font); _b < _c.length; _b++) {\n var propName = _c[_b];\n var name_1 = fontName + propName.charAt(0).toUpperCase() + propName.slice(1);\n var value = font[propName];\n\n if (propName === 'fontSize' && typeof value === 'number') {\n // if it's a number, convert it to px by default like our theming system does\n value = value + 'px';\n }\n\n lines[name_1] = value;\n }\n }\n\n return lines;\n}\n/**\n * Creates a custom theme definition which can be used with the Customizer.\n * @param theme - Partial theme object.\n * @param depComments - Whether to include deprecated tags as comments for deprecated slots.\n */\n\n\nexport function createTheme(theme, depComments) {\n if (depComments === void 0) {\n depComments = false;\n }\n\n var newPalette = __assign(__assign({}, DefaultPalette), theme.palette);\n\n if (!theme.palette || !theme.palette.accent) {\n newPalette.accent = newPalette.themePrimary;\n } // mix in custom overrides with good slots first, since custom overrides might be used in fixing deprecated slots\n\n\n var newSemanticColors = __assign(__assign({}, _makeSemanticColorsFromPalette(newPalette, !!theme.isInverted, depComments)), theme.semanticColors);\n\n var defaultFontStyles = __assign({}, DefaultFontStyles);\n\n if (theme.defaultFontStyle) {\n for (var _i = 0, _a = Object.keys(defaultFontStyles); _i < _a.length; _i++) {\n var fontStyle = _a[_i];\n defaultFontStyles[fontStyle] = merge({}, defaultFontStyles[fontStyle], theme.defaultFontStyle);\n }\n }\n\n if (theme.fonts) {\n for (var _b = 0, _c = Object.keys(theme.fonts); _b < _c.length; _b++) {\n var fontStyle = _c[_b];\n defaultFontStyles[fontStyle] = merge({}, defaultFontStyles[fontStyle], theme.fonts[fontStyle]);\n }\n }\n\n return {\n palette: newPalette,\n fonts: __assign({}, defaultFontStyles),\n rtl: theme.rtl,\n semanticColors: newSemanticColors,\n isInverted: !!theme.isInverted,\n disableGlobalClassNames: !!theme.disableGlobalClassNames,\n spacing: __assign(__assign({}, DefaultSpacing), theme.spacing),\n effects: __assign(__assign({}, DefaultEffects), theme.effects)\n };\n}\n/**\n * Helper to pull a given property name from a given set of sources, in order, if available. Otherwise returns the property name.\n */\n\nfunction _expandFrom(propertyName) {\n var maps = [];\n\n for (var _i = 1; _i < arguments.length; _i++) {\n maps[_i - 1] = arguments[_i];\n }\n\n if (propertyName) {\n for (var _a = 0, maps_1 = maps; _a < maps_1.length; _a++) {\n var map = maps_1[_a];\n\n if (map[propertyName]) {\n return map[propertyName];\n }\n }\n }\n\n return propertyName;\n} // Generates all the semantic slot colors based on the Fabric palette.\n// We'll use these as fallbacks for semantic slots that the passed in theme did not define.\n\n\nfunction _makeSemanticColorsFromPalette(p, isInverted, depComments) {\n var toReturn = {\n // DEFAULTS\n bodyBackground: p.white,\n bodyBackgroundHovered: p.neutralLighter,\n bodyBackgroundChecked: p.neutralLight,\n bodyStandoutBackground: p.neutralLighterAlt,\n bodyFrameBackground: p.white,\n bodyFrameDivider: p.neutralLight,\n bodyText: p.neutralPrimary,\n bodyTextChecked: p.black,\n bodySubtext: p.neutralSecondary,\n bodyDivider: p.neutralLight,\n disabledBodyText: p.neutralTertiary,\n disabledBodySubtext: p.neutralTertiaryAlt,\n disabledBorder: p.neutralTertiaryAlt,\n focusBorder: p.neutralSecondary,\n variantBorder: p.neutralLight,\n variantBorderHovered: p.neutralTertiary,\n defaultStateBackground: p.neutralLighterAlt,\n // LINKS\n actionLink: p.neutralPrimary,\n actionLinkHovered: p.neutralDark,\n link: p.themePrimary,\n linkHovered: p.themeDarker,\n // BUTTONS\n buttonBackground: p.white,\n buttonBackgroundChecked: p.neutralTertiaryAlt,\n buttonBackgroundHovered: p.neutralLighter,\n buttonBackgroundCheckedHovered: p.neutralLight,\n buttonBackgroundPressed: p.neutralLight,\n buttonBackgroundDisabled: p.neutralLighter,\n buttonBorder: p.neutralSecondaryAlt,\n buttonText: p.neutralPrimary,\n buttonTextHovered: p.neutralDark,\n buttonTextChecked: p.neutralDark,\n buttonTextCheckedHovered: p.black,\n buttonTextPressed: p.neutralDark,\n buttonTextDisabled: p.neutralTertiary,\n buttonBorderDisabled: p.neutralLighter,\n primaryButtonBackground: p.themePrimary,\n primaryButtonBackgroundHovered: p.themeDarkAlt,\n primaryButtonBackgroundPressed: p.themeDark,\n primaryButtonBackgroundDisabled: p.neutralLighter,\n primaryButtonBorder: 'transparent',\n primaryButtonText: p.white,\n primaryButtonTextHovered: p.white,\n primaryButtonTextPressed: p.white,\n primaryButtonTextDisabled: p.neutralQuaternary,\n accentButtonBackground: p.accent,\n accentButtonText: p.white,\n // INPUTS\n inputBorder: p.neutralSecondary,\n inputBorderHovered: p.neutralPrimary,\n inputBackground: p.white,\n inputBackgroundChecked: p.themePrimary,\n inputBackgroundCheckedHovered: p.themeDark,\n inputPlaceholderBackgroundChecked: p.themeLighter,\n inputForegroundChecked: p.white,\n inputIcon: p.themePrimary,\n inputIconHovered: p.themeDark,\n inputIconDisabled: p.neutralTertiary,\n inputFocusBorderAlt: p.themePrimary,\n smallInputBorder: p.neutralSecondary,\n inputText: p.neutralPrimary,\n inputTextHovered: p.neutralDark,\n inputPlaceholderText: p.neutralSecondary,\n disabledBackground: p.neutralLighter,\n disabledText: p.neutralTertiary,\n disabledSubtext: p.neutralQuaternary,\n // LISTS\n listBackground: p.white,\n listText: p.neutralPrimary,\n listItemBackgroundHovered: p.neutralLighter,\n listItemBackgroundChecked: p.neutralLight,\n listItemBackgroundCheckedHovered: p.neutralQuaternaryAlt,\n listHeaderBackgroundHovered: p.neutralLighter,\n listHeaderBackgroundPressed: p.neutralLight,\n // MENUS\n menuBackground: p.white,\n menuDivider: p.neutralTertiaryAlt,\n menuIcon: p.themePrimary,\n menuHeader: p.themePrimary,\n menuItemBackgroundHovered: p.neutralLighter,\n menuItemBackgroundPressed: p.neutralLight,\n menuItemText: p.neutralPrimary,\n menuItemTextHovered: p.neutralDark,\n errorText: !isInverted ? p.redDark : '#ff5f5f',\n warningText: !isInverted ? '#333333' : '#ffffff',\n successText: !isInverted ? '#107C10' : '#92c353',\n errorBackground: !isInverted ? 'rgba(245, 135, 145, .2)' : 'rgba(232, 17, 35, .5)',\n blockingBackground: !isInverted ? 'rgba(250, 65, 0, .2)' : 'rgba(234, 67, 0, .5)',\n warningBackground: !isInverted ? 'rgba(255, 200, 10, .2)' : 'rgba(255, 251, 0, .6)',\n warningHighlight: !isInverted ? '#ffb900' : '#fff100',\n successBackground: !isInverted ? 'rgba(95, 210, 85, .2)' : 'rgba(186, 216, 10, .4)',\n // Deprecated slots, second pass by _fixDeprecatedSlots() later for self-referential slots\n listTextColor: '',\n menuItemBackgroundChecked: p.neutralLight\n };\n return _fixDeprecatedSlots(toReturn, depComments);\n}\n\nfunction _fixDeprecatedSlots(s, depComments) {\n // Add @deprecated tag as comment if enabled\n var dep = '';\n\n if (depComments === true) {\n dep = ' /* @deprecated */';\n }\n\n s.listTextColor = s.listText + dep;\n s.menuItemBackgroundChecked += dep;\n return s;\n}","import { buildClassMap } from '../utilities/index';\nimport { AnimationStyles } from '../styles/index';\n/**\n * {@docCategory AnimationClassNames}\n */\n\nexport var AnimationClassNames = buildClassMap(AnimationStyles);","import { mergeStyles } from '@uifabric/merge-styles';\nimport { DefaultPalette } from '../styles/DefaultPalette';\nimport { getTheme } from '../styles/index';\nexport var ColorClassNames = {};\n\nfor (var colorName in DefaultPalette) {\n if (DefaultPalette.hasOwnProperty(colorName)) {\n // Foreground color\n _defineGetter(ColorClassNames, colorName, '', false, 'color'); // Hover color\n\n\n _defineGetter(ColorClassNames, colorName, 'Hover', true, 'color'); // Background color\n\n\n _defineGetter(ColorClassNames, colorName, 'Background', false, 'background'); // Background hover\n\n\n _defineGetter(ColorClassNames, colorName, 'BackgroundHover', true, 'background'); // Border color\n\n\n _defineGetter(ColorClassNames, colorName, 'Border', false, 'borderColor'); // Border hover color\n\n\n _defineGetter(ColorClassNames, colorName, 'BorderHover', true, 'borderColor');\n }\n}\n/**\n * Defines a getter for the given class configuration.\n */\n\n\nfunction _defineGetter(obj, colorName, suffix, isHover, cssProperty) {\n Object.defineProperty(obj, colorName + suffix, {\n get: function get() {\n var _a; // tslint:disable-next-line:no-any\n\n\n var style = (_a = {}, _a[cssProperty] = getTheme().palette[colorName], _a);\n return mergeStyles(isHover ? {\n selectors: {\n ':hover': style\n }\n } : style).toString();\n },\n enumerable: true,\n configurable: true\n });\n}","import { buildClassMap } from '../utilities/buildClassMap';\nimport { DefaultFontStyles } from '../styles/DefaultFontStyles';\n/**\n * {@docCategory FontClassNames}\n */\n\nexport var FontClassNames = buildClassMap(DefaultFontStyles);","// @uifabric/styling@7.10.8\n// Do not modify this file, the file is generated as part of publish. The checked in version is a placeholder only.\nimport { setVersion } from '@uifabric/set-version';\nsetVersion('@uifabric/styling', '7.10.8');","export * from './classNames/index';\nexport * from './styles/index';\nexport * from './utilities/index';\nexport * from './MergeStyles';\nimport './version';","/**\n * The possible methods that can be used to fit the image.\n * {@docCategory Image}\n */\nexport var ImageFit;\n\n(function (ImageFit) {\n /**\n * The image is not scaled. The image is centered and cropped within the content box.\n */\n ImageFit[ImageFit[\"center\"] = 0] = \"center\";\n /**\n * The image is scaled to maintain its aspect ratio while being fully contained within the frame. The image will\n * be centered horizontally and vertically within the frame. The space in the top and bottom or in the sides of\n * the frame will be empty depending on the difference in aspect ratio between the image and the frame.\n */\n\n ImageFit[ImageFit[\"contain\"] = 1] = \"contain\";\n /**\n * The image is scaled to maintain its aspect ratio while filling the frame. Portions of the image will be cropped from\n * the top and bottom, or from the sides, depending on the difference in aspect ratio between the image and the frame.\n */\n\n ImageFit[ImageFit[\"cover\"] = 2] = \"cover\";\n /**\n * Neither the image nor the frame are scaled. If their sizes do not match, the image will either be cropped or the\n * frame will have empty space.\n */\n\n ImageFit[ImageFit[\"none\"] = 3] = \"none\";\n /**\n * The image will be centered horizontally and vertically within the frame and maintains its aspect ratio. It will\n * behave as ImageFit.center if the image's natural height or width is less than the Image frame's height or width,\n * but if both natural height and width are larger than the frame it will behave as ImageFit.cover.\n */\n\n ImageFit[ImageFit[\"centerCover\"] = 4] = \"centerCover\";\n /**\n * The image will be centered horizontally and vertically within the frame and maintains its aspect ratio. It will\n * behave as ImageFit.center if the image's natural height and width is less than the Image frame's height and width,\n * but if either natural height or width are larger than the frame it will behave as ImageFit.contain.\n */\n\n ImageFit[ImageFit[\"centerContain\"] = 5] = \"centerContain\";\n})(ImageFit || (ImageFit = {}));\n/**\n * The cover style to be used on the image\n * {@docCategory Image}\n */\n\n\nexport var ImageCoverStyle;\n\n(function (ImageCoverStyle) {\n /**\n * The image will be shown at 100% height of container and the width will be scaled accordingly\n */\n ImageCoverStyle[ImageCoverStyle[\"landscape\"] = 0] = \"landscape\";\n /**\n * The image will be shown at 100% width of container and the height will be scaled accordingly\n */\n\n ImageCoverStyle[ImageCoverStyle[\"portrait\"] = 1] = \"portrait\";\n})(ImageCoverStyle || (ImageCoverStyle = {}));\n/**\n * {@docCategory Image}\n */\n\n\nexport var ImageLoadState;\n\n(function (ImageLoadState) {\n /**\n * The image has not yet been loaded, and there is no error yet.\n */\n ImageLoadState[ImageLoadState[\"notLoaded\"] = 0] = \"notLoaded\";\n /**\n * The image has been loaded successfully.\n */\n\n ImageLoadState[ImageLoadState[\"loaded\"] = 1] = \"loaded\";\n /**\n * An error has been encountered while loading the image.\n */\n\n ImageLoadState[ImageLoadState[\"error\"] = 2] = \"error\";\n /**\n * Deprecated at v1.3.6, to replace the src in case of errors, use `onLoadingStateChange` instead\n * and rerender the Image with a difference src.\n * @deprecated Use `onLoadingStateChange` instead\n * and rerender the Image with a difference src.\n */\n\n ImageLoadState[ImageLoadState[\"errorLoaded\"] = 3] = \"errorLoaded\";\n})(ImageLoadState || (ImageLoadState = {}));","import { _isSSR } from './setSSR';\nvar _window = undefined; // Note: Accessing \"window\" in IE11 is somewhat expensive, and calling \"typeof window\"\n// hits a memory leak, whereas aliasing it and calling \"typeof _window\" does not.\n// Caching the window value at the file scope lets us minimize the impact.\n\ntry {\n _window = window;\n} catch (e) {}\n/* no-op */\n\n/**\n * Helper to get the window object. The helper will make sure to use a cached variable\n * of \"window\", to avoid overhead and memory leaks in IE11. Note that in popup scenarios the\n * window object won't match the \"global\" window object, and for these scenarios, you should\n * pass in an element hosted within the popup.\n *\n * @public\n */\n\n\nexport function getWindow(rootElement) {\n if (_isSSR || typeof _window === 'undefined') {\n return undefined;\n } else {\n var el = rootElement;\n return el && el.ownerDocument && el.ownerDocument.defaultView ? el.ownerDocument.defaultView : _window;\n }\n}","export var DirectionalHint = {\n /**\n * Appear above the target element, with the left edges of the callout and target aligning.\n */\n topLeftEdge: 0,\n\n /**\n * Appear above the target element, with the centers of the callout and target aligning.\n */\n topCenter: 1,\n\n /**\n * Appear above the target element, with the right edges of the callout and target aligning.\n */\n topRightEdge: 2,\n\n /**\n * Appear above the target element, aligning with the target element such that the callout tends toward the center of the screen.\n */\n topAutoEdge: 3,\n\n /**\n * Appear below the target element, with the left edges of the callout and target aligning.\n */\n bottomLeftEdge: 4,\n\n /**\n * Appear below the target element, with the centers of the callout and target aligning.\n */\n bottomCenter: 5,\n\n /**\n * Appear below the target element, with the right edges of the callout and target aligning.\n */\n bottomRightEdge: 6,\n\n /**\n * Appear below the target element, aligning with the target element such that the callout tends toward the center of the screen.\n */\n bottomAutoEdge: 7,\n\n /**\n * Appear to the left of the target element, with the top edges of the callout and target aligning.\n */\n leftTopEdge: 8,\n\n /**\n * Appear to the left of the target element, with the centers of the callout and target aligning.\n */\n leftCenter: 9,\n\n /**\n * Appear to the left of the target element, with the bottom edges of the callout and target aligning.\n */\n leftBottomEdge: 10,\n\n /**\n * Appear to the right of the target element, with the top edges of the callout and target aligning.\n */\n rightTopEdge: 11,\n\n /**\n * Appear to the right of the target element, with the centers of the callout and target aligning.\n */\n rightCenter: 12,\n\n /**\n * Appear to the right of the target element, with the bottom edges of the callout and target aligning.\n */\n rightBottomEdge: 13\n};","/**\n * Simulated enum for keycodes. These will get inlined by uglify when used much like an enum\n *\n * @public\n * {@docCategory KeyCodes}\n */\nexport var KeyCodes = {\n backspace: 8,\n tab: 9,\n enter: 13,\n shift: 16,\n ctrl: 17,\n alt: 18,\n pauseBreak: 19,\n capslock: 20,\n escape: 27,\n space: 32,\n pageUp: 33,\n pageDown: 34,\n end: 35,\n home: 36,\n left: 37,\n up: 38,\n right: 39,\n down: 40,\n insert: 45,\n del: 46,\n zero: 48,\n one: 49,\n two: 50,\n three: 51,\n four: 52,\n five: 53,\n six: 54,\n seven: 55,\n eight: 56,\n nine: 57,\n a: 65,\n b: 66,\n c: 67,\n d: 68,\n e: 69,\n f: 70,\n g: 71,\n h: 72,\n i: 73,\n j: 74,\n k: 75,\n l: 76,\n m: 77,\n n: 78,\n o: 79,\n p: 80,\n q: 81,\n r: 82,\n s: 83,\n t: 84,\n u: 85,\n v: 86,\n w: 87,\n x: 88,\n y: 89,\n z: 90,\n leftWindow: 91,\n rightWindow: 92,\n select: 93,\n zero_numpad: 96,\n one_numpad: 97,\n two_numpad: 98,\n three_numpad: 99,\n four_numpad: 100,\n five_numpad: 101,\n six_numpad: 102,\n seven_numpad: 103,\n eight_numpad: 104,\n nine_numpad: 105,\n multiply: 106,\n add: 107,\n subtract: 109,\n decimalPoint: 110,\n divide: 111,\n f1: 112,\n f2: 113,\n f3: 114,\n f4: 115,\n f5: 116,\n f6: 117,\n f7: 118,\n f8: 119,\n f9: 120,\n f10: 121,\n f11: 122,\n f12: 123,\n numlock: 144,\n scrollLock: 145,\n semicolon: 186,\n equalSign: 187,\n comma: 188,\n dash: 189,\n period: 190,\n forwardSlash: 191,\n graveAccent: 192,\n openBracket: 219,\n backSlash: 220,\n closeBracket: 221,\n singleQuote: 222\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 /**\n * Inserts rules using the insertRule api.\n */\n insertNode: 1,\n\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 */\n\nvar REUSE_STYLE_NODE = typeof navigator !== 'undefined' && /rv:11.0/.test(navigator.userAgent); // tslint:disable-next-line:no-any\n\nvar _global = {}; // Grab window.\n\ntry {\n _global = window;\n} catch (_a) {\n /* leave as blank object */\n}\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 */\n\n\nvar Stylesheet =\n/** @class */\nfunction () {\n function Stylesheet(config) {\n this._rules = [];\n this._preservedRules = [];\n this._rulesToInsert = [];\n this._counter = 0;\n this._keyToClassName = {};\n this._onResetCallbacks = []; // tslint:disable-next-line:no-any\n\n this._classNameToArgs = {};\n this._config = __assign({\n injectionMode: InjectionMode.insertNode,\n defaultPrefix: 'css',\n namespace: undefined,\n cspSettings: undefined\n }, config);\n }\n /**\n * Gets the singleton instance.\n */\n\n\n Stylesheet.getInstance = function () {\n // tslint:disable-next-line:no-any\n _stylesheet = _global[STYLESHEET_SETTING];\n\n if (!_stylesheet || _stylesheet._lastStyleElement && _stylesheet._lastStyleElement.ownerDocument !== document) {\n // tslint:disable-next-line:no-string-literal\n var fabricConfig = _global && _global['FabricConfig'] || {};\n _stylesheet = _global[STYLESHEET_SETTING] = new Stylesheet(fabricConfig.mergeStyles);\n }\n\n return _stylesheet;\n };\n /**\n * Configures the stylesheet.\n */\n\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\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\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\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\n\n Stylesheet.prototype.classNameFromKey = function (key) {\n return this._keyToClassName[key];\n };\n /**\n * Gets the arguments associated with a given classname which was\n * previously registered using cacheClassName.\n */\n\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\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\n\n Stylesheet.prototype.insertRule = function (rule, preserve) {\n var injectionMode = this._config.injectionMode;\n var element = injectionMode !== InjectionMode.none ? this._getStyleElement() : undefined;\n\n if (preserve) {\n this._preservedRules.push(rule);\n }\n\n if (element) {\n switch (this._config.injectionMode) {\n case InjectionMode.insertNode:\n var sheet = element.sheet;\n\n try {\n sheet.insertRule(rule, sheet.cssRules.length);\n } catch (e) {// 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\n break;\n\n case InjectionMode.appendChild:\n element.appendChild(document.createTextNode(rule));\n break;\n }\n } else {\n this._rules.push(rule);\n }\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\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\n\n Stylesheet.prototype.reset = function () {\n this._rules = [];\n this._rulesToInsert = [];\n this._counter = 0;\n this._classNameToArgs = {};\n this._keyToClassName = {};\n\n this._onResetCallbacks.forEach(function (callback) {\n return callback();\n });\n }; // Forces the regeneration of incoming styles without totally resetting the stylesheet.\n\n\n Stylesheet.prototype.resetKeys = function () {\n this._keyToClassName = {};\n };\n\n Stylesheet.prototype._getStyleElement = function () {\n var _this = this;\n\n if (!this._styleElement && typeof document !== 'undefined') {\n this._styleElement = this._createStyleElement();\n\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\n return this._styleElement;\n };\n\n Stylesheet.prototype._createStyleElement = function () {\n var head = document.head;\n var styleElement = document.createElement('style');\n styleElement.setAttribute('data-merge-styles', 'true');\n var cspSettings = this._config.cspSettings;\n\n if (cspSettings) {\n if (cspSettings.nonce) {\n styleElement.setAttribute('nonce', cspSettings.nonce);\n }\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 head.insertBefore(styleElement, this._lastStyleElement.nextElementSibling);\n } else {\n var placeholderStyleTag = this._findPlaceholderStyleTag();\n\n if (placeholderStyleTag) {\n head.insertBefore(styleElement, placeholderStyleTag.nextElementSibling);\n } else {\n head.insertBefore(styleElement, head.childNodes[0]);\n }\n }\n\n this._lastStyleElement = styleElement;\n return styleElement;\n };\n\n Stylesheet.prototype._findPlaceholderStyleTag = function () {\n var head = document.head;\n\n if (head) {\n return head.querySelector('style[data-merge-styles]');\n }\n\n return null;\n };\n\n return Stylesheet;\n}();\n\nexport { Stylesheet };","'use strict';\n\nvar bind = require('./helpers/bind');\n/*global toString:true*/\n// utils is a library of generic helper functions non-specific to axios\n\n\nvar toString = Object.prototype.toString;\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\n\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\n\n\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\n\n\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor) && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\n\n\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\n\n\nfunction isFormData(val) {\n return typeof FormData !== 'undefined' && val instanceof FormData;\n}\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\n\n\nfunction isArrayBufferView(val) {\n var result;\n\n if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView) {\n result = ArrayBuffer.isView(val);\n } else {\n result = val && val.buffer && val.buffer instanceof ArrayBuffer;\n }\n\n return result;\n}\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\n\n\nfunction isString(val) {\n return typeof val === 'string';\n}\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\n\n\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\n\n\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\n\n\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\n\n\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\n\n\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\n\n\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\n\n\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\n\n\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\n\n\nfunction trim(str) {\n return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\n\n\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' || navigator.product === 'NativeScript' || navigator.product === 'NS')) {\n return false;\n }\n\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n}\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\n\n\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n } // Force an array if not already something iterable\n\n\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\n\n\nfunction merge()\n/* obj1, obj2, obj3, ... */\n{\n var result = {};\n\n function assignValue(val, key) {\n if (typeof result[key] === 'object' && typeof val === 'object') {\n result[key] = merge(result[key], val);\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n\n return result;\n}\n/**\n * Function equal to merge with the difference being that no reference\n * to original objects is kept.\n *\n * @see merge\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\n\n\nfunction deepMerge()\n/* obj1, obj2, obj3, ... */\n{\n var result = {};\n\n function assignValue(val, key) {\n if (typeof result[key] === 'object' && typeof val === 'object') {\n result[key] = deepMerge(result[key], val);\n } else if (typeof val === 'object') {\n result[key] = deepMerge({}, val);\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n\n return result;\n}\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\n\n\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n deepMerge: deepMerge,\n extend: extend,\n trim: trim\n};","import { _isSSR } from './setSSR';\n/**\n * Helper to get the document object. Note that in popup window cases, document\n * might be the wrong document, which is why we look at ownerDocument for the\n * truth. Also note that the SSR flag is used to test ssr scenarios even if\n * document is defined (from JSDOM for example.)\n *\n * @public\n */\n\nexport function getDocument(rootElement) {\n if (_isSSR || typeof document === 'undefined') {\n return undefined;\n } else {\n var el = rootElement;\n return el && el.ownerDocument ? el.ownerDocument : document;\n }\n}","import { __assign } from \"tslib\";\nimport { GlobalSettings } from '../GlobalSettings';\nvar CustomizationsGlobalKey = 'customizations';\nvar NO_CUSTOMIZATIONS = {\n settings: {},\n scopedSettings: {},\n inCustomizerContext: false\n};\n\nvar _allSettings = GlobalSettings.getValue(CustomizationsGlobalKey, {\n settings: {},\n scopedSettings: {},\n inCustomizerContext: false\n});\n\nvar _events = [];\n\nvar Customizations =\n/** @class */\nfunction () {\n function Customizations() {}\n\n Customizations.reset = function () {\n _allSettings.settings = {};\n _allSettings.scopedSettings = {};\n };\n /** Apply global Customization settings.\n * @example Customizations.applySettings(\\{ theme: \\{...\\} \\});\n */\n\n\n Customizations.applySettings = function (settings) {\n _allSettings.settings = __assign(__assign({}, _allSettings.settings), settings);\n\n Customizations._raiseChange();\n };\n /** Apply Customizations to a particular named scope, like a component.\n * @example Customizations.applyScopedSettings('Nav', \\{ styles: () =\\> \\{\\} \\});\n */\n\n\n Customizations.applyScopedSettings = function (scopeName, settings) {\n _allSettings.scopedSettings[scopeName] = __assign(__assign({}, _allSettings.scopedSettings[scopeName]), settings);\n\n Customizations._raiseChange();\n };\n\n Customizations.getSettings = function (properties, scopeName, localSettings // tslint:disable-next-line:no-any\n ) {\n if (localSettings === void 0) {\n localSettings = NO_CUSTOMIZATIONS;\n }\n\n var settings = {};\n var localScopedSettings = scopeName && localSettings.scopedSettings[scopeName] || {};\n var globalScopedSettings = scopeName && _allSettings.scopedSettings[scopeName] || {};\n\n for (var _i = 0, properties_1 = properties; _i < properties_1.length; _i++) {\n var property = properties_1[_i];\n settings[property] = localScopedSettings[property] || localSettings.settings[property] || globalScopedSettings[property] || _allSettings.settings[property];\n }\n\n return settings;\n };\n /** Used to run some code that sets Customizations without triggering an update until the end.\n * Useful for applying Customizations that don't affect anything currently rendered, or for\n * applying many customizations at once.\n * @param suppressUpdate - Do not raise the change event at the end, preventing all updates\n */\n\n\n Customizations.applyBatchedUpdates = function (code, suppressUpdate) {\n Customizations._suppressUpdates = true;\n\n try {\n code();\n } catch (_a) {\n /* do nothing */\n }\n\n Customizations._suppressUpdates = false;\n\n if (!suppressUpdate) {\n Customizations._raiseChange();\n }\n };\n\n Customizations.observe = function (onChange) {\n _events.push(onChange);\n };\n\n Customizations.unobserve = function (onChange) {\n _events = _events.filter(function (cb) {\n return cb !== onChange;\n });\n };\n\n Customizations._raiseChange = function () {\n if (!Customizations._suppressUpdates) {\n _events.forEach(function (cb) {\n return cb();\n });\n }\n };\n\n return Customizations;\n}();\n\nexport { Customizations };","import { mergeStyleSets } from '../../Styling';\n/** Class names used in themeable and non-themeable Icon components */\n\nexport var classNames = mergeStyleSets({\n root: {\n display: 'inline-block'\n },\n placeholder: ['ms-Icon-placeHolder', {\n width: '1em'\n }],\n image: ['ms-Icon-imageContainer', {\n overflow: 'hidden'\n }]\n});\n/** Class name used only in non-themeable Icon components */\n\nexport var MS_ICON = 'ms-Icon';\nexport var getStyles = function getStyles(props) {\n var className = props.className,\n iconClassName = props.iconClassName,\n isPlaceholder = props.isPlaceholder,\n isImage = props.isImage,\n styles = props.styles;\n return {\n root: [isPlaceholder && classNames.placeholder, classNames.root, isImage && classNames.image, iconClassName, className, styles && styles.root, styles && styles.imageContainer]\n };\n};","var _vendorSettings;\n\nexport function getVendorSettings() {\n if (!_vendorSettings) {\n var doc = typeof document !== 'undefined' ? document : undefined;\n var nav = typeof navigator !== 'undefined' ? navigator : undefined;\n var userAgent = nav ? nav.userAgent.toLowerCase() : undefined;\n\n if (!doc) {\n _vendorSettings = {\n isWebkit: true,\n isMoz: true,\n isOpera: true,\n isMs: true\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\n return _vendorSettings;\n}\n/**\n * Sets the vendor settings for prefixing and vendor specific operations.\n */\n\nexport function setVendorSettings(vendorSettings) {\n _vendorSettings = vendorSettings;\n}","var rules = {};\nexport function kebabRules(rulePairs, index) {\n var rule = rulePairs[index];\n rulePairs[index] = rules[rule] = rules[rule] || rule.replace(/([A-Z])/g, '-$1').toLowerCase();\n}","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\n if (autoPrefixNames[name]) {\n var value = rulePairs[index + 1];\n\n if (autoPrefixNames[name]) {\n if (vendorSettings.isWebkit) {\n rulePairs.push('-webkit-' + name, value);\n }\n\n if (vendorSettings.isMoz) {\n rulePairs.push('-moz-' + name, value);\n }\n\n if (vendorSettings.isMs) {\n rulePairs.push('-ms-' + name, value);\n }\n\n if (vendorSettings.isOpera) {\n rulePairs.push('-o-' + name, value);\n }\n }\n }\n}","var NON_PIXEL_NUMBER_PROPS = ['column-count', 'font-weight', 'flex', 'flex-grow', 'flex-shrink', 'fill-opacity', 'opacity', 'order', 'z-index', 'zoom'];\nexport function provideUnits(rulePairs, index) {\n var name = rulePairs[index];\n var value = rulePairs[index + 1];\n\n if (typeof value === 'number') {\n var unit = NON_PIXEL_NUMBER_PROPS.indexOf(name) === -1 ? 'px' : '';\n rulePairs[index + 1] = \"\" + value + unit;\n }\n}","var _a;\n\nvar LEFT = 'left';\nvar RIGHT = 'right';\nvar NO_FLIP = '@noflip';\nvar NAME_REPLACEMENTS = (_a = {}, _a[LEFT] = RIGHT, _a[RIGHT] = LEFT, _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 */\n\nexport function rtlifyRules(options, rulePairs, index) {\n if (options.rtl) {\n var name_1 = rulePairs[index];\n\n if (!name_1) {\n return;\n }\n\n var value = rulePairs[index + 1];\n\n if (typeof value === 'string' && value.indexOf(NO_FLIP) >= 0) {\n rulePairs[index + 1] = value.replace(/\\s*(?:\\/\\*\\s*)?\\@noflip\\b(?:\\s*\\*\\/)?\\s*?/g, '');\n } else if (name_1.indexOf(LEFT) >= 0) {\n rulePairs[index] = name_1.replace(LEFT, RIGHT);\n } else if (name_1.indexOf(RIGHT) >= 0) {\n rulePairs[index] = name_1.replace(RIGHT, LEFT);\n } else if (String(value).indexOf(LEFT) >= 0) {\n rulePairs[index + 1] = value.replace(LEFT, RIGHT);\n } else if (String(value).indexOf(RIGHT) >= 0) {\n rulePairs[index + 1] = value.replace(RIGHT, LEFT);\n } else if (NAME_REPLACEMENTS[name_1]) {\n rulePairs[index] = NAME_REPLACEMENTS[name_1];\n } else if (VALUE_REPLACEMENTS[value]) {\n rulePairs[index + 1] = VALUE_REPLACEMENTS[value];\n } else {\n switch (name_1) {\n case 'margin':\n case 'padding':\n rulePairs[index + 1] = flipQuad(value);\n break;\n\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 */\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 */\n\n\nfunction flipQuad(value) {\n if (typeof value === 'string') {\n var parts = value.split(' ');\n\n if (parts.length === 4) {\n return parts[0] + \" \" + parts[3] + \" \" + parts[2] + \" \" + parts[1];\n }\n }\n\n return value;\n}","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';\n\nfunction getDisplayName(rules) {\n var rootStyle = rules && rules['&'];\n return rootStyle ? rootStyle.displayName : undefined;\n}\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 */\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\n var replacementInfo = [];\n var findGlobal = /\\:global\\((.+?)\\)/g;\n var match = null; // Create a result list for global selectors so we can replace them.\n\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([match.index, match.index + match[0].length, // Wrap each of the found selectors in :global()\n match[1].split(',').map(function (v) {\n return \":global(\" + v.trim() + \")\";\n }).join(', ')]);\n }\n } // Replace the found selectors with their wrapped variants in reverse order\n\n\n return replacementInfo.reverse().reduce(function (selector, _a) {\n var matchIndex = _a[0],\n matchEndIndex = _a[1],\n replacement = _a[2];\n var prefix = selector.slice(0, matchIndex);\n var suffix = selector.slice(matchEndIndex);\n return prefix + replacement + suffix;\n }, selectorWithGlobals);\n}\n\nfunction expandSelector(newSelector, currentSelector) {\n if (newSelector.indexOf(':global(') >= 0) {\n return newSelector.replace(globalSelectorRegExp, '$1');\n } else if (newSelector.indexOf(':') === 0) {\n return currentSelector + newSelector;\n } else if (newSelector.indexOf('&') < 0) {\n return currentSelector + ' ' + newSelector;\n }\n\n return newSelector;\n}\n\nfunction extractRules(args, rules, currentSelector) {\n if (rules === void 0) {\n rules = {\n __order: []\n };\n }\n\n if (currentSelector === void 0) {\n currentSelector = '&';\n }\n\n var stylesheet = Stylesheet.getInstance();\n var currentRules = rules[currentSelector];\n\n if (!currentRules) {\n currentRules = {};\n rules[currentSelector] = currentRules;\n\n rules.__order.push(currentSelector);\n }\n\n for (var _i = 0, args_1 = args; _i < args_1.length; _i++) {\n var arg = args_1[_i]; // If the arg is a string, we need to look up the class map and merge.\n\n if (typeof arg === 'string') {\n var expandedRules = stylesheet.argsFromClassName(arg);\n\n if (expandedRules) {\n extractRules(expandedRules, rules, currentSelector);\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 } else {\n // tslint:disable-next-line:no-any\n for (var prop in arg) {\n if (prop === 'selectors') {\n // tslint:disable-next-line:no-any\n var selectors = arg.selectors;\n\n var _loop_1 = function _loop_1(newSelector) {\n if (selectors.hasOwnProperty(newSelector)) {\n var selectorValue_1 = selectors[newSelector];\n\n if (newSelector.indexOf('@') === 0) {\n newSelector = newSelector + '{' + currentSelector;\n extractRules([selectorValue_1], rules, newSelector);\n } else if (newSelector.indexOf(',') > -1) {\n expandCommaSeparatedGlobals(newSelector).split(',').map(function (s) {\n return s.trim();\n }).forEach(function (separatedSelector) {\n return extractRules([selectorValue_1], rules, expandSelector(separatedSelector, currentSelector));\n });\n } else {\n extractRules([selectorValue_1], rules, expandSelector(newSelector, currentSelector));\n }\n }\n };\n\n for (var newSelector in selectors) {\n _loop_1(newSelector);\n }\n } else {\n if (arg[prop] !== undefined) {\n // Else, add the rule to the currentSelector.\n if (prop === 'margin' || prop === 'padding') {\n // tslint:disable-next-line:no-any\n expandQuads(currentRules, prop, arg[prop]);\n } else {\n // tslint:disable-next-line:no-any\n currentRules[prop] = arg[prop];\n }\n }\n }\n }\n }\n }\n\n return rules;\n}\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}\n\nfunction getKeyForRules(options, rules) {\n var serialized = [options.rtl ? 'rtl' : 'ltr'];\n var hasProps = false;\n\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\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\n return hasProps ? serialized.join('') : undefined;\n}\n\nexport function serializeRuleEntries(options, ruleEntries) {\n if (!ruleEntries) {\n return '';\n }\n\n var allEntries = [];\n\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 } // Apply transforms.\n\n\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 } // Apply punctuation.\n\n\n for (var i = 1; i < allEntries.length; i += 4) {\n allEntries.splice(i, 1, ':', allEntries[i], ';');\n }\n\n return allEntries.join('');\n}\nexport function styleToRegistration(options) {\n var args = [];\n\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n\n var rules = extractRules(args);\n var key = getKeyForRules(options, rules);\n\n if (key) {\n var stylesheet = Stylesheet.getInstance();\n var registration = {\n className: stylesheet.classNameFromKey(key),\n key: key,\n args: args\n };\n\n if (!registration.className) {\n registration.className = stylesheet.getClassName(getDisplayName(rules));\n var rulesToInsert = [];\n\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\n registration.rulesToInsert = rulesToInsert;\n }\n\n return registration;\n }\n}\nexport function applyRegistration(registration) {\n var stylesheet = Stylesheet.getInstance();\n var className = registration.className,\n key = registration.key,\n args = registration.args,\n rulesToInsert = registration.rulesToInsert;\n\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\n if (rules) {\n var selector = rulesToInsert[i];\n selector = selector.replace(/&/g, '.' + registration.className); // Insert. Note if a media query, we must close the query with a final bracket.\n\n var processedRule = selector + \"{\" + rules + \"}\" + (selector.indexOf('@') === 0 ? '}' : '');\n stylesheet.insertRule(processedRule);\n }\n }\n\n stylesheet.cacheClassName(className, key, args, rulesToInsert);\n }\n}\nexport function styleToClassName(options) {\n var args = [];\n\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n\n var registration = styleToRegistration.apply(void 0, __spreadArrays([options], args));\n\n if (registration) {\n applyRegistration(registration);\n return registration.className;\n }\n\n return '';\n}","module.exports = require('./lib/axios');","/**\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 */\n\nexport function getRTL() {\n if (_rtl === undefined) {\n _rtl = typeof document !== 'undefined' && !!document.documentElement && document.documentElement.getAttribute('dir') === 'rtl';\n }\n\n return _rtl;\n}\n\nvar _rtl = getRTL();\n\nexport function getStyleOptions() {\n return {\n rtl: getRTL()\n };\n}","module.exports = require(\"regenerator-runtime\");\n","import * as React from 'react';\nexport var CustomizerContext = React.createContext({\n customizations: {\n inCustomizerContext: false,\n settings: {},\n scopedSettings: {}\n }\n});","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' || typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function') {\n return;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.min.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","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 */\n\nexport function getParent(child, allowVirtualParents) {\n if (allowVirtualParents === void 0) {\n allowVirtualParents = true;\n }\n\n return child && (allowVirtualParents && getVirtualParent(child) || child.parentNode && child.parentNode);\n}","import { isVirtualElement } from './isVirtualElement';\n/**\n * Gets the virtual parent given the child element, if it exists.\n *\n * @public\n */\n\nexport function getVirtualParent(child) {\n var parent;\n\n if (child && isVirtualElement(child)) {\n parent = child._virtual.parent;\n }\n\n return parent;\n}","/**\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}","function _typeof2(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\nexport default function _typeof(obj) {\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\n}","import _typeof from \"../../helpers/esm/typeof\";\nimport assertThisInitialized from \"./assertThisInitialized\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return assertThisInitialized(self);\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","var REACT_LIFECYCLE_EXCLUSIONS = ['setState', 'render', 'componentWillMount', 'UNSAFE_componentWillMount', 'componentDidMount', 'componentWillReceiveProps', 'UNSAFE_componentWillReceiveProps', 'shouldComponentUpdate', 'componentWillUpdate', 'getSnapshotBeforeUpdate', 'UNSAFE_componentWillUpdate', 'componentDidUpdate', 'componentWillUnmount'];\n/**\n * Allows you to hoist methods, except those in an exclusion set from a source object into a destination object.\n *\n * @public\n * @param destination - The instance of the object to hoist the methods onto.\n * @param source - The instance of the object where the methods are hoisted from.\n * @param exclusions - (Optional) What methods to exclude from being hoisted.\n * @returns An array of names of methods that were hoisted.\n */\n\nexport function hoistMethods( // tslint:disable-next-line:no-any\ndestination, // tslint:disable-next-line:no-any\nsource, exclusions) {\n if (exclusions === void 0) {\n exclusions = REACT_LIFECYCLE_EXCLUSIONS;\n }\n\n var hoisted = [];\n\n var _loop_1 = function _loop_1(methodName) {\n if (typeof source[methodName] === 'function' && destination[methodName] === undefined && (!exclusions || exclusions.indexOf(methodName) === -1)) {\n hoisted.push(methodName);\n /* tslint:disable:no-function-expression */\n\n destination[methodName] = function () {\n source[methodName].apply(source, arguments);\n };\n /* tslint:enable */\n\n }\n };\n\n for (var methodName in source) {\n _loop_1(methodName);\n }\n\n return hoisted;\n}\n/**\n * Provides a method for convenience to unhoist hoisted methods.\n *\n * @public\n * @param source - The source object upon which methods were hoisted.\n * @param methodNames - An array of method names to unhoist.\n */\n// tslint:disable-next-line:no-any\n\nexport function unhoistMethods(source, methodNames) {\n methodNames.forEach(function (methodName) {\n return delete source[methodName];\n });\n}","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { findDOMNode } from 'react-dom';\nimport { BaseDecorator } from './BaseDecorator';\nimport { getWindow, hoistStatics } from '../../Utilities';\nexport var ResponsiveMode;\n\n(function (ResponsiveMode) {\n ResponsiveMode[ResponsiveMode[\"small\"] = 0] = \"small\";\n ResponsiveMode[ResponsiveMode[\"medium\"] = 1] = \"medium\";\n ResponsiveMode[ResponsiveMode[\"large\"] = 2] = \"large\";\n ResponsiveMode[ResponsiveMode[\"xLarge\"] = 3] = \"xLarge\";\n ResponsiveMode[ResponsiveMode[\"xxLarge\"] = 4] = \"xxLarge\";\n ResponsiveMode[ResponsiveMode[\"xxxLarge\"] = 5] = \"xxxLarge\";\n ResponsiveMode[ResponsiveMode[\"unknown\"] = 999] = \"unknown\";\n})(ResponsiveMode || (ResponsiveMode = {}));\n\nvar RESPONSIVE_MAX_CONSTRAINT = [479, 639, 1023, 1365, 1919, 99999999];\n/**\n * User specified mode to default to, useful for server side rendering scenarios.\n */\n\nvar _defaultMode;\n/**\n * Tracking the last mode we successfully rendered, which allows us to\n * paint initial renders with the correct size.\n */\n\n\nvar _lastMode;\n/**\n * Allows a server rendered scenario to provide a default responsive mode.\n */\n\n\nexport function setResponsiveMode(responsiveMode) {\n _defaultMode = responsiveMode;\n}\nexport function withResponsiveMode(ComposedComponent) {\n var resultClass =\n /** @class */\n function (_super) {\n __extends(WithResponsiveMode, _super);\n\n function WithResponsiveMode(props) {\n var _this = _super.call(this, props) || this;\n\n _this._onResize = function () {\n var responsiveMode = _this._getResponsiveMode();\n\n if (responsiveMode !== _this.state.responsiveMode) {\n _this.setState({\n responsiveMode: responsiveMode\n });\n }\n };\n\n _this._updateComposedComponentRef = _this._updateComposedComponentRef.bind(_this);\n _this.state = {\n responsiveMode: _defaultMode || _lastMode || ResponsiveMode.large\n };\n return _this;\n }\n\n WithResponsiveMode.prototype.componentDidMount = function () {\n this._events.on(window, 'resize', this._onResize);\n\n this._onResize();\n };\n\n WithResponsiveMode.prototype.componentWillUnmount = function () {\n this._events.dispose();\n };\n\n WithResponsiveMode.prototype.render = function () {\n var responsiveMode = this.state.responsiveMode;\n return responsiveMode === ResponsiveMode.unknown ? null : React.createElement(ComposedComponent, __assign({\n ref: this._updateComposedComponentRef,\n responsiveMode: responsiveMode\n }, this.props));\n };\n\n WithResponsiveMode.prototype._getResponsiveMode = function () {\n var responsiveMode = ResponsiveMode.small;\n var element = findDOMNode(this);\n var win = getWindow(element);\n\n if (typeof win !== 'undefined') {\n try {\n while (win.innerWidth > RESPONSIVE_MAX_CONSTRAINT[responsiveMode]) {\n responsiveMode++;\n }\n } catch (e) {\n // Return a best effort result in cases where we're in the browser but it throws on getting innerWidth.\n responsiveMode = _defaultMode || _lastMode || ResponsiveMode.large;\n } // Tracking last mode just gives us a better default in future renders,\n // which avoids starting with the wrong value if we've measured once.\n\n\n _lastMode = responsiveMode;\n } else {\n if (_defaultMode !== undefined) {\n responsiveMode = _defaultMode;\n } else {\n throw new Error('Content was rendered in a server environment without providing a default responsive mode. ' + 'Call setResponsiveMode to define what the responsive mode is.');\n }\n }\n\n return responsiveMode;\n };\n\n return WithResponsiveMode;\n }(BaseDecorator);\n\n return hoistStatics(ComposedComponent, resultClass);\n}","import { __extends } from \"tslib\";\nimport { BaseComponent, hoistMethods, unhoistMethods } from '../../Utilities';\n\nvar BaseDecorator =\n/** @class */\nfunction (_super) {\n __extends(BaseDecorator, _super);\n\n function BaseDecorator(props) {\n var _this = _super.call(this, props) || this; // tslint:disable-next-line:typedef\n\n\n _this._skipComponentRefResolution = true;\n _this._updateComposedComponentRef = _this._updateComposedComponentRef.bind(_this);\n return _this;\n }\n /**\n * Updates the ref to the component composed by the decorator, which will also take care of hoisting\n * (and unhoisting as appropriate) methods from said component.\n *\n * Pass this method as the argument to the 'ref' property of the composed component.\n */\n\n\n BaseDecorator.prototype._updateComposedComponentRef = function (composedComponentInstance) {\n this._composedComponentInstance = composedComponentInstance;\n\n if (composedComponentInstance) {\n this._hoisted = hoistMethods(this, composedComponentInstance);\n } else if (this._hoisted) {\n unhoistMethods(this, this._hoisted);\n }\n };\n\n return BaseDecorator;\n}(BaseComponent);\n\nexport { BaseDecorator };","import { getWindow } from './dom/getWindow';\nexport var IsFocusVisibleClassName = 'ms-Fabric--isFocusVisible';\nexport var IsFocusHiddenClassName = 'ms-Fabric--isFocusHidden';\n/**\n * Sets the visibility of focus styling.\n * By default, focus styling (the box surrounding a focused Button, for example) only show up when navigational\n * keypresses occur (through Tab, arrows, PgUp/PgDn, Home and End), and are hidden when mouse interactions occur.\n * This API provides an imperative way to turn them on/off.\n * A use case might be when you have a keypress like ctrl-f6 navigate to a particular region on the page, and want focus to show up.\n *\n * @param enabled - whether to remove or add focus\n * @param target - optional target\n */\n\nexport function setFocusVisibility(enabled, target) {\n var win = target ? getWindow(target) : getWindow();\n\n if (win) {\n var classList = win.document.body.classList;\n classList.add(enabled ? IsFocusVisibleClassName : IsFocusHiddenClassName);\n classList.remove(enabled ? IsFocusHiddenClassName : IsFocusVisibleClassName);\n }\n}","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","import { __spreadArrays } from \"tslib\";\n/**\n * Combine a set of styles together (but does not register css classes).\n * @param styleSets - One or more stylesets to be merged (each param can also be falsy).\n */\n\nexport function concatStyleSets() {\n var styleSets = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n styleSets[_i] = arguments[_i];\n }\n\n if (styleSets && styleSets.length === 1 && styleSets[0] && !styleSets[0].subComponentStyles) {\n return styleSets[0];\n }\n\n var mergedSet = {}; // We process sub component styles in two phases. First we collect them, then we combine them into 1 style function.\n\n var workingSubcomponentStyles = {};\n\n for (var _a = 0, styleSets_1 = styleSets; _a < styleSets_1.length; _a++) {\n var currentSet = styleSets_1[_a];\n\n if (currentSet) {\n for (var prop in currentSet) {\n if (currentSet.hasOwnProperty(prop)) {\n if (prop === 'subComponentStyles' && currentSet.subComponentStyles !== undefined) {\n // subcomponent styles - style functions or objects\n var currentComponentStyles = currentSet.subComponentStyles;\n\n for (var subCompProp in currentComponentStyles) {\n if (currentComponentStyles.hasOwnProperty(subCompProp)) {\n if (workingSubcomponentStyles.hasOwnProperty(subCompProp)) {\n workingSubcomponentStyles[subCompProp].push(currentComponentStyles[subCompProp]);\n } else {\n workingSubcomponentStyles[subCompProp] = [currentComponentStyles[subCompProp]];\n }\n }\n }\n\n continue;\n } // the as any casts below is a workaround for ts 2.8.\n // todo: remove cast to any in ts 2.9.\n\n\n var mergedValue = mergedSet[prop];\n var currentValue = currentSet[prop];\n\n if (mergedValue === undefined) {\n mergedSet[prop] = currentValue;\n } else {\n mergedSet[prop] = __spreadArrays(Array.isArray(mergedValue) ? mergedValue : [mergedValue], Array.isArray(currentValue) ? currentValue : [currentValue]);\n }\n }\n }\n }\n }\n\n if (Object.keys(workingSubcomponentStyles).length > 0) {\n mergedSet.subComponentStyles = {};\n var mergedSubStyles = mergedSet.subComponentStyles;\n\n var _loop_1 = function _loop_1(subCompProp) {\n if (workingSubcomponentStyles.hasOwnProperty(subCompProp)) {\n var workingSet_1 = workingSubcomponentStyles[subCompProp];\n\n mergedSubStyles[subCompProp] = function (styleProps) {\n return concatStyleSets.apply(void 0, workingSet_1.map(function (styleFunctionOrObject) {\n return typeof styleFunctionOrObject === 'function' ? styleFunctionOrObject(styleProps) : styleFunctionOrObject;\n }));\n };\n }\n }; // now we process the subcomponent styles if there are any\n\n\n for (var subCompProp in workingSubcomponentStyles) {\n _loop_1(subCompProp);\n }\n }\n\n return mergedSet;\n}","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nif (process.env.NODE_ENV !== 'production') {\n var REACT_ELEMENT_TYPE = typeof Symbol === 'function' && Symbol.for && Symbol.for('react.element') || 0xeac7;\n\n var isValidElement = function isValidElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n }; // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n\n\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(isValidElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n'use strict';\n/* eslint-disable no-unused-vars */\n\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n if (val === null || val === undefined) {\n throw new TypeError('Object.assign cannot be called with null or undefined');\n }\n\n return Object(val);\n}\n\nfunction shouldUseNative() {\n try {\n if (!Object.assign) {\n return false;\n } // Detect buggy property enumeration order in older V8 versions.\n // https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\n\n var test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\n test1[5] = 'de';\n\n if (Object.getOwnPropertyNames(test1)[0] === '5') {\n return false;\n } // https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\n\n var test2 = {};\n\n for (var i = 0; i < 10; i++) {\n test2['_' + String.fromCharCode(i)] = i;\n }\n\n var order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n return test2[n];\n });\n\n if (order2.join('') !== '0123456789') {\n return false;\n } // https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\n\n var test3 = {};\n 'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n test3[letter] = letter;\n });\n\n if (Object.keys(Object.assign({}, test3)).join('') !== 'abcdefghijklmnopqrst') {\n return false;\n }\n\n return true;\n } catch (err) {\n // We don't expect any of the above to throw, but better to be safe.\n return false;\n }\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n var from;\n var to = toObject(target);\n var symbols;\n\n for (var s = 1; s < arguments.length; s++) {\n from = Object(arguments[s]);\n\n for (var key in from) {\n if (hasOwnProperty.call(from, key)) {\n to[key] = from[key];\n }\n }\n\n if (getOwnPropertySymbols) {\n symbols = getOwnPropertySymbols(from);\n\n for (var i = 0; i < symbols.length; i++) {\n if (propIsEnumerable.call(from, symbols[i])) {\n to[symbols[i]] = from[symbols[i]];\n }\n }\n }\n }\n\n return to;\n};","var _warningCallback = undefined;\n/**\n * Sends a warning to console, if the api is present.\n *\n * @public\n * @param message - Warning message.\n */\n\nexport function warn(message) {\n if (_warningCallback && process.env.NODE_ENV !== 'production') {\n _warningCallback(message);\n } else if (console && console.warn) {\n console.warn(message);\n }\n}\n/**\n * Configures the warning callback. Passing in undefined will reset it to use the default\n * console.warn function.\n *\n * @public\n * @param warningCallback - Callback to override the generated warnings.\n */\n\nexport function setWarningCallback(warningCallback) {\n _warningCallback = warningCallback;\n}","import { getWindow } from './dom/getWindow'; // Initialize global window id.\n\nvar CURRENT_ID_PROPERTY = '__currentId__';\nvar DEFAULT_ID_STRING = 'id__'; // tslint:disable-next-line:no-any\n\nvar _global = getWindow() || {};\n\nif (_global[CURRENT_ID_PROPERTY] === undefined) {\n _global[CURRENT_ID_PROPERTY] = 0;\n}\n/**\n * Generates a unique id in the global scope (this spans across duplicate copies of the same library.)\n *\n * @public\n */\n\n\nexport function getId(prefix) {\n var index = _global[CURRENT_ID_PROPERTY]++;\n return (prefix || DEFAULT_ID_STRING) + index;\n}\n/**\n * Resets id counter to an (optional) number.\n *\n * @public\n */\n\nexport function resetIds(counter) {\n if (counter === void 0) {\n counter = 0;\n }\n\n _global[CURRENT_ID_PROPERTY] = counter;\n}","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 */\n\nexport function extractStyleParts() {\n var args = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n\n var classes = [];\n var objects = [];\n var stylesheet = Stylesheet.getInstance();\n\n function _processArgs(argsList) {\n for (var _i = 0, argsList_1 = argsList; _i < argsList_1.length; _i++) {\n var arg = argsList_1[_i];\n\n if (arg) {\n if (typeof arg === 'string') {\n if (arg.indexOf(' ') >= 0) {\n _processArgs(arg.split(' '));\n } else {\n var translatedArgs = stylesheet.argsFromClassName(arg);\n\n if (translatedArgs) {\n _processArgs(translatedArgs);\n } else {\n // Avoid adding the same class twice.\n if (classes.indexOf(arg) === -1) {\n classes.push(arg);\n }\n }\n }\n } else if (Array.isArray(arg)) {\n _processArgs(arg);\n } else if (typeof arg === 'object') {\n objects.push(arg);\n }\n }\n }\n }\n\n _processArgs(args);\n\n return {\n classes: classes,\n objects: objects\n };\n}","export var _isSSR = false;\n/**\n * Helper to set ssr mode to simulate no window object returned from getWindow helper.\n *\n * @public\n */\n\nexport function setSSR(isEnabled) {\n _isSSR = isEnabled;\n}","import { Stylesheet } from '@uifabric/merge-styles';\nimport { getId, resetIds } from './getId';\nexport { getId, resetIds }; // tslint:disable-next-line:no-any\n\nfunction checkProperties(a, b) {\n for (var propName in a) {\n if (a.hasOwnProperty(propName)) {\n if (!b.hasOwnProperty(propName) || b[propName] !== a[propName]) {\n return false;\n }\n }\n }\n\n return true;\n}\n/**\n * Compares a to b and b to a.\n *\n * @public\n */\n\n\nexport function shallowCompare(a, b) {\n return checkProperties(a, b) && checkProperties(b, a);\n}\n/**\n * Makes a resulting merge of a bunch of objects. Pass in the target object followed by 1 or more\n * objects as arguments and they will be merged sequentially into the target. Note that this will\n * shallow merge; it will not create new cloned values for target members.\n *\n * @public\n * @param target - Target object to merge following object arguments into.\n * @param args - One or more objects that will be mixed into the target in the order they are provided.\n * @returns Resulting merged target.\n */\n// tslint:disable-next-line:no-any\n\nexport function assign(target) {\n var args = [];\n\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n\n return filteredAssign.apply(this, [null, target].concat(args));\n}\n/**\n * Makes a resulting merge of a bunch of objects, but allows a filter function to be passed in to filter\n * the resulting merges. This allows for scenarios where you want to merge \"everything except that one thing\"\n * or \"properties that start with data-\". Note that this will shallow merge; it will not create new cloned\n * values for target members.\n *\n * @public\n * @param isAllowed - Callback to determine if the given propName is allowed in the result.\n * @param target - Target object to merge following object arguments into.\n * @param args - One or more objects that will be mixed into the target in the order they are provided.\n * @returns Resulting merged target.\n */\n// tslint:disable-next-line:no-any\n\nexport function filteredAssign(isAllowed, target) {\n var args = [];\n\n for (var _i = 2; _i < arguments.length; _i++) {\n args[_i - 2] = arguments[_i];\n }\n\n target = target || {};\n\n for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {\n var sourceObject = args_1[_a];\n\n if (sourceObject) {\n for (var propName in sourceObject) {\n if (sourceObject.hasOwnProperty(propName) && (!isAllowed || isAllowed(propName))) {\n target[propName] = sourceObject[propName];\n }\n }\n }\n }\n\n return target;\n} // Configure ids to reset on stylesheet resets.\n\nvar stylesheet = Stylesheet.getInstance();\n\nif (stylesheet && stylesheet.onReset) {\n stylesheet.onReset(resetIds);\n}\n/* Takes an enum and iterates over each value of the enum (as a string), running the callback on each, returning a mapped array.\n * The callback takes as a first parameter the string that represents the name of the entry, and the second parameter is the\n * value of that entry, which is the value you'd normally use when using the enum (usually a number).\n * */\n\n\nexport function mapEnumByName( // tslint:disable-next-line:no-any\ntheEnum, callback) {\n // map to satisfy compiler since it doesn't realize we strip out undefineds in the .filter() call\n return Object.keys(theEnum).map(function (p) {\n // map on each property name as a string\n if (String(Number(p)) !== p) {\n // if the property is not just a number (because enums in TypeScript will map both ways)\n return callback(p, theEnum[p]);\n }\n }).filter(function (v) {\n return !!v;\n }); // only return elements with values\n}\n/**\n * Get all values in an object dictionary\n *\n * @param obj - The dictionary to get values for\n */\n// tslint:disable-next-line:no-any\n\nexport function values(obj) {\n return Object.keys(obj).reduce(function (arr, key) {\n arr.push(obj[key]);\n return arr;\n }, []);\n}","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 */\n\nexport function findElementRecursive(element, matchFunction) {\n if (!element || element === document.body) {\n return null;\n }\n\n return matchFunction(element) ? element : findElementRecursive(getParent(element), matchFunction);\n}","import { memoizeFunction } from '../../Utilities';\nimport { HighContrastSelector, getFocusStyle, hiddenContentStyle } from '../../Styling';\nvar noOutline = {\n outline: 0\n};\n\nvar iconStyle = function iconStyle(fontSize) {\n return {\n fontSize: fontSize,\n margin: '0 4px',\n height: '16px',\n lineHeight: '16px',\n textAlign: 'center',\n verticalAlign: 'middle',\n flexShrink: 0\n };\n};\n/**\n * Gets the base button styles. Note: because it is a base class to be used with the `mergeRules`\n * helper, it should have values for all class names in the interface. This let `mergeRules` optimize\n * mixing class names together.\n */\n\n\nexport var getStyles = memoizeFunction(function (theme) {\n var _a;\n\n var semanticColors = theme.semanticColors,\n effects = theme.effects,\n fonts = theme.fonts;\n var border = semanticColors.buttonBorder;\n var disabledBackground = semanticColors.disabledBackground;\n var disabledText = semanticColors.disabledText;\n var buttonHighContrastFocus = {\n left: -2,\n top: -2,\n bottom: -2,\n right: -2,\n border: 'none',\n outlineColor: 'ButtonText'\n };\n return {\n root: [getFocusStyle(theme, {\n inset: 1,\n highContrastStyle: buttonHighContrastFocus,\n borderColor: 'transparent'\n }), theme.fonts.medium, {\n boxSizing: 'border-box',\n border: '1px solid ' + border,\n userSelect: 'none',\n display: 'inline-block',\n textDecoration: 'none',\n textAlign: 'center',\n cursor: 'pointer',\n verticalAlign: 'top',\n padding: '0 16px',\n borderRadius: effects.roundedCorner2,\n selectors: {\n // IE11 workaround for preventing shift of child elements of a button when active.\n ':active > *': {\n position: 'relative',\n left: 0,\n top: 0\n }\n }\n }],\n rootDisabled: [getFocusStyle(theme, {\n inset: 1,\n highContrastStyle: buttonHighContrastFocus,\n borderColor: 'transparent'\n }), {\n backgroundColor: disabledBackground,\n borderColor: disabledBackground,\n color: disabledText,\n cursor: 'default',\n pointerEvents: 'none',\n selectors: (_a = {\n ':hover': noOutline,\n ':focus': noOutline\n }, _a[HighContrastSelector] = {\n color: 'grayText',\n borderColor: 'grayText'\n }, _a)\n }],\n iconDisabled: {\n color: disabledText\n },\n menuIconDisabled: {\n color: disabledText\n },\n flexContainer: {\n display: 'flex',\n height: '100%',\n flexWrap: 'nowrap',\n justifyContent: 'center',\n alignItems: 'center'\n },\n description: {\n display: 'block'\n },\n textContainer: {\n flexGrow: 1,\n display: 'block'\n },\n icon: iconStyle(fonts.mediumPlus.fontSize),\n menuIcon: iconStyle(fonts.small.fontSize),\n label: {\n margin: '0 4px',\n lineHeight: '100%',\n display: 'block'\n },\n screenReaderText: hiddenContentStyle\n };\n});","import { __assign } from \"tslib\";\nimport { HighContrastSelector, concatStyleSets, getFocusStyle } from '../../../Styling';\nimport { memoizeFunction } from '../../../Utilities';\nexport var getStyles = memoizeFunction(function (theme, customStyles) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n\n var effects = theme.effects,\n palette = theme.palette,\n semanticColors = theme.semanticColors;\n var buttonHighContrastFocus = {\n left: -2,\n top: -2,\n bottom: -2,\n right: -2,\n border: 'none'\n };\n var splitButtonDividerBaseStyles = {\n position: 'absolute',\n width: 1,\n right: 31,\n top: 8,\n bottom: 8\n };\n var splitButtonStyles = {\n splitButtonContainer: [getFocusStyle(theme, {\n highContrastStyle: buttonHighContrastFocus,\n inset: 2\n }), {\n display: 'inline-flex',\n selectors: {\n '.ms-Button--default': {\n borderTopRightRadius: '0',\n borderBottomRightRadius: '0',\n borderRight: 'none'\n },\n '.ms-Button--primary': {\n borderTopRightRadius: '0',\n borderBottomRightRadius: '0',\n border: 'none',\n selectors: (_a = {}, _a[HighContrastSelector] = {\n color: 'Window',\n backgroundColor: 'WindowText',\n MsHighContrastAdjust: 'none'\n }, _a)\n },\n '.ms-Button--primary + .ms-Button': {\n border: 'none'\n }\n }\n }],\n splitButtonContainerHovered: {\n selectors: {\n '.ms-Button--primary': {\n selectors: (_b = {}, _b[HighContrastSelector] = {\n color: 'Window',\n backgroundColor: 'Highlight'\n }, _b)\n },\n '.ms-Button.is-disabled': {\n color: semanticColors.buttonTextDisabled,\n selectors: (_c = {}, _c[HighContrastSelector] = {\n color: 'GrayText',\n borderColor: 'GrayText',\n backgroundColor: 'Window'\n }, _c)\n }\n }\n },\n splitButtonContainerChecked: {\n selectors: {\n '.ms-Button--primary': {\n selectors: (_d = {}, _d[HighContrastSelector] = {\n color: 'Window',\n backgroundColor: 'WindowText',\n MsHighContrastAdjust: 'none'\n }, _d)\n }\n }\n },\n splitButtonContainerCheckedHovered: {\n selectors: {\n '.ms-Button--primary': {\n selectors: (_e = {}, _e[HighContrastSelector] = {\n color: 'Window',\n backgroundColor: 'WindowText',\n MsHighContrastAdjust: 'none'\n }, _e)\n }\n }\n },\n splitButtonContainerFocused: {\n outline: 'none!important'\n },\n splitButtonMenuButton: {\n padding: 6,\n height: 'auto',\n boxSizing: 'border-box',\n borderRadius: 0,\n borderTopRightRadius: effects.roundedCorner2,\n borderBottomRightRadius: effects.roundedCorner2,\n border: \"1px solid \" + palette.neutralSecondaryAlt,\n borderLeft: 'none',\n outline: 'transparent',\n userSelect: 'none',\n display: 'inline-block',\n textDecoration: 'none',\n textAlign: 'center',\n cursor: 'pointer',\n verticalAlign: 'top',\n width: 32,\n marginLeft: -1,\n marginTop: 0,\n marginRight: 0,\n marginBottom: 0\n },\n splitButtonDivider: __assign(__assign({}, splitButtonDividerBaseStyles), {\n selectors: (_f = {}, _f[HighContrastSelector] = {\n backgroundColor: 'WindowText'\n }, _f)\n }),\n splitButtonDividerDisabled: __assign(__assign({}, splitButtonDividerBaseStyles), {\n selectors: (_g = {}, _g[HighContrastSelector] = {\n backgroundColor: 'GrayText'\n }, _g)\n }),\n splitButtonMenuButtonDisabled: {\n pointerEvents: 'none',\n border: 'none',\n selectors: (_h = {\n ':hover': {\n cursor: 'default'\n },\n '.ms-Button--primary': {\n selectors: (_j = {}, _j[HighContrastSelector] = {\n color: 'GrayText',\n borderColor: 'GrayText',\n backgroundColor: 'Window'\n }, _j)\n }\n }, _h[HighContrastSelector] = {\n border: \"1px solid GrayText\",\n color: 'GrayText',\n backgroundColor: 'Window'\n }, _h)\n },\n splitButtonFlexContainer: {\n display: 'flex',\n height: '100%',\n flexWrap: 'nowrap',\n justifyContent: 'center',\n alignItems: 'center'\n },\n splitButtonContainerDisabled: {\n outline: 'none',\n border: 'none',\n selectors: (_k = {}, _k[HighContrastSelector] = {\n color: 'GrayText',\n borderColor: 'GrayText',\n backgroundColor: 'Window'\n }, _k)\n }\n };\n return concatStyleSets(splitButtonStyles, customStyles);\n});","import { findElementRecursive } from './findElementRecursive';\nimport { DATA_PORTAL_ATTRIBUTE } from './setPortalAttribute';\n/**\n * Determine whether a target is within a portal from perspective of root or optional parent.\n * This function only works against portal components that use the setPortalAttribute function.\n * If both parent and child are within the same portal this function will return false.\n * @param target - Element to query portal containment status of.\n * @param parent - Optional parent perspective. Search for containing portal stops at parent (or root if parent is undefined or invalid.)\n */\n\nexport function portalContainsElement(target, parent) {\n var elementMatch = findElementRecursive(target, function (testElement) {\n return parent === testElement || testElement.hasAttribute(DATA_PORTAL_ATTRIBUTE);\n });\n return elementMatch !== null && elementMatch.hasAttribute(DATA_PORTAL_ATTRIBUTE);\n}","/**\n * ARIA helper to concatenate attributes, returning undefined if all attributes\n * are undefined. (Empty strings are not a valid ARIA attribute value.)\n *\n * @param ariaAttributes - ARIA attributes to merge\n */\nexport function mergeAriaAttributeValues() {\n var ariaAttributes = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n ariaAttributes[_i] = arguments[_i];\n }\n\n var mergedAttribute = ariaAttributes.filter(function (arg) {\n return arg;\n }).join(' ').trim();\n return mergedAttribute === '' ? undefined : mergedAttribute;\n}","export { DirectionalHint } from '../../common/DirectionalHint';\n/**\n * {@docCategory ContextualMenu}\n */\n\nexport var ContextualMenuItemType;\n\n(function (ContextualMenuItemType) {\n ContextualMenuItemType[ContextualMenuItemType[\"Normal\"] = 0] = \"Normal\";\n ContextualMenuItemType[ContextualMenuItemType[\"Divider\"] = 1] = \"Divider\";\n ContextualMenuItemType[ContextualMenuItemType[\"Header\"] = 2] = \"Header\";\n ContextualMenuItemType[ContextualMenuItemType[\"Section\"] = 3] = \"Section\";\n})(ContextualMenuItemType || (ContextualMenuItemType = {}));","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { Image } from '../Image/Image';\nimport { css, getNativeProps, htmlElementProperties } from '../../Utilities';\nimport { classNames, MS_ICON } from './Icon.styles';\n/**\n * Fast icon component which only supports images (not font glyphs) and can't be targeted by customizations.\n * To style the icon, use `className` or reference `ms-Icon` in CSS.\n * {@docCategory Icon}\n */\n\nexport var ImageIcon = function ImageIcon(props) {\n var className = props.className,\n imageProps = props.imageProps;\n var nativeProps = getNativeProps(props, htmlElementProperties);\n var containerProps = props['aria-label'] ? {} : {\n role: 'presentation',\n 'aria-hidden': imageProps.alt || imageProps['aria-labelledby'] ? false : true\n };\n return React.createElement(\"div\", __assign({}, containerProps, nativeProps, {\n className: css(MS_ICON, classNames.root, classNames.image, className)\n }), React.createElement(Image, __assign({}, imageProps)));\n};","/**\n * {@docCategory FocusZone}\n */\nexport var FocusZoneTabbableElements = {\n /** Tabbing is not allowed */\n none: 0,\n\n /** All tabbing action is allowed */\n all: 1,\n\n /** Tabbing is allowed only on input elements */\n inputOnly: 2\n};\n/**\n * {@docCategory FocusZone}\n */\n\nexport var FocusZoneDirection;\n\n(function (FocusZoneDirection) {\n /** Only react to up/down arrows. */\n FocusZoneDirection[FocusZoneDirection[\"vertical\"] = 0] = \"vertical\";\n /** Only react to left/right arrows. */\n\n FocusZoneDirection[FocusZoneDirection[\"horizontal\"] = 1] = \"horizontal\";\n /** React to all arrows. */\n\n FocusZoneDirection[FocusZoneDirection[\"bidirectional\"] = 2] = \"bidirectional\";\n /**\n * React to all arrows. Navigate next item in DOM on right/down arrow keys and previous - left/up arrow keys.\n * Right and Left arrow keys are swapped in RTL mode.\n */\n\n FocusZoneDirection[FocusZoneDirection[\"domOrder\"] = 3] = \"domOrder\";\n})(FocusZoneDirection || (FocusZoneDirection = {}));","/** Raises a click event. */\nexport function raiseClick(target) {\n var event = createNewEvent('MouseEvents');\n event.initEvent('click', true, true);\n target.dispatchEvent(event);\n}\n\nfunction createNewEvent(eventName) {\n var event;\n\n if (typeof Event === 'function') {\n // Chrome, Opera, Firefox\n event = new Event(eventName);\n } else {\n // IE\n event = document.createEvent('Event');\n event.initEvent(eventName, true, true);\n }\n\n return event;\n}","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { FocusZoneDirection, FocusZoneTabbableElements } from './FocusZone.types';\nimport { KeyCodes, css, elementContains, getDocument, getElementIndexPath, getFocusableByIndexPath, getId, getNativeProps, getNextElement, getParent, getPreviousElement, getRTL, htmlElementProperties, initializeComponentRef, isElementFocusSubZone, isElementFocusZone, isElementTabbable, on, raiseClick, shouldWrapFocus, warnDeprecations, portalContainsElement, getWindow, findScrollableParent } from '../../Utilities';\nimport { mergeStyles } from '@uifabric/merge-styles';\nvar IS_FOCUSABLE_ATTRIBUTE = 'data-is-focusable';\nvar IS_ENTER_DISABLED_ATTRIBUTE = 'data-disable-click-on-enter';\nvar FOCUSZONE_ID_ATTRIBUTE = 'data-focuszone-id';\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 focusZoneStyles;\nvar focusZoneClass = 'ms-FocusZone'; // Helper function that will return a class for when the root is focused\n\nfunction getRootClass() {\n if (!focusZoneStyles) {\n focusZoneStyles = mergeStyles({\n selectors: {\n ':focus': {\n outline: 'none'\n }\n }\n }, focusZoneClass);\n }\n\n return focusZoneStyles;\n}\n\nvar _allInstances = {};\n\nvar _outerZones = new Set(); // Track the 1 global keydown listener we hook to window.\n\n\nvar _disposeGlobalKeyDownListener;\n\nvar ALLOWED_INPUT_TYPES = ['text', 'number', 'password', 'email', 'tel', 'url', 'search'];\nvar ALLOW_VIRTUAL_ELEMENTS = false;\n\nvar FocusZone =\n/** @class */\nfunction (_super) {\n __extends(FocusZone, _super);\n\n function FocusZone(props) {\n var _this = _super.call(this, props) || this;\n\n _this._disposables = [];\n _this._root = React.createRef();\n\n _this._onFocus = function (ev) {\n if (_this._portalContainsElement(ev.target)) {\n // If the event target is inside a portal do not process the event.\n return;\n }\n\n var _a = _this.props,\n onActiveElementChanged = _a.onActiveElementChanged,\n doNotAllowFocusEventToPropagate = _a.doNotAllowFocusEventToPropagate,\n onFocusNotification = _a.onFocusNotification;\n\n var isImmediateDescendant = _this._isImmediateDescendantOfZone(ev.target);\n\n var newActiveElement;\n\n if (onFocusNotification) {\n onFocusNotification();\n }\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 }\n\n var initialElementFocused = !_this._activeElement; // If the new active element is a child of this zone and received focus,\n // update alignment an immediate descendant\n\n if (newActiveElement && newActiveElement !== _this._activeElement) {\n if (isImmediateDescendant || initialElementFocused) {\n _this._setFocusAlignment(newActiveElement, true, true);\n }\n\n _this._activeElement = newActiveElement;\n\n if (initialElementFocused) {\n _this._updateTabIndexes();\n }\n }\n\n if (onActiveElementChanged) {\n onActiveElementChanged(_this._activeElement, ev);\n }\n\n if (doNotAllowFocusEventToPropagate) {\n ev.stopPropagation();\n }\n };\n\n _this._onBlur = function () {\n _this._setParkedFocus(false);\n };\n /**\n * Handle global tab presses so that we can patch tabindexes on the fly.\n */\n\n\n _this._onKeyDownCapture = function (ev) {\n if (ev.which === KeyCodes.tab) {\n _outerZones.forEach(function (zone) {\n return zone._updateTabIndexes();\n });\n }\n };\n\n _this._onMouseDown = function (ev) {\n if (_this._portalContainsElement(ev.target)) {\n // If the event target is inside a portal do not process the event.\n return;\n }\n\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 * Handle the keystrokes.\n */\n\n\n _this._onKeyDown = function (ev) {\n if (_this._portalContainsElement(ev.target)) {\n // If the event target is inside a portal do not process the event.\n return;\n }\n\n var _a = _this.props,\n direction = _a.direction,\n disabled = _a.disabled,\n isInnerZoneKeystroke = _a.isInnerZoneKeystroke;\n\n if (disabled) {\n return;\n }\n\n if (_this.props.onKeyDown) {\n _this.props.onKeyDown(ev);\n } // If the default has been prevented, do not process keyboard events.\n\n\n if (ev.isDefaultPrevented()) {\n return;\n }\n\n if (_this._getDocument().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;\n }\n\n if (isInnerZoneKeystroke && isInnerZoneKeystroke(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;\n }\n } else if (isElementFocusSubZone(ev.target)) {\n if (!_this.focusElement(getNextElement(ev.target, ev.target.firstChild, true))) {\n return;\n }\n } else {\n return;\n }\n } else if (ev.altKey) {\n return;\n } else {\n switch (ev.which) {\n case KeyCodes.space:\n if (_this._tryInvokeClickForFocusable(ev.target)) {\n break;\n }\n\n return;\n\n case KeyCodes.left:\n if (direction !== FocusZoneDirection.vertical && _this._moveFocusLeft()) {\n break;\n }\n\n return;\n\n case KeyCodes.right:\n if (direction !== FocusZoneDirection.vertical && _this._moveFocusRight()) {\n break;\n }\n\n return;\n\n case KeyCodes.up:\n if (direction !== FocusZoneDirection.horizontal && _this._moveFocusUp()) {\n break;\n }\n\n return;\n\n case KeyCodes.down:\n if (direction !== FocusZoneDirection.horizontal && _this._moveFocusDown()) {\n break;\n }\n\n return;\n\n case KeyCodes.pageDown:\n if (_this._moveFocusPaging(true)) {\n break;\n }\n\n return;\n\n case KeyCodes.pageUp:\n if (_this._moveFocusPaging(false)) {\n break;\n }\n\n return;\n\n case KeyCodes.tab:\n if (_this.props.allowTabKey || _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 = getRTL() ? !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 }\n\n return;\n\n case KeyCodes.home:\n if (_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;\n\n case KeyCodes.end:\n if (_this._isElementInput(ev.target) && !_this._shouldInputLoseFocus(ev.target, true)) {\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;\n\n case KeyCodes.enter:\n if (_this._tryInvokeClickForFocusable(ev.target)) {\n break;\n }\n\n return;\n\n default:\n return;\n }\n }\n\n ev.preventDefault();\n ev.stopPropagation();\n };\n\n _this._getHorizontalDistanceFromCenter = function (isForward, activeRect, targetRect) {\n var leftAlignment = _this._focusAlignment.x; // 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 } else {\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 }; // Manage componentRef resolution.\n\n\n initializeComponentRef(_this);\n\n if (process.env.NODE_ENV !== 'production') {\n warnDeprecations('FocusZone', props, {\n rootProps: undefined,\n allowTabKey: 'handleTabKey',\n elementType: 'as',\n ariaDescribedBy: 'aria-describedby',\n ariaLabelledBy: 'aria-labelledby'\n });\n }\n\n _this._id = getId('FocusZone');\n _this._focusAlignment = {\n x: 0,\n y: 0\n };\n _this._processingTabKey = false;\n return _this;\n }\n /** Used for testing purposes only. */\n\n\n FocusZone.getOuterZones = function () {\n return _outerZones.size;\n };\n\n FocusZone.prototype.componentDidMount = function () {\n var root = this._root.current;\n _allInstances[this._id] = this;\n\n if (root) {\n var windowElement = getWindow(root);\n var parentElement = getParent(root, ALLOW_VIRTUAL_ELEMENTS);\n\n while (parentElement && parentElement !== this._getDocument().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) {\n _outerZones.add(this);\n\n if (windowElement && _outerZones.size === 1) {\n _disposeGlobalKeyDownListener = on(windowElement, 'keydown', this._onKeyDownCapture, true);\n }\n }\n\n this._disposables.push(on(root, '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.defaultActiveElement) {\n this._activeElement = this._getDocument().querySelector(this.props.defaultActiveElement);\n this.focus();\n }\n }\n };\n\n FocusZone.prototype.componentDidUpdate = function () {\n var root = this._root.current;\n\n var doc = this._getDocument();\n\n if (doc && this._lastIndexPath && (doc.activeElement === doc.body || doc.activeElement === root)) {\n // The element has been removed after the render, attempt to restore focus.\n var elementToFocus = getFocusableByIndexPath(root, this._lastIndexPath);\n\n if (elementToFocus) {\n this._setActiveElement(elementToFocus, true);\n\n elementToFocus.focus();\n\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 FocusZone.prototype.componentWillUnmount = function () {\n delete _allInstances[this._id];\n\n if (!this._isInnerZone) {\n _outerZones.delete(this); // If this is the last outer zone, remove the keydown listener.\n\n\n if (_outerZones.size === 0 && _disposeGlobalKeyDownListener) {\n _disposeGlobalKeyDownListener();\n }\n } // Dispose all events.\n\n\n this._disposables.forEach(function (d) {\n return d();\n }); // Clear function references so their closures can be garbage-collected.\n\n\n delete this._disposables;\n };\n\n FocusZone.prototype.render = function () {\n // tslint:disable:deprecation\n var _a = this.props,\n rootProps = _a.rootProps,\n ariaDescribedBy = _a.ariaDescribedBy,\n ariaLabelledBy = _a.ariaLabelledBy,\n className = _a.className;\n var divProps = getNativeProps(this.props, htmlElementProperties);\n var Tag = this.props.as || this.props.elementType || 'div'; // 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\n return React.createElement(Tag, __assign({\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-describedby\": ariaDescribedBy\n }, divProps, rootProps, {\n // Once the getClassName correctly memoizes inputs this should\n // be replaced so that className is passed to getRootClass and is included there so\n // the class names will always be in the same order.\n className: css(getRootClass(), className),\n ref: this._root,\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\n * 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 FocusZone.prototype.focus = function (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 } else if (!forceIntoFirstElement && this._activeElement && elementContains(this._root.current, this._activeElement) && isElementTabbable(this._activeElement)) {\n this._activeElement.focus();\n\n return true;\n } else {\n var firstChild = this._root.current.firstChild;\n return this.focusElement(getNextElement(this._root.current, firstChild, true));\n }\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 * onBeforeFocus to created 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 * @returns True if focus could be set to an active element, false if no operation was taken.\n */\n\n\n FocusZone.prototype.focusElement = function (element) {\n var onBeforeFocus = this.props.onBeforeFocus;\n\n if (onBeforeFocus && !onBeforeFocus(element)) {\n return false;\n }\n\n if (element) {\n // when we Set focus to a specific child, we should recalculate the alignment depend on its position\n this._setActiveElement(element);\n\n if (this._activeElement) {\n this._activeElement.focus();\n }\n\n return true;\n }\n\n return false;\n };\n /**\n * Forces horizontal alignment in the context of vertical arrowing to use specific point as the reference, rather than a center based on\n * the last horizontal motion.\n * @param point - the new reference point.\n */\n\n\n FocusZone.prototype.setFocusAlignment = function (point) {\n this._focusAlignment = point;\n };\n\n FocusZone.prototype._evaluateFocusBeforeRender = function () {\n var root = this._root.current;\n\n var doc = this._getDocument();\n\n if (doc) {\n var focusedElement = doc.activeElement; // Only update the index path if we are not parked on the root.\n\n if (focusedElement !== root) {\n var shouldRestoreFocus = elementContains(root, focusedElement, false);\n this._lastIndexPath = shouldRestoreFocus ? getElementIndexPath(root, focusedElement) : undefined;\n }\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 FocusZone.prototype._setParkedFocus = function (isParked) {\n var root = this._root.current;\n\n if (root && this._isParked !== isParked) {\n this._isParked = isParked;\n\n if (isParked) {\n if (!this.props.allowFocusRoot) {\n this._parkedTabIndex = root.getAttribute('tabindex');\n root.setAttribute('tabindex', '-1');\n }\n\n root.focus();\n } else {\n if (!this.props.allowFocusRoot) {\n if (this._parkedTabIndex) {\n root.setAttribute('tabindex', this._parkedTabIndex);\n this._parkedTabIndex = undefined;\n } else {\n root.removeAttribute('tabindex');\n }\n }\n }\n }\n };\n\n FocusZone.prototype._setActiveElement = function (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 * Walk up the dom try to find a focusable element.\n */\n\n\n FocusZone.prototype._tryInvokeClickForFocusable = function (target) {\n if (target === this._root.current) {\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 FocusZone.prototype._getFirstInnerZone = function (rootElement) {\n rootElement = rootElement || 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 FocusZone.prototype._moveFocus = function (isForward, getDistanceFromCenter, 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 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 } else {\n return this.focusElement(getPreviousElement(this._root.current, this._root.current.lastElementChild, true, true, true));\n }\n }\n\n return changedFocus;\n };\n\n FocusZone.prototype._moveFocusDown = function () {\n var _this = this;\n\n var targetTop = -1;\n var leftAlignment = this._focusAlignment.x;\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 (!_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 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, false, true);\n\n return true;\n }\n\n return false;\n };\n\n FocusZone.prototype._moveFocusUp = function () {\n var _this = this;\n\n var targetTop = -1;\n var leftAlignment = this._focusAlignment.x;\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 (!_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 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, false, true);\n\n return true;\n }\n\n return false;\n };\n\n FocusZone.prototype._moveFocusLeft = function () {\n var _this = this;\n\n var shouldWrap = this._shouldWrapFocus(this._activeElement, NO_HORIZONTAL_WRAP);\n\n if (this._moveFocus(getRTL(), function (activeRect, targetRect) {\n var distance = -1;\n var topBottomComparison;\n\n if (getRTL()) {\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 && _this.props.direction !== FocusZoneDirection.vertical) {\n distance = activeRect.right - targetRect.right;\n } else {\n if (!shouldWrap) {\n distance = LARGE_NEGATIVE_DISTANCE_FROM_CENTER;\n }\n }\n\n return distance;\n }, undefined\n /*ev*/\n , shouldWrap)) {\n this._setFocusAlignment(this._activeElement, true, false);\n\n return true;\n }\n\n return false;\n };\n\n FocusZone.prototype._moveFocusRight = function () {\n var _this = this;\n\n var shouldWrap = this._shouldWrapFocus(this._activeElement, NO_HORIZONTAL_WRAP);\n\n if (this._moveFocus(!getRTL(), function (activeRect, targetRect) {\n var distance = -1;\n var topBottomComparison;\n\n if (getRTL()) {\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 && _this.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\n return true;\n }\n\n return false;\n };\n\n FocusZone.prototype._moveFocusPaging = function (isForward, useDefaultWrap) {\n if (useDefaultWrap === void 0) {\n useDefaultWrap = true;\n }\n\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 targetRect = element.getBoundingClientRect();\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\n var elementDistance = this._getHorizontalDistanceFromCenter(isForward, activeRect, targetRect);\n\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 {\n if (candidateDistance === -1 || elementDistance <= candidateDistance) {\n candidateDistance = elementDistance;\n candidateElement = element;\n }\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\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 FocusZone.prototype._setFocusAlignment = function (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_1 = rect.top + rect.height / 2;\n\n if (!this._focusAlignment) {\n this._focusAlignment = {\n x: left,\n y: top_1\n };\n }\n\n if (isHorizontal) {\n this._focusAlignment.x = left;\n }\n\n if (isVertical) {\n this._focusAlignment.y = top_1;\n }\n }\n };\n\n FocusZone.prototype._isImmediateDescendantOfZone = function (element) {\n return this._getOwnerZone(element) === this._root.current;\n };\n\n FocusZone.prototype._getOwnerZone = function (element) {\n var parentElement = getParent(element, ALLOW_VIRTUAL_ELEMENTS);\n\n while (parentElement && parentElement !== this._root.current && parentElement !== this._getDocument().body) {\n if (isElementFocusZone(parentElement)) {\n return parentElement;\n }\n\n parentElement = getParent(parentElement, ALLOW_VIRTUAL_ELEMENTS);\n }\n\n return parentElement;\n };\n\n FocusZone.prototype._updateTabIndexes = function (element) {\n if (!element && this._root.current) {\n this._defaultFocusElement = null;\n element = this._root.current;\n\n if (this._activeElement && !elementContains(element, this._activeElement)) {\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 FocusZone.prototype._isElementInput = function (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 FocusZone.prototype._shouldInputLoseFocus = function (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, 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 FocusZone.prototype._shouldWrapFocus = function (element, noWrapDataAttribute) {\n return !!this.props.checkForNoWrap ? shouldWrapFocus(element, noWrapDataAttribute) : true;\n };\n /**\n * Returns true if the element is a descendant of the FocusZone through a React portal.\n */\n\n\n FocusZone.prototype._portalContainsElement = function (element) {\n return element && !!this._root.current && portalContainsElement(element, this._root.current);\n };\n\n FocusZone.prototype._getDocument = function () {\n return getDocument(this._root.current);\n };\n\n FocusZone.defaultProps = {\n isCircularNavigation: false,\n direction: FocusZoneDirection.bidirectional\n };\n return FocusZone;\n}(React.Component);\n\nexport { FocusZone };","import { getWindow } from './dom/getWindow';\nvar isMacResult;\n/**\n * Returns true if the user is on a Mac. Caches the result value.\n * @param reset - Reset the cached result value (mainly for testing).\n */\n\nexport function isMac(reset) {\n if (typeof isMacResult === 'undefined' || reset) {\n var win = getWindow();\n var userAgent = win && win.navigator.userAgent;\n isMacResult = !!userAgent && userAgent.indexOf('Macintosh') !== -1;\n }\n\n return !!isMacResult;\n}","/**\n * Returns true if and only if the user is on a iOS device.\n * Used to determine whether iOS-specific behavior should be applied.\n */\nexport var isIOS = function isIOS() {\n if (!window || !window.navigator || !window.navigator.userAgent) {\n return false;\n }\n\n return /iPad|iPhone|iPod/i.test(window.navigator.userAgent);\n};","/**\n * Determines the effective checked state of a menu item.\n *\n * @param item {IContextualMenuItem} to get the check state of.\n * @returns {true} if the item is checked.\n * @returns {false} if the item is unchecked.\n * @returns {null} if the item is not checkable.\n */\nexport function getIsChecked(item) {\n if (item.canCheck) {\n return !!(item.isChecked || item.checked);\n }\n\n if (typeof item.isChecked === 'boolean') {\n return item.isChecked;\n }\n\n if (typeof item.checked === 'boolean') {\n return item.checked;\n } // Item is not checkable.\n\n\n return null;\n}\nexport function hasSubmenu(item) {\n return !!(item.subMenuProps || item.items);\n}\nexport function isItemDisabled(item) {\n return !!(item.isDisabled || item.disabled);\n}\nexport function getMenuItemAriaRole(item) {\n var isChecked = getIsChecked(item);\n var canCheck = isChecked !== null;\n return canCheck ? 'menuitemcheckbox' : 'menuitem';\n}","export var RectangleEdge;\n\n(function (RectangleEdge) {\n RectangleEdge[RectangleEdge[\"top\"] = 1] = \"top\";\n RectangleEdge[RectangleEdge[\"bottom\"] = -1] = \"bottom\";\n RectangleEdge[RectangleEdge[\"left\"] = 2] = \"left\";\n RectangleEdge[RectangleEdge[\"right\"] = -2] = \"right\";\n})(RectangleEdge || (RectangleEdge = {}));\n\nexport var Position;\n\n(function (Position) {\n Position[Position[\"top\"] = 0] = \"top\";\n Position[Position[\"bottom\"] = 1] = \"bottom\";\n Position[Position[\"start\"] = 2] = \"start\";\n Position[Position[\"end\"] = 3] = \"end\";\n})(Position || (Position = {}));","/**\n * Rectangle helper class.\n *\n * @public\n * {@docCategory Rectangle}\n */\nvar Rectangle =\n/** @class */\nfunction () {\n function Rectangle(left, right, top, bottom) {\n if (left === void 0) {\n left = 0;\n }\n\n if (right === void 0) {\n right = 0;\n }\n\n if (top === void 0) {\n top = 0;\n }\n\n if (bottom === void 0) {\n bottom = 0;\n }\n\n this.top = top;\n this.bottom = bottom;\n this.left = left;\n this.right = right;\n }\n\n Object.defineProperty(Rectangle.prototype, \"width\", {\n /**\n * Calculated automatically by subtracting the right from left\n */\n get: function get() {\n return this.right - this.left;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Rectangle.prototype, \"height\", {\n /**\n * Calculated automatically by subtracting the bottom from top.\n */\n get: function get() {\n return this.bottom - this.top;\n },\n enumerable: true,\n configurable: true\n });\n /**\n * Tests if another rect is approximately equal to this rect (within 4 decimal places.)\n */\n\n Rectangle.prototype.equals = function (rect) {\n // I'm fixing it to 4 decimal places because it allows enough precision and will handle cases when something should be rounded,\n // like .999999 should round to 1.\n return parseFloat(this.top.toFixed(4)) === parseFloat(rect.top.toFixed(4)) && parseFloat(this.bottom.toFixed(4)) === parseFloat(rect.bottom.toFixed(4)) && parseFloat(this.left.toFixed(4)) === parseFloat(rect.left.toFixed(4)) && parseFloat(this.right.toFixed(4)) === parseFloat(rect.right.toFixed(4));\n };\n\n return Rectangle;\n}();\n\nexport { Rectangle };","var _a;\n\nimport { __assign, __extends } from \"tslib\";\nimport { DirectionalHint } from '../../common/DirectionalHint';\nimport { getScrollbarWidth, getRTL, Rectangle as FullRectangle } from '../../Utilities';\nimport { RectangleEdge } from './positioning.types';\n\nvar Rectangle =\n/** @class */\nfunction (_super) {\n __extends(Rectangle, _super);\n\n function Rectangle() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n\n return Rectangle;\n}(FullRectangle);\n\nexport { Rectangle };\n\nfunction _createPositionData(targetEdge, alignmentEdge, isAuto) {\n return {\n targetEdge: targetEdge,\n alignmentEdge: alignmentEdge,\n isAuto: isAuto\n };\n} // Currently the beakPercent is set to 50 for all positions meaning that it should tend to the center of the target\n\n\nvar DirectionalDictionary = (_a = {}, _a[DirectionalHint.topLeftEdge] = _createPositionData(RectangleEdge.top, RectangleEdge.left), _a[DirectionalHint.topCenter] = _createPositionData(RectangleEdge.top), _a[DirectionalHint.topRightEdge] = _createPositionData(RectangleEdge.top, RectangleEdge.right), _a[DirectionalHint.topAutoEdge] = _createPositionData(RectangleEdge.top, undefined, true), _a[DirectionalHint.bottomLeftEdge] = _createPositionData(RectangleEdge.bottom, RectangleEdge.left), _a[DirectionalHint.bottomCenter] = _createPositionData(RectangleEdge.bottom), _a[DirectionalHint.bottomRightEdge] = _createPositionData(RectangleEdge.bottom, RectangleEdge.right), _a[DirectionalHint.bottomAutoEdge] = _createPositionData(RectangleEdge.bottom, undefined, true), _a[DirectionalHint.leftTopEdge] = _createPositionData(RectangleEdge.left, RectangleEdge.top), _a[DirectionalHint.leftCenter] = _createPositionData(RectangleEdge.left), _a[DirectionalHint.leftBottomEdge] = _createPositionData(RectangleEdge.left, RectangleEdge.bottom), _a[DirectionalHint.rightTopEdge] = _createPositionData(RectangleEdge.right, RectangleEdge.top), _a[DirectionalHint.rightCenter] = _createPositionData(RectangleEdge.right), _a[DirectionalHint.rightBottomEdge] = _createPositionData(RectangleEdge.right, RectangleEdge.bottom), _a);\n\nfunction _isRectangleWithinBounds(rect, boundingRect) {\n if (rect.top < boundingRect.top) {\n return false;\n }\n\n if (rect.bottom > boundingRect.bottom) {\n return false;\n }\n\n if (rect.left < boundingRect.left) {\n return false;\n }\n\n if (rect.right > boundingRect.right) {\n return false;\n }\n\n return true;\n}\n/**\n * Gets all of the edges of a rectangle that are outside of the given bounds.\n * If there are no out of bounds edges it returns an empty array.\n */\n\n\nfunction _getOutOfBoundsEdges(rect, boundingRect) {\n var outOfBounds = new Array();\n\n if (rect.top < boundingRect.top) {\n outOfBounds.push(RectangleEdge.top);\n }\n\n if (rect.bottom > boundingRect.bottom) {\n outOfBounds.push(RectangleEdge.bottom);\n }\n\n if (rect.left < boundingRect.left) {\n outOfBounds.push(RectangleEdge.left);\n }\n\n if (rect.right > boundingRect.right) {\n outOfBounds.push(RectangleEdge.right);\n }\n\n return outOfBounds;\n}\n\nfunction _getEdgeValue(rect, edge) {\n return rect[RectangleEdge[edge]];\n}\n\nfunction _setEdgeValue(rect, edge, value) {\n rect[RectangleEdge[edge]] = value;\n return rect;\n}\n/**\n * Returns the middle value of an edge. Only returns 1 value rather than xy coordinates as\n * the itself already contains the other coordinate.\n * For instance, a bottom edge's current value is it's y coordinate, so the number returned is the x.\n *\n * @param {Rectangle} rect\n * @param {RectangleEdge} edge\n * @returns {number}\n */\n\n\nfunction _getCenterValue(rect, edge) {\n var edges = _getFlankingEdges(edge);\n\n return (_getEdgeValue(rect, edges.positiveEdge) + _getEdgeValue(rect, edges.negativeEdge)) / 2;\n}\n/**\n * Flips the value depending on the edge.\n * If the edge is a \"positive\" edge, Top or Left, then the value should stay as it is.\n * If the edge is a \"negative\" edge, Bottom or Right, then the value should be flipped.\n * This is to account for the fact that the coordinates are effectively reveserved in certain cases for the \"negative\" edges.\n * For example, when testing to see if a bottom edge 1 is within the bounds of another bottom edge 2.\n * If edge 1 is greater than edge 2 then it is out of bounds. This is reversed for top edge 1 and top edge 2.\n * If top edge 1 is less than edge 2 then it is out of bounds.\n *\n *\n * @param {RectangleEdge} edge\n * @param {number} value\n * @returns {number}\n */\n\n\nfunction _getRelativeEdgeValue(edge, value) {\n if (edge > 0) {\n return value;\n } else {\n return value * -1;\n }\n}\n\nfunction _getRelativeRectEdgeValue(edge, rect) {\n return _getRelativeEdgeValue(edge, _getEdgeValue(rect, edge));\n}\n\nfunction _getRelativeEdgeDifference(rect, hostRect, edge) {\n var edgeDifference = _getEdgeValue(rect, edge) - _getEdgeValue(hostRect, edge);\n\n return _getRelativeEdgeValue(edge, edgeDifference);\n}\n/**\n * Moves the edge of a rectangle to the value given. It only moves the edge in a linear direction based on that edge.\n * For example, if it's a bottom edge it will only change y coordinates.\n *\n * @param {Rectangle} rect\n * @param {RectangleEdge} edge\n * @param {number} newValue\n * @returns {Rectangle}\n */\n\n\nfunction _moveEdge(rect, edge, newValue) {\n var difference = _getEdgeValue(rect, edge) - newValue;\n rect = _setEdgeValue(rect, edge, newValue);\n rect = _setEdgeValue(rect, edge * -1, _getEdgeValue(rect, edge * -1) - difference);\n return rect;\n}\n/**\n * Aligns the edge on the passed in rect to the target. If there is a gap then it will have that space between the two.\n *\n * @param {Rectangle} rect\n * @param {Rectangle} target\n * @param {RectangleEdge} edge\n * @param {number} [gap=0]\n * @returns {Rectangle}\n */\n\n\nfunction _alignEdges(rect, target, edge, gap) {\n if (gap === void 0) {\n gap = 0;\n }\n\n return _moveEdge(rect, edge, _getEdgeValue(target, edge) + _getRelativeEdgeValue(edge, gap));\n}\n/**\n * Aligns the targetEdge on the passed in target to the rects corresponding opposite edge.\n * For instance if targetEdge is bottom, then the rects top will be moved to match it.\n *\n * @param {Rectangle} rect\n * @param {Rectangle} target\n * @param {RectangleEdge} targetEdge\n * @param {number} [gap=0]\n * @returns {Rectangle}\n */\n\n\nfunction _alignOppositeEdges(rect, target, targetEdge, gap) {\n if (gap === void 0) {\n gap = 0;\n }\n\n var oppositeEdge = targetEdge * -1;\n\n var adjustedGap = _getRelativeEdgeValue(oppositeEdge, gap);\n\n return _moveEdge(rect, targetEdge * -1, _getEdgeValue(target, targetEdge) + adjustedGap);\n}\n/**\n * Tests to see if the given edge is within the bounds of the given rectangle.\n *\n * @param {Rectangle} rect\n * @param {Rectangle} bounds\n * @param {RectangleEdge} edge\n * @returns {boolean}\n */\n\n\nfunction _isEdgeInBounds(rect, bounds, edge) {\n var adjustedRectValue = _getRelativeRectEdgeValue(edge, rect);\n\n return adjustedRectValue > _getRelativeRectEdgeValue(edge, bounds);\n}\n/**\n * Attempts to move the rectangle through various sides of the target to find a place to fit.\n * If no fit is found, the original position should be returned.\n *\n * @param {Rectangle} rect\n * @param {Rectangle} target\n * @param {Rectangle} bounding\n * @param {IPositionDirectionalHintData} positionData\n * @param {number} [gap=0]\n * @returns {IElementPosition}\n */\n\n\nfunction _flipToFit(rect, target, bounding, positionData, gap) {\n if (gap === void 0) {\n gap = 0;\n }\n\n var directions = [RectangleEdge.left, RectangleEdge.right, RectangleEdge.bottom, RectangleEdge.top]; // In RTL page, RectangleEdge.right has a higher priority than RectangleEdge.left, therefore the order should be updated.\n\n if (getRTL()) {\n directions[0] *= -1;\n directions[1] *= -1;\n }\n\n var currentEstimate = rect;\n var currentEdge = positionData.targetEdge;\n var currentAlignment = positionData.alignmentEdge; // Keep switching sides until one is found with enough space. If all sides don't fit then return the unmodified element.\n\n for (var i = 0; i < 4; i++) {\n if (!_isEdgeInBounds(currentEstimate, bounding, currentEdge)) {\n directions.splice(directions.indexOf(currentEdge), 1);\n\n if (directions.length > 0) {\n if (directions.indexOf(currentEdge * -1) > -1) {\n currentEdge = currentEdge * -1;\n } else {\n currentAlignment = currentEdge;\n currentEdge = directions.slice(-1)[0];\n }\n\n currentEstimate = _estimatePosition(rect, target, {\n targetEdge: currentEdge,\n alignmentEdge: currentAlignment\n }, gap);\n }\n } else {\n return {\n elementRectangle: currentEstimate,\n targetEdge: currentEdge,\n alignmentEdge: currentAlignment\n };\n }\n }\n\n return {\n elementRectangle: rect,\n targetEdge: positionData.targetEdge,\n alignmentEdge: currentAlignment\n };\n}\n/**\n * Flips only the alignment edge of an element rectangle. This is used instead of nudging the alignment edges into position,\n * when alignTargetEdge is specified.\n * @param elementEstimate\n * @param target\n * @param bounding\n * @param gap\n */\n\n\nfunction _flipAlignmentEdge(elementEstimate, target, gap, coverTarget) {\n var alignmentEdge = elementEstimate.alignmentEdge,\n targetEdge = elementEstimate.targetEdge,\n elementRectangle = elementEstimate.elementRectangle;\n var oppositeEdge = alignmentEdge * -1;\n\n var newEstimate = _estimatePosition(elementRectangle, target, {\n targetEdge: targetEdge,\n alignmentEdge: oppositeEdge\n }, gap, coverTarget);\n\n return {\n elementRectangle: newEstimate,\n targetEdge: targetEdge,\n alignmentEdge: oppositeEdge\n };\n}\n/**\n * Adjusts a element rectangle to fit within the bounds given. If directionalHintFixed or covertarget is passed in\n * then the element will not flip sides on the target. They will, however, be nudged to fit within the bounds given.\n *\n * @param {Rectangle} element\n * @param {Rectangle} target\n * @param {Rectangle} bounding\n * @param {IPositionDirectionalHintData} positionData\n * @param {number} [gap=0]\n * @param {boolean} [directionalHintFixed]\n * @param {boolean} [coverTarget]\n * @returns {IElementPosition}\n */\n\n\nfunction _adjustFitWithinBounds(element, target, bounding, positionData, gap, directionalHintFixed, coverTarget) {\n if (gap === void 0) {\n gap = 0;\n }\n\n var alignmentEdge = positionData.alignmentEdge,\n alignTargetEdge = positionData.alignTargetEdge;\n var elementEstimate = {\n elementRectangle: element,\n targetEdge: positionData.targetEdge,\n alignmentEdge: alignmentEdge\n };\n\n if (!directionalHintFixed && !coverTarget) {\n elementEstimate = _flipToFit(element, target, bounding, positionData, gap);\n }\n\n var outOfBounds = _getOutOfBoundsEdges(element, bounding);\n\n if (alignTargetEdge) {\n // The edge opposite to the alignment edge might be out of bounds. Flip alignment to see if we can get it within bounds.\n if (elementEstimate.alignmentEdge && outOfBounds.indexOf(elementEstimate.alignmentEdge * -1) > -1) {\n var flippedElementEstimate = _flipAlignmentEdge(elementEstimate, target, gap, coverTarget);\n\n if (_isRectangleWithinBounds(flippedElementEstimate.elementRectangle, bounding)) {\n return flippedElementEstimate;\n } else {\n // If the flipped elements edges are still out of bounds, try nudging it.\n elementEstimate = _alignOutOfBoundsEdges(_getOutOfBoundsEdges(flippedElementEstimate.elementRectangle, bounding), elementEstimate, bounding);\n }\n }\n } else {\n elementEstimate = _alignOutOfBoundsEdges(outOfBounds, elementEstimate, bounding);\n }\n\n return elementEstimate;\n}\n/**\n * Iterates through a list of out of bounds edges and tries to nudge and align them.\n * @param outOfBoundsEdges Array of edges that are out of bounds\n * @param elementEstimate The current element positioning estimate\n * @param bounding The current bounds\n */\n\n\nfunction _alignOutOfBoundsEdges(outOfBoundsEdges, elementEstimate, bounding) {\n for (var _i = 0, outOfBoundsEdges_1 = outOfBoundsEdges; _i < outOfBoundsEdges_1.length; _i++) {\n var direction = outOfBoundsEdges_1[_i];\n elementEstimate.elementRectangle = _alignEdges(elementEstimate.elementRectangle, bounding, direction);\n }\n\n return elementEstimate;\n}\n/**\n * Moves the middle point on an edge to the point given.\n * Only moves in one direction. For instance if a bottom edge is passed in, then\n * the bottom edge will be moved in the x axis to match the point.\n *\n * @param {Rectangle} rect\n * @param {RectangleEdge} edge\n * @param {number} point\n * @returns {Rectangle}\n */\n\n\nfunction _centerEdgeToPoint(rect, edge, point) {\n var positiveEdge = _getFlankingEdges(edge).positiveEdge;\n\n var elementMiddle = _getCenterValue(rect, edge);\n\n var distanceToMiddle = elementMiddle - _getEdgeValue(rect, positiveEdge);\n\n return _moveEdge(rect, positiveEdge, point - distanceToMiddle);\n}\n/**\n * Moves the element rectangle to be appropriately positioned relative to a given target.\n * Does not flip or adjust the element.\n *\n * @param {Rectangle} elementToPosition\n * @param {Rectangle} target\n * @param {IPositionDirectionalHintData} positionData\n * @param {number} [gap=0]\n * @param {boolean} [coverTarget]\n * @returns {Rectangle}\n */\n\n\nfunction _estimatePosition(elementToPosition, target, positionData, gap, coverTarget) {\n if (gap === void 0) {\n gap = 0;\n }\n\n var estimatedElementPosition;\n var alignmentEdge = positionData.alignmentEdge,\n targetEdge = positionData.targetEdge;\n var elementEdge = coverTarget ? targetEdge : targetEdge * -1;\n estimatedElementPosition = coverTarget ? _alignEdges(elementToPosition, target, targetEdge, gap) : _alignOppositeEdges(elementToPosition, target, targetEdge, gap); // if no alignment edge is provided it's supposed to be centered.\n\n if (!alignmentEdge) {\n var targetMiddlePoint = _getCenterValue(target, targetEdge);\n\n estimatedElementPosition = _centerEdgeToPoint(estimatedElementPosition, elementEdge, targetMiddlePoint);\n } else {\n estimatedElementPosition = _alignEdges(estimatedElementPosition, target, alignmentEdge);\n }\n\n return estimatedElementPosition;\n}\n/**\n * Returns the non-opposite edges of the target edge.\n * For instance if bottom is passed in then left and right will be returned.\n *\n * @param {RectangleEdge} edge\n * @returns {{ firstEdge: RectangleEdge, secondEdge: RectangleEdge }}\n */\n\n\nfunction _getFlankingEdges(edge) {\n if (edge === RectangleEdge.top || edge === RectangleEdge.bottom) {\n return {\n positiveEdge: RectangleEdge.left,\n negativeEdge: RectangleEdge.right\n };\n } else {\n return {\n positiveEdge: RectangleEdge.top,\n negativeEdge: RectangleEdge.bottom\n };\n }\n}\n/**\n * Retrieve the final value for the return edge of elementRectangle.\n * If the elementRectangle is closer to one side of the bounds versus the other, the return edge is flipped to grow inward.\n *\n * @param elementRectangle\n * @param targetEdge\n * @param bounds\n */\n\n\nfunction _finalizeReturnEdge(elementRectangle, returnEdge, bounds) {\n if (bounds && Math.abs(_getRelativeEdgeDifference(elementRectangle, bounds, returnEdge)) > Math.abs(_getRelativeEdgeDifference(elementRectangle, bounds, returnEdge * -1))) {\n return returnEdge * -1;\n }\n\n return returnEdge;\n}\n/**\n * Finalizes the element positon based on the hostElement. Only returns the\n * rectangle values to position such that they are anchored to the target.\n * This helps prevent resizing from looking very strange.\n * For instance, if the target edge is top and aligned with the left side then\n * the bottom and left values are returned so as the callou shrinks it shrinks towards that corner.\n *\n * @param {Rectangle} elementRectangle\n * @param {HTMLElement} hostElement\n * @param {RectangleEdge} targetEdge\n * @param {RectangleEdge} bounds\n * @param {RectangleEdge} [alignmentEdge]\n * @param {boolean} coverTarget\n * @param {boolean} doNotFinalizeReturnEdge\n * @returns {IPartialIRectangle}\n */\n\n\nfunction _finalizeElementPosition(elementRectangle, hostElement, targetEdge, bounds, alignmentEdge, coverTarget, doNotFinalizeReturnEdge) {\n var returnValue = {};\n\n var hostRect = _getRectangleFromElement(hostElement);\n\n var elementEdge = coverTarget ? targetEdge : targetEdge * -1;\n var elementEdgeString = RectangleEdge[elementEdge];\n var returnEdge = alignmentEdge ? alignmentEdge : _getFlankingEdges(targetEdge).positiveEdge;\n\n if (!doNotFinalizeReturnEdge) {\n returnEdge = _finalizeReturnEdge(elementRectangle, returnEdge, bounds);\n }\n\n returnValue[elementEdgeString] = _getRelativeEdgeDifference(elementRectangle, hostRect, elementEdge);\n returnValue[RectangleEdge[returnEdge]] = _getRelativeEdgeDifference(elementRectangle, hostRect, returnEdge);\n return returnValue;\n} // Since the beak is rotated 45 degrees the actual height/width is the length of the diagonal.\n// We still want to position the beak based on it's midpoint which does not change. It will\n// be at (beakwidth / 2, beakwidth / 2)\n\n\nfunction _calculateActualBeakWidthInPixels(beakWidth) {\n return Math.sqrt(beakWidth * beakWidth * 2);\n}\n/**\n * Returns the appropriate IPositionData based on the props altered for RTL.\n * If directionalHintForRTL is passed in that is used if the page is RTL.\n * If a directionalHint is specified and no directionalHintForRTL is available and the page is RTL the hint will be flipped.\n * For instance bottomLeftEdge would become bottomRightEdge.\n * If there is no directionalHint passed in bottomAutoEdge is chosen automatically.\n *\n * @param {IPositionProps} props\n * @returns {IPositionDirectionalHintData}\n */\n\n\nfunction _getPositionData(directionalHint, directionalHintForRTL, previousPositions) {\n if (directionalHint === void 0) {\n directionalHint = DirectionalHint.bottomAutoEdge;\n }\n\n if (previousPositions) {\n return {\n alignmentEdge: previousPositions.alignmentEdge,\n isAuto: previousPositions.isAuto,\n targetEdge: previousPositions.targetEdge\n };\n }\n\n var positionInformation = __assign({}, DirectionalDictionary[directionalHint]);\n\n if (getRTL()) {\n // If alignment edge exists and that alignment edge is -2 or 2, right or left, then flip it.\n if (positionInformation.alignmentEdge && positionInformation.alignmentEdge % 2 === 0) {\n positionInformation.alignmentEdge = positionInformation.alignmentEdge * -1;\n }\n\n return directionalHintForRTL !== undefined ? DirectionalDictionary[directionalHintForRTL] : positionInformation;\n }\n\n return positionInformation;\n}\n/**\n * Get's the alignment data for the given information. This only really matters if the positioning is Auto.\n * If it is auto then the alignmentEdge should be chosen based on the target edge's position relative to\n * the center of the page.\n *\n * @param {IPositionDirectionalHintData} positionData\n * @param {Rectangle} target\n * @param {Rectangle} boundingRect\n * @param {boolean} [coverTarget]\n * @returns {IPositionDirectionalHintData}\n */\n\n\nfunction _getAlignmentData(positionData, target, boundingRect, coverTarget, alignTargetEdge) {\n if (positionData.isAuto) {\n positionData.alignmentEdge = getClosestEdge(positionData.targetEdge, target, boundingRect);\n }\n\n positionData.alignTargetEdge = alignTargetEdge;\n return positionData;\n}\n\nfunction getClosestEdge(targetEdge, target, boundingRect) {\n var targetCenter = _getCenterValue(target, targetEdge);\n\n var boundingCenter = _getCenterValue(boundingRect, targetEdge);\n\n var _a = _getFlankingEdges(targetEdge),\n positiveEdge = _a.positiveEdge,\n negativeEdge = _a.negativeEdge;\n\n if (targetCenter <= boundingCenter) {\n return positiveEdge;\n } else {\n return negativeEdge;\n }\n}\n\nfunction _positionElementWithinBounds(elementToPosition, target, bounding, positionData, gap, directionalHintFixed, coverTarget) {\n var estimatedElementPosition = _estimatePosition(elementToPosition, target, positionData, gap, coverTarget);\n\n if (_isRectangleWithinBounds(estimatedElementPosition, bounding)) {\n return {\n elementRectangle: estimatedElementPosition,\n targetEdge: positionData.targetEdge,\n alignmentEdge: positionData.alignmentEdge\n };\n } else {\n return _adjustFitWithinBounds(elementToPosition, target, bounding, positionData, gap, directionalHintFixed, coverTarget);\n }\n}\n\nfunction _finalizeBeakPosition(elementPosition, positionedBeak, bounds) {\n var targetEdge = elementPosition.targetEdge * -1; // The \"host\" element that we will use to help position the beak.\n\n var actualElement = new Rectangle(0, elementPosition.elementRectangle.width, 0, elementPosition.elementRectangle.height);\n var returnValue = {};\n\n var returnEdge = _finalizeReturnEdge(elementPosition.elementRectangle, elementPosition.alignmentEdge ? elementPosition.alignmentEdge : _getFlankingEdges(targetEdge).positiveEdge, bounds);\n\n returnValue[RectangleEdge[targetEdge]] = _getEdgeValue(positionedBeak, targetEdge);\n returnValue[RectangleEdge[returnEdge]] = _getRelativeEdgeDifference(positionedBeak, actualElement, returnEdge);\n return {\n elementPosition: __assign({}, returnValue),\n closestEdge: getClosestEdge(elementPosition.targetEdge, positionedBeak, actualElement),\n targetEdge: targetEdge\n };\n}\n\nfunction _positionBeak(beakWidth, elementPosition) {\n var target = elementPosition.targetRectangle;\n /**\n * Note about beak positioning: The actual beak width only matters for getting the gap between the callout and\n * target, it does not impact the beak placement within the callout. For example example, if the beakWidth is 8,\n * then the actual beakWidth is sqrroot(8^2 + 8^2) = 11.31x11.31. So the callout will need to be an extra 3 pixels\n * away from its target. While the beak is being positioned in the callout it still acts as though it were 8x8.\n * */\n\n var _a = _getFlankingEdges(elementPosition.targetEdge),\n positiveEdge = _a.positiveEdge,\n negativeEdge = _a.negativeEdge;\n\n var beakTargetPoint = _getCenterValue(target, elementPosition.targetEdge);\n\n var elementBounds = new Rectangle(beakWidth / 2, elementPosition.elementRectangle.width - beakWidth / 2, beakWidth / 2, elementPosition.elementRectangle.height - beakWidth / 2);\n var beakPosition = new Rectangle(0, beakWidth, 0, beakWidth);\n beakPosition = _moveEdge(beakPosition, elementPosition.targetEdge * -1, -beakWidth / 2);\n beakPosition = _centerEdgeToPoint(beakPosition, elementPosition.targetEdge * -1, beakTargetPoint - _getRelativeRectEdgeValue(positiveEdge, elementPosition.elementRectangle));\n\n if (!_isEdgeInBounds(beakPosition, elementBounds, positiveEdge)) {\n beakPosition = _alignEdges(beakPosition, elementBounds, positiveEdge);\n } else if (!_isEdgeInBounds(beakPosition, elementBounds, negativeEdge)) {\n beakPosition = _alignEdges(beakPosition, elementBounds, negativeEdge);\n }\n\n return beakPosition;\n}\n\nfunction _getRectangleFromElement(element) {\n var clientRect = element.getBoundingClientRect();\n return new Rectangle(clientRect.left, clientRect.right, clientRect.top, clientRect.bottom);\n}\n\nfunction _getRectangleFromIRect(rect) {\n return new Rectangle(rect.left, rect.right, rect.top, rect.bottom);\n}\n\nfunction _getTargetRect(bounds, target) {\n var targetRectangle;\n\n if (target) {\n if (!!target.preventDefault) {\n var ev = target;\n targetRectangle = new Rectangle(ev.clientX, ev.clientX, ev.clientY, ev.clientY);\n } else if (!!target.getBoundingClientRect) {\n targetRectangle = _getRectangleFromElement(target); // HTMLImgElements can have x and y values. The check for it being a point must go last.\n } else {\n var point = target;\n targetRectangle = new Rectangle(point.x, point.x, point.y, point.y);\n }\n\n if (!_isRectangleWithinBounds(targetRectangle, bounds)) {\n var outOfBounds = _getOutOfBoundsEdges(targetRectangle, bounds);\n\n for (var _i = 0, outOfBounds_1 = outOfBounds; _i < outOfBounds_1.length; _i++) {\n var direction = outOfBounds_1[_i];\n targetRectangle[RectangleEdge[direction]] = bounds[RectangleEdge[direction]];\n }\n }\n } else {\n targetRectangle = new Rectangle(0, 0, 0, 0);\n }\n\n return targetRectangle;\n}\n/**\n * If max height is less than zero it returns the bounds height instead.\n */\n\n\nfunction _getMaxHeightFromTargetRectangle(targetRectangle, targetEdge, gapSpace, bounds, coverTarget) {\n var maxHeight = 0;\n var directionalHint = DirectionalDictionary[targetEdge]; // If cover target is set, then the max height should be calculated using the opposite of the target edge since\n // that's the direction that the callout will expand in.\n // For instance, if the directionalhint is bottomLeftEdge then the callout will position so it's bottom edge\n // is aligned with the bottom of the target and expand up towards the top of the screen and the calculated max height\n // is (bottom of target) - (top of screen) - gapSpace.\n\n var target = coverTarget ? directionalHint.targetEdge * -1 : directionalHint.targetEdge;\n\n if (target === RectangleEdge.top) {\n maxHeight = _getEdgeValue(targetRectangle, directionalHint.targetEdge) - bounds.top - gapSpace;\n } else if (target === RectangleEdge.bottom) {\n maxHeight = bounds.bottom - _getEdgeValue(targetRectangle, directionalHint.targetEdge) - gapSpace;\n } else {\n maxHeight = bounds.bottom - targetRectangle.top - gapSpace;\n }\n\n return maxHeight > 0 ? maxHeight : bounds.height;\n}\n\nfunction _positionElementRelative(props, elementToPosition, boundingRect, previousPositions) {\n var gap = props.gapSpace ? props.gapSpace : 0;\n\n var targetRect = _getTargetRect(boundingRect, props.target);\n\n var positionData = _getAlignmentData(_getPositionData(props.directionalHint, props.directionalHintForRTL, previousPositions), targetRect, boundingRect, props.coverTarget, props.alignTargetEdge);\n\n var positionedElement = _positionElementWithinBounds(_getRectangleFromElement(elementToPosition), targetRect, boundingRect, positionData, gap, props.directionalHintFixed, props.coverTarget);\n\n return __assign(__assign({}, positionedElement), {\n targetRectangle: targetRect\n });\n}\n\nfunction _finalizePositionData(positionedElement, hostElement, bounds, coverTarget, doNotFinalizeReturnEdge) {\n var finalizedElement = _finalizeElementPosition(positionedElement.elementRectangle, hostElement, positionedElement.targetEdge, bounds, positionedElement.alignmentEdge, coverTarget, doNotFinalizeReturnEdge);\n\n return {\n elementPosition: finalizedElement,\n targetEdge: positionedElement.targetEdge,\n alignmentEdge: positionedElement.alignmentEdge\n };\n}\n\nfunction _positionElement(props, hostElement, elementToPosition, previousPositions) {\n var boundingRect = props.bounds ? _getRectangleFromIRect(props.bounds) : new Rectangle(0, window.innerWidth - getScrollbarWidth(), 0, window.innerHeight);\n\n var positionedElement = _positionElementRelative(props, elementToPosition, boundingRect, previousPositions);\n\n return _finalizePositionData(positionedElement, hostElement, boundingRect, props.coverTarget);\n}\n\nfunction _positionCallout(props, hostElement, callout, previousPositions, doNotFinalizeReturnEdge) {\n var beakWidth = props.isBeakVisible ? props.beakWidth || 0 : 0;\n var gap = _calculateActualBeakWidthInPixels(beakWidth) / 2 + (props.gapSpace ? props.gapSpace : 0);\n var positionProps = props;\n positionProps.gapSpace = gap;\n var boundingRect = props.bounds ? _getRectangleFromIRect(props.bounds) : new Rectangle(0, window.innerWidth - getScrollbarWidth(), 0, window.innerHeight);\n\n var positionedElement = _positionElementRelative(positionProps, callout, boundingRect, previousPositions);\n\n var beakPositioned = _positionBeak(beakWidth, positionedElement);\n\n var finalizedBeakPosition = _finalizeBeakPosition(positionedElement, beakPositioned, boundingRect);\n\n return __assign(__assign({}, _finalizePositionData(positionedElement, hostElement, boundingRect, props.coverTarget, doNotFinalizeReturnEdge)), {\n beakPosition: finalizedBeakPosition\n });\n}\n\nfunction _positionCard(props, hostElement, callout, previousPositions) {\n return _positionCallout(props, hostElement, callout, previousPositions, true);\n} // END PRIVATE FUNCTIONS\n\n/* tslint:disable:variable-name */\n\n\nexport var __positioningTestPackage = {\n _finalizePositionData: _finalizePositionData,\n _finalizeBeakPosition: _finalizeBeakPosition,\n _calculateActualBeakWidthInPixels: _calculateActualBeakWidthInPixels,\n _positionElementWithinBounds: _positionElementWithinBounds,\n _positionBeak: _positionBeak,\n _getPositionData: _getPositionData,\n _getMaxHeightFromTargetRectangle: _getMaxHeightFromTargetRectangle\n};\n/* tslint:enable:variable-name */\n\n/**\n * Used to position an element relative to the given positioning props.\n * If positioning has been completed before, previousPositioningData\n * can be passed to ensure that the positioning element repositions based on\n * its previous targets rather than starting with directionalhint.\n *\n * @export\n * @param {IPositionProps} props\n * @param {HTMLElement} hostElement\n * @param {HTMLElement} elementToPosition\n * @param {IPositionedData} previousPositions\n * @returns\n */\n\nexport function positionElement(props, hostElement, elementToPosition, previousPositions) {\n return _positionElement(props, hostElement, elementToPosition, previousPositions);\n}\nexport function positionCallout(props, hostElement, elementToPosition, previousPositions) {\n return _positionCallout(props, hostElement, elementToPosition, previousPositions);\n}\nexport function positionCard(props, hostElement, elementToPosition, previousPositions) {\n return _positionCard(props, hostElement, elementToPosition, previousPositions);\n}\n/**\n * Get's the maximum height that a rectangle can have in order to fit below or above a target.\n * If the directional hint specifies a left or right edge (i.e. leftCenter) it will limit the height to the topBorder\n * of the target given.\n * If no bounds are provided then the window is treated as the bounds.\n */\n\nexport function getMaxHeight(target, targetEdge, gapSpace, bounds, coverTarget) {\n if (gapSpace === void 0) {\n gapSpace = 0;\n }\n\n var mouseTarget = target;\n var elementTarget = target;\n var pointTarget = target;\n var targetRect;\n var boundingRectangle = bounds ? _getRectangleFromIRect(bounds) : new Rectangle(0, window.innerWidth - getScrollbarWidth(), 0, window.innerHeight);\n\n if (!!mouseTarget.stopPropagation) {\n targetRect = new Rectangle(mouseTarget.clientX, mouseTarget.clientX, mouseTarget.clientY, mouseTarget.clientY);\n } else if (pointTarget.x !== undefined && pointTarget.y !== undefined) {\n targetRect = new Rectangle(pointTarget.x, pointTarget.x, pointTarget.y, pointTarget.y);\n } else {\n targetRect = _getRectangleFromElement(elementTarget);\n }\n\n return _getMaxHeightFromTargetRectangle(targetRect, targetEdge, gapSpace, boundingRectangle, coverTarget);\n}\n/**\n * Returns the opposite edge of the given RectangleEdge.\n */\n\nexport function getOppositeEdge(edge) {\n return edge * -1;\n}","var _a;\n\nimport { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { DirectionalHint } from '../../common/DirectionalHint';\nimport { Async, assign, css, divProperties, elementContains, focusFirstChild, getDocument, getNativeProps, getWindow, on, shallowCompare } from '../../Utilities';\nimport { positionCallout, getMaxHeight, RectangleEdge, positionCard } from '../../utilities/positioning';\nimport { Popup } from '../../Popup';\nimport { classNamesFunction } from '../../Utilities';\nimport { AnimationClassNames } from '../../Styling';\nvar ANIMATIONS = (_a = {}, _a[RectangleEdge.top] = AnimationClassNames.slideUpIn10, _a[RectangleEdge.bottom] = AnimationClassNames.slideDownIn10, _a[RectangleEdge.left] = AnimationClassNames.slideLeftIn10, _a[RectangleEdge.right] = AnimationClassNames.slideRightIn10, _a);\nvar getClassNames = classNamesFunction({\n disableCaching: true\n});\nvar BEAK_ORIGIN_POSITION = {\n top: 0,\n left: 0\n}; // Microsoft Edge will overwrite inline styles if there is an animation pertaining to that style.\n// To help ensure that edge will respect the offscreen style opacity\n// filter needs to be added as an additional way to set opacity.\n\nvar OFF_SCREEN_STYLE = {\n opacity: 0,\n filter: 'opacity(0)'\n}; // role and role description go hand-in-hand. Both would be included by spreading getNativeProps for a basic element\n// This constant array can be used to filter these out of native props spread on callout root and apply them together on\n// calloutMain (the Popup component within the callout)\n\nvar ARIA_ROLE_ATTRIBUTES = ['role', 'aria-roledescription'];\n\nvar CalloutContentBase =\n/** @class */\nfunction (_super) {\n __extends(CalloutContentBase, _super);\n\n function CalloutContentBase(props) {\n var _this = _super.call(this, props) || this;\n\n _this._hostElement = React.createRef();\n _this._calloutElement = React.createRef();\n _this._hasListeners = false;\n _this._disposables = [];\n\n _this.dismiss = function (ev) {\n var onDismiss = _this.props.onDismiss;\n\n if (onDismiss) {\n onDismiss(ev);\n }\n };\n\n _this._dismissOnScroll = function (ev) {\n var preventDismissOnScroll = _this.props.preventDismissOnScroll;\n\n if (_this.state.positions && !preventDismissOnScroll) {\n _this._dismissOnClickOrScroll(ev);\n }\n };\n\n _this._dismissOnResize = function (ev) {\n var preventDismissOnResize = _this.props.preventDismissOnResize;\n\n if (!preventDismissOnResize) {\n _this.dismiss(ev);\n }\n };\n\n _this._dismissOnLostFocus = function (ev) {\n var preventDismissOnLostFocus = _this.props.preventDismissOnLostFocus;\n\n if (!preventDismissOnLostFocus) {\n _this._dismissOnClickOrScroll(ev);\n }\n };\n\n _this._setInitialFocus = function () {\n if (_this.props.setInitialFocus && !_this._didSetInitialFocus && _this.state.positions && _this._calloutElement.current) {\n _this._didSetInitialFocus = true;\n\n _this._async.requestAnimationFrame(function () {\n return focusFirstChild(_this._calloutElement.current);\n }, _this._calloutElement.current);\n }\n };\n\n _this._onComponentDidMount = function () {\n _this._addListeners();\n\n if (_this.props.onLayerMounted) {\n _this.props.onLayerMounted();\n }\n\n _this._updateAsyncPosition();\n\n _this._setHeightOffsetEveryFrame();\n };\n\n _this._mouseDownOnPopup = function () {\n _this._isMouseDownOnPopup = true;\n };\n\n _this._mouseUpOnPopup = function () {\n _this._isMouseDownOnPopup = false;\n };\n\n _this._async = new Async(_this);\n _this._didSetInitialFocus = false;\n _this.state = {\n positions: undefined,\n slideDirectionalClassName: undefined,\n // @TODO it looks like this is not even being used anymore.\n calloutElementRect: undefined,\n heightOffset: 0\n };\n _this._positionAttempts = 0;\n return _this;\n }\n\n CalloutContentBase.prototype.componentDidUpdate = function () {\n if (!this.props.hidden) {\n this._setInitialFocus();\n\n if (!this._hasListeners) {\n this._addListeners();\n }\n\n this._updateAsyncPosition();\n } else {\n if (this._hasListeners) {\n this._removeListeners();\n }\n }\n };\n\n CalloutContentBase.prototype.shouldComponentUpdate = function (newProps, newState) {\n if (!newProps.shouldUpdateWhenHidden && this.props.hidden && newProps.hidden) {\n // Do not update when hidden.\n return false;\n }\n\n return !shallowCompare(this.props, newProps) || !shallowCompare(this.state, newState);\n }; // tslint:disable-next-line function-name\n\n\n CalloutContentBase.prototype.UNSAFE_componentWillMount = function () {\n this._setTargetWindowAndElement(this._getTarget());\n };\n\n CalloutContentBase.prototype.componentWillUnmount = function () {\n this._async.dispose();\n\n this._disposables.forEach(function (dispose) {\n return dispose();\n });\n }; // tslint:disable-next-line function-name\n\n\n CalloutContentBase.prototype.UNSAFE_componentWillUpdate = function (newProps) {\n // If the target element changed, find the new one. If we are tracking target with class name, always find element because we\n // do not know if fabric has rendered a new element and disposed the old element.\n var newTarget = this._getTarget(newProps);\n\n var oldTarget = this._getTarget();\n\n if ((newTarget !== oldTarget || typeof newTarget === 'string' || newTarget instanceof String) && !this._blockResetHeight) {\n this._maxHeight = undefined;\n\n this._setTargetWindowAndElement(newTarget);\n }\n\n if (newProps.gapSpace !== this.props.gapSpace || this.props.beakWidth !== newProps.beakWidth) {\n this._maxHeight = undefined;\n }\n\n if (newProps.finalHeight !== this.props.finalHeight) {\n this._setHeightOffsetEveryFrame();\n } // Ensure positioning is recalculated when we are about to show a persisted menu.\n\n\n if (this._didPositionPropsChange(newProps, this.props)) {\n this._maxHeight = undefined; // Target might have been updated while hidden.\n\n this._setTargetWindowAndElement(newTarget);\n\n this.setState({\n positions: undefined\n });\n this._didSetInitialFocus = false;\n this._bounds = undefined;\n }\n\n this._blockResetHeight = false;\n };\n\n CalloutContentBase.prototype.componentDidMount = function () {\n if (!this.props.hidden) {\n this._onComponentDidMount();\n }\n };\n\n CalloutContentBase.prototype.render = function () {\n // If there is no target window then we are likely in server side rendering and we should not render anything.\n if (!this._targetWindow) {\n return null;\n }\n\n var target = this.props.target;\n var _a = this.props,\n styles = _a.styles,\n style = _a.style,\n ariaLabel = _a.ariaLabel,\n ariaDescribedBy = _a.ariaDescribedBy,\n ariaLabelledBy = _a.ariaLabelledBy,\n className = _a.className,\n isBeakVisible = _a.isBeakVisible,\n children = _a.children,\n beakWidth = _a.beakWidth,\n calloutWidth = _a.calloutWidth,\n calloutMaxWidth = _a.calloutMaxWidth,\n finalHeight = _a.finalHeight,\n _b = _a.hideOverflow,\n hideOverflow = _b === void 0 ? !!finalHeight : _b,\n backgroundColor = _a.backgroundColor,\n calloutMaxHeight = _a.calloutMaxHeight,\n onScroll = _a.onScroll,\n _c = _a.shouldRestoreFocus,\n shouldRestoreFocus = _c === void 0 ? true : _c;\n target = this._getTarget();\n var positions = this.state.positions;\n var getContentMaxHeight = this._getMaxHeight() ? this._getMaxHeight() + this.state.heightOffset : undefined;\n var contentMaxHeight = calloutMaxHeight && getContentMaxHeight && calloutMaxHeight < getContentMaxHeight ? calloutMaxHeight : getContentMaxHeight;\n var overflowYHidden = hideOverflow;\n var beakVisible = isBeakVisible && !!target;\n this._classNames = getClassNames(styles, {\n theme: this.props.theme,\n className: className,\n overflowYHidden: overflowYHidden,\n calloutWidth: calloutWidth,\n positions: positions,\n beakWidth: beakWidth,\n backgroundColor: backgroundColor,\n calloutMaxWidth: calloutMaxWidth\n });\n\n var overflowStyle = __assign(__assign(__assign({}, style), {\n maxHeight: contentMaxHeight\n }), overflowYHidden && {\n overflowY: 'hidden'\n });\n\n var visibilityStyle = this.props.hidden ? {\n visibility: 'hidden'\n } : undefined; // React.CSSProperties does not understand IRawStyle, so the inline animations will need to be cast as any for now.\n\n var content = React.createElement(\"div\", {\n ref: this._hostElement,\n className: this._classNames.container,\n style: visibilityStyle\n }, React.createElement(\"div\", __assign({}, getNativeProps(this.props, divProperties, ARIA_ROLE_ATTRIBUTES), {\n className: css(this._classNames.root, positions && positions.targetEdge && ANIMATIONS[positions.targetEdge]),\n style: positions ? positions.elementPosition : OFF_SCREEN_STYLE,\n tabIndex: -1,\n // See https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#Clicking_and_focus\n ref: this._calloutElement\n }), beakVisible && React.createElement(\"div\", {\n className: this._classNames.beak,\n style: this._getBeakPosition()\n }), beakVisible && React.createElement(\"div\", {\n className: this._classNames.beakCurtain\n }), React.createElement(Popup, __assign({}, getNativeProps(this.props, ARIA_ROLE_ATTRIBUTES), {\n ariaLabel: ariaLabel,\n ariaDescribedBy: ariaDescribedBy,\n ariaLabelledBy: ariaLabelledBy,\n className: this._classNames.calloutMain,\n onDismiss: this.dismiss,\n onScroll: onScroll,\n shouldRestoreFocus: shouldRestoreFocus,\n style: overflowStyle,\n onMouseDown: this._mouseDownOnPopup,\n onMouseUp: this._mouseUpOnPopup\n }), children)));\n return content;\n };\n\n CalloutContentBase.prototype._dismissOnClickOrScroll = function (ev) {\n var target = ev.target;\n var isEventTargetOutsideCallout = this._hostElement.current && !elementContains(this._hostElement.current, target); // If mouse is pressed down on callout but moved outside then released, don't dismiss the callout.\n\n if (isEventTargetOutsideCallout && this._isMouseDownOnPopup) {\n this._isMouseDownOnPopup = false;\n return;\n }\n\n if (!this._target && isEventTargetOutsideCallout || ev.target !== this._targetWindow && isEventTargetOutsideCallout && (this._target.stopPropagation || !this._target || target !== this._target && !elementContains(this._target, target))) {\n this.dismiss(ev);\n }\n };\n\n CalloutContentBase.prototype._addListeners = function () {\n var _this = this; // This is added so the callout will dismiss when the window is scrolled\n // but not when something inside the callout is scrolled. The delay seems\n // to be required to avoid React firing an async focus event in IE from\n // the target changing focus quickly prior to rendering the callout.\n\n\n this._async.setTimeout(function () {\n _this._disposables.push(on(_this._targetWindow, 'scroll', _this._dismissOnScroll, true), on(_this._targetWindow, 'resize', _this._dismissOnResize, true), on(_this._targetWindow.document.documentElement, 'focus', _this._dismissOnLostFocus, true), on(_this._targetWindow.document.documentElement, 'click', _this._dismissOnLostFocus, true));\n\n _this._hasListeners = true;\n }, 0);\n };\n\n CalloutContentBase.prototype._removeListeners = function () {\n this._disposables.forEach(function (dispose) {\n return dispose();\n });\n\n this._disposables = [];\n this._hasListeners = false;\n };\n\n CalloutContentBase.prototype._updateAsyncPosition = function () {\n var _this = this;\n\n this._async.requestAnimationFrame(function () {\n return _this._updatePosition();\n }, this._calloutElement.current);\n };\n\n CalloutContentBase.prototype._getBeakPosition = function () {\n var positions = this.state.positions;\n\n var beakPostionStyle = __assign({}, positions && positions.beakPosition ? positions.beakPosition.elementPosition : null);\n\n if (!beakPostionStyle.top && !beakPostionStyle.bottom && !beakPostionStyle.left && !beakPostionStyle.right) {\n beakPostionStyle.left = BEAK_ORIGIN_POSITION.left;\n beakPostionStyle.top = BEAK_ORIGIN_POSITION.top;\n }\n\n return beakPostionStyle;\n };\n\n CalloutContentBase.prototype._updatePosition = function () {\n // Try to update the target, page might have changed\n this._setTargetWindowAndElement(this._getTarget());\n\n var positions = this.state.positions;\n var hostElement = this._hostElement.current;\n var calloutElement = this._calloutElement.current; // If we expect a target element to position against, we need to wait until `this._target` is resolved. Otherwise\n // we can try to position.\n\n var expectsTarget = !!this.props.target;\n\n if (hostElement && calloutElement && (!expectsTarget || this._target)) {\n var currentProps = void 0;\n currentProps = assign(currentProps, this.props);\n currentProps.bounds = this._getBounds();\n currentProps.target = this._target; // If there is a finalHeight given then we assume that the user knows and will handle\n // additional positioning adjustments so we should call positionCard\n\n var newPositions = this.props.finalHeight ? positionCard(currentProps, hostElement, calloutElement, positions) : positionCallout(currentProps, hostElement, calloutElement, positions); // Set the new position only when the positions are not exists or one of the new callout positions are different.\n // The position should not change if the position is within 2 decimal places.\n\n if (!positions && newPositions || positions && newPositions && !this._arePositionsEqual(positions, newPositions) && this._positionAttempts < 5) {\n // We should not reposition the callout more than a few times, if it is then the content is likely resizing\n // and we should stop trying to reposition to prevent a stack overflow.\n this._positionAttempts++;\n this.setState({\n positions: newPositions\n });\n } else if (this._positionAttempts > 0) {\n // Only call the onPositioned callback if the callout has been re-positioned at least once.\n this._positionAttempts = 0;\n\n if (this.props.onPositioned) {\n this.props.onPositioned(this.state.positions);\n }\n }\n }\n };\n\n CalloutContentBase.prototype._getBounds = function () {\n if (!this._bounds) {\n var bounds = this.props.bounds;\n var currentBounds = typeof bounds === 'function' ? bounds(this.props.target, this._targetWindow) : bounds;\n\n if (!currentBounds) {\n currentBounds = {\n top: 0 + this.props.minPagePadding,\n left: 0 + this.props.minPagePadding,\n right: this._targetWindow.innerWidth - this.props.minPagePadding,\n bottom: this._targetWindow.innerHeight - this.props.minPagePadding,\n width: this._targetWindow.innerWidth - this.props.minPagePadding * 2,\n height: this._targetWindow.innerHeight - this.props.minPagePadding * 2\n };\n }\n\n this._bounds = currentBounds;\n }\n\n return this._bounds;\n }; // Max height should remain as synchronous as possible, which is why it is not done using set state.\n // It needs to be synchronous since it will impact the ultimate position of the callout.\n\n\n CalloutContentBase.prototype._getMaxHeight = function () {\n var _this = this;\n\n if (!this._maxHeight) {\n if (this.props.directionalHintFixed && this._target) {\n var beakWidth = this.props.isBeakVisible ? this.props.beakWidth : 0;\n var gapSpace = this.props.gapSpace ? this.props.gapSpace : 0; // Since the callout cannot measure it's border size it must be taken into account here. Otherwise it will\n // overlap with the target.\n\n var totalGap_1 = gapSpace + beakWidth;\n\n this._async.requestAnimationFrame(function () {\n if (_this._target) {\n _this._maxHeight = getMaxHeight(_this._target, _this.props.directionalHint, totalGap_1, _this._getBounds(), _this.props.coverTarget);\n _this._blockResetHeight = true;\n\n _this.forceUpdate();\n }\n }, this._target);\n } else {\n this._maxHeight = this._getBounds().height;\n }\n }\n\n return this._maxHeight;\n };\n\n CalloutContentBase.prototype._arePositionsEqual = function (positions, newPosition) {\n return this._comparePositions(positions.elementPosition, newPosition.elementPosition) && this._comparePositions(positions.beakPosition.elementPosition, newPosition.beakPosition.elementPosition);\n };\n\n CalloutContentBase.prototype._comparePositions = function (oldPositions, newPositions) {\n for (var key in newPositions) {\n // This needs to be checked here and below because there is a linting error if for in does not immediately have an if statement\n if (newPositions.hasOwnProperty(key)) {\n var oldPositionEdge = oldPositions[key];\n var newPositionEdge = newPositions[key];\n\n if (oldPositionEdge !== undefined && newPositionEdge !== undefined) {\n if (oldPositionEdge.toFixed(2) !== newPositionEdge.toFixed(2)) {\n return false;\n }\n } else {\n return false;\n }\n }\n }\n\n return true;\n };\n\n CalloutContentBase.prototype._setTargetWindowAndElement = function (target) {\n var currentElement = this._calloutElement.current;\n\n if (target) {\n if (typeof target === 'string') {\n var currentDoc = getDocument(currentElement);\n this._target = currentDoc ? currentDoc.querySelector(target) : null;\n this._targetWindow = getWindow(currentElement);\n } else if (!!target.stopPropagation) {\n this._targetWindow = getWindow(target.target);\n this._target = target;\n } else if (!!target.getBoundingClientRect) {\n var targetElement = target;\n this._targetWindow = getWindow(targetElement);\n this._target = target;\n } else if (target.current !== undefined) {\n this._target = target.current;\n this._targetWindow = getWindow(this._target); // HTMLImgElements can have x and y values. The check for it being a point must go last.\n } else {\n this._targetWindow = getWindow(currentElement);\n this._target = target;\n }\n } else {\n this._targetWindow = getWindow(currentElement);\n }\n };\n\n CalloutContentBase.prototype._setHeightOffsetEveryFrame = function () {\n var _this = this;\n\n if (this._calloutElement.current && this.props.finalHeight) {\n this._setHeightOffsetTimer = this._async.requestAnimationFrame(function () {\n var calloutMainElem = _this._calloutElement.current && _this._calloutElement.current.lastChild;\n\n if (!calloutMainElem) {\n return;\n }\n\n var cardScrollHeight = calloutMainElem.scrollHeight;\n var cardCurrHeight = calloutMainElem.offsetHeight;\n var scrollDiff = cardScrollHeight - cardCurrHeight;\n\n _this.setState({\n heightOffset: _this.state.heightOffset + scrollDiff\n });\n\n if (calloutMainElem.offsetHeight < _this.props.finalHeight) {\n _this._setHeightOffsetEveryFrame();\n } else {\n _this._async.cancelAnimationFrame(_this._setHeightOffsetTimer, _this._calloutElement.current);\n }\n }, this._calloutElement.current);\n }\n }; // Whether or not the current positions should be reset\n\n\n CalloutContentBase.prototype._didPositionPropsChange = function (newProps, oldProps) {\n return !newProps.hidden && newProps.hidden !== oldProps.hidden || newProps.directionalHint !== oldProps.directionalHint;\n };\n\n CalloutContentBase.prototype._getTarget = function (props) {\n if (props === void 0) {\n props = this.props;\n }\n\n var target = props.target;\n return target;\n };\n\n CalloutContentBase.defaultProps = {\n preventDismissOnLostFocus: false,\n preventDismissOnScroll: false,\n preventDismissOnResize: false,\n isBeakVisible: true,\n beakWidth: 16,\n gapSpace: 0,\n minPagePadding: 8,\n directionalHint: DirectionalHint.bottomAutoEdge\n };\n return CalloutContentBase;\n}(React.Component);\n\nexport { CalloutContentBase };","import { HighContrastSelector, focusClear, getGlobalClassNames } from '../../Styling';\n\nfunction getBeakStyle(beakWidth) {\n return {\n height: beakWidth,\n width: beakWidth\n };\n}\n\nvar GlobalClassNames = {\n container: 'ms-Callout-container',\n root: 'ms-Callout',\n beak: 'ms-Callout-beak',\n beakCurtain: 'ms-Callout-beakCurtain',\n calloutMain: 'ms-Callout-main'\n};\nexport var getStyles = function getStyles(props) {\n var _a;\n\n var theme = props.theme,\n className = props.className,\n overflowYHidden = props.overflowYHidden,\n calloutWidth = props.calloutWidth,\n beakWidth = props.beakWidth,\n backgroundColor = props.backgroundColor,\n calloutMaxWidth = props.calloutMaxWidth;\n var classNames = getGlobalClassNames(GlobalClassNames, theme);\n var semanticColors = theme.semanticColors,\n effects = theme.effects;\n return {\n container: [classNames.container, {\n position: 'relative'\n }],\n root: [classNames.root, theme.fonts.medium, {\n position: 'absolute',\n boxSizing: 'border-box',\n borderRadius: effects.roundedCorner2,\n boxShadow: effects.elevation16,\n selectors: (_a = {}, _a[HighContrastSelector] = {\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: 'WindowText'\n }, _a)\n }, focusClear(), className, !!calloutWidth && {\n width: calloutWidth\n }, !!calloutMaxWidth && {\n maxWidth: calloutMaxWidth\n }],\n beak: [classNames.beak, {\n position: 'absolute',\n backgroundColor: semanticColors.menuBackground,\n boxShadow: 'inherit',\n border: 'inherit',\n boxSizing: 'border-box',\n transform: 'rotate(45deg)'\n }, getBeakStyle(beakWidth), backgroundColor && {\n backgroundColor: backgroundColor\n }],\n beakCurtain: [classNames.beakCurtain, {\n position: 'absolute',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n backgroundColor: semanticColors.menuBackground,\n borderRadius: effects.roundedCorner2\n }],\n calloutMain: [classNames.calloutMain, {\n backgroundColor: semanticColors.menuBackground,\n overflowX: 'hidden',\n overflowY: 'auto',\n position: 'relative',\n borderRadius: effects.roundedCorner2\n }, overflowYHidden && {\n overflowY: 'hidden'\n }, backgroundColor && {\n backgroundColor: backgroundColor\n }]\n };\n};","import { styled } from '../../Utilities';\nimport { CalloutContentBase } from './CalloutContent.base';\nimport { getStyles } from './CalloutContent.styles';\nexport var CalloutContent = styled(CalloutContentBase, getStyles, undefined, {\n scope: 'CalloutContent'\n});","import { __assign, __extends, __rest } from \"tslib\";\nimport * as React from 'react';\nimport { CalloutContent } from './CalloutContent';\nimport { Layer } from '../../Layer';\n\nvar Callout =\n/** @class */\nfunction (_super) {\n __extends(Callout, _super);\n\n function Callout() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n\n Callout.prototype.render = function () {\n var _a = this.props,\n layerProps = _a.layerProps,\n rest = __rest(_a, [\"layerProps\"]);\n\n var content = React.createElement(CalloutContent, __assign({}, rest));\n return this.props.doNotLayer ? content : React.createElement(Layer, __assign({}, layerProps), content);\n };\n\n return Callout;\n}(React.Component);\n\nexport { Callout };","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { hasSubmenu, getIsChecked } from '../../utilities/contextualMenu/index';\nimport { BaseComponent, getRTL } from '../../Utilities';\nimport { Icon } from '../../Icon';\n\nvar renderItemIcon = function renderItemIcon(props) {\n var item = props.item,\n hasIcons = props.hasIcons,\n classNames = props.classNames;\n var iconProps = item.iconProps;\n\n if (!hasIcons) {\n return null;\n }\n\n if (item.onRenderIcon) {\n return item.onRenderIcon(props);\n }\n\n return React.createElement(Icon, __assign({}, iconProps, {\n className: classNames.icon\n }));\n};\n\nvar renderCheckMarkIcon = function renderCheckMarkIcon(_a) {\n var onCheckmarkClick = _a.onCheckmarkClick,\n item = _a.item,\n classNames = _a.classNames;\n var isItemChecked = getIsChecked(item);\n\n if (onCheckmarkClick) {\n // Ensures that the item is passed as the first argument to the checkmark click callback.\n var onClick = function onClick(e) {\n return onCheckmarkClick(item, e);\n };\n\n return React.createElement(Icon, {\n iconName: item.canCheck !== false && isItemChecked ? 'CheckMark' : '',\n className: classNames.checkmarkIcon,\n onClick: onClick\n });\n }\n\n return null;\n};\n\nvar renderItemName = function renderItemName(_a) {\n var item = _a.item,\n classNames = _a.classNames;\n\n if (item.text || item.name) {\n return React.createElement(\"span\", {\n className: classNames.label\n }, item.text || item.name);\n }\n\n return null;\n};\n\nvar renderSecondaryText = function renderSecondaryText(_a) {\n var item = _a.item,\n classNames = _a.classNames;\n\n if (item.secondaryText) {\n return React.createElement(\"span\", {\n className: classNames.secondaryText\n }, item.secondaryText);\n }\n\n return null;\n};\n\nvar renderSubMenuIcon = function renderSubMenuIcon(_a) {\n var item = _a.item,\n classNames = _a.classNames,\n theme = _a.theme;\n\n if (hasSubmenu(item)) {\n return React.createElement(Icon, __assign({\n iconName: getRTL(theme) ? 'ChevronLeft' : 'ChevronRight'\n }, item.submenuIconProps, {\n className: classNames.subMenuIcon\n }));\n }\n\n return null;\n};\n\nvar ContextualMenuItemBase =\n/** @class */\nfunction (_super) {\n __extends(ContextualMenuItemBase, _super);\n\n function ContextualMenuItemBase() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this.openSubMenu = function () {\n var _a = _this.props,\n item = _a.item,\n openSubMenu = _a.openSubMenu,\n getSubmenuTarget = _a.getSubmenuTarget;\n\n if (getSubmenuTarget) {\n var submenuTarget = getSubmenuTarget();\n\n if (hasSubmenu(item) && openSubMenu && submenuTarget) {\n openSubMenu(item, submenuTarget);\n }\n }\n };\n\n _this.dismissSubMenu = function () {\n var _a = _this.props,\n item = _a.item,\n dismissSubMenu = _a.dismissSubMenu;\n\n if (hasSubmenu(item) && dismissSubMenu) {\n dismissSubMenu();\n }\n };\n\n _this.dismissMenu = function (dismissAll) {\n var dismissMenu = _this.props.dismissMenu;\n\n if (dismissMenu) {\n dismissMenu(undefined\n /* ev */\n , dismissAll);\n }\n };\n\n return _this;\n }\n\n ContextualMenuItemBase.prototype.render = function () {\n var _a = this.props,\n item = _a.item,\n classNames = _a.classNames;\n return React.createElement(\"div\", {\n className: item.split ? classNames.linkContentMenu : classNames.linkContent\n }, renderCheckMarkIcon(this.props), renderItemIcon(this.props), renderItemName(this.props), renderSecondaryText(this.props), renderSubMenuIcon(this.props));\n };\n\n return ContextualMenuItemBase;\n}(BaseComponent);\n\nexport { ContextualMenuItemBase };","import { memoizeFunction } from '../../Utilities';\nimport { mergeStyleSets } from '../../Styling';\n/**\n * @deprecated use getStyles exported from VerticalDivider.styles.ts\n */\n\nexport var getDividerClassNames = memoizeFunction(function (theme) {\n return mergeStyleSets({\n wrapper: {\n display: 'inline-flex',\n height: '100%',\n alignItems: 'center'\n },\n divider: {\n width: 1,\n height: '100%',\n backgroundColor: theme.palette.neutralTertiaryAlt\n }\n });\n});","import { __assign } from \"tslib\";\nimport { concatStyleSets, getFocusStyle, HighContrastSelector, getScreenSelector, ScreenWidthMaxMedium, IconFontSizes } from '../../Styling';\nimport { memoizeFunction } from '../../Utilities';\nexport var CONTEXTUAL_MENU_ITEM_HEIGHT = 36;\nvar MediumScreenSelector = getScreenSelector(0, ScreenWidthMaxMedium);\nvar getItemHighContrastStyles = memoizeFunction(function () {\n var _a;\n\n return {\n selectors: (_a = {}, _a[HighContrastSelector] = {\n backgroundColor: 'Highlight',\n borderColor: 'Highlight',\n color: 'HighlightText',\n MsHighContrastAdjust: 'none'\n }, _a)\n };\n});\nexport var getMenuItemStyles = memoizeFunction(function (theme) {\n var _a, _b, _c, _d, _e, _f, _g;\n\n var semanticColors = theme.semanticColors,\n fonts = theme.fonts,\n palette = theme.palette;\n var ContextualMenuItemBackgroundHoverColor = semanticColors.menuItemBackgroundHovered;\n var ContextualMenuItemTextHoverColor = semanticColors.menuItemTextHovered;\n var ContextualMenuItemBackgroundSelectedColor = semanticColors.menuItemBackgroundPressed;\n var ContextualMenuItemDividerColor = semanticColors.bodyDivider;\n var menuItemStyles = {\n item: [fonts.medium, {\n color: semanticColors.bodyText,\n position: 'relative',\n boxSizing: 'border-box'\n }],\n divider: {\n display: 'block',\n height: '1px',\n backgroundColor: ContextualMenuItemDividerColor,\n position: 'relative'\n },\n root: [getFocusStyle(theme), fonts.medium, {\n color: semanticColors.bodyText,\n backgroundColor: 'transparent',\n border: 'none',\n width: '100%',\n height: CONTEXTUAL_MENU_ITEM_HEIGHT,\n lineHeight: CONTEXTUAL_MENU_ITEM_HEIGHT,\n display: 'block',\n cursor: 'pointer',\n padding: '0px 8px 0 4px',\n textAlign: 'left'\n }],\n rootDisabled: {\n color: semanticColors.disabledBodyText,\n cursor: 'default',\n pointerEvents: 'none',\n selectors: (_a = {}, _a[HighContrastSelector] = {\n color: 'GrayText',\n opacity: 1\n }, _a)\n },\n rootHovered: __assign({\n backgroundColor: ContextualMenuItemBackgroundHoverColor,\n color: ContextualMenuItemTextHoverColor,\n selectors: {\n '.ms-ContextualMenu-icon': {\n color: palette.themeDarkAlt\n },\n '.ms-ContextualMenu-submenuIcon': {\n color: palette.neutralPrimary\n }\n }\n }, getItemHighContrastStyles()),\n rootFocused: __assign({\n backgroundColor: palette.white\n }, getItemHighContrastStyles()),\n rootChecked: __assign({\n selectors: {\n '.ms-ContextualMenu-checkmarkIcon': {\n color: palette.neutralPrimary\n }\n }\n }, getItemHighContrastStyles()),\n rootPressed: __assign({\n backgroundColor: ContextualMenuItemBackgroundSelectedColor,\n selectors: {\n '.ms-ContextualMenu-icon': {\n color: palette.themeDark\n },\n '.ms-ContextualMenu-submenuIcon': {\n color: palette.neutralPrimary\n }\n }\n }, getItemHighContrastStyles()),\n rootExpanded: __assign({\n backgroundColor: ContextualMenuItemBackgroundSelectedColor,\n color: semanticColors.bodyTextChecked\n }, getItemHighContrastStyles()),\n linkContent: {\n whiteSpace: 'nowrap',\n height: 'inherit',\n display: 'flex',\n alignItems: 'center',\n maxWidth: '100%'\n },\n anchorLink: {\n padding: '0px 8px 0 4px',\n textRendering: 'auto',\n color: 'inherit',\n letterSpacing: 'normal',\n wordSpacing: 'normal',\n textTransform: 'none',\n textIndent: '0px',\n textShadow: 'none',\n textDecoration: 'none',\n boxSizing: 'border-box'\n },\n label: {\n margin: '0 4px',\n verticalAlign: 'middle',\n display: 'inline-block',\n flexGrow: '1',\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n whiteSpace: 'nowrap'\n },\n secondaryText: {\n color: theme.palette.neutralSecondary,\n paddingLeft: '20px',\n textAlign: 'right'\n },\n icon: {\n display: 'inline-block',\n minHeight: '1px',\n maxHeight: CONTEXTUAL_MENU_ITEM_HEIGHT,\n fontSize: IconFontSizes.medium,\n width: IconFontSizes.medium,\n margin: '0 4px',\n verticalAlign: 'middle',\n flexShrink: '0',\n selectors: (_b = {}, _b[MediumScreenSelector] = {\n fontSize: IconFontSizes.large,\n width: IconFontSizes.large\n }, _b)\n },\n iconColor: {\n color: semanticColors.menuIcon,\n selectors: (_c = {}, _c[HighContrastSelector] = {\n color: 'inherit'\n }, _c['$root:hover &'] = {\n selectors: (_d = {}, _d[HighContrastSelector] = {\n color: 'HighlightText'\n }, _d)\n }, _c['$root:focus &'] = {\n selectors: (_e = {}, _e[HighContrastSelector] = {\n color: 'HighlightText'\n }, _e)\n }, _c)\n },\n iconDisabled: {\n color: semanticColors.disabledBodyText\n },\n checkmarkIcon: {\n color: semanticColors.bodySubtext,\n selectors: (_f = {}, _f[HighContrastSelector] = {\n color: 'HighlightText'\n }, _f)\n },\n subMenuIcon: {\n height: CONTEXTUAL_MENU_ITEM_HEIGHT,\n lineHeight: CONTEXTUAL_MENU_ITEM_HEIGHT,\n color: palette.neutralSecondary,\n textAlign: 'center',\n display: 'inline-block',\n verticalAlign: 'middle',\n flexShrink: '0',\n fontSize: IconFontSizes.small,\n selectors: (_g = {\n ':hover': {\n color: palette.neutralPrimary\n },\n ':active': {\n color: palette.neutralPrimary\n }\n }, _g[MediumScreenSelector] = {\n fontSize: IconFontSizes.medium // 16px\n\n }, _g)\n },\n splitButtonFlexContainer: [getFocusStyle(theme), {\n display: 'flex',\n height: CONTEXTUAL_MENU_ITEM_HEIGHT,\n flexWrap: 'nowrap',\n justifyContent: 'center',\n alignItems: 'flex-start'\n }]\n };\n return concatStyleSets(menuItemStyles);\n});","import { getDividerClassNames } from '../Divider/VerticalDivider.classNames';\nimport { getMenuItemStyles } from './ContextualMenu.cnstyles';\nimport { mergeStyleSets, getGlobalClassNames, getScreenSelector, ScreenWidthMaxMedium } from '../../Styling';\nimport { memoizeFunction, IsFocusVisibleClassName } from '../../Utilities';\nvar CONTEXTUAL_SPLIT_MENU_MINWIDTH = '28px';\nvar MediumScreenSelector = getScreenSelector(0, ScreenWidthMaxMedium);\nexport var getSplitButtonVerticalDividerClassNames = memoizeFunction(function (theme) {\n var _a;\n\n return mergeStyleSets(getDividerClassNames(theme), {\n wrapper: {\n position: 'absolute',\n right: 28,\n selectors: (_a = {}, _a[MediumScreenSelector] = {\n right: 32 // fontSize of the icon increased from 12px to 16px\n\n }, _a)\n },\n divider: {\n height: 16,\n width: 1\n }\n });\n});\nvar GlobalClassNames = {\n item: 'ms-ContextualMenu-item',\n divider: 'ms-ContextualMenu-divider',\n root: 'ms-ContextualMenu-link',\n isChecked: 'is-checked',\n isExpanded: 'is-expanded',\n isDisabled: 'is-disabled',\n linkContent: 'ms-ContextualMenu-linkContent',\n linkContentMenu: 'ms-ContextualMenu-linkContent',\n icon: 'ms-ContextualMenu-icon',\n iconColor: 'ms-ContextualMenu-iconColor',\n checkmarkIcon: 'ms-ContextualMenu-checkmarkIcon',\n subMenuIcon: 'ms-ContextualMenu-submenuIcon',\n label: 'ms-ContextualMenu-itemText',\n secondaryText: 'ms-ContextualMenu-secondaryText',\n splitMenu: 'ms-ContextualMenu-splitMenu'\n};\n/**\n * @deprecated To be removed in 7.0.\n * @internal\n * This is a package-internal method that has been depended on.\n * It is being kept in this form for backwards compatibility.\n * It should be cleaned up in 7.0.\n *\n * TODO: Audit perf. impact of and potentially remove memoizeFunction.\n * https://github.com/OfficeDev/office-ui-fabric-react/issues/5534\n */\n\nexport var getItemClassNames = memoizeFunction(function (theme, disabled, expanded, checked, isAnchorLink, knownIcon, itemClassName, dividerClassName, iconClassName, subMenuClassName, primaryDisabled, className) {\n var _a, _b, _c, _d;\n\n var styles = getMenuItemStyles(theme);\n var classNames = getGlobalClassNames(GlobalClassNames, theme);\n return mergeStyleSets({\n item: [classNames.item, styles.item, itemClassName],\n divider: [classNames.divider, styles.divider, dividerClassName],\n root: [classNames.root, styles.root, checked && [classNames.isChecked, styles.rootChecked], isAnchorLink && styles.anchorLink, expanded && [classNames.isExpanded, styles.rootExpanded], disabled && [classNames.isDisabled, styles.rootDisabled], !disabled && !expanded && [{\n selectors: (_a = {\n ':hover': styles.rootHovered,\n ':active': styles.rootPressed\n }, _a[\".\" + IsFocusVisibleClassName + \" &:focus, .\" + IsFocusVisibleClassName + \" &:focus:hover\"] = styles.rootFocused, _a[\".\" + IsFocusVisibleClassName + \" &:hover\"] = {\n background: 'inherit;'\n }, _a)\n }], className],\n splitPrimary: [styles.root, {\n width: \"calc(100% - \" + CONTEXTUAL_SPLIT_MENU_MINWIDTH + \")\"\n }, checked && ['is-checked', styles.rootChecked], (disabled || primaryDisabled) && ['is-disabled', styles.rootDisabled], !(disabled || primaryDisabled) && !checked && [{\n selectors: (_b = {\n ':hover': styles.rootHovered\n }, _b[\":hover ~ .\" + classNames.splitMenu] = styles.rootHovered, _b[':active'] = styles.rootPressed, _b[\".\" + IsFocusVisibleClassName + \" &:focus, .\" + IsFocusVisibleClassName + \" &:focus:hover\"] = styles.rootFocused, _b[\".\" + IsFocusVisibleClassName + \" &:hover\"] = {\n background: 'inherit;'\n }, _b)\n }]],\n splitMenu: [classNames.splitMenu, styles.root, {\n flexBasis: '0',\n padding: '0 8px',\n minWidth: CONTEXTUAL_SPLIT_MENU_MINWIDTH\n }, expanded && ['is-expanded', styles.rootExpanded], disabled && ['is-disabled', styles.rootDisabled], !disabled && !expanded && [{\n selectors: (_c = {\n ':hover': styles.rootHovered,\n ':active': styles.rootPressed\n }, _c[\".\" + IsFocusVisibleClassName + \" &:focus, .\" + IsFocusVisibleClassName + \" &:focus:hover\"] = styles.rootFocused, _c[\".\" + IsFocusVisibleClassName + \" &:hover\"] = {\n background: 'inherit;'\n }, _c)\n }]],\n anchorLink: styles.anchorLink,\n linkContent: [classNames.linkContent, styles.linkContent],\n linkContentMenu: [classNames.linkContentMenu, styles.linkContent, {\n justifyContent: 'center'\n }],\n icon: [classNames.icon, knownIcon && styles.iconColor, styles.icon, iconClassName, disabled && [classNames.isDisabled, styles.iconDisabled]],\n iconColor: styles.iconColor,\n checkmarkIcon: [classNames.checkmarkIcon, knownIcon && styles.checkmarkIcon, styles.icon, iconClassName],\n subMenuIcon: [classNames.subMenuIcon, styles.subMenuIcon, subMenuClassName, expanded && {\n color: theme.palette.neutralPrimary\n }, disabled && [styles.iconDisabled]],\n label: [classNames.label, styles.label],\n secondaryText: [classNames.secondaryText, styles.secondaryText],\n splitContainer: [styles.splitButtonFlexContainer, !disabled && !checked && [{\n selectors: (_d = {}, _d[\".\" + IsFocusVisibleClassName + \" &:focus, .\" + IsFocusVisibleClassName + \" &:focus:hover\"] = styles.rootFocused, _d)\n }]]\n });\n});\n/**\n * Wrapper function for generating ContextualMenuItem classNames which adheres to\n * the getStyles API, but invokes memoized className generator function with\n * primitive values.\n *\n * @param props the ContextualMenuItem style props used to generate its styles.\n */\n\nexport var getItemStyles = function getItemStyles(props) {\n var theme = props.theme,\n disabled = props.disabled,\n expanded = props.expanded,\n checked = props.checked,\n isAnchorLink = props.isAnchorLink,\n knownIcon = props.knownIcon,\n itemClassName = props.itemClassName,\n dividerClassName = props.dividerClassName,\n iconClassName = props.iconClassName,\n subMenuClassName = props.subMenuClassName,\n primaryDisabled = props.primaryDisabled,\n className = props.className;\n return getItemClassNames(theme, disabled, expanded, checked, isAnchorLink, knownIcon, itemClassName, dividerClassName, iconClassName, subMenuClassName, primaryDisabled, className);\n};","import { styled } from '../../Utilities';\nimport { ContextualMenuItemBase } from './ContextualMenuItem.base';\nimport { getItemStyles } from './ContextualMenu.classNames';\n/**\n * ContextualMenuItem description\n */\n\nexport var ContextualMenuItem = styled(ContextualMenuItemBase, getItemStyles, undefined, {\n scope: 'ContextualMenuItem'\n});","import { __extends } from \"tslib\";\nimport { BaseComponent, shallowCompare } from '../../../Utilities';\n\nvar ContextualMenuItemWrapper =\n/** @class */\nfunction (_super) {\n __extends(ContextualMenuItemWrapper, _super);\n\n function ContextualMenuItemWrapper() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this._onItemMouseEnter = function (ev) {\n var _a = _this.props,\n item = _a.item,\n onItemMouseEnter = _a.onItemMouseEnter;\n\n if (onItemMouseEnter) {\n onItemMouseEnter(item, ev, ev.currentTarget);\n }\n };\n\n _this._onItemClick = function (ev) {\n var _a = _this.props,\n item = _a.item,\n onItemClickBase = _a.onItemClickBase;\n\n if (onItemClickBase) {\n onItemClickBase(item, ev, ev.currentTarget);\n }\n };\n\n _this._onItemMouseLeave = function (ev) {\n var _a = _this.props,\n item = _a.item,\n onItemMouseLeave = _a.onItemMouseLeave;\n\n if (onItemMouseLeave) {\n onItemMouseLeave(item, ev);\n }\n };\n\n _this._onItemKeyDown = function (ev) {\n var _a = _this.props,\n item = _a.item,\n onItemKeyDown = _a.onItemKeyDown;\n\n if (onItemKeyDown) {\n onItemKeyDown(item, ev);\n }\n };\n\n _this._onItemMouseMove = function (ev) {\n var _a = _this.props,\n item = _a.item,\n onItemMouseMove = _a.onItemMouseMove;\n\n if (onItemMouseMove) {\n onItemMouseMove(item, ev, ev.currentTarget);\n }\n };\n\n _this._getSubMenuId = function (item) {\n var getSubMenuId = _this.props.getSubMenuId;\n\n if (getSubMenuId) {\n return getSubMenuId(item);\n }\n };\n\n _this._getSubmenuTarget = function () {\n return undefined;\n };\n\n return _this;\n }\n\n ContextualMenuItemWrapper.prototype.shouldComponentUpdate = function (newProps) {\n return !shallowCompare(newProps, this.props);\n };\n\n return ContextualMenuItemWrapper;\n}(BaseComponent);\n\nexport { ContextualMenuItemWrapper };","/**\n * Helper to find the index of an item within an array, using a callback to\n * determine the match.\n *\n * @public\n * @param array - Array to search.\n * @param cb - Callback which returns true on matches.\n */\nexport function findIndex(array, cb) {\n var index = -1;\n\n for (var i = 0; array && i < array.length; i++) {\n if (cb(array[i], i)) {\n index = i;\n break;\n }\n }\n\n return index;\n}\n/**\n * Helper to find the first item within an array that satisfies the callback.\n * @param array - Array to search\n * @param cb - Callback which returns true on matches\n */\n\nexport function find(array, cb) {\n var index = findIndex(array, cb);\n\n if (index < 0) {\n return undefined;\n }\n\n return array[index];\n}\n/**\n * Creates an array of a given size and helper method to populate.\n *\n * @public\n * @param size - Size of array.\n * @param getItem - Callback to populate given cell index.\n */\n\nexport function createArray(size, getItem) {\n var array = [];\n\n for (var i = 0; i < size; i++) {\n array.push(getItem(i));\n }\n\n return array;\n}\n/**\n * Convert the given array to a matrix with columnCount number\n * of columns.\n *\n * @public\n * @param items - The array to convert\n * @param columnCount - The number of columns for the resulting matrix\n * @returns A matrix of items\n */\n\nexport function toMatrix(items, columnCount) {\n return items.reduce(function (rows, currentValue, index) {\n if (index % columnCount === 0) {\n rows.push([currentValue]);\n } else {\n rows[rows.length - 1].push(currentValue);\n }\n\n return rows;\n }, []);\n}\n/**\n * Given an array, it returns a new array that does not contain the item at the given index.\n * @param array - The array to operate on\n * @param index - The index of the element to remove\n */\n\nexport function removeIndex(array, index) {\n return array.filter(function (_, i) {\n return index !== i;\n });\n}\n/**\n * Given an array, this function returns a new array where the element at a given index has been replaced.\n * @param array - The array to operate on\n * @param newElement - The element that will be placed in the new array\n * @param index - The index of the element that should be replaced\n */\n\nexport function replaceElement(array, newElement, index) {\n var copy = array.slice();\n copy[index] = newElement;\n return copy;\n}\n/**\n * Given an array, this function returns a new array where an element has been inserted at the given index.\n * @param array - The array to operate on\n * @param index - The index where an element should be inserted\n * @param itemToAdd - The element to insert\n */\n\nexport function addElementAtIndex(array, index, itemToAdd) {\n var copy = array.slice();\n copy.splice(index, 0, itemToAdd);\n return copy;\n}\n/**\n * Given an array where each element is of type T or T[], flatten it into an array of T\n * @param array - The array where each element can optionally also be an array\n */\n\nexport function flatten(array) {\n var result = [];\n array.forEach(function (item) {\n return result = result.concat(item);\n });\n return result;\n}\n/**\n * Returns a boolean indicating if the two given arrays are equal in length and values.\n *\n * @param array1 - First array to compare\n * @param array2 - Second array to compare\n * @returns True if the arrays are the same length and have the same values in the same positions, false otherwise.\n */\n\nexport function arraysEqual(array1, array2) {\n if (array1.length !== array2.length) {\n return false;\n }\n\n for (var i = 0; i < array1.length; i++) {\n if (array1[i] !== array2[i]) {\n return false;\n }\n }\n\n return true;\n}","export var KTP_PREFIX = 'ktp';\nexport var KTP_SEPARATOR = '-';\nexport var KTP_FULL_PREFIX = KTP_PREFIX + KTP_SEPARATOR;\nexport var DATAKTP_TARGET = 'data-ktp-target';\nexport var DATAKTP_EXECUTE_TARGET = 'data-ktp-execute-target';\nexport var KTP_LAYER_ID = 'ktp-layer-id';\nexport var KTP_ARIA_SEPARATOR = ', '; // Events\n\nexport var KeytipEvents;\n\n(function (KeytipEvents) {\n KeytipEvents.KEYTIP_ADDED = 'keytipAdded';\n KeytipEvents.KEYTIP_REMOVED = 'keytipRemoved';\n KeytipEvents.KEYTIP_UPDATED = 'keytipUpdated';\n KeytipEvents.PERSISTED_KEYTIP_ADDED = 'persistedKeytipAdded';\n KeytipEvents.PERSISTED_KEYTIP_REMOVED = 'persistedKeytipRemoved';\n KeytipEvents.PERSISTED_KEYTIP_EXECUTE = 'persistedKeytipExecute';\n KeytipEvents.ENTER_KEYTIP_MODE = 'enterKeytipMode';\n KeytipEvents.EXIT_KEYTIP_MODE = 'exitKeytipMode';\n})(KeytipEvents || (KeytipEvents = {}));","import { __assign, __spreadArrays } from \"tslib\";\nimport { arraysEqual, replaceElement, findIndex, find, EventGroup, getId } from '../../Utilities';\nimport { KeytipEvents } from '../../utilities/keytips/KeytipConstants';\n/**\n * This class is responsible for handling registering, updating, and unregistering of keytips\n */\n\nvar KeytipManager =\n/** @class */\nfunction () {\n function KeytipManager() {\n this.keytips = [];\n this.persistedKeytips = []; // This is (and should be) updated and kept in sync\n // with the inKeytipMode in KeytipLayer.\n\n this.inKeytipMode = false; // Boolean that gets checked before entering keytip mode by the KeytipLayer\n // Used for an override in special cases (e.g. Disable entering keytip mode when a modal is shown)\n\n this.shouldEnterKeytipMode = true;\n }\n /**\n * Static function to get singleton KeytipManager instance\n *\n * @returns {KeytipManager} Singleton KeytipManager instance\n */\n\n\n KeytipManager.getInstance = function () {\n return this._instance;\n };\n /**\n * Registers a keytip\n *\n * @param keytipProps - Keytip to register\n * @param persisted - T/F if this keytip should be persisted, default is false\n * @returns {string} Unique ID for this keytip\n */\n\n\n KeytipManager.prototype.register = function (keytipProps, persisted) {\n if (persisted === void 0) {\n persisted = false;\n }\n\n var props = keytipProps;\n\n if (!persisted) {\n // Add the overflowSetSequence if necessary\n props = this.addParentOverflow(keytipProps);\n } // Create a unique keytip\n\n\n var uniqueKeytip = this._getUniqueKtp(props); // Add to array\n\n\n persisted ? this.persistedKeytips.push(uniqueKeytip) : this.keytips.push(uniqueKeytip);\n var event = persisted ? KeytipEvents.PERSISTED_KEYTIP_ADDED : KeytipEvents.KEYTIP_ADDED;\n EventGroup.raise(this, event, {\n keytip: props,\n uniqueID: uniqueKeytip.uniqueID\n });\n return uniqueKeytip.uniqueID;\n };\n /**\n * Update a keytip\n *\n * @param keytipProps - Keytip to update\n * @param uniqueID - Unique ID of this keytip\n */\n\n\n KeytipManager.prototype.update = function (keytipProps, uniqueID) {\n var newKeytipProps = this.addParentOverflow(keytipProps);\n\n var uniqueKeytip = this._getUniqueKtp(newKeytipProps, uniqueID);\n\n var keytipIndex = findIndex(this.keytips, function (ktp) {\n return ktp.uniqueID === uniqueID;\n });\n\n if (keytipIndex >= 0) {\n // Update everything except 'visible'\n uniqueKeytip.keytip.visible = this.keytips[keytipIndex].keytip.visible; // Update keytip in this.keytips\n\n this.keytips = replaceElement(this.keytips, uniqueKeytip, keytipIndex); // Raise event\n\n EventGroup.raise(this, KeytipEvents.KEYTIP_UPDATED, {\n keytip: uniqueKeytip.keytip,\n uniqueID: uniqueKeytip.uniqueID\n });\n }\n };\n /**\n * Unregisters a keytip\n *\n * @param keytipToRemove - IKeytipProps of the keytip to remove\n * @param uniqueID - Unique ID of this keytip\n * @param persisted - T/F if this keytip should be persisted, default is false\n */\n\n\n KeytipManager.prototype.unregister = function (keytipToRemove, uniqueID, persisted) {\n if (persisted === void 0) {\n persisted = false;\n }\n\n if (persisted) {\n // Remove keytip from this.persistedKeytips\n this.persistedKeytips = this.persistedKeytips.filter(function (uniqueKtp) {\n return uniqueKtp.uniqueID !== uniqueID;\n });\n } else {\n // Remove keytip from this.keytips\n this.keytips = this.keytips.filter(function (uniqueKtp) {\n return uniqueKtp.uniqueID !== uniqueID;\n });\n }\n\n var event = persisted ? KeytipEvents.PERSISTED_KEYTIP_REMOVED : KeytipEvents.KEYTIP_REMOVED;\n EventGroup.raise(this, event, {\n keytip: keytipToRemove,\n uniqueID: uniqueID\n });\n };\n /**\n * Manual call to enter keytip mode\n */\n\n\n KeytipManager.prototype.enterKeytipMode = function () {\n EventGroup.raise(this, KeytipEvents.ENTER_KEYTIP_MODE);\n };\n /**\n * Manual call to exit keytip mode\n */\n\n\n KeytipManager.prototype.exitKeytipMode = function () {\n EventGroup.raise(this, KeytipEvents.EXIT_KEYTIP_MODE);\n };\n /**\n * Gets all IKeytipProps from this.keytips\n *\n * @returns {IKeytipProps[]} All keytips stored in the manager\n */\n\n\n KeytipManager.prototype.getKeytips = function () {\n return this.keytips.map(function (uniqueKeytip) {\n return uniqueKeytip.keytip;\n });\n };\n /**\n * Adds the overflowSetSequence to the keytipProps if its parent keytip also has it\n *\n * @param keytipProps - Keytip props to add overflowSetSequence to if necessary\n * @returns {IKeytipProps} - Modified keytip props, if needed to be modified\n */\n\n\n KeytipManager.prototype.addParentOverflow = function (keytipProps) {\n var fullSequence = __spreadArrays(keytipProps.keySequences);\n\n fullSequence.pop();\n\n if (fullSequence.length !== 0) {\n var parentKeytip = find(this.getKeytips(), function (keytip) {\n return arraysEqual(fullSequence, keytip.keySequences);\n });\n\n if (parentKeytip && parentKeytip.overflowSetSequence) {\n return __assign(__assign({}, keytipProps), {\n overflowSetSequence: parentKeytip.overflowSetSequence\n });\n }\n }\n\n return keytipProps;\n };\n /**\n * Public function to bind for overflow items that have a submenu\n *\n * @param overflowButtonSequences\n * @param keytipSequences\n */\n\n\n KeytipManager.prototype.menuExecute = function (overflowButtonSequences, keytipSequences) {\n EventGroup.raise(this, KeytipEvents.PERSISTED_KEYTIP_EXECUTE, {\n overflowButtonSequences: overflowButtonSequences,\n keytipSequences: keytipSequences\n });\n };\n /**\n * Creates an IUniqueKeytip object\n *\n * @param keytipProps - IKeytipProps\n * @param uniqueID - Unique ID, will default to the next unique ID if not passed\n * @returns {IUniqueKeytip} IUniqueKeytip object\n */\n\n\n KeytipManager.prototype._getUniqueKtp = function (keytipProps, uniqueID) {\n if (uniqueID === void 0) {\n uniqueID = getId();\n }\n\n return {\n keytip: __assign({}, keytipProps),\n uniqueID: uniqueID\n };\n };\n\n KeytipManager._instance = new KeytipManager();\n return KeytipManager;\n}();\n\nexport { KeytipManager };","import { __spreadArrays } from \"tslib\";\nimport { KTP_SEPARATOR, KTP_PREFIX, DATAKTP_TARGET, DATAKTP_EXECUTE_TARGET, KTP_LAYER_ID } from './KeytipConstants';\nimport { addElementAtIndex } from '../../Utilities';\n/**\n * Converts a whole set of KeySequences into one keytip ID, which will be the ID for the last keytip sequence specified\n * keySequences should not include the initial keytip 'start' sequence.\n *\n * @param keySequences - Full path of IKeySequences for one keytip.\n * @returns {string} String to use for the keytip ID.\n */\n\nexport function sequencesToID(keySequences) {\n return keySequences.reduce(function (prevValue, keySequence) {\n return prevValue + KTP_SEPARATOR + keySequence.split('').join(KTP_SEPARATOR);\n }, KTP_PREFIX);\n}\n/**\n * Merges an overflow sequence with a key sequence.\n *\n * @param keySequences - Full sequence for one keytip.\n * @param overflowKeySequences - Full overflow keytip sequence.\n * @returns {string[]} Sequence that will be used by the keytip when in the overflow.\n */\n\nexport function mergeOverflows(keySequences, overflowKeySequences) {\n var overflowSequenceLen = overflowKeySequences.length;\n\n var overflowSequence = __spreadArrays(overflowKeySequences).pop();\n\n var newKeySequences = __spreadArrays(keySequences);\n\n return addElementAtIndex(newKeySequences, overflowSequenceLen - 1, overflowSequence);\n}\n/**\n * Constructs the data-ktp-target attribute selector from a full key sequence.\n *\n * @param keySequences - Full string[] for a Keytip.\n * @returns {string} String selector to use to query for the keytip target.\n */\n\nexport function ktpTargetFromSequences(keySequences) {\n return '[' + DATAKTP_TARGET + '=\"' + sequencesToID(keySequences) + '\"]';\n}\n/**\n * Constructs the data-ktp-execute-target attribute selector from a keytip ID.\n *\n * @param keytipId - ID of the Keytip.\n * @returns {string} String selector to use to query for the keytip execute target.\n */\n\nexport function ktpTargetFromId(keytipId) {\n return '[' + DATAKTP_EXECUTE_TARGET + '=\"' + keytipId + '\"]';\n}\n/**\n * Gets the aria-describedby value to put on the component with this keytip.\n *\n * @param keySequences - KeySequences of the keytip.\n * @returns {string} The aria-describedby value to set on the component with this keytip.\n */\n\nexport function getAriaDescribedBy(keySequences) {\n var describedby = ' ' + KTP_LAYER_ID;\n\n if (!keySequences.length) {\n // Return just the layer ID\n return describedby;\n }\n\n return describedby + ' ' + sequencesToID(keySequences);\n}","import { __assign, __extends, __spreadArrays } from \"tslib\";\nimport * as React from 'react';\nimport { mergeAriaAttributeValues } from '../../Utilities';\nimport { KeytipManager } from '../../utilities/keytips/KeytipManager';\nimport { mergeOverflows, sequencesToID, getAriaDescribedBy } from '../../utilities/keytips/KeytipUtils';\n/**\n * A small element to help the target component correctly read out its aria-describedby for its Keytip\n * {@docCategory Keytips}\n */\n\nvar KeytipData =\n/** @class */\nfunction (_super) {\n __extends(KeytipData, _super);\n\n function KeytipData() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this._keytipManager = KeytipManager.getInstance();\n return _this;\n }\n\n KeytipData.prototype.componentDidMount = function () {\n // Register Keytip in KeytipManager\n if (this.props.keytipProps) {\n this._uniqueId = this._keytipManager.register(this._getKtpProps());\n }\n };\n\n KeytipData.prototype.componentWillUnmount = function () {\n // Unregister Keytip in KeytipManager\n this.props.keytipProps && this._keytipManager.unregister(this._getKtpProps(), this._uniqueId);\n };\n\n KeytipData.prototype.componentDidUpdate = function (prevProps) {\n if (prevProps.keytipProps !== this.props.keytipProps || prevProps.disabled !== this.props.disabled) {\n // If keytipProps or disabled has changed update Keytip in KeytipManager\n this.props.keytipProps && this._keytipManager.update(this._getKtpProps(), this._uniqueId);\n }\n };\n\n KeytipData.prototype.render = function () {\n var _a = this.props,\n children = _a.children,\n keytipProps = _a.keytipProps,\n ariaDescribedBy = _a.ariaDescribedBy;\n var nativeKeytipProps = {};\n\n if (keytipProps) {\n nativeKeytipProps = this._getKtpAttrs(keytipProps, ariaDescribedBy);\n }\n\n return children(nativeKeytipProps);\n };\n\n KeytipData.prototype._getKtpProps = function () {\n return __assign({\n disabled: this.props.disabled\n }, this.props.keytipProps);\n };\n /**\n * Gets the aria- and data- attributes to attach to the component\n * @param keytipProps - props for Keytip\n * @param describedByPrepend - ariaDescribedBy value to prepend\n */\n\n\n KeytipData.prototype._getKtpAttrs = function (keytipProps, describedByPrepend) {\n if (keytipProps) {\n // Add the parent overflow sequence if necessary\n var newKeytipProps = this._keytipManager.addParentOverflow(keytipProps); // Construct aria-describedby and data-ktp-id attributes and return\n\n\n var ariaDescribedBy = getAriaDescribedBy(newKeytipProps.keySequences);\n\n var keySequences = __spreadArrays(newKeytipProps.keySequences);\n\n if (newKeytipProps.overflowSetSequence) {\n keySequences = mergeOverflows(keySequences, newKeytipProps.overflowSetSequence);\n }\n\n var ktpId = sequencesToID(keySequences);\n return {\n 'aria-describedby': mergeAriaAttributeValues(describedByPrepend, ariaDescribedBy),\n 'data-ktp-target': ktpId,\n 'data-ktp-execute-target': ktpId\n };\n }\n\n return undefined;\n };\n\n return KeytipData;\n}(React.Component);\n\nexport { KeytipData };","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { anchorProperties, getNativeProps, memoizeFunction } from '../../../Utilities';\nimport { ContextualMenuItemWrapper } from './ContextualMenuItemWrapper';\nimport { KeytipData } from '../../../KeytipData';\nimport { isItemDisabled, hasSubmenu } from '../../../utilities/contextualMenu/index';\nimport { ContextualMenuItem } from '../ContextualMenuItem';\n\nvar ContextualMenuAnchor =\n/** @class */\nfunction (_super) {\n __extends(ContextualMenuAnchor, _super);\n\n function ContextualMenuAnchor() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this._anchor = React.createRef();\n _this._getMemoizedMenuButtonKeytipProps = memoizeFunction(function (keytipProps) {\n return __assign(__assign({}, keytipProps), {\n hasMenu: true\n });\n });\n\n _this._getSubmenuTarget = function () {\n return _this._anchor.current ? _this._anchor.current : undefined;\n };\n\n _this._onItemClick = function (ev) {\n var _a = _this.props,\n item = _a.item,\n onItemClick = _a.onItemClick;\n\n if (onItemClick) {\n onItemClick(item, ev);\n }\n };\n\n return _this;\n }\n\n ContextualMenuAnchor.prototype.render = function () {\n var _this = this;\n\n var _a = this.props,\n item = _a.item,\n classNames = _a.classNames,\n index = _a.index,\n focusableElementIndex = _a.focusableElementIndex,\n totalItemCount = _a.totalItemCount,\n hasCheckmarks = _a.hasCheckmarks,\n hasIcons = _a.hasIcons,\n _b = _a.contextualMenuItemAs,\n ChildrenRenderer = _b === void 0 ? ContextualMenuItem : _b,\n expandedMenuItemKey = _a.expandedMenuItemKey,\n onItemClick = _a.onItemClick,\n openSubMenu = _a.openSubMenu,\n dismissSubMenu = _a.dismissSubMenu,\n dismissMenu = _a.dismissMenu;\n var anchorRel = item.rel;\n\n if (item.target && item.target.toLowerCase() === '_blank') {\n anchorRel = anchorRel ? anchorRel : 'nofollow noopener noreferrer'; // Safe default to prevent tabjacking\n }\n\n var subMenuId = this._getSubMenuId(item);\n\n var itemHasSubmenu = hasSubmenu(item);\n var nativeProps = getNativeProps(item, anchorProperties);\n var disabled = isItemDisabled(item);\n var itemProps = item.itemProps;\n var keytipProps = item.keytipProps;\n\n if (keytipProps && itemHasSubmenu) {\n keytipProps = this._getMemoizedMenuButtonKeytipProps(keytipProps);\n }\n\n return React.createElement(\"div\", null, React.createElement(KeytipData, {\n keytipProps: item.keytipProps,\n ariaDescribedBy: nativeProps['aria-describedby'],\n disabled: disabled\n }, function (keytipAttributes) {\n return React.createElement(\"a\", __assign({}, nativeProps, keytipAttributes, {\n ref: _this._anchor,\n href: item.href,\n target: item.target,\n rel: anchorRel,\n className: classNames.root,\n role: \"menuitem\",\n \"aria-owns\": item.key === expandedMenuItemKey ? subMenuId : undefined,\n \"aria-haspopup\": itemHasSubmenu || undefined,\n \"aria-expanded\": itemHasSubmenu ? item.key === expandedMenuItemKey : undefined,\n \"aria-posinset\": focusableElementIndex + 1,\n \"aria-setsize\": totalItemCount,\n \"aria-disabled\": isItemDisabled(item),\n style: item.style,\n onClick: _this._onItemClick,\n onMouseEnter: _this._onItemMouseEnter,\n onMouseLeave: _this._onItemMouseLeave,\n onMouseMove: _this._onItemMouseMove,\n onKeyDown: itemHasSubmenu ? _this._onItemKeyDown : undefined\n }), React.createElement(ChildrenRenderer, __assign({\n componentRef: item.componentRef,\n item: item,\n classNames: classNames,\n index: index,\n onCheckmarkClick: hasCheckmarks && onItemClick ? onItemClick : undefined,\n hasIcons: hasIcons,\n openSubMenu: openSubMenu,\n dismissSubMenu: dismissSubMenu,\n dismissMenu: dismissMenu,\n getSubmenuTarget: _this._getSubmenuTarget\n }, itemProps)));\n }));\n };\n\n return ContextualMenuAnchor;\n}(ContextualMenuItemWrapper);\n\nexport { ContextualMenuAnchor };","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { buttonProperties, getNativeProps, memoizeFunction } from '../../../Utilities';\nimport { ContextualMenuItemWrapper } from './ContextualMenuItemWrapper';\nimport { KeytipData } from '../../../KeytipData';\nimport { getIsChecked, isItemDisabled, hasSubmenu, getMenuItemAriaRole } from '../../../utilities/contextualMenu/index';\nimport { ContextualMenuItem } from '../ContextualMenuItem';\n\nvar ContextualMenuButton =\n/** @class */\nfunction (_super) {\n __extends(ContextualMenuButton, _super);\n\n function ContextualMenuButton() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this._btn = React.createRef();\n _this._getMemoizedMenuButtonKeytipProps = memoizeFunction(function (keytipProps) {\n return __assign(__assign({}, keytipProps), {\n hasMenu: true\n });\n });\n\n _this._getSubmenuTarget = function () {\n return _this._btn.current ? _this._btn.current : undefined;\n };\n\n return _this;\n }\n\n ContextualMenuButton.prototype.render = function () {\n var _this = this;\n\n var _a = this.props,\n item = _a.item,\n classNames = _a.classNames,\n index = _a.index,\n focusableElementIndex = _a.focusableElementIndex,\n totalItemCount = _a.totalItemCount,\n hasCheckmarks = _a.hasCheckmarks,\n hasIcons = _a.hasIcons,\n _b = _a.contextualMenuItemAs,\n ChildrenRenderer = _b === void 0 ? ContextualMenuItem : _b,\n expandedMenuItemKey = _a.expandedMenuItemKey,\n onItemMouseDown = _a.onItemMouseDown,\n onItemClick = _a.onItemClick,\n openSubMenu = _a.openSubMenu,\n dismissSubMenu = _a.dismissSubMenu,\n dismissMenu = _a.dismissMenu;\n\n var subMenuId = this._getSubMenuId(item);\n\n var isChecked = getIsChecked(item);\n var canCheck = isChecked !== null;\n var defaultRole = getMenuItemAriaRole(item);\n var itemHasSubmenu = hasSubmenu(item);\n var itemProps = item.itemProps,\n ariaLabel = item.ariaLabel;\n var buttonNativeProperties = getNativeProps(item, buttonProperties); // Do not add the disabled attribute to the button so that it is focusable\n\n delete buttonNativeProperties.disabled;\n var itemButtonProperties = {\n className: classNames.root,\n onClick: this._onItemClick,\n onKeyDown: itemHasSubmenu ? this._onItemKeyDown : undefined,\n onMouseEnter: this._onItemMouseEnter,\n onMouseLeave: this._onItemMouseLeave,\n onMouseDown: function onMouseDown(ev) {\n return onItemMouseDown ? onItemMouseDown(item, ev) : undefined;\n },\n onMouseMove: this._onItemMouseMove,\n href: item.href,\n title: item.title,\n 'aria-label': ariaLabel,\n 'aria-haspopup': itemHasSubmenu || undefined,\n 'aria-owns': item.key === expandedMenuItemKey ? subMenuId : undefined,\n 'aria-expanded': itemHasSubmenu ? item.key === expandedMenuItemKey : undefined,\n 'aria-checked': canCheck ? !!isChecked : undefined,\n 'aria-posinset': focusableElementIndex + 1,\n 'aria-setsize': totalItemCount,\n 'aria-disabled': isItemDisabled(item),\n role: item.role || defaultRole,\n style: item.style\n };\n var keytipProps = item.keytipProps;\n\n if (keytipProps && itemHasSubmenu) {\n keytipProps = this._getMemoizedMenuButtonKeytipProps(keytipProps);\n }\n\n return React.createElement(KeytipData, {\n keytipProps: keytipProps,\n ariaDescribedBy: buttonNativeProperties['aria-describedby'],\n disabled: isItemDisabled(item)\n }, function (keytipAttributes) {\n return React.createElement(\"button\", __assign({\n ref: _this._btn\n }, buttonNativeProperties, itemButtonProperties, keytipAttributes), React.createElement(ChildrenRenderer, __assign({\n componentRef: item.componentRef,\n item: item,\n classNames: classNames,\n index: index,\n onCheckmarkClick: hasCheckmarks && onItemClick ? onItemClick : undefined,\n hasIcons: hasIcons,\n openSubMenu: openSubMenu,\n dismissSubMenu: dismissSubMenu,\n dismissMenu: dismissMenu,\n getSubmenuTarget: _this._getSubmenuTarget\n }, itemProps)));\n });\n };\n\n return ContextualMenuButton;\n}(ContextualMenuItemWrapper);\n\nexport { ContextualMenuButton };","import * as React from 'react';\nimport { classNamesFunction } from '../../Utilities';\nvar getClassNames = classNamesFunction();\nexport var VerticalDividerBase = function VerticalDividerBase(props) {\n var styles = props.styles,\n theme = props.theme,\n deprecatedGetClassNames = props.getClassNames,\n className = props.className;\n var classNames = getClassNames(styles, {\n theme: theme,\n getClassNames: deprecatedGetClassNames,\n className: className\n });\n return React.createElement(\"span\", {\n className: classNames.wrapper\n }, React.createElement(\"span\", {\n className: classNames.divider\n }));\n};","import { getStyles } from './VerticalDivider.styles';\nimport { VerticalDividerBase } from './VerticalDivider.base';\nimport { styled } from '../../Utilities';\nexport var VerticalDivider = styled(VerticalDividerBase, getStyles, undefined, {\n scope: 'VerticalDivider'\n});","export var getStyles = function getStyles(props) {\n var theme = props.theme,\n getClassNames = props.getClassNames,\n className = props.className;\n\n if (!theme) {\n throw new Error('Theme is undefined or null.');\n }\n\n if (getClassNames) {\n var names = getClassNames(theme);\n return {\n wrapper: [names.wrapper],\n divider: [names.divider]\n };\n }\n\n return {\n wrapper: [{\n display: 'inline-flex',\n height: '100%',\n alignItems: 'center'\n }, className],\n divider: [{\n width: 1,\n height: '100%',\n backgroundColor: theme.palette.neutralTertiaryAlt\n }]\n };\n};","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { buttonProperties, getNativeProps, KeyCodes, mergeAriaAttributeValues, memoizeFunction } from '../../../Utilities';\nimport { ContextualMenuItem } from '../ContextualMenuItem';\nimport { getSplitButtonVerticalDividerClassNames } from '../ContextualMenu.classNames';\nimport { KeytipData } from '../../../KeytipData';\nimport { isItemDisabled, hasSubmenu, getMenuItemAriaRole } from '../../../utilities/contextualMenu/index';\nimport { VerticalDivider } from '../../../Divider';\nimport { ContextualMenuItemWrapper } from './ContextualMenuItemWrapper';\nvar TouchIdleDelay = 500;\n/* ms */\n\nvar ContextualMenuSplitButton =\n/** @class */\nfunction (_super) {\n __extends(ContextualMenuSplitButton, _super);\n\n function ContextualMenuSplitButton() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this._getMemoizedMenuButtonKeytipProps = memoizeFunction(function (keytipProps) {\n return __assign(__assign({}, keytipProps), {\n hasMenu: true\n });\n });\n\n _this._onItemKeyDown = function (ev) {\n var _a = _this.props,\n item = _a.item,\n onItemKeyDown = _a.onItemKeyDown;\n\n if (ev.which === KeyCodes.enter) {\n _this._executeItemClick(ev);\n\n ev.preventDefault();\n ev.stopPropagation();\n } else if (onItemKeyDown) {\n onItemKeyDown(item, ev);\n }\n };\n\n _this._getSubmenuTarget = function () {\n return _this._splitButton;\n };\n\n _this._onItemMouseEnterPrimary = function (ev) {\n var _a = _this.props,\n item = _a.item,\n onItemMouseEnter = _a.onItemMouseEnter;\n\n if (onItemMouseEnter) {\n onItemMouseEnter(__assign(__assign({}, item), {\n subMenuProps: undefined,\n items: undefined\n }), ev, _this._splitButton);\n }\n };\n\n _this._onItemMouseEnterIcon = function (ev) {\n var _a = _this.props,\n item = _a.item,\n onItemMouseEnter = _a.onItemMouseEnter;\n\n if (onItemMouseEnter) {\n onItemMouseEnter(item, ev, _this._splitButton);\n }\n };\n\n _this._onItemMouseMovePrimary = function (ev) {\n var _a = _this.props,\n item = _a.item,\n onItemMouseMove = _a.onItemMouseMove;\n\n if (onItemMouseMove) {\n onItemMouseMove(__assign(__assign({}, item), {\n subMenuProps: undefined,\n items: undefined\n }), ev, _this._splitButton);\n }\n };\n\n _this._onItemMouseMoveIcon = function (ev) {\n var _a = _this.props,\n item = _a.item,\n onItemMouseMove = _a.onItemMouseMove;\n\n if (onItemMouseMove) {\n onItemMouseMove(item, ev, _this._splitButton);\n }\n };\n\n _this._onIconItemClick = function (ev) {\n var _a = _this.props,\n item = _a.item,\n onItemClickBase = _a.onItemClickBase;\n\n if (onItemClickBase) {\n onItemClickBase(item, ev, _this._splitButton ? _this._splitButton : ev.currentTarget);\n }\n };\n\n _this._executeItemClick = function (ev) {\n var _a = _this.props,\n item = _a.item,\n executeItemClick = _a.executeItemClick,\n onItemClick = _a.onItemClick;\n\n if (item.disabled || item.isDisabled) {\n return;\n }\n\n if (_this._processingTouch && onItemClick) {\n return onItemClick(item, ev);\n }\n\n if (executeItemClick) {\n executeItemClick(item, ev);\n }\n };\n\n _this._onTouchStart = function (ev) {\n if (_this._splitButton && !('onpointerdown' in _this._splitButton)) {\n _this._handleTouchAndPointerEvent(ev);\n }\n };\n\n _this._onPointerDown = function (ev) {\n if (ev.pointerType === 'touch') {\n _this._handleTouchAndPointerEvent(ev);\n\n ev.preventDefault();\n ev.stopImmediatePropagation();\n }\n };\n\n return _this;\n }\n\n ContextualMenuSplitButton.prototype.componentDidMount = function () {\n if (this._splitButton && 'onpointerdown' in this._splitButton) {\n this._events.on(this._splitButton, 'pointerdown', this._onPointerDown, true);\n }\n };\n\n ContextualMenuSplitButton.prototype.render = function () {\n var _this = this;\n\n var _a = this.props,\n item = _a.item,\n classNames = _a.classNames,\n index = _a.index,\n focusableElementIndex = _a.focusableElementIndex,\n totalItemCount = _a.totalItemCount,\n hasCheckmarks = _a.hasCheckmarks,\n hasIcons = _a.hasIcons,\n onItemMouseLeave = _a.onItemMouseLeave,\n expandedMenuItemKey = _a.expandedMenuItemKey;\n var itemHasSubmenu = hasSubmenu(item);\n var keytipProps = item.keytipProps;\n\n if (keytipProps) {\n keytipProps = this._getMemoizedMenuButtonKeytipProps(keytipProps);\n }\n\n return React.createElement(KeytipData, {\n keytipProps: keytipProps,\n disabled: isItemDisabled(item)\n }, function (keytipAttributes) {\n return React.createElement(\"div\", {\n \"data-ktp-target\": keytipAttributes['data-ktp-target'],\n ref: function ref(splitButton) {\n return _this._splitButton = splitButton;\n },\n role: getMenuItemAriaRole(item),\n \"aria-label\": item.ariaLabel,\n className: classNames.splitContainer,\n \"aria-disabled\": isItemDisabled(item),\n \"aria-expanded\": itemHasSubmenu ? item.key === expandedMenuItemKey : undefined,\n \"aria-haspopup\": true,\n \"aria-describedby\": mergeAriaAttributeValues(item.ariaDescription, keytipAttributes['aria-describedby']),\n \"aria-checked\": item.isChecked || item.checked,\n \"aria-posinset\": focusableElementIndex + 1,\n \"aria-setsize\": totalItemCount,\n onMouseEnter: _this._onItemMouseEnterPrimary,\n onMouseLeave: onItemMouseLeave ? onItemMouseLeave.bind(_this, __assign(__assign({}, item), {\n subMenuProps: null,\n items: null\n })) : undefined,\n onMouseMove: _this._onItemMouseMovePrimary,\n onKeyDown: _this._onItemKeyDown,\n onClick: _this._executeItemClick,\n onTouchStart: _this._onTouchStart,\n tabIndex: 0,\n \"data-is-focusable\": true,\n \"aria-roledescription\": item['aria-roledescription']\n }, _this._renderSplitPrimaryButton(item, classNames, index, hasCheckmarks, hasIcons), _this._renderSplitDivider(item), _this._renderSplitIconButton(item, classNames, index, keytipAttributes));\n });\n };\n\n ContextualMenuSplitButton.prototype._renderSplitPrimaryButton = function (item, classNames, index, hasCheckmarks, hasIcons) {\n var _a = this.props,\n _b = _a.contextualMenuItemAs,\n ChildrenRenderer = _b === void 0 ? ContextualMenuItem : _b,\n onItemClick = _a.onItemClick;\n var itemProps = {\n key: item.key,\n disabled: isItemDisabled(item) || item.primaryDisabled,\n name: item.name,\n text: item.text || item.name,\n className: classNames.splitPrimary,\n canCheck: item.canCheck,\n isChecked: item.isChecked,\n checked: item.checked,\n iconProps: item.iconProps,\n 'data-is-focusable': false\n };\n var itemComponentProps = item.itemProps;\n return React.createElement(\"button\", __assign({}, getNativeProps(itemProps, buttonProperties)), React.createElement(ChildrenRenderer, __assign({\n \"data-is-focusable\": false,\n item: itemProps,\n classNames: classNames,\n index: index,\n onCheckmarkClick: hasCheckmarks && onItemClick ? onItemClick : undefined,\n hasIcons: hasIcons\n }, itemComponentProps)));\n };\n\n ContextualMenuSplitButton.prototype._renderSplitDivider = function (item) {\n var getDividerClassNames = item.getSplitButtonVerticalDividerClassNames || getSplitButtonVerticalDividerClassNames;\n return React.createElement(VerticalDivider, {\n getClassNames: getDividerClassNames\n });\n };\n\n ContextualMenuSplitButton.prototype._renderSplitIconButton = function (item, classNames, index, keytipAttributes) {\n var _a = this.props,\n _b = _a.contextualMenuItemAs,\n ChildrenRenderer = _b === void 0 ? ContextualMenuItem : _b,\n onItemMouseLeave = _a.onItemMouseLeave,\n onItemMouseDown = _a.onItemMouseDown,\n openSubMenu = _a.openSubMenu,\n dismissSubMenu = _a.dismissSubMenu,\n dismissMenu = _a.dismissMenu;\n var itemProps = {\n onClick: this._onIconItemClick,\n disabled: isItemDisabled(item),\n className: classNames.splitMenu,\n subMenuProps: item.subMenuProps,\n submenuIconProps: item.submenuIconProps,\n split: true,\n key: item.key\n };\n\n var buttonProps = __assign(__assign({}, getNativeProps(itemProps, buttonProperties)), {\n onMouseEnter: this._onItemMouseEnterIcon,\n onMouseLeave: onItemMouseLeave ? onItemMouseLeave.bind(this, item) : undefined,\n onMouseDown: function onMouseDown(ev) {\n return onItemMouseDown ? onItemMouseDown(item, ev) : undefined;\n },\n onMouseMove: this._onItemMouseMoveIcon,\n 'data-is-focusable': false,\n 'data-ktp-execute-target': keytipAttributes['data-ktp-execute-target'],\n 'aria-hidden': true\n });\n\n var itemComponentProps = item.itemProps;\n return React.createElement(\"button\", __assign({}, buttonProps), React.createElement(ChildrenRenderer, __assign({\n componentRef: item.componentRef,\n item: itemProps,\n classNames: classNames,\n index: index,\n hasIcons: false,\n openSubMenu: openSubMenu,\n dismissSubMenu: dismissSubMenu,\n dismissMenu: dismissMenu,\n getSubmenuTarget: this._getSubmenuTarget\n }, itemComponentProps)));\n };\n\n ContextualMenuSplitButton.prototype._handleTouchAndPointerEvent = function (ev) {\n var _this = this;\n\n var onTap = this.props.onTap;\n\n if (onTap) {\n onTap(ev);\n } // If we already have an existing timeout from a previous touch/pointer event\n // cancel that timeout so we can set a new one.\n\n\n if (this._lastTouchTimeoutId) {\n this._async.clearTimeout(this._lastTouchTimeoutId);\n\n this._lastTouchTimeoutId = undefined;\n }\n\n this._processingTouch = true;\n this._lastTouchTimeoutId = this._async.setTimeout(function () {\n _this._processingTouch = false;\n _this._lastTouchTimeoutId = undefined;\n }, TouchIdleDelay);\n };\n\n return ContextualMenuSplitButton;\n}(ContextualMenuItemWrapper);\n\nexport { ContextualMenuSplitButton };","import { __assign, __decorate, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { ContextualMenuItemType } from './ContextualMenu.types';\nimport { DirectionalHint } from '../../common/DirectionalHint';\nimport { FocusZone, FocusZoneDirection, FocusZoneTabbableElements } from '../../FocusZone';\nimport { divProperties, getNativeProps, shallowCompare } from '../../Utilities';\nimport { assign, BaseComponent, classNamesFunction, css, getDocument, getFirstFocusable, getId, getLastFocusable, getRTL, getWindow, KeyCodes, shouldWrapFocus, isIOS, isMac } from '../../Utilities';\nimport { hasSubmenu, getIsChecked, isItemDisabled } from '../../utilities/contextualMenu/index';\nimport { withResponsiveMode, ResponsiveMode } from '../../utilities/decorators/withResponsiveMode';\nimport { Callout } from '../../Callout';\nimport { ContextualMenuItem } from './ContextualMenuItem';\nimport { ContextualMenuSplitButton, ContextualMenuButton, ContextualMenuAnchor } from './ContextualMenuItemWrapper/index';\nimport { mergeStyleSets } from '../../Styling';\nimport { getItemStyles } from './ContextualMenu.classNames';\nvar getClassNames = classNamesFunction({\n disableCaching: true\n});\nvar getContextualMenuItemClassNames = classNamesFunction({\n disableCaching: true\n});\nexport function getSubmenuItems(item) {\n return item.subMenuProps ? item.subMenuProps.items : item.items;\n}\n/**\n * Returns true if a list of menu items can contain a checkbox\n */\n\nexport function canAnyMenuItemsCheck(items) {\n return items.some(function (item) {\n if (item.canCheck) {\n return true;\n } // If the item is a section, check if any of the items in the section can check.\n\n\n if (item.sectionProps && item.sectionProps.items.some(function (submenuItem) {\n return submenuItem.canCheck === true;\n })) {\n return true;\n }\n\n return false;\n });\n}\nvar NavigationIdleDelay = 250\n/* ms */\n;\n\nvar ContextualMenuBase =\n/** @class */\nfunction (_super) {\n __extends(ContextualMenuBase, _super);\n\n function ContextualMenuBase(props) {\n var _this = _super.call(this, props) || this;\n\n _this._mounted = false;\n\n _this.dismiss = function (ev, dismissAll) {\n var onDismiss = _this.props.onDismiss;\n\n if (onDismiss) {\n onDismiss(ev, dismissAll);\n }\n };\n\n _this._onRenderMenuList = function (menuListProps, defaultRender) {\n var indexCorrection = 0;\n return React.createElement(\"ul\", {\n className: _this._classNames.list,\n onKeyDown: _this._onKeyDown,\n onKeyUp: _this._onKeyUp,\n role: \"menu\"\n }, menuListProps.items.map(function (item, index) {\n var menuItem = _this._renderMenuItem(item, index, indexCorrection, menuListProps.totalItemCount, menuListProps.hasCheckmarks, menuListProps.hasIcons);\n\n if (item.itemType !== ContextualMenuItemType.Divider && item.itemType !== ContextualMenuItemType.Header) {\n var indexIncrease = item.customOnRenderListLength ? item.customOnRenderListLength : 1;\n indexCorrection += indexIncrease;\n }\n\n return menuItem;\n }));\n };\n\n _this._onKeyDown = function (ev) {\n // Take note if we are processing an alt (option) or meta (command) keydown.\n // See comment in _shouldHandleKeyUp for reasoning.\n _this._lastKeyDownWasAltOrMeta = _this._isAltOrMeta(ev); // On Mac, pressing escape dismisses all levels of native context menus\n\n var dismissAllMenus = ev.which === KeyCodes.escape && (isMac() || isIOS());\n return _this._keyHandler(ev, _this._shouldHandleKeyDown, dismissAllMenus);\n };\n\n _this._shouldHandleKeyDown = function (ev) {\n return ev.which === KeyCodes.escape || _this._shouldCloseSubMenu(ev) || ev.which === KeyCodes.up && (ev.altKey || ev.metaKey);\n };\n\n _this._onMenuFocusCapture = function (ev) {\n if (_this.props.delayUpdateFocusOnHover) {\n _this._shouldUpdateFocusOnMouseEvent = true;\n }\n };\n\n _this._onKeyUp = function (ev) {\n return _this._keyHandler(ev, _this._shouldHandleKeyUp, true\n /* dismissAllMenus */\n );\n };\n /**\n * We close the menu on key up only if ALL of the following are true:\n * - Most recent key down was alt or meta (command)\n * - The alt/meta key down was NOT followed by some other key (such as down/up arrow to\n * expand/collapse the menu)\n * - We're not on a Mac (or iOS)\n *\n * This is because on Windows, pressing alt moves focus to the application menu bar or similar,\n * closing any open context menus. There is not a similar behavior on Macs.\n */\n\n\n _this._shouldHandleKeyUp = function (ev) {\n var keyPressIsAltOrMetaAlone = _this._lastKeyDownWasAltOrMeta && _this._isAltOrMeta(ev);\n\n _this._lastKeyDownWasAltOrMeta = false;\n return !!keyPressIsAltOrMetaAlone && !(isIOS() || isMac());\n };\n /**\n * Calls `shouldHandleKey` to determine whether the keyboard event should be handled;\n * if so, stops event propagation and dismisses menu(s).\n * @param ev - The keyboard event.\n * @param shouldHandleKey - Returns whether we should handle this keyboard event.\n * @param dismissAllMenus - If true, dismiss all menus. Otherwise, dismiss only the current menu.\n * Only does anything if `shouldHandleKey` returns true.\n * @returns Whether the event was handled.\n */\n\n\n _this._keyHandler = function (ev, shouldHandleKey, dismissAllMenus) {\n var handled = false;\n\n if (shouldHandleKey(ev)) {\n _this._isFocusingPreviousElement = true;\n\n _this.dismiss(ev, dismissAllMenus);\n\n ev.preventDefault();\n ev.stopPropagation();\n handled = true;\n }\n\n return handled;\n };\n /**\n * Checks if the submenu should be closed\n */\n\n\n _this._shouldCloseSubMenu = function (ev) {\n var submenuCloseKey = getRTL(_this.props.theme) ? KeyCodes.right : KeyCodes.left;\n\n if (ev.which !== submenuCloseKey || !_this.props.isSubMenu) {\n return false;\n }\n\n return _this._adjustedFocusZoneProps.direction === FocusZoneDirection.vertical || !!_this._adjustedFocusZoneProps.checkForNoWrap && !shouldWrapFocus(ev.target, 'data-no-horizontal-wrap');\n };\n\n _this._onMenuKeyDown = function (ev) {\n // Mark as handled if onKeyDown returns true (for handling collapse cases)\n // or if we are attempting to expand a submenu\n var handled = _this._onKeyDown(ev);\n\n if (handled || !_this._host) {\n return;\n } // If we have a modifier key being pressed, we do not want to move focus.\n // Otherwise, handle up and down keys.\n\n\n var hasModifier = !!(ev.altKey || ev.metaKey);\n var isUp = ev.which === KeyCodes.up;\n var isDown = ev.which === KeyCodes.down;\n\n if (!hasModifier && (isUp || isDown)) {\n var elementToFocus = isUp ? getLastFocusable(_this._host, _this._host.lastChild, true) : getFirstFocusable(_this._host, _this._host.firstChild, true);\n\n if (elementToFocus) {\n elementToFocus.focus();\n ev.preventDefault();\n ev.stopPropagation();\n }\n }\n };\n /**\n * Scroll handler for the callout to make sure the mouse events\n * for updating focus are not interacting during scroll\n */\n\n\n _this._onScroll = function () {\n if (!_this._isScrollIdle && _this._scrollIdleTimeoutId !== undefined) {\n _this._async.clearTimeout(_this._scrollIdleTimeoutId);\n\n _this._scrollIdleTimeoutId = undefined;\n } else {\n _this._isScrollIdle = false;\n }\n\n _this._scrollIdleTimeoutId = _this._async.setTimeout(function () {\n _this._isScrollIdle = true;\n }, NavigationIdleDelay);\n };\n\n _this._onItemMouseEnterBase = function (item, ev, target) {\n if (_this._shouldIgnoreMouseEvent()) {\n return;\n }\n\n _this._updateFocusOnMouseEvent(item, ev, target);\n };\n\n _this._onItemMouseMoveBase = function (item, ev, target) {\n var targetElement = ev.currentTarget; // Always do this check to make sure we record a mouseMove if needed (even if we are timed out)\n\n if (_this._shouldUpdateFocusOnMouseEvent) {\n _this._gotMouseMove = true;\n } else {\n return;\n }\n\n if (!_this._isScrollIdle || _this._enterTimerId !== undefined || targetElement === _this._targetWindow.document.activeElement) {\n return;\n }\n\n _this._updateFocusOnMouseEvent(item, ev, target);\n };\n\n _this._onMouseItemLeave = function (item, ev) {\n if (_this._shouldIgnoreMouseEvent()) {\n return;\n }\n\n if (_this._enterTimerId !== undefined) {\n _this._async.clearTimeout(_this._enterTimerId);\n\n _this._enterTimerId = undefined;\n }\n\n if (_this.state.expandedMenuItemKey !== undefined) {\n return;\n }\n /**\n * IE11 focus() method forces parents to scroll to top of element.\n * Edge and IE expose a setActive() function for focusable divs that\n * sets the page focus but does not scroll the parent element.\n */\n\n\n if (_this._host.setActive) {\n try {\n _this._host.setActive();\n } catch (e) {\n /* no-op */\n }\n } else {\n _this._host.focus();\n }\n };\n\n _this._onItemMouseDown = function (item, ev) {\n if (item.onMouseDown) {\n item.onMouseDown(item, ev);\n }\n };\n\n _this._onItemClick = function (item, ev) {\n _this._onItemClickBase(item, ev, ev.currentTarget);\n };\n\n _this._onItemClickBase = function (item, ev, target) {\n var items = getSubmenuItems(item); // Cancel a async menu item hover timeout action from being taken and instead\n // just trigger the click event instead.\n\n _this._cancelSubMenuTimer();\n\n if (!hasSubmenu(item) && (!items || !items.length)) {\n // This is an item without a menu. Click it.\n _this._executeItemClick(item, ev);\n } else {\n if (item.key !== _this.state.expandedMenuItemKey) {\n // This has a collapsed sub menu. Expand it.\n _this.setState({\n // When Edge + Narrator are used together (regardless of if the button is in a form or not), pressing\n // \"Enter\" fires this method and not _onMenuKeyDown. Checking ev.nativeEvent.detail differentiates\n // between a real click event and a keypress event (detail should be the number of mouse clicks).\n // ...Plot twist! For a real click event in IE 11, detail is always 0 (Edge sets it properly to 1).\n // So we also check the pointerType property, which both Edge and IE set to \"mouse\" for real clicks\n // and \"\" for pressing \"Enter\" with Narrator on.\n expandedByMouseClick: ev.nativeEvent.detail !== 0 || ev.nativeEvent.pointerType === 'mouse'\n });\n\n _this._onItemSubMenuExpand(item, target);\n }\n }\n\n ev.stopPropagation();\n ev.preventDefault();\n };\n\n _this._onAnchorClick = function (item, ev) {\n _this._executeItemClick(item, ev);\n\n ev.stopPropagation();\n };\n\n _this._executeItemClick = function (item, ev) {\n if (item.disabled || item.isDisabled) {\n return;\n }\n\n var dismiss = false;\n\n if (item.onClick) {\n dismiss = !!item.onClick(ev, item);\n } else if (_this.props.onItemClick) {\n dismiss = !!_this.props.onItemClick(ev, item);\n }\n\n (dismiss || !ev.defaultPrevented) && _this.dismiss(ev, true);\n };\n\n _this._onItemKeyDown = function (item, ev) {\n var openKey = getRTL(_this.props.theme) ? KeyCodes.left : KeyCodes.right;\n\n if (!item.disabled && (ev.which === openKey || ev.which === KeyCodes.enter || ev.which === KeyCodes.down && (ev.altKey || ev.metaKey))) {\n _this.setState({\n expandedByMouseClick: false\n });\n\n _this._onItemSubMenuExpand(item, ev.currentTarget);\n\n ev.preventDefault();\n }\n }; // Cancel a async menu item hover timeout action from being taken and instead\n // do new upcoming behavior\n\n\n _this._cancelSubMenuTimer = function () {\n if (_this._enterTimerId !== undefined) {\n _this._async.clearTimeout(_this._enterTimerId);\n\n _this._enterTimerId = undefined;\n }\n };\n\n _this._onItemSubMenuExpand = function (item, target) {\n if (_this.state.expandedMenuItemKey !== item.key) {\n if (_this.state.expandedMenuItemKey) {\n _this._onSubMenuDismiss();\n } // Focus the target to ensure when we close it, we're focusing on the correct element.\n\n\n target.focus();\n\n _this.setState({\n expandedMenuItemKey: item.key,\n submenuTarget: target\n });\n }\n };\n /**\n * This function is called ASYNCHRONOUSLY, and so there is a chance it is called\n * after the component is unmounted. The _mounted property is added to prevent\n * from calling setState() after unmount. Do NOT copy this pattern in synchronous\n * code.\n */\n\n\n _this._onSubMenuDismiss = function (ev, dismissAll) {\n if (dismissAll) {\n _this.dismiss(ev, dismissAll);\n } else if (_this._mounted) {\n _this.setState({\n dismissedMenuItemKey: _this.state.expandedMenuItemKey,\n expandedMenuItemKey: undefined,\n submenuTarget: undefined\n });\n }\n };\n\n _this._getSubMenuId = function (item) {\n var subMenuId = _this.state.subMenuId;\n\n if (item.subMenuProps && item.subMenuProps.id) {\n subMenuId = item.subMenuProps.id;\n }\n\n return subMenuId;\n };\n\n _this._onPointerAndTouchEvent = function (ev) {\n _this._cancelSubMenuTimer();\n };\n\n _this.state = {\n contextualMenuItems: undefined,\n subMenuId: getId('ContextualMenu')\n };\n\n _this._warnDeprecations({\n getMenuClassNames: 'styles'\n });\n\n _this._id = props.id || getId('ContextualMenu');\n _this._isFocusingPreviousElement = false;\n _this._isScrollIdle = true;\n _this._shouldUpdateFocusOnMouseEvent = !_this.props.delayUpdateFocusOnHover;\n _this._gotMouseMove = false;\n return _this;\n }\n\n ContextualMenuBase.prototype.shouldComponentUpdate = function (newProps, newState) {\n if (!newProps.shouldUpdateWhenHidden && this.props.hidden && newProps.hidden) {\n // Do not update when hidden.\n return false;\n }\n\n return !shallowCompare(this.props, newProps) || !shallowCompare(this.state, newState);\n }; // tslint:disable-next-line function-name\n\n\n ContextualMenuBase.prototype.UNSAFE_componentWillUpdate = function (newProps) {\n if (newProps.target !== this.props.target) {\n var newTarget = newProps.target;\n\n this._setTargetWindowAndElement(newTarget);\n }\n\n if (this._isHidden(newProps) !== this._isHidden(this.props)) {\n if (this._isHidden(newProps)) {\n this._onMenuClosed();\n } else {\n this._onMenuOpened();\n\n this._previousActiveElement = this._targetWindow ? this._targetWindow.document.activeElement : null;\n }\n }\n\n if (newProps.delayUpdateFocusOnHover !== this.props.delayUpdateFocusOnHover) {\n // update shouldUpdateFocusOnMouseEvent to follow what was passed in\n this._shouldUpdateFocusOnMouseEvent = !newProps.delayUpdateFocusOnHover; // If shouldUpdateFocusOnMouseEvent is false, we need to reset gotMouseMove to false\n\n this._gotMouseMove = this._shouldUpdateFocusOnMouseEvent && this._gotMouseMove;\n }\n }; // Invoked once, both on the client and server, immediately before the initial rendering occurs.\n // tslint:disable-next-line function-name\n\n\n ContextualMenuBase.prototype.UNSAFE_componentWillMount = function () {\n var target = this.props.target;\n\n this._setTargetWindowAndElement(target);\n\n if (!this.props.hidden) {\n this._previousActiveElement = this._targetWindow ? this._targetWindow.document.activeElement : null;\n }\n }; // Invoked once, only on the client (not on the server), immediately after the initial rendering occurs.\n\n\n ContextualMenuBase.prototype.componentDidMount = function () {\n if (!this.props.hidden) {\n this._onMenuOpened();\n }\n\n this._mounted = true;\n }; // Invoked immediately before a component is unmounted from the DOM.\n\n\n ContextualMenuBase.prototype.componentWillUnmount = function () {\n this._tryFocusPreviousActiveElement();\n\n if (this.props.onMenuDismissed) {\n this.props.onMenuDismissed(this.props);\n }\n\n this._events.dispose();\n\n this._async.dispose();\n\n this._mounted = false;\n };\n\n ContextualMenuBase.prototype.render = function () {\n var _this = this;\n\n var isBeakVisible = this.props.isBeakVisible;\n var _a = this.props,\n items = _a.items,\n labelElementId = _a.labelElementId,\n id = _a.id,\n className = _a.className,\n beakWidth = _a.beakWidth,\n directionalHint = _a.directionalHint,\n directionalHintForRTL = _a.directionalHintForRTL,\n alignTargetEdge = _a.alignTargetEdge,\n gapSpace = _a.gapSpace,\n coverTarget = _a.coverTarget,\n ariaLabel = _a.ariaLabel,\n doNotLayer = _a.doNotLayer,\n target = _a.target,\n bounds = _a.bounds,\n useTargetWidth = _a.useTargetWidth,\n useTargetAsMinWidth = _a.useTargetAsMinWidth,\n directionalHintFixed = _a.directionalHintFixed,\n shouldFocusOnMount = _a.shouldFocusOnMount,\n shouldFocusOnContainer = _a.shouldFocusOnContainer,\n title = _a.title,\n styles = _a.styles,\n theme = _a.theme,\n calloutProps = _a.calloutProps,\n _b = _a.onRenderSubMenu,\n onRenderSubMenu = _b === void 0 ? this._onRenderSubMenu : _b,\n _c = _a.onRenderMenuList,\n onRenderMenuList = _c === void 0 ? this._onRenderMenuList : _c,\n focusZoneProps = _a.focusZoneProps,\n getMenuClassNames = _a.getMenuClassNames;\n this._classNames = getMenuClassNames ? getMenuClassNames(theme, className) : getClassNames(styles, {\n theme: theme,\n className: className\n });\n var hasIcons = itemsHaveIcons(items);\n\n function itemsHaveIcons(contextualMenuItems) {\n for (var _i = 0, contextualMenuItems_1 = contextualMenuItems; _i < contextualMenuItems_1.length; _i++) {\n var item = contextualMenuItems_1[_i];\n\n if (!!item.iconProps) {\n return true;\n }\n\n if (item.itemType === ContextualMenuItemType.Section && item.sectionProps && itemsHaveIcons(item.sectionProps.items)) {\n return true;\n }\n }\n\n return false;\n }\n\n this._adjustedFocusZoneProps = __assign(__assign({}, focusZoneProps), {\n direction: this._getFocusZoneDirection()\n });\n var hasCheckmarks = canAnyMenuItemsCheck(items);\n var submenuProps = this.state.expandedMenuItemKey && this.props.hidden !== true ? this._getSubmenuProps() : null;\n isBeakVisible = isBeakVisible === undefined ? this.props.responsiveMode <= ResponsiveMode.medium : isBeakVisible;\n /**\n * When useTargetWidth is true, get the width of the target element and apply it for the context menu container\n */\n\n var contextMenuStyle;\n var targetAsHtmlElement = this._target;\n\n if ((useTargetWidth || useTargetAsMinWidth) && targetAsHtmlElement && targetAsHtmlElement.offsetWidth) {\n var targetBoundingRect = targetAsHtmlElement.getBoundingClientRect();\n var targetWidth = targetBoundingRect.width - 2\n /* Accounts for 1px border */\n ;\n\n if (useTargetWidth) {\n contextMenuStyle = {\n width: targetWidth\n };\n } else if (useTargetAsMinWidth) {\n contextMenuStyle = {\n minWidth: targetWidth\n };\n }\n } // The menu should only return if items were provided, if no items were provided then it should not appear.\n\n\n if (items && items.length > 0) {\n var totalItemCount = 0;\n\n for (var _i = 0, items_1 = items; _i < items_1.length; _i++) {\n var item = items_1[_i];\n\n if (item.itemType !== ContextualMenuItemType.Divider && item.itemType !== ContextualMenuItemType.Header) {\n var itemCount = item.customOnRenderListLength ? item.customOnRenderListLength : 1;\n totalItemCount += itemCount;\n }\n }\n\n var calloutStyles = this._classNames.subComponentStyles ? this._classNames.subComponentStyles.callout : undefined;\n return React.createElement(Callout, __assign({\n styles: calloutStyles\n }, calloutProps, {\n target: target,\n isBeakVisible: isBeakVisible,\n beakWidth: beakWidth,\n directionalHint: directionalHint,\n directionalHintForRTL: directionalHintForRTL,\n gapSpace: gapSpace,\n coverTarget: coverTarget,\n doNotLayer: doNotLayer,\n className: css('ms-ContextualMenu-Callout', calloutProps && calloutProps.className),\n setInitialFocus: shouldFocusOnMount,\n onDismiss: this.props.onDismiss,\n onScroll: this._onScroll,\n bounds: bounds,\n directionalHintFixed: directionalHintFixed,\n alignTargetEdge: alignTargetEdge,\n hidden: this.props.hidden\n }), React.createElement(\"div\", {\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": labelElementId,\n style: contextMenuStyle,\n ref: function ref(host) {\n return _this._host = host;\n },\n id: id,\n className: this._classNames.container,\n tabIndex: shouldFocusOnContainer ? 0 : -1,\n onKeyDown: this._onMenuKeyDown,\n onKeyUp: this._onKeyUp,\n onFocusCapture: this._onMenuFocusCapture\n }, title && React.createElement(\"div\", {\n className: this._classNames.title\n }, \" \", title, \" \"), items && items.length ? React.createElement(FocusZone, __assign({}, this._adjustedFocusZoneProps, {\n className: this._classNames.root,\n isCircularNavigation: true,\n handleTabKey: FocusZoneTabbableElements.all\n }), onRenderMenuList({\n items: items,\n totalItemCount: totalItemCount,\n hasCheckmarks: hasCheckmarks,\n hasIcons: hasIcons\n }, this._onRenderMenuList)) : null, submenuProps && onRenderSubMenu(submenuProps, this._onRenderSubMenu)));\n } else {\n return null;\n }\n };\n /**\n * Return whether the contextual menu is hidden.\n * Undefined value for hidden is equivalent to hidden being false.\n * @param props - Props for the component\n */\n\n\n ContextualMenuBase.prototype._isHidden = function (props) {\n return !!props.hidden;\n };\n\n ContextualMenuBase.prototype._onMenuOpened = function () {\n this._events.on(this._targetWindow, 'resize', this.dismiss);\n\n this._shouldUpdateFocusOnMouseEvent = !this.props.delayUpdateFocusOnHover;\n this._gotMouseMove = false;\n this.props.onMenuOpened && this.props.onMenuOpened(this.props);\n };\n\n ContextualMenuBase.prototype._onMenuClosed = function () {\n this._events.off(this._targetWindow, 'resize', this.dismiss);\n\n this._tryFocusPreviousActiveElement();\n\n if (this.props.onMenuDismissed) {\n this.props.onMenuDismissed(this.props);\n }\n\n this._shouldUpdateFocusOnMouseEvent = !this.props.delayUpdateFocusOnHover; // We need to dismiss any submenu related state properties,\n // so that when the menu is shown again, the submenu is collapsed\n\n this.setState({\n expandedByMouseClick: undefined,\n dismissedMenuItemKey: undefined,\n expandedMenuItemKey: undefined,\n submenuTarget: undefined\n });\n };\n\n ContextualMenuBase.prototype._tryFocusPreviousActiveElement = function () {\n var _this = this;\n\n if (this._isFocusingPreviousElement && this._previousActiveElement) {\n // This slight delay is required so that we can unwind the stack, const react try to mess with focus, and then\n // apply the correct focus. Without the setTimeout, we end up focusing the correct thing, and then React wants\n // to reset the focus back to the thing it thinks should have been focused.\n // Note: Cannot be replaced by this._async.setTimout because those will be removed by the time this is called.\n setTimeout(function () {\n _this._previousActiveElement && _this._previousActiveElement.focus();\n }, 0);\n }\n };\n /**\n * Gets the focusZoneDirection by using the arrowDirection if specified,\n * the direction specificed in the focusZoneProps, or defaults to FocusZoneDirection.vertical\n */\n\n\n ContextualMenuBase.prototype._getFocusZoneDirection = function () {\n var focusZoneProps = this.props.focusZoneProps;\n return focusZoneProps && focusZoneProps.direction !== undefined ? focusZoneProps.direction : FocusZoneDirection.vertical;\n };\n\n ContextualMenuBase.prototype._onRenderSubMenu = function (subMenuProps, defaultRender) {\n throw Error('ContextualMenuBase: onRenderSubMenu callback is null or undefined. ' + 'Please ensure to set `onRenderSubMenu` property either manually or with `styled` helper.');\n };\n\n ContextualMenuBase.prototype._renderMenuItem = function (item, index, focusableElementIndex, totalItemCount, hasCheckmarks, hasIcons) {\n var renderedItems = [];\n var iconProps = item.iconProps || {\n iconName: 'None'\n };\n var getItemClassNames = item.getItemClassNames,\n itemProps = item.itemProps;\n var styles = itemProps ? itemProps.styles : undefined; // We only send a dividerClassName when the item to be rendered is a divider. For all other cases, the default divider style is used.\n\n var dividerClassName = item.itemType === ContextualMenuItemType.Divider ? item.className : undefined;\n var subMenuIconClassName = item.submenuIconProps ? item.submenuIconProps.className : '';\n var itemClassNames; // IContextualMenuItem#getItemClassNames for backwards compatibility\n // otherwise uses mergeStyles for class names.\n\n if (getItemClassNames) {\n itemClassNames = getItemClassNames(this.props.theme, isItemDisabled(item), this.state.expandedMenuItemKey === item.key, !!getIsChecked(item), !!item.href, iconProps.iconName !== 'None', item.className, dividerClassName, iconProps.className, subMenuIconClassName, item.primaryDisabled);\n } else {\n var itemStyleProps = {\n theme: this.props.theme,\n disabled: isItemDisabled(item),\n expanded: this.state.expandedMenuItemKey === item.key,\n checked: !!getIsChecked(item),\n isAnchorLink: !!item.href,\n knownIcon: iconProps.iconName !== 'None',\n itemClassName: item.className,\n dividerClassName: dividerClassName,\n iconClassName: iconProps.className,\n subMenuClassName: subMenuIconClassName,\n primaryDisabled: item.primaryDisabled\n };\n var menuItemStyles = this._classNames.subComponentStyles ? this._classNames.subComponentStyles.menuItem : undefined; // We need to generate default styles then override if styles are provided\n // since the ContextualMenu currently handles item classNames.\n\n itemClassNames = mergeStyleSets(getContextualMenuItemClassNames(getItemStyles, itemStyleProps), getContextualMenuItemClassNames(menuItemStyles, itemStyleProps), getContextualMenuItemClassNames(styles, itemStyleProps));\n }\n\n if (item.text === '-' || item.name === '-') {\n item.itemType = ContextualMenuItemType.Divider;\n }\n\n switch (item.itemType) {\n case ContextualMenuItemType.Divider:\n renderedItems.push(this._renderSeparator(index, itemClassNames));\n break;\n\n case ContextualMenuItemType.Header:\n renderedItems.push(this._renderSeparator(index, itemClassNames));\n\n var headerItem = this._renderHeaderMenuItem(item, itemClassNames, index, hasCheckmarks, hasIcons);\n\n renderedItems.push(this._renderListItem(headerItem, item.key || index, itemClassNames, item.title));\n break;\n\n case ContextualMenuItemType.Section:\n renderedItems.push(this._renderSectionItem(item, itemClassNames, index, hasCheckmarks, hasIcons));\n break;\n\n default:\n var menuItem = this._renderNormalItem(item, itemClassNames, index, focusableElementIndex, totalItemCount, hasCheckmarks, hasIcons);\n\n renderedItems.push(this._renderListItem(menuItem, item.key || index, itemClassNames, item.title));\n break;\n }\n\n return renderedItems;\n };\n\n ContextualMenuBase.prototype._renderSectionItem = function (sectionItem, menuClassNames, index, hasCheckmarks, hasIcons) {\n var _this = this;\n\n var sectionProps = sectionItem.sectionProps;\n\n if (!sectionProps) {\n return;\n }\n\n var headerItem;\n var groupProps;\n\n if (sectionProps.title) {\n var id = this._id + sectionProps.title;\n var headerContextualMenuItem = {\n key: \"section-\" + sectionProps.title + \"-title\",\n itemType: ContextualMenuItemType.Header,\n text: sectionProps.title,\n id: id\n };\n groupProps = {\n role: 'group',\n 'aria-labelledby': id\n };\n headerItem = this._renderHeaderMenuItem(headerContextualMenuItem, menuClassNames, index, hasCheckmarks, hasIcons);\n }\n\n if (sectionProps.items && sectionProps.items.length > 0) {\n return React.createElement(\"li\", {\n role: \"presentation\",\n key: sectionProps.key || sectionItem.key || \"section-\" + index\n }, React.createElement(\"div\", __assign({}, groupProps), React.createElement(\"ul\", {\n className: this._classNames.list\n }, sectionProps.topDivider && this._renderSeparator(index, menuClassNames, true, true), headerItem && this._renderListItem(headerItem, sectionItem.key || index, menuClassNames, sectionItem.title), sectionProps.items.map(function (contextualMenuItem, itemsIndex) {\n return _this._renderMenuItem(contextualMenuItem, itemsIndex, itemsIndex, sectionProps.items.length, hasCheckmarks, hasIcons);\n }), sectionProps.bottomDivider && this._renderSeparator(index, menuClassNames, false, true))));\n }\n };\n\n ContextualMenuBase.prototype._renderListItem = function (content, key, classNames, title) {\n return React.createElement(\"li\", {\n role: \"presentation\",\n title: title,\n key: key,\n className: classNames.item\n }, content);\n };\n\n ContextualMenuBase.prototype._renderSeparator = function (index, classNames, top, fromSection) {\n if (fromSection || index > 0) {\n return React.createElement(\"li\", {\n role: \"separator\",\n key: 'separator-' + index + (top === undefined ? '' : top ? '-top' : '-bottom'),\n className: classNames.divider,\n \"aria-hidden\": \"true\"\n });\n }\n\n return null;\n };\n\n ContextualMenuBase.prototype._renderNormalItem = function (item, classNames, index, focusableElementIndex, totalItemCount, hasCheckmarks, hasIcons) {\n if (item.onRender) {\n return item.onRender(__assign({\n 'aria-posinset': focusableElementIndex + 1,\n 'aria-setsize': totalItemCount\n }, item), this.dismiss);\n }\n\n if (item.href) {\n return this._renderAnchorMenuItem(item, classNames, index, focusableElementIndex, totalItemCount, hasCheckmarks, hasIcons);\n }\n\n if (item.split && hasSubmenu(item)) {\n return this._renderSplitButton(item, classNames, index, focusableElementIndex, totalItemCount, hasCheckmarks, hasIcons);\n }\n\n return this._renderButtonItem(item, classNames, index, focusableElementIndex, totalItemCount, hasCheckmarks, hasIcons);\n };\n\n ContextualMenuBase.prototype._renderHeaderMenuItem = function (item, classNames, index, hasCheckmarks, hasIcons) {\n var _a = this.props.contextualMenuItemAs,\n ChildrenRenderer = _a === void 0 ? ContextualMenuItem : _a;\n var itemProps = item.itemProps,\n id = item.id;\n var divHtmlProperties = itemProps && getNativeProps(itemProps, divProperties);\n return React.createElement(\"div\", __assign({\n id: id,\n className: this._classNames.header\n }, divHtmlProperties, {\n style: item.style\n }), React.createElement(ChildrenRenderer, __assign({\n item: item,\n classNames: classNames,\n index: index,\n onCheckmarkClick: hasCheckmarks ? this._onItemClick : undefined,\n hasIcons: hasIcons\n }, itemProps)));\n };\n\n ContextualMenuBase.prototype._renderAnchorMenuItem = function (item, classNames, index, focusableElementIndex, totalItemCount, hasCheckmarks, hasIcons) {\n var contextualMenuItemAs = this.props.contextualMenuItemAs;\n var expandedMenuItemKey = this.state.expandedMenuItemKey;\n return React.createElement(ContextualMenuAnchor, {\n item: item,\n classNames: classNames,\n index: index,\n focusableElementIndex: focusableElementIndex,\n totalItemCount: totalItemCount,\n hasCheckmarks: hasCheckmarks,\n hasIcons: hasIcons,\n contextualMenuItemAs: contextualMenuItemAs,\n onItemMouseEnter: this._onItemMouseEnterBase,\n onItemMouseLeave: this._onMouseItemLeave,\n onItemMouseMove: this._onItemMouseMoveBase,\n onItemMouseDown: this._onItemMouseDown,\n executeItemClick: this._executeItemClick,\n onItemClick: this._onAnchorClick,\n onItemKeyDown: this._onItemKeyDown,\n getSubMenuId: this._getSubMenuId,\n expandedMenuItemKey: expandedMenuItemKey,\n openSubMenu: this._onItemSubMenuExpand,\n dismissSubMenu: this._onSubMenuDismiss,\n dismissMenu: this.dismiss\n });\n };\n\n ContextualMenuBase.prototype._renderButtonItem = function (item, classNames, index, focusableElementIndex, totalItemCount, hasCheckmarks, hasIcons) {\n var contextualMenuItemAs = this.props.contextualMenuItemAs;\n var expandedMenuItemKey = this.state.expandedMenuItemKey;\n return React.createElement(ContextualMenuButton, {\n item: item,\n classNames: classNames,\n index: index,\n focusableElementIndex: focusableElementIndex,\n totalItemCount: totalItemCount,\n hasCheckmarks: hasCheckmarks,\n hasIcons: hasIcons,\n contextualMenuItemAs: contextualMenuItemAs,\n onItemMouseEnter: this._onItemMouseEnterBase,\n onItemMouseLeave: this._onMouseItemLeave,\n onItemMouseMove: this._onItemMouseMoveBase,\n onItemMouseDown: this._onItemMouseDown,\n executeItemClick: this._executeItemClick,\n onItemClick: this._onItemClick,\n onItemClickBase: this._onItemClickBase,\n onItemKeyDown: this._onItemKeyDown,\n getSubMenuId: this._getSubMenuId,\n expandedMenuItemKey: expandedMenuItemKey,\n openSubMenu: this._onItemSubMenuExpand,\n dismissSubMenu: this._onSubMenuDismiss,\n dismissMenu: this.dismiss\n });\n };\n\n ContextualMenuBase.prototype._renderSplitButton = function (item, classNames, index, focusableElementIndex, totalItemCount, hasCheckmarks, hasIcons) {\n var contextualMenuItemAs = this.props.contextualMenuItemAs;\n var expandedMenuItemKey = this.state.expandedMenuItemKey;\n return React.createElement(ContextualMenuSplitButton, {\n item: item,\n classNames: classNames,\n index: index,\n focusableElementIndex: focusableElementIndex,\n totalItemCount: totalItemCount,\n hasCheckmarks: hasCheckmarks,\n hasIcons: hasIcons,\n contextualMenuItemAs: contextualMenuItemAs,\n onItemMouseEnter: this._onItemMouseEnterBase,\n onItemMouseLeave: this._onMouseItemLeave,\n onItemMouseMove: this._onItemMouseMoveBase,\n onItemMouseDown: this._onItemMouseDown,\n executeItemClick: this._executeItemClick,\n onItemClick: this._onItemClick,\n onItemClickBase: this._onItemClickBase,\n onItemKeyDown: this._onItemKeyDown,\n openSubMenu: this._onItemSubMenuExpand,\n dismissSubMenu: this._onSubMenuDismiss,\n dismissMenu: this.dismiss,\n expandedMenuItemKey: expandedMenuItemKey,\n onTap: this._onPointerAndTouchEvent\n });\n };\n /**\n * Returns true if the key for the event is alt (Mac option) or meta (Mac command).\n */\n\n\n ContextualMenuBase.prototype._isAltOrMeta = function (ev) {\n return ev.which === KeyCodes.alt || ev.key === 'Meta';\n };\n\n ContextualMenuBase.prototype._shouldIgnoreMouseEvent = function () {\n return !this._isScrollIdle || !this._gotMouseMove;\n };\n /**\n * Handles updating focus when mouseEnter or mouseMove fire.\n * As part of updating focus, This function will also update\n * the expand/collapse state accordingly.\n */\n\n\n ContextualMenuBase.prototype._updateFocusOnMouseEvent = function (item, ev, target) {\n var _this = this;\n\n var targetElement = target ? target : ev.currentTarget;\n var _a = this.props.subMenuHoverDelay,\n timeoutDuration = _a === void 0 ? NavigationIdleDelay : _a;\n\n if (item.key === this.state.expandedMenuItemKey) {\n return;\n }\n\n if (this._enterTimerId !== undefined) {\n this._async.clearTimeout(this._enterTimerId);\n\n this._enterTimerId = undefined;\n } // If the menu is not expanded we can update focus without any delay\n\n\n if (this.state.expandedMenuItemKey === undefined) {\n targetElement.focus();\n } // Delay updating expanding/dismissing the submenu\n // and only set focus if we have not already done so\n\n\n if (hasSubmenu(item)) {\n ev.stopPropagation();\n this._enterTimerId = this._async.setTimeout(function () {\n targetElement.focus();\n\n _this.setState({\n expandedByMouseClick: true\n });\n\n _this._onItemSubMenuExpand(item, targetElement);\n\n _this._enterTimerId = undefined;\n }, timeoutDuration);\n } else {\n this._enterTimerId = this._async.setTimeout(function () {\n _this._onSubMenuDismiss(ev);\n\n targetElement.focus();\n _this._enterTimerId = undefined;\n }, timeoutDuration);\n }\n };\n\n ContextualMenuBase.prototype._getSubmenuProps = function () {\n var _a = this.state,\n submenuTarget = _a.submenuTarget,\n expandedMenuItemKey = _a.expandedMenuItemKey;\n\n var item = this._findItemByKey(expandedMenuItemKey);\n\n var submenuProps = null;\n\n if (item) {\n submenuProps = {\n items: getSubmenuItems(item),\n target: submenuTarget,\n onDismiss: this._onSubMenuDismiss,\n isSubMenu: true,\n id: this.state.subMenuId,\n shouldFocusOnMount: true,\n shouldFocusOnContainer: this.state.expandedByMouseClick,\n directionalHint: getRTL(this.props.theme) ? DirectionalHint.leftTopEdge : DirectionalHint.rightTopEdge,\n className: this.props.className,\n gapSpace: 0,\n isBeakVisible: false\n };\n\n if (item.subMenuProps) {\n assign(submenuProps, item.subMenuProps);\n }\n }\n\n return submenuProps;\n };\n\n ContextualMenuBase.prototype._findItemByKey = function (key) {\n var items = this.props.items;\n return this._findItemByKeyFromItems(key, items);\n };\n /**\n * Returns the item that mathes a given key if any.\n * @param key - The key of the item to match\n * @param items - The items to look for the key\n */\n\n\n ContextualMenuBase.prototype._findItemByKeyFromItems = function (key, items) {\n for (var _i = 0, items_2 = items; _i < items_2.length; _i++) {\n var item = items_2[_i];\n\n if (item.itemType === ContextualMenuItemType.Section && item.sectionProps) {\n var match = this._findItemByKeyFromItems(key, item.sectionProps.items);\n\n if (match) {\n return match;\n }\n } else if (item.key && item.key === key) {\n return item;\n }\n }\n };\n\n ContextualMenuBase.prototype._setTargetWindowAndElement = function (target) {\n var currentElement = this._host;\n\n if (target) {\n if (typeof target === 'string') {\n var currentDoc = getDocument(currentElement);\n this._target = currentDoc ? currentDoc.querySelector(target) : null;\n this._targetWindow = getWindow(currentElement);\n } else if (!!target.stopPropagation) {\n this._targetWindow = getWindow(target.target);\n this._target = target;\n } else if (target.x !== undefined && target.y !== undefined) {\n this._targetWindow = getWindow(currentElement);\n this._target = target;\n } else if (target.current !== undefined) {\n this._target = target.current;\n this._targetWindow = getWindow(this._target);\n } else {\n var targetElement = target;\n this._targetWindow = getWindow(targetElement);\n this._target = target;\n }\n } else {\n this._targetWindow = getWindow(currentElement);\n }\n }; // The default ContextualMenu properties have no items and beak, the default submenu direction is right and top.\n\n\n ContextualMenuBase.defaultProps = {\n items: [],\n shouldFocusOnMount: true,\n gapSpace: 0,\n directionalHint: DirectionalHint.bottomAutoEdge,\n beakWidth: 16\n };\n ContextualMenuBase = __decorate([withResponsiveMode], ContextualMenuBase);\n return ContextualMenuBase;\n}(BaseComponent);\n\nexport { ContextualMenuBase };","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { styled } from '../../Utilities';\nimport { ContextualMenuBase } from './ContextualMenu.base';\nimport { getStyles } from './ContextualMenu.styles'; // This is to prevent cyclic import with ContextualMenu.base.tsx.\n\nvar LocalContextualMenu;\n\nfunction onRenderSubMenu(subMenuProps) {\n return React.createElement(LocalContextualMenu, __assign({}, subMenuProps));\n}\n\nLocalContextualMenu = styled(ContextualMenuBase, getStyles, function () {\n return {\n onRenderSubMenu: onRenderSubMenu\n };\n}, {\n scope: 'ContextualMenu'\n});\n/**\n * ContextualMenu description\n */\n\nexport var ContextualMenu = LocalContextualMenu;","import { getGlobalClassNames, FontWeights } from '../../Styling';\nimport { CONTEXTUAL_MENU_ITEM_HEIGHT } from './ContextualMenu.cnstyles';\nvar GlobalClassNames = {\n root: 'ms-ContextualMenu',\n container: 'ms-ContextualMenu-container',\n list: 'ms-ContextualMenu-list',\n header: 'ms-ContextualMenu-header',\n title: 'ms-ContextualMenu-title',\n isopen: 'is-open'\n};\nexport var getStyles = function getStyles(props) {\n var className = props.className,\n theme = props.theme;\n var classNames = getGlobalClassNames(GlobalClassNames, theme);\n var fonts = theme.fonts,\n semanticColors = theme.semanticColors,\n effects = theme.effects;\n return {\n root: [theme.fonts.medium, classNames.root, classNames.isopen, {\n backgroundColor: semanticColors.menuBackground,\n minWidth: '180px'\n }, className],\n container: [classNames.container, {\n selectors: {\n ':focus': {\n outline: 0\n }\n }\n }],\n list: [classNames.list, classNames.isopen, {\n listStyleType: 'none',\n margin: '0',\n padding: '0'\n }],\n header: [classNames.header, fonts.small, {\n fontWeight: FontWeights.semibold,\n color: semanticColors.menuHeader,\n background: 'none',\n backgroundColor: 'transparent',\n border: 'none',\n height: CONTEXTUAL_MENU_ITEM_HEIGHT,\n lineHeight: CONTEXTUAL_MENU_ITEM_HEIGHT,\n cursor: 'default',\n padding: '0px 6px',\n userSelect: 'none',\n textAlign: 'left'\n }],\n title: [classNames.title, {\n fontSize: fonts.mediumPlus.fontSize,\n paddingRight: '14px',\n paddingLeft: '14px',\n paddingBottom: '5px',\n paddingTop: '5px',\n backgroundColor: semanticColors.menuItemBackgroundPressed\n }],\n subComponentStyles: {\n callout: {\n root: {\n boxShadow: effects.elevation8\n }\n },\n menuItem: {}\n }\n };\n};","import { memoizeFunction } from '../../Utilities';\nimport { mergeStyleSets } from '../../Styling';\nimport { getGlobalClassNames } from '../../Styling';\nexport var ButtonGlobalClassNames = {\n msButton: 'ms-Button',\n msButtonHasMenu: 'ms-Button--hasMenu',\n msButtonIcon: 'ms-Button-icon',\n msButtonMenuIcon: 'ms-Button-menuIcon',\n msButtonLabel: 'ms-Button-label',\n msButtonDescription: 'ms-Button-description',\n msButtonScreenReaderText: 'ms-Button-screenReaderText',\n msButtonFlexContainer: 'ms-Button-flexContainer',\n msButtonTextContainer: 'ms-Button-textContainer'\n};\nexport var getBaseButtonClassNames = memoizeFunction(function (theme, styles, className, variantClassName, iconClassName, menuIconClassName, disabled, hasMenu, checked, expanded, isSplit) {\n var _a, _b;\n\n var classNames = getGlobalClassNames(ButtonGlobalClassNames, theme || {});\n var isExpanded = expanded && !isSplit;\n return mergeStyleSets({\n root: [classNames.msButton, styles.root, variantClassName, checked && ['is-checked', styles.rootChecked], isExpanded && ['is-expanded', styles.rootExpanded, {\n selectors: (_a = {}, _a[\":hover .\" + classNames.msButtonIcon] = styles.iconExpandedHovered, // menuIcon falls back to rootExpandedHovered to support original behavior\n _a[\":hover .\" + classNames.msButtonMenuIcon] = styles.menuIconExpandedHovered || styles.rootExpandedHovered, _a[':hover'] = styles.rootExpandedHovered, _a)\n }], hasMenu && [ButtonGlobalClassNames.msButtonHasMenu, styles.rootHasMenu], disabled && ['is-disabled', styles.rootDisabled], !disabled && !isExpanded && !checked && {\n selectors: (_b = {\n ':hover': styles.rootHovered\n }, _b[\":hover .\" + classNames.msButtonLabel] = styles.labelHovered, _b[\":hover .\" + classNames.msButtonIcon] = styles.iconHovered, _b[\":hover .\" + classNames.msButtonDescription] = styles.descriptionHovered, _b[\":hover .\" + classNames.msButtonMenuIcon] = styles.menuIconHovered, _b[':focus'] = styles.rootFocused, _b[':active'] = styles.rootPressed, _b[\":active .\" + classNames.msButtonIcon] = styles.iconPressed, _b[\":active .\" + classNames.msButtonDescription] = styles.descriptionPressed, _b[\":active .\" + classNames.msButtonMenuIcon] = styles.menuIconPressed, _b)\n }, disabled && checked && [styles.rootCheckedDisabled], !disabled && checked && {\n selectors: {\n ':hover': styles.rootCheckedHovered,\n ':active': styles.rootCheckedPressed\n }\n }, className],\n flexContainer: [classNames.msButtonFlexContainer, styles.flexContainer],\n textContainer: [classNames.msButtonTextContainer, styles.textContainer],\n icon: [classNames.msButtonIcon, iconClassName, styles.icon, isExpanded && styles.iconExpanded, checked && styles.iconChecked, disabled && styles.iconDisabled],\n label: [classNames.msButtonLabel, styles.label, checked && styles.labelChecked, disabled && styles.labelDisabled],\n menuIcon: [classNames.msButtonMenuIcon, menuIconClassName, styles.menuIcon, checked && styles.menuIconChecked, disabled && !isSplit && styles.menuIconDisabled, !disabled && !isExpanded && !checked && {\n selectors: {\n ':hover': styles.menuIconHovered,\n ':active': styles.menuIconPressed\n }\n }, isExpanded && ['is-expanded', styles.menuIconExpanded]],\n description: [classNames.msButtonDescription, styles.description, checked && styles.descriptionChecked, disabled && styles.descriptionDisabled],\n screenReaderText: [classNames.msButtonScreenReaderText, styles.screenReaderText]\n });\n});","import { memoizeFunction } from '../../../Utilities';\nimport { mergeStyles } from '../../../Styling';\nexport var getClassNames = memoizeFunction(function (styles, disabled, expanded, checked, primaryDisabled) {\n return {\n root: mergeStyles(styles.splitButtonMenuButton, expanded && [styles.splitButtonMenuButtonExpanded], disabled && [styles.splitButtonMenuButtonDisabled], checked && !disabled && [styles.splitButtonMenuButtonChecked]),\n splitButtonContainer: mergeStyles(styles.splitButtonContainer, !disabled && checked && [styles.splitButtonContainerChecked, {\n selectors: {\n ':hover': styles.splitButtonContainerCheckedHovered\n }\n }], !disabled && !checked && [{\n selectors: {\n ':hover': styles.splitButtonContainerHovered,\n ':focus': styles.splitButtonContainerFocused\n }\n }], disabled && styles.splitButtonContainerDisabled),\n icon: mergeStyles(styles.splitButtonMenuIcon, disabled && styles.splitButtonMenuIconDisabled, !disabled && primaryDisabled && styles.splitButtonMenuIcon),\n flexContainer: mergeStyles(styles.splitButtonFlexContainer),\n divider: mergeStyles(styles.splitButtonDivider, (primaryDisabled || disabled) && styles.splitButtonDividerDisabled)\n };\n});","import { __assign, __extends, __rest } from \"tslib\";\nimport * as React from 'react';\nimport { BaseComponent, anchorProperties, assign, buttonProperties, getId, getNativeProps, KeyCodes, css, mergeAriaAttributeValues, portalContainsElement, memoizeFunction, nullRender } from '../../Utilities';\nimport { Icon, FontIcon, ImageIcon } from '../../Icon';\nimport { DirectionalHint } from '../../common/DirectionalHint';\nimport { ContextualMenu } from '../../ContextualMenu';\nimport { getBaseButtonClassNames } from './BaseButton.classNames';\nimport { getClassNames as getBaseSplitButtonClassNames } from './SplitButton/SplitButton.classNames';\nimport { KeytipData } from '../../KeytipData';\nvar TouchIdleDelay = 500;\n/* ms */\n\n/**\n * {@docCategory Button}\n */\n\nvar BaseButton =\n/** @class */\nfunction (_super) {\n __extends(BaseButton, _super);\n\n function BaseButton(props, rootClassName) {\n var _this = _super.call(this, props) || this;\n\n _this._buttonElement = React.createRef();\n _this._splitButtonContainer = React.createRef();\n _this._renderedVisibleMenu = false;\n _this._getMemoizedMenuButtonKeytipProps = memoizeFunction(function (keytipProps) {\n return __assign(__assign({}, keytipProps), {\n hasMenu: true\n });\n });\n\n _this._onRenderIcon = function (buttonProps, defaultRender) {\n var iconProps = _this.props.iconProps;\n\n if (iconProps && (iconProps.iconName !== undefined || iconProps.imageProps)) {\n var className = iconProps.className,\n imageProps = iconProps.imageProps,\n rest = __rest(iconProps, [\"className\", \"imageProps\"]); // If the styles prop is specified as part of iconProps, fall back to regular Icon as FontIcon and ImageIcon do not have such prop.\n\n\n if (iconProps.styles) {\n return React.createElement(Icon, __assign({\n className: css(_this._classNames.icon, className),\n imageProps: imageProps\n }, rest));\n }\n\n if (iconProps.iconName) {\n return React.createElement(FontIcon, __assign({\n className: css(_this._classNames.icon, className)\n }, rest));\n }\n\n if (imageProps) {\n return React.createElement(ImageIcon, __assign({\n className: css(_this._classNames.icon, className),\n imageProps: imageProps\n }, rest));\n }\n }\n\n return null;\n };\n\n _this._onRenderTextContents = function () {\n var _a = _this.props,\n text = _a.text,\n children = _a.children,\n _b = _a.secondaryText,\n secondaryText = _b === void 0 ? _this.props.description : _b,\n _c = _a.onRenderText,\n onRenderText = _c === void 0 ? _this._onRenderText : _c,\n _d = _a.onRenderDescription,\n onRenderDescription = _d === void 0 ? _this._onRenderDescription : _d;\n\n if (text || typeof children === 'string' || secondaryText) {\n return React.createElement(\"span\", {\n className: _this._classNames.textContainer\n }, onRenderText(_this.props, _this._onRenderText), onRenderDescription(_this.props, _this._onRenderDescription));\n }\n\n return [onRenderText(_this.props, _this._onRenderText), onRenderDescription(_this.props, _this._onRenderDescription)];\n };\n\n _this._onRenderText = function () {\n var text = _this.props.text;\n var children = _this.props.children; // For backwards compat, we should continue to take in the text content from children.\n\n if (text === undefined && typeof children === 'string') {\n text = children;\n }\n\n if (_this._hasText()) {\n return React.createElement(\"span\", {\n key: _this._labelId,\n className: _this._classNames.label,\n id: _this._labelId\n }, text);\n }\n\n return null;\n };\n\n _this._onRenderChildren = function () {\n var children = _this.props.children; // If children is just a string, either it or the text will be rendered via onRenderLabel\n // If children is another component, it will be rendered after text\n\n if (typeof children === 'string') {\n return null;\n }\n\n return children;\n };\n\n _this._onRenderDescription = function (props) {\n var _a = props.secondaryText,\n secondaryText = _a === void 0 ? _this.props.description : _a; // ms-Button-description is only shown when the button type is compound.\n // In other cases it will not be displayed.\n\n return secondaryText ? React.createElement(\"span\", {\n key: _this._descriptionId,\n className: _this._classNames.description,\n id: _this._descriptionId\n }, secondaryText) : null;\n };\n\n _this._onRenderAriaDescription = function () {\n var ariaDescription = _this.props.ariaDescription; // If ariaDescription is given, descriptionId will be assigned to ariaDescriptionSpan,\n // otherwise it will be assigned to descriptionSpan.\n\n return ariaDescription ? React.createElement(\"span\", {\n className: _this._classNames.screenReaderText,\n id: _this._ariaDescriptionId\n }, ariaDescription) : null;\n };\n\n _this._onRenderMenuIcon = function (props) {\n var menuIconProps = _this.props.menuIconProps;\n return React.createElement(FontIcon, __assign({\n iconName: \"ChevronDown\"\n }, menuIconProps, {\n className: _this._classNames.menuIcon\n }));\n };\n\n _this._onRenderMenu = function (menuProps) {\n var persistMenu = _this.props.persistMenu;\n var menuHidden = _this.state.menuHidden;\n var MenuType = _this.props.menuAs || ContextualMenu; // the accessible menu label (accessible name) has a relationship to the button.\n // If the menu props do not specify an explicit value for aria-label or aria-labelledBy,\n // AND the button has text, we'll set the menu aria-labelledBy to the text element id.\n\n if (!menuProps.ariaLabel && !menuProps.labelElementId && _this._hasText()) {\n menuProps = __assign(__assign({}, menuProps), {\n labelElementId: _this._labelId\n });\n }\n\n return React.createElement(MenuType, __assign({\n id: _this._labelId + '-menu',\n directionalHint: DirectionalHint.bottomLeftEdge\n }, menuProps, {\n shouldFocusOnContainer: _this._menuShouldFocusOnContainer,\n shouldFocusOnMount: _this._menuShouldFocusOnMount,\n hidden: persistMenu ? menuHidden : undefined,\n className: css('ms-BaseButton-menuhost', menuProps.className),\n target: _this._isSplitButton ? _this._splitButtonContainer.current : _this._buttonElement.current,\n onDismiss: _this._onDismissMenu\n }));\n };\n\n _this._onDismissMenu = function (ev) {\n var menuProps = _this.props.menuProps;\n\n if (menuProps && menuProps.onDismiss) {\n menuProps.onDismiss(ev);\n }\n\n if (!ev || !ev.defaultPrevented) {\n _this._dismissMenu();\n }\n };\n\n _this._dismissMenu = function () {\n _this._menuShouldFocusOnMount = undefined;\n _this._menuShouldFocusOnContainer = undefined;\n\n _this.setState({\n menuHidden: true\n });\n };\n\n _this._openMenu = function (shouldFocusOnContainer, shouldFocusOnMount) {\n if (shouldFocusOnMount === void 0) {\n shouldFocusOnMount = true;\n }\n\n if (_this.props.menuProps) {\n _this._menuShouldFocusOnContainer = shouldFocusOnContainer;\n _this._menuShouldFocusOnMount = shouldFocusOnMount;\n _this._renderedVisibleMenu = true;\n\n _this.setState({\n menuHidden: false\n });\n }\n };\n\n _this._onToggleMenu = function (shouldFocusOnContainer) {\n var shouldFocusOnMount = true;\n\n if (_this.props.menuProps && _this.props.menuProps.shouldFocusOnMount === false) {\n shouldFocusOnMount = false;\n }\n\n _this.state.menuHidden ? _this._openMenu(shouldFocusOnContainer, shouldFocusOnMount) : _this._dismissMenu();\n };\n\n _this._onSplitContainerFocusCapture = function (ev) {\n var container = _this._splitButtonContainer.current; // If the target is coming from the portal we do not need to set focus on the container.\n\n if (!container || ev.target && portalContainsElement(ev.target, container)) {\n return;\n } // We should never be able to focus the individual buttons in a split button. Focus\n // should always remain on the container.\n\n\n container.focus();\n };\n\n _this._onSplitButtonPrimaryClick = function (ev) {\n if (!_this.state.menuHidden) {\n _this._dismissMenu();\n }\n\n if (!_this._processingTouch && _this.props.onClick) {\n _this.props.onClick(ev);\n } else if (_this._processingTouch) {\n _this._onMenuClick(ev);\n }\n };\n\n _this._onKeyDown = function (ev) {\n // explicity cancelling event so click won't fire after this\n if (_this.props.disabled && (ev.which === KeyCodes.enter || ev.which === KeyCodes.space)) {\n ev.preventDefault();\n ev.stopPropagation();\n } else if (!_this.props.disabled) {\n if (_this.props.menuProps) {\n _this._onMenuKeyDown(ev);\n } else if (_this.props.onKeyDown !== undefined) {\n _this.props.onKeyDown(ev); // not cancelling event because it's not disabled\n\n }\n }\n };\n\n _this._onKeyUp = function (ev) {\n if (!_this.props.disabled && _this.props.onKeyUp !== undefined) {\n _this.props.onKeyUp(ev); // not cancelling event because it's not disabled\n\n }\n };\n\n _this._onKeyPress = function (ev) {\n if (!_this.props.disabled && _this.props.onKeyPress !== undefined) {\n _this.props.onKeyPress(ev); // not cancelling event because it's not disabled\n\n }\n };\n\n _this._onMouseUp = function (ev) {\n if (!_this.props.disabled && _this.props.onMouseUp !== undefined) {\n _this.props.onMouseUp(ev); // not cancelling event because it's not disabled\n\n }\n };\n\n _this._onMouseDown = function (ev) {\n if (!_this.props.disabled && _this.props.onMouseDown !== undefined) {\n _this.props.onMouseDown(ev); // not cancelling event because it's not disabled\n\n }\n };\n\n _this._onClick = function (ev) {\n if (!_this.props.disabled) {\n if (_this.props.menuProps) {\n _this._onMenuClick(ev);\n } else if (_this.props.onClick !== undefined) {\n _this.props.onClick(ev); // not cancelling event because it's not disabled\n\n }\n }\n };\n\n _this._onSplitButtonContainerKeyDown = function (ev) {\n if (ev.which === KeyCodes.enter || ev.which === KeyCodes.space) {\n if (_this._buttonElement.current) {\n _this._buttonElement.current.click();\n\n ev.preventDefault();\n ev.stopPropagation();\n }\n } else {\n _this._onMenuKeyDown(ev);\n }\n };\n\n _this._onMenuKeyDown = function (ev) {\n if (_this.props.disabled) {\n return;\n }\n\n if (_this.props.onKeyDown) {\n _this.props.onKeyDown(ev);\n }\n\n var isUp = ev.which === KeyCodes.up;\n var isDown = ev.which === KeyCodes.down;\n\n if (!ev.defaultPrevented && _this._isValidMenuOpenKey(ev)) {\n var onMenuClick = _this.props.onMenuClick;\n\n if (onMenuClick) {\n onMenuClick(ev, _this);\n }\n\n _this._onToggleMenu(false);\n\n ev.preventDefault();\n ev.stopPropagation();\n }\n\n if (!(ev.altKey || ev.metaKey) && (isUp || isDown)) {\n // Suppose a menu, with shouldFocusOnMount: false, is open, and user wants to keyboard to the menu items\n // We need to re-render the menu with shouldFocusOnMount as true.\n if (!_this.state.menuHidden && _this.props.menuProps) {\n var currentShouldFocusOnMount = _this._menuShouldFocusOnMount !== undefined ? _this._menuShouldFocusOnMount : _this.props.menuProps.shouldFocusOnMount;\n\n if (!currentShouldFocusOnMount) {\n ev.preventDefault();\n ev.stopPropagation();\n _this._menuShouldFocusOnMount = true;\n\n _this.forceUpdate();\n }\n }\n }\n };\n\n _this._onTouchStart = function () {\n if (_this._isSplitButton && _this._splitButtonContainer.current && !('onpointerdown' in _this._splitButtonContainer.current)) {\n _this._handleTouchAndPointerEvent();\n }\n };\n\n _this._onMenuClick = function (ev) {\n var onMenuClick = _this.props.onMenuClick;\n\n if (onMenuClick) {\n onMenuClick(ev, _this);\n }\n\n if (!ev.defaultPrevented) {\n // When Edge + Narrator are used together (regardless of if the button is in a form or not), pressing\n // \"Enter\" fires this method and not _onMenuKeyDown. Checking ev.nativeEvent.detail differentiates\n // between a real click event and a keypress event (detail should be the number of mouse clicks).\n // ...Plot twist! For a real click event in IE 11, detail is always 0 (Edge sets it properly to 1).\n // So we also check the pointerType property, which both Edge and IE set to \"mouse\" for real clicks\n // and \"\" for pressing \"Enter\" with Narrator on.\n var shouldFocusOnContainer = ev.nativeEvent.detail !== 0 || ev.nativeEvent.pointerType === 'mouse';\n\n _this._onToggleMenu(shouldFocusOnContainer);\n\n ev.preventDefault();\n ev.stopPropagation();\n }\n };\n\n _this._warnConditionallyRequiredProps(['menuProps', 'onClick'], 'split', _this.props.split);\n\n _this._warnDeprecations({\n rootProps: undefined,\n description: 'secondaryText',\n toggled: 'checked'\n });\n\n _this._labelId = getId();\n _this._descriptionId = getId();\n _this._ariaDescriptionId = getId();\n _this.state = {\n menuHidden: true\n };\n return _this;\n }\n\n Object.defineProperty(BaseButton.prototype, \"_isSplitButton\", {\n get: function get() {\n return !!this.props.menuProps && !!this.props.onClick && this.props.split === true;\n },\n enumerable: true,\n configurable: true\n });\n\n BaseButton.prototype.render = function () {\n var _a;\n\n var _b = this.props,\n ariaDescription = _b.ariaDescription,\n ariaLabel = _b.ariaLabel,\n ariaHidden = _b.ariaHidden,\n className = _b.className,\n disabled = _b.disabled,\n allowDisabledFocus = _b.allowDisabledFocus,\n primaryDisabled = _b.primaryDisabled,\n _c = _b.secondaryText,\n secondaryText = _c === void 0 ? this.props.description : _c,\n href = _b.href,\n iconProps = _b.iconProps,\n menuIconProps = _b.menuIconProps,\n styles = _b.styles,\n checked = _b.checked,\n variantClassName = _b.variantClassName,\n theme = _b.theme,\n toggle = _b.toggle,\n getClassNames = _b.getClassNames,\n role = _b.role;\n var menuHidden = this.state.menuHidden; // Button is disabled if the whole button (in case of splitbutton is disabled) or if the primary action is disabled\n\n var isPrimaryButtonDisabled = disabled || primaryDisabled;\n this._classNames = getClassNames ? getClassNames(theme, className, variantClassName, iconProps && iconProps.className, menuIconProps && menuIconProps.className, isPrimaryButtonDisabled, checked, !menuHidden, !!this.props.menuProps, this.props.split, !!allowDisabledFocus) : getBaseButtonClassNames(theme, styles, className, variantClassName, iconProps && iconProps.className, menuIconProps && menuIconProps.className, isPrimaryButtonDisabled, !!this.props.menuProps, checked, !menuHidden, this.props.split);\n\n var _d = this,\n _ariaDescriptionId = _d._ariaDescriptionId,\n _labelId = _d._labelId,\n _descriptionId = _d._descriptionId; // Anchor tag cannot be disabled hence in disabled state rendering\n // anchor button as normal button\n\n\n var renderAsAnchor = !isPrimaryButtonDisabled && !!href;\n var tag = renderAsAnchor ? 'a' : 'button';\n var nativeProps = getNativeProps(assign(renderAsAnchor ? {} : {\n type: 'button'\n }, this.props.rootProps, this.props), renderAsAnchor ? anchorProperties : buttonProperties, ['disabled' // let disabled buttons be focused and styled as disabled.\n ]); // Check for ariaLabel passed in via Button props, and fall back to aria-label passed in via native props\n\n var resolvedAriaLabel = ariaLabel || nativeProps['aria-label']; // Check for ariaDescription, secondaryText or aria-describedby in the native props to determine source of aria-describedby\n // otherwise default to undefined so property does not appear in output.\n\n var ariaDescribedBy = undefined;\n\n if (ariaDescription) {\n ariaDescribedBy = _ariaDescriptionId;\n } else if (secondaryText && this.props.onRenderDescription !== nullRender) {\n // for buttons like CompoundButton with a valid onRenderDescription, we need to set an ariaDescribedBy\n // for buttons that do not render anything (via nullRender), we should not set an ariaDescribedBy\n ariaDescribedBy = _descriptionId;\n } else if (nativeProps['aria-describedby']) {\n ariaDescribedBy = nativeProps['aria-describedby'];\n } // If an explicit ariaLabel is given, use that as the label and we're done.\n // If an explicit aria-labelledby is given, use that and we're done.\n // If any kind of description is given (which will end up as an aria-describedby attribute),\n // set the labelledby element. Otherwise, the button is labeled implicitly by the descendent\n // text on the button (if it exists). Never set both aria-label and aria-labelledby.\n\n\n var ariaLabelledBy = undefined;\n\n if (!resolvedAriaLabel) {\n if (nativeProps['aria-labelledby']) {\n ariaLabelledBy = nativeProps['aria-labelledby'];\n } else if (ariaDescribedBy) {\n ariaLabelledBy = this._hasText() ? _labelId : undefined;\n }\n }\n\n var dataIsFocusable = this.props['data-is-focusable'] === false || disabled && !allowDisabledFocus || this._isSplitButton ? false : true;\n var isCheckboxTypeRole = role === 'menuitemcheckbox' || role === 'checkbox'; // if isCheckboxTypeRole, always return a checked value, otherwise only return checked value if toggle is set to true\n // This is because role=\"checkbox\" always needs to have an aria-checked value\n // but our checked prop only sets aria-pressed if we mark the button as a toggle=\"true\"\n\n var checkedOrPressedValue = isCheckboxTypeRole ? !!checked : toggle === true ? !!checked : undefined;\n var buttonProps = assign(nativeProps, (_a = {\n className: this._classNames.root,\n ref: this._buttonElement,\n disabled: isPrimaryButtonDisabled && !allowDisabledFocus,\n onKeyDown: this._onKeyDown,\n onKeyPress: this._onKeyPress,\n onKeyUp: this._onKeyUp,\n onMouseDown: this._onMouseDown,\n onMouseUp: this._onMouseUp,\n onClick: this._onClick,\n 'aria-label': resolvedAriaLabel,\n 'aria-labelledby': ariaLabelledBy,\n 'aria-describedby': ariaDescribedBy,\n 'aria-disabled': isPrimaryButtonDisabled,\n 'data-is-focusable': dataIsFocusable\n }, // aria-pressed attribute should only be present for toggle buttons\n // aria-checked attribute should only be present for toggle buttons with checkbox type role\n _a[isCheckboxTypeRole ? 'aria-checked' : 'aria-pressed'] = checkedOrPressedValue, _a));\n\n if (ariaHidden) {\n buttonProps['aria-hidden'] = true;\n }\n\n if (this._isSplitButton) {\n return this._onRenderSplitButtonContent(tag, buttonProps);\n } else if (this.props.menuProps) {\n assign(buttonProps, {\n 'aria-expanded': !menuHidden,\n 'aria-owns': !menuHidden ? this._labelId + '-menu' : null,\n 'aria-haspopup': true\n });\n }\n\n return this._onRenderContent(tag, buttonProps);\n };\n\n BaseButton.prototype.componentDidMount = function () {\n // For split buttons, touching anywhere in the button should drop the dropdown, which should contain the primary action.\n // This gives more hit target space for touch environments. We're setting the onpointerdown here, because React\n // does not support Pointer events yet.\n if (this._isSplitButton && this._splitButtonContainer.current) {\n if ('onpointerdown' in this._splitButtonContainer.current) {\n this._events.on(this._splitButtonContainer.current, 'pointerdown', this._onPointerDown, true);\n }\n\n if ('onpointerup' in this._splitButtonContainer.current && this.props.onPointerUp) {\n this._events.on(this._splitButtonContainer.current, 'pointerup', this.props.onPointerUp, true);\n }\n }\n };\n\n BaseButton.prototype.componentDidUpdate = function (prevProps, prevState) {\n // If Button's menu was closed, run onAfterMenuDismiss.\n if (this.props.onAfterMenuDismiss && !prevState.menuHidden && this.state.menuHidden) {\n this.props.onAfterMenuDismiss();\n }\n };\n\n BaseButton.prototype.focus = function () {\n if (this._isSplitButton && this._splitButtonContainer.current) {\n this._splitButtonContainer.current.focus();\n } else if (this._buttonElement.current) {\n this._buttonElement.current.focus();\n }\n };\n\n BaseButton.prototype.dismissMenu = function () {\n this._dismissMenu();\n };\n\n BaseButton.prototype.openMenu = function (shouldFocusOnContainer, shouldFocusOnMount) {\n this._openMenu(shouldFocusOnContainer, shouldFocusOnMount);\n };\n\n BaseButton.prototype._onRenderContent = function (tag, buttonProps) {\n var _this = this;\n\n var props = this.props;\n var Tag = tag;\n var menuIconProps = props.menuIconProps,\n menuProps = props.menuProps,\n _a = props.onRenderIcon,\n onRenderIcon = _a === void 0 ? this._onRenderIcon : _a,\n _b = props.onRenderAriaDescription,\n onRenderAriaDescription = _b === void 0 ? this._onRenderAriaDescription : _b,\n _c = props.onRenderChildren,\n onRenderChildren = _c === void 0 ? this._onRenderChildren : _c,\n _d = props.onRenderMenu,\n onRenderMenu = _d === void 0 ? this._onRenderMenu : _d,\n _e = props.onRenderMenuIcon,\n onRenderMenuIcon = _e === void 0 ? this._onRenderMenuIcon : _e,\n disabled = props.disabled;\n var keytipProps = props.keytipProps;\n\n if (keytipProps && menuProps) {\n keytipProps = this._getMemoizedMenuButtonKeytipProps(keytipProps);\n }\n\n var Button = function Button(keytipAttributes) {\n return React.createElement(Tag, __assign({}, buttonProps, keytipAttributes), React.createElement(\"span\", {\n className: _this._classNames.flexContainer,\n \"data-automationid\": \"splitbuttonprimary\"\n }, onRenderIcon(props, _this._onRenderIcon), _this._onRenderTextContents(), onRenderAriaDescription(props, _this._onRenderAriaDescription), onRenderChildren(props, _this._onRenderChildren), !_this._isSplitButton && (menuProps || menuIconProps || _this.props.onRenderMenuIcon) && onRenderMenuIcon(_this.props, _this._onRenderMenuIcon), menuProps && !menuProps.doNotLayer && _this._shouldRenderMenu() && onRenderMenu(menuProps, _this._onRenderMenu)));\n };\n\n var Content = keytipProps ? // If we're making a split button, we won't put the keytip here\n React.createElement(KeytipData, {\n keytipProps: !this._isSplitButton ? keytipProps : undefined,\n ariaDescribedBy: buttonProps['aria-describedby'],\n disabled: disabled\n }, function (keytipAttributes) {\n return Button(keytipAttributes);\n }) : Button();\n\n if (menuProps && menuProps.doNotLayer) {\n return React.createElement(\"span\", {\n style: {\n display: 'inline-block'\n }\n }, Content, this._shouldRenderMenu() && onRenderMenu(menuProps, this._onRenderMenu));\n }\n\n return Content;\n };\n /**\n * Method to help determine if the menu's component tree should\n * be rendered. It takes into account whether the menu is expanded,\n * whether it is a persisted menu and whether it has been shown to the user.\n */\n\n\n BaseButton.prototype._shouldRenderMenu = function () {\n var menuHidden = this.state.menuHidden;\n var _a = this.props,\n persistMenu = _a.persistMenu,\n renderPersistedMenuHiddenOnMount = _a.renderPersistedMenuHiddenOnMount;\n\n if (!menuHidden) {\n // Always should render a menu when it is expanded\n return true;\n } else if (persistMenu && (this._renderedVisibleMenu || renderPersistedMenuHiddenOnMount)) {\n // _renderedVisibleMenu ensures that the first rendering of\n // the menu happens on-screen, as edge's scrollbar calculations are off if done while hidden.\n return true;\n }\n\n return false;\n };\n\n BaseButton.prototype._hasText = function () {\n // _onRenderTextContents and _onRenderText do not perform the same checks. Below is parity with what _onRenderText used to have\n // before the refactor that introduced this function. _onRenderTextContents does not require props.text to be undefined in order\n // for props.children to be used as a fallback. Purely a code maintainability/reuse issue, but logged as Issue #4979\n return this.props.text !== null && (this.props.text !== undefined || typeof this.props.children === 'string');\n };\n\n BaseButton.prototype._onRenderSplitButtonContent = function (tag, buttonProps) {\n var _this = this;\n\n var _a = this.props,\n _b = _a.styles,\n styles = _b === void 0 ? {} : _b,\n disabled = _a.disabled,\n allowDisabledFocus = _a.allowDisabledFocus,\n checked = _a.checked,\n getSplitButtonClassNames = _a.getSplitButtonClassNames,\n primaryDisabled = _a.primaryDisabled,\n menuProps = _a.menuProps,\n toggle = _a.toggle,\n role = _a.role,\n primaryActionButtonProps = _a.primaryActionButtonProps;\n var keytipProps = this.props.keytipProps;\n var menuHidden = this.state.menuHidden;\n var classNames = getSplitButtonClassNames ? getSplitButtonClassNames(!!disabled, !menuHidden, !!checked, !!allowDisabledFocus) : styles && getBaseSplitButtonClassNames(styles, !!disabled, !menuHidden, !!checked, !!primaryDisabled);\n assign(buttonProps, {\n onClick: undefined,\n onPointerDown: undefined,\n onPointerUp: undefined,\n tabIndex: -1,\n 'data-is-focusable': false\n });\n var ariaDescribedBy = buttonProps.ariaDescription;\n\n if (keytipProps && menuProps) {\n keytipProps = this._getMemoizedMenuButtonKeytipProps(keytipProps);\n }\n\n var containerProps = getNativeProps(buttonProps, [], ['disabled']); // Add additional props to apply on primary action button\n\n if (primaryActionButtonProps) {\n assign(buttonProps, primaryActionButtonProps);\n }\n\n var SplitButton = function SplitButton(keytipAttributes) {\n return React.createElement(\"div\", __assign({}, containerProps, {\n \"data-ktp-target\": keytipAttributes ? keytipAttributes['data-ktp-target'] : undefined,\n role: role ? role : 'button',\n \"aria-disabled\": disabled,\n \"aria-haspopup\": true,\n \"aria-expanded\": !menuHidden,\n \"aria-pressed\": toggle ? !!checked : undefined,\n \"aria-describedby\": mergeAriaAttributeValues(ariaDescribedBy, keytipAttributes ? keytipAttributes['aria-describedby'] : undefined),\n className: classNames && classNames.splitButtonContainer,\n onKeyDown: _this._onSplitButtonContainerKeyDown,\n onTouchStart: _this._onTouchStart,\n ref: _this._splitButtonContainer,\n \"data-is-focusable\": true,\n onClick: !disabled && !primaryDisabled ? _this._onSplitButtonPrimaryClick : undefined,\n tabIndex: !disabled || allowDisabledFocus ? 0 : undefined,\n \"aria-roledescription\": buttonProps['aria-roledescription'],\n onFocusCapture: _this._onSplitContainerFocusCapture\n }), React.createElement(\"span\", {\n style: {\n display: 'flex'\n }\n }, _this._onRenderContent(tag, buttonProps), _this._onRenderSplitButtonMenuButton(classNames, keytipAttributes), _this._onRenderSplitButtonDivider(classNames)));\n };\n\n return keytipProps ? React.createElement(KeytipData, {\n keytipProps: keytipProps,\n disabled: disabled\n }, function (keytipAttributes) {\n return SplitButton(keytipAttributes);\n }) : SplitButton();\n };\n\n BaseButton.prototype._onRenderSplitButtonDivider = function (classNames) {\n if (classNames && classNames.divider) {\n return React.createElement(\"span\", {\n className: classNames.divider,\n \"aria-hidden\": true\n });\n }\n\n return null;\n };\n\n BaseButton.prototype._onRenderSplitButtonMenuButton = function (classNames, keytipAttributes) {\n var _a = this.props,\n allowDisabledFocus = _a.allowDisabledFocus,\n checked = _a.checked,\n disabled = _a.disabled,\n splitButtonMenuProps = _a.splitButtonMenuProps,\n splitButtonAriaLabel = _a.splitButtonAriaLabel;\n var menuHidden = this.state.menuHidden;\n var menuIconProps = this.props.menuIconProps;\n\n if (menuIconProps === undefined) {\n menuIconProps = {\n iconName: 'ChevronDown'\n };\n }\n\n var splitButtonProps = __assign(__assign({}, splitButtonMenuProps), {\n styles: classNames,\n checked: checked,\n disabled: disabled,\n allowDisabledFocus: allowDisabledFocus,\n onClick: this._onMenuClick,\n menuProps: undefined,\n iconProps: __assign(__assign({}, menuIconProps), {\n className: this._classNames.menuIcon\n }),\n ariaLabel: splitButtonAriaLabel,\n 'aria-haspopup': true,\n 'aria-expanded': !menuHidden,\n 'data-is-focusable': false\n }); // Add data-ktp-execute-target to the split button if the keytip is defined\n\n\n return React.createElement(BaseButton, __assign({}, splitButtonProps, {\n \"data-ktp-execute-target\": keytipAttributes ? keytipAttributes['data-ktp-execute-target'] : keytipAttributes,\n onMouseDown: this._onMouseDown,\n tabIndex: -1\n }));\n };\n\n BaseButton.prototype._onPointerDown = function (ev) {\n var onPointerDown = this.props.onPointerDown;\n\n if (onPointerDown) {\n onPointerDown(ev);\n }\n\n if (ev.pointerType === 'touch') {\n this._handleTouchAndPointerEvent();\n\n ev.preventDefault();\n ev.stopImmediatePropagation();\n }\n };\n\n BaseButton.prototype._handleTouchAndPointerEvent = function () {\n var _this = this; // If we already have an existing timeeout from a previous touch and pointer event\n // cancel that timeout so we can set a nwe one.\n\n\n if (this._lastTouchTimeoutId !== undefined) {\n this._async.clearTimeout(this._lastTouchTimeoutId);\n\n this._lastTouchTimeoutId = undefined;\n }\n\n this._processingTouch = true;\n this._lastTouchTimeoutId = this._async.setTimeout(function () {\n _this._processingTouch = false;\n _this._lastTouchTimeoutId = undefined;\n }, TouchIdleDelay);\n };\n /**\n * Returns if the user hits a valid keyboard key to open the menu\n * @param ev - the keyboard event\n * @returns True if user clicks on custom trigger key if enabled or alt + down arrow if not. False otherwise.\n */\n\n\n BaseButton.prototype._isValidMenuOpenKey = function (ev) {\n if (this.props.menuTriggerKeyCode) {\n return ev.which === this.props.menuTriggerKeyCode;\n } else if (this.props.menuProps) {\n return ev.which === KeyCodes.down && (ev.altKey || ev.metaKey);\n } // Note: When enter is pressed, we will let the event continue to propagate\n // to trigger the onClick event on the button\n\n\n return false;\n };\n\n BaseButton.defaultProps = {\n baseClassName: 'ms-Button',\n styles: {},\n split: false\n };\n return BaseButton;\n}(BaseComponent);\n\nexport { BaseButton };","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { classNamesFunction, getNativeProps, imageProperties } from '../../Utilities';\nimport { ImageCoverStyle, ImageFit, ImageLoadState } from './Image.types';\nvar getClassNames = classNamesFunction();\nvar KEY_PREFIX = 'fabricImage';\n\nvar ImageBase =\n/** @class */\nfunction (_super) {\n __extends(ImageBase, _super);\n\n function ImageBase(props) {\n var _this = _super.call(this, props) || this; // Make an initial assumption about the image layout until we can\n // check the rendered element. The value here only takes effect when\n // shouldStartVisible is true.\n\n\n _this._coverStyle = ImageCoverStyle.portrait;\n _this._imageElement = React.createRef();\n _this._frameElement = React.createRef();\n\n _this._onImageLoaded = function (ev) {\n var _a = _this.props,\n src = _a.src,\n onLoad = _a.onLoad;\n\n if (onLoad) {\n onLoad(ev);\n }\n\n _this._computeCoverStyle(_this.props);\n\n if (src) {\n _this.setState({\n loadState: ImageLoadState.loaded\n });\n }\n };\n\n _this._onImageError = function (ev) {\n if (_this.props.onError) {\n _this.props.onError(ev);\n }\n\n _this.setState({\n loadState: ImageLoadState.error\n });\n };\n\n _this.state = {\n loadState: ImageLoadState.notLoaded\n };\n return _this;\n } // tslint:disable-next-line function-name\n\n\n ImageBase.prototype.UNSAFE_componentWillReceiveProps = function (nextProps) {\n if (nextProps.src !== this.props.src) {\n this.setState({\n loadState: ImageLoadState.notLoaded\n });\n } else if (this.state.loadState === ImageLoadState.loaded) {\n this._computeCoverStyle(nextProps);\n }\n };\n\n ImageBase.prototype.componentDidUpdate = function (prevProps, prevState) {\n this._checkImageLoaded();\n\n if (this.props.onLoadingStateChange && prevState.loadState !== this.state.loadState) {\n this.props.onLoadingStateChange(this.state.loadState);\n }\n };\n\n ImageBase.prototype.render = function () {\n var imageProps = getNativeProps(this.props, imageProperties, ['width', 'height']);\n var _a = this.props,\n src = _a.src,\n alt = _a.alt,\n width = _a.width,\n height = _a.height,\n shouldFadeIn = _a.shouldFadeIn,\n shouldStartVisible = _a.shouldStartVisible,\n className = _a.className,\n imageFit = _a.imageFit,\n role = _a.role,\n maximizeFrame = _a.maximizeFrame,\n styles = _a.styles,\n theme = _a.theme;\n var loadState = this.state.loadState;\n var coverStyle = this.props.coverStyle !== undefined ? this.props.coverStyle : this._coverStyle;\n var classNames = getClassNames(styles, {\n theme: theme,\n className: className,\n width: width,\n height: height,\n maximizeFrame: maximizeFrame,\n shouldFadeIn: shouldFadeIn,\n shouldStartVisible: shouldStartVisible,\n isLoaded: loadState === ImageLoadState.loaded || loadState === ImageLoadState.notLoaded && this.props.shouldStartVisible,\n isLandscape: coverStyle === ImageCoverStyle.landscape,\n isCenter: imageFit === ImageFit.center,\n isCenterContain: imageFit === ImageFit.centerContain,\n isCenterCover: imageFit === ImageFit.centerCover,\n isContain: imageFit === ImageFit.contain,\n isCover: imageFit === ImageFit.cover,\n isNone: imageFit === ImageFit.none,\n isError: loadState === ImageLoadState.error,\n isNotImageFit: imageFit === undefined\n }); // If image dimensions aren't specified, the natural size of the image is used.\n\n return React.createElement(\"div\", {\n className: classNames.root,\n style: {\n width: width,\n height: height\n },\n ref: this._frameElement\n }, React.createElement(\"img\", __assign({}, imageProps, {\n onLoad: this._onImageLoaded,\n onError: this._onImageError,\n key: KEY_PREFIX + this.props.src || '',\n className: classNames.image,\n ref: this._imageElement,\n src: src,\n alt: alt,\n role: role\n })));\n };\n\n ImageBase.prototype._checkImageLoaded = function () {\n var src = this.props.src;\n var loadState = this.state.loadState;\n\n if (loadState === ImageLoadState.notLoaded) {\n // testing if naturalWidth and naturalHeight are greater than zero is better than checking\n // .complete, because .complete will also be set to true if the image breaks. However,\n // for some browsers, SVG images do not have a naturalWidth or naturalHeight, so fall back\n // to checking .complete for these images.\n var isLoaded = this._imageElement.current ? src && this._imageElement.current.naturalWidth > 0 && this._imageElement.current.naturalHeight > 0 || this._imageElement.current.complete && ImageBase._svgRegex.test(src) : false;\n\n if (isLoaded) {\n this._computeCoverStyle(this.props);\n\n this.setState({\n loadState: ImageLoadState.loaded\n });\n }\n }\n };\n\n ImageBase.prototype._computeCoverStyle = function (props) {\n var imageFit = props.imageFit,\n width = props.width,\n height = props.height; // Do not compute cover style if it was already specified in props\n\n if ((imageFit === ImageFit.cover || imageFit === ImageFit.contain || imageFit === ImageFit.centerContain || imageFit === ImageFit.centerCover) && this.props.coverStyle === undefined && this._imageElement.current && this._frameElement.current) {\n // Determine the desired ratio using the width and height props.\n // If those props aren't available, measure measure the frame.\n var desiredRatio = void 0;\n\n if (!!width && !!height && imageFit !== ImageFit.centerContain && imageFit !== ImageFit.centerCover) {\n desiredRatio = width / height;\n } else {\n desiredRatio = this._frameElement.current.clientWidth / this._frameElement.current.clientHeight;\n } // Examine the source image to determine its original ratio.\n\n\n var naturalRatio = this._imageElement.current.naturalWidth / this._imageElement.current.naturalHeight; // Should we crop from the top or the sides?\n\n if (naturalRatio > desiredRatio) {\n this._coverStyle = ImageCoverStyle.landscape;\n } else {\n this._coverStyle = ImageCoverStyle.portrait;\n }\n }\n };\n\n ImageBase.defaultProps = {\n shouldFadeIn: true\n };\n ImageBase._svgRegex = /\\.svg$/i;\n return ImageBase;\n}(React.Component);\n\nexport { ImageBase };","import { AnimationClassNames, getGlobalClassNames } from '../../Styling';\nimport { getWindow } from '../../Utilities';\nvar GlobalClassNames = {\n root: 'ms-Image',\n rootMaximizeFrame: 'ms-Image--maximizeFrame',\n image: 'ms-Image-image',\n imageCenter: 'ms-Image-image--center',\n imageContain: 'ms-Image-image--contain',\n imageCover: 'ms-Image-image--cover',\n imageCenterContain: 'ms-Image-image--centerContain',\n imageCenterCover: 'ms-Image-image--centerCover',\n imageNone: 'ms-Image-image--none',\n imageLandscape: 'ms-Image-image--landscape',\n imagePortrait: 'ms-Image-image--portrait'\n};\nexport var getStyles = function getStyles(props) {\n var className = props.className,\n width = props.width,\n height = props.height,\n maximizeFrame = props.maximizeFrame,\n isLoaded = props.isLoaded,\n shouldFadeIn = props.shouldFadeIn,\n shouldStartVisible = props.shouldStartVisible,\n isLandscape = props.isLandscape,\n isCenter = props.isCenter,\n isContain = props.isContain,\n isCover = props.isCover,\n isCenterContain = props.isCenterContain,\n isCenterCover = props.isCenterCover,\n isNone = props.isNone,\n isError = props.isError,\n isNotImageFit = props.isNotImageFit,\n theme = props.theme;\n var classNames = getGlobalClassNames(GlobalClassNames, theme);\n var ImageFitStyles = {\n position: 'absolute',\n left: '50% /* @noflip */',\n top: '50%',\n transform: 'translate(-50%,-50%)' // @todo test RTL renders transform: translate(50%,-50%);\n\n }; // Cut the mustard using msMaxTouchPoints to detect IE11 which does not support CSS object-fit\n\n var window = getWindow();\n var supportsObjectFit = window !== undefined && window.navigator.msMaxTouchPoints === undefined;\n var fallbackObjectFitStyles = isContain && isLandscape || isCover && !isLandscape ? {\n width: '100%',\n height: 'auto'\n } : {\n width: 'auto',\n height: '100%'\n };\n return {\n root: [classNames.root, theme.fonts.medium, {\n overflow: 'hidden'\n }, maximizeFrame && [classNames.rootMaximizeFrame, {\n height: '100%',\n width: '100%'\n }], isLoaded && shouldFadeIn && !shouldStartVisible && AnimationClassNames.fadeIn400, (isCenter || isContain || isCover || isCenterContain || isCenterCover) && {\n position: 'relative'\n }, className],\n image: [classNames.image, {\n display: 'block',\n opacity: 0\n }, isLoaded && ['is-loaded', {\n opacity: 1\n }], isCenter && [classNames.imageCenter, ImageFitStyles], isContain && [classNames.imageContain, supportsObjectFit && {\n width: '100%',\n height: '100%',\n objectFit: 'contain'\n }, !supportsObjectFit && fallbackObjectFitStyles, ImageFitStyles], isCover && [classNames.imageCover, supportsObjectFit && {\n width: '100%',\n height: '100%',\n objectFit: 'cover'\n }, !supportsObjectFit && fallbackObjectFitStyles, ImageFitStyles], isCenterContain && [classNames.imageCenterContain, isLandscape && {\n maxWidth: '100%'\n }, !isLandscape && {\n maxHeight: '100%'\n }, ImageFitStyles], isCenterCover && [classNames.imageCenterCover, isLandscape && {\n maxHeight: '100%'\n }, !isLandscape && {\n maxWidth: '100%'\n }, ImageFitStyles], isNone && [classNames.imageNone, {\n width: 'auto',\n height: 'auto'\n }], isNotImageFit && [!!width && !height && {\n height: 'auto',\n width: '100%'\n }, !width && !!height && {\n height: '100%',\n width: 'auto'\n }, !!width && !!height && {\n height: '100%',\n width: '100%'\n }], isLandscape && classNames.imageLandscape, !isLandscape && classNames.imagePortrait, !isLoaded && 'is-notLoaded', shouldFadeIn && 'is-fadeIn', isError && 'is-error']\n };\n};","import { styled } from '../../Utilities';\nimport { ImageBase } from './Image.base';\nimport { getStyles } from './Image.styles';\nexport var Image = styled(ImageBase, getStyles, undefined, {\n scope: 'Image'\n}, true);","// A packages cache that makes sure that we don't inject the same packageName twice in the same bundle -\n// this cache is local to the module closure inside this bundle\nvar packagesCache = {}; // Cache access to window to avoid IE11 memory leak.\n\nvar _win = undefined;\n\ntry {\n _win = window;\n} catch (e) {\n /* no-op */\n}\n\nexport function setVersion(packageName, packageVersion) {\n if (typeof _win !== 'undefined') {\n // tslint:disable-next-line:no-any\n var packages = _win.__packages__ = _win.__packages__ || {}; // We allow either the global packages or local packages caches to invalidate so testing can just clear the global to set this state\n\n if (!packages[packageName] || !packagesCache[packageName]) {\n packagesCache[packageName] = packageVersion;\n var versions = packages[packageName] = packages[packageName] || [];\n versions.push(packageVersion);\n }\n }\n}","import { setVersion } from './setVersion';\nexport { setVersion };\nsetVersion('@uifabric/set-version', '6.0.0');","import { Stylesheet } from '@uifabric/merge-styles';\nvar stylesheet = Stylesheet.getInstance();\n\nif (stylesheet && stylesheet.onReset) {\n Stylesheet.getInstance().onReset(resetMemoizations);\n}\n\nvar _resetCounter = 0;\nvar _emptyObject = {\n empty: true\n};\nvar _dictionary = {};\n\nvar _weakMap = typeof WeakMap === 'undefined' ? null : WeakMap;\n/**\n * Test utility for providing a custom weakmap.\n *\n * @internal\n * */\n\n\nexport function setMemoizeWeakMap(weakMap) {\n _weakMap = weakMap;\n}\n/**\n * Reset memoizations.\n */\n\nexport function resetMemoizations() {\n _resetCounter++;\n}\n/**\n * Memoize decorator to be used on class methods. WARNING: the `this` reference\n * will be inaccessible within a memoized method, given that a cached method's `this`\n * would not be instance-specific.\n *\n * @public\n */\n\nexport function memoize(target, key, descriptor) {\n // We bind to \"null\" to prevent people from inadvertently pulling values from \"this\",\n // rather than passing them in as input values which can be memoized.\n var fn = memoizeFunction(descriptor.value && descriptor.value.bind(null));\n return {\n configurable: true,\n get: function get() {\n return fn;\n }\n };\n}\n/**\n * Memoizes a function; when you pass in the same parameters multiple times, it returns a cached result.\n * Be careful when passing in objects, you need to pass in the same INSTANCE for caching to work. Otherwise\n * it will grow the cache unnecessarily. Also avoid using default values that evaluate functions; passing in\n * undefined for a value and relying on a default function will execute it the first time, but will not\n * re-evaluate subsequent times which may have been unexpected.\n *\n * By default, the cache will reset after 100 permutations, to avoid abuse cases where the function is\n * unintendedly called with unique objects. Without a reset, the cache could grow infinitely, so we safeguard\n * by resetting. To override this behavior, pass a value of 0 to the maxCacheSize parameter.\n *\n * @public\n * @param cb - The function to memoize.\n * @param maxCacheSize - Max results to cache. If the cache exceeds this value, it will reset on the next call.\n * @param ignoreNullOrUndefinedResult - Flag to decide whether to cache callback result if it is undefined/null.\n * If the flag is set to true, the callback result is recomputed every time till the callback result is not undefined/null\n * for the first time and then the non-undefined/null version gets cached.\n * @returns A memoized version of the function.\n */\n\nexport function memoizeFunction(cb, maxCacheSize, ignoreNullOrUndefinedResult) {\n if (maxCacheSize === void 0) {\n maxCacheSize = 100;\n }\n\n if (ignoreNullOrUndefinedResult === void 0) {\n ignoreNullOrUndefinedResult = false;\n } // Avoid breaking scenarios which don't have weak map.\n\n\n if (!_weakMap) {\n return cb;\n }\n\n var rootNode;\n var cacheSize = 0;\n var localResetCounter = _resetCounter; // tslint:disable-next-line:no-function-expression\n\n return function memoizedFunction() {\n var args = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n\n var currentNode = rootNode;\n\n if (rootNode === undefined || localResetCounter !== _resetCounter || maxCacheSize > 0 && cacheSize > maxCacheSize) {\n rootNode = _createNode();\n cacheSize = 0;\n localResetCounter = _resetCounter;\n }\n\n currentNode = rootNode; // Traverse the tree until we find the match.\n\n for (var i = 0; i < args.length; i++) {\n var arg = _normalizeArg(args[i]);\n\n if (!currentNode.map.has(arg)) {\n currentNode.map.set(arg, _createNode());\n }\n\n currentNode = currentNode.map.get(arg);\n }\n\n if (!currentNode.hasOwnProperty('value')) {\n currentNode.value = cb.apply(void 0, args);\n cacheSize++;\n }\n\n if (ignoreNullOrUndefinedResult && (currentNode.value === null || currentNode.value === undefined)) {\n currentNode.value = cb.apply(void 0, args);\n }\n\n return currentNode.value;\n };\n}\n/**\n * Creates a memoizer for a single-value function, backed by a WeakMap.\n * With a WeakMap, the memoized values are only kept as long as the source objects,\n * ensuring that there is no memory leak.\n *\n * This function assumes that the input values passed to the wrapped function will be\n * `function` or `object` types. To memoize functions which accept other inputs, use\n * `memoizeFunction`, which memoizes against arbitrary inputs using a lookup cache.\n *\n * @public\n */\n\nexport function createMemoizer(getValue) {\n if (!_weakMap) {\n // Without a `WeakMap` implementation, memoization is not possible.\n return getValue;\n }\n\n var cache = new _weakMap();\n\n function memoizedGetValue(input) {\n if (!input || typeof input !== 'function' && typeof input !== 'object') {\n // A WeakMap can only be used to test against reference values, i.e. 'function' and 'object'.\n // All other inputs cannot be memoized against in this manner.\n return getValue(input);\n }\n\n if (cache.has(input)) {\n // tslint:disable-next-line:no-non-null-assertion\n return cache.get(input);\n }\n\n var value = getValue(input);\n cache.set(input, value);\n return value;\n }\n\n return memoizedGetValue;\n}\n\nfunction _normalizeArg(val) {\n if (!val) {\n return _emptyObject;\n } else if (typeof val === 'object' || typeof val === 'function') {\n return val;\n } else if (!_dictionary[val]) {\n _dictionary[val] = {\n val: val\n };\n }\n\n return _dictionary[val];\n}\n\nfunction _createNode() {\n return {\n map: _weakMap ? new _weakMap() : null\n };\n}","import { filteredAssign } from './object';\n/**\n * An array of events that are allowed on every html element type.\n *\n * @public\n */\n\nexport var baseElementEvents = ['onCopy', 'onCut', 'onPaste', 'onCompositionEnd', 'onCompositionStart', 'onCompositionUpdate', 'onFocus', 'onFocusCapture', 'onBlur', 'onBlurCapture', 'onChange', 'onInput', 'onSubmit', 'onLoad', 'onError', 'onKeyDown', 'onKeyDownCapture', 'onKeyPress', 'onKeyUp', 'onAbort', 'onCanPlay', 'onCanPlayThrough', 'onDurationChange', 'onEmptied', 'onEncrypted', 'onEnded', 'onLoadedData', 'onLoadedMetadata', 'onLoadStart', 'onPause', 'onPlay', 'onPlaying', 'onProgress', 'onRateChange', 'onSeeked', 'onSeeking', 'onStalled', 'onSuspend', 'onTimeUpdate', 'onVolumeChange', 'onWaiting', 'onClick', 'onClickCapture', 'onContextMenu', 'onDoubleClick', 'onDrag', 'onDragEnd', 'onDragEnter', 'onDragExit', 'onDragLeave', 'onDragOver', 'onDragStart', 'onDrop', 'onMouseDown', 'onMouseDownCapture', 'onMouseEnter', 'onMouseLeave', 'onMouseMove', 'onMouseOut', 'onMouseOver', 'onMouseUp', 'onMouseUpCapture', 'onSelect', 'onTouchCancel', 'onTouchEnd', 'onTouchMove', 'onTouchStart', 'onScroll', 'onWheel', 'onPointerCancel', 'onPointerDown', 'onPointerEnter', 'onPointerLeave', 'onPointerMove', 'onPointerOut', 'onPointerOver', 'onPointerUp', 'onGotPointerCapture', 'onLostPointerCapture'];\n/**\n * An array of element attributes which are allowed on every html element type.\n *\n * @public\n */\n\nexport var baseElementProperties = ['accessKey', 'children', 'className', 'contentEditable', 'dir', 'draggable', 'hidden', 'htmlFor', 'id', 'lang', 'role', 'style', 'tabIndex', 'title', 'translate', 'spellCheck', 'name' // global\n];\n/**\n * An array of HTML element properties and events.\n *\n * @public\n */\n\nexport var htmlElementProperties = baseElementProperties.concat(baseElementEvents);\n/**\n * An array of LABEL tag properties and events.\n *\n * @public\n */\n\nexport var labelProperties = htmlElementProperties.concat(['form' // button, fieldset, input, label, meter, object, output, select, textarea\n]);\n/**\n * An array of AUDIO tag properties and events.\n *\n * @public\n */\n\nexport var audioProperties = htmlElementProperties.concat(['height', 'loop', 'muted', 'preload', 'src', 'width' // canvas, embed, iframe, img, input, object, video\n]);\n/**\n * An array of VIDEO tag properties and events.\n *\n * @public\n */\n\nexport var videoProperties = audioProperties.concat(['poster' // video\n]);\n/**\n * An array of OL tag properties and events.\n *\n * @public\n */\n\nexport var olProperties = htmlElementProperties.concat(['start' // ol\n]);\n/**\n * An array of LI tag properties and events.\n *\n * @public\n */\n\nexport var liProperties = htmlElementProperties.concat(['value' // button, input, li, option, meter, progress, param\n]);\n/**\n * An array of A tag properties and events.\n *\n * @public\n */\n\nexport var anchorProperties = htmlElementProperties.concat(['download', 'href', 'hrefLang', 'media', 'rel', 'target', 'type' // a, button, input, link, menu, object, script, source, style\n]);\n/**\n * An array of BUTTON tag properties and events.\n *\n * @public\n */\n\nexport var buttonProperties = htmlElementProperties.concat(['autoFocus', 'disabled', 'form', 'formAction', 'formEncType', 'formMethod', 'formNoValidate', 'formTarget', 'type', 'value' // button, input, li, option, meter, progress, param,\n]);\n/**\n * An array of INPUT tag properties and events.\n *\n * @public\n */\n\nexport var inputProperties = buttonProperties.concat(['accept', 'alt', 'autoComplete', 'checked', 'dirname', 'form', 'height', 'inputMode', 'list', 'max', 'maxLength', 'min', 'multiple', 'pattern', 'placeholder', 'readOnly', 'required', 'src', 'step', 'size', 'type', 'value', 'width' // canvas, embed, iframe, img, input, object, video\n]);\n/**\n * An array of TEXTAREA tag properties and events.\n *\n * @public\n */\n\nexport var textAreaProperties = buttonProperties.concat(['cols', 'dirname', 'form', 'maxLength', 'placeholder', 'readOnly', 'required', 'rows', 'wrap' // textarea\n]);\n/**\n * An array of SELECT tag properties and events.\n *\n * @public\n */\n\nexport var selectProperties = buttonProperties.concat(['form', 'multiple', 'required' // input, select, textarea\n]);\nexport var optionProperties = htmlElementProperties.concat(['selected', 'value' // button, input, li, option, meter, progress, param\n]);\n/**\n * An array of TABLE tag properties and events.\n *\n * @public\n */\n\nexport var tableProperties = htmlElementProperties.concat(['cellPadding', 'cellSpacing' // table\n]);\n/**\n * An array of TR tag properties and events.\n *\n * @public\n */\n\nexport var trProperties = htmlElementProperties;\n/**\n * An array of TH tag properties and events.\n *\n * @public\n */\n\nexport var thProperties = htmlElementProperties.concat(['rowSpan', 'scope' // th\n]);\n/**\n * An array of TD tag properties and events.\n *\n * @public\n */\n\nexport var tdProperties = htmlElementProperties.concat(['colSpan', 'headers', 'rowSpan', 'scope' // th\n]);\nexport var colGroupProperties = htmlElementProperties.concat(['span' // col, colgroup\n]);\nexport var colProperties = htmlElementProperties.concat(['span' // col, colgroup\n]);\n/**\n * An array of FORM tag properties and events.\n *\n * @public\n */\n\nexport var formProperties = htmlElementProperties.concat(['acceptCharset', 'action', 'encType', 'encType', 'method', 'noValidate', 'target' // form\n]);\n/**\n * An array of IFRAME tag properties and events.\n *\n * @public\n */\n\nexport var iframeProperties = htmlElementProperties.concat(['allow', 'allowFullScreen', 'allowPaymentRequest', 'allowTransparency', 'csp', 'height', 'importance', 'referrerPolicy', 'sandbox', 'src', 'srcDoc', 'width' // canvas, embed, iframe, img, input, object, video,\n]);\n/**\n * An array of IMAGE tag properties and events.\n *\n * @public\n */\n\nexport var imgProperties = htmlElementProperties.concat(['alt', 'crossOrigin', 'height', 'src', 'srcSet', 'useMap', 'width' // canvas, embed, iframe, img, input, object, video\n]);\n/**\n * @deprecated Use imgProperties for img elements.\n */\n\nexport var imageProperties = imgProperties;\n/**\n * An array of DIV tag properties and events.\n *\n * @public\n */\n\nexport var divProperties = htmlElementProperties;\n/**\n * Gets native supported props for an html element provided the allowance set. Use one of the property\n * sets defined (divProperties, buttonPropertes, etc) to filter out supported properties from a given\n * props set. Note that all data- and aria- prefixed attributes will be allowed.\n * NOTE: getNativeProps should always be applied first when adding props to a react component. The\n * non-native props should be applied second. This will prevent getNativeProps from overriding your custom props.\n * For example, if props passed to getNativeProps has an onClick function and getNativeProps is added to\n * the component after an onClick function is added, then the getNativeProps onClick will override it.\n *\n * @public\n * @param props - The unfiltered input props\n * @param allowedPropsNames- The array of allowed propnames.\n * @returns The filtered props\n */\n\nexport function getNativeProps(props, allowedPropNames, excludedPropNames) {\n // It'd be great to properly type this while allowing 'aria-` and 'data-' attributes like TypeScript does for JSX attributes,\n // but that ability is hardcoded into the TS compiler with no analog in TypeScript typings.\n // Then we'd be able to enforce props extends native props (including aria- and data- attributes), and then return native props.\n // We should be able to do this once this PR is merged: https://github.com/microsoft/TypeScript/pull/26797\n return filteredAssign(function (propName) {\n return (!excludedPropNames || excludedPropNames.indexOf(propName) < 0) && (propName.indexOf('data-') === 0 || propName.indexOf('aria-') === 0 || allowedPropNames.indexOf(propName) >= 0);\n }, {}, props);\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = getClass;\n\nvar _flexboxgrid = require('flexboxgrid2/flexboxgrid2.css');\n\nvar _flexboxgrid2 = _interopRequireDefault(_flexboxgrid);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction getClass(className) {\n return _flexboxgrid2.default && _flexboxgrid2.default[className] ? _flexboxgrid2.default[className] : className;\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = createProps;\n\nfunction createProps(propTypes, props, classNames) {\n var newProps = {};\n Object.keys(props).filter(function (key) {\n return key === 'children' || !propTypes[key];\n }).forEach(function (key) {\n return newProps[key] = props[key];\n });\n var className = classNames.filter(function (cn) {\n return cn;\n }).join(' ');\n return Object.assign({}, newProps, {\n className: className\n });\n}","import { __assign } from \"tslib\";\n/**\n * Merge new and old settings, giving priority to new settings.\n * New settings is optional in which case oldSettings is returned as-is.\n * @param oldSettings - Old settings to fall back to.\n * @param newSettings - New settings that will be merged over oldSettings.\n * @returns Merged settings.\n */\n\nexport function mergeSettings(oldSettings, newSettings) {\n if (oldSettings === void 0) {\n oldSettings = {};\n }\n\n var mergeSettingsWith = _isSettingsFunction(newSettings) ? newSettings : _settingsMergeWith(newSettings);\n return mergeSettingsWith(oldSettings);\n}\nexport function mergeScopedSettings(oldSettings, newSettings) {\n if (oldSettings === void 0) {\n oldSettings = {};\n }\n\n var mergeSettingsWith = _isSettingsFunction(newSettings) ? newSettings : _scopedSettingsMergeWith(newSettings);\n return mergeSettingsWith(oldSettings);\n}\n\nfunction _isSettingsFunction(settings) {\n return typeof settings === 'function';\n}\n\nfunction _settingsMergeWith(newSettings) {\n return function (settings) {\n return newSettings ? __assign(__assign({}, settings), newSettings) : settings;\n };\n}\n\nfunction _scopedSettingsMergeWith(scopedSettingsFromProps) {\n if (scopedSettingsFromProps === void 0) {\n scopedSettingsFromProps = {};\n }\n\n return function (oldScopedSettings) {\n var newScopedSettings = __assign({}, oldScopedSettings);\n\n for (var scopeName in scopedSettingsFromProps) {\n if (scopedSettingsFromProps.hasOwnProperty(scopeName)) {\n newScopedSettings[scopeName] = __assign(__assign({}, oldScopedSettings[scopeName]), scopedSettingsFromProps[scopeName]);\n }\n }\n\n return newScopedSettings;\n };\n}","import { getWindow } from './dom/getWindow';\n/**\n * Bugs often appear in async code when stuff gets disposed, but async operations don't get canceled.\n * This Async helper class solves these issues by tying async code to the lifetime of a disposable object.\n *\n * Usage: Anything class extending from BaseModel can access this helper via this.async. Otherwise create a\n * new instance of the class and remember to call dispose() during your code's dispose handler.\n *\n * @public\n */\n\nvar Async =\n/** @class */\nfunction () {\n // tslint:disable-next-line:no-any\n function Async(parent, onError) {\n this._timeoutIds = null;\n this._immediateIds = null;\n this._intervalIds = null;\n this._animationFrameIds = null;\n this._isDisposed = false;\n this._parent = parent || null;\n this._onErrorHandler = onError;\n\n this._noop = function () {\n /* do nothing */\n };\n }\n /**\n * Dispose function, clears all async operations.\n */\n\n\n Async.prototype.dispose = function () {\n var id;\n this._isDisposed = true;\n this._parent = null; // Clear timeouts.\n\n if (this._timeoutIds) {\n for (id in this._timeoutIds) {\n if (this._timeoutIds.hasOwnProperty(id)) {\n this.clearTimeout(parseInt(id, 10));\n }\n }\n\n this._timeoutIds = null;\n } // Clear immediates.\n\n\n if (this._immediateIds) {\n for (id in this._immediateIds) {\n if (this._immediateIds.hasOwnProperty(id)) {\n this.clearImmediate(parseInt(id, 10));\n }\n }\n\n this._immediateIds = null;\n } // Clear intervals.\n\n\n if (this._intervalIds) {\n for (id in this._intervalIds) {\n if (this._intervalIds.hasOwnProperty(id)) {\n this.clearInterval(parseInt(id, 10));\n }\n }\n\n this._intervalIds = null;\n } // Clear animation frames.\n\n\n if (this._animationFrameIds) {\n for (id in this._animationFrameIds) {\n if (this._animationFrameIds.hasOwnProperty(id)) {\n this.cancelAnimationFrame(parseInt(id, 10));\n }\n }\n\n this._animationFrameIds = null;\n }\n };\n /**\n * SetTimeout override, which will auto cancel the timeout during dispose.\n * @param callback - Callback to execute.\n * @param duration - Duration in milliseconds.\n * @returns The setTimeout id.\n */\n\n\n Async.prototype.setTimeout = function (callback, duration) {\n var _this = this;\n\n var timeoutId = 0;\n\n if (!this._isDisposed) {\n if (!this._timeoutIds) {\n this._timeoutIds = {};\n }\n /* tslint:disable:ban-native-functions */\n\n\n timeoutId = setTimeout(function () {\n // Time to execute the timeout, enqueue it as a foreground task to be executed.\n try {\n // Now delete the record and call the callback.\n if (_this._timeoutIds) {\n delete _this._timeoutIds[timeoutId];\n }\n\n callback.apply(_this._parent);\n } catch (e) {\n if (_this._onErrorHandler) {\n _this._onErrorHandler(e);\n }\n }\n }, duration);\n /* tslint:enable:ban-native-functions */\n\n this._timeoutIds[timeoutId] = true;\n }\n\n return timeoutId;\n };\n /**\n * Clears the timeout.\n * @param id - Id to cancel.\n */\n\n\n Async.prototype.clearTimeout = function (id) {\n if (this._timeoutIds && this._timeoutIds[id]) {\n /* tslint:disable:ban-native-functions */\n clearTimeout(id);\n delete this._timeoutIds[id];\n /* tslint:enable:ban-native-functions */\n }\n };\n /**\n * SetImmediate override, which will auto cancel the immediate during dispose.\n * @param callback - Callback to execute.\n * @param targetElement - Optional target element to use for identifying the correct window.\n * @returns The setTimeout id.\n */\n\n\n Async.prototype.setImmediate = function (callback, targetElement) {\n var _this = this;\n\n var immediateId = 0;\n var win = getWindow(targetElement);\n\n if (!this._isDisposed) {\n if (!this._immediateIds) {\n this._immediateIds = {};\n }\n /* tslint:disable:ban-native-functions */\n\n\n var setImmediateCallback = function setImmediateCallback() {\n // Time to execute the timeout, enqueue it as a foreground task to be executed.\n try {\n // Now delete the record and call the callback.\n if (_this._immediateIds) {\n delete _this._immediateIds[immediateId];\n }\n\n callback.apply(_this._parent);\n } catch (e) {\n _this._logError(e);\n }\n };\n\n immediateId = win.setTimeout(setImmediateCallback, 0);\n /* tslint:enable:ban-native-functions */\n\n this._immediateIds[immediateId] = true;\n }\n\n return immediateId;\n };\n /**\n * Clears the immediate.\n * @param id - Id to cancel.\n * @param targetElement - Optional target element to use for identifying the correct window.\n */\n\n\n Async.prototype.clearImmediate = function (id, targetElement) {\n var win = getWindow(targetElement);\n\n if (this._immediateIds && this._immediateIds[id]) {\n /* tslint:disable:ban-native-functions */\n win.clearTimeout(id);\n delete this._immediateIds[id];\n /* tslint:enable:ban-native-functions */\n }\n };\n /**\n * SetInterval override, which will auto cancel the timeout during dispose.\n * @param callback - Callback to execute.\n * @param duration - Duration in milliseconds.\n * @returns The setTimeout id.\n */\n\n\n Async.prototype.setInterval = function (callback, duration) {\n var _this = this;\n\n var intervalId = 0;\n\n if (!this._isDisposed) {\n if (!this._intervalIds) {\n this._intervalIds = {};\n }\n /* tslint:disable:ban-native-functions */\n\n\n intervalId = setInterval(function () {\n // Time to execute the interval callback, enqueue it as a foreground task to be executed.\n try {\n callback.apply(_this._parent);\n } catch (e) {\n _this._logError(e);\n }\n }, duration);\n /* tslint:enable:ban-native-functions */\n\n this._intervalIds[intervalId] = true;\n }\n\n return intervalId;\n };\n /**\n * Clears the interval.\n * @param id - Id to cancel.\n */\n\n\n Async.prototype.clearInterval = function (id) {\n if (this._intervalIds && this._intervalIds[id]) {\n /* tslint:disable:ban-native-functions */\n clearInterval(id);\n delete this._intervalIds[id];\n /* tslint:enable:ban-native-functions */\n }\n };\n /**\n * Creates a function that, when executed, will only call the func function at most once per\n * every wait milliseconds. Provide an options object to indicate that func should be invoked\n * on the leading and/or trailing edge of the wait timeout. Subsequent calls to the throttled\n * function will return the result of the last func call.\n *\n * Note: If leading and trailing options are true func will be called on the trailing edge of\n * the timeout only if the throttled function is invoked more than once during the wait timeout.\n *\n * @param func - The function to throttle.\n * @param wait - The number of milliseconds to throttle executions to. Defaults to 0.\n * @param options - The options object.\n * @returns The new throttled function.\n */\n\n\n Async.prototype.throttle = function (func, wait, options) {\n var _this = this;\n\n if (this._isDisposed) {\n return this._noop;\n }\n\n var waitMS = wait || 0;\n var leading = true;\n var trailing = true;\n var lastExecuteTime = 0;\n var lastResult; // tslint:disable-next-line:no-any\n\n var lastArgs;\n var timeoutId = null;\n\n if (options && typeof options.leading === 'boolean') {\n leading = options.leading;\n }\n\n if (options && typeof options.trailing === 'boolean') {\n trailing = options.trailing;\n }\n\n var callback = function callback(userCall) {\n var now = new Date().getTime();\n var delta = now - lastExecuteTime;\n var waitLength = leading ? waitMS - delta : waitMS;\n\n if (delta >= waitMS && (!userCall || leading)) {\n lastExecuteTime = now;\n\n if (timeoutId) {\n _this.clearTimeout(timeoutId);\n\n timeoutId = null;\n }\n\n lastResult = func.apply(_this._parent, lastArgs);\n } else if (timeoutId === null && trailing) {\n timeoutId = _this.setTimeout(callback, waitLength);\n }\n\n return lastResult;\n }; // tslint:disable-next-line:no-any\n\n\n var resultFunction = function resultFunction() {\n var args = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n\n lastArgs = args;\n return callback(true);\n };\n\n return resultFunction;\n };\n /**\n * Creates a function that will delay the execution of func until after wait milliseconds have\n * elapsed since the last time it was invoked. Provide an options object to indicate that func\n * should be invoked on the leading and/or trailing edge of the wait timeout. Subsequent calls\n * to the debounced function will return the result of the last func call.\n *\n * Note: If leading and trailing options are true func will be called on the trailing edge of\n * the timeout only if the debounced function is invoked more than once during the wait\n * timeout.\n *\n * @param func - The function to debounce.\n * @param wait - The number of milliseconds to delay.\n * @param options - The options object.\n * @returns The new debounced function.\n */\n\n\n Async.prototype.debounce = function (func, wait, options) {\n var _this = this;\n\n if (this._isDisposed) {\n var noOpFunction = function noOpFunction() {\n /** Do nothing */\n };\n\n noOpFunction.cancel = function () {\n return;\n };\n /* tslint:disable:no-any */\n\n\n noOpFunction.flush = function () {\n return null;\n };\n /* tslint:enable:no-any */\n\n\n noOpFunction.pending = function () {\n return false;\n };\n\n return noOpFunction;\n }\n\n var waitMS = wait || 0;\n var leading = false;\n var trailing = true;\n var maxWait = null;\n var lastCallTime = 0;\n var lastExecuteTime = new Date().getTime();\n var lastResult; // tslint:disable-next-line:no-any\n\n var lastArgs;\n var timeoutId = null;\n\n if (options && typeof options.leading === 'boolean') {\n leading = options.leading;\n }\n\n if (options && typeof options.trailing === 'boolean') {\n trailing = options.trailing;\n }\n\n if (options && typeof options.maxWait === 'number' && !isNaN(options.maxWait)) {\n maxWait = options.maxWait;\n }\n\n var markExecuted = function markExecuted(time) {\n if (timeoutId) {\n _this.clearTimeout(timeoutId);\n\n timeoutId = null;\n }\n\n lastExecuteTime = time;\n };\n\n var invokeFunction = function invokeFunction(time) {\n markExecuted(time);\n lastResult = func.apply(_this._parent, lastArgs);\n };\n\n var callback = function callback(userCall) {\n var now = new Date().getTime();\n var executeImmediately = false;\n\n if (userCall) {\n if (leading && now - lastCallTime >= waitMS) {\n executeImmediately = true;\n }\n\n lastCallTime = now;\n }\n\n var delta = now - lastCallTime;\n var waitLength = waitMS - delta;\n var maxWaitDelta = now - lastExecuteTime;\n var maxWaitExpired = false;\n\n if (maxWait !== null) {\n // maxWait only matters when there is a pending callback\n if (maxWaitDelta >= maxWait && timeoutId) {\n maxWaitExpired = true;\n } else {\n waitLength = Math.min(waitLength, maxWait - maxWaitDelta);\n }\n }\n\n if (delta >= waitMS || maxWaitExpired || executeImmediately) {\n invokeFunction(now);\n } else if ((timeoutId === null || !userCall) && trailing) {\n timeoutId = _this.setTimeout(callback, waitLength);\n }\n\n return lastResult;\n };\n\n var pending = function pending() {\n return !!timeoutId;\n };\n\n var cancel = function cancel() {\n if (pending()) {\n // Mark the debounced function as having executed\n markExecuted(new Date().getTime());\n }\n };\n\n var flush = function flush() {\n if (pending()) {\n invokeFunction(new Date().getTime());\n }\n\n return lastResult;\n }; // tslint:disable-next-line:no-any\n\n\n var resultFunction = function resultFunction() {\n var args = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n\n lastArgs = args;\n return callback(true);\n };\n\n resultFunction.cancel = cancel;\n resultFunction.flush = flush;\n resultFunction.pending = pending;\n return resultFunction;\n };\n\n Async.prototype.requestAnimationFrame = function (callback, targetElement) {\n var _this = this;\n\n var animationFrameId = 0;\n var win = getWindow(targetElement);\n\n if (!this._isDisposed) {\n if (!this._animationFrameIds) {\n this._animationFrameIds = {};\n }\n /* tslint:disable:ban-native-functions */\n\n\n var animationFrameCallback = function animationFrameCallback() {\n try {\n // Now delete the record and call the callback.\n if (_this._animationFrameIds) {\n delete _this._animationFrameIds[animationFrameId];\n }\n\n callback.apply(_this._parent);\n } catch (e) {\n _this._logError(e);\n }\n };\n\n animationFrameId = win.requestAnimationFrame ? win.requestAnimationFrame(animationFrameCallback) : win.setTimeout(animationFrameCallback, 0);\n /* tslint:enable:ban-native-functions */\n\n this._animationFrameIds[animationFrameId] = true;\n }\n\n return animationFrameId;\n };\n\n Async.prototype.cancelAnimationFrame = function (id, targetElement) {\n var win = getWindow(targetElement);\n\n if (this._animationFrameIds && this._animationFrameIds[id]) {\n /* tslint:disable:ban-native-functions */\n win.cancelAnimationFrame ? win.cancelAnimationFrame(id) : win.clearTimeout(id);\n /* tslint:enable:ban-native-functions */\n\n delete this._animationFrameIds[id];\n }\n }; // tslint:disable-next-line:no-any\n\n\n Async.prototype._logError = function (e) {\n if (this._onErrorHandler) {\n this._onErrorHandler(e);\n }\n };\n\n return Async;\n}();\n\nexport { Async };","export var DATA_PORTAL_ATTRIBUTE = 'data-portal-element';\n/**\n * Identify element as a portal by setting an attribute.\n * @param element - Element to mark as a portal.\n */\n\nexport function setPortalAttribute(element) {\n element.setAttribute(DATA_PORTAL_ATTRIBUTE, 'true');\n}","export function on(element, eventName, callback, options) {\n element.addEventListener(eventName, callback, options);\n return function () {\n return element.removeEventListener(eventName, callback, options);\n };\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ViewportSizeType = exports.ColumnSizeType = undefined;\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nvar ColumnSizeType = exports.ColumnSizeType = _propTypes2.default.oneOfType([_propTypes2.default.number, _propTypes2.default.bool]);\n\nvar ViewportSizeType = exports.ViewportSizeType = _propTypes2.default.oneOf(['xs', 'sm', 'md', 'lg', 'xl']);","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n\n return fn.apply(thisArg, args);\n };\n};","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).replace(/%40/gi, '@').replace(/%3A/gi, ':').replace(/%24/g, '$').replace(/%2C/gi, ',').replace(/%20/g, '+').replace(/%5B/gi, '[').replace(/%5D/gi, ']');\n}\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\n\n\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};","'use strict';\n\nvar utils = require('./utils');\n\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n\n return adapter;\n}\n\nvar defaults = {\n adapter: getDefaultAdapter(),\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n\n if (utils.isFormData(data) || utils.isArrayBuffer(data) || utils.isBuffer(data) || utils.isStream(data) || utils.isFile(data) || utils.isBlob(data)) {\n return data;\n }\n\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n\n if (utils.isObject(data)) {\n setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n return JSON.stringify(data);\n }\n\n return data;\n }],\n transformResponse: [function transformResponse(data) {\n /*eslint no-param-reassign:0*/\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data);\n } catch (e) {\n /* Ignore */\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n maxContentLength: -1,\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\nmodule.exports = defaults;","'use strict';\n\nvar utils = require('./../utils');\n\nvar settle = require('./../core/settle');\n\nvar buildURL = require('./../helpers/buildURL');\n\nvar buildFullPath = require('../core/buildFullPath');\n\nvar parseHeaders = require('./../helpers/parseHeaders');\n\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\n\nvar createError = require('../core/createError');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest(); // HTTP basic authentication\n\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password || '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true); // Set the request timeout in MS\n\n request.timeout = config.timeout; // Listen for ready state\n\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n } // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n\n\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n } // Prepare the response\n\n\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n settle(resolve, reject, response); // Clean up request\n\n request = null;\n }; // Handle browser request cancellation (as opposed to a manual cancellation)\n\n\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(createError('Request aborted', config, 'ECONNABORTED', request)); // Clean up request\n\n request = null;\n }; // Handle low level network errors\n\n\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request)); // Clean up request\n\n request = null;\n }; // Handle timeout\n\n\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = 'timeout of ' + config.timeout + 'ms exceeded';\n\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n\n reject(createError(timeoutErrorMessage, config, 'ECONNABORTED', request)); // Clean up request\n\n request = null;\n }; // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n\n\n if (utils.isStandardBrowserEnv()) {\n var cookies = require('./../helpers/cookies'); // Add xsrf header\n\n\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ? cookies.read(config.xsrfCookieName) : undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n } // Add headers to the request\n\n\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n } // Add withCredentials to request if needed\n\n\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n } // Add responseType to request if needed\n\n\n if (config.responseType) {\n try {\n request.responseType = config.responseType;\n } catch (e) {\n // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.\n // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.\n if (config.responseType !== 'json') {\n throw e;\n }\n }\n } // Handle progress if needed\n\n\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n } // Not all browsers support upload events\n\n\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel); // Clean up request\n\n request = null;\n });\n }\n\n if (requestData === undefined) {\n requestData = null;\n } // Send the request\n\n\n request.send(requestData);\n });\n};","'use strict';\n\nvar enhanceError = require('./enhanceError');\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\n\n\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};","'use strict';\n\nvar utils = require('../utils');\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\n\n\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n var valueFromConfig2Keys = ['url', 'method', 'params', 'data'];\n var mergeDeepPropertiesKeys = ['headers', 'auth', 'proxy'];\n var defaultToConfig2Keys = ['baseURL', 'url', 'transformRequest', 'transformResponse', 'paramsSerializer', 'timeout', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName', 'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress', 'maxContentLength', 'validateStatus', 'maxRedirects', 'httpAgent', 'httpsAgent', 'cancelToken', 'socketPath'];\n utils.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) {\n if (typeof config2[prop] !== 'undefined') {\n config[prop] = config2[prop];\n }\n });\n utils.forEach(mergeDeepPropertiesKeys, function mergeDeepProperties(prop) {\n if (utils.isObject(config2[prop])) {\n config[prop] = utils.deepMerge(config1[prop], config2[prop]);\n } else if (typeof config2[prop] !== 'undefined') {\n config[prop] = config2[prop];\n } else if (utils.isObject(config1[prop])) {\n config[prop] = utils.deepMerge(config1[prop]);\n } else if (typeof config1[prop] !== 'undefined') {\n config[prop] = config1[prop];\n }\n });\n utils.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) {\n if (typeof config2[prop] !== 'undefined') {\n config[prop] = config2[prop];\n } else if (typeof config1[prop] !== 'undefined') {\n config[prop] = config1[prop];\n }\n });\n var axiosKeys = valueFromConfig2Keys.concat(mergeDeepPropertiesKeys).concat(defaultToConfig2Keys);\n var otherKeys = Object.keys(config2).filter(function filterAxiosKeys(key) {\n return axiosKeys.indexOf(key) === -1;\n });\n utils.forEach(otherKeys, function otherKeysDefaultToConfig2(prop) {\n if (typeof config2[prop] !== 'undefined') {\n config[prop] = config2[prop];\n } else if (typeof config1[prop] !== 'undefined') {\n config[prop] = config1[prop];\n }\n });\n return config;\n};","'use strict';\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\n\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\nmodule.exports = Cancel;","var g; // This works in non-strict mode\n\ng = function () {\n return this;\n}();\n\ntry {\n // This works if eval is allowed (see CSP)\n g = g || new Function(\"return this\")();\n} catch (e) {\n // This works if the window reference is available\n if (typeof window === \"object\") g = window;\n} // g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\n\nmodule.exports = g;","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n};\n\nimport React from \"react\";\nimport objectAssign from \"object-assign\";\n\nvar Iframe = function Iframe(_a) {\n var url = _a.url,\n allowFullScreen = _a.allowFullScreen,\n position = _a.position,\n display = _a.display,\n height = _a.height,\n width = _a.width,\n overflow = _a.overflow,\n styles = _a.styles,\n onLoad = _a.onLoad,\n onMouseOver = _a.onMouseOver,\n onMouseOut = _a.onMouseOut,\n scrolling = _a.scrolling,\n id = _a.id,\n frameBorder = _a.frameBorder,\n ariaHidden = _a.ariaHidden,\n sandbox = _a.sandbox,\n allow = _a.allow,\n className = _a.className,\n title = _a.title,\n ariaLabel = _a.ariaLabel,\n ariaLabelledby = _a.ariaLabelledby,\n name = _a.name,\n target = _a.target,\n loading = _a.loading,\n importance = _a.importance,\n referrerpolicy = _a.referrerpolicy,\n allowpaymentrequest = _a.allowpaymentrequest,\n src = _a.src;\n var defaultProps = objectAssign({\n src: src || url,\n target: target || null,\n style: {\n position: position || null,\n display: display || \"block\",\n overflow: overflow || null\n },\n scrolling: scrolling || null,\n allowpaymentrequest: allowpaymentrequest || null,\n importance: importance || null,\n sandbox: sandbox || null,\n loading: loading || null,\n styles: styles || null,\n name: name || null,\n className: className || null,\n referrerpolicy: referrerpolicy || null,\n title: title || null,\n allow: allow || null,\n id: id || null,\n \"aria-labelledby\": ariaLabelledby || null,\n \"aria-hidden\": ariaHidden || null,\n \"aria-label\": ariaLabel || null,\n width: width || null,\n height: height || null,\n onLoad: onLoad || null,\n onMouseOver: onMouseOver || null,\n onMouseOut: onMouseOut || null\n });\n var props = Object.create(null);\n\n for (var _i = 0, _b = Object.keys(defaultProps); _i < _b.length; _i++) {\n var prop = _b[_i];\n\n if (defaultProps[prop] != null) {\n props[prop] = defaultProps[prop];\n }\n }\n\n for (var _c = 0, _d = Object.keys(props.style); _c < _d.length; _c++) {\n var i = _d[_c];\n\n if (props.style[i] == null) {\n delete props.style[i];\n }\n }\n\n if (allowFullScreen) {\n if (\"allow\" in props) {\n var currentAllow = props.allow.replace(\"fullscreen\", \"\");\n props.allow = (\"fullscreen \" + currentAllow.trim()).trim();\n } else {\n props.allow = \"fullscreen\";\n }\n }\n\n if (frameBorder >= 0) {\n if (!props.style.hasOwnProperty(\"border\")) {\n props.style.border = frameBorder;\n }\n }\n\n return React.createElement(\"iframe\", __assign({}, props));\n};\n\nexport default Iframe;","import { getWindow } from './dom/getWindow';\n/**\n * Storing global state in local module variables has issues when more than one copy\n * if the module gets loaded on the page (due to a bundling error or simply by consuming\n * a prebundled script.)\n *\n * This file contains helpers to deal with the getting and setting local state, and allows\n * callers to get called back when it mutates.\n */\n// tslint:disable:no-any\n\nvar GLOBAL_SETTINGS_PROP_NAME = '__globalSettings__';\nvar CALLBACK_STATE_PROP_NAME = '__callbacks__';\nvar _counter = 0;\n/**\n * Global settings helper, which stores settings in the global (window) namespace.\n * If window is not provided, it will store settings in module scope. Provides a\n * way to observe changes as well when their values change.\n *\n * @public\n * {@docCategory GlobalSettings}\n */\n\nvar GlobalSettings =\n/** @class */\nfunction () {\n function GlobalSettings() {}\n\n GlobalSettings.getValue = function (key, defaultValue) {\n var globalSettings = _getGlobalSettings();\n\n if (globalSettings[key] === undefined) {\n globalSettings[key] = typeof defaultValue === 'function' ? defaultValue() : defaultValue;\n }\n\n return globalSettings[key];\n };\n\n GlobalSettings.setValue = function (key, value) {\n var globalSettings = _getGlobalSettings();\n\n var callbacks = globalSettings[CALLBACK_STATE_PROP_NAME];\n var oldValue = globalSettings[key];\n\n if (value !== oldValue) {\n globalSettings[key] = value;\n var changeDescription = {\n oldValue: oldValue,\n value: value,\n key: key\n };\n\n for (var id in callbacks) {\n if (callbacks.hasOwnProperty(id)) {\n callbacks[id](changeDescription);\n }\n }\n }\n\n return value;\n };\n\n GlobalSettings.addChangeListener = function (cb) {\n // Note: we use generated ids on the callbacks to create a map of the callbacks, which optimizes removal.\n // (It's faster to delete a key than it is to look up the index of an object and splice an array.)\n var id = cb.__id__;\n\n var callbacks = _getCallbacks();\n\n if (!id) {\n id = cb.__id__ = String(_counter++);\n }\n\n callbacks[id] = cb;\n };\n\n GlobalSettings.removeChangeListener = function (cb) {\n var callbacks = _getCallbacks();\n\n delete callbacks[cb.__id__];\n };\n\n return GlobalSettings;\n}();\n\nexport { GlobalSettings };\n\nfunction _getGlobalSettings() {\n var _a;\n\n var win = getWindow();\n var globalObj = win || {};\n\n if (!globalObj[GLOBAL_SETTINGS_PROP_NAME]) {\n globalObj[GLOBAL_SETTINGS_PROP_NAME] = (_a = {}, _a[CALLBACK_STATE_PROP_NAME] = {}, _a);\n }\n\n return globalObj[GLOBAL_SETTINGS_PROP_NAME];\n}\n\nfunction _getCallbacks() {\n var globalSettings = _getGlobalSettings();\n\n return globalSettings[CALLBACK_STATE_PROP_NAME];\n}","/**\n * An IThemingInstruction can specify a rawString to be preserved or a theme slot and a default value\n * to use if that slot is not specified by the theme.\n */\nvar __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n}; // Store the theming state in __themeState__ global scope for reuse in the case of duplicate\n// load-themed-styles hosted on the page.\n\n\nvar _root = typeof window === 'undefined' ? global : window; // eslint-disable-line @typescript-eslint/no-explicit-any\n// Nonce string to inject into script tag if one provided. This is used in CSP (Content Security Policy).\n\n\nvar _styleNonce = _root && _root.CSPSettings && _root.CSPSettings.nonce;\n\nvar _themeState = initializeThemeState();\n/**\n * Matches theming tokens. For example, \"[theme: themeSlotName, default: #FFF]\" (including the quotes).\n */\n\n\nvar _themeTokenRegex = /[\\'\\\"]\\[theme:\\s*(\\w+)\\s*(?:\\,\\s*default:\\s*([\\\\\"\\']?[\\.\\,\\(\\)\\#\\-\\s\\w]*[\\.\\,\\(\\)\\#\\-\\w][\\\"\\']?))?\\s*\\][\\'\\\"]/g;\n\nvar now = function now() {\n return typeof performance !== 'undefined' && !!performance.now ? performance.now() : Date.now();\n};\n\nfunction measure(func) {\n var start = now();\n func();\n var end = now();\n _themeState.perf.duration += end - start;\n}\n/**\n * initialize global state object\n */\n\n\nfunction initializeThemeState() {\n var state = _root.__themeState__ || {\n theme: undefined,\n lastStyleElement: undefined,\n registeredStyles: []\n };\n\n if (!state.runState) {\n state = __assign({}, state, {\n perf: {\n count: 0,\n duration: 0\n },\n runState: {\n flushTimer: 0,\n mode: 0\n /* sync */\n ,\n buffer: []\n }\n });\n }\n\n if (!state.registeredThemableStyles) {\n state = __assign({}, state, {\n registeredThemableStyles: []\n });\n }\n\n _root.__themeState__ = state;\n return state;\n}\n/**\n * Loads a set of style text. If it is registered too early, we will register it when the window.load\n * event is fired.\n * @param {string | ThemableArray} styles Themable style text to register.\n * @param {boolean} loadAsync When true, always load styles in async mode, irrespective of current sync mode.\n */\n\n\nexport function loadStyles(styles, loadAsync) {\n if (loadAsync === void 0) {\n loadAsync = false;\n }\n\n measure(function () {\n var styleParts = Array.isArray(styles) ? styles : splitStyles(styles);\n var _a = _themeState.runState,\n mode = _a.mode,\n buffer = _a.buffer,\n flushTimer = _a.flushTimer;\n\n if (loadAsync || mode === 1\n /* async */\n ) {\n buffer.push(styleParts);\n\n if (!flushTimer) {\n _themeState.runState.flushTimer = asyncLoadStyles();\n }\n } else {\n applyThemableStyles(styleParts);\n }\n });\n}\n/**\n * Allows for customizable loadStyles logic. e.g. for server side rendering application\n * @param {(processedStyles: string, rawStyles?: string | ThemableArray) => void}\n * a loadStyles callback that gets called when styles are loaded or reloaded\n */\n\nexport function configureLoadStyles(loadStylesFn) {\n _themeState.loadStyles = loadStylesFn;\n}\n/**\n * Configure run mode of load-themable-styles\n * @param mode load-themable-styles run mode, async or sync\n */\n\nexport function configureRunMode(mode) {\n _themeState.runState.mode = mode;\n}\n/**\n * external code can call flush to synchronously force processing of currently buffered styles\n */\n\nexport function flush() {\n measure(function () {\n var styleArrays = _themeState.runState.buffer.slice();\n\n _themeState.runState.buffer = [];\n var mergedStyleArray = [].concat.apply([], styleArrays);\n\n if (mergedStyleArray.length > 0) {\n applyThemableStyles(mergedStyleArray);\n }\n });\n}\n/**\n * register async loadStyles\n */\n\nfunction asyncLoadStyles() {\n return setTimeout(function () {\n _themeState.runState.flushTimer = 0;\n flush();\n }, 0);\n}\n/**\n * Loads a set of style text. If it is registered too early, we will register it when the window.load event\n * is fired.\n * @param {string} styleText Style to register.\n * @param {IStyleRecord} styleRecord Existing style record to re-apply.\n */\n\n\nfunction applyThemableStyles(stylesArray, styleRecord) {\n if (_themeState.loadStyles) {\n _themeState.loadStyles(resolveThemableArray(stylesArray).styleString, stylesArray);\n } else {\n registerStyles(stylesArray);\n }\n}\n/**\n * Registers a set theme tokens to find and replace. If styles were already registered, they will be\n * replaced.\n * @param {theme} theme JSON object of theme tokens to values.\n */\n\n\nexport function loadTheme(theme) {\n _themeState.theme = theme; // reload styles.\n\n reloadStyles();\n}\n/**\n * Clear already registered style elements and style records in theme_State object\n * @param option - specify which group of registered styles should be cleared.\n * Default to be both themable and non-themable styles will be cleared\n */\n\nexport function clearStyles(option) {\n if (option === void 0) {\n option = 3\n /* all */\n ;\n }\n\n if (option === 3\n /* all */\n || option === 2\n /* onlyNonThemable */\n ) {\n clearStylesInternal(_themeState.registeredStyles);\n _themeState.registeredStyles = [];\n }\n\n if (option === 3\n /* all */\n || option === 1\n /* onlyThemable */\n ) {\n clearStylesInternal(_themeState.registeredThemableStyles);\n _themeState.registeredThemableStyles = [];\n }\n}\n\nfunction clearStylesInternal(records) {\n records.forEach(function (styleRecord) {\n var styleElement = styleRecord && styleRecord.styleElement;\n\n if (styleElement && styleElement.parentElement) {\n styleElement.parentElement.removeChild(styleElement);\n }\n });\n}\n/**\n * Reloads styles.\n */\n\n\nfunction reloadStyles() {\n if (_themeState.theme) {\n var themableStyles = [];\n\n for (var _i = 0, _a = _themeState.registeredThemableStyles; _i < _a.length; _i++) {\n var styleRecord = _a[_i];\n themableStyles.push(styleRecord.themableStyle);\n }\n\n if (themableStyles.length > 0) {\n clearStyles(1\n /* onlyThemable */\n );\n applyThemableStyles([].concat.apply([], themableStyles));\n }\n }\n}\n/**\n * Find theme tokens and replaces them with provided theme values.\n * @param {string} styles Tokenized styles to fix.\n */\n\n\nexport function detokenize(styles) {\n if (styles) {\n styles = resolveThemableArray(splitStyles(styles)).styleString;\n }\n\n return styles;\n}\n/**\n * Resolves ThemingInstruction objects in an array and joins the result into a string.\n * @param {ThemableArray} splitStyleArray ThemableArray to resolve and join.\n */\n\nfunction resolveThemableArray(splitStyleArray) {\n var theme = _themeState.theme;\n var themable = false; // Resolve the array of theming instructions to an array of strings.\n // Then join the array to produce the final CSS string.\n\n var resolvedArray = (splitStyleArray || []).map(function (currentValue) {\n var themeSlot = currentValue.theme;\n\n if (themeSlot) {\n themable = true; // A theming annotation. Resolve it.\n\n var themedValue = theme ? theme[themeSlot] : undefined;\n var defaultValue = currentValue.defaultValue || 'inherit'; // Warn to console if we hit an unthemed value even when themes are provided, but only if \"DEBUG\" is true.\n // Allow the themedValue to be undefined to explicitly request the default value.\n\n if (theme && !themedValue && console && !(themeSlot in theme) && typeof DEBUG !== 'undefined' && DEBUG) {\n console.warn(\"Theming value not provided for \\\"\" + themeSlot + \"\\\". Falling back to \\\"\" + defaultValue + \"\\\".\");\n }\n\n return themedValue || defaultValue;\n } else {\n // A non-themable string. Preserve it.\n return currentValue.rawString;\n }\n });\n return {\n styleString: resolvedArray.join(''),\n themable: themable\n };\n}\n/**\n * Split tokenized CSS into an array of strings and theme specification objects\n * @param {string} styles Tokenized styles to split.\n */\n\n\nexport function splitStyles(styles) {\n var result = [];\n\n if (styles) {\n var pos = 0; // Current position in styles.\n\n var tokenMatch = void 0; // eslint-disable-line @rushstack/no-null\n\n while (tokenMatch = _themeTokenRegex.exec(styles)) {\n var matchIndex = tokenMatch.index;\n\n if (matchIndex > pos) {\n result.push({\n rawString: styles.substring(pos, matchIndex)\n });\n }\n\n result.push({\n theme: tokenMatch[1],\n defaultValue: tokenMatch[2] // May be undefined\n\n }); // index of the first character after the current match\n\n pos = _themeTokenRegex.lastIndex;\n } // Push the rest of the string after the last match.\n\n\n result.push({\n rawString: styles.substring(pos)\n });\n }\n\n return result;\n}\n/**\n * Registers a set of style text. If it is registered too early, we will register it when the\n * window.load event is fired.\n * @param {ThemableArray} styleArray Array of IThemingInstruction objects to register.\n * @param {IStyleRecord} styleRecord May specify a style Element to update.\n */\n\nfunction registerStyles(styleArray) {\n if (typeof document === 'undefined') {\n return;\n }\n\n var head = document.getElementsByTagName('head')[0];\n var styleElement = document.createElement('style');\n\n var _a = resolveThemableArray(styleArray),\n styleString = _a.styleString,\n themable = _a.themable;\n\n styleElement.setAttribute('data-load-themed-styles', 'true');\n\n if (_styleNonce) {\n styleElement.setAttribute('nonce', _styleNonce);\n }\n\n styleElement.appendChild(document.createTextNode(styleString));\n _themeState.perf.count++;\n head.appendChild(styleElement);\n var ev = document.createEvent('HTMLEvents');\n ev.initEvent('styleinsert', true\n /* bubbleEvent */\n , false\n /* cancelable */\n );\n ev.args = {\n newStyle: styleElement\n };\n document.dispatchEvent(ev);\n var record = {\n styleElement: styleElement,\n themableStyle: styleArray\n };\n\n if (themable) {\n _themeState.registeredThemableStyles.push(record);\n } else {\n _themeState.registeredStyles.push(record);\n }\n}","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { classNames, MS_ICON } from './Icon.styles';\nimport { css, getNativeProps, htmlElementProperties, memoizeFunction } from '../../Utilities';\nimport { getIcon } from '../../Styling';\nexport var getIconContent = memoizeFunction(function (iconName) {\n var _a = getIcon(iconName) || {\n subset: {},\n code: undefined\n },\n code = _a.code,\n subset = _a.subset;\n\n if (!code) {\n return null;\n }\n\n return {\n children: code,\n iconClassName: subset.className,\n fontFamily: subset.fontFace && subset.fontFace.fontFamily\n };\n}, undefined, true\n/*ignoreNullOrUndefinedResult */\n);\n/**\n * Fast icon component which only supports font glyphs (not images) and can't be targeted by customizations.\n * To style the icon, use `className` or reference `ms-Icon` in CSS.\n * {@docCategory Icon}\n */\n\nexport var FontIcon = function FontIcon(props) {\n var iconName = props.iconName,\n className = props.className,\n _a = props.style,\n style = _a === void 0 ? {} : _a;\n var iconContent = getIconContent(iconName) || {};\n var iconClassName = iconContent.iconClassName,\n children = iconContent.children,\n fontFamily = iconContent.fontFamily;\n var nativeProps = getNativeProps(props, htmlElementProperties);\n var containerProps = props['aria-label'] ? {} : {\n role: 'presentation',\n 'aria-hidden': true\n };\n return React.createElement(\"i\", __assign({\n \"data-icon-name\": iconName\n }, containerProps, nativeProps, {\n className: css(MS_ICON, classNames.root, iconClassName, !iconName && classNames.placeholder, className),\n // Apply the font family this way to ensure it doesn't get overridden by Fabric Core ms-Icon styles\n // https://github.com/OfficeDev/office-ui-fabric-react/issues/10449\n style: __assign({\n fontFamily: fontFamily\n }, style)\n }), children);\n};\n/**\n * Memoized helper for rendering a FontIcon.\n * @param iconName - The name of the icon to use from the icon font.\n * @param className - Class name for styling the icon.\n * @param ariaLabel - Label for the icon for the benefit of screen readers.\n * {@docCategory Icon}\n */\n\nexport var getFontIcon = memoizeFunction(function (iconName, className, ariaLabel) {\n return FontIcon({\n iconName: iconName,\n className: className,\n 'aria-label': ariaLabel\n });\n});","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 */\n\nexport function elementContains(parent, child, allowVirtualParents) {\n if (allowVirtualParents === void 0) {\n allowVirtualParents = true;\n }\n\n var isContained = false;\n\n if (parent && child) {\n if (allowVirtualParents) {\n isContained = false;\n\n while (child) {\n var nextParent = getParent(child);\n\n if (nextParent === parent) {\n isContained = true;\n break;\n }\n\n child = nextParent;\n }\n } else if (parent.contains) {\n isContained = parent.contains(child);\n }\n }\n\n return isContained;\n}","var _a;\n\nimport { KeyCodes } from './KeyCodes';\nvar DirectionalKeyCodes = (_a = {}, _a[KeyCodes.up] = 1, _a[KeyCodes.down] = 1, _a[KeyCodes.left] = 1, _a[KeyCodes.right] = 1, _a[KeyCodes.home] = 1, _a[KeyCodes.end] = 1, _a[KeyCodes.tab] = 1, _a[KeyCodes.pageUp] = 1, _a[KeyCodes.pageDown] = 1, _a);\n/**\n * Returns true if the keycode is a directional keyboard key.\n */\n\nexport function isDirectionalKeyCode(which) {\n return !!DirectionalKeyCodes[which];\n}\n/**\n * Adds a keycode to the list of keys that, when pressed, should cause the focus outlines to be visible.\n * This can be used to add global shortcut keys that directionally move from section to section within\n * an app or between focus trap zones.\n */\n\nexport function addDirectionalKeyCode(which) {\n DirectionalKeyCodes[which] = 1;\n}","/* tslint:disable:no-string-literal */\nimport { assign } from './object';\n/** An instance of EventGroup allows anything with a handle to it to trigger events on it.\n * If the target is an HTMLElement, the event will be attached to the element and can be\n * triggered as usual (like clicking for onclick).\n * The event can be triggered by calling EventGroup.raise() here. If the target is an\n * HTMLElement, the event gets raised and is handled by the browser. Otherwise, it gets\n * handled here in EventGroup, and the handler is called in the context of the parent\n * (which is passed in in the constructor).\n *\n * @public\n * {@docCategory EventGroup}\n */\n\nvar EventGroup =\n/** @class */\nfunction () {\n /** parent: the context in which events attached to non-HTMLElements are called */\n // tslint:disable-next-line:no-any\n function EventGroup(parent) {\n this._id = EventGroup._uniqueId++;\n this._parent = parent;\n this._eventRecords = [];\n }\n /** For IE8, bubbleEvent is ignored here and must be dealt with by the handler.\n * Events raised here by default have bubbling set to false and cancelable set to true.\n * This applies also to built-in events being raised manually here on HTMLElements,\n * which may lead to unexpected behavior if it differs from the defaults.\n *\n */\n\n\n EventGroup.raise = function ( // tslint:disable-next-line:no-any\n target, eventName, // tslint:disable-next-line:no-any\n eventArgs, bubbleEvent) {\n var retVal;\n\n if (EventGroup._isElement(target)) {\n if (typeof document !== 'undefined' && document.createEvent) {\n var ev = document.createEvent('HTMLEvents');\n ev.initEvent(eventName, bubbleEvent || false, true);\n assign(ev, eventArgs);\n retVal = target.dispatchEvent(ev); // tslint:disable-next-line:no-any\n } else if (typeof document !== 'undefined' && document['createEventObject']) {\n // IE8\n // tslint:disable-next-line:no-any\n var evObj = document['createEventObject'](eventArgs); // cannot set cancelBubble on evObj, fireEvent will overwrite it\n\n target.fireEvent('on' + eventName, evObj);\n }\n } else {\n while (target && retVal !== false) {\n var events = target.__events__;\n var eventRecords = events ? events[eventName] : null;\n\n if (eventRecords) {\n for (var id in eventRecords) {\n if (eventRecords.hasOwnProperty(id)) {\n var eventRecordList = eventRecords[id];\n\n for (var listIndex = 0; retVal !== false && listIndex < eventRecordList.length; listIndex++) {\n var record = eventRecordList[listIndex];\n\n if (record.objectCallback) {\n retVal = record.objectCallback.call(record.parent, eventArgs);\n }\n }\n }\n }\n } // If the target has a parent, bubble the event up.\n\n\n target = bubbleEvent ? target.parent : null;\n }\n }\n\n return retVal;\n }; // tslint:disable-next-line:no-any\n\n\n EventGroup.isObserved = function (target, eventName) {\n var events = target && target.__events__;\n return !!events && !!events[eventName];\n };\n /** Check to see if the target has declared support of the given event. */\n // tslint:disable-next-line:no-any\n\n\n EventGroup.isDeclared = function (target, eventName) {\n var declaredEvents = target && target.__declaredEvents;\n return !!declaredEvents && !!declaredEvents[eventName];\n }; // tslint:disable-next-line:no-any\n\n\n EventGroup.stopPropagation = function (event) {\n if (event.stopPropagation) {\n event.stopPropagation();\n } else {\n // IE8\n event.cancelBubble = true;\n }\n };\n\n EventGroup._isElement = function (target) {\n return !!target && (!!target.addEventListener || typeof HTMLElement !== 'undefined' && target instanceof HTMLElement);\n };\n\n EventGroup.prototype.dispose = function () {\n if (!this._isDisposed) {\n this._isDisposed = true;\n this.off();\n this._parent = null;\n }\n };\n /** On the target, attach a set of events, where the events object is a name to function mapping. */\n // tslint:disable-next-line:no-any\n\n\n EventGroup.prototype.onAll = function (target, events, useCapture) {\n for (var eventName in events) {\n if (events.hasOwnProperty(eventName)) {\n this.on(target, eventName, events[eventName], useCapture);\n }\n }\n };\n /** On the target, attach an event whose handler will be called in the context of the parent\n * of this instance of EventGroup.\n */\n // tslint:disable-next-line:no-any\n\n\n EventGroup.prototype.on = function (target, eventName, callback, options) {\n var _this = this;\n\n if (eventName.indexOf(',') > -1) {\n var events = eventName.split(/[ ,]+/);\n\n for (var i = 0; i < events.length; i++) {\n this.on(target, events[i], callback, options);\n }\n } else {\n var parent_1 = this._parent;\n var eventRecord = {\n target: target,\n eventName: eventName,\n parent: parent_1,\n callback: callback,\n options: options\n }; // Initialize and wire up the record on the target, so that it can call the callback if the event fires.\n\n var events = target.__events__ = target.__events__ || {};\n events[eventName] = events[eventName] || {\n count: 0\n };\n events[eventName][this._id] = events[eventName][this._id] || [];\n\n events[eventName][this._id].push(eventRecord);\n\n events[eventName].count++;\n\n if (EventGroup._isElement(target)) {\n // tslint:disable-next-line:no-any\n var processElementEvent = function processElementEvent() {\n var args = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n\n if (_this._isDisposed) {\n return;\n }\n\n var result;\n\n try {\n result = callback.apply(parent_1, args);\n\n if (result === false && args[0]) {\n var e = args[0];\n\n if (e.preventDefault) {\n e.preventDefault();\n }\n\n if (e.stopPropagation) {\n e.stopPropagation();\n }\n\n e.cancelBubble = true;\n }\n } catch (e) {\n /* ErrorHelper.log(e); */\n }\n\n return result;\n };\n\n eventRecord.elementCallback = processElementEvent;\n\n if (target.addEventListener) {\n /* tslint:disable:ban-native-functions */\n target.addEventListener(eventName, processElementEvent, options);\n /* tslint:enable:ban-native-functions */\n } else if (target.attachEvent) {\n // IE8\n target.attachEvent('on' + eventName, processElementEvent);\n }\n } else {\n // tslint:disable-next-line:no-any\n var processObjectEvent = function processObjectEvent() {\n var args = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n\n if (_this._isDisposed) {\n return;\n }\n\n return callback.apply(parent_1, args);\n };\n\n eventRecord.objectCallback = processObjectEvent;\n } // Remember the record locally, so that it can be removed.\n\n\n this._eventRecords.push(eventRecord);\n }\n }; // tslint:disable-next-line:no-any\n\n\n EventGroup.prototype.off = function (target, eventName, callback, options) {\n for (var i = 0; i < this._eventRecords.length; i++) {\n var eventRecord = this._eventRecords[i];\n\n if ((!target || target === eventRecord.target) && (!eventName || eventName === eventRecord.eventName) && (!callback || callback === eventRecord.callback) && (typeof options !== 'boolean' || options === eventRecord.options)) {\n var events = eventRecord.target.__events__;\n var targetArrayLookup = events[eventRecord.eventName];\n var targetArray = targetArrayLookup ? targetArrayLookup[this._id] : null; // We may have already target's entries, so check for null.\n\n if (targetArray) {\n if (targetArray.length === 1 || !callback) {\n targetArrayLookup.count -= targetArray.length;\n delete events[eventRecord.eventName][this._id];\n } else {\n targetArrayLookup.count--;\n targetArray.splice(targetArray.indexOf(eventRecord), 1);\n }\n\n if (!targetArrayLookup.count) {\n delete events[eventRecord.eventName];\n }\n }\n\n if (eventRecord.elementCallback) {\n if (eventRecord.target.removeEventListener) {\n eventRecord.target.removeEventListener(eventRecord.eventName, eventRecord.elementCallback, eventRecord.options);\n } else if (eventRecord.target.detachEvent) {\n // IE8\n eventRecord.target.detachEvent('on' + eventRecord.eventName, eventRecord.elementCallback);\n }\n }\n\n this._eventRecords.splice(i--, 1);\n }\n }\n };\n /** Trigger the given event in the context of this instance of EventGroup. */\n // tslint:disable-next-line:no-any\n\n\n EventGroup.prototype.raise = function (eventName, eventArgs, bubbleEvent) {\n return EventGroup.raise(this._parent, eventName, eventArgs, bubbleEvent);\n };\n /** Declare an event as being supported by this instance of EventGroup. */\n\n\n EventGroup.prototype.declare = function (event) {\n var declaredEvents = this._parent.__declaredEvents = this._parent.__declaredEvents || {};\n\n if (typeof event === 'string') {\n declaredEvents[event] = true;\n } else {\n for (var i = 0; i < event.length; i++) {\n declaredEvents[event[i]] = true;\n }\n }\n }; // tslint:disable-next-line:no-inferrable-types\n\n\n EventGroup._uniqueId = 0;\n return EventGroup;\n}();\n\nexport { EventGroup };","/**\n * Allows you to hoist static functions in components.\n * Created for the purpose of fixing broken static functions in classes\n * that utilize decorators.\n *\n * @public\n * @param source - The object where the methods are hoisted from.\n * @param dest - The object to hoist the methods onto.\n * @returns The dest object with methods added\n */\nexport function hoistStatics(source, dest) {\n for (var name_1 in source) {\n if (source.hasOwnProperty(name_1)) {\n // tslint:disable-next-line:no-any\n dest[name_1] = source[name_1];\n }\n }\n\n return dest;\n}","import { KeyCodes } from './KeyCodes';\nimport { getDocument } from './dom/getDocument';\nimport { getItem, setItem } from './sessionStorage';\nimport { setRTL as mergeStylesSetRTL } from '@uifabric/merge-styles';\nvar RTL_LOCAL_STORAGE_KEY = 'isRTL'; // Default to undefined so that we initialize on first read.\n\nvar _isRTL;\n/**\n * Gets the rtl state of the page (returns true if in rtl.)\n */\n\n\nexport function getRTL(theme) {\n if (theme === void 0) {\n theme = {};\n }\n\n if (theme.rtl !== undefined) {\n return theme.rtl;\n }\n\n if (_isRTL === undefined) {\n // Fabric supports persisting the RTL setting between page refreshes via session storage\n var savedRTL = getItem(RTL_LOCAL_STORAGE_KEY);\n\n if (savedRTL !== null) {\n _isRTL = savedRTL === '1';\n setRTL(_isRTL);\n }\n\n var doc = getDocument();\n\n if (_isRTL === undefined && doc) {\n _isRTL = (doc.body && doc.body.getAttribute('dir') || doc.documentElement.getAttribute('dir')) === 'rtl';\n mergeStylesSetRTL(_isRTL);\n }\n }\n\n return !!_isRTL;\n}\n/**\n * Sets the rtl state of the page (by adjusting the dir attribute of the html element.)\n */\n\nexport function setRTL(isRTL, persistSetting) {\n if (persistSetting === void 0) {\n persistSetting = false;\n }\n\n var doc = getDocument();\n\n if (doc) {\n doc.documentElement.setAttribute('dir', isRTL ? 'rtl' : 'ltr');\n }\n\n if (persistSetting) {\n setItem(RTL_LOCAL_STORAGE_KEY, isRTL ? '1' : '0');\n }\n\n _isRTL = isRTL;\n mergeStylesSetRTL(_isRTL);\n}\n/**\n * Returns the given key, but flips right/left arrows if necessary.\n */\n\nexport function getRTLSafeKeyCode(key, theme) {\n if (theme === void 0) {\n theme = {};\n }\n\n if (getRTL(theme)) {\n if (key === KeyCodes.left) {\n key = KeyCodes.right;\n } else if (key === KeyCodes.right) {\n key = KeyCodes.left;\n }\n }\n\n return key;\n}","/**\n * Fetches an item from session storage without throwing an exception\n * @param key The key of the item to fetch from session storage\n */\nexport function getItem(key) {\n var result = null;\n\n try {\n result = window.sessionStorage.getItem(key);\n } catch (e) {\n /* Eat the exception */\n }\n\n return result;\n}\n/**\n * Inserts an item into session storage without throwing an exception\n * @param key The key of the item to add to session storage\n * @param data The data to put into session storage\n */\n\nexport function setItem(key, data) {\n try {\n window.sessionStorage.setItem(key, data);\n } catch (e) {\n /* Eat the exception */\n }\n}","/** @license React v16.12.0\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';\n\nvar h = require(\"object-assign\"),\n n = \"function\" === typeof Symbol && Symbol.for,\n p = n ? Symbol.for(\"react.element\") : 60103,\n q = n ? Symbol.for(\"react.portal\") : 60106,\n r = n ? Symbol.for(\"react.fragment\") : 60107,\n t = n ? Symbol.for(\"react.strict_mode\") : 60108,\n u = n ? Symbol.for(\"react.profiler\") : 60114,\n v = n ? Symbol.for(\"react.provider\") : 60109,\n w = n ? Symbol.for(\"react.context\") : 60110,\n x = n ? Symbol.for(\"react.forward_ref\") : 60112,\n y = n ? Symbol.for(\"react.suspense\") : 60113;\n\nn && Symbol.for(\"react.suspense_list\");\nvar z = n ? Symbol.for(\"react.memo\") : 60115,\n aa = n ? Symbol.for(\"react.lazy\") : 60116;\nn && Symbol.for(\"react.fundamental\");\nn && Symbol.for(\"react.responder\");\nn && Symbol.for(\"react.scope\");\nvar A = \"function\" === typeof Symbol && Symbol.iterator;\n\nfunction B(a) {\n for (var b = \"https://reactjs.org/docs/error-decoder.html?invariant=\" + a, c = 1; c < arguments.length; c++) {\n b += \"&args[]=\" + encodeURIComponent(arguments[c]);\n }\n\n return \"Minified React error #\" + a + \"; visit \" + b + \" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\";\n}\n\nvar C = {\n isMounted: function isMounted() {\n return !1;\n },\n enqueueForceUpdate: function enqueueForceUpdate() {},\n enqueueReplaceState: function enqueueReplaceState() {},\n enqueueSetState: function enqueueSetState() {}\n},\n D = {};\n\nfunction E(a, b, c) {\n this.props = a;\n this.context = b;\n this.refs = D;\n this.updater = c || C;\n}\n\nE.prototype.isReactComponent = {};\n\nE.prototype.setState = function (a, b) {\n if (\"object\" !== typeof a && \"function\" !== typeof a && null != a) throw Error(B(85));\n this.updater.enqueueSetState(this, a, b, \"setState\");\n};\n\nE.prototype.forceUpdate = function (a) {\n this.updater.enqueueForceUpdate(this, a, \"forceUpdate\");\n};\n\nfunction F() {}\n\nF.prototype = E.prototype;\n\nfunction G(a, b, c) {\n this.props = a;\n this.context = b;\n this.refs = D;\n this.updater = c || C;\n}\n\nvar H = G.prototype = new F();\nH.constructor = G;\nh(H, E.prototype);\nH.isPureReactComponent = !0;\nvar I = {\n current: null\n},\n J = {\n current: null\n},\n K = Object.prototype.hasOwnProperty,\n L = {\n key: !0,\n ref: !0,\n __self: !0,\n __source: !0\n};\n\nfunction M(a, b, c) {\n var e,\n d = {},\n g = null,\n l = null;\n if (null != b) for (e in void 0 !== b.ref && (l = b.ref), void 0 !== b.key && (g = \"\" + b.key), b) {\n K.call(b, e) && !L.hasOwnProperty(e) && (d[e] = b[e]);\n }\n var f = arguments.length - 2;\n if (1 === f) d.children = c;else if (1 < f) {\n for (var k = Array(f), m = 0; m < f; m++) {\n k[m] = arguments[m + 2];\n }\n\n d.children = k;\n }\n if (a && a.defaultProps) for (e in f = a.defaultProps, f) {\n void 0 === d[e] && (d[e] = f[e]);\n }\n return {\n $$typeof: p,\n type: a,\n key: g,\n ref: l,\n props: d,\n _owner: J.current\n };\n}\n\nfunction ba(a, b) {\n return {\n $$typeof: p,\n type: a.type,\n key: b,\n ref: a.ref,\n props: a.props,\n _owner: a._owner\n };\n}\n\nfunction N(a) {\n return \"object\" === typeof a && null !== a && a.$$typeof === p;\n}\n\nfunction escape(a) {\n var b = {\n \"=\": \"=0\",\n \":\": \"=2\"\n };\n return \"$\" + (\"\" + a).replace(/[=:]/g, function (a) {\n return b[a];\n });\n}\n\nvar O = /\\/+/g,\n P = [];\n\nfunction Q(a, b, c, e) {\n if (P.length) {\n var d = P.pop();\n d.result = a;\n d.keyPrefix = b;\n d.func = c;\n d.context = e;\n d.count = 0;\n return d;\n }\n\n return {\n result: a,\n keyPrefix: b,\n func: c,\n context: e,\n count: 0\n };\n}\n\nfunction R(a) {\n a.result = null;\n a.keyPrefix = null;\n a.func = null;\n a.context = null;\n a.count = 0;\n 10 > P.length && P.push(a);\n}\n\nfunction S(a, b, c, e) {\n var d = typeof a;\n if (\"undefined\" === d || \"boolean\" === d) a = null;\n var g = !1;\n if (null === a) g = !0;else switch (d) {\n case \"string\":\n case \"number\":\n g = !0;\n break;\n\n case \"object\":\n switch (a.$$typeof) {\n case p:\n case q:\n g = !0;\n }\n\n }\n if (g) return c(e, a, \"\" === b ? \".\" + T(a, 0) : b), 1;\n g = 0;\n b = \"\" === b ? \".\" : b + \":\";\n if (Array.isArray(a)) for (var l = 0; l < a.length; l++) {\n d = a[l];\n var f = b + T(d, l);\n g += S(d, f, c, e);\n } else if (null === a || \"object\" !== typeof a ? f = null : (f = A && a[A] || a[\"@@iterator\"], f = \"function\" === typeof f ? f : null), \"function\" === typeof f) for (a = f.call(a), l = 0; !(d = a.next()).done;) {\n d = d.value, f = b + T(d, l++), g += S(d, f, c, e);\n } else if (\"object\" === d) throw c = \"\" + a, Error(B(31, \"[object Object]\" === c ? \"object with keys {\" + Object.keys(a).join(\", \") + \"}\" : c, \"\"));\n return g;\n}\n\nfunction U(a, b, c) {\n return null == a ? 0 : S(a, \"\", b, c);\n}\n\nfunction T(a, b) {\n return \"object\" === typeof a && null !== a && null != a.key ? escape(a.key) : b.toString(36);\n}\n\nfunction ca(a, b) {\n a.func.call(a.context, b, a.count++);\n}\n\nfunction da(a, b, c) {\n var e = a.result,\n d = a.keyPrefix;\n a = a.func.call(a.context, b, a.count++);\n Array.isArray(a) ? V(a, e, c, function (a) {\n return a;\n }) : null != a && (N(a) && (a = ba(a, d + (!a.key || b && b.key === a.key ? \"\" : (\"\" + a.key).replace(O, \"$&/\") + \"/\") + c)), e.push(a));\n}\n\nfunction V(a, b, c, e, d) {\n var g = \"\";\n null != c && (g = (\"\" + c).replace(O, \"$&/\") + \"/\");\n b = Q(b, g, e, d);\n U(a, da, b);\n R(b);\n}\n\nfunction W() {\n var a = I.current;\n if (null === a) throw Error(B(321));\n return a;\n}\n\nvar X = {\n Children: {\n map: function map(a, b, c) {\n if (null == a) return a;\n var e = [];\n V(a, e, null, b, c);\n return e;\n },\n forEach: function forEach(a, b, c) {\n if (null == a) return a;\n b = Q(null, null, b, c);\n U(a, ca, b);\n R(b);\n },\n count: function count(a) {\n return U(a, function () {\n return null;\n }, null);\n },\n toArray: function toArray(a) {\n var b = [];\n V(a, b, null, function (a) {\n return a;\n });\n return b;\n },\n only: function only(a) {\n if (!N(a)) throw Error(B(143));\n return a;\n }\n },\n createRef: function createRef() {\n return {\n current: null\n };\n },\n Component: E,\n PureComponent: G,\n createContext: function createContext(a, b) {\n void 0 === b && (b = null);\n a = {\n $$typeof: w,\n _calculateChangedBits: b,\n _currentValue: a,\n _currentValue2: a,\n _threadCount: 0,\n Provider: null,\n Consumer: null\n };\n a.Provider = {\n $$typeof: v,\n _context: a\n };\n return a.Consumer = a;\n },\n forwardRef: function forwardRef(a) {\n return {\n $$typeof: x,\n render: a\n };\n },\n lazy: function lazy(a) {\n return {\n $$typeof: aa,\n _ctor: a,\n _status: -1,\n _result: null\n };\n },\n memo: function memo(a, b) {\n return {\n $$typeof: z,\n type: a,\n compare: void 0 === b ? null : b\n };\n },\n useCallback: function useCallback(a, b) {\n return W().useCallback(a, b);\n },\n useContext: function useContext(a, b) {\n return W().useContext(a, b);\n },\n useEffect: function useEffect(a, b) {\n return W().useEffect(a, b);\n },\n useImperativeHandle: function useImperativeHandle(a, b, c) {\n return W().useImperativeHandle(a, b, c);\n },\n useDebugValue: function useDebugValue() {},\n useLayoutEffect: function useLayoutEffect(a, b) {\n return W().useLayoutEffect(a, b);\n },\n useMemo: function useMemo(a, b) {\n return W().useMemo(a, b);\n },\n useReducer: function useReducer(a, b, c) {\n return W().useReducer(a, b, c);\n },\n useRef: function useRef(a) {\n return W().useRef(a);\n },\n useState: function useState(a) {\n return W().useState(a);\n },\n Fragment: r,\n Profiler: u,\n StrictMode: t,\n Suspense: y,\n createElement: M,\n cloneElement: function cloneElement(a, b, c) {\n if (null === a || void 0 === a) throw Error(B(267, a));\n var e = h({}, a.props),\n d = a.key,\n g = a.ref,\n l = a._owner;\n\n if (null != b) {\n void 0 !== b.ref && (g = b.ref, l = J.current);\n void 0 !== b.key && (d = \"\" + b.key);\n if (a.type && a.type.defaultProps) var f = a.type.defaultProps;\n\n for (k in b) {\n K.call(b, k) && !L.hasOwnProperty(k) && (e[k] = void 0 === b[k] && void 0 !== f ? f[k] : b[k]);\n }\n }\n\n var k = arguments.length - 2;\n if (1 === k) e.children = c;else if (1 < k) {\n f = Array(k);\n\n for (var m = 0; m < k; m++) {\n f[m] = arguments[m + 2];\n }\n\n e.children = f;\n }\n return {\n $$typeof: p,\n type: a.type,\n key: d,\n ref: g,\n props: e,\n _owner: l\n };\n },\n createFactory: function createFactory(a) {\n var b = M.bind(null, a);\n b.type = a;\n return b;\n },\n isValidElement: N,\n version: \"16.12.0\",\n __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED: {\n ReactCurrentDispatcher: I,\n ReactCurrentBatchConfig: {\n suspense: null\n },\n ReactCurrentOwner: J,\n IsSomeRendererActing: {\n current: !1\n },\n assign: h\n }\n},\n Y = {\n default: X\n},\n Z = Y && X || Y;\nmodule.exports = Z.default || Z;","/** @license React v16.12.0\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';\n\nvar aa = require(\"react\"),\n n = require(\"object-assign\"),\n q = require(\"scheduler\");\n\nfunction u(a) {\n for (var b = \"https://reactjs.org/docs/error-decoder.html?invariant=\" + a, c = 1; c < arguments.length; c++) {\n b += \"&args[]=\" + encodeURIComponent(arguments[c]);\n }\n\n return \"Minified React error #\" + a + \"; visit \" + b + \" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\";\n}\n\nif (!aa) throw Error(u(227));\nvar ba = null,\n ca = {};\n\nfunction da() {\n if (ba) for (var a in ca) {\n var b = ca[a],\n c = ba.indexOf(a);\n if (!(-1 < c)) throw Error(u(96, a));\n\n if (!ea[c]) {\n if (!b.extractEvents) throw Error(u(97, a));\n ea[c] = b;\n c = b.eventTypes;\n\n for (var d in c) {\n var e = void 0;\n var f = c[d],\n g = b,\n h = d;\n if (fa.hasOwnProperty(h)) throw Error(u(99, h));\n fa[h] = f;\n var k = f.phasedRegistrationNames;\n\n if (k) {\n for (e in k) {\n k.hasOwnProperty(e) && ha(k[e], g, h);\n }\n\n e = !0;\n } else f.registrationName ? (ha(f.registrationName, g, h), e = !0) : e = !1;\n\n if (!e) throw Error(u(98, d, a));\n }\n }\n }\n}\n\nfunction ha(a, b, c) {\n if (ia[a]) throw Error(u(100, a));\n ia[a] = b;\n ja[a] = b.eventTypes[c].dependencies;\n}\n\nvar ea = [],\n fa = {},\n ia = {},\n ja = {};\n\nfunction ka(a, b, c, d, e, f, g, h, k) {\n var l = Array.prototype.slice.call(arguments, 3);\n\n try {\n b.apply(c, l);\n } catch (m) {\n this.onError(m);\n }\n}\n\nvar la = !1,\n ma = null,\n na = !1,\n oa = null,\n pa = {\n onError: function onError(a) {\n la = !0;\n ma = a;\n }\n};\n\nfunction qa(a, b, c, d, e, f, g, h, k) {\n la = !1;\n ma = null;\n ka.apply(pa, arguments);\n}\n\nfunction ra(a, b, c, d, e, f, g, h, k) {\n qa.apply(this, arguments);\n\n if (la) {\n if (la) {\n var l = ma;\n la = !1;\n ma = null;\n } else throw Error(u(198));\n\n na || (na = !0, oa = l);\n }\n}\n\nvar sa = null,\n ua = null,\n va = null;\n\nfunction wa(a, b, c) {\n var d = a.type || \"unknown-event\";\n a.currentTarget = va(c);\n ra(d, b, void 0, a);\n a.currentTarget = null;\n}\n\nfunction xa(a, b) {\n if (null == b) throw Error(u(30));\n if (null == a) return b;\n\n if (Array.isArray(a)) {\n if (Array.isArray(b)) return a.push.apply(a, b), a;\n a.push(b);\n return a;\n }\n\n return Array.isArray(b) ? [a].concat(b) : [a, b];\n}\n\nfunction ya(a, b, c) {\n Array.isArray(a) ? a.forEach(b, c) : a && b.call(c, a);\n}\n\nvar za = null;\n\nfunction Aa(a) {\n if (a) {\n var b = a._dispatchListeners,\n c = a._dispatchInstances;\n if (Array.isArray(b)) for (var d = 0; d < b.length && !a.isPropagationStopped(); d++) {\n wa(a, b[d], c[d]);\n } else b && wa(a, b, c);\n a._dispatchListeners = null;\n a._dispatchInstances = null;\n a.isPersistent() || a.constructor.release(a);\n }\n}\n\nfunction Ba(a) {\n null !== a && (za = xa(za, a));\n a = za;\n za = null;\n\n if (a) {\n ya(a, Aa);\n if (za) throw Error(u(95));\n if (na) throw a = oa, na = !1, oa = null, a;\n }\n}\n\nvar Ca = {\n injectEventPluginOrder: function injectEventPluginOrder(a) {\n if (ba) throw Error(u(101));\n ba = Array.prototype.slice.call(a);\n da();\n },\n injectEventPluginsByName: function injectEventPluginsByName(a) {\n var b = !1,\n c;\n\n for (c in a) {\n if (a.hasOwnProperty(c)) {\n var d = a[c];\n\n if (!ca.hasOwnProperty(c) || ca[c] !== d) {\n if (ca[c]) throw Error(u(102, c));\n ca[c] = d;\n b = !0;\n }\n }\n }\n\n b && da();\n }\n};\n\nfunction Da(a, b) {\n var c = a.stateNode;\n if (!c) return null;\n var d = sa(c);\n if (!d) return null;\n c = d[b];\n\n a: switch (b) {\n case \"onClick\":\n case \"onClickCapture\":\n case \"onDoubleClick\":\n case \"onDoubleClickCapture\":\n case \"onMouseDown\":\n case \"onMouseDownCapture\":\n case \"onMouseMove\":\n case \"onMouseMoveCapture\":\n case \"onMouseUp\":\n case \"onMouseUpCapture\":\n (d = !d.disabled) || (a = a.type, d = !(\"button\" === a || \"input\" === a || \"select\" === a || \"textarea\" === a));\n a = !d;\n break a;\n\n default:\n a = !1;\n }\n\n if (a) return null;\n if (c && \"function\" !== typeof c) throw Error(u(231, b, typeof c));\n return c;\n}\n\nvar Ea = aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\nEa.hasOwnProperty(\"ReactCurrentDispatcher\") || (Ea.ReactCurrentDispatcher = {\n current: null\n});\nEa.hasOwnProperty(\"ReactCurrentBatchConfig\") || (Ea.ReactCurrentBatchConfig = {\n suspense: null\n});\nvar Fa = /^(.*)[\\\\\\/]/,\n w = \"function\" === typeof Symbol && Symbol.for,\n Ga = w ? Symbol.for(\"react.element\") : 60103,\n Ha = w ? Symbol.for(\"react.portal\") : 60106,\n Ia = w ? Symbol.for(\"react.fragment\") : 60107,\n Ja = w ? Symbol.for(\"react.strict_mode\") : 60108,\n Ka = w ? Symbol.for(\"react.profiler\") : 60114,\n La = w ? Symbol.for(\"react.provider\") : 60109,\n Ma = w ? Symbol.for(\"react.context\") : 60110,\n Na = w ? Symbol.for(\"react.concurrent_mode\") : 60111,\n Oa = w ? Symbol.for(\"react.forward_ref\") : 60112,\n Pa = w ? Symbol.for(\"react.suspense\") : 60113,\n Qa = w ? Symbol.for(\"react.suspense_list\") : 60120,\n Ra = w ? Symbol.for(\"react.memo\") : 60115,\n Sa = w ? Symbol.for(\"react.lazy\") : 60116;\nw && Symbol.for(\"react.fundamental\");\nw && Symbol.for(\"react.responder\");\nw && Symbol.for(\"react.scope\");\nvar Ta = \"function\" === typeof Symbol && Symbol.iterator;\n\nfunction Ua(a) {\n if (null === a || \"object\" !== typeof a) return null;\n a = Ta && a[Ta] || a[\"@@iterator\"];\n return \"function\" === typeof a ? a : null;\n}\n\nfunction Va(a) {\n if (-1 === a._status) {\n a._status = 0;\n var b = a._ctor;\n b = b();\n a._result = b;\n b.then(function (b) {\n 0 === a._status && (b = b.default, a._status = 1, a._result = b);\n }, function (b) {\n 0 === a._status && (a._status = 2, a._result = b);\n });\n }\n}\n\nfunction Wa(a) {\n if (null == a) return null;\n if (\"function\" === typeof a) return a.displayName || a.name || null;\n if (\"string\" === typeof a) return a;\n\n switch (a) {\n case Ia:\n return \"Fragment\";\n\n case Ha:\n return \"Portal\";\n\n case Ka:\n return \"Profiler\";\n\n case Ja:\n return \"StrictMode\";\n\n case Pa:\n return \"Suspense\";\n\n case Qa:\n return \"SuspenseList\";\n }\n\n if (\"object\" === typeof a) switch (a.$$typeof) {\n case Ma:\n return \"Context.Consumer\";\n\n case La:\n return \"Context.Provider\";\n\n case Oa:\n var b = a.render;\n b = b.displayName || b.name || \"\";\n return a.displayName || (\"\" !== b ? \"ForwardRef(\" + b + \")\" : \"ForwardRef\");\n\n case Ra:\n return Wa(a.type);\n\n case Sa:\n if (a = 1 === a._status ? a._result : null) return Wa(a);\n }\n return null;\n}\n\nfunction Xa(a) {\n var b = \"\";\n\n do {\n a: switch (a.tag) {\n case 3:\n case 4:\n case 6:\n case 7:\n case 10:\n case 9:\n var c = \"\";\n break a;\n\n default:\n var d = a._debugOwner,\n e = a._debugSource,\n f = Wa(a.type);\n c = null;\n d && (c = Wa(d.type));\n d = f;\n f = \"\";\n e ? f = \" (at \" + e.fileName.replace(Fa, \"\") + \":\" + e.lineNumber + \")\" : c && (f = \" (created by \" + c + \")\");\n c = \"\\n in \" + (d || \"Unknown\") + f;\n }\n\n b += c;\n a = a.return;\n } while (a);\n\n return b;\n}\n\nvar Ya = !(\"undefined\" === typeof window || \"undefined\" === typeof window.document || \"undefined\" === typeof window.document.createElement),\n Za = null,\n $a = null,\n ab = null;\n\nfunction bb(a) {\n if (a = ua(a)) {\n if (\"function\" !== typeof Za) throw Error(u(280));\n var b = sa(a.stateNode);\n Za(a.stateNode, a.type, b);\n }\n}\n\nfunction cb(a) {\n $a ? ab ? ab.push(a) : ab = [a] : $a = a;\n}\n\nfunction db() {\n if ($a) {\n var a = $a,\n b = ab;\n ab = $a = null;\n bb(a);\n if (b) for (a = 0; a < b.length; a++) {\n bb(b[a]);\n }\n }\n}\n\nfunction eb(a, b) {\n return a(b);\n}\n\nfunction fb(a, b, c, d) {\n return a(b, c, d);\n}\n\nfunction gb() {}\n\nvar hb = eb,\n ib = !1,\n jb = !1;\n\nfunction kb() {\n if (null !== $a || null !== ab) gb(), db();\n}\n\nnew Map();\nvar lb = /^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,\n mb = Object.prototype.hasOwnProperty,\n nb = {},\n ob = {};\n\nfunction pb(a) {\n if (mb.call(ob, a)) return !0;\n if (mb.call(nb, a)) return !1;\n if (lb.test(a)) return ob[a] = !0;\n nb[a] = !0;\n return !1;\n}\n\nfunction qb(a, b, c, d) {\n if (null !== c && 0 === c.type) return !1;\n\n switch (typeof b) {\n case \"function\":\n case \"symbol\":\n return !0;\n\n case \"boolean\":\n if (d) return !1;\n if (null !== c) return !c.acceptsBooleans;\n a = a.toLowerCase().slice(0, 5);\n return \"data-\" !== a && \"aria-\" !== a;\n\n default:\n return !1;\n }\n}\n\nfunction rb(a, b, c, d) {\n if (null === b || \"undefined\" === typeof b || qb(a, b, c, d)) return !0;\n if (d) return !1;\n if (null !== c) switch (c.type) {\n case 3:\n return !b;\n\n case 4:\n return !1 === b;\n\n case 5:\n return isNaN(b);\n\n case 6:\n return isNaN(b) || 1 > b;\n }\n return !1;\n}\n\nfunction B(a, b, c, d, e, f) {\n this.acceptsBooleans = 2 === b || 3 === b || 4 === b;\n this.attributeName = d;\n this.attributeNamespace = e;\n this.mustUseProperty = c;\n this.propertyName = a;\n this.type = b;\n this.sanitizeURL = f;\n}\n\nvar D = {};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function (a) {\n D[a] = new B(a, 0, !1, a, null, !1);\n});\n[[\"acceptCharset\", \"accept-charset\"], [\"className\", \"class\"], [\"htmlFor\", \"for\"], [\"httpEquiv\", \"http-equiv\"]].forEach(function (a) {\n var b = a[0];\n D[b] = new B(b, 1, !1, a[1], null, !1);\n});\n[\"contentEditable\", \"draggable\", \"spellCheck\", \"value\"].forEach(function (a) {\n D[a] = new B(a, 2, !1, a.toLowerCase(), null, !1);\n});\n[\"autoReverse\", \"externalResourcesRequired\", \"focusable\", \"preserveAlpha\"].forEach(function (a) {\n D[a] = new B(a, 2, !1, a, null, !1);\n});\n\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function (a) {\n D[a] = new B(a, 3, !1, a.toLowerCase(), null, !1);\n});\n[\"checked\", \"multiple\", \"muted\", \"selected\"].forEach(function (a) {\n D[a] = new B(a, 3, !0, a, null, !1);\n});\n[\"capture\", \"download\"].forEach(function (a) {\n D[a] = new B(a, 4, !1, a, null, !1);\n});\n[\"cols\", \"rows\", \"size\", \"span\"].forEach(function (a) {\n D[a] = new B(a, 6, !1, a, null, !1);\n});\n[\"rowSpan\", \"start\"].forEach(function (a) {\n D[a] = new B(a, 5, !1, a.toLowerCase(), null, !1);\n});\nvar sb = /[\\-:]([a-z])/g;\n\nfunction tb(a) {\n return a[1].toUpperCase();\n}\n\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function (a) {\n var b = a.replace(sb, tb);\n D[b] = new B(b, 1, !1, a, null, !1);\n});\n\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function (a) {\n var b = a.replace(sb, tb);\n D[b] = new B(b, 1, !1, a, \"http://www.w3.org/1999/xlink\", !1);\n});\n[\"xml:base\", \"xml:lang\", \"xml:space\"].forEach(function (a) {\n var b = a.replace(sb, tb);\n D[b] = new B(b, 1, !1, a, \"http://www.w3.org/XML/1998/namespace\", !1);\n});\n[\"tabIndex\", \"crossOrigin\"].forEach(function (a) {\n D[a] = new B(a, 1, !1, a.toLowerCase(), null, !1);\n});\nD.xlinkHref = new B(\"xlinkHref\", 1, !1, \"xlink:href\", \"http://www.w3.org/1999/xlink\", !0);\n[\"src\", \"href\", \"action\", \"formAction\"].forEach(function (a) {\n D[a] = new B(a, 1, !1, a.toLowerCase(), null, !0);\n});\n\nfunction ub(a) {\n switch (typeof a) {\n case \"boolean\":\n case \"number\":\n case \"object\":\n case \"string\":\n case \"undefined\":\n return a;\n\n default:\n return \"\";\n }\n}\n\nfunction vb(a, b, c, d) {\n var e = D.hasOwnProperty(b) ? D[b] : null;\n var f = null !== e ? 0 === e.type : d ? !1 : !(2 < b.length) || \"o\" !== b[0] && \"O\" !== b[0] || \"n\" !== b[1] && \"N\" !== b[1] ? !1 : !0;\n f || (rb(b, c, e, d) && (c = null), d || null === e ? pb(b) && (null === c ? a.removeAttribute(b) : a.setAttribute(b, \"\" + c)) : e.mustUseProperty ? a[e.propertyName] = null === c ? 3 === e.type ? !1 : \"\" : c : (b = e.attributeName, d = e.attributeNamespace, null === c ? a.removeAttribute(b) : (e = e.type, c = 3 === e || 4 === e && !0 === c ? \"\" : \"\" + c, d ? a.setAttributeNS(d, b, c) : a.setAttribute(b, c))));\n}\n\nfunction wb(a) {\n var b = a.type;\n return (a = a.nodeName) && \"input\" === a.toLowerCase() && (\"checkbox\" === b || \"radio\" === b);\n}\n\nfunction xb(a) {\n var b = wb(a) ? \"checked\" : \"value\",\n c = Object.getOwnPropertyDescriptor(a.constructor.prototype, b),\n d = \"\" + a[b];\n\n if (!a.hasOwnProperty(b) && \"undefined\" !== typeof c && \"function\" === typeof c.get && \"function\" === typeof c.set) {\n var e = c.get,\n f = c.set;\n Object.defineProperty(a, b, {\n configurable: !0,\n get: function get() {\n return e.call(this);\n },\n set: function set(a) {\n d = \"\" + a;\n f.call(this, a);\n }\n });\n Object.defineProperty(a, b, {\n enumerable: c.enumerable\n });\n return {\n getValue: function getValue() {\n return d;\n },\n setValue: function setValue(a) {\n d = \"\" + a;\n },\n stopTracking: function stopTracking() {\n a._valueTracker = null;\n delete a[b];\n }\n };\n }\n}\n\nfunction yb(a) {\n a._valueTracker || (a._valueTracker = xb(a));\n}\n\nfunction zb(a) {\n if (!a) return !1;\n var b = a._valueTracker;\n if (!b) return !0;\n var c = b.getValue();\n var d = \"\";\n a && (d = wb(a) ? a.checked ? \"true\" : \"false\" : a.value);\n a = d;\n return a !== c ? (b.setValue(a), !0) : !1;\n}\n\nfunction Ab(a, b) {\n var c = b.checked;\n return n({}, b, {\n defaultChecked: void 0,\n defaultValue: void 0,\n value: void 0,\n checked: null != c ? c : a._wrapperState.initialChecked\n });\n}\n\nfunction Bb(a, b) {\n var c = null == b.defaultValue ? \"\" : b.defaultValue,\n d = null != b.checked ? b.checked : b.defaultChecked;\n c = ub(null != b.value ? b.value : c);\n a._wrapperState = {\n initialChecked: d,\n initialValue: c,\n controlled: \"checkbox\" === b.type || \"radio\" === b.type ? null != b.checked : null != b.value\n };\n}\n\nfunction Cb(a, b) {\n b = b.checked;\n null != b && vb(a, \"checked\", b, !1);\n}\n\nfunction Eb(a, b) {\n Cb(a, b);\n var c = ub(b.value),\n d = b.type;\n if (null != c) {\n if (\"number\" === d) {\n if (0 === c && \"\" === a.value || a.value != c) a.value = \"\" + c;\n } else a.value !== \"\" + c && (a.value = \"\" + c);\n } else if (\"submit\" === d || \"reset\" === d) {\n a.removeAttribute(\"value\");\n return;\n }\n b.hasOwnProperty(\"value\") ? Fb(a, b.type, c) : b.hasOwnProperty(\"defaultValue\") && Fb(a, b.type, ub(b.defaultValue));\n null == b.checked && null != b.defaultChecked && (a.defaultChecked = !!b.defaultChecked);\n}\n\nfunction Gb(a, b, c) {\n if (b.hasOwnProperty(\"value\") || b.hasOwnProperty(\"defaultValue\")) {\n var d = b.type;\n if (!(\"submit\" !== d && \"reset\" !== d || void 0 !== b.value && null !== b.value)) return;\n b = \"\" + a._wrapperState.initialValue;\n c || b === a.value || (a.value = b);\n a.defaultValue = b;\n }\n\n c = a.name;\n \"\" !== c && (a.name = \"\");\n a.defaultChecked = !a.defaultChecked;\n a.defaultChecked = !!a._wrapperState.initialChecked;\n \"\" !== c && (a.name = c);\n}\n\nfunction Fb(a, b, c) {\n if (\"number\" !== b || a.ownerDocument.activeElement !== a) null == c ? a.defaultValue = \"\" + a._wrapperState.initialValue : a.defaultValue !== \"\" + c && (a.defaultValue = \"\" + c);\n}\n\nfunction Hb(a) {\n var b = \"\";\n aa.Children.forEach(a, function (a) {\n null != a && (b += a);\n });\n return b;\n}\n\nfunction Ib(a, b) {\n a = n({\n children: void 0\n }, b);\n if (b = Hb(b.children)) a.children = b;\n return a;\n}\n\nfunction Jb(a, b, c, d) {\n a = a.options;\n\n if (b) {\n b = {};\n\n for (var e = 0; e < c.length; e++) {\n b[\"$\" + c[e]] = !0;\n }\n\n for (c = 0; c < a.length; c++) {\n e = b.hasOwnProperty(\"$\" + a[c].value), a[c].selected !== e && (a[c].selected = e), e && d && (a[c].defaultSelected = !0);\n }\n } else {\n c = \"\" + ub(c);\n b = null;\n\n for (e = 0; e < a.length; e++) {\n if (a[e].value === c) {\n a[e].selected = !0;\n d && (a[e].defaultSelected = !0);\n return;\n }\n\n null !== b || a[e].disabled || (b = a[e]);\n }\n\n null !== b && (b.selected = !0);\n }\n}\n\nfunction Kb(a, b) {\n if (null != b.dangerouslySetInnerHTML) throw Error(u(91));\n return n({}, b, {\n value: void 0,\n defaultValue: void 0,\n children: \"\" + a._wrapperState.initialValue\n });\n}\n\nfunction Lb(a, b) {\n var c = b.value;\n\n if (null == c) {\n c = b.defaultValue;\n b = b.children;\n\n if (null != b) {\n if (null != c) throw Error(u(92));\n\n if (Array.isArray(b)) {\n if (!(1 >= b.length)) throw Error(u(93));\n b = b[0];\n }\n\n c = b;\n }\n\n null == c && (c = \"\");\n }\n\n a._wrapperState = {\n initialValue: ub(c)\n };\n}\n\nfunction Mb(a, b) {\n var c = ub(b.value),\n d = ub(b.defaultValue);\n null != c && (c = \"\" + c, c !== a.value && (a.value = c), null == b.defaultValue && a.defaultValue !== c && (a.defaultValue = c));\n null != d && (a.defaultValue = \"\" + d);\n}\n\nfunction Nb(a) {\n var b = a.textContent;\n b === a._wrapperState.initialValue && \"\" !== b && null !== b && (a.value = b);\n}\n\nvar Ob = {\n html: \"http://www.w3.org/1999/xhtml\",\n mathml: \"http://www.w3.org/1998/Math/MathML\",\n svg: \"http://www.w3.org/2000/svg\"\n};\n\nfunction Pb(a) {\n switch (a) {\n case \"svg\":\n return \"http://www.w3.org/2000/svg\";\n\n case \"math\":\n return \"http://www.w3.org/1998/Math/MathML\";\n\n default:\n return \"http://www.w3.org/1999/xhtml\";\n }\n}\n\nfunction Qb(a, b) {\n return null == a || \"http://www.w3.org/1999/xhtml\" === a ? Pb(b) : \"http://www.w3.org/2000/svg\" === a && \"foreignObject\" === b ? \"http://www.w3.org/1999/xhtml\" : a;\n}\n\nvar Rb,\n Sb = function (a) {\n return \"undefined\" !== typeof MSApp && MSApp.execUnsafeLocalFunction ? function (b, c, d, e) {\n MSApp.execUnsafeLocalFunction(function () {\n return a(b, c, d, e);\n });\n } : a;\n}(function (a, b) {\n if (a.namespaceURI !== Ob.svg || \"innerHTML\" in a) a.innerHTML = b;else {\n Rb = Rb || document.createElement(\"div\");\n Rb.innerHTML = \"\" + b.valueOf().toString() + \"\";\n\n for (b = Rb.firstChild; a.firstChild;) {\n a.removeChild(a.firstChild);\n }\n\n for (; b.firstChild;) {\n a.appendChild(b.firstChild);\n }\n }\n});\n\nfunction Tb(a, b) {\n if (b) {\n var c = a.firstChild;\n\n if (c && c === a.lastChild && 3 === c.nodeType) {\n c.nodeValue = b;\n return;\n }\n }\n\n a.textContent = b;\n}\n\nfunction Ub(a, b) {\n var c = {};\n c[a.toLowerCase()] = b.toLowerCase();\n c[\"Webkit\" + a] = \"webkit\" + b;\n c[\"Moz\" + a] = \"moz\" + b;\n return c;\n}\n\nvar Vb = {\n animationend: Ub(\"Animation\", \"AnimationEnd\"),\n animationiteration: Ub(\"Animation\", \"AnimationIteration\"),\n animationstart: Ub(\"Animation\", \"AnimationStart\"),\n transitionend: Ub(\"Transition\", \"TransitionEnd\")\n},\n Wb = {},\n Xb = {};\nYa && (Xb = document.createElement(\"div\").style, \"AnimationEvent\" in window || (delete Vb.animationend.animation, delete Vb.animationiteration.animation, delete Vb.animationstart.animation), \"TransitionEvent\" in window || delete Vb.transitionend.transition);\n\nfunction Yb(a) {\n if (Wb[a]) return Wb[a];\n if (!Vb[a]) return a;\n var b = Vb[a],\n c;\n\n for (c in b) {\n if (b.hasOwnProperty(c) && c in Xb) return Wb[a] = b[c];\n }\n\n return a;\n}\n\nvar Zb = Yb(\"animationend\"),\n $b = Yb(\"animationiteration\"),\n ac = Yb(\"animationstart\"),\n bc = Yb(\"transitionend\"),\n cc = \"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \");\n\nfunction ec(a) {\n var b = a,\n c = a;\n if (a.alternate) for (; b.return;) {\n b = b.return;\n } else {\n a = b;\n\n do {\n b = a, 0 !== (b.effectTag & 1026) && (c = b.return), a = b.return;\n } while (a);\n }\n return 3 === b.tag ? c : null;\n}\n\nfunction fc(a) {\n if (13 === a.tag) {\n var b = a.memoizedState;\n null === b && (a = a.alternate, null !== a && (b = a.memoizedState));\n if (null !== b) return b.dehydrated;\n }\n\n return null;\n}\n\nfunction gc(a) {\n if (ec(a) !== a) throw Error(u(188));\n}\n\nfunction hc(a) {\n var b = a.alternate;\n\n if (!b) {\n b = ec(a);\n if (null === b) throw Error(u(188));\n return b !== a ? null : a;\n }\n\n for (var c = a, d = b;;) {\n var e = c.return;\n if (null === e) break;\n var f = e.alternate;\n\n if (null === f) {\n d = e.return;\n\n if (null !== d) {\n c = d;\n continue;\n }\n\n break;\n }\n\n if (e.child === f.child) {\n for (f = e.child; f;) {\n if (f === c) return gc(e), a;\n if (f === d) return gc(e), b;\n f = f.sibling;\n }\n\n throw Error(u(188));\n }\n\n if (c.return !== d.return) c = e, d = f;else {\n for (var g = !1, h = e.child; h;) {\n if (h === c) {\n g = !0;\n c = e;\n d = f;\n break;\n }\n\n if (h === d) {\n g = !0;\n d = e;\n c = f;\n break;\n }\n\n h = h.sibling;\n }\n\n if (!g) {\n for (h = f.child; h;) {\n if (h === c) {\n g = !0;\n c = f;\n d = e;\n break;\n }\n\n if (h === d) {\n g = !0;\n d = f;\n c = e;\n break;\n }\n\n h = h.sibling;\n }\n\n if (!g) throw Error(u(189));\n }\n }\n if (c.alternate !== d) throw Error(u(190));\n }\n\n if (3 !== c.tag) throw Error(u(188));\n return c.stateNode.current === c ? a : b;\n}\n\nfunction ic(a) {\n a = hc(a);\n if (!a) return null;\n\n for (var b = a;;) {\n if (5 === b.tag || 6 === b.tag) return b;\n if (b.child) b.child.return = b, b = b.child;else {\n if (b === a) break;\n\n for (; !b.sibling;) {\n if (!b.return || b.return === a) return null;\n b = b.return;\n }\n\n b.sibling.return = b.return;\n b = b.sibling;\n }\n }\n\n return null;\n}\n\nvar jc,\n kc,\n lc,\n mc = !1,\n nc = [],\n oc = null,\n pc = null,\n qc = null,\n rc = new Map(),\n sc = new Map(),\n tc = [],\n uc = \"mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput close cancel copy cut paste click change contextmenu reset submit\".split(\" \"),\n vc = \"focus blur dragenter dragleave mouseover mouseout pointerover pointerout gotpointercapture lostpointercapture\".split(\" \");\n\nfunction wc(a) {\n var b = xc(a);\n uc.forEach(function (c) {\n yc(c, a, b);\n });\n vc.forEach(function (c) {\n yc(c, a, b);\n });\n}\n\nfunction zc(a, b, c, d) {\n return {\n blockedOn: a,\n topLevelType: b,\n eventSystemFlags: c | 32,\n nativeEvent: d\n };\n}\n\nfunction Ac(a, b) {\n switch (a) {\n case \"focus\":\n case \"blur\":\n oc = null;\n break;\n\n case \"dragenter\":\n case \"dragleave\":\n pc = null;\n break;\n\n case \"mouseover\":\n case \"mouseout\":\n qc = null;\n break;\n\n case \"pointerover\":\n case \"pointerout\":\n rc.delete(b.pointerId);\n break;\n\n case \"gotpointercapture\":\n case \"lostpointercapture\":\n sc.delete(b.pointerId);\n }\n}\n\nfunction Bc(a, b, c, d, e) {\n if (null === a || a.nativeEvent !== e) return a = zc(b, c, d, e), null !== b && (b = Cc(b), null !== b && kc(b)), a;\n a.eventSystemFlags |= d;\n return a;\n}\n\nfunction Dc(a, b, c, d) {\n switch (b) {\n case \"focus\":\n return oc = Bc(oc, a, b, c, d), !0;\n\n case \"dragenter\":\n return pc = Bc(pc, a, b, c, d), !0;\n\n case \"mouseover\":\n return qc = Bc(qc, a, b, c, d), !0;\n\n case \"pointerover\":\n var e = d.pointerId;\n rc.set(e, Bc(rc.get(e) || null, a, b, c, d));\n return !0;\n\n case \"gotpointercapture\":\n return e = d.pointerId, sc.set(e, Bc(sc.get(e) || null, a, b, c, d)), !0;\n }\n\n return !1;\n}\n\nfunction Ec(a) {\n var b = Fc(a.target);\n\n if (null !== b) {\n var c = ec(b);\n if (null !== c) if (b = c.tag, 13 === b) {\n if (b = fc(c), null !== b) {\n a.blockedOn = b;\n q.unstable_runWithPriority(a.priority, function () {\n lc(c);\n });\n return;\n }\n } else if (3 === b && c.stateNode.hydrate) {\n a.blockedOn = 3 === c.tag ? c.stateNode.containerInfo : null;\n return;\n }\n }\n\n a.blockedOn = null;\n}\n\nfunction Gc(a) {\n if (null !== a.blockedOn) return !1;\n var b = Hc(a.topLevelType, a.eventSystemFlags, a.nativeEvent);\n\n if (null !== b) {\n var c = Cc(b);\n null !== c && kc(c);\n a.blockedOn = b;\n return !1;\n }\n\n return !0;\n}\n\nfunction Ic(a, b, c) {\n Gc(a) && c.delete(b);\n}\n\nfunction Jc() {\n for (mc = !1; 0 < nc.length;) {\n var a = nc[0];\n\n if (null !== a.blockedOn) {\n a = Cc(a.blockedOn);\n null !== a && jc(a);\n break;\n }\n\n var b = Hc(a.topLevelType, a.eventSystemFlags, a.nativeEvent);\n null !== b ? a.blockedOn = b : nc.shift();\n }\n\n null !== oc && Gc(oc) && (oc = null);\n null !== pc && Gc(pc) && (pc = null);\n null !== qc && Gc(qc) && (qc = null);\n rc.forEach(Ic);\n sc.forEach(Ic);\n}\n\nfunction Kc(a, b) {\n a.blockedOn === b && (a.blockedOn = null, mc || (mc = !0, q.unstable_scheduleCallback(q.unstable_NormalPriority, Jc)));\n}\n\nfunction Lc(a) {\n function b(b) {\n return Kc(b, a);\n }\n\n if (0 < nc.length) {\n Kc(nc[0], a);\n\n for (var c = 1; c < nc.length; c++) {\n var d = nc[c];\n d.blockedOn === a && (d.blockedOn = null);\n }\n }\n\n null !== oc && Kc(oc, a);\n null !== pc && Kc(pc, a);\n null !== qc && Kc(qc, a);\n rc.forEach(b);\n sc.forEach(b);\n\n for (c = 0; c < tc.length; c++) {\n d = tc[c], d.blockedOn === a && (d.blockedOn = null);\n }\n\n for (; 0 < tc.length && (c = tc[0], null === c.blockedOn);) {\n Ec(c), null === c.blockedOn && tc.shift();\n }\n}\n\nfunction Mc(a) {\n a = a.target || a.srcElement || window;\n a.correspondingUseElement && (a = a.correspondingUseElement);\n return 3 === a.nodeType ? a.parentNode : a;\n}\n\nfunction Nc(a) {\n do {\n a = a.return;\n } while (a && 5 !== a.tag);\n\n return a ? a : null;\n}\n\nfunction Oc(a, b, c) {\n if (b = Da(a, c.dispatchConfig.phasedRegistrationNames[b])) c._dispatchListeners = xa(c._dispatchListeners, b), c._dispatchInstances = xa(c._dispatchInstances, a);\n}\n\nfunction Pc(a) {\n if (a && a.dispatchConfig.phasedRegistrationNames) {\n for (var b = a._targetInst, c = []; b;) {\n c.push(b), b = Nc(b);\n }\n\n for (b = c.length; 0 < b--;) {\n Oc(c[b], \"captured\", a);\n }\n\n for (b = 0; b < c.length; b++) {\n Oc(c[b], \"bubbled\", a);\n }\n }\n}\n\nfunction Qc(a, b, c) {\n a && c && c.dispatchConfig.registrationName && (b = Da(a, c.dispatchConfig.registrationName)) && (c._dispatchListeners = xa(c._dispatchListeners, b), c._dispatchInstances = xa(c._dispatchInstances, a));\n}\n\nfunction Rc(a) {\n a && a.dispatchConfig.registrationName && Qc(a._targetInst, null, a);\n}\n\nfunction Sc(a) {\n ya(a, Pc);\n}\n\nfunction Tc() {\n return !0;\n}\n\nfunction Uc() {\n return !1;\n}\n\nfunction E(a, b, c, d) {\n this.dispatchConfig = a;\n this._targetInst = b;\n this.nativeEvent = c;\n a = this.constructor.Interface;\n\n for (var e in a) {\n a.hasOwnProperty(e) && ((b = a[e]) ? this[e] = b(c) : \"target\" === e ? this.target = d : this[e] = c[e]);\n }\n\n this.isDefaultPrevented = (null != c.defaultPrevented ? c.defaultPrevented : !1 === c.returnValue) ? Tc : Uc;\n this.isPropagationStopped = Uc;\n return this;\n}\n\nn(E.prototype, {\n preventDefault: function preventDefault() {\n this.defaultPrevented = !0;\n var a = this.nativeEvent;\n a && (a.preventDefault ? a.preventDefault() : \"unknown\" !== typeof a.returnValue && (a.returnValue = !1), this.isDefaultPrevented = Tc);\n },\n stopPropagation: function stopPropagation() {\n var a = this.nativeEvent;\n a && (a.stopPropagation ? a.stopPropagation() : \"unknown\" !== typeof a.cancelBubble && (a.cancelBubble = !0), this.isPropagationStopped = Tc);\n },\n persist: function persist() {\n this.isPersistent = Tc;\n },\n isPersistent: Uc,\n destructor: function destructor() {\n var a = this.constructor.Interface,\n b;\n\n for (b in a) {\n this[b] = null;\n }\n\n this.nativeEvent = this._targetInst = this.dispatchConfig = null;\n this.isPropagationStopped = this.isDefaultPrevented = Uc;\n this._dispatchInstances = this._dispatchListeners = null;\n }\n});\nE.Interface = {\n type: null,\n target: null,\n currentTarget: function currentTarget() {\n return null;\n },\n eventPhase: null,\n bubbles: null,\n cancelable: null,\n timeStamp: function timeStamp(a) {\n return a.timeStamp || Date.now();\n },\n defaultPrevented: null,\n isTrusted: null\n};\n\nE.extend = function (a) {\n function b() {}\n\n function c() {\n return d.apply(this, arguments);\n }\n\n var d = this;\n b.prototype = d.prototype;\n var e = new b();\n n(e, c.prototype);\n c.prototype = e;\n c.prototype.constructor = c;\n c.Interface = n({}, d.Interface, a);\n c.extend = d.extend;\n Vc(c);\n return c;\n};\n\nVc(E);\n\nfunction Wc(a, b, c, d) {\n if (this.eventPool.length) {\n var e = this.eventPool.pop();\n this.call(e, a, b, c, d);\n return e;\n }\n\n return new this(a, b, c, d);\n}\n\nfunction Xc(a) {\n if (!(a instanceof this)) throw Error(u(279));\n a.destructor();\n 10 > this.eventPool.length && this.eventPool.push(a);\n}\n\nfunction Vc(a) {\n a.eventPool = [];\n a.getPooled = Wc;\n a.release = Xc;\n}\n\nvar Yc = E.extend({\n animationName: null,\n elapsedTime: null,\n pseudoElement: null\n}),\n Zc = E.extend({\n clipboardData: function clipboardData(a) {\n return \"clipboardData\" in a ? a.clipboardData : window.clipboardData;\n }\n}),\n $c = E.extend({\n view: null,\n detail: null\n}),\n ad = $c.extend({\n relatedTarget: null\n});\n\nfunction bd(a) {\n var b = a.keyCode;\n \"charCode\" in a ? (a = a.charCode, 0 === a && 13 === b && (a = 13)) : a = b;\n 10 === a && (a = 13);\n return 32 <= a || 13 === a ? a : 0;\n}\n\nvar cd = {\n Esc: \"Escape\",\n Spacebar: \" \",\n Left: \"ArrowLeft\",\n Up: \"ArrowUp\",\n Right: \"ArrowRight\",\n Down: \"ArrowDown\",\n Del: \"Delete\",\n Win: \"OS\",\n Menu: \"ContextMenu\",\n Apps: \"ContextMenu\",\n Scroll: \"ScrollLock\",\n MozPrintableKey: \"Unidentified\"\n},\n dd = {\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 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 45: \"Insert\",\n 46: \"Delete\",\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 144: \"NumLock\",\n 145: \"ScrollLock\",\n 224: \"Meta\"\n},\n ed = {\n Alt: \"altKey\",\n Control: \"ctrlKey\",\n Meta: \"metaKey\",\n Shift: \"shiftKey\"\n};\n\nfunction gd(a) {\n var b = this.nativeEvent;\n return b.getModifierState ? b.getModifierState(a) : (a = ed[a]) ? !!b[a] : !1;\n}\n\nfunction hd() {\n return gd;\n}\n\nvar id = $c.extend({\n key: function key(a) {\n if (a.key) {\n var b = cd[a.key] || a.key;\n if (\"Unidentified\" !== b) return b;\n }\n\n return \"keypress\" === a.type ? (a = bd(a), 13 === a ? \"Enter\" : String.fromCharCode(a)) : \"keydown\" === a.type || \"keyup\" === a.type ? dd[a.keyCode] || \"Unidentified\" : \"\";\n },\n location: null,\n ctrlKey: null,\n shiftKey: null,\n altKey: null,\n metaKey: null,\n repeat: null,\n locale: null,\n getModifierState: hd,\n charCode: function charCode(a) {\n return \"keypress\" === a.type ? bd(a) : 0;\n },\n keyCode: function keyCode(a) {\n return \"keydown\" === a.type || \"keyup\" === a.type ? a.keyCode : 0;\n },\n which: function which(a) {\n return \"keypress\" === a.type ? bd(a) : \"keydown\" === a.type || \"keyup\" === a.type ? a.keyCode : 0;\n }\n}),\n jd = 0,\n kd = 0,\n ld = !1,\n md = !1,\n nd = $c.extend({\n screenX: null,\n screenY: null,\n clientX: null,\n clientY: null,\n pageX: null,\n pageY: null,\n ctrlKey: null,\n shiftKey: null,\n altKey: null,\n metaKey: null,\n getModifierState: hd,\n button: null,\n buttons: null,\n relatedTarget: function relatedTarget(a) {\n return a.relatedTarget || (a.fromElement === a.srcElement ? a.toElement : a.fromElement);\n },\n movementX: function movementX(a) {\n if (\"movementX\" in a) return a.movementX;\n var b = jd;\n jd = a.screenX;\n return ld ? \"mousemove\" === a.type ? a.screenX - b : 0 : (ld = !0, 0);\n },\n movementY: function movementY(a) {\n if (\"movementY\" in a) return a.movementY;\n var b = kd;\n kd = a.screenY;\n return md ? \"mousemove\" === a.type ? a.screenY - b : 0 : (md = !0, 0);\n }\n}),\n od = nd.extend({\n pointerId: null,\n width: null,\n height: null,\n pressure: null,\n tangentialPressure: null,\n tiltX: null,\n tiltY: null,\n twist: null,\n pointerType: null,\n isPrimary: null\n}),\n pd = nd.extend({\n dataTransfer: null\n}),\n qd = $c.extend({\n touches: null,\n targetTouches: null,\n changedTouches: null,\n altKey: null,\n metaKey: null,\n ctrlKey: null,\n shiftKey: null,\n getModifierState: hd\n}),\n rd = E.extend({\n propertyName: null,\n elapsedTime: null,\n pseudoElement: null\n}),\n sd = nd.extend({\n deltaX: function deltaX(a) {\n return \"deltaX\" in a ? a.deltaX : \"wheelDeltaX\" in a ? -a.wheelDeltaX : 0;\n },\n deltaY: function deltaY(a) {\n return \"deltaY\" in a ? a.deltaY : \"wheelDeltaY\" in a ? -a.wheelDeltaY : \"wheelDelta\" in a ? -a.wheelDelta : 0;\n },\n deltaZ: null,\n deltaMode: null\n}),\n td = [[\"blur\", \"blur\", 0], [\"cancel\", \"cancel\", 0], [\"click\", \"click\", 0], [\"close\", \"close\", 0], [\"contextmenu\", \"contextMenu\", 0], [\"copy\", \"copy\", 0], [\"cut\", \"cut\", 0], [\"auxclick\", \"auxClick\", 0], [\"dblclick\", \"doubleClick\", 0], [\"dragend\", \"dragEnd\", 0], [\"dragstart\", \"dragStart\", 0], [\"drop\", \"drop\", 0], [\"focus\", \"focus\", 0], [\"input\", \"input\", 0], [\"invalid\", \"invalid\", 0], [\"keydown\", \"keyDown\", 0], [\"keypress\", \"keyPress\", 0], [\"keyup\", \"keyUp\", 0], [\"mousedown\", \"mouseDown\", 0], [\"mouseup\", \"mouseUp\", 0], [\"paste\", \"paste\", 0], [\"pause\", \"pause\", 0], [\"play\", \"play\", 0], [\"pointercancel\", \"pointerCancel\", 0], [\"pointerdown\", \"pointerDown\", 0], [\"pointerup\", \"pointerUp\", 0], [\"ratechange\", \"rateChange\", 0], [\"reset\", \"reset\", 0], [\"seeked\", \"seeked\", 0], [\"submit\", \"submit\", 0], [\"touchcancel\", \"touchCancel\", 0], [\"touchend\", \"touchEnd\", 0], [\"touchstart\", \"touchStart\", 0], [\"volumechange\", \"volumeChange\", 0], [\"drag\", \"drag\", 1], [\"dragenter\", \"dragEnter\", 1], [\"dragexit\", \"dragExit\", 1], [\"dragleave\", \"dragLeave\", 1], [\"dragover\", \"dragOver\", 1], [\"mousemove\", \"mouseMove\", 1], [\"mouseout\", \"mouseOut\", 1], [\"mouseover\", \"mouseOver\", 1], [\"pointermove\", \"pointerMove\", 1], [\"pointerout\", \"pointerOut\", 1], [\"pointerover\", \"pointerOver\", 1], [\"scroll\", \"scroll\", 1], [\"toggle\", \"toggle\", 1], [\"touchmove\", \"touchMove\", 1], [\"wheel\", \"wheel\", 1], [\"abort\", \"abort\", 2], [Zb, \"animationEnd\", 2], [$b, \"animationIteration\", 2], [ac, \"animationStart\", 2], [\"canplay\", \"canPlay\", 2], [\"canplaythrough\", \"canPlayThrough\", 2], [\"durationchange\", \"durationChange\", 2], [\"emptied\", \"emptied\", 2], [\"encrypted\", \"encrypted\", 2], [\"ended\", \"ended\", 2], [\"error\", \"error\", 2], [\"gotpointercapture\", \"gotPointerCapture\", 2], [\"load\", \"load\", 2], [\"loadeddata\", \"loadedData\", 2], [\"loadedmetadata\", \"loadedMetadata\", 2], [\"loadstart\", \"loadStart\", 2], [\"lostpointercapture\", \"lostPointerCapture\", 2], [\"playing\", \"playing\", 2], [\"progress\", \"progress\", 2], [\"seeking\", \"seeking\", 2], [\"stalled\", \"stalled\", 2], [\"suspend\", \"suspend\", 2], [\"timeupdate\", \"timeUpdate\", 2], [bc, \"transitionEnd\", 2], [\"waiting\", \"waiting\", 2]],\n ud = {},\n vd = {},\n wd = 0;\n\nfor (; wd < td.length; wd++) {\n var yd = td[wd],\n zd = yd[0],\n Ad = yd[1],\n Bd = yd[2],\n Cd = \"on\" + (Ad[0].toUpperCase() + Ad.slice(1)),\n Dd = {\n phasedRegistrationNames: {\n bubbled: Cd,\n captured: Cd + \"Capture\"\n },\n dependencies: [zd],\n eventPriority: Bd\n };\n ud[Ad] = Dd;\n vd[zd] = Dd;\n}\n\nvar Ed = {\n eventTypes: ud,\n getEventPriority: function getEventPriority(a) {\n a = vd[a];\n return void 0 !== a ? a.eventPriority : 2;\n },\n extractEvents: function extractEvents(a, b, c, d) {\n var e = vd[a];\n if (!e) return null;\n\n switch (a) {\n case \"keypress\":\n if (0 === bd(c)) return null;\n\n case \"keydown\":\n case \"keyup\":\n a = id;\n break;\n\n case \"blur\":\n case \"focus\":\n a = ad;\n break;\n\n case \"click\":\n if (2 === c.button) return null;\n\n case \"auxclick\":\n case \"dblclick\":\n case \"mousedown\":\n case \"mousemove\":\n case \"mouseup\":\n case \"mouseout\":\n case \"mouseover\":\n case \"contextmenu\":\n a = nd;\n break;\n\n case \"drag\":\n case \"dragend\":\n case \"dragenter\":\n case \"dragexit\":\n case \"dragleave\":\n case \"dragover\":\n case \"dragstart\":\n case \"drop\":\n a = pd;\n break;\n\n case \"touchcancel\":\n case \"touchend\":\n case \"touchmove\":\n case \"touchstart\":\n a = qd;\n break;\n\n case Zb:\n case $b:\n case ac:\n a = Yc;\n break;\n\n case bc:\n a = rd;\n break;\n\n case \"scroll\":\n a = $c;\n break;\n\n case \"wheel\":\n a = sd;\n break;\n\n case \"copy\":\n case \"cut\":\n case \"paste\":\n a = Zc;\n break;\n\n case \"gotpointercapture\":\n case \"lostpointercapture\":\n case \"pointercancel\":\n case \"pointerdown\":\n case \"pointermove\":\n case \"pointerout\":\n case \"pointerover\":\n case \"pointerup\":\n a = od;\n break;\n\n default:\n a = E;\n }\n\n b = a.getPooled(e, b, c, d);\n Sc(b);\n return b;\n }\n},\n Fd = q.unstable_UserBlockingPriority,\n Gd = q.unstable_runWithPriority,\n Hd = Ed.getEventPriority,\n Id = 10,\n Jd = [];\n\nfunction Kd(a) {\n var b = a.targetInst,\n c = b;\n\n do {\n if (!c) {\n a.ancestors.push(c);\n break;\n }\n\n var d = c;\n if (3 === d.tag) d = d.stateNode.containerInfo;else {\n for (; d.return;) {\n d = d.return;\n }\n\n d = 3 !== d.tag ? null : d.stateNode.containerInfo;\n }\n if (!d) break;\n b = c.tag;\n 5 !== b && 6 !== b || a.ancestors.push(c);\n c = Fc(d);\n } while (c);\n\n for (c = 0; c < a.ancestors.length; c++) {\n b = a.ancestors[c];\n var e = Mc(a.nativeEvent);\n d = a.topLevelType;\n\n for (var f = a.nativeEvent, g = a.eventSystemFlags, h = null, k = 0; k < ea.length; k++) {\n var l = ea[k];\n l && (l = l.extractEvents(d, b, f, e, g)) && (h = xa(h, l));\n }\n\n Ba(h);\n }\n}\n\nvar Ld = !0;\n\nfunction F(a, b) {\n Md(b, a, !1);\n}\n\nfunction Md(a, b, c) {\n switch (Hd(b)) {\n case 0:\n var d = Nd.bind(null, b, 1);\n break;\n\n case 1:\n d = Od.bind(null, b, 1);\n break;\n\n default:\n d = Pd.bind(null, b, 1);\n }\n\n c ? a.addEventListener(b, d, !0) : a.addEventListener(b, d, !1);\n}\n\nfunction Nd(a, b, c) {\n ib || gb();\n var d = Pd,\n e = ib;\n ib = !0;\n\n try {\n fb(d, a, b, c);\n } finally {\n (ib = e) || kb();\n }\n}\n\nfunction Od(a, b, c) {\n Gd(Fd, Pd.bind(null, a, b, c));\n}\n\nfunction Qd(a, b, c, d) {\n if (Jd.length) {\n var e = Jd.pop();\n e.topLevelType = a;\n e.eventSystemFlags = b;\n e.nativeEvent = c;\n e.targetInst = d;\n a = e;\n } else a = {\n topLevelType: a,\n eventSystemFlags: b,\n nativeEvent: c,\n targetInst: d,\n ancestors: []\n };\n\n try {\n if (b = Kd, c = a, jb) b(c, void 0);else {\n jb = !0;\n\n try {\n hb(b, c, void 0);\n } finally {\n jb = !1, kb();\n }\n }\n } finally {\n a.topLevelType = null, a.nativeEvent = null, a.targetInst = null, a.ancestors.length = 0, Jd.length < Id && Jd.push(a);\n }\n}\n\nfunction Pd(a, b, c) {\n if (Ld) if (0 < nc.length && -1 < uc.indexOf(a)) a = zc(null, a, b, c), nc.push(a);else {\n var d = Hc(a, b, c);\n null === d ? Ac(a, c) : -1 < uc.indexOf(a) ? (a = zc(d, a, b, c), nc.push(a)) : Dc(d, a, b, c) || (Ac(a, c), Qd(a, b, c, null));\n }\n}\n\nfunction Hc(a, b, c) {\n var d = Mc(c);\n d = Fc(d);\n\n if (null !== d) {\n var e = ec(d);\n if (null === e) d = null;else {\n var f = e.tag;\n\n if (13 === f) {\n d = fc(e);\n if (null !== d) return d;\n d = null;\n } else if (3 === f) {\n if (e.stateNode.hydrate) return 3 === e.tag ? e.stateNode.containerInfo : null;\n d = null;\n } else e !== d && (d = null);\n }\n }\n\n Qd(a, b, c, d);\n return null;\n}\n\nfunction Rd(a) {\n if (!Ya) return !1;\n a = \"on\" + a;\n var b = a in document;\n b || (b = document.createElement(\"div\"), b.setAttribute(a, \"return;\"), b = \"function\" === typeof b[a]);\n return b;\n}\n\nvar Sd = new (\"function\" === typeof WeakMap ? WeakMap : Map)();\n\nfunction xc(a) {\n var b = Sd.get(a);\n void 0 === b && (b = new Set(), Sd.set(a, b));\n return b;\n}\n\nfunction yc(a, b, c) {\n if (!c.has(a)) {\n switch (a) {\n case \"scroll\":\n Md(b, \"scroll\", !0);\n break;\n\n case \"focus\":\n case \"blur\":\n Md(b, \"focus\", !0);\n Md(b, \"blur\", !0);\n c.add(\"blur\");\n c.add(\"focus\");\n break;\n\n case \"cancel\":\n case \"close\":\n Rd(a) && Md(b, a, !0);\n break;\n\n case \"invalid\":\n case \"submit\":\n case \"reset\":\n break;\n\n default:\n -1 === cc.indexOf(a) && F(a, b);\n }\n\n c.add(a);\n }\n}\n\nvar Td = {\n animationIterationCount: !0,\n borderImageOutset: !0,\n borderImageSlice: !0,\n borderImageWidth: !0,\n boxFlex: !0,\n boxFlexGroup: !0,\n boxOrdinalGroup: !0,\n columnCount: !0,\n columns: !0,\n flex: !0,\n flexGrow: !0,\n flexPositive: !0,\n flexShrink: !0,\n flexNegative: !0,\n flexOrder: !0,\n gridArea: !0,\n gridRow: !0,\n gridRowEnd: !0,\n gridRowSpan: !0,\n gridRowStart: !0,\n gridColumn: !0,\n gridColumnEnd: !0,\n gridColumnSpan: !0,\n gridColumnStart: !0,\n fontWeight: !0,\n lineClamp: !0,\n lineHeight: !0,\n opacity: !0,\n order: !0,\n orphans: !0,\n tabSize: !0,\n widows: !0,\n zIndex: !0,\n zoom: !0,\n fillOpacity: !0,\n floodOpacity: !0,\n stopOpacity: !0,\n strokeDasharray: !0,\n strokeDashoffset: !0,\n strokeMiterlimit: !0,\n strokeOpacity: !0,\n strokeWidth: !0\n},\n Ud = [\"Webkit\", \"ms\", \"Moz\", \"O\"];\nObject.keys(Td).forEach(function (a) {\n Ud.forEach(function (b) {\n b = b + a.charAt(0).toUpperCase() + a.substring(1);\n Td[b] = Td[a];\n });\n});\n\nfunction Vd(a, b, c) {\n return null == b || \"boolean\" === typeof b || \"\" === b ? \"\" : c || \"number\" !== typeof b || 0 === b || Td.hasOwnProperty(a) && Td[a] ? (\"\" + b).trim() : b + \"px\";\n}\n\nfunction Wd(a, b) {\n a = a.style;\n\n for (var c in b) {\n if (b.hasOwnProperty(c)) {\n var d = 0 === c.indexOf(\"--\"),\n e = Vd(c, b[c], d);\n \"float\" === c && (c = \"cssFloat\");\n d ? a.setProperty(c, e) : a[c] = e;\n }\n }\n}\n\nvar Xd = n({\n menuitem: !0\n}, {\n area: !0,\n base: !0,\n br: !0,\n col: !0,\n embed: !0,\n hr: !0,\n img: !0,\n input: !0,\n keygen: !0,\n link: !0,\n meta: !0,\n param: !0,\n source: !0,\n track: !0,\n wbr: !0\n});\n\nfunction Yd(a, b) {\n if (b) {\n if (Xd[a] && (null != b.children || null != b.dangerouslySetInnerHTML)) throw Error(u(137, a, \"\"));\n\n if (null != b.dangerouslySetInnerHTML) {\n if (null != b.children) throw Error(u(60));\n if (!(\"object\" === typeof b.dangerouslySetInnerHTML && \"__html\" in b.dangerouslySetInnerHTML)) throw Error(u(61));\n }\n\n if (null != b.style && \"object\" !== typeof b.style) throw Error(u(62, \"\"));\n }\n}\n\nfunction Zd(a, b) {\n if (-1 === a.indexOf(\"-\")) return \"string\" === typeof b.is;\n\n switch (a) {\n case \"annotation-xml\":\n case \"color-profile\":\n case \"font-face\":\n case \"font-face-src\":\n case \"font-face-uri\":\n case \"font-face-format\":\n case \"font-face-name\":\n case \"missing-glyph\":\n return !1;\n\n default:\n return !0;\n }\n}\n\nfunction $d(a, b) {\n a = 9 === a.nodeType || 11 === a.nodeType ? a : a.ownerDocument;\n var c = xc(a);\n b = ja[b];\n\n for (var d = 0; d < b.length; d++) {\n yc(b[d], a, c);\n }\n}\n\nfunction ae() {}\n\nfunction be(a) {\n a = a || (\"undefined\" !== typeof document ? document : void 0);\n if (\"undefined\" === typeof a) return null;\n\n try {\n return a.activeElement || a.body;\n } catch (b) {\n return a.body;\n }\n}\n\nfunction ce(a) {\n for (; a && a.firstChild;) {\n a = a.firstChild;\n }\n\n return a;\n}\n\nfunction de(a, b) {\n var c = ce(a);\n a = 0;\n\n for (var d; c;) {\n if (3 === c.nodeType) {\n d = a + c.textContent.length;\n if (a <= b && d >= b) return {\n node: c,\n offset: b - a\n };\n a = d;\n }\n\n a: {\n for (; c;) {\n if (c.nextSibling) {\n c = c.nextSibling;\n break a;\n }\n\n c = c.parentNode;\n }\n\n c = void 0;\n }\n\n c = ce(c);\n }\n}\n\nfunction ee(a, b) {\n return a && b ? a === b ? !0 : a && 3 === a.nodeType ? !1 : b && 3 === b.nodeType ? ee(a, b.parentNode) : \"contains\" in a ? a.contains(b) : a.compareDocumentPosition ? !!(a.compareDocumentPosition(b) & 16) : !1 : !1;\n}\n\nfunction fe() {\n for (var a = window, b = be(); b instanceof a.HTMLIFrameElement;) {\n try {\n var c = \"string\" === typeof b.contentWindow.location.href;\n } catch (d) {\n c = !1;\n }\n\n if (c) a = b.contentWindow;else break;\n b = be(a.document);\n }\n\n return b;\n}\n\nfunction ge(a) {\n var b = a && a.nodeName && a.nodeName.toLowerCase();\n return b && (\"input\" === b && (\"text\" === a.type || \"search\" === a.type || \"tel\" === a.type || \"url\" === a.type || \"password\" === a.type) || \"textarea\" === b || \"true\" === a.contentEditable);\n}\n\nvar he = \"$\",\n ie = \"/$\",\n je = \"$?\",\n ke = \"$!\",\n le = null,\n me = null;\n\nfunction ne(a, b) {\n switch (a) {\n case \"button\":\n case \"input\":\n case \"select\":\n case \"textarea\":\n return !!b.autoFocus;\n }\n\n return !1;\n}\n\nfunction oe(a, b) {\n return \"textarea\" === a || \"option\" === a || \"noscript\" === a || \"string\" === typeof b.children || \"number\" === typeof b.children || \"object\" === typeof b.dangerouslySetInnerHTML && null !== b.dangerouslySetInnerHTML && null != b.dangerouslySetInnerHTML.__html;\n}\n\nvar pe = \"function\" === typeof setTimeout ? setTimeout : void 0,\n qe = \"function\" === typeof clearTimeout ? clearTimeout : void 0;\n\nfunction re(a) {\n for (; null != a; a = a.nextSibling) {\n var b = a.nodeType;\n if (1 === b || 3 === b) break;\n }\n\n return a;\n}\n\nfunction se(a) {\n a = a.previousSibling;\n\n for (var b = 0; a;) {\n if (8 === a.nodeType) {\n var c = a.data;\n\n if (c === he || c === ke || c === je) {\n if (0 === b) return a;\n b--;\n } else c === ie && b++;\n }\n\n a = a.previousSibling;\n }\n\n return null;\n}\n\nvar te = Math.random().toString(36).slice(2),\n ue = \"__reactInternalInstance$\" + te,\n ve = \"__reactEventHandlers$\" + te,\n we = \"__reactContainere$\" + te;\n\nfunction Fc(a) {\n var b = a[ue];\n if (b) return b;\n\n for (var c = a.parentNode; c;) {\n if (b = c[we] || c[ue]) {\n c = b.alternate;\n if (null !== b.child || null !== c && null !== c.child) for (a = se(a); null !== a;) {\n if (c = a[ue]) return c;\n a = se(a);\n }\n return b;\n }\n\n a = c;\n c = a.parentNode;\n }\n\n return null;\n}\n\nfunction Cc(a) {\n a = a[ue] || a[we];\n return !a || 5 !== a.tag && 6 !== a.tag && 13 !== a.tag && 3 !== a.tag ? null : a;\n}\n\nfunction xe(a) {\n if (5 === a.tag || 6 === a.tag) return a.stateNode;\n throw Error(u(33));\n}\n\nfunction ye(a) {\n return a[ve] || null;\n}\n\nvar ze = null,\n Ae = null,\n Be = null;\n\nfunction Ce() {\n if (Be) return Be;\n var a,\n b = Ae,\n c = b.length,\n d,\n e = \"value\" in ze ? ze.value : ze.textContent,\n f = e.length;\n\n for (a = 0; a < c && b[a] === e[a]; a++) {\n ;\n }\n\n var g = c - a;\n\n for (d = 1; d <= g && b[c - d] === e[f - d]; d++) {\n ;\n }\n\n return Be = e.slice(a, 1 < d ? 1 - d : void 0);\n}\n\nvar De = E.extend({\n data: null\n}),\n Ee = E.extend({\n data: null\n}),\n Fe = [9, 13, 27, 32],\n Ge = Ya && \"CompositionEvent\" in window,\n He = null;\nYa && \"documentMode\" in document && (He = document.documentMode);\nvar Ie = Ya && \"TextEvent\" in window && !He,\n Je = Ya && (!Ge || He && 8 < He && 11 >= He),\n Ke = String.fromCharCode(32),\n Le = {\n beforeInput: {\n phasedRegistrationNames: {\n bubbled: \"onBeforeInput\",\n captured: \"onBeforeInputCapture\"\n },\n dependencies: [\"compositionend\", \"keypress\", \"textInput\", \"paste\"]\n },\n compositionEnd: {\n phasedRegistrationNames: {\n bubbled: \"onCompositionEnd\",\n captured: \"onCompositionEndCapture\"\n },\n dependencies: \"blur compositionend keydown keypress keyup mousedown\".split(\" \")\n },\n compositionStart: {\n phasedRegistrationNames: {\n bubbled: \"onCompositionStart\",\n captured: \"onCompositionStartCapture\"\n },\n dependencies: \"blur compositionstart keydown keypress keyup mousedown\".split(\" \")\n },\n compositionUpdate: {\n phasedRegistrationNames: {\n bubbled: \"onCompositionUpdate\",\n captured: \"onCompositionUpdateCapture\"\n },\n dependencies: \"blur compositionupdate keydown keypress keyup mousedown\".split(\" \")\n }\n},\n Me = !1;\n\nfunction Ne(a, b) {\n switch (a) {\n case \"keyup\":\n return -1 !== Fe.indexOf(b.keyCode);\n\n case \"keydown\":\n return 229 !== b.keyCode;\n\n case \"keypress\":\n case \"mousedown\":\n case \"blur\":\n return !0;\n\n default:\n return !1;\n }\n}\n\nfunction Oe(a) {\n a = a.detail;\n return \"object\" === typeof a && \"data\" in a ? a.data : null;\n}\n\nvar Pe = !1;\n\nfunction Qe(a, b) {\n switch (a) {\n case \"compositionend\":\n return Oe(b);\n\n case \"keypress\":\n if (32 !== b.which) return null;\n Me = !0;\n return Ke;\n\n case \"textInput\":\n return a = b.data, a === Ke && Me ? null : a;\n\n default:\n return null;\n }\n}\n\nfunction Re(a, b) {\n if (Pe) return \"compositionend\" === a || !Ge && Ne(a, b) ? (a = Ce(), Be = Ae = ze = null, Pe = !1, a) : null;\n\n switch (a) {\n case \"paste\":\n return null;\n\n case \"keypress\":\n if (!(b.ctrlKey || b.altKey || b.metaKey) || b.ctrlKey && b.altKey) {\n if (b.char && 1 < b.char.length) return b.char;\n if (b.which) return String.fromCharCode(b.which);\n }\n\n return null;\n\n case \"compositionend\":\n return Je && \"ko\" !== b.locale ? null : b.data;\n\n default:\n return null;\n }\n}\n\nvar Se = {\n eventTypes: Le,\n extractEvents: function extractEvents(a, b, c, d) {\n var e;\n if (Ge) b: {\n switch (a) {\n case \"compositionstart\":\n var f = Le.compositionStart;\n break b;\n\n case \"compositionend\":\n f = Le.compositionEnd;\n break b;\n\n case \"compositionupdate\":\n f = Le.compositionUpdate;\n break b;\n }\n\n f = void 0;\n } else Pe ? Ne(a, c) && (f = Le.compositionEnd) : \"keydown\" === a && 229 === c.keyCode && (f = Le.compositionStart);\n f ? (Je && \"ko\" !== c.locale && (Pe || f !== Le.compositionStart ? f === Le.compositionEnd && Pe && (e = Ce()) : (ze = d, Ae = \"value\" in ze ? ze.value : ze.textContent, Pe = !0)), f = De.getPooled(f, b, c, d), e ? f.data = e : (e = Oe(c), null !== e && (f.data = e)), Sc(f), e = f) : e = null;\n (a = Ie ? Qe(a, c) : Re(a, c)) ? (b = Ee.getPooled(Le.beforeInput, b, c, d), b.data = a, Sc(b)) : b = null;\n return null === e ? b : null === b ? e : [e, b];\n }\n},\n Te = {\n color: !0,\n date: !0,\n datetime: !0,\n \"datetime-local\": !0,\n email: !0,\n month: !0,\n number: !0,\n password: !0,\n range: !0,\n search: !0,\n tel: !0,\n text: !0,\n time: !0,\n url: !0,\n week: !0\n};\n\nfunction Ue(a) {\n var b = a && a.nodeName && a.nodeName.toLowerCase();\n return \"input\" === b ? !!Te[a.type] : \"textarea\" === b ? !0 : !1;\n}\n\nvar Ve = {\n change: {\n phasedRegistrationNames: {\n bubbled: \"onChange\",\n captured: \"onChangeCapture\"\n },\n dependencies: \"blur change click focus input keydown keyup selectionchange\".split(\" \")\n }\n};\n\nfunction We(a, b, c) {\n a = E.getPooled(Ve.change, a, b, c);\n a.type = \"change\";\n cb(c);\n Sc(a);\n return a;\n}\n\nvar Xe = null,\n Ye = null;\n\nfunction Ze(a) {\n Ba(a);\n}\n\nfunction $e(a) {\n var b = xe(a);\n if (zb(b)) return a;\n}\n\nfunction af(a, b) {\n if (\"change\" === a) return b;\n}\n\nvar bf = !1;\nYa && (bf = Rd(\"input\") && (!document.documentMode || 9 < document.documentMode));\n\nfunction cf() {\n Xe && (Xe.detachEvent(\"onpropertychange\", df), Ye = Xe = null);\n}\n\nfunction df(a) {\n if (\"value\" === a.propertyName && $e(Ye)) if (a = We(Ye, a, Mc(a)), ib) Ba(a);else {\n ib = !0;\n\n try {\n eb(Ze, a);\n } finally {\n ib = !1, kb();\n }\n }\n}\n\nfunction ef(a, b, c) {\n \"focus\" === a ? (cf(), Xe = b, Ye = c, Xe.attachEvent(\"onpropertychange\", df)) : \"blur\" === a && cf();\n}\n\nfunction ff(a) {\n if (\"selectionchange\" === a || \"keyup\" === a || \"keydown\" === a) return $e(Ye);\n}\n\nfunction gf(a, b) {\n if (\"click\" === a) return $e(b);\n}\n\nfunction hf(a, b) {\n if (\"input\" === a || \"change\" === a) return $e(b);\n}\n\nvar jf = {\n eventTypes: Ve,\n _isInputEventSupported: bf,\n extractEvents: function extractEvents(a, b, c, d) {\n var e = b ? xe(b) : window,\n f = e.nodeName && e.nodeName.toLowerCase();\n if (\"select\" === f || \"input\" === f && \"file\" === e.type) var g = af;else if (Ue(e)) {\n if (bf) g = hf;else {\n g = ff;\n var h = ef;\n }\n } else (f = e.nodeName) && \"input\" === f.toLowerCase() && (\"checkbox\" === e.type || \"radio\" === e.type) && (g = gf);\n if (g && (g = g(a, b))) return We(g, c, d);\n h && h(a, e, b);\n \"blur\" === a && (a = e._wrapperState) && a.controlled && \"number\" === e.type && Fb(e, \"number\", e.value);\n }\n},\n kf = {\n mouseEnter: {\n registrationName: \"onMouseEnter\",\n dependencies: [\"mouseout\", \"mouseover\"]\n },\n mouseLeave: {\n registrationName: \"onMouseLeave\",\n dependencies: [\"mouseout\", \"mouseover\"]\n },\n pointerEnter: {\n registrationName: \"onPointerEnter\",\n dependencies: [\"pointerout\", \"pointerover\"]\n },\n pointerLeave: {\n registrationName: \"onPointerLeave\",\n dependencies: [\"pointerout\", \"pointerover\"]\n }\n},\n lf,\n mf = {\n eventTypes: kf,\n extractEvents: function extractEvents(a, b, c, d, e) {\n var f = \"mouseover\" === a || \"pointerover\" === a,\n g = \"mouseout\" === a || \"pointerout\" === a;\n if (f && 0 === (e & 32) && (c.relatedTarget || c.fromElement) || !g && !f) return null;\n e = d.window === d ? d : (e = d.ownerDocument) ? e.defaultView || e.parentWindow : window;\n\n if (g) {\n if (g = b, b = (b = c.relatedTarget || c.toElement) ? Fc(b) : null, null !== b && (f = ec(b), b !== f || 5 !== b.tag && 6 !== b.tag)) b = null;\n } else g = null;\n\n if (g === b) return null;\n\n if (\"mouseout\" === a || \"mouseover\" === a) {\n var h = nd;\n var k = kf.mouseLeave;\n var l = kf.mouseEnter;\n var m = \"mouse\";\n } else if (\"pointerout\" === a || \"pointerover\" === a) h = od, k = kf.pointerLeave, l = kf.pointerEnter, m = \"pointer\";\n\n a = null == g ? e : xe(g);\n e = null == b ? e : xe(b);\n k = h.getPooled(k, g, c, d);\n k.type = m + \"leave\";\n k.target = a;\n k.relatedTarget = e;\n d = h.getPooled(l, b, c, d);\n d.type = m + \"enter\";\n d.target = e;\n d.relatedTarget = a;\n h = g;\n m = b;\n if (h && m) a: {\n l = h;\n a = m;\n g = 0;\n\n for (b = l; b; b = Nc(b)) {\n g++;\n }\n\n b = 0;\n\n for (e = a; e; e = Nc(e)) {\n b++;\n }\n\n for (; 0 < g - b;) {\n l = Nc(l), g--;\n }\n\n for (; 0 < b - g;) {\n a = Nc(a), b--;\n }\n\n for (; g--;) {\n if (l === a || l === a.alternate) break a;\n l = Nc(l);\n a = Nc(a);\n }\n\n l = null;\n } else l = null;\n a = l;\n\n for (l = []; h && h !== a;) {\n g = h.alternate;\n if (null !== g && g === a) break;\n l.push(h);\n h = Nc(h);\n }\n\n for (h = []; m && m !== a;) {\n g = m.alternate;\n if (null !== g && g === a) break;\n h.push(m);\n m = Nc(m);\n }\n\n for (m = 0; m < l.length; m++) {\n Qc(l[m], \"bubbled\", k);\n }\n\n for (m = h.length; 0 < m--;) {\n Qc(h[m], \"captured\", d);\n }\n\n if (c === lf) return lf = null, [k];\n lf = c;\n return [k, d];\n }\n};\n\nfunction nf(a, b) {\n return a === b && (0 !== a || 1 / a === 1 / b) || a !== a && b !== b;\n}\n\nvar of = \"function\" === typeof Object.is ? Object.is : nf,\n pf = Object.prototype.hasOwnProperty;\n\nfunction qf(a, b) {\n if (of(a, b)) return !0;\n if (\"object\" !== typeof a || null === a || \"object\" !== typeof b || null === b) return !1;\n var c = Object.keys(a),\n d = Object.keys(b);\n if (c.length !== d.length) return !1;\n\n for (d = 0; d < c.length; d++) {\n if (!pf.call(b, c[d]) || !of(a[c[d]], b[c[d]])) return !1;\n }\n\n return !0;\n}\n\nvar rf = Ya && \"documentMode\" in document && 11 >= document.documentMode,\n sf = {\n select: {\n phasedRegistrationNames: {\n bubbled: \"onSelect\",\n captured: \"onSelectCapture\"\n },\n dependencies: \"blur contextmenu dragend focus keydown keyup mousedown mouseup selectionchange\".split(\" \")\n }\n},\n tf = null,\n uf = null,\n vf = null,\n wf = !1;\n\nfunction xf(a, b) {\n var c = b.window === b ? b.document : 9 === b.nodeType ? b : b.ownerDocument;\n if (wf || null == tf || tf !== be(c)) return null;\n c = tf;\n \"selectionStart\" in c && ge(c) ? c = {\n start: c.selectionStart,\n end: c.selectionEnd\n } : (c = (c.ownerDocument && c.ownerDocument.defaultView || window).getSelection(), c = {\n anchorNode: c.anchorNode,\n anchorOffset: c.anchorOffset,\n focusNode: c.focusNode,\n focusOffset: c.focusOffset\n });\n return vf && qf(vf, c) ? null : (vf = c, a = E.getPooled(sf.select, uf, a, b), a.type = \"select\", a.target = tf, Sc(a), a);\n}\n\nvar yf = {\n eventTypes: sf,\n extractEvents: function extractEvents(a, b, c, d) {\n var e = d.window === d ? d.document : 9 === d.nodeType ? d : d.ownerDocument,\n f;\n\n if (!(f = !e)) {\n a: {\n e = xc(e);\n f = ja.onSelect;\n\n for (var g = 0; g < f.length; g++) {\n if (!e.has(f[g])) {\n e = !1;\n break a;\n }\n }\n\n e = !0;\n }\n\n f = !e;\n }\n\n if (f) return null;\n e = b ? xe(b) : window;\n\n switch (a) {\n case \"focus\":\n if (Ue(e) || \"true\" === e.contentEditable) tf = e, uf = b, vf = null;\n break;\n\n case \"blur\":\n vf = uf = tf = null;\n break;\n\n case \"mousedown\":\n wf = !0;\n break;\n\n case \"contextmenu\":\n case \"mouseup\":\n case \"dragend\":\n return wf = !1, xf(c, d);\n\n case \"selectionchange\":\n if (rf) break;\n\n case \"keydown\":\n case \"keyup\":\n return xf(c, d);\n }\n\n return null;\n }\n};\nCa.injectEventPluginOrder(\"ResponderEventPlugin SimpleEventPlugin EnterLeaveEventPlugin ChangeEventPlugin SelectEventPlugin BeforeInputEventPlugin\".split(\" \"));\nvar zf = Cc;\nsa = ye;\nua = zf;\nva = xe;\nCa.injectEventPluginsByName({\n SimpleEventPlugin: Ed,\n EnterLeaveEventPlugin: mf,\n ChangeEventPlugin: jf,\n SelectEventPlugin: yf,\n BeforeInputEventPlugin: Se\n});\nnew Set();\nvar Af = [],\n Bf = -1;\n\nfunction G(a) {\n 0 > Bf || (a.current = Af[Bf], Af[Bf] = null, Bf--);\n}\n\nfunction I(a, b) {\n Bf++;\n Af[Bf] = a.current;\n a.current = b;\n}\n\nvar Cf = {},\n J = {\n current: Cf\n},\n K = {\n current: !1\n},\n Df = Cf;\n\nfunction Ef(a, b) {\n var c = a.type.contextTypes;\n if (!c) return Cf;\n var d = a.stateNode;\n if (d && d.__reactInternalMemoizedUnmaskedChildContext === b) return d.__reactInternalMemoizedMaskedChildContext;\n var e = {},\n f;\n\n for (f in c) {\n e[f] = b[f];\n }\n\n d && (a = a.stateNode, a.__reactInternalMemoizedUnmaskedChildContext = b, a.__reactInternalMemoizedMaskedChildContext = e);\n return e;\n}\n\nfunction L(a) {\n a = a.childContextTypes;\n return null !== a && void 0 !== a;\n}\n\nfunction Ff(a) {\n G(K, a);\n G(J, a);\n}\n\nfunction Gf(a) {\n G(K, a);\n G(J, a);\n}\n\nfunction Hf(a, b, c) {\n if (J.current !== Cf) throw Error(u(168));\n I(J, b, a);\n I(K, c, a);\n}\n\nfunction If(a, b, c) {\n var d = a.stateNode;\n a = b.childContextTypes;\n if (\"function\" !== typeof d.getChildContext) return c;\n d = d.getChildContext();\n\n for (var e in d) {\n if (!(e in a)) throw Error(u(108, Wa(b) || \"Unknown\", e));\n }\n\n return n({}, c, {}, d);\n}\n\nfunction Jf(a) {\n var b = a.stateNode;\n b = b && b.__reactInternalMemoizedMergedChildContext || Cf;\n Df = J.current;\n I(J, b, a);\n I(K, K.current, a);\n return !0;\n}\n\nfunction Kf(a, b, c) {\n var d = a.stateNode;\n if (!d) throw Error(u(169));\n c ? (b = If(a, b, Df), d.__reactInternalMemoizedMergedChildContext = b, G(K, a), G(J, a), I(J, b, a)) : G(K, a);\n I(K, c, a);\n}\n\nvar Lf = q.unstable_runWithPriority,\n Mf = q.unstable_scheduleCallback,\n Nf = q.unstable_cancelCallback,\n Of = q.unstable_shouldYield,\n Pf = q.unstable_requestPaint,\n Qf = q.unstable_now,\n Rf = q.unstable_getCurrentPriorityLevel,\n Sf = q.unstable_ImmediatePriority,\n Tf = q.unstable_UserBlockingPriority,\n Uf = q.unstable_NormalPriority,\n Vf = q.unstable_LowPriority,\n Wf = q.unstable_IdlePriority,\n Xf = {},\n Yf = void 0 !== Pf ? Pf : function () {},\n Zf = null,\n $f = null,\n ag = !1,\n bg = Qf(),\n cg = 1E4 > bg ? Qf : function () {\n return Qf() - bg;\n};\n\nfunction dg() {\n switch (Rf()) {\n case Sf:\n return 99;\n\n case Tf:\n return 98;\n\n case Uf:\n return 97;\n\n case Vf:\n return 96;\n\n case Wf:\n return 95;\n\n default:\n throw Error(u(332));\n }\n}\n\nfunction eg(a) {\n switch (a) {\n case 99:\n return Sf;\n\n case 98:\n return Tf;\n\n case 97:\n return Uf;\n\n case 96:\n return Vf;\n\n case 95:\n return Wf;\n\n default:\n throw Error(u(332));\n }\n}\n\nfunction fg(a, b) {\n a = eg(a);\n return Lf(a, b);\n}\n\nfunction gg(a, b, c) {\n a = eg(a);\n return Mf(a, b, c);\n}\n\nfunction hg(a) {\n null === Zf ? (Zf = [a], $f = Mf(Sf, ig)) : Zf.push(a);\n return Xf;\n}\n\nfunction jg() {\n if (null !== $f) {\n var a = $f;\n $f = null;\n Nf(a);\n }\n\n ig();\n}\n\nfunction ig() {\n if (!ag && null !== Zf) {\n ag = !0;\n var a = 0;\n\n try {\n var b = Zf;\n fg(99, function () {\n for (; a < b.length; a++) {\n var c = b[a];\n\n do {\n c = c(!0);\n } while (null !== c);\n }\n });\n Zf = null;\n } catch (c) {\n throw null !== Zf && (Zf = Zf.slice(a + 1)), Mf(Sf, jg), c;\n } finally {\n ag = !1;\n }\n }\n}\n\nvar kg = 3;\n\nfunction lg(a, b, c) {\n c /= 10;\n return 1073741821 - (((1073741821 - a + b / 10) / c | 0) + 1) * c;\n}\n\nfunction mg(a, b) {\n if (a && a.defaultProps) {\n b = n({}, b);\n a = a.defaultProps;\n\n for (var c in a) {\n void 0 === b[c] && (b[c] = a[c]);\n }\n }\n\n return b;\n}\n\nvar ng = {\n current: null\n},\n og = null,\n pg = null,\n qg = null;\n\nfunction rg() {\n qg = pg = og = null;\n}\n\nfunction sg(a, b) {\n var c = a.type._context;\n I(ng, c._currentValue, a);\n c._currentValue = b;\n}\n\nfunction tg(a) {\n var b = ng.current;\n G(ng, a);\n a.type._context._currentValue = b;\n}\n\nfunction ug(a, b) {\n for (; null !== a;) {\n var c = a.alternate;\n if (a.childExpirationTime < b) a.childExpirationTime = b, null !== c && c.childExpirationTime < b && (c.childExpirationTime = b);else if (null !== c && c.childExpirationTime < b) c.childExpirationTime = b;else break;\n a = a.return;\n }\n}\n\nfunction vg(a, b) {\n og = a;\n qg = pg = null;\n a = a.dependencies;\n null !== a && null !== a.firstContext && (a.expirationTime >= b && (wg = !0), a.firstContext = null);\n}\n\nfunction xg(a, b) {\n if (qg !== a && !1 !== b && 0 !== b) {\n if (\"number\" !== typeof b || 1073741823 === b) qg = a, b = 1073741823;\n b = {\n context: a,\n observedBits: b,\n next: null\n };\n\n if (null === pg) {\n if (null === og) throw Error(u(308));\n pg = b;\n og.dependencies = {\n expirationTime: 0,\n firstContext: b,\n responders: null\n };\n } else pg = pg.next = b;\n }\n\n return a._currentValue;\n}\n\nvar yg = !1;\n\nfunction zg(a) {\n return {\n baseState: a,\n firstUpdate: null,\n lastUpdate: null,\n firstCapturedUpdate: null,\n lastCapturedUpdate: null,\n firstEffect: null,\n lastEffect: null,\n firstCapturedEffect: null,\n lastCapturedEffect: null\n };\n}\n\nfunction Ag(a) {\n return {\n baseState: a.baseState,\n firstUpdate: a.firstUpdate,\n lastUpdate: a.lastUpdate,\n firstCapturedUpdate: null,\n lastCapturedUpdate: null,\n firstEffect: null,\n lastEffect: null,\n firstCapturedEffect: null,\n lastCapturedEffect: null\n };\n}\n\nfunction Bg(a, b) {\n return {\n expirationTime: a,\n suspenseConfig: b,\n tag: 0,\n payload: null,\n callback: null,\n next: null,\n nextEffect: null\n };\n}\n\nfunction Cg(a, b) {\n null === a.lastUpdate ? a.firstUpdate = a.lastUpdate = b : (a.lastUpdate.next = b, a.lastUpdate = b);\n}\n\nfunction Dg(a, b) {\n var c = a.alternate;\n\n if (null === c) {\n var d = a.updateQueue;\n var e = null;\n null === d && (d = a.updateQueue = zg(a.memoizedState));\n } else d = a.updateQueue, e = c.updateQueue, null === d ? null === e ? (d = a.updateQueue = zg(a.memoizedState), e = c.updateQueue = zg(c.memoizedState)) : d = a.updateQueue = Ag(e) : null === e && (e = c.updateQueue = Ag(d));\n\n null === e || d === e ? Cg(d, b) : null === d.lastUpdate || null === e.lastUpdate ? (Cg(d, b), Cg(e, b)) : (Cg(d, b), e.lastUpdate = b);\n}\n\nfunction Eg(a, b) {\n var c = a.updateQueue;\n c = null === c ? a.updateQueue = zg(a.memoizedState) : Fg(a, c);\n null === c.lastCapturedUpdate ? c.firstCapturedUpdate = c.lastCapturedUpdate = b : (c.lastCapturedUpdate.next = b, c.lastCapturedUpdate = b);\n}\n\nfunction Fg(a, b) {\n var c = a.alternate;\n null !== c && b === c.updateQueue && (b = a.updateQueue = Ag(b));\n return b;\n}\n\nfunction Gg(a, b, c, d, e, f) {\n switch (c.tag) {\n case 1:\n return a = c.payload, \"function\" === typeof a ? a.call(f, d, e) : a;\n\n case 3:\n a.effectTag = a.effectTag & -4097 | 64;\n\n case 0:\n a = c.payload;\n e = \"function\" === typeof a ? a.call(f, d, e) : a;\n if (null === e || void 0 === e) break;\n return n({}, d, e);\n\n case 2:\n yg = !0;\n }\n\n return d;\n}\n\nfunction Hg(a, b, c, d, e) {\n yg = !1;\n b = Fg(a, b);\n\n for (var f = b.baseState, g = null, h = 0, k = b.firstUpdate, l = f; null !== k;) {\n var m = k.expirationTime;\n m < e ? (null === g && (g = k, f = l), h < m && (h = m)) : (Ig(m, k.suspenseConfig), l = Gg(a, b, k, l, c, d), null !== k.callback && (a.effectTag |= 32, k.nextEffect = null, null === b.lastEffect ? b.firstEffect = b.lastEffect = k : (b.lastEffect.nextEffect = k, b.lastEffect = k)));\n k = k.next;\n }\n\n m = null;\n\n for (k = b.firstCapturedUpdate; null !== k;) {\n var C = k.expirationTime;\n C < e ? (null === m && (m = k, null === g && (f = l)), h < C && (h = C)) : (l = Gg(a, b, k, l, c, d), null !== k.callback && (a.effectTag |= 32, k.nextEffect = null, null === b.lastCapturedEffect ? b.firstCapturedEffect = b.lastCapturedEffect = k : (b.lastCapturedEffect.nextEffect = k, b.lastCapturedEffect = k)));\n k = k.next;\n }\n\n null === g && (b.lastUpdate = null);\n null === m ? b.lastCapturedUpdate = null : a.effectTag |= 32;\n null === g && null === m && (f = l);\n b.baseState = f;\n b.firstUpdate = g;\n b.firstCapturedUpdate = m;\n Jg(h);\n a.expirationTime = h;\n a.memoizedState = l;\n}\n\nfunction Kg(a, b, c) {\n null !== b.firstCapturedUpdate && (null !== b.lastUpdate && (b.lastUpdate.next = b.firstCapturedUpdate, b.lastUpdate = b.lastCapturedUpdate), b.firstCapturedUpdate = b.lastCapturedUpdate = null);\n Lg(b.firstEffect, c);\n b.firstEffect = b.lastEffect = null;\n Lg(b.firstCapturedEffect, c);\n b.firstCapturedEffect = b.lastCapturedEffect = null;\n}\n\nfunction Lg(a, b) {\n for (; null !== a;) {\n var c = a.callback;\n\n if (null !== c) {\n a.callback = null;\n var d = b;\n if (\"function\" !== typeof c) throw Error(u(191, c));\n c.call(d);\n }\n\n a = a.nextEffect;\n }\n}\n\nvar Mg = Ea.ReactCurrentBatchConfig,\n Ng = new aa.Component().refs;\n\nfunction Og(a, b, c, d) {\n b = a.memoizedState;\n c = c(d, b);\n c = null === c || void 0 === c ? b : n({}, b, c);\n a.memoizedState = c;\n d = a.updateQueue;\n null !== d && 0 === a.expirationTime && (d.baseState = c);\n}\n\nvar Sg = {\n isMounted: function isMounted(a) {\n return (a = a._reactInternalFiber) ? ec(a) === a : !1;\n },\n enqueueSetState: function enqueueSetState(a, b, c) {\n a = a._reactInternalFiber;\n var d = Pg(),\n e = Mg.suspense;\n d = Qg(d, a, e);\n e = Bg(d, e);\n e.payload = b;\n void 0 !== c && null !== c && (e.callback = c);\n Dg(a, e);\n Rg(a, d);\n },\n enqueueReplaceState: function enqueueReplaceState(a, b, c) {\n a = a._reactInternalFiber;\n var d = Pg(),\n e = Mg.suspense;\n d = Qg(d, a, e);\n e = Bg(d, e);\n e.tag = 1;\n e.payload = b;\n void 0 !== c && null !== c && (e.callback = c);\n Dg(a, e);\n Rg(a, d);\n },\n enqueueForceUpdate: function enqueueForceUpdate(a, b) {\n a = a._reactInternalFiber;\n var c = Pg(),\n d = Mg.suspense;\n c = Qg(c, a, d);\n d = Bg(c, d);\n d.tag = 2;\n void 0 !== b && null !== b && (d.callback = b);\n Dg(a, d);\n Rg(a, c);\n }\n};\n\nfunction Tg(a, b, c, d, e, f, g) {\n a = a.stateNode;\n return \"function\" === typeof a.shouldComponentUpdate ? a.shouldComponentUpdate(d, f, g) : b.prototype && b.prototype.isPureReactComponent ? !qf(c, d) || !qf(e, f) : !0;\n}\n\nfunction Ug(a, b, c) {\n var d = !1,\n e = Cf;\n var f = b.contextType;\n \"object\" === typeof f && null !== f ? f = xg(f) : (e = L(b) ? Df : J.current, d = b.contextTypes, f = (d = null !== d && void 0 !== d) ? Ef(a, e) : Cf);\n b = new b(c, f);\n a.memoizedState = null !== b.state && void 0 !== b.state ? b.state : null;\n b.updater = Sg;\n a.stateNode = b;\n b._reactInternalFiber = a;\n d && (a = a.stateNode, a.__reactInternalMemoizedUnmaskedChildContext = e, a.__reactInternalMemoizedMaskedChildContext = f);\n return b;\n}\n\nfunction Vg(a, b, c, d) {\n a = b.state;\n \"function\" === typeof b.componentWillReceiveProps && b.componentWillReceiveProps(c, d);\n \"function\" === typeof b.UNSAFE_componentWillReceiveProps && b.UNSAFE_componentWillReceiveProps(c, d);\n b.state !== a && Sg.enqueueReplaceState(b, b.state, null);\n}\n\nfunction Wg(a, b, c, d) {\n var e = a.stateNode;\n e.props = c;\n e.state = a.memoizedState;\n e.refs = Ng;\n var f = b.contextType;\n \"object\" === typeof f && null !== f ? e.context = xg(f) : (f = L(b) ? Df : J.current, e.context = Ef(a, f));\n f = a.updateQueue;\n null !== f && (Hg(a, f, c, e, d), e.state = a.memoizedState);\n f = b.getDerivedStateFromProps;\n \"function\" === typeof f && (Og(a, b, f, c), e.state = a.memoizedState);\n \"function\" === typeof b.getDerivedStateFromProps || \"function\" === typeof e.getSnapshotBeforeUpdate || \"function\" !== typeof e.UNSAFE_componentWillMount && \"function\" !== typeof e.componentWillMount || (b = e.state, \"function\" === typeof e.componentWillMount && e.componentWillMount(), \"function\" === typeof e.UNSAFE_componentWillMount && e.UNSAFE_componentWillMount(), b !== e.state && Sg.enqueueReplaceState(e, e.state, null), f = a.updateQueue, null !== f && (Hg(a, f, c, e, d), e.state = a.memoizedState));\n \"function\" === typeof e.componentDidMount && (a.effectTag |= 4);\n}\n\nvar Xg = Array.isArray;\n\nfunction Yg(a, b, c) {\n a = c.ref;\n\n if (null !== a && \"function\" !== typeof a && \"object\" !== typeof a) {\n if (c._owner) {\n c = c._owner;\n\n if (c) {\n if (1 !== c.tag) throw Error(u(309));\n var d = c.stateNode;\n }\n\n if (!d) throw Error(u(147, a));\n var e = \"\" + a;\n if (null !== b && null !== b.ref && \"function\" === typeof b.ref && b.ref._stringRef === e) return b.ref;\n\n b = function b(a) {\n var b = d.refs;\n b === Ng && (b = d.refs = {});\n null === a ? delete b[e] : b[e] = a;\n };\n\n b._stringRef = e;\n return b;\n }\n\n if (\"string\" !== typeof a) throw Error(u(284));\n if (!c._owner) throw Error(u(290, a));\n }\n\n return a;\n}\n\nfunction Zg(a, b) {\n if (\"textarea\" !== a.type) throw Error(u(31, \"[object Object]\" === Object.prototype.toString.call(b) ? \"object with keys {\" + Object.keys(b).join(\", \") + \"}\" : b, \"\"));\n}\n\nfunction $g(a) {\n function b(b, c) {\n if (a) {\n var d = b.lastEffect;\n null !== d ? (d.nextEffect = c, b.lastEffect = c) : b.firstEffect = b.lastEffect = c;\n c.nextEffect = null;\n c.effectTag = 8;\n }\n }\n\n function c(c, d) {\n if (!a) return null;\n\n for (; null !== d;) {\n b(c, d), d = d.sibling;\n }\n\n return null;\n }\n\n function d(a, b) {\n for (a = new Map(); null !== b;) {\n null !== b.key ? a.set(b.key, b) : a.set(b.index, b), b = b.sibling;\n }\n\n return a;\n }\n\n function e(a, b, c) {\n a = ah(a, b, c);\n a.index = 0;\n a.sibling = null;\n return a;\n }\n\n function f(b, c, d) {\n b.index = d;\n if (!a) return c;\n d = b.alternate;\n if (null !== d) return d = d.index, d < c ? (b.effectTag = 2, c) : d;\n b.effectTag = 2;\n return c;\n }\n\n function g(b) {\n a && null === b.alternate && (b.effectTag = 2);\n return b;\n }\n\n function h(a, b, c, d) {\n if (null === b || 6 !== b.tag) return b = bh(c, a.mode, d), b.return = a, b;\n b = e(b, c, d);\n b.return = a;\n return b;\n }\n\n function k(a, b, c, d) {\n if (null !== b && b.elementType === c.type) return d = e(b, c.props, d), d.ref = Yg(a, b, c), d.return = a, d;\n d = ch(c.type, c.key, c.props, null, a.mode, d);\n d.ref = Yg(a, b, c);\n d.return = a;\n return d;\n }\n\n function l(a, b, c, d) {\n if (null === b || 4 !== b.tag || b.stateNode.containerInfo !== c.containerInfo || b.stateNode.implementation !== c.implementation) return b = dh(c, a.mode, d), b.return = a, b;\n b = e(b, c.children || [], d);\n b.return = a;\n return b;\n }\n\n function m(a, b, c, d, f) {\n if (null === b || 7 !== b.tag) return b = eh(c, a.mode, d, f), b.return = a, b;\n b = e(b, c, d);\n b.return = a;\n return b;\n }\n\n function C(a, b, c) {\n if (\"string\" === typeof b || \"number\" === typeof b) return b = bh(\"\" + b, a.mode, c), b.return = a, b;\n\n if (\"object\" === typeof b && null !== b) {\n switch (b.$$typeof) {\n case Ga:\n return c = ch(b.type, b.key, b.props, null, a.mode, c), c.ref = Yg(a, null, b), c.return = a, c;\n\n case Ha:\n return b = dh(b, a.mode, c), b.return = a, b;\n }\n\n if (Xg(b) || Ua(b)) return b = eh(b, a.mode, c, null), b.return = a, b;\n Zg(a, b);\n }\n\n return null;\n }\n\n function y(a, b, c, d) {\n var e = null !== b ? b.key : null;\n if (\"string\" === typeof c || \"number\" === typeof c) return null !== e ? null : h(a, b, \"\" + c, d);\n\n if (\"object\" === typeof c && null !== c) {\n switch (c.$$typeof) {\n case Ga:\n return c.key === e ? c.type === Ia ? m(a, b, c.props.children, d, e) : k(a, b, c, d) : null;\n\n case Ha:\n return c.key === e ? l(a, b, c, d) : null;\n }\n\n if (Xg(c) || Ua(c)) return null !== e ? null : m(a, b, c, d, null);\n Zg(a, c);\n }\n\n return null;\n }\n\n function H(a, b, c, d, e) {\n if (\"string\" === typeof d || \"number\" === typeof d) return a = a.get(c) || null, h(b, a, \"\" + d, e);\n\n if (\"object\" === typeof d && null !== d) {\n switch (d.$$typeof) {\n case Ga:\n return a = a.get(null === d.key ? c : d.key) || null, d.type === Ia ? m(b, a, d.props.children, e, d.key) : k(b, a, d, e);\n\n case Ha:\n return a = a.get(null === d.key ? c : d.key) || null, l(b, a, d, e);\n }\n\n if (Xg(d) || Ua(d)) return a = a.get(c) || null, m(b, a, d, e, null);\n Zg(b, d);\n }\n\n return null;\n }\n\n function z(e, g, h, k) {\n for (var l = null, m = null, r = g, x = g = 0, A = null; null !== r && x < h.length; x++) {\n r.index > x ? (A = r, r = null) : A = r.sibling;\n var p = y(e, r, h[x], k);\n\n if (null === p) {\n null === r && (r = A);\n break;\n }\n\n a && r && null === p.alternate && b(e, r);\n g = f(p, g, x);\n null === m ? l = p : m.sibling = p;\n m = p;\n r = A;\n }\n\n if (x === h.length) return c(e, r), l;\n\n if (null === r) {\n for (; x < h.length; x++) {\n r = C(e, h[x], k), null !== r && (g = f(r, g, x), null === m ? l = r : m.sibling = r, m = r);\n }\n\n return l;\n }\n\n for (r = d(e, r); x < h.length; x++) {\n A = H(r, e, x, h[x], k), null !== A && (a && null !== A.alternate && r.delete(null === A.key ? x : A.key), g = f(A, g, x), null === m ? l = A : m.sibling = A, m = A);\n }\n\n a && r.forEach(function (a) {\n return b(e, a);\n });\n return l;\n }\n\n function ta(e, g, h, k) {\n var l = Ua(h);\n if (\"function\" !== typeof l) throw Error(u(150));\n h = l.call(h);\n if (null == h) throw Error(u(151));\n\n for (var m = l = null, r = g, x = g = 0, A = null, p = h.next(); null !== r && !p.done; x++, p = h.next()) {\n r.index > x ? (A = r, r = null) : A = r.sibling;\n var z = y(e, r, p.value, k);\n\n if (null === z) {\n null === r && (r = A);\n break;\n }\n\n a && r && null === z.alternate && b(e, r);\n g = f(z, g, x);\n null === m ? l = z : m.sibling = z;\n m = z;\n r = A;\n }\n\n if (p.done) return c(e, r), l;\n\n if (null === r) {\n for (; !p.done; x++, p = h.next()) {\n p = C(e, p.value, k), null !== p && (g = f(p, g, x), null === m ? l = p : m.sibling = p, m = p);\n }\n\n return l;\n }\n\n for (r = d(e, r); !p.done; x++, p = h.next()) {\n p = H(r, e, x, p.value, k), null !== p && (a && null !== p.alternate && r.delete(null === p.key ? x : p.key), g = f(p, g, x), null === m ? l = p : m.sibling = p, m = p);\n }\n\n a && r.forEach(function (a) {\n return b(e, a);\n });\n return l;\n }\n\n return function (a, d, f, h) {\n var k = \"object\" === typeof f && null !== f && f.type === Ia && null === f.key;\n k && (f = f.props.children);\n var l = \"object\" === typeof f && null !== f;\n if (l) switch (f.$$typeof) {\n case Ga:\n a: {\n l = f.key;\n\n for (k = d; null !== k;) {\n if (k.key === l) {\n if (7 === k.tag ? f.type === Ia : k.elementType === f.type) {\n c(a, k.sibling);\n d = e(k, f.type === Ia ? f.props.children : f.props, h);\n d.ref = Yg(a, k, f);\n d.return = a;\n a = d;\n break a;\n } else {\n c(a, k);\n break;\n }\n } else b(a, k);\n k = k.sibling;\n }\n\n f.type === Ia ? (d = eh(f.props.children, a.mode, h, f.key), d.return = a, a = d) : (h = ch(f.type, f.key, f.props, null, a.mode, h), h.ref = Yg(a, d, f), h.return = a, a = h);\n }\n\n return g(a);\n\n case Ha:\n a: {\n for (k = f.key; null !== d;) {\n if (d.key === k) {\n if (4 === d.tag && d.stateNode.containerInfo === f.containerInfo && d.stateNode.implementation === f.implementation) {\n c(a, d.sibling);\n d = e(d, f.children || [], h);\n d.return = a;\n a = d;\n break a;\n } else {\n c(a, d);\n break;\n }\n } else b(a, d);\n d = d.sibling;\n }\n\n d = dh(f, a.mode, h);\n d.return = a;\n a = d;\n }\n\n return g(a);\n }\n if (\"string\" === typeof f || \"number\" === typeof f) return f = \"\" + f, null !== d && 6 === d.tag ? (c(a, d.sibling), d = e(d, f, h), d.return = a, a = d) : (c(a, d), d = bh(f, a.mode, h), d.return = a, a = d), g(a);\n if (Xg(f)) return z(a, d, f, h);\n if (Ua(f)) return ta(a, d, f, h);\n l && Zg(a, f);\n if (\"undefined\" === typeof f && !k) switch (a.tag) {\n case 1:\n case 0:\n throw a = a.type, Error(u(152, a.displayName || a.name || \"Component\"));\n }\n return c(a, d);\n };\n}\n\nvar fh = $g(!0),\n gh = $g(!1),\n hh = {},\n ih = {\n current: hh\n},\n jh = {\n current: hh\n},\n kh = {\n current: hh\n};\n\nfunction lh(a) {\n if (a === hh) throw Error(u(174));\n return a;\n}\n\nfunction mh(a, b) {\n I(kh, b, a);\n I(jh, a, a);\n I(ih, hh, a);\n var c = b.nodeType;\n\n switch (c) {\n case 9:\n case 11:\n b = (b = b.documentElement) ? b.namespaceURI : Qb(null, \"\");\n break;\n\n default:\n c = 8 === c ? b.parentNode : b, b = c.namespaceURI || null, c = c.tagName, b = Qb(b, c);\n }\n\n G(ih, a);\n I(ih, b, a);\n}\n\nfunction nh(a) {\n G(ih, a);\n G(jh, a);\n G(kh, a);\n}\n\nfunction oh(a) {\n lh(kh.current);\n var b = lh(ih.current);\n var c = Qb(b, a.type);\n b !== c && (I(jh, a, a), I(ih, c, a));\n}\n\nfunction ph(a) {\n jh.current === a && (G(ih, a), G(jh, a));\n}\n\nvar M = {\n current: 0\n};\n\nfunction qh(a) {\n for (var b = a; null !== b;) {\n if (13 === b.tag) {\n var c = b.memoizedState;\n if (null !== c && (c = c.dehydrated, null === c || c.data === je || c.data === ke)) return b;\n } else if (19 === b.tag && void 0 !== b.memoizedProps.revealOrder) {\n if (0 !== (b.effectTag & 64)) return b;\n } else if (null !== b.child) {\n b.child.return = b;\n b = b.child;\n continue;\n }\n\n if (b === a) break;\n\n for (; null === b.sibling;) {\n if (null === b.return || b.return === a) return null;\n b = b.return;\n }\n\n b.sibling.return = b.return;\n b = b.sibling;\n }\n\n return null;\n}\n\nfunction rh(a, b) {\n return {\n responder: a,\n props: b\n };\n}\n\nvar sh = Ea.ReactCurrentDispatcher,\n N = Ea.ReactCurrentBatchConfig,\n th = 0,\n uh = null,\n O = null,\n vh = null,\n wh = null,\n P = null,\n xh = null,\n yh = 0,\n zh = null,\n Ah = 0,\n Bh = !1,\n Ch = null,\n Gh = 0;\n\nfunction Q() {\n throw Error(u(321));\n}\n\nfunction Hh(a, b) {\n if (null === b) return !1;\n\n for (var c = 0; c < b.length && c < a.length; c++) {\n if (!of(a[c], b[c])) return !1;\n }\n\n return !0;\n}\n\nfunction Ih(a, b, c, d, e, f) {\n th = f;\n uh = b;\n vh = null !== a ? a.memoizedState : null;\n sh.current = null === vh ? Jh : Kh;\n b = c(d, e);\n\n if (Bh) {\n do {\n Bh = !1, Gh += 1, vh = null !== a ? a.memoizedState : null, xh = wh, zh = P = O = null, sh.current = Kh, b = c(d, e);\n } while (Bh);\n\n Ch = null;\n Gh = 0;\n }\n\n sh.current = Lh;\n a = uh;\n a.memoizedState = wh;\n a.expirationTime = yh;\n a.updateQueue = zh;\n a.effectTag |= Ah;\n a = null !== O && null !== O.next;\n th = 0;\n xh = P = wh = vh = O = uh = null;\n yh = 0;\n zh = null;\n Ah = 0;\n if (a) throw Error(u(300));\n return b;\n}\n\nfunction Mh() {\n sh.current = Lh;\n th = 0;\n xh = P = wh = vh = O = uh = null;\n yh = 0;\n zh = null;\n Ah = 0;\n Bh = !1;\n Ch = null;\n Gh = 0;\n}\n\nfunction Nh() {\n var a = {\n memoizedState: null,\n baseState: null,\n queue: null,\n baseUpdate: null,\n next: null\n };\n null === P ? wh = P = a : P = P.next = a;\n return P;\n}\n\nfunction Oh() {\n if (null !== xh) P = xh, xh = P.next, O = vh, vh = null !== O ? O.next : null;else {\n if (null === vh) throw Error(u(310));\n O = vh;\n var a = {\n memoizedState: O.memoizedState,\n baseState: O.baseState,\n queue: O.queue,\n baseUpdate: O.baseUpdate,\n next: null\n };\n P = null === P ? wh = a : P.next = a;\n vh = O.next;\n }\n return P;\n}\n\nfunction Ph(a, b) {\n return \"function\" === typeof b ? b(a) : b;\n}\n\nfunction Qh(a) {\n var b = Oh(),\n c = b.queue;\n if (null === c) throw Error(u(311));\n c.lastRenderedReducer = a;\n\n if (0 < Gh) {\n var d = c.dispatch;\n\n if (null !== Ch) {\n var e = Ch.get(c);\n\n if (void 0 !== e) {\n Ch.delete(c);\n var f = b.memoizedState;\n\n do {\n f = a(f, e.action), e = e.next;\n } while (null !== e);\n\n of(f, b.memoizedState) || (wg = !0);\n b.memoizedState = f;\n b.baseUpdate === c.last && (b.baseState = f);\n c.lastRenderedState = f;\n return [f, d];\n }\n }\n\n return [b.memoizedState, d];\n }\n\n d = c.last;\n var g = b.baseUpdate;\n f = b.baseState;\n null !== g ? (null !== d && (d.next = null), d = g.next) : d = null !== d ? d.next : null;\n\n if (null !== d) {\n var h = e = null,\n k = d,\n l = !1;\n\n do {\n var m = k.expirationTime;\n m < th ? (l || (l = !0, h = g, e = f), m > yh && (yh = m, Jg(yh))) : (Ig(m, k.suspenseConfig), f = k.eagerReducer === a ? k.eagerState : a(f, k.action));\n g = k;\n k = k.next;\n } while (null !== k && k !== d);\n\n l || (h = g, e = f);\n of(f, b.memoizedState) || (wg = !0);\n b.memoizedState = f;\n b.baseUpdate = h;\n b.baseState = e;\n c.lastRenderedState = f;\n }\n\n return [b.memoizedState, c.dispatch];\n}\n\nfunction Rh(a) {\n var b = Nh();\n \"function\" === typeof a && (a = a());\n b.memoizedState = b.baseState = a;\n a = b.queue = {\n last: null,\n dispatch: null,\n lastRenderedReducer: Ph,\n lastRenderedState: a\n };\n a = a.dispatch = Sh.bind(null, uh, a);\n return [b.memoizedState, a];\n}\n\nfunction Th(a) {\n return Qh(Ph, a);\n}\n\nfunction Uh(a, b, c, d) {\n a = {\n tag: a,\n create: b,\n destroy: c,\n deps: d,\n next: null\n };\n null === zh ? (zh = {\n lastEffect: null\n }, zh.lastEffect = a.next = a) : (b = zh.lastEffect, null === b ? zh.lastEffect = a.next = a : (c = b.next, b.next = a, a.next = c, zh.lastEffect = a));\n return a;\n}\n\nfunction Vh(a, b, c, d) {\n var e = Nh();\n Ah |= a;\n e.memoizedState = Uh(b, c, void 0, void 0 === d ? null : d);\n}\n\nfunction Wh(a, b, c, d) {\n var e = Oh();\n d = void 0 === d ? null : d;\n var f = void 0;\n\n if (null !== O) {\n var g = O.memoizedState;\n f = g.destroy;\n\n if (null !== d && Hh(d, g.deps)) {\n Uh(0, c, f, d);\n return;\n }\n }\n\n Ah |= a;\n e.memoizedState = Uh(b, c, f, d);\n}\n\nfunction Xh(a, b) {\n return Vh(516, 192, a, b);\n}\n\nfunction Yh(a, b) {\n return Wh(516, 192, a, b);\n}\n\nfunction Zh(a, b) {\n if (\"function\" === typeof b) return a = a(), b(a), function () {\n b(null);\n };\n if (null !== b && void 0 !== b) return a = a(), b.current = a, function () {\n b.current = null;\n };\n}\n\nfunction $h() {}\n\nfunction ai(a, b) {\n Nh().memoizedState = [a, void 0 === b ? null : b];\n return a;\n}\n\nfunction bi(a, b) {\n var c = Oh();\n b = void 0 === b ? null : b;\n var d = c.memoizedState;\n if (null !== d && null !== b && Hh(b, d[1])) return d[0];\n c.memoizedState = [a, b];\n return a;\n}\n\nfunction Sh(a, b, c) {\n if (!(25 > Gh)) throw Error(u(301));\n var d = a.alternate;\n if (a === uh || null !== d && d === uh) {\n if (Bh = !0, a = {\n expirationTime: th,\n suspenseConfig: null,\n action: c,\n eagerReducer: null,\n eagerState: null,\n next: null\n }, null === Ch && (Ch = new Map()), c = Ch.get(b), void 0 === c) Ch.set(b, a);else {\n for (b = c; null !== b.next;) {\n b = b.next;\n }\n\n b.next = a;\n }\n } else {\n var e = Pg(),\n f = Mg.suspense;\n e = Qg(e, a, f);\n f = {\n expirationTime: e,\n suspenseConfig: f,\n action: c,\n eagerReducer: null,\n eagerState: null,\n next: null\n };\n var g = b.last;\n if (null === g) f.next = f;else {\n var h = g.next;\n null !== h && (f.next = h);\n g.next = f;\n }\n b.last = f;\n if (0 === a.expirationTime && (null === d || 0 === d.expirationTime) && (d = b.lastRenderedReducer, null !== d)) try {\n var k = b.lastRenderedState,\n l = d(k, c);\n f.eagerReducer = d;\n f.eagerState = l;\n if (of(l, k)) return;\n } catch (m) {} finally {}\n Rg(a, e);\n }\n}\n\nvar Lh = {\n readContext: xg,\n useCallback: Q,\n useContext: Q,\n useEffect: Q,\n useImperativeHandle: Q,\n useLayoutEffect: Q,\n useMemo: Q,\n useReducer: Q,\n useRef: Q,\n useState: Q,\n useDebugValue: Q,\n useResponder: Q,\n useDeferredValue: Q,\n useTransition: Q\n},\n Jh = {\n readContext: xg,\n useCallback: ai,\n useContext: xg,\n useEffect: Xh,\n useImperativeHandle: function useImperativeHandle(a, b, c) {\n c = null !== c && void 0 !== c ? c.concat([a]) : null;\n return Vh(4, 36, Zh.bind(null, b, a), c);\n },\n useLayoutEffect: function useLayoutEffect(a, b) {\n return Vh(4, 36, a, b);\n },\n useMemo: function useMemo(a, b) {\n var c = Nh();\n b = void 0 === b ? null : b;\n a = a();\n c.memoizedState = [a, b];\n return a;\n },\n useReducer: function useReducer(a, b, c) {\n var d = Nh();\n b = void 0 !== c ? c(b) : b;\n d.memoizedState = d.baseState = b;\n a = d.queue = {\n last: null,\n dispatch: null,\n lastRenderedReducer: a,\n lastRenderedState: b\n };\n a = a.dispatch = Sh.bind(null, uh, a);\n return [d.memoizedState, a];\n },\n useRef: function useRef(a) {\n var b = Nh();\n a = {\n current: a\n };\n return b.memoizedState = a;\n },\n useState: Rh,\n useDebugValue: $h,\n useResponder: rh,\n useDeferredValue: function useDeferredValue(a, b) {\n var c = Rh(a),\n d = c[0],\n e = c[1];\n Xh(function () {\n q.unstable_next(function () {\n var c = N.suspense;\n N.suspense = void 0 === b ? null : b;\n\n try {\n e(a);\n } finally {\n N.suspense = c;\n }\n });\n }, [a, b]);\n return d;\n },\n useTransition: function useTransition(a) {\n var b = Rh(!1),\n c = b[0],\n d = b[1];\n return [ai(function (b) {\n d(!0);\n q.unstable_next(function () {\n var c = N.suspense;\n N.suspense = void 0 === a ? null : a;\n\n try {\n d(!1), b();\n } finally {\n N.suspense = c;\n }\n });\n }, [a, c]), c];\n }\n},\n Kh = {\n readContext: xg,\n useCallback: bi,\n useContext: xg,\n useEffect: Yh,\n useImperativeHandle: function useImperativeHandle(a, b, c) {\n c = null !== c && void 0 !== c ? c.concat([a]) : null;\n return Wh(4, 36, Zh.bind(null, b, a), c);\n },\n useLayoutEffect: function useLayoutEffect(a, b) {\n return Wh(4, 36, a, b);\n },\n useMemo: function useMemo(a, b) {\n var c = Oh();\n b = void 0 === b ? null : b;\n var d = c.memoizedState;\n if (null !== d && null !== b && Hh(b, d[1])) return d[0];\n a = a();\n c.memoizedState = [a, b];\n return a;\n },\n useReducer: Qh,\n useRef: function useRef() {\n return Oh().memoizedState;\n },\n useState: Th,\n useDebugValue: $h,\n useResponder: rh,\n useDeferredValue: function useDeferredValue(a, b) {\n var c = Th(a),\n d = c[0],\n e = c[1];\n Yh(function () {\n q.unstable_next(function () {\n var c = N.suspense;\n N.suspense = void 0 === b ? null : b;\n\n try {\n e(a);\n } finally {\n N.suspense = c;\n }\n });\n }, [a, b]);\n return d;\n },\n useTransition: function useTransition(a) {\n var b = Th(!1),\n c = b[0],\n d = b[1];\n return [bi(function (b) {\n d(!0);\n q.unstable_next(function () {\n var c = N.suspense;\n N.suspense = void 0 === a ? null : a;\n\n try {\n d(!1), b();\n } finally {\n N.suspense = c;\n }\n });\n }, [a, c]), c];\n }\n},\n ci = null,\n di = null,\n ei = !1;\n\nfunction fi(a, b) {\n var c = gi(5, null, null, 0);\n c.elementType = \"DELETED\";\n c.type = \"DELETED\";\n c.stateNode = b;\n c.return = a;\n c.effectTag = 8;\n null !== a.lastEffect ? (a.lastEffect.nextEffect = c, a.lastEffect = c) : a.firstEffect = a.lastEffect = c;\n}\n\nfunction hi(a, b) {\n switch (a.tag) {\n case 5:\n var c = a.type;\n b = 1 !== b.nodeType || c.toLowerCase() !== b.nodeName.toLowerCase() ? null : b;\n return null !== b ? (a.stateNode = b, !0) : !1;\n\n case 6:\n return b = \"\" === a.pendingProps || 3 !== b.nodeType ? null : b, null !== b ? (a.stateNode = b, !0) : !1;\n\n case 13:\n return !1;\n\n default:\n return !1;\n }\n}\n\nfunction ii(a) {\n if (ei) {\n var b = di;\n\n if (b) {\n var c = b;\n\n if (!hi(a, b)) {\n b = re(c.nextSibling);\n\n if (!b || !hi(a, b)) {\n a.effectTag = a.effectTag & -1025 | 2;\n ei = !1;\n ci = a;\n return;\n }\n\n fi(ci, c);\n }\n\n ci = a;\n di = re(b.firstChild);\n } else a.effectTag = a.effectTag & -1025 | 2, ei = !1, ci = a;\n }\n}\n\nfunction ji(a) {\n for (a = a.return; null !== a && 5 !== a.tag && 3 !== a.tag && 13 !== a.tag;) {\n a = a.return;\n }\n\n ci = a;\n}\n\nfunction ki(a) {\n if (a !== ci) return !1;\n if (!ei) return ji(a), ei = !0, !1;\n var b = a.type;\n if (5 !== a.tag || \"head\" !== b && \"body\" !== b && !oe(b, a.memoizedProps)) for (b = di; b;) {\n fi(a, b), b = re(b.nextSibling);\n }\n ji(a);\n\n if (13 === a.tag) {\n a = a.memoizedState;\n a = null !== a ? a.dehydrated : null;\n if (!a) throw Error(u(317));\n\n a: {\n a = a.nextSibling;\n\n for (b = 0; a;) {\n if (8 === a.nodeType) {\n var c = a.data;\n\n if (c === ie) {\n if (0 === b) {\n di = re(a.nextSibling);\n break a;\n }\n\n b--;\n } else c !== he && c !== ke && c !== je || b++;\n }\n\n a = a.nextSibling;\n }\n\n di = null;\n }\n } else di = ci ? re(a.stateNode.nextSibling) : null;\n\n return !0;\n}\n\nfunction li() {\n di = ci = null;\n ei = !1;\n}\n\nvar mi = Ea.ReactCurrentOwner,\n wg = !1;\n\nfunction R(a, b, c, d) {\n b.child = null === a ? gh(b, null, c, d) : fh(b, a.child, c, d);\n}\n\nfunction ni(a, b, c, d, e) {\n c = c.render;\n var f = b.ref;\n vg(b, e);\n d = Ih(a, b, c, d, f, e);\n if (null !== a && !wg) return b.updateQueue = a.updateQueue, b.effectTag &= -517, a.expirationTime <= e && (a.expirationTime = 0), oi(a, b, e);\n b.effectTag |= 1;\n R(a, b, d, e);\n return b.child;\n}\n\nfunction pi(a, b, c, d, e, f) {\n if (null === a) {\n var g = c.type;\n if (\"function\" === typeof g && !qi(g) && void 0 === g.defaultProps && null === c.compare && void 0 === c.defaultProps) return b.tag = 15, b.type = g, ri(a, b, g, d, e, f);\n a = ch(c.type, null, d, null, b.mode, f);\n a.ref = b.ref;\n a.return = b;\n return b.child = a;\n }\n\n g = a.child;\n if (e < f && (e = g.memoizedProps, c = c.compare, c = null !== c ? c : qf, c(e, d) && a.ref === b.ref)) return oi(a, b, f);\n b.effectTag |= 1;\n a = ah(g, d, f);\n a.ref = b.ref;\n a.return = b;\n return b.child = a;\n}\n\nfunction ri(a, b, c, d, e, f) {\n return null !== a && qf(a.memoizedProps, d) && a.ref === b.ref && (wg = !1, e < f) ? oi(a, b, f) : si(a, b, c, d, f);\n}\n\nfunction ti(a, b) {\n var c = b.ref;\n if (null === a && null !== c || null !== a && a.ref !== c) b.effectTag |= 128;\n}\n\nfunction si(a, b, c, d, e) {\n var f = L(c) ? Df : J.current;\n f = Ef(b, f);\n vg(b, e);\n c = Ih(a, b, c, d, f, e);\n if (null !== a && !wg) return b.updateQueue = a.updateQueue, b.effectTag &= -517, a.expirationTime <= e && (a.expirationTime = 0), oi(a, b, e);\n b.effectTag |= 1;\n R(a, b, c, e);\n return b.child;\n}\n\nfunction ui(a, b, c, d, e) {\n if (L(c)) {\n var f = !0;\n Jf(b);\n } else f = !1;\n\n vg(b, e);\n if (null === b.stateNode) null !== a && (a.alternate = null, b.alternate = null, b.effectTag |= 2), Ug(b, c, d, e), Wg(b, c, d, e), d = !0;else if (null === a) {\n var g = b.stateNode,\n h = b.memoizedProps;\n g.props = h;\n var k = g.context,\n l = c.contextType;\n \"object\" === typeof l && null !== l ? l = xg(l) : (l = L(c) ? Df : J.current, l = Ef(b, l));\n var m = c.getDerivedStateFromProps,\n C = \"function\" === typeof m || \"function\" === typeof g.getSnapshotBeforeUpdate;\n C || \"function\" !== typeof g.UNSAFE_componentWillReceiveProps && \"function\" !== typeof g.componentWillReceiveProps || (h !== d || k !== l) && Vg(b, g, d, l);\n yg = !1;\n var y = b.memoizedState;\n k = g.state = y;\n var H = b.updateQueue;\n null !== H && (Hg(b, H, d, g, e), k = b.memoizedState);\n h !== d || y !== k || K.current || yg ? (\"function\" === typeof m && (Og(b, c, m, d), k = b.memoizedState), (h = yg || Tg(b, c, h, d, y, k, l)) ? (C || \"function\" !== typeof g.UNSAFE_componentWillMount && \"function\" !== typeof g.componentWillMount || (\"function\" === typeof g.componentWillMount && g.componentWillMount(), \"function\" === typeof g.UNSAFE_componentWillMount && g.UNSAFE_componentWillMount()), \"function\" === typeof g.componentDidMount && (b.effectTag |= 4)) : (\"function\" === typeof g.componentDidMount && (b.effectTag |= 4), b.memoizedProps = d, b.memoizedState = k), g.props = d, g.state = k, g.context = l, d = h) : (\"function\" === typeof g.componentDidMount && (b.effectTag |= 4), d = !1);\n } else g = b.stateNode, h = b.memoizedProps, g.props = b.type === b.elementType ? h : mg(b.type, h), k = g.context, l = c.contextType, \"object\" === typeof l && null !== l ? l = xg(l) : (l = L(c) ? Df : J.current, l = Ef(b, l)), m = c.getDerivedStateFromProps, (C = \"function\" === typeof m || \"function\" === typeof g.getSnapshotBeforeUpdate) || \"function\" !== typeof g.UNSAFE_componentWillReceiveProps && \"function\" !== typeof g.componentWillReceiveProps || (h !== d || k !== l) && Vg(b, g, d, l), yg = !1, k = b.memoizedState, y = g.state = k, H = b.updateQueue, null !== H && (Hg(b, H, d, g, e), y = b.memoizedState), h !== d || k !== y || K.current || yg ? (\"function\" === typeof m && (Og(b, c, m, d), y = b.memoizedState), (m = yg || Tg(b, c, h, d, k, y, l)) ? (C || \"function\" !== typeof g.UNSAFE_componentWillUpdate && \"function\" !== typeof g.componentWillUpdate || (\"function\" === typeof g.componentWillUpdate && g.componentWillUpdate(d, y, l), \"function\" === typeof g.UNSAFE_componentWillUpdate && g.UNSAFE_componentWillUpdate(d, y, l)), \"function\" === typeof g.componentDidUpdate && (b.effectTag |= 4), \"function\" === typeof g.getSnapshotBeforeUpdate && (b.effectTag |= 256)) : (\"function\" !== typeof g.componentDidUpdate || h === a.memoizedProps && k === a.memoizedState || (b.effectTag |= 4), \"function\" !== typeof g.getSnapshotBeforeUpdate || h === a.memoizedProps && k === a.memoizedState || (b.effectTag |= 256), b.memoizedProps = d, b.memoizedState = y), g.props = d, g.state = y, g.context = l, d = m) : (\"function\" !== typeof g.componentDidUpdate || h === a.memoizedProps && k === a.memoizedState || (b.effectTag |= 4), \"function\" !== typeof g.getSnapshotBeforeUpdate || h === a.memoizedProps && k === a.memoizedState || (b.effectTag |= 256), d = !1);\n return vi(a, b, c, d, f, e);\n}\n\nfunction vi(a, b, c, d, e, f) {\n ti(a, b);\n var g = 0 !== (b.effectTag & 64);\n if (!d && !g) return e && Kf(b, c, !1), oi(a, b, f);\n d = b.stateNode;\n mi.current = b;\n var h = g && \"function\" !== typeof c.getDerivedStateFromError ? null : d.render();\n b.effectTag |= 1;\n null !== a && g ? (b.child = fh(b, a.child, null, f), b.child = fh(b, null, h, f)) : R(a, b, h, f);\n b.memoizedState = d.state;\n e && Kf(b, c, !0);\n return b.child;\n}\n\nfunction wi(a) {\n var b = a.stateNode;\n b.pendingContext ? Hf(a, b.pendingContext, b.pendingContext !== b.context) : b.context && Hf(a, b.context, !1);\n mh(a, b.containerInfo);\n}\n\nvar xi = {\n dehydrated: null,\n retryTime: 0\n};\n\nfunction yi(a, b, c) {\n var d = b.mode,\n e = b.pendingProps,\n f = M.current,\n g = !1,\n h;\n (h = 0 !== (b.effectTag & 64)) || (h = 0 !== (f & 2) && (null === a || null !== a.memoizedState));\n h ? (g = !0, b.effectTag &= -65) : null !== a && null === a.memoizedState || void 0 === e.fallback || !0 === e.unstable_avoidThisFallback || (f |= 1);\n I(M, f & 1, b);\n\n if (null === a) {\n void 0 !== e.fallback && ii(b);\n\n if (g) {\n g = e.fallback;\n e = eh(null, d, 0, null);\n e.return = b;\n if (0 === (b.mode & 2)) for (a = null !== b.memoizedState ? b.child.child : b.child, e.child = a; null !== a;) {\n a.return = e, a = a.sibling;\n }\n c = eh(g, d, c, null);\n c.return = b;\n e.sibling = c;\n b.memoizedState = xi;\n b.child = e;\n return c;\n }\n\n d = e.children;\n b.memoizedState = null;\n return b.child = gh(b, null, d, c);\n }\n\n if (null !== a.memoizedState) {\n a = a.child;\n d = a.sibling;\n\n if (g) {\n e = e.fallback;\n c = ah(a, a.pendingProps, 0);\n c.return = b;\n if (0 === (b.mode & 2) && (g = null !== b.memoizedState ? b.child.child : b.child, g !== a.child)) for (c.child = g; null !== g;) {\n g.return = c, g = g.sibling;\n }\n d = ah(d, e, d.expirationTime);\n d.return = b;\n c.sibling = d;\n c.childExpirationTime = 0;\n b.memoizedState = xi;\n b.child = c;\n return d;\n }\n\n c = fh(b, a.child, e.children, c);\n b.memoizedState = null;\n return b.child = c;\n }\n\n a = a.child;\n\n if (g) {\n g = e.fallback;\n e = eh(null, d, 0, null);\n e.return = b;\n e.child = a;\n null !== a && (a.return = e);\n if (0 === (b.mode & 2)) for (a = null !== b.memoizedState ? b.child.child : b.child, e.child = a; null !== a;) {\n a.return = e, a = a.sibling;\n }\n c = eh(g, d, c, null);\n c.return = b;\n e.sibling = c;\n c.effectTag |= 2;\n e.childExpirationTime = 0;\n b.memoizedState = xi;\n b.child = e;\n return c;\n }\n\n b.memoizedState = null;\n return b.child = fh(b, a, e.children, c);\n}\n\nfunction zi(a, b) {\n a.expirationTime < b && (a.expirationTime = b);\n var c = a.alternate;\n null !== c && c.expirationTime < b && (c.expirationTime = b);\n ug(a.return, b);\n}\n\nfunction Ai(a, b, c, d, e, f) {\n var g = a.memoizedState;\n null === g ? a.memoizedState = {\n isBackwards: b,\n rendering: null,\n last: d,\n tail: c,\n tailExpiration: 0,\n tailMode: e,\n lastEffect: f\n } : (g.isBackwards = b, g.rendering = null, g.last = d, g.tail = c, g.tailExpiration = 0, g.tailMode = e, g.lastEffect = f);\n}\n\nfunction Bi(a, b, c) {\n var d = b.pendingProps,\n e = d.revealOrder,\n f = d.tail;\n R(a, b, d.children, c);\n d = M.current;\n if (0 !== (d & 2)) d = d & 1 | 2, b.effectTag |= 64;else {\n if (null !== a && 0 !== (a.effectTag & 64)) a: for (a = b.child; null !== a;) {\n if (13 === a.tag) null !== a.memoizedState && zi(a, c);else if (19 === a.tag) zi(a, c);else if (null !== a.child) {\n a.child.return = a;\n a = a.child;\n continue;\n }\n if (a === b) break a;\n\n for (; null === a.sibling;) {\n if (null === a.return || a.return === b) break a;\n a = a.return;\n }\n\n a.sibling.return = a.return;\n a = a.sibling;\n }\n d &= 1;\n }\n I(M, d, b);\n if (0 === (b.mode & 2)) b.memoizedState = null;else switch (e) {\n case \"forwards\":\n c = b.child;\n\n for (e = null; null !== c;) {\n a = c.alternate, null !== a && null === qh(a) && (e = c), c = c.sibling;\n }\n\n c = e;\n null === c ? (e = b.child, b.child = null) : (e = c.sibling, c.sibling = null);\n Ai(b, !1, e, c, f, b.lastEffect);\n break;\n\n case \"backwards\":\n c = null;\n e = b.child;\n\n for (b.child = null; null !== e;) {\n a = e.alternate;\n\n if (null !== a && null === qh(a)) {\n b.child = e;\n break;\n }\n\n a = e.sibling;\n e.sibling = c;\n c = e;\n e = a;\n }\n\n Ai(b, !0, c, null, f, b.lastEffect);\n break;\n\n case \"together\":\n Ai(b, !1, null, null, void 0, b.lastEffect);\n break;\n\n default:\n b.memoizedState = null;\n }\n return b.child;\n}\n\nfunction oi(a, b, c) {\n null !== a && (b.dependencies = a.dependencies);\n var d = b.expirationTime;\n 0 !== d && Jg(d);\n if (b.childExpirationTime < c) return null;\n if (null !== a && b.child !== a.child) throw Error(u(153));\n\n if (null !== b.child) {\n a = b.child;\n c = ah(a, a.pendingProps, a.expirationTime);\n b.child = c;\n\n for (c.return = b; null !== a.sibling;) {\n a = a.sibling, c = c.sibling = ah(a, a.pendingProps, a.expirationTime), c.return = b;\n }\n\n c.sibling = null;\n }\n\n return b.child;\n}\n\nfunction Ci(a) {\n a.effectTag |= 4;\n}\n\nvar Hi, Ii, Ji, Ki;\n\nHi = function Hi(a, b) {\n for (var c = b.child; null !== c;) {\n if (5 === c.tag || 6 === c.tag) a.appendChild(c.stateNode);else if (4 !== c.tag && null !== c.child) {\n c.child.return = c;\n c = c.child;\n continue;\n }\n if (c === b) break;\n\n for (; null === c.sibling;) {\n if (null === c.return || c.return === b) return;\n c = c.return;\n }\n\n c.sibling.return = c.return;\n c = c.sibling;\n }\n};\n\nIi = function Ii() {};\n\nJi = function Ji(a, b, c, d, e) {\n var f = a.memoizedProps;\n\n if (f !== d) {\n var g = b.stateNode;\n lh(ih.current);\n a = null;\n\n switch (c) {\n case \"input\":\n f = Ab(g, f);\n d = Ab(g, d);\n a = [];\n break;\n\n case \"option\":\n f = Ib(g, f);\n d = Ib(g, d);\n a = [];\n break;\n\n case \"select\":\n f = n({}, f, {\n value: void 0\n });\n d = n({}, d, {\n value: void 0\n });\n a = [];\n break;\n\n case \"textarea\":\n f = Kb(g, f);\n d = Kb(g, d);\n a = [];\n break;\n\n default:\n \"function\" !== typeof f.onClick && \"function\" === typeof d.onClick && (g.onclick = ae);\n }\n\n Yd(c, d);\n var h, k;\n c = null;\n\n for (h in f) {\n if (!d.hasOwnProperty(h) && f.hasOwnProperty(h) && null != f[h]) if (\"style\" === h) for (k in g = f[h], g) {\n g.hasOwnProperty(k) && (c || (c = {}), c[k] = \"\");\n } else \"dangerouslySetInnerHTML\" !== h && \"children\" !== h && \"suppressContentEditableWarning\" !== h && \"suppressHydrationWarning\" !== h && \"autoFocus\" !== h && (ia.hasOwnProperty(h) ? a || (a = []) : (a = a || []).push(h, null));\n }\n\n for (h in d) {\n var l = d[h];\n g = null != f ? f[h] : void 0;\n if (d.hasOwnProperty(h) && l !== g && (null != l || null != g)) if (\"style\" === h) {\n if (g) {\n for (k in g) {\n !g.hasOwnProperty(k) || l && l.hasOwnProperty(k) || (c || (c = {}), c[k] = \"\");\n }\n\n for (k in l) {\n l.hasOwnProperty(k) && g[k] !== l[k] && (c || (c = {}), c[k] = l[k]);\n }\n } else c || (a || (a = []), a.push(h, c)), c = l;\n } else \"dangerouslySetInnerHTML\" === h ? (l = l ? l.__html : void 0, g = g ? g.__html : void 0, null != l && g !== l && (a = a || []).push(h, \"\" + l)) : \"children\" === h ? g === l || \"string\" !== typeof l && \"number\" !== typeof l || (a = a || []).push(h, \"\" + l) : \"suppressContentEditableWarning\" !== h && \"suppressHydrationWarning\" !== h && (ia.hasOwnProperty(h) ? (null != l && $d(e, h), a || g === l || (a = [])) : (a = a || []).push(h, l));\n }\n\n c && (a = a || []).push(\"style\", c);\n e = a;\n (b.updateQueue = e) && Ci(b);\n }\n};\n\nKi = function Ki(a, b, c, d) {\n c !== d && Ci(b);\n};\n\nfunction Li(a, b) {\n switch (a.tailMode) {\n case \"hidden\":\n b = a.tail;\n\n for (var c = null; null !== b;) {\n null !== b.alternate && (c = b), b = b.sibling;\n }\n\n null === c ? a.tail = null : c.sibling = null;\n break;\n\n case \"collapsed\":\n c = a.tail;\n\n for (var d = null; null !== c;) {\n null !== c.alternate && (d = c), c = c.sibling;\n }\n\n null === d ? b || null === a.tail ? a.tail = null : a.tail.sibling = null : d.sibling = null;\n }\n}\n\nfunction Mi(a) {\n switch (a.tag) {\n case 1:\n L(a.type) && Ff(a);\n var b = a.effectTag;\n return b & 4096 ? (a.effectTag = b & -4097 | 64, a) : null;\n\n case 3:\n nh(a);\n Gf(a);\n b = a.effectTag;\n if (0 !== (b & 64)) throw Error(u(285));\n a.effectTag = b & -4097 | 64;\n return a;\n\n case 5:\n return ph(a), null;\n\n case 13:\n return G(M, a), b = a.effectTag, b & 4096 ? (a.effectTag = b & -4097 | 64, a) : null;\n\n case 19:\n return G(M, a), null;\n\n case 4:\n return nh(a), null;\n\n case 10:\n return tg(a), null;\n\n default:\n return null;\n }\n}\n\nfunction Ni(a, b) {\n return {\n value: a,\n source: b,\n stack: Xa(b)\n };\n}\n\nvar Oi = \"function\" === typeof WeakSet ? WeakSet : Set;\n\nfunction Pi(a, b) {\n var c = b.source,\n d = b.stack;\n null === d && null !== c && (d = Xa(c));\n null !== c && Wa(c.type);\n b = b.value;\n null !== a && 1 === a.tag && Wa(a.type);\n\n try {\n console.error(b);\n } catch (e) {\n setTimeout(function () {\n throw e;\n });\n }\n}\n\nfunction Qi(a, b) {\n try {\n b.props = a.memoizedProps, b.state = a.memoizedState, b.componentWillUnmount();\n } catch (c) {\n Ri(a, c);\n }\n}\n\nfunction Si(a) {\n var b = a.ref;\n if (null !== b) if (\"function\" === typeof b) try {\n b(null);\n } catch (c) {\n Ri(a, c);\n } else b.current = null;\n}\n\nfunction Ti(a, b) {\n switch (b.tag) {\n case 0:\n case 11:\n case 15:\n Ui(2, 0, b);\n break;\n\n case 1:\n if (b.effectTag & 256 && null !== a) {\n var c = a.memoizedProps,\n d = a.memoizedState;\n a = b.stateNode;\n b = a.getSnapshotBeforeUpdate(b.elementType === b.type ? c : mg(b.type, c), d);\n a.__reactInternalSnapshotBeforeUpdate = b;\n }\n\n break;\n\n case 3:\n case 5:\n case 6:\n case 4:\n case 17:\n break;\n\n default:\n throw Error(u(163));\n }\n}\n\nfunction Ui(a, b, c) {\n c = c.updateQueue;\n c = null !== c ? c.lastEffect : null;\n\n if (null !== c) {\n var d = c = c.next;\n\n do {\n if (0 !== (d.tag & a)) {\n var e = d.destroy;\n d.destroy = void 0;\n void 0 !== e && e();\n }\n\n 0 !== (d.tag & b) && (e = d.create, d.destroy = e());\n d = d.next;\n } while (d !== c);\n }\n}\n\nfunction Vi(a, b, c) {\n \"function\" === typeof Wi && Wi(b);\n\n switch (b.tag) {\n case 0:\n case 11:\n case 14:\n case 15:\n a = b.updateQueue;\n\n if (null !== a && (a = a.lastEffect, null !== a)) {\n var d = a.next;\n fg(97 < c ? 97 : c, function () {\n var a = d;\n\n do {\n var c = a.destroy;\n\n if (void 0 !== c) {\n var g = b;\n\n try {\n c();\n } catch (h) {\n Ri(g, h);\n }\n }\n\n a = a.next;\n } while (a !== d);\n });\n }\n\n break;\n\n case 1:\n Si(b);\n c = b.stateNode;\n \"function\" === typeof c.componentWillUnmount && Qi(b, c);\n break;\n\n case 5:\n Si(b);\n break;\n\n case 4:\n Xi(a, b, c);\n }\n}\n\nfunction Yi(a) {\n var b = a.alternate;\n a.return = null;\n a.child = null;\n a.memoizedState = null;\n a.updateQueue = null;\n a.dependencies = null;\n a.alternate = null;\n a.firstEffect = null;\n a.lastEffect = null;\n a.pendingProps = null;\n a.memoizedProps = null;\n null !== b && Yi(b);\n}\n\nfunction Zi(a) {\n return 5 === a.tag || 3 === a.tag || 4 === a.tag;\n}\n\nfunction $i(a) {\n a: {\n for (var b = a.return; null !== b;) {\n if (Zi(b)) {\n var c = b;\n break a;\n }\n\n b = b.return;\n }\n\n throw Error(u(160));\n }\n\n b = c.stateNode;\n\n switch (c.tag) {\n case 5:\n var d = !1;\n break;\n\n case 3:\n b = b.containerInfo;\n d = !0;\n break;\n\n case 4:\n b = b.containerInfo;\n d = !0;\n break;\n\n default:\n throw Error(u(161));\n }\n\n c.effectTag & 16 && (Tb(b, \"\"), c.effectTag &= -17);\n\n a: b: for (c = a;;) {\n for (; null === c.sibling;) {\n if (null === c.return || Zi(c.return)) {\n c = null;\n break a;\n }\n\n c = c.return;\n }\n\n c.sibling.return = c.return;\n\n for (c = c.sibling; 5 !== c.tag && 6 !== c.tag && 18 !== c.tag;) {\n if (c.effectTag & 2) continue b;\n if (null === c.child || 4 === c.tag) continue b;else c.child.return = c, c = c.child;\n }\n\n if (!(c.effectTag & 2)) {\n c = c.stateNode;\n break a;\n }\n }\n\n for (var e = a;;) {\n var f = 5 === e.tag || 6 === e.tag;\n\n if (f) {\n var g = f ? e.stateNode : e.stateNode.instance;\n if (c) {\n if (d) {\n f = b;\n var h = g;\n g = c;\n 8 === f.nodeType ? f.parentNode.insertBefore(h, g) : f.insertBefore(h, g);\n } else b.insertBefore(g, c);\n } else d ? (h = b, 8 === h.nodeType ? (f = h.parentNode, f.insertBefore(g, h)) : (f = h, f.appendChild(g)), h = h._reactRootContainer, null !== h && void 0 !== h || null !== f.onclick || (f.onclick = ae)) : b.appendChild(g);\n } else if (4 !== e.tag && null !== e.child) {\n e.child.return = e;\n e = e.child;\n continue;\n }\n\n if (e === a) break;\n\n for (; null === e.sibling;) {\n if (null === e.return || e.return === a) return;\n e = e.return;\n }\n\n e.sibling.return = e.return;\n e = e.sibling;\n }\n}\n\nfunction Xi(a, b, c) {\n for (var d = b, e = !1, f, g;;) {\n if (!e) {\n e = d.return;\n\n a: for (;;) {\n if (null === e) throw Error(u(160));\n f = e.stateNode;\n\n switch (e.tag) {\n case 5:\n g = !1;\n break a;\n\n case 3:\n f = f.containerInfo;\n g = !0;\n break a;\n\n case 4:\n f = f.containerInfo;\n g = !0;\n break a;\n }\n\n e = e.return;\n }\n\n e = !0;\n }\n\n if (5 === d.tag || 6 === d.tag) {\n a: for (var h = a, k = d, l = c, m = k;;) {\n if (Vi(h, m, l), null !== m.child && 4 !== m.tag) m.child.return = m, m = m.child;else {\n if (m === k) break;\n\n for (; null === m.sibling;) {\n if (null === m.return || m.return === k) break a;\n m = m.return;\n }\n\n m.sibling.return = m.return;\n m = m.sibling;\n }\n }\n\n g ? (h = f, k = d.stateNode, 8 === h.nodeType ? h.parentNode.removeChild(k) : h.removeChild(k)) : f.removeChild(d.stateNode);\n } else if (4 === d.tag) {\n if (null !== d.child) {\n f = d.stateNode.containerInfo;\n g = !0;\n d.child.return = d;\n d = d.child;\n continue;\n }\n } else if (Vi(a, d, c), null !== d.child) {\n d.child.return = d;\n d = d.child;\n continue;\n }\n\n if (d === b) break;\n\n for (; null === d.sibling;) {\n if (null === d.return || d.return === b) return;\n d = d.return;\n 4 === d.tag && (e = !1);\n }\n\n d.sibling.return = d.return;\n d = d.sibling;\n }\n}\n\nfunction aj(a, b) {\n switch (b.tag) {\n case 0:\n case 11:\n case 14:\n case 15:\n Ui(4, 8, b);\n break;\n\n case 1:\n break;\n\n case 5:\n var c = b.stateNode;\n\n if (null != c) {\n var d = b.memoizedProps,\n e = null !== a ? a.memoizedProps : d;\n a = b.type;\n var f = b.updateQueue;\n b.updateQueue = null;\n\n if (null !== f) {\n c[ve] = d;\n \"input\" === a && \"radio\" === d.type && null != d.name && Cb(c, d);\n Zd(a, e);\n b = Zd(a, d);\n\n for (e = 0; e < f.length; e += 2) {\n var g = f[e],\n h = f[e + 1];\n \"style\" === g ? Wd(c, h) : \"dangerouslySetInnerHTML\" === g ? Sb(c, h) : \"children\" === g ? Tb(c, h) : vb(c, g, h, b);\n }\n\n switch (a) {\n case \"input\":\n Eb(c, d);\n break;\n\n case \"textarea\":\n Mb(c, d);\n break;\n\n case \"select\":\n b = c._wrapperState.wasMultiple, c._wrapperState.wasMultiple = !!d.multiple, a = d.value, null != a ? Jb(c, !!d.multiple, a, !1) : b !== !!d.multiple && (null != d.defaultValue ? Jb(c, !!d.multiple, d.defaultValue, !0) : Jb(c, !!d.multiple, d.multiple ? [] : \"\", !1));\n }\n }\n }\n\n break;\n\n case 6:\n if (null === b.stateNode) throw Error(u(162));\n b.stateNode.nodeValue = b.memoizedProps;\n break;\n\n case 3:\n b = b.stateNode;\n b.hydrate && (b.hydrate = !1, Lc(b.containerInfo));\n break;\n\n case 12:\n break;\n\n case 13:\n c = b;\n null === b.memoizedState ? d = !1 : (d = !0, c = b.child, bj = cg());\n if (null !== c) a: for (a = c;;) {\n if (5 === a.tag) f = a.stateNode, d ? (f = f.style, \"function\" === typeof f.setProperty ? f.setProperty(\"display\", \"none\", \"important\") : f.display = \"none\") : (f = a.stateNode, e = a.memoizedProps.style, e = void 0 !== e && null !== e && e.hasOwnProperty(\"display\") ? e.display : null, f.style.display = Vd(\"display\", e));else if (6 === a.tag) a.stateNode.nodeValue = d ? \"\" : a.memoizedProps;else if (13 === a.tag && null !== a.memoizedState && null === a.memoizedState.dehydrated) {\n f = a.child.sibling;\n f.return = a;\n a = f;\n continue;\n } else if (null !== a.child) {\n a.child.return = a;\n a = a.child;\n continue;\n }\n if (a === c) break a;\n\n for (; null === a.sibling;) {\n if (null === a.return || a.return === c) break a;\n a = a.return;\n }\n\n a.sibling.return = a.return;\n a = a.sibling;\n }\n cj(b);\n break;\n\n case 19:\n cj(b);\n break;\n\n case 17:\n break;\n\n case 20:\n break;\n\n case 21:\n break;\n\n default:\n throw Error(u(163));\n }\n}\n\nfunction cj(a) {\n var b = a.updateQueue;\n\n if (null !== b) {\n a.updateQueue = null;\n var c = a.stateNode;\n null === c && (c = a.stateNode = new Oi());\n b.forEach(function (b) {\n var d = dj.bind(null, a, b);\n c.has(b) || (c.add(b), b.then(d, d));\n });\n }\n}\n\nvar ej = \"function\" === typeof WeakMap ? WeakMap : Map;\n\nfunction fj(a, b, c) {\n c = Bg(c, null);\n c.tag = 3;\n c.payload = {\n element: null\n };\n var d = b.value;\n\n c.callback = function () {\n gj || (gj = !0, hj = d);\n Pi(a, b);\n };\n\n return c;\n}\n\nfunction ij(a, b, c) {\n c = Bg(c, null);\n c.tag = 3;\n var d = a.type.getDerivedStateFromError;\n\n if (\"function\" === typeof d) {\n var e = b.value;\n\n c.payload = function () {\n Pi(a, b);\n return d(e);\n };\n }\n\n var f = a.stateNode;\n null !== f && \"function\" === typeof f.componentDidCatch && (c.callback = function () {\n \"function\" !== typeof d && (null === jj ? jj = new Set([this]) : jj.add(this), Pi(a, b));\n var c = b.stack;\n this.componentDidCatch(b.value, {\n componentStack: null !== c ? c : \"\"\n });\n });\n return c;\n}\n\nvar kj = Math.ceil,\n lj = Ea.ReactCurrentDispatcher,\n mj = Ea.ReactCurrentOwner,\n S = 0,\n nj = 8,\n oj = 16,\n pj = 32,\n qj = 0,\n rj = 1,\n sj = 2,\n tj = 3,\n uj = 4,\n vj = 5,\n T = S,\n U = null,\n V = null,\n W = 0,\n X = qj,\n wj = null,\n xj = 1073741823,\n yj = 1073741823,\n zj = null,\n Aj = 0,\n Bj = !1,\n bj = 0,\n Cj = 500,\n Y = null,\n gj = !1,\n hj = null,\n jj = null,\n Dj = !1,\n Ej = null,\n Fj = 90,\n Gj = null,\n Hj = 0,\n Ij = null,\n Jj = 0;\n\nfunction Pg() {\n return (T & (oj | pj)) !== S ? 1073741821 - (cg() / 10 | 0) : 0 !== Jj ? Jj : Jj = 1073741821 - (cg() / 10 | 0);\n}\n\nfunction Qg(a, b, c) {\n b = b.mode;\n if (0 === (b & 2)) return 1073741823;\n var d = dg();\n if (0 === (b & 4)) return 99 === d ? 1073741823 : 1073741822;\n if ((T & oj) !== S) return W;\n if (null !== c) a = lg(a, c.timeoutMs | 0 || 5E3, 250);else switch (d) {\n case 99:\n a = 1073741823;\n break;\n\n case 98:\n a = lg(a, 150, 100);\n break;\n\n case 97:\n case 96:\n a = lg(a, 5E3, 250);\n break;\n\n case 95:\n a = 2;\n break;\n\n default:\n throw Error(u(326));\n }\n null !== U && a === W && --a;\n return a;\n}\n\nfunction Rg(a, b) {\n if (50 < Hj) throw Hj = 0, Ij = null, Error(u(185));\n a = Kj(a, b);\n\n if (null !== a) {\n var c = dg();\n 1073741823 === b ? (T & nj) !== S && (T & (oj | pj)) === S ? Lj(a) : (Z(a), T === S && jg()) : Z(a);\n (T & 4) === S || 98 !== c && 99 !== c || (null === Gj ? Gj = new Map([[a, b]]) : (c = Gj.get(a), (void 0 === c || c > b) && Gj.set(a, b)));\n }\n}\n\nfunction Kj(a, b) {\n a.expirationTime < b && (a.expirationTime = b);\n var c = a.alternate;\n null !== c && c.expirationTime < b && (c.expirationTime = b);\n var d = a.return,\n e = null;\n if (null === d && 3 === a.tag) e = a.stateNode;else for (; null !== d;) {\n c = d.alternate;\n d.childExpirationTime < b && (d.childExpirationTime = b);\n null !== c && c.childExpirationTime < b && (c.childExpirationTime = b);\n\n if (null === d.return && 3 === d.tag) {\n e = d.stateNode;\n break;\n }\n\n d = d.return;\n }\n null !== e && (U === e && (Jg(b), X === uj && Mj(e, W)), Nj(e, b));\n return e;\n}\n\nfunction Oj(a) {\n var b = a.lastExpiredTime;\n if (0 !== b) return b;\n b = a.firstPendingTime;\n if (!Pj(a, b)) return b;\n b = a.lastPingedTime;\n a = a.nextKnownPendingLevel;\n return b > a ? b : a;\n}\n\nfunction Z(a) {\n if (0 !== a.lastExpiredTime) a.callbackExpirationTime = 1073741823, a.callbackPriority = 99, a.callbackNode = hg(Lj.bind(null, a));else {\n var b = Oj(a),\n c = a.callbackNode;\n if (0 === b) null !== c && (a.callbackNode = null, a.callbackExpirationTime = 0, a.callbackPriority = 90);else {\n var d = Pg();\n 1073741823 === b ? d = 99 : 1 === b || 2 === b ? d = 95 : (d = 10 * (1073741821 - b) - 10 * (1073741821 - d), d = 0 >= d ? 99 : 250 >= d ? 98 : 5250 >= d ? 97 : 95);\n\n if (null !== c) {\n var e = a.callbackPriority;\n if (a.callbackExpirationTime === b && e >= d) return;\n c !== Xf && Nf(c);\n }\n\n a.callbackExpirationTime = b;\n a.callbackPriority = d;\n b = 1073741823 === b ? hg(Lj.bind(null, a)) : gg(d, Qj.bind(null, a), {\n timeout: 10 * (1073741821 - b) - cg()\n });\n a.callbackNode = b;\n }\n }\n}\n\nfunction Qj(a, b) {\n Jj = 0;\n if (b) return b = Pg(), Rj(a, b), Z(a), null;\n var c = Oj(a);\n\n if (0 !== c) {\n b = a.callbackNode;\n if ((T & (oj | pj)) !== S) throw Error(u(327));\n Sj();\n a === U && c === W || Tj(a, c);\n\n if (null !== V) {\n var d = T;\n T |= oj;\n var e = Uj(a);\n\n do {\n try {\n Vj();\n break;\n } catch (h) {\n Wj(a, h);\n }\n } while (1);\n\n rg();\n T = d;\n lj.current = e;\n if (X === rj) throw b = wj, Tj(a, c), Mj(a, c), Z(a), b;\n if (null === V) switch (e = a.finishedWork = a.current.alternate, a.finishedExpirationTime = c, d = X, U = null, d) {\n case qj:\n case rj:\n throw Error(u(345));\n\n case sj:\n Rj(a, 2 < c ? 2 : c);\n break;\n\n case tj:\n Mj(a, c);\n d = a.lastSuspendedTime;\n c === d && (a.nextKnownPendingLevel = Xj(e));\n\n if (1073741823 === xj && (e = bj + Cj - cg(), 10 < e)) {\n if (Bj) {\n var f = a.lastPingedTime;\n\n if (0 === f || f >= c) {\n a.lastPingedTime = c;\n Tj(a, c);\n break;\n }\n }\n\n f = Oj(a);\n if (0 !== f && f !== c) break;\n\n if (0 !== d && d !== c) {\n a.lastPingedTime = d;\n break;\n }\n\n a.timeoutHandle = pe(Yj.bind(null, a), e);\n break;\n }\n\n Yj(a);\n break;\n\n case uj:\n Mj(a, c);\n d = a.lastSuspendedTime;\n c === d && (a.nextKnownPendingLevel = Xj(e));\n\n if (Bj && (e = a.lastPingedTime, 0 === e || e >= c)) {\n a.lastPingedTime = c;\n Tj(a, c);\n break;\n }\n\n e = Oj(a);\n if (0 !== e && e !== c) break;\n\n if (0 !== d && d !== c) {\n a.lastPingedTime = d;\n break;\n }\n\n 1073741823 !== yj ? d = 10 * (1073741821 - yj) - cg() : 1073741823 === xj ? d = 0 : (d = 10 * (1073741821 - xj) - 5E3, e = cg(), c = 10 * (1073741821 - c) - e, d = e - d, 0 > d && (d = 0), d = (120 > d ? 120 : 480 > d ? 480 : 1080 > d ? 1080 : 1920 > d ? 1920 : 3E3 > d ? 3E3 : 4320 > d ? 4320 : 1960 * kj(d / 1960)) - d, c < d && (d = c));\n\n if (10 < d) {\n a.timeoutHandle = pe(Yj.bind(null, a), d);\n break;\n }\n\n Yj(a);\n break;\n\n case vj:\n if (1073741823 !== xj && null !== zj) {\n f = xj;\n var g = zj;\n d = g.busyMinDurationMs | 0;\n 0 >= d ? d = 0 : (e = g.busyDelayMs | 0, f = cg() - (10 * (1073741821 - f) - (g.timeoutMs | 0 || 5E3)), d = f <= e ? 0 : e + d - f);\n\n if (10 < d) {\n Mj(a, c);\n a.timeoutHandle = pe(Yj.bind(null, a), d);\n break;\n }\n }\n\n Yj(a);\n break;\n\n default:\n throw Error(u(329));\n }\n Z(a);\n if (a.callbackNode === b) return Qj.bind(null, a);\n }\n }\n\n return null;\n}\n\nfunction Lj(a) {\n var b = a.lastExpiredTime;\n b = 0 !== b ? b : 1073741823;\n if (a.finishedExpirationTime === b) Yj(a);else {\n if ((T & (oj | pj)) !== S) throw Error(u(327));\n Sj();\n a === U && b === W || Tj(a, b);\n\n if (null !== V) {\n var c = T;\n T |= oj;\n var d = Uj(a);\n\n do {\n try {\n Zj();\n break;\n } catch (e) {\n Wj(a, e);\n }\n } while (1);\n\n rg();\n T = c;\n lj.current = d;\n if (X === rj) throw c = wj, Tj(a, b), Mj(a, b), Z(a), c;\n if (null !== V) throw Error(u(261));\n a.finishedWork = a.current.alternate;\n a.finishedExpirationTime = b;\n U = null;\n Yj(a);\n Z(a);\n }\n }\n return null;\n}\n\nfunction ak() {\n if (null !== Gj) {\n var a = Gj;\n Gj = null;\n a.forEach(function (a, c) {\n Rj(c, a);\n Z(c);\n });\n jg();\n }\n}\n\nfunction bk(a, b) {\n var c = T;\n T |= 1;\n\n try {\n return a(b);\n } finally {\n T = c, T === S && jg();\n }\n}\n\nfunction ck(a, b) {\n var c = T;\n T &= -2;\n T |= nj;\n\n try {\n return a(b);\n } finally {\n T = c, T === S && jg();\n }\n}\n\nfunction Tj(a, b) {\n a.finishedWork = null;\n a.finishedExpirationTime = 0;\n var c = a.timeoutHandle;\n -1 !== c && (a.timeoutHandle = -1, qe(c));\n if (null !== V) for (c = V.return; null !== c;) {\n var d = c;\n\n switch (d.tag) {\n case 1:\n var e = d.type.childContextTypes;\n null !== e && void 0 !== e && Ff(d);\n break;\n\n case 3:\n nh(d);\n Gf(d);\n break;\n\n case 5:\n ph(d);\n break;\n\n case 4:\n nh(d);\n break;\n\n case 13:\n G(M, d);\n break;\n\n case 19:\n G(M, d);\n break;\n\n case 10:\n tg(d);\n }\n\n c = c.return;\n }\n U = a;\n V = ah(a.current, null, b);\n W = b;\n X = qj;\n wj = null;\n yj = xj = 1073741823;\n zj = null;\n Aj = 0;\n Bj = !1;\n}\n\nfunction Wj(a, b) {\n do {\n try {\n rg();\n Mh();\n if (null === V || null === V.return) return X = rj, wj = b, null;\n\n a: {\n var c = a,\n d = V.return,\n e = V,\n f = b;\n b = W;\n e.effectTag |= 2048;\n e.firstEffect = e.lastEffect = null;\n\n if (null !== f && \"object\" === typeof f && \"function\" === typeof f.then) {\n var g = f,\n h = 0 !== (M.current & 1),\n k = d;\n\n do {\n var l;\n\n if (l = 13 === k.tag) {\n var m = k.memoizedState;\n if (null !== m) l = null !== m.dehydrated ? !0 : !1;else {\n var C = k.memoizedProps;\n l = void 0 === C.fallback ? !1 : !0 !== C.unstable_avoidThisFallback ? !0 : h ? !1 : !0;\n }\n }\n\n if (l) {\n var y = k.updateQueue;\n\n if (null === y) {\n var H = new Set();\n H.add(g);\n k.updateQueue = H;\n } else y.add(g);\n\n if (0 === (k.mode & 2)) {\n k.effectTag |= 64;\n e.effectTag &= -2981;\n if (1 === e.tag) if (null === e.alternate) e.tag = 17;else {\n var z = Bg(1073741823, null);\n z.tag = 2;\n Dg(e, z);\n }\n e.expirationTime = 1073741823;\n break a;\n }\n\n f = void 0;\n e = b;\n var ta = c.pingCache;\n null === ta ? (ta = c.pingCache = new ej(), f = new Set(), ta.set(g, f)) : (f = ta.get(g), void 0 === f && (f = new Set(), ta.set(g, f)));\n\n if (!f.has(e)) {\n f.add(e);\n var r = dk.bind(null, c, g, e);\n g.then(r, r);\n }\n\n k.effectTag |= 4096;\n k.expirationTime = b;\n break a;\n }\n\n k = k.return;\n } while (null !== k);\n\n f = Error((Wa(e.type) || \"A React component\") + \" suspended while rendering, but no fallback UI was specified.\\n\\nAdd a component higher in the tree to provide a loading indicator or placeholder to display.\" + Xa(e));\n }\n\n X !== vj && (X = sj);\n f = Ni(f, e);\n k = d;\n\n do {\n switch (k.tag) {\n case 3:\n g = f;\n k.effectTag |= 4096;\n k.expirationTime = b;\n var x = fj(k, g, b);\n Eg(k, x);\n break a;\n\n case 1:\n g = f;\n var A = k.type,\n p = k.stateNode;\n\n if (0 === (k.effectTag & 64) && (\"function\" === typeof A.getDerivedStateFromError || null !== p && \"function\" === typeof p.componentDidCatch && (null === jj || !jj.has(p)))) {\n k.effectTag |= 4096;\n k.expirationTime = b;\n var t = ij(k, g, b);\n Eg(k, t);\n break a;\n }\n\n }\n\n k = k.return;\n } while (null !== k);\n }\n\n V = ek(V);\n } catch (v) {\n b = v;\n continue;\n }\n\n break;\n } while (1);\n}\n\nfunction Uj() {\n var a = lj.current;\n lj.current = Lh;\n return null === a ? Lh : a;\n}\n\nfunction Ig(a, b) {\n a < xj && 2 < a && (xj = a);\n null !== b && a < yj && 2 < a && (yj = a, zj = b);\n}\n\nfunction Jg(a) {\n a > Aj && (Aj = a);\n}\n\nfunction Zj() {\n for (; null !== V;) {\n V = fk(V);\n }\n}\n\nfunction Vj() {\n for (; null !== V && !Of();) {\n V = fk(V);\n }\n}\n\nfunction fk(a) {\n var b = gk(a.alternate, a, W);\n a.memoizedProps = a.pendingProps;\n null === b && (b = ek(a));\n mj.current = null;\n return b;\n}\n\nfunction ek(a) {\n V = a;\n\n do {\n var b = V.alternate;\n a = V.return;\n\n if (0 === (V.effectTag & 2048)) {\n a: {\n var c = b;\n b = V;\n var d = W;\n var e = b.pendingProps;\n\n switch (b.tag) {\n case 2:\n break;\n\n case 16:\n break;\n\n case 15:\n case 0:\n break;\n\n case 1:\n L(b.type) && Ff(b);\n break;\n\n case 3:\n nh(b);\n Gf(b);\n e = b.stateNode;\n e.pendingContext && (e.context = e.pendingContext, e.pendingContext = null);\n (null === c || null === c.child) && ki(b) && Ci(b);\n Ii(b);\n break;\n\n case 5:\n ph(b);\n d = lh(kh.current);\n var f = b.type;\n if (null !== c && null != b.stateNode) Ji(c, b, f, e, d), c.ref !== b.ref && (b.effectTag |= 128);else if (e) {\n var g = lh(ih.current);\n\n if (ki(b)) {\n e = b;\n var h = e.stateNode;\n c = e.type;\n var k = e.memoizedProps,\n l = d;\n h[ue] = e;\n h[ve] = k;\n f = void 0;\n d = h;\n\n switch (c) {\n case \"iframe\":\n case \"object\":\n case \"embed\":\n F(\"load\", d);\n break;\n\n case \"video\":\n case \"audio\":\n for (h = 0; h < cc.length; h++) {\n F(cc[h], d);\n }\n\n break;\n\n case \"source\":\n F(\"error\", d);\n break;\n\n case \"img\":\n case \"image\":\n case \"link\":\n F(\"error\", d);\n F(\"load\", d);\n break;\n\n case \"form\":\n F(\"reset\", d);\n F(\"submit\", d);\n break;\n\n case \"details\":\n F(\"toggle\", d);\n break;\n\n case \"input\":\n Bb(d, k);\n F(\"invalid\", d);\n $d(l, \"onChange\");\n break;\n\n case \"select\":\n d._wrapperState = {\n wasMultiple: !!k.multiple\n };\n F(\"invalid\", d);\n $d(l, \"onChange\");\n break;\n\n case \"textarea\":\n Lb(d, k), F(\"invalid\", d), $d(l, \"onChange\");\n }\n\n Yd(c, k);\n h = null;\n\n for (f in k) {\n k.hasOwnProperty(f) && (g = k[f], \"children\" === f ? \"string\" === typeof g ? d.textContent !== g && (h = [\"children\", g]) : \"number\" === typeof g && d.textContent !== \"\" + g && (h = [\"children\", \"\" + g]) : ia.hasOwnProperty(f) && null != g && $d(l, f));\n }\n\n switch (c) {\n case \"input\":\n yb(d);\n Gb(d, k, !0);\n break;\n\n case \"textarea\":\n yb(d);\n Nb(d, k);\n break;\n\n case \"select\":\n case \"option\":\n break;\n\n default:\n \"function\" === typeof k.onClick && (d.onclick = ae);\n }\n\n f = h;\n e.updateQueue = f;\n e = null !== f ? !0 : !1;\n e && Ci(b);\n } else {\n c = b;\n l = f;\n k = e;\n h = 9 === d.nodeType ? d : d.ownerDocument;\n g === Ob.html && (g = Pb(l));\n g === Ob.html ? \"script\" === l ? (k = h.createElement(\"div\"), k.innerHTML = \"