{"version":3,"sources":["../node_modules/react/index.js","../node_modules/tslib/tslib.es6.js","../../src/utilities/buildClassMap.ts","../../src/classNames/AnimationClassNames.ts","../../src/classNames/FontClassNames.ts","../../src/styles/theme.ts","../../src/classNames/ColorClassNames.ts","../../src/styles/CommonStyles.ts","../../src/styles/zIndexes.ts","../../src/styles/getFocusStyle.ts","../../src/styles/hiddenContentStyle.ts","../../src/styles/PulsingBeaconAnimationStyles.ts","../../src/styles/getGlobalClassNames.ts","../../src/styles/scheme.ts","../../src/styles/GeneralStyles.ts","../../src/styles/getFadedOverflowStyle.ts","../../src/styles/getPlaceholderStyles.ts","../../src/utilities/icons.ts","../../src/utilities/getIconClassName.ts","../../src/version.ts","../../src/index.ts","../../src/Utilities.ts","../../src/Styling.ts","../node_modules/prop-types/index.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectSpread2.js","../../src/fonts/FluentFonts.ts","../../src/properties.ts","../../src/FabricPerformance.ts","../../src/asAsync.tsx","../../src/assertNever.ts","../../src/initializeFocusRects.ts","../../src/resources.ts","../../src/safeSetTimeout.ts","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/regenerator/index.js","../../src/KeyCodes.ts","../../src/utilities/positioning/positioning.types.ts","../../src/common/DirectionalHint.ts","../../src/components/MessageBar/MessageBar.types.ts","../../src/dom/getWindow.ts","../../../src/JavaScriptSDK/CoreUtils.ts","../../src/focus.ts","../../src/utilities/keytips/KeytipUtils.ts","../../src/components/DetailsList/DetailsList.types.ts","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../../src/utilities/keytips/KeytipConstants.ts","../../src/selection/Selection.types.ts","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","../../src/components/Image/Image.types.ts","../../src/components/Persona/Persona.types.ts","../../src/components/Persona/PersonaConsts.tsx","../../src/components/ActivityItem/ActivityItem.classNames.ts","../../src/components/ActivityItem/ActivityItem.styles.ts","../../src/components/Persona/PersonaPresence/PersonaPresence.base.tsx","../../src/components/Persona/PersonaPresence/PersonaPresence.styles.ts","../../src/components/Persona/PersonaPresence/PersonaPresence.tsx","../../src/components/Persona/PersonaInitialsColor.ts","../../src/components/Persona/PersonaCoin/PersonaCoin.base.tsx","../../src/components/ResizeGroup/ResizeGroup.types.ts","../../src/components/Persona/PersonaCoin/PersonaCoin.styles.ts","../../src/components/Persona/PersonaCoin/PersonaCoin.tsx","../../src/components/ActivityItem/ActivityItem.tsx","../../src/components/Announced/Announced.base.tsx","../../src/components/Announced/Announced.ts","../../src/components/Announced/Announced.styles.ts","../../src/components/ResizeGroup/ResizeGroup.base.tsx","../../src/components/ResizeGroup/ResizeGroup.tsx","../../src/components/Tooltip/TooltipHost.types.ts","../../src/components/Tooltip/Tooltip.types.ts","../../src/components/Tooltip/Tooltip.base.tsx","../../src/components/Tooltip/Tooltip.tsx","../../src/components/Tooltip/Tooltip.styles.ts","../../src/components/Tooltip/TooltipHost.base.tsx","../../src/components/Tooltip/TooltipHost.styles.ts","../../src/components/Tooltip/TooltipHost.ts","../../src/components/Breadcrumb/Breadcrumb.base.tsx","../../src/components/Breadcrumb/Breadcrumb.styles.ts","../../src/components/Breadcrumb/Breadcrumb.tsx","../../src/utilities/ButtonGrid/ButtonGrid.base.tsx","../../src/utilities/ButtonGrid/ButtonGrid.tsx","../../src/utilities/ButtonGrid/ButtonGrid.styles.ts","../../src/dateValues/dateValues.ts","../../src/utilities/ButtonGrid/ButtonGridCell.tsx","../../src/dateFormatting/dateFormatting.defaults.ts","../../src/dateValues/timeConstants.ts","../../src/dateMath/dateMath.ts","../../src/dateGrid/getDateRangeTypeToUse.ts","../../src/dateGrid/isContiguous.ts","../../src/dateGrid/getBoundedDateRange.ts","../../src/dateGrid/isBeforeMinDate.ts","../../src/dateGrid/isAfterMaxDate.ts","../../src/dateGrid/isRestrictedDate.ts","../../src/components/CalendarDayGrid/CalendarMonthHeaderRow.tsx","../../src/dateGrid/findAvailableDate.ts","../../src/components/CalendarDayGrid/CalendarGridDayCell.tsx","../../src/components/CalendarDayGrid/CalendarGridRow.tsx","../../src/components/CalendarDayGrid/CalendarDayGrid.base.tsx","../../src/dateGrid/getDayGrid.ts","../../src/components/Calendar/Calendar.types.ts","../../src/components/CalendarDayGrid/CalendarDayGrid.styles.ts","../../src/components/CalendarDayGrid/CalendarDayGrid.tsx","../../src/components/Calendar/CalendarDay/CalendarDay.base.tsx","../../src/components/Calendar/CalendarDay/CalendarDay.tsx","../../src/components/Calendar/CalendarDay/CalendarDay.styles.ts","../../src/components/Calendar/CalendarPicker/CalendarPicker.styles.ts","../../src/components/Calendar/CalendarMonth/CalendarMonth.styles.ts","../../src/components/Calendar/defaults.ts","../../src/components/Calendar/CalendarYear/CalendarYear.base.tsx","../../src/components/Calendar/CalendarYear/CalendarYear.tsx","../../src/components/Calendar/CalendarYear/CalendarYear.styles.ts","../../src/components/Calendar/CalendarMonth/CalendarMonth.base.tsx","../../src/components/Calendar/CalendarMonth/CalendarMonth.tsx","../../src/components/Calendar/Calendar.base.tsx","../../src/components/Calendar/Calendar.styles.ts","../../src/components/Calendar/Calendar.tsx","../../src/components/Coachmark/Coachmark.styles.ts","../../src/components/Coachmark/PositioningContainer/PositioningContainer.styles.ts","../../src/components/Coachmark/PositioningContainer/PositioningContainer.tsx","../../src/components/Coachmark/Beak/Beak.styles.ts","../../src/components/Coachmark/Beak/Beak.tsx","../../src/components/Coachmark/Coachmark.base.tsx","../../src/components/Coachmark/Coachmark.ts","../../src/utilities/color/consts.ts","../../src/utilities/color/hsl2hsv.ts","../../src/utilities/color/hsv2rgb.ts","../../src/utilities/color/hsl2rgb.ts","../../src/utilities/color/cssColor.ts","../../src/utilities/color/clamp.ts","../../src/utilities/color/rgb2hex.ts","../../src/utilities/color/hsv2hex.ts","../../src/utilities/color/rgb2hsv.ts","../../src/utilities/color/hsv2hsl.ts","../../src/utilities/color/_rgbaOrHexString.ts","../../src/utilities/color/getColorFromRGBA.ts","../../src/utilities/color/getColorFromString.ts","../../src/utilities/color/getColorFromHSV.ts","../../src/utilities/color/getFullColorString.ts","../../src/utilities/color/updateSV.ts","../../src/utilities/color/updateH.ts","../../src/utilities/color/updateRGB.ts","../../src/utilities/color/updateA.ts","../../src/utilities/color/correctRGB.ts","../../src/utilities/color/correctHSV.ts","../../src/utilities/color/correctHex.ts","../../src/utilities/color/shades.ts","../../src/utilities/color/updateT.ts","../../src/components/ColorPicker/ColorRectangle/ColorRectangle.base.tsx","../../src/components/ColorPicker/ColorRectangle/ColorRectangle.styles.ts","../../src/components/ColorPicker/ColorRectangle/ColorRectangle.tsx","../../src/components/ColorPicker/ColorSlider/ColorSlider.base.tsx","../../src/components/ColorPicker/ColorSlider/ColorSlider.styles.ts","../../src/components/ColorPicker/ColorSlider/ColorSlider.tsx","../../src/components/ColorPicker/ColorPicker.base.tsx","../../src/components/ColorPicker/ColorPicker.styles.ts","../../src/components/ColorPicker/ColorPicker.tsx","../../src/components/ComboBox/VirtualizedComboBox.tsx","../../src/components/OverflowSet/OverflowButton.tsx","../../src/components/OverflowSet/OverflowSet.base.tsx","../../src/components/OverflowSet/OverflowSet.styles.ts","../../src/components/OverflowSet/OverflowSet.ts","../../src/components/CommandBar/CommandBar.styles.ts","../../src/components/CommandBar/CommandBar.base.tsx","../../src/components/CommandBar/CommandBar.tsx","../../src/components/DatePicker/defaults.ts","../../src/components/DatePicker/DatePicker.base.tsx","../../src/components/DatePicker/DatePicker.styles.ts","../../src/components/Dialog/DialogContent.types.ts","../../src/components/DatePicker/DatePicker.tsx","../../src/components/Dialog/DialogFooter.base.tsx","../../src/components/Dialog/DialogFooter.styles.ts","../../src/components/Dialog/DialogFooter.tsx","../../src/components/Dialog/DialogContent.base.tsx","../../src/components/Dialog/DialogContent.styles.ts","../../src/components/Dialog/DialogContent.tsx","../../src/components/Dialog/Dialog.base.tsx","../../src/components/Dialog/Dialog.styles.ts","../../src/components/Dialog/Dialog.tsx","../../src/components/DocumentCard/DocumentCard.types.ts","../../src/components/DocumentCard/DocumentCard.base.tsx","../../src/components/DocumentCard/DocumentCardPreview.styles.ts","../../src/components/DocumentCard/DocumentCardActivity.styles.ts","../../src/components/DocumentCard/DocumentCardTitle.styles.ts","../../src/components/DocumentCard/DocumentCardLocation.styles.ts","../../src/components/DocumentCard/DocumentCard.styles.ts","../../src/components/DocumentCard/DocumentCard.ts","../../src/components/DocumentCard/DocumentCardActions.base.tsx","../../src/components/DocumentCard/DocumentCardActions.styles.ts","../../src/components/DocumentCard/DocumentCardActions.ts","../../src/components/DocumentCard/DocumentCardActivity.base.tsx","../../src/components/DocumentCard/DocumentCardActivity.ts","../../src/components/DocumentCard/DocumentCardDetails.base.tsx","../../src/components/DocumentCard/DocumentCardDetails.styles.ts","../../src/components/DocumentCard/DocumentCardDetails.ts","../../src/components/DocumentCard/DocumentCardLocation.base.tsx","../../src/components/DocumentCard/DocumentCardLocation.ts","../../src/components/DocumentCard/DocumentCardPreview.base.tsx","../../src/components/DocumentCard/DocumentCardPreview.ts","../../src/components/DocumentCard/DocumentCardImage.base.tsx","../../src/components/DocumentCard/DocumentCardImage.ts","../../src/components/DocumentCard/DocumentCardImage.styles.ts","../../src/components/DocumentCard/DocumentCardTitle.base.tsx","../../src/components/DocumentCard/DocumentCardTitle.ts","../../src/components/DocumentCard/DocumentCardLogo.base.tsx","../../src/components/DocumentCard/DocumentCardLogo.styles.ts","../../src/components/DocumentCard/DocumentCardLogo.ts","../../src/components/DocumentCard/DocumentCardStatus.base.tsx","../../src/components/DocumentCard/DocumentCardStatus.styles.ts","../../src/components/DocumentCard/DocumentCardStatus.ts","../../src/components/ExtendedPicker/BaseExtendedPicker.scss.ts","../../src/components/ExtendedPicker/BaseExtendedPicker.tsx","../../src/components/ExtendedPicker/PeoplePicker/ExtendedPeoplePicker.scss.ts","../../src/components/Facepile/Facepile.types.ts","../../src/components/ExtendedPicker/PeoplePicker/ExtendedPeoplePicker.tsx","../../src/components/Facepile/FacepileButton.styles.ts","../../src/components/Facepile/FacepileButton.tsx","../../src/components/Persona/Persona.base.tsx","../../src/components/Persona/Persona.styles.ts","../../src/components/Persona/Persona.tsx","../../src/components/Facepile/Facepile.base.tsx","../../src/components/Facepile/Facepile.styles.ts","../../src/components/Facepile/Facepile.tsx","../../src/components/FloatingPicker/BaseFloatingPicker.scss.ts","../../src/components/pickers/Suggestions/Suggestions.scss.ts","../../src/components/pickers/Suggestions/SuggestionsItem.tsx","../../src/components/FloatingPicker/Suggestions/SuggestionsCore.scss.ts","../../src/components/FloatingPicker/Suggestions/SuggestionsCore.tsx","../../src/components/FloatingPicker/Suggestions/SuggestionsControl.scss.ts","../../src/components/FloatingPicker/Suggestions/SuggestionsControl.tsx","../../src/components/FloatingPicker/BaseFloatingPicker.tsx","../../src/components/FloatingPicker/PeoplePicker/PeoplePicker.scss.ts","../../src/components/FloatingPicker/PeoplePicker/FloatingPeoplePicker.tsx","../../src/components/FloatingPicker/PeoplePicker/PeoplePickerItems/SuggestionItemDefault.tsx","../../src/components/FloatingPicker/Suggestions/SuggestionsStore.ts","../../src/components/HoverCard/HoverCard.types.ts","../../src/components/HoverCard/HoverCard.styles.ts","../../src/components/HoverCard/ExpandingCard.styles.ts","../../src/components/HoverCard/ExpandingCard.types.ts","../../src/components/HoverCard/CardCallout/CardCallout.tsx","../../src/components/HoverCard/ExpandingCard.base.tsx","../../src/components/HoverCard/ExpandingCard.ts","../../src/components/HoverCard/PlainCard/PlainCard.styles.ts","../../src/components/HoverCard/PlainCard/PlainCard.base.tsx","../../src/components/HoverCard/PlainCard/PlainCard.ts","../../src/components/HoverCard/HoverCard.base.tsx","../../src/components/HoverCard/HoverCard.ts","../../src/fabric-icons.ts","../../src/fabric-icons-0.ts","../../src/fabric-icons-1.ts","../../src/fabric-icons-2.ts","../../src/fabric-icons-3.ts","../../src/fabric-icons-4.ts","../../src/fabric-icons-5.ts","../../src/fabric-icons-6.ts","../../src/fabric-icons-7.ts","../../src/fabric-icons-8.ts","../../src/fabric-icons-9.ts","../../src/fabric-icons-10.ts","../../src/fabric-icons-11.ts","../../src/fabric-icons-12.ts","../../src/fabric-icons-13.ts","../../src/fabric-icons-14.ts","../../src/fabric-icons-15.ts","../../src/fabric-icons-16.ts","../../src/fabric-icons-17.ts","../../src/iconAliases.ts","../../src/components/Keytip/KeytipContent.base.tsx","../../src/components/Keytip/Keytip.styles.ts","../../src/components/Keytip/KeytipContent.tsx","../../src/components/Keytip/Keytip.tsx","../../src/components/KeytipData/useKeytipRef.ts","../../src/components/KeytipLayer/KeytipLayer.styles.ts","../../src/components/Nav/Nav.base.tsx","../../src/components/KeytipLayer/KeytipTree.ts","../../src/components/KeytipLayer/KeytipLayer.base.tsx","../../src/components/KeytipLayer/KeytipLayer.tsx","../../src/components/Nav/Nav.styles.ts","../../src/components/pickers/Suggestions/Suggestions.types.ts","../../src/components/Nav/Nav.tsx","../../src/components/pickers/Suggestions/SuggestionsItem.styles.ts","../../src/components/pickers/Suggestions/Suggestions.tsx","../../src/components/pickers/BasePicker.types.ts","../../src/components/pickers/Suggestions/SuggestionsController.ts","../../src/components/pickers/Suggestions/Suggestions.styles.ts","../../src/components/pickers/BasePicker.scss.ts","../../src/components/pickers/BasePicker.tsx","../../src/components/pickers/PeoplePicker/PeoplePickerItems/PeoplePickerItem.styles.ts","../../src/components/pickers/PeoplePicker/PeoplePickerItems/PeoplePickerItem.tsx","../../src/components/pickers/PeoplePicker/PeoplePickerItems/PeoplePickerItemSuggestion.styles.ts","../../src/components/pickers/PeoplePicker/PeoplePickerItems/PeoplePickerItemSuggestion.tsx","../../src/components/pickers/BasePicker.styles.ts","../../src/components/pickers/PeoplePicker/PeoplePicker.tsx","../../src/components/pickers/TagPicker/TagItem.styles.ts","../../src/components/pickers/TagPicker/TagItem.tsx","../../src/components/pickers/TagPicker/TagItemSuggestion.styles.ts","../../src/components/pickers/TagPicker/TagItemSuggestion.tsx","../../src/components/pickers/TagPicker/TagPicker.tsx","../../src/useRefEffect.ts","../../src/utilities/observeResize.ts","../../src/utilities/useOverflow.ts","../../src/components/Pivot/PivotItem.tsx","../../src/components/Pivot/Pivot.base.tsx","../../src/components/Pivot/Pivot.styles.ts","../../src/components/Pivot/Pivot.types.ts","../../src/components/Pivot/Pivot.tsx","../../src/components/Rating/Rating.types.ts","../../src/components/Rating/Rating.styles.ts","../../src/components/Rating/Rating.base.tsx","../../src/components/Rating/Rating.tsx","../../src/components/ScrollablePane/ScrollablePane.styles.ts","../../src/components/ScrollablePane/ScrollablePane.types.ts","../../src/components/ScrollablePane/ScrollablePane.base.tsx","../../src/components/ScrollablePane/ScrollablePane.tsx","../../src/components/SearchBox/SearchBox.base.tsx","../../src/components/SearchBox/SearchBox.styles.tsx","../../src/components/SearchBox/SearchBox.tsx","../../src/components/SelectedItemsList/BaseSelectedItemsList.tsx","../../src/components/SelectedItemsList/SelectedPeopleList/Items/ExtendedSelectedItem.scss.ts","../../src/components/Shimmer/Shimmer.types.ts","../../src/components/SelectedItemsList/SelectedPeopleList/Items/ExtendedSelectedItem.tsx","../../src/components/SelectedItemsList/SelectedPeopleList/Items/SelectedItemWithContextMenu.tsx","../../src/components/SelectedItemsList/SelectedPeopleList/Items/EditingItem.styles.ts","../../src/components/SelectedItemsList/SelectedPeopleList/Items/EditingItem.tsx","../../src/components/SelectedItemsList/SelectedPeopleList/SelectedPeopleList.tsx","../../src/components/Shimmer/Shimmer.styles.ts","../../src/components/Shimmer/ShimmerLine/ShimmerLine.base.tsx","../../src/components/Shimmer/ShimmerLine/ShimmerLine.styles.ts","../../src/components/Shimmer/ShimmerLine/ShimmerLine.tsx","../../src/components/Shimmer/ShimmerGap/ShimmerGap.base.tsx","../../src/components/Shimmer/ShimmerGap/ShimmerGap.styles.ts","../../src/components/Shimmer/ShimmerGap/ShimmerGap.tsx","../../src/components/Shimmer/ShimmerCircle/ShimmerCircle.styles.ts","../../src/components/Shimmer/ShimmerCircle/ShimmerCircle.base.tsx","../../src/components/Shimmer/ShimmerCircle/ShimmerCircle.tsx","../../src/components/Shimmer/ShimmerElementsGroup/ShimmerElementsGroup.base.tsx","../../src/components/Shimmer/ShimmerElementsGroup/ShimmerElementsGroup.styles.ts","../../src/components/Shimmer/ShimmerElementsGroup/ShimmerElementsGroup.tsx","../../src/components/Shimmer/Shimmer.base.tsx","../../src/components/Shimmer/Shimmer.tsx","../../src/components/DetailsList/ShimmeredDetailsList.base.tsx","../../src/components/DetailsList/ShimmeredDetailsList.ts","../../src/components/DetailsList/ShimmeredDetailsList.styles.ts","../../src/components/Slider/useSlider.ts","../../src/components/Slider/Slider.base.tsx","../../src/components/Slider/Slider.styles.ts","../../src/components/SpinButton/SpinButton.types.ts","../../src/components/Slider/Slider.tsx","../../src/components/SpinButton/SpinButton.styles.ts","../../src/components/SpinButton/SpinButton.base.tsx","../../src/components/Sticky/Sticky.types.ts","../../src/components/SpinButton/SpinButton.tsx","../../src/components/Sticky/Sticky.tsx","../../src/components/SwatchColorPicker/ColorPickerGridCell.base.tsx","../../src/components/SwatchColorPicker/ColorPickerGridCell.styles.ts","../../src/components/SwatchColorPicker/ColorPickerGridCell.tsx","../../src/components/SwatchColorPicker/SwatchColorPicker.base.tsx","../../src/components/SwatchColorPicker/SwatchColorPicker.styles.ts","../../src/components/SwatchColorPicker/SwatchColorPicker.tsx","../../src/components/TextField/MaskedTextField/inputMask.ts","../../src/components/TextField/MaskedTextField/MaskedTextField.tsx","../../src/motion/FluentMotion.ts","../../src/FluentTheme.ts","../../src/utilities/ThemeProvider/ThemeContext.ts","../../src/utilities/ThemeProvider/useTheme.ts","../../src/utilities/ThemeProvider/styleRenderers/mergeStylesRenderer.tsx","../../src/utilities/ThemeProvider/makeStyles.ts","../../src/utilities/ThemeProvider/useThemeProviderClasses.tsx","../../src/utilities/ThemeProvider/renderThemeProvider.tsx","../../src/utilities/ThemeProvider/useThemeProviderState.tsx","../../src/utilities/ThemeProvider/ThemeProvider.tsx","../../src/utilities/ThemeProvider/useThemeProvider.tsx","../../src/components/ThemeGenerator/ThemeGenerator.ts","../../src/components/ThemeGenerator/ThemeRulesStandard.ts","../../src/timeMath/timeMath.ts","../../src/components/TimePicker/TimePicker.tsx","../../src/timeFormatting/index.ts","../../src/components/WeeklyDayPicker/defaults.ts","../../src/components/WeeklyDayPicker/WeeklyDayPicker.base.tsx","../../src/components/WeeklyDayPicker/WeeklyDayPicker.styles.ts","../../src/components/WeeklyDayPicker/WeeklyDayPicker.tsx","../../src/components/DetailsList/DetailsRow.styles.ts","../node_modules/@babel/runtime/helpers/esm/extends.js","../../src/EventGroup.ts","../../modules/HistoryContext.js","../../modules/createNameContext.js","../../modules/RouterContext.js","../../modules/Router.js","../../modules/MemoryRouter.js","../../modules/Lifecycle.js","../../modules/Prompt.js","../../modules/generatePath.js","../../modules/Redirect.js","../../modules/matchPath.js","../../modules/Route.js","../../modules/StaticRouter.js","../../modules/Switch.js","../../modules/withRouter.js","../../modules/hooks.js","../../src/dom/getDocument.ts","../../src/classNamesFunction.ts","../../src/getParent.ts","../../src/memoize.ts","../../src/components/Button/Button.types.ts","../../src/components/Button/CompoundButton/CompoundButton.styles.ts","../../src/components/Button/CompoundButton/CompoundButton.tsx","../../src/components/Button/Button.tsx","../../src/components/Button/MessageBarButton/MessageBarButton.styles.ts","../../src/components/Button/MessageBarButton/MessageBarButton.tsx","../../src/css.ts","../../src/components/GroupedList/GroupSpacer.tsx","../../src/components/Button/BaseButton.classNames.ts","../../src/components/Panel/Panel.types.ts","../../src/components/TextField/TextField.styles.tsx","../../src/components/TextField/TextField.ts","../../src/rtl.ts","../../src/object.ts","../../src/setFocusVisibility.ts","../../src/components/Icon/Icon.tsx","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/connected-react-router/esm/actions.js","../node_modules/react-redux/es/components/Context.js","../node_modules/react-redux/es/utils/batch.js","../node_modules/react-redux/es/utils/Subscription.js","../node_modules/react-redux/es/components/Provider.js","../node_modules/react-redux/es/utils/useIsomorphicLayoutEffect.js","../node_modules/react-redux/es/components/connectAdvanced.js","../node_modules/react-redux/es/utils/shallowEqual.js","../node_modules/react-redux/es/connect/wrapMapToProps.js","../node_modules/react-redux/es/connect/mapDispatchToProps.js","../node_modules/react-redux/es/connect/mapStateToProps.js","../node_modules/react-redux/es/connect/mergeProps.js","../node_modules/react-redux/es/connect/selectorFactory.js","../node_modules/react-redux/es/connect/connect.js","../node_modules/react-redux/es/hooks/useReduxContext.js","../node_modules/react-redux/es/hooks/useStore.js","../node_modules/react-redux/es/hooks/useDispatch.js","../node_modules/react-redux/es/hooks/useSelector.js","../node_modules/react-redux/es/index.js","../../src/components/FocusZone/FocusZone.types.ts","../../src/components/Stack/StackUtils.ts","../../src/components/Stack/Stack.styles.ts","../../src/components/Stack/Stack.tsx","../../src/elementContains.ts","../../src/components/ContextualMenu/ContextualMenu.types.ts","../../src/components/Label/Label.tsx","../../src/components/Label/Label.styles.ts","../../src/useConst.ts","../../src/getId.ts","../../src/initializeComponentRef.ts","../../src/Rectangle.ts","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createClass.js","../../src/setVersion.ts","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../../src/customizations/Customizations.ts","../../src/Stylesheet.ts","../../src/components/DetailsList/DetailsHeader.types.ts","../../src/scroll.ts","../node_modules/resolve-pathname/esm/resolve-pathname.js","../node_modules/value-equal/esm/value-equal.js","../node_modules/history/esm/history.js","../../src/Selection.ts","../node_modules/axios/lib/utils.js","../node_modules/tiny-invariant/dist/tiny-invariant.esm.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../../src/components/Button/BaseButton.tsx","../../src/components/Button/BaseButton.styles.ts","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createSuper.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/inherits.js","../../src/components/Button/DefaultButton/DefaultButton.styles.ts","../../src/components/Button/DefaultButton/DefaultButton.tsx","../../src/components/Spinner/Spinner.types.ts","../../src/Async.ts","../../src/keyframes.ts","../../src/utilities/positioning/positioning.ts","../../src/createTheme.ts","../../src/components/ContextualMenu/ContextualMenuItem.ts","../../src/styled.tsx","../../src/customizations/CustomizerContext.ts","../../src/StyleOptionsState.ts","../../src/components/Icon/FontIcon.tsx","../../src/components/Icon/Icon.styles.ts","../../src/dom/on.ts","../node_modules/axios/index.js","../node_modules/connected-react-router/esm/selectors.js","../node_modules/connected-react-router/esm/ConnectedRouter.js","../node_modules/connected-react-router/esm/reducer.js","../node_modules/connected-react-router/esm/structure/plain/index.js","../node_modules/connected-react-router/esm/structure/plain/getIn.js","../node_modules/connected-react-router/esm/middleware.js","../node_modules/connected-react-router/esm/index.js","../../src/components/DetailsList/DetailsRowCheck.styles.ts","../../src/getVendorSettings.ts","../../src/transforms/kebabRules.ts","../../src/transforms/prefixRules.ts","../../src/transforms/provideUnits.ts","../../src/transforms/rtlifyRules.ts","../../src/styleToClassName.ts","../../src/tokenizeWithParentheses.ts","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../../src/components/Button/IconButton/IconButton.styles.ts","../../src/components/Button/IconButton/IconButton.tsx","../../../src/JavaScriptSDK/TelemetryPluginChain.ts","../../../src/JavaScriptSDK/ProcessTelemetryContext.ts","../../src/WindowProvider.tsx","../../src/useMergedRefs.ts","../../src/WindowProvider.ts","../../src/components/Layer/LayerHost.tsx","../../src/warn/warn.ts","../../src/extendComponent.ts","../../src/components/Button/ActionButton/ActionButton.tsx","../../src/components/Button/SplitButton/SplitButton.styles.ts","../../src/array.ts","../../src/components/List/List.types.ts","../node_modules/webpack/buildin/global.js","../../src/FocusTrapZone.ts","../../src/ResponsiveMode.ts","../../src/components/ContextualMenu/ContextualMenu.cnstyles.ts","../../src/utilities/keytips/KeytipManager.ts","../../src/components/Image/Image.styles.ts","../../src/components/Image/Image.tsx","../../src/effects/FluentDepths.ts","../../src/components/Button/PrimaryButton/PrimaryButton.tsx","../../src/components/Layer/Layer.notification.ts","../../src/useFocusRects.ts","../../src/renderFunction/composeRenderFunction.tsx","../../../src/JavaScriptSDK/EnvUtils.ts","../../../src/JavaScriptSDK.Enums/LoggingEnums.ts","../node_modules/react-dom/index.js","../../src/dom/setSSR.ts","../../src/keyboard.ts","../../src/components/DetailsList/DetailsRowCheck.tsx","../../src/warn/warnDeprecations.ts","../../src/components/Callout/Callout.tsx","../../src/components/DetailsList/DetailsHeader.styles.ts","../../src/utilities/keytips/IKeytipTransitionKey.ts","../../src/components/Divider/VerticalDivider.classNames.ts","../../src/components/ContextualMenu/ContextualMenu.classNames.ts","../../src/sessionStorage.ts","../../src/components/Button/ButtonThemes.ts","../../src/FileTypeIconMap.ts","../../src/components/Separator/Separator.tsx","../../src/components/Separator/Separator.styles.ts","../../src/components/Toggle/Toggle.tsx","../../src/components/Toggle/Toggle.styles.ts","../../src/useAsync.ts","../../src/useId.ts","../../src/utilities/keytips/KeytipConfig.ts","../../src/components/GroupedList/GroupedList.types.ts","../../src/customizations/mergeSettings.ts","../../src/components/Icon/Icon.types.ts","../../src/utilities/decorators/withResponsiveMode.tsx","../../src/hoistStatics.ts","../../src/warn/warnConditionallyRequiredProps.ts","../../src/components/Stack/StackItem/StackItem.styles.ts","../../src/components/Stack/StackItem/StackItem.tsx","../../src/components/DetailsList/DetailsList.styles.ts","../../src/components/DetailsList/DetailsList.ts","../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../../src/concatStyleSets.ts","../../src/BaseComponent.ts","../../src/utilities.ts","../../src/ie11Detector.ts","../../src/DelayedRender.tsx","../../src/components/FocusTrapZone/FocusTrapZone.tsx","../../src/components/List/List.tsx","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../../../src/JavaScriptSDK/DiagnosticLogger.ts","../../src/useOnEvent.ts","../../modules/BrowserRouter.js","../../modules/HashRouter.js","../../modules/utils/locationUtils.js","../../modules/Link.js","../../modules/NavLink.js","../../src/Autofill.ts","../../src/components/Dropdown/Dropdown.types.ts","../node_modules/react-is/index.js","../../src/fonts/DefaultFontStyles.ts","../../src/fonts/createFontStyles.ts","../../src/mergeThemes.ts","../../src/GlobalSettings.ts","../../src/customizations/useCustomizationSettings.ts","../../src/components/Icon/Icon.base.tsx","../../src/components/Image/Image.base.tsx","../../src/appendFunction.ts","../../src/components/Callout/CalloutContent.base.tsx","../../src/components/Layer/Layer.base.tsx","../../src/components/Fabric/Fabric.base.tsx","../../src/customizations/mergeCustomizations.ts","../../src/components/ContextualMenu/ContextualMenuItem.base.tsx","../../src/warn/warnMutuallyExclusive.ts","../../src/components/Button/SplitButton/SplitButton.classNames.ts","../../src/components/Label/Label.base.tsx","../../src/components/Check/Check.base.tsx","../../src/components/Checkbox/Checkbox.base.tsx","../../src/components/ChoiceGroup/ChoiceGroup.base.tsx","../../src/components/TextField/TextField.base.tsx","../../src/controlled.ts","../../src/components/DetailsList/DetailsHeader.ts","../../src/components/DetailsList/DetailsColumn.base.tsx","../../src/components/GroupedList/GroupedList.base.tsx","../../src/components/GroupedList/GroupedListSection.tsx","../../src/components/Spinner/Spinner.base.tsx","../../src/components/DetailsList/DetailsRow.ts","../../src/components/DetailsList/DetailsRow.base.tsx","../../src/components/DetailsList/DetailsRowFields.tsx","../../src/dom/getRect.ts","../../src/components/Overlay/Overlay.base.tsx","../../src/components/Panel/Panel.base.tsx","../../src/components/MessageBar/MessageBar.base.tsx","../../src/components/ProgressIndicator/ProgressIndicator.base.tsx","../../src/components/Separator/Separator.base.tsx","../../src/components/TeachingBubble/TeachingBubble.base.tsx","../../src/components/TeachingBubble/TeachingBubbleContent.ts","../../src/components/TeachingBubble/TeachingBubbleContent.base.tsx","../../src/components/Text/Text.view.tsx","../../src/components/Text/Text.styles.ts","../../src/components/Toggle/Toggle.base.tsx","../../src/components/ContextualMenu/ContextualMenuItemWrapper/ContextualMenuItemWrapper.tsx","../../src/components/ContextualMenu/ContextualMenuItemWrapper/ContextualMenuAnchor.tsx","../../src/components/ContextualMenu/ContextualMenuItemWrapper/ContextualMenuButton.tsx","../../src/components/ContextualMenu/ContextualMenuItemWrapper/ContextualMenuSplitButton.tsx","../../src/utilities/MenuContext/MenuContext.ts","../../src/components/ContextualMenu/ContextualMenu.base.tsx","../../src/utilities/DraggableZone/DraggableZone.styles.ts","../../src/utilities/DraggableZone/DraggableZone.tsx","../../src/components/Modal/Modal.base.tsx","../../src/useUnmount.ts","../../src/components/ComboBox/ComboBox.tsx","../../src/components/ComboBox/ComboBox.styles.ts","../../src/components/ComboBox/ComboBox.classNames.ts","../../src/components/DetailsList/DetailsColumn.styles.ts","../../src/components/DetailsList/DetailsColumn.ts","../../src/components/DetailsList/DetailsHeader.base.tsx","../../src/utilities/decorators/withViewport.tsx","../../src/utilities/groupedList/GroupedListUtility.tsx","../../src/components/DetailsList/DetailsList.base.tsx","../../src/components/GroupedList/GroupHeader.styles.ts","../../src/components/GroupedList/GroupHeader.base.tsx","../../src/components/GroupedList/GroupHeader.ts","../../src/components/GroupedList/GroupShowAll.styles.ts","../../src/components/GroupedList/GroupShowAll.base.tsx","../../src/components/GroupedList/GroupShowAll.ts","../../src/components/GroupedList/GroupFooter.styles.ts","../../src/components/GroupedList/GroupFooter.base.tsx","../../src/components/GroupedList/GroupFooter.ts","../../src/components/Callout/CalloutContent.styles.ts","../../src/components/Callout/CalloutContent.tsx","../../src/components/Link/useLink.ts","../../src/components/Link/Link.base.tsx","../../src/components/Dropdown/utilities/DropdownSizePosCache.ts","../../src/components/Dropdown/Dropdown.base.tsx","../../src/extractStyleParts.ts","../../src/colors/DefaultPalette.ts","../../src/effects/DefaultEffects.ts","../../src/utilities/makeSemanticColors.ts","../../src/merge.ts","../../src/createMergedRef.ts","../../src/utilities/decorators/BaseDecorator.ts","../../src/hoist.ts","../../src/isVirtualElement.ts","../../src/findElementRecursive.ts","../../src/components/Popup/Popup.tsx","../../src/components/FocusZone/FocusZone.tsx","../../src/aria.ts","../../src/components/KeytipData/KeytipData.tsx","../../src/components/KeytipData/useKeytipData.ts","../../src/components/Button/ActionButton/ActionButton.styles.ts","../../src/customizations/customizable.tsx","../../src/components/Check/Check.tsx","../../src/components/Check/Check.styles.ts","../../src/components/Modal/Modal.styles.ts","../../src/components/TeachingBubble/TeachingBubble.styles.ts","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../../src/components/Layer/Layer.styles.ts","../../src/components/Layer/Layer.tsx","../../src/setPortalAttribute.ts","../../src/slots.tsx","../node_modules/@tinymce/tinymce-react/lib/es2015/main/ts/TinyMCE.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../../src/utilities/contextualMenu/contextualMenuUtility.ts","../../src/useControllableValue.ts","../../src/components/Autofill/index.ts","../../src/components/ChoiceGroup/ChoiceGroupOption/index.ts","../../src/utilities/selectableOption/SelectableOption.types.ts","../../src/utilities/selection/interfaces.ts","../../src/components/FocusTrapZone/index.ts","../../src/effects/index.ts","../../src/spacing/index.ts","../../src/fonts/index.ts","../../src/dom/elementContains.ts","../../src/dom/elementContainsAttribute.ts","../../src/dom/getParent.ts","../../src/getChildren.ts","../../src/colors/FluentColors.ts","../node_modules/redux/es/redux.js","../../src/spacing/DefaultSpacing.ts","../../src/components/Icon/ImageIcon.tsx","../../src/getPropsWithDefaults.ts","../../src/customizations/Customizer.tsx","../../src/dom/raiseClick.ts","../../src/modalize.ts","../../src/warn/warnControlledUsage.ts","../../src/getNativeElementProps.ts","../../src/components/Modal/Modal.ts","../../src/components/Text/Text.ts","../../src/components/ChoiceGroup/ChoiceGroupOption/ChoiceGroupOption.base.tsx","../../src/components/ChoiceGroup/ChoiceGroupOption/ChoiceGroupOption.styles.ts","../../src/components/ChoiceGroup/ChoiceGroupOption/ChoiceGroupOption.tsx","../../src/language.ts","../../src/localStorage.ts","../../src/components/ContextualMenu/ContextualMenu.styles.ts","../../src/components/ContextualMenu/ContextualMenu.tsx","../../src/components/Fabric/Fabric.styles.ts","../../src/components/Fabric/Fabric.tsx","../../src/components/Link/Link.styles.ts","../../src/components/Link/Link.tsx","../../src/components/Checkbox/Checkbox.styles.ts","../../src/components/Checkbox/Checkbox.tsx","../../src/components/ChoiceGroup/ChoiceGroup.styles.ts","../../src/components/ChoiceGroup/ChoiceGroup.tsx","../../src/components/Overlay/Overlay.styles.ts","../../src/components/Overlay/Overlay.tsx","../node_modules/symbol-observable/es/index.js","../node_modules/mini-create-react-context/dist/esm/index.js","../node_modules/path-to-regexp/index.js","../node_modules/node-libs-browser/node_modules/util/util.js","../../src/mergeStyles.ts","../node_modules/object-assign/index.js","../../src/motion/AnimationStyles.ts","../../src/utilities/hooks/useResponsiveMode.tsx","../../src/osDetector.ts","../../src/mobileDetector.ts","../../src/initials.ts","../../src/components/Autofill/Autofill.tsx","../../src/overflow.ts","../../src/components/Button/CommandButton/CommandButton.tsx","../../src/string.ts","../../src/components/Callout/FocusTrapCallout.tsx","../../src/utilities/selectableOption/SelectableOption.ts","../../src/componentAs/composeComponentAs.tsx","../../src/utilities/selection/SelectionZone.tsx","../../src/utilities/dragdrop/DragDropHelper.tsx","../../src/safeRequestAnimationFrame.ts","../../src/AutoScroll.ts","../../src/math.ts","../../src/components/TeachingBubble/TeachingBubble.ts","../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/process/browser.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/@microsoft/applicationinsights-react-js/node_modules/tslib/tslib.es6.js","../../src/ReactPlugin.ts","../../src/withAITracking.tsx","../../src/components/MarqueeSelection/MarqueeSelection.base.tsx","../../src/components/MarqueeSelection/MarqueeSelection.tsx","../../src/components/MarqueeSelection/MarqueeSelection.styles.tsx","../../src/components/Divider/VerticalDivider.styles.ts","../../src/components/Divider/VerticalDivider.base.tsx","../../src/components/Divider/VerticalDivider.tsx","../../src/components/Button/CommandBarButton/CommandBarButton.styles.ts","../../src/components/Button/CommandBarButton/CommandBarButton.tsx","../../src/components/GroupedList/GroupedList.styles.ts","../../src/components/GroupedList/GroupedList.ts","../../src/components/Spinner/Spinner.styles.tsx","../../src/components/Spinner/Spinner.tsx","../../src/components/Dropdown/Dropdown.styles.ts","../../src/components/Dropdown/Dropdown.tsx","../../src/components/Panel/Panel.styles.ts","../../src/components/Panel/Panel.ts","../../src/components/MessageBar/MessageBar.styles.ts","../../src/components/MessageBar/MessageBar.tsx","../../src/components/ProgressIndicator/ProgressIndicator.styles.ts","../../src/components/ProgressIndicator/ProgressIndicator.tsx","../node_modules/symbol-observable/es/ponyfill.js","../../src/getVirtualParent.ts","../../src/elementContainsAttribute.ts","../../../src/JavaScriptSDK/BaseTelemetryPlugin.ts","../node_modules/@tinymce/tinymce-react/lib/es2015/main/ts/components/EditorPropTypes.js","../node_modules/@tinymce/tinymce-react/lib/es2015/main/ts/Utils.js","../node_modules/@tinymce/tinymce-react/lib/es2015/main/ts/ScriptLoader.js","../node_modules/@tinymce/tinymce-react/lib/es2015/main/ts/components/Editor.js","../../src/portalContainsElement.ts","../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/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/react-is/cjs/react-is.production.min.js","../node_modules/webpack/buildin/harmony-module.js","../node_modules/path-to-regexp/node_modules/isarray/index.js","../node_modules/regenerator-runtime/runtime.js","../node_modules/oidc-client/lib/oidc-client.min.js","../node_modules/buffer/index.js","../node_modules/base64-js/index.js","../node_modules/ieee754/index.js","../node_modules/isarray/index.js","../node_modules/axios/lib/axios.js","../node_modules/is-buffer/index.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/axios/lib/helpers/normalizeHeaderName.js","../node_modules/axios/lib/core/settle.js","../node_modules/axios/lib/core/enhanceError.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/helpers/isAbsoluteURL.js","../node_modules/axios/lib/helpers/combineURLs.js","../node_modules/axios/lib/cancel/CancelToken.js","../node_modules/axios/lib/helpers/spread.js","../node_modules/node-libs-browser/node_modules/util/support/isBufferBrowser.js","../node_modules/node-libs-browser/node_modules/inherits/inherits_browser.js","../node_modules/redux-thunk/es/index.js","../node_modules/redux-logger/dist/redux-logger.es.js","../node_modules/@microsoft/applicationinsights-core-js/node_modules/tslib/tslib.es6.js","../../../src/JavaScriptSDK/TelemetryHelpers.ts","../../../src/JavaScriptSDK/ChannelController.ts","../../../src/JavaScriptSDK/BaseCore.ts","../../../src/JavaScriptSDK.Enums/EventsDiscardedReason.ts","../../../src/JavaScriptSDK/NotificationManager.ts","../../../src/JavaScriptSDK/AppInsightsCore.ts","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/tslib/tslib.es6.js","../../src/Enums.ts","../../src/RequestResponseHeaders.ts","../../../Telemetry/Common/DataSanitizer.ts","../../src/Util.ts","../../src/TelemetryItemCreator.ts","../node_modules/@microsoft/applicationinsights-common/node_modules/tslib/tslib.es6.js","../../../Interfaces/Contracts/Generated/Domain.ts","../../../Interfaces/Contracts/Generated/DataPointType.ts","../../../Interfaces/Contracts/Generated/EventData.ts","../../../src/Telemetry/Event.ts","../../../src/Telemetry/Trace.ts","../../../Interfaces/Contracts/Generated/MessageData.ts","../../../Interfaces/Contracts/Generated/MetricData.ts","../../../Interfaces/Contracts/Generated/DataPoint.ts","../../../Interfaces/Contracts/Generated/SeverityLevel.ts","../../../Telemetry/Common/DataPoint.ts","../../../src/Telemetry/Metric.ts","../../../Interfaces/Contracts/Generated/PageViewData.ts","../../../src/Telemetry/PageView.ts","../../../src/Telemetry/PageViewPerformance.ts","../../../Interfaces/Contracts/Generated/PageViewPerfData.ts","../../../Interfaces/Contracts/Generated/StackFrame.ts","../../../Interfaces/Contracts/Generated/ExceptionDetails.ts","../../../src/Telemetry/Exception.ts","../../../Interfaces/Contracts/Generated/ExceptionData.ts","../../src/Constants.ts","../../src/ConnectionStringParser.ts","../../../Interfaces/Contracts/Generated/Base.ts","../../../Interfaces/Contracts/Generated/Data.ts","../../../Telemetry/Common/Envelope.ts","../../../Interfaces/Contracts/Generated/Envelope.ts","../../../src/Telemetry/RemoteDependencyData.ts","../../../Interfaces/Contracts/Generated/RemoteDependencyData.ts","../../../Telemetry/Common/Data.ts","../../../src/Interfaces/IConfig.ts","../../../Interfaces/Contracts/Generated/ContextTagKeys.ts","../../../src/Interfaces/PartAExtensions.ts","../../src/applicationinsights-common.ts","../../../JavaScriptSDK/Telemetry/PageViewManager.ts","../../../JavaScriptSDK/Telemetry/PageVisitTimeManager.ts","../../../JavaScriptSDK/Telemetry/PageViewPerformanceManager.ts","../../../src/JavaScriptSDK/ApplicationInsights.ts","../node_modules/@microsoft/applicationinsights-channel-js/node_modules/tslib/tslib.es6.js","../../src/SendBuffer.ts","../../src/EnvelopeCreator.ts","../../src/Serializer.ts","../../src/Offline.ts","../../../TelemetryProcessors/SamplingScoreGenerators/HashCodeScoreGenerator.ts","../../../TelemetryProcessors/SamplingScoreGenerators/SamplingScoreGenerator.ts","../../../src/TelemetryProcessors/Sample.ts","../../src/Sender.ts","../node_modules/@microsoft/applicationinsights-properties-js/node_modules/tslib/tslib.es6.js","../../../src/Context/Session.ts","../../../src/Context/Application.ts","../../../src/Context/Device.ts","../../../src/Context/Internal.ts","../../../src/Context/User.ts","../../../src/Context/Location.ts","../../../src/Context/TelemetryTrace.ts","../../src/TelemetryContext.ts","../../src/PropertiesPlugin.ts","../node_modules/@microsoft/applicationinsights-dependencies-js/node_modules/tslib/tslib.es6.js","../../src/ajaxRecord.ts","../../src/TraceParent.ts","../../src/ajax.ts","../../src/Initialization.ts","../../src/ApplicationInsightsDeprecated.ts","../../src/ApplicationInsightsContainer.ts","../../src/fontFace.ts","../../src/concatStyleSetsWithProps.ts","../../src/mergeStyleSets.ts","../../src/usePrevious.ts","../../src/useTarget.ts","../../src/setVirtualParent.ts","../../src/createComponent.tsx","../../src/useBoolean.ts","../node_modules/@uifabric/merge-styles/node_modules/tslib/tslib.es6.js","../node_modules/@uifabric/styling/node_modules/tslib/tslib.es6.js","../../src/styles/AnimationStyles.ts","../../src/styles/DefaultPalette.ts","../../src/styles/fonts.ts","../../src/styles/DefaultFontStyles.ts","../node_modules/@uifabric/utilities/node_modules/tslib/tslib.es6.js","../../src/styles/DefaultSpacing.ts","../../src/styles/DefaultEffects.ts","../../src/initializeFileTypeIcons.tsx","../node_modules/@uifabric/react-hooks/node_modules/tslib/tslib.es6.js","../../src/FileIconType.ts","../../src/getFileTypeIconProps.ts","../../src/useSetTimeout.ts","../../src/selection/Selection.ts"],"names":["module","exports","require","extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","prototype","hasOwnProperty","call","__extends","TypeError","String","__","this","constructor","create","__assign","assign","t","s","i","n","arguments","length","apply","__rest","e","indexOf","getOwnPropertySymbols","propertyIsEnumerable","__decorate","decorators","target","key","desc","c","r","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","__spreadArrays","il","k","a","j","jl","buildClassMap","styles","classes","styleName","get","undefined","mergeStyles","toString","enumerable","configurable","AnimationClassNames","AnimationStyles","FontClassNames","DefaultFontStyles","_theme","createTheme","theme","ColorClassNames","DefaultPalette","_defineGetter","HighContrastSelector","ZIndexes","getFocusStyle","insetOrOptions","position","highContrastStyle","borderColor","outlineColor","isFocusedOnly","Nav","ScrollablePane","FocusStyle","Coachmark","Layer","KeytipLayer","hiddenContentStyle","width","height","margin","padding","border","overflow","_continuousPulseStepOne","beaconColorOne","innerDimension","borderWidth","_continuousPulseStepTwo","opacity","_continuousPulseStepFour","beaconColorTwo","outerDimension","_continuousPulseStepFive","PulsingBeaconAnimationStyles","continuousPulseAnimationDouble","keyframes","continuousPulseAnimationSingle","createDefaultAnimation","animationName","delayLength","animationIterationCount","animationDuration","animationDelay","_getGlobalClassNames","memoize","classNames","disableGlobalClassNames","styleSheet","Stylesheet","getInstance","acc","className","getClassName","getGlobalClassNames","normalize","boxShadow","boxSizing","noWrap","textOverflow","whiteSpace","colorValue","getPlaceholderStyles","selectors","subset","defaultIconStyles","display","getIconClassName","name","icon","getIcon","content","code","ownKeys","object","enumerableOnly","keys","symbols","filter","sym","push","_objectSpread2","source","forEach","getOwnPropertyDescriptors","defineProperties","LocalizedFontNames","LocalizedFontFamilies","FontSizes","FontWeights","IconFontSizes","Arabic","Cyrillic","EastEuropean","Greek","Hebrew","Thai","Vietnamese","WestEuropean","Selawik","Armenian","Georgian","ChineseSimplified","ChineseTraditional","Hindi","Japanese","Korean","size10","size12","size14","size16","size18","size20","size24","size28","size32","size42","size68","mini","xSmall","small","smallPlus","medium","mediumPlus","large","xLarge","xLargePlus","xxLarge","xxLargePlus","superLarge","mega","light","semilight","regular","semibold","bold","toObjectMap","result","items","item","isArray","baseElementEvents","baseElementProperties","htmlElementProperties","labelProperties","audioProperties","videoProperties","olProperties","liProperties","anchorProperties","buttonProperties","inputProperties","textAreaProperties","selectProperties","optionProperties","tableProperties","trProperties","thProperties","tdProperties","colGroupProperties","colProperties","formProperties","iframeProperties","imgProperties","imageProperties","divProperties","getNativeProps","props","allowedPropNames","excludedPropNames","now","performance","Date","measure","func","FabricPerformance","_timeoutId","setPeriodicReset","start","end","measurement","summary","totalDuration","count","all","duration","timeStamp","reset","clearTimeout","NaN","setTimeout","_syncModuleCache","WeakMap","asAsync","options","state","Component","load","render","forwardedRef","Placeholder","rest","ref","componentDidMount","then","LoadedComponent","set","setState","onLoad","catch","onError","Async","assertNever","x","Error","_baseUrl","getResourceUrl","url","setBaseUrl","baseUrl","component","activeTimeouts","cb","Set","extendComponent","componentWillUnmount","id","timeoutId","delete","add","KeyCodes","backspace","tab","enter","shift","ctrl","alt","pauseBreak","capslock","escape","space","pageUp","pageDown","home","left","up","right","down","insert","del","zero","one","two","three","four","five","six","seven","eight","nine","RectangleEdge","Position","DirectionalHint","topLeftEdge","topCenter","topRightEdge","topAutoEdge","bottomLeftEdge","bottomCenter","bottomRightEdge","bottomAutoEdge","leftTopEdge","leftCenter","leftBottomEdge","rightTopEdge","rightCenter","rightBottomEdge","MessageBarType","_window","window","getWindow","rootElement","el","ownerDocument","defaultView","Undefined","_isTypeof","value","theType","_isUndefined","_isNullOrUndefined","_hasOwnProperty","obj","prop","_isObject","_isFunction","_attachEvent","eventNameWithoutOn","handlerRef","useCapture","_detachEvent","isDate","isString","isNumber","isBoolean","disableCookies","CoreUtils","_canUseCookies","newGuid","replace","GuidRegex","Math","random","toISOString","date","pad","num","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","getUTCMilliseconds","toFixed","slice","arrForEach","arr","callbackfn","thisArg","len","idx","arrIndexOf","searchElement","fromIndex","from","lp","max","abs","arrMap","_this","results","arrReduce","initialValue","objCreate","tmpFunc","objKeys","hasDontEnumBug","dontEnums","dontEnumsLength","objDefineAccessors","getProp","setProp","defineProp","descriptor","addEventHandler","eventName","callback","w","doc","EventHelper","Attach","isTypeof","isUndefined","isNullOrUndefined","isFunction","isObject","AttachEvent","Detach","DetachEvent","getFirstFocusable","currentElement","includeElementsInFocusZones","getNextElement","getLastFocusable","getPreviousElement","getFirstTabbable","checkNode","getLastTabbable","focusFirstChild","element","focusAsync","suppressParentTraversal","traverseChildren","allowFocusRoot","tabbable","isCurrentElementVisible","isElementVisible","isElementFocusZone","isElementFocusSubZone","childMatch","lastElementChild","isElementTabbable","childMatchSiblingMatch","previousElementSibling","childMatchParent","parentElement","childMatchParentMatch","siblingMatch","suppressChildTraversal","firstElementChild","nextElementSibling","getAttribute","visibilityAttribute","offsetHeight","offsetParent","isVisible","checkTabIndex","disabled","tabIndex","tabIndexAttributeValue","parseInt","isFocusableAttribute","isTabIndexSet","tagName","doesElementContainFocus","document","currentActiveElement","activeElement","shouldWrapFocus","noWrapDataAttribute","targetToFocusOnNextRepaint","win","requestAnimationFrame","focus","getFocusableByIndexPath","parent","path","index","nextChild","children","min","getElementIndexPath","fromElement","toElement","unshift","sequencesToID","keySequences","reduce","prevValue","keySequence","split","join","mergeOverflows","overflowKeySequences","overflowSequenceLen","overflowSequence","pop","newKeySequences","ktpTargetFromSequences","ktpTargetFromId","keytipId","getAriaDescribedBy","describedby","ColumnActionsMode","ConstrainMode","ColumnDragEndLocation","DetailsListLayoutMode","CheckboxVisibility","_slicedToArray","Symbol","iterator","_arr","_n","_d","_e","_s","_i","next","done","err","unsupportedIterableToArray","KeytipEvents","KTP_PREFIX","KTP_SEPARATOR","KTP_FULL_PREFIX","DATAKTP_TARGET","DATAKTP_EXECUTE_TARGET","DATAKTP_ARIA_TARGET","KTP_LAYER_ID","KTP_ARIA_SEPARATOR","KEYTIP_ADDED","KEYTIP_REMOVED","KEYTIP_UPDATED","PERSISTED_KEYTIP_ADDED","PERSISTED_KEYTIP_REMOVED","PERSISTED_KEYTIP_EXECUTE","ENTER_KEYTIP_MODE","EXIT_KEYTIP_MODE","SelectionMode","SelectionDirection","SELECTION_CHANGE","asyncGeneratorStep","gen","resolve","reject","_next","_throw","arg","info","error","Promise","_asyncToGenerator","fn","self","args","ImageFit","ImageCoverStyle","ImageLoadState","PersonaSize","PersonaPresence","PersonaInitialsColor","personaSize","personaPresenceSize","activityPersonas","isCompact","root","isCompactRoot","pulsingBeacon","personaContainer","isCompactPersonaContainer","activityPersona","isCompactPersona","doublePersona","activityTypeIcon","isCompactIcon","activityContent","isCompactContent","activityText","commentText","isCompactTimeStamp","fadeIn","to","slideIn","transform","customStyles","animateBeaconSignal","continuousPulseAnimation","palette","themePrimary","themeTertiary","zIndex","slideInAnimation","fadeInAnimation","ActivityItemStyles","fonts","justifyContent","alignItems","color","neutralSecondary","top","borderRadius","borderStyle","flexWrap","minWidth","flexBasis","paddingRight","fontSize","lineHeight","marginTop","white","alignSelf","flex","overflowX","neutralPrimary","tiny","fontWeight","paddingLeft","size8","size40","size48","size56","size72","size100","size120","size6","size","isSize8","isSize10","isSize16","isSize24","extraExtraSmall","isSize28","extraSmall","isSize32","isSize40","isSize48","isSize56","isSize72","isSize100","extraLarge","isSize120","sizeToPixels","presence","isAvailable","online","isAway","away","isBlocked","blocked","isBusy","busy","isDoNotDisturb","dnd","isOffline","offline","classNamesFunction","cacheSize","PersonaPresenceBase","coinSize","isOutOfOffice","presenceTitle","presenceColors","rootRef","mergedRootRef","useMergedRefs","renderIcon","presenceHeightWidth","presenceMaxSize","coinSizeWithPresenceIconStyle","presenceFontMaxSize","coinSizeWithPresenceStyle","none","role","style","title","Icon","presenceIcon","iconName","determineIcon","displayName","GlobalClassNames","makeOpenCircleIconStyle","makeBeforeBorderStyle","borderSize","makeSizeStyle","backgroundColor","styled","semanticColors","presenceColorAvailable","available","presenceColorAway","presenceColorBusy","presenceColorDnd","presenceColorOffline","presenceColorOof","oof","presenceColorBackground","background","bodyBackground","isOpenCirclePresence","bottom","textAlign","backgroundClip","verticalAlign","scope","COLOR_SWATCHES_LOOKUP","lightBlue","blue","darkBlue","teal","green","darkGreen","lightPink","pink","magenta","purple","orange","lightRed","darkRed","violet","gold","burgundy","warmGray","cyan","rust","coolGray","COLOR_SWATCHES_NUM_ENTRIES","getPersonaInitialsColor","primaryText","text","initialsColor","personaInitialsColor","lightGreen","red","transparent","black","gray","personaInitialsColorToHexCode","hashCode","iLen","ch","charCodeAt","getInitialsColorFromName","getInitialsStyles","initialsTextColor","showUnknownPersonaCoin","DEFAULT_PROPS","imageAlt","PersonaCoinBase","propsWithoutDefaults","getPropsWithDefaults","onPhotoLoadingStateChange","imageUrl","notLoaded","imageLoadState","setImageLoadstate","loadState","useImageLoadState","onLoadingStateChange","renderCoin","coinProps","onRenderCoin","onRenderPersonaCoin","onRenderInitials","showInitialsUntilImageLoads","divProps","divCoinProps","coinSizeStyle","hideImage","personaPresenceProps","shouldRenderInitials","Boolean","loaded","coin","imageArea","initials","size10WithoutPresenceIcon","ResizeGroupDirection","imageShouldFadeIn","imageShouldStartVisible","dimension","Image","image","imageFit","cover","src","shouldFadeIn","shouldStartVisible","imageInitials","allowPhoneInitials","isRTL","PersonaCoin","marginRight","perspective","_onRenderIcon","_onRenderPersonaArray","activityIcon","_onRenderActivityDescription","_getClassNames","activityDescription","activityDescriptionText","_onRenderComments","comments","_onRenderTimeStamp","personaElement","person","onRenderIcon","onRenderActivityDescription","onRenderComments","onRenderTimeStamp","message","as","Root","DelayedRender","screenReaderText","defaultProps","Announced","getMeasurementCache","measurementsCache","getCachedMeasurement","data","cacheKey","addMeasurementToCache","measurementCache","_containerDimension","_measurementCache","_getMeasuredDimension","measuredData","getElementToMeasureDimension","cachedDimension","measuredDimension","_shrinkContentsUntilTheyFit","onReduceData","dataToMeasure","nextMeasuredData","renderedData","resizeDirection","getNextState","currentState","newContainerDimension","newDimension","fullDimensionData","onGrowData","nextState","measureContainer","_updateContainerDimension","_growDataUntilItDoesNotFit","shouldRenderDataForMeasurement","getInitialResizeGroupState","MeasuredContext","isMeasured","hiddenDivStyles","visibility","hiddenParentStyles","resizeDataReducer","action","type","useResizingBehavior","nextResizeGroupStateProvider","useConst","initialHiddenDiv","updateHiddenDiv","hasRenderedContent","async","useAsync","initialStateData","resizeData","dispatchResizeDataAction","stateRef","current","useResizeState","updateResizeState","remeasure","dataDidRender","containerDimension","boundingRect","getBoundingClientRect","direction","vertical","refToMeasure","scrollHeight","scrollWidth","useOnEvent","debounce","leading","dataNeedsMeasuring","isInitialMeasure","measuredContextValue","ResizeGroupBase","componentRef","onRenderData","Provider","TooltipOverflowMode","ResizeGroup","TooltipDelay","_onRenderContent","_classNames","subText","calloutProps","directionalHint","directionalHintForRTL","maxWidth","onRenderContent","targetElement","beakWidth","gapSpace","Callout","onMouseEnter","onMouseLeave","isBeakVisible","setInitialFocus","doNotLayer","Tooltip","effects","tooltipGapSpace","sqrt","devicePixelRatio","fadeIn200","menuBackground","elevation8","menuItemText","wordWrap","overflowWrap","_tooltipHost","_defaultTooltipId","getId","show","_toggleTooltip","dismiss","_hideTooltip","_getTargetElement","overflowMode","Parent","Self","_onTooltipMouseEnter","ev","delay","TooltipHostBase","_currentVisibleTooltip","overflowElement","portalContainsElement","_clearDismissTimer","_clearOpenTimer","isAriaPlaceholderRendered","delayTime","_getDelayTime","_openTimerId","_async","_onTooltipMouseLeave","closeDelay","_dismissTimerId","_onTooltipKeyDown","which","ctrlKey","isTooltipVisible","stopPropagation","onTooltipToggle","long","initializeComponentRef","setAriaDescribedBy","tooltipProps","tooltipId","isContentPresent","showTooltip","ariaDescribedBy","onFocusCapture","onBlurCapture","onKeyDown","onDismiss","dispose","ariaPlaceholder","TooltipHost","nullFunction","nonActionableItemProps","bodyText","_focusZone","_onReduceData","renderedItems","renderedOverflowItems","overflowIndex","movedItem","splice","_onGrowData","maxDisplayedItems","_onRenderBreadcrumb","ariaLabel","dividerAs","DividerType","onRenderItem","_onRenderItem","overflowAriaLabel","onRenderOverflowIcon","overflowButtonAs","contextualItems","map","isActionable","onClick","href","_onBreadcrumbClicked","bind","itemProps","lastItemIndex","hasOverflowItems","itemElements","listItem","chevron","iconProps","onRenderMenuIcon","OverflowButton","IconButton","overflowButton","menuProps","nativeProps","FocusZone","horizontal","focusZoneProps","list","isCurrentItem","additionalProps","Link","itemLink","tooltipHostProps","Tag","_validateProps","breadcrumbData","SingleLineTextStyle","MinimumScreenSelector","MediumScreenSelector","Breadcrumb","itemBackgroundHoveredColor","menuItemBackgroundHovered","itemBackgroundPressedColor","menuItemBackgroundPressed","itemTextColor","itemTextFontWeight","itemTextHoveredOrPressedColor","itemLastChildTextColor","itemLastChildTextFontWeight","chevronButtonColor","overflowButtonColor","lastChildItemStyles","itemStateSelectors","cursor","textDecoration","commonItemStyles","listStyleType","neutralDark","outline","ButtonGridBase","useId","columnCount","ariaPosInSet","positionInSet","ariaSetSize","setSize","doNotContainWithinFocusZone","htmlProps","rowsOfItems","rows","rowIndex","cell","cellIndex","tableCell","elementRef","isCircularNavigation","shouldFocusCircularNavigate","focusedContainer","onBlur","ButtonGrid","DayOfWeek","MonthOfYear","FirstWeekOfYear","DateRangeType","defaultId","selected","cellDisabledStyle","cellIsSelectedStyle","label","getClassNames","onHover","onMouseMove","onFocus","handleClick","handleMouseEnter","handleMouseMove","handleMouseLeave","handleFocus","CommandButton","css","DAYS_IN_WEEK","DEFAULT_DATE_FORMATTING","formatDay","getDate","formatMonth","strings","months","formatYear","getFullYear","formatMonthDayYear","getMonth","formatMonthYear","DEFAULT_CALENDAR_STRINGS","shortMonths","days","shortDays","goToToday","weekNumberFormatString","prevMonthAriaLabel","nextMonthAriaLabel","prevYearAriaLabel","nextYearAriaLabel","prevYearRangeAriaLabel","nextYearRangeAriaLabel","closeButtonAriaLabel","selectedDateFormatString","todayDateFormatString","monthPickerHeaderAriaLabel","yearPickerHeaderAriaLabel","dayMarkedAriaLabel","TimeConstants","MillisecondsInOneDay","MillisecondsIn1Sec","MillisecondsIn1Min","MillisecondsIn30Mins","MillisecondsIn1Hour","MinutesInOneDay","MinutesInOneHour","DaysInOneWeek","MonthInOneYear","HoursInOneDay","addDays","getTime","setDate","addWeeks","weeks","addMonths","newMonth","setMonth","addYears","years","setFullYear","getMonthStart","getMonthEnd","getYearStart","getYearEnd","month","compareDates","date1","date2","compareDatePart","getDatePartHashValue","getDateRangeArray","dateRangeType","firstDayOfWeek","workWeekDays","daysToSelectInDayView","startDate","datesArray","endDate","Monday","Tuesday","Wednesday","Thursday","Friday","Day","getDatePart","Week","WorkWeek","getStartDateOfWeek","Month","nextDate","getDay","isInDateRangeArray","dateRange","getWeekNumbersInMonth","weeksInMonth","firstWeekOfYear","navigatedDate","selectedYear","selectedMonth","dayOfMonth","fistDayOfMonth","endOfFirstWeek","dateWeekDay","Sunday","adjustWeekDay","endOfWeekRange","weeksArray","getWeekNumber","FirstFullWeek","getWeekOfYearFullDays","FirstFourDayWeek","getDayOfYear","num3","floor","getFirstDayWeekOfYear","daysOffset","getEndDateOfWeek","numberOfFullDays","dayOfYear","daysInYear","December","num2","year","daysUntilDate","daysInMonth","isSingleWeek","daySet","amountOfNoNeighbors","nextDay","has","minDate","maxDate","boundedDateRange","restrictedDates","some","rd","showWeekNumbers","allFocusable","weeksToShow","dayLabels","firstOfMonthIndex","day","originalDate","dayCell","val","weekDayLabelCell","targetDate","initialDate","restrictedDateOptions","availableDate","dateTimeFormatter","activeDescendantId","navigatedDayRef","calculateRoundedStyles","dayIndex","weekIndex","weekCorners","ariaHidden","customDayCellRef","onSelectDate","onNavigateDate","getDayInfosInRangeOfDay","getRefsFromDayInfos","cornerStyle","isNavigatedDate","isMarked","isSelected","daySelected","isInBounds","dayOutsideBounds","isInMonth","dayOutsideNavigatedMonth","setRef","onSelected","onMouseOver","dayInfos","dayRefs","dayRef","classList","remove","bottomLeftCornerDate","bottomRightCornerDate","topLeftCornerDate","topRightCornerDate","classNamesToAdd","trim","onMouseDown","onMouseUp","onMouseOut","dayButton","isToday","dayIsToday","findAvailableDateOptions","week","dayToCompare","preventDefault","navigateMonthEdge","dayMarker","rowClassName","ariaRole","weekNumbers","titleString","weekNumberCell","useWeeks","getSetRefCallback","weeksGrid","selectedDate","today","markedDays","todaysDate","isAllDaysOfWeekOutOfMonth","selectedDateRangeType","selectedDates","shouldGetWeeks","dayInfo","markedDay","firstVisibleDay","lastVisibleDay","getMarkedDays","returnValue","AnimationDirection","daysRef","dayKey","useDayRefs","restrictedDatesOptions","animateBackwards","previousNavigatedDate","usePrevious","useAnimateBackwards","above","below","roundedTopRight","roundedBottomLeft","roundedBottomRight","concat","isInSameHoverRange","date1Selected","date2Selected","initialWeeks","weekCornersStyled","useWeekCornerStyles","getWeekCornerStyles","labelledBy","lightenDaysOutsideNavigatedMonth","animationDirection","partialWeekProps","dateRangeHoverType","sortedWWDays","sort","isContiguous","accumulatedValue","currentWeek","weekDay","dayInfosInRange","wrapper","table","firstTransitionWeek","lastTransitionWeek","hoverStyle","pressedStyle","dayIsTodayStyle","daySelectedStyle","transitionRowDisappearance","CalendarDayGrid","rowAnimationStyle","Horizontal","slideRightIn20","slideLeftIn20","slideDownIn20","slideUpIn20","firstTransitionRowAnimationStyle","lastTransitionRowAnimationStyle","slideUpOut20","slideDownOut20","disabledStyle","neutralTertiaryAlt","pointerEvents","paddingBottom","borderCollapse","borderSpacing","tableLayout","neutralLighter","neutralLight","weekRow","borderRight","neutralLighterAlt","inset","span","borderTopRightRadius","borderTopLeftRadius","borderBottomRightRadius","borderBottomLeftRadius","dayGrid","onHeaderSelect","showSixWeeksByDefault","dayPickerId","monthAndYearId","headerIsClickable","monthAndYear","HeaderButtonComponentType","headerAriaLabel","header","navigationIcons","showCloseButton","onSelectNextMonth","onSelectPrevMonth","leftNavigationIcon","leftNavigation","rightNavigationIcon","rightNavigation","closeNavigationIcon","closeIcon","prevMonthInBounds","nextMonthInBounds","monthComponents","headerIconButton","CalendarDay","fontFamily","flexGrow","hasHeaderClickCallback","highlightCurrent","highlightSelected","animationStyle","headerAnimationStyle","headerContainer","currentItemButton","navigationButtonsContainer","navigationButton","minHeight","gridContainer","buttonRow","marginBottom","itemButton","themeLight","defaultCalendarStrings","defaultDayPickerStrings","defaultCalendarNavigationIcons","DefaultCalendarYearStrings","prevRangeAriaLabel","nextRangeAriaLabel","highlightCurrentYear","highlightSelectedYear","onSelectYear","onRenderYear","buttonRef","CalendarYearNavDirection","fromYear","toYear","minYear","maxYear","selectedCellRef","currentCellRef","renderCell","yearToRender","gridAriaLabel","cells","cellRow","onSelectPrev","onSelectNext","newRangeOffset","ariaLabelString","onNavigate","isLeftNavigation","rangeAriaLabel","headerAriaLabelFormatString","currentDateRange","NavigationDirection","onRenderTitle","navigatedYear","rangeYear","previousFromYear","navigate","useYearRangeState","onNavNext","onNavPrevious","gridRef","CalendarYear","yearPickerHidden","navigatedMonthRef","calendarYearRef","focusOnUpdate","useFocusLogic","focusOnNextUpdate","isYearPickerVisible","setIsYearPickerVisible","currentYear","previousYear","highlightCurrentMonth","highlightSelectedMonth","selectMonthCallback","onSelectMonth","onSelectNextYear","onSelectPrevYear","dateFormatter","isPrevYearInBounds","isNextYearInBounds","yearToString","yearFormattingDate","yearRangeToString","yearRange","getYearStrings","yearStrings","newNavigationDate","rowIndexes","yearString","rowNum","monthsForRow","monthIndex","indexedMonth","isNavigatedMonth","isSelectedMonth","isSelectedYear","isCurrentMonth","CalendarMonth","defaultWorkWeekDays","isMonthPickerVisible","isDayPickerVisible","showMonthPickerAsOverlay","showGoToToday","FirstDay","CalendarBase","useControllableValue","setSelectedDate","navigatedDay","setNavigatedDay","navigatedMonth","setNavigatedMonth","lastSelectedDate","setLastSelectedDate","valueOf","selectedDateRangeArray","useDateState","onDateSelected","navigateDay","navigateMonth","getShowMonthPickerAsOverlay","setIsMonthPickerVisible","setIsDayPickerVisible","useVisibilityState","toggleDayMonthPickerVisibility","dayPicker","monthPicker","renderGoToTodayButton","goTodayEnabled","goTodayButton","onGotoToday","onButtonKeyDown","calendarDayProps","calendarMonthProps","monthPickerOnly","overlaidWithButton","overlayedWithButton","todayDateString","selectedDateString","selectionAndTodayString","liveRegion","focusOnNavigatedDay","divider","monthPickerWrapper","innerWidth","Calendar","totalWidth","flexDirection","themeDark","translateOne","animationTimingFunction","scaleOne","rotateOne","container","main","overflowY","overFlowYHidden","OFF_SCREEN_STYLE","SLIDE_ANIMATIONS","preventDismissOnScroll","offsetFromTarget","minPagePadding","usePositionState","positionedHost","contentHost","targetRef","getCachedBounds","positions","setPositions","positionAttempts","updateAsyncPosition","updatePosition","onPositioned","hostElement","positioningContainerElement","currentProps","bounds","body","contains","newPositions","newPosition","oldPositions","oldPositionEdge","newPositionEdge","comparePositions","elementPosition","arePositionsEqual","useHeightOffset","finalHeight","heightOffset","setHeightOffset","setHeightOffsetTimer","setHeightOffsetEveryFrame","positioningContainerMainElem","lastChild","cardScrollHeight","cardCurrHeight","cancelAnimationFrame","PositioningContainer","useTarget","targetWindow","positioningBounds","currentBounds","innerHeight","useCachedBounds","getCachedMaxHeight","directionalHintFixed","maxHeight","BORDER_WIDTH","useMaxHeight","didSetInitialFocus","useSetInitialFocus","onResize","dismissOnScroll","dismissOnLostFocus","clickedOutsideCallout","elementContains","events","EventGroup","on","throttle","useAutoDismissEvents","onLayerMounted","positioningContainerWidth","positioningContainerMaxHeight","directionalClassName","targetEdge","getContentMaxHeight","contentMaxHeight","beak","fill","Beak","svgHeight","svgWidth","pointOne","pointTwo","pointThree","BEAK_WIDTH","BEAK_HEIGHT","points","COACHMARK_ATTRIBUTE_NAME","isCollapsed","mouseProximityOffset","delayBeforeMouseOpen","delayBeforeCoachmarkAnimation","isPositionForced","positioningContainerProps","CoachmarkBase","entityInnerHostElementRef","translateAnimationContainer","targetAlignment","setTargetAlignment","targetPosition","setTargetPosition","alignmentEdge","usePositionedData","propsIsCollapsed","onAnimationOpenStart","onAnimationOpenEnd","setIsCollapsed","useSetTimeout","hasCoachmarkBeenOpened","openCoachmark","addEventListener","useCollapsedState","transformOriginX","transformOriginY","beakDirection","beakPosition","COACHMARK_WIDTH","useBeakPosition","beakPositioningProps","transformOrigin","isMeasuring","setIsMeasuring","entityInnerHostRect","setEntityInnerHostRect","offsetWidth","useEntityHostMeasurements","alertText","ariaAlertText","setAlertText","useAriaAlert","entityHost","preventFocusOnMount","useAutoFocus","getDocument","documentElement","altKey","preventDismissOnLostFocus","clickTarget","useListeners","targetElementRect","setTargetElementRect","timeoutIds","mouseY","clientY","mouseX","clientX","isInsideElement","useProximityHandlers","ariaDescribedByText","ariaLabelledBy","ariaLabelledByText","persistentBeak","defaultColor","primaryButtonBackground","entityHostHeight","entityHostWidth","COACHMARK_HEIGHT","getBounds","ariaContainer","scaleAnimationLayer","rotateAnimationLayer","FocusTrapZone","isClickableOutsideFocusTrap","forceFocusInsideTrap","entityInnerHost","childrenContainer","Infinity","ContinuousPulse","ContinuousPulseAnimation","animationFillMode","transition","MAX_COLOR_SATURATION","MAX_COLOR_HUE","MAX_COLOR_VALUE","MAX_COLOR_RGB","MAX_COLOR_RGBA","MAX_COLOR_ALPHA","MIN_HEX_LENGTH","MAX_HEX_LENGTH","MIN_RGBA_LENGTH","MAX_RGBA_LENGTH","HEX_REGEX","RGBA_REGEX","hsl2hsv","h","l","v","hsv2rgb","rgb","hh","m","round","g","hsl2rgb","hsv","cssColor","easyColor","_rgba","str","test","_hex6","_hex3","match","hasAlpha","expectedPartCount","parts","Number","rgba","_hsla","elem","createElement","appendChild","eComputedStyle","getComputedStyle","computedColor","removeChild","_browserCompute","clamp","rgb2hex","_rgbToPaddedHex","hex","hsv2hex","rgb2hsv","delta","hsv2hsl","sl","_rgbaOrHexString","getColorFromRGBA","getColorFromString","inputColor","getColorFromHSV","getFullColorString","updateSV","updateH","updateRGB","updateA","correctRGB","correctHSV","correctHex","substring","Shade","WhiteShadeTableBG","BlackTintTableBG","WhiteShadeTable","BlackTintTable","LumTintTable","LumShadeTable","ColorTintTable","ColorShadeTable","isValidShade","shade","Unshaded","Shade8","_darken","factor","_lighten","isDark","getShade","isInverted","hsl","tableIndex","_soften","_strongen","_isWhite","_isBlack","getBackgroundShade","getContrastRatio","color1","color2","_getThing","pow","L1","L2","updateT","_disposables","_root","_isAdjustingSaturation","_descriptionId","_onKeyDown","increment","shiftKey","_updateColor","_onMouseDown","_onMouseMove","_disposeListeners","newColor","prevColor","rectSize","sPercentage","vPercentage","_getNewColor","componentDidUpdate","prevProps","prevState","minSize","ariaValueFormat","ariaDescription","valueText","description","dark","thumb","onChange","oldColor","defaultPrevented","ColorRectangle","roundedCorner2","neutralSecondaryAlt","currentValue","maxValue","_maxValue","_updateValue","currentPercentage","newValue","warnDeprecations","thumbColor","overlayStyle","isAlpha","minValue","_type","overlayColor","warn","sliderOverlay","sliderThumb","hueStyle","alphaStyle","backgroundImage","ColorSlider","useAlphaBackground","allColorComponents","_onSVChanged","_onHChanged","_onATChanged","updater","alphaType","_onBlur","event","editingColor","isHex","isTransparency","minLength","isNaN","hexLabel","redLabel","greenLabel","blueLabel","alphaLabel","alphaSliderHidden","hue","_getColorFromProps","_textChangeHandlers","_onTextChange","defaultStrings","ColorPickerBase","_textLabels","alpha","transparency","_strings","alphaAriaLabel","transparencyAriaLabel","textLabels","useTransparency","colorComponents","atValue","atLabel","selectedColorAriaParts","rootAriaLabelFormat","panel","svAriaLabel","svAriaDescription","svAriaValueFormat","colorRectangle","flexContainer","flexSlider","hueAriaLabel","showPreview","flexPreviewBox","colorSquare","cellPadding","cellSpacing","tableHeader","tableHexCell","tableAlphaCell","comp","TextField","input","_getDisplayValue","spellCheck","autoComplete","substr","ColorPicker","td","_comboBox","_list","_onRenderList","List","onRenderCell","_onScrollToItem","itemIndex","scrollToIndex","selectedOptions","dismissMenu","shouldOpenOnFocus","useFocusAsync","ComboBox","onRenderList","onScrollToItem","keytipManager","KeytipManager","overflowItems","keytipSequences","itemSubMenuProvider","onRenderOverflowButton","persistedKeytips","getSubMenuForItem","subMenuProps","newOverflowItems","currentOverflowItems","overflowItem","keytip","keytipProps","persistedKeytip","isDisabled","hasDynamicChildren","hasMenu","onExecute","menuExecute","newOverflowItem","overflowSetSequence","uniqueID","register","unregister","OverflowSetBase","divContainer","mergedRef","focusSucceeded","focusElement","childElement","overflowSide","showOverflow","overflowItemStyle","flexShrink","OverflowSet","getCommandButtonStyles","rootStyles","labelStyles","restCustomStyles","_overflowSet","_resizeGroup","_onRenderData","primarySet","primaryItems","_onRenderOverflowButton","farItems","secondarySet","onRender","itemText","commandButtonProps","allowDisabledFocus","buttonStyles","iconOnly","_onButtonClick","_commandButton","ButtonAs","buttonAs","CommandBarButtonAs","commandBarButtonAs","Type","CommandBarButton","composeComponentAs","overflowButtonProps","combinedOverflowItems","overflowProps","menuIcon","menuIconProps","OverflowButtonType","shiftOnReduce","onDataReduced","renderedInOverflow","newData","_computeCacheKey","onDataGrown","minimumOverflowItems","resizeGroupAs","ResizeGroupAs","commandBarData","overflowSet","inactive","CommandBar","defaultDatePickerStrings","isRequiredErrorMessage","invalidInputErrorMessage","isResetStatusMessage","allowTextInput","formatDate","toDateString","parseDateFromString","dateStr","parse","initialPickerDate","isRequired","borderless","pickerAriaLabel","underlined","DatePickerBase","placeholder","calendarProps","textFieldProps","CalendarType","disableAutoFocus","calloutId","calendar","datePickerDiv","textFieldRef","preventFocusOpeningPicker","preventNextFocusOpeningPicker","onAfterMenuDismiss","isCalendarShown","setIsCalendarShown","isMounted","useCalendarVisibility","setSelectedDateState","formattedDate","setFormattedDate","newDate","useSelectedDate","inputValue","errorMessage","setErrorMessage","statusMessage","setStatusMessage","isDateOutOfBounds","isOutOfBoundsErrorMessage","selectedText","statusText","useErrorMessage","validateTextInput","showDatePickerPopup","dismissDatePickerPopup","newlySelectedDate","calendarDismissed","handleEscKey","isDatePickerShown","textFieldId","required","readOnly","textField","onRenderDescription","inputProps","defaultRender","openOnClick","callout","shouldFocus","disableFirstFocus","DialogType","withLabel","withoutLabel","DatePicker","DatePickerIcon","paddingTop","disabledText","errorText","actions","actionsRight","_renderChildrenAsActions","child","DialogFooter","DialogFooterType","titleId","subTextContent","subTextId","titleProps","draggableHeaderClassName","isLargeHeader","largeHeader","isClose","close","groupings","_groupChildren","topButton","topButtonsProps","uniqueId","button","inner","innerContent","contents","footers","DialogContentBase","withResponsiveMode","contentLgHeader","headerLg","DialogContent","hidden","isMultiline","borderTop","bodySubtext","buttonText","menuHeader","buttonTextHovered","DefaultModalProps","isDarkOverlay","isBlocking","containerClassName","topOffsetFixed","DefaultDialogContentProps","normal","_getSubTextId","ariaDescribedById","modalProps","dialogContentProps","subtitleAriaId","_defaultSubTextId","_getTitleTextId","ariaLabelledById","titleAriaId","_defaultTitleTextId","_id","dialogDraggableClassName","dragOptions","contentClassName","elementToFocusOnDismiss","firstFocusableSelector","ignoreExternalFocusing","isOpen","onDismissed","onLayerDidMount","responsiveMode","mergedLayerProps","layerProps","dragHandleSelector","mergedModalProps","dialogDefaultMinWidth","dialogDefaultMaxWidth","Modal","DialogBase","Dialog","DocumentCardType","_rootElement","_onClick","_onAction","onClickHref","onClickTarget","open","location","accentColor","actionable","compact","borderBottomColor","DocumentCardPreviewGlobalClassNames","iconContainer","DocumentCardActivityGlobalClassNames","multiplePeople","details","activity","avatars","avatar","DocumentCardTitleGlobalClassNames","DocumentCardLocationGlobalClassNames","rootActionable","rootCompact","DocumentCard","WebkitFontSmoothing","userSelect","borderBottom","views","viewsIcon","DocumentCardActions","ACTION_SIZE","float","people","_renderAvatars","_getNameString","_renderAvatar","profileImageSrc","nameString","DocumentCardActivity","VERTICAL_PADDING","marginLeft","HORIZONTAL_PADDING","DocumentCardDetails","locationHref","DocumentCardLocation","_renderPreviewList","previewImages","getOverflowDocumentCountText","maxDisplayCount","overflowDocumentCount","overflowText","fileListItems","file","fileIndex","fileListIcon","iconSrc","fileListLink","linkProps","fileList","fileListOverflowText","preview","isFileList","_renderPreviewImage","previewImage","previewIconProps","previewIconContainerClass","previewIcon","previewImageSrc","DocumentCardPreview","li","_onImageLoad","imageHasLoaded","imageSrc","_renderCornerIcon","_renderCenterIcon","centeredIconWrapper","centeredIcon","cornerIcon","DocumentCardImage","_titleElement","_truncateTitle","_needMeasurement","_truncateWhenInAnimation","originalTitle","clientWidth","_clientWidth","lines","overFlowRate","truncatedLength","truncatedTitleFirstPiece","truncatedTitleSecondPiece","_shrinkTitle","titleElement","clientHeight","_events","shouldTruncate","_updateTruncation","off","showAsSecondaryTitle","_timerId","DocumentCardTitle","logoIcon","DocumentCardLogo","statusIcon","status","DocumentCardStatus","pickerText","pickerInput","basePickerProps","floatingPicker","selectedItemsList","onSelectionChange","forceUpdate","onInputChange","composing","queryString","onQueryStringChanged","onInputFocus","unselectAll","onInputClick","inputElement","shoudUpdateValue","inputText","showPicker","onBackspace","isValueSelected","cursorLocation","hidePicker","removeItemAt","_onSelectedItemsChanged","hasSelectedItems","removeSelectedItems","onCopy","onPaste","clipboardData","getData","_onSuggestionSelected","currentRenderedQueryString","processedItem","onItemSelected","processedItemObject","processedItemPromiseLike","resolvedProcessedItem","_addProcessedItem","_onSuggestionsShownOrHidden","selection","onSelectionChanged","selectedItems","defaultSelectedItems","clearInput","clear","highlightedItems","activeDescendant","currentSelectedSuggestionIndex","isExpanded","isSuggestionsShown","bidirectional","SelectionZone","selectionMode","multiple","headerComponent","renderSelectedItemsList","canAddItems","onInputValueChange","renderFloatingPicker","floatingPickerProps","selectedItemsListProps","itemLimit","FloatingPicker","onRenderFloatingPicker","onSuggestionsHidden","onSuggestionsShown","suggestionItems","SelectedItems","onRenderSelectedItems","onItemsDeleted","onItemsRemoved","newItem","onItemAdded","addItems","baseButtonStyles","customButtonStyles","BaseButton","variantClassName","FacepileButton","customizable","showOverflowTooltip","PersonaBase","getText","renderElement","elementClassNames","renderFunction","defaultRenderFunction","dir","onRenderText","tooltip","onInternalRenderPrimaryText","onInternalRenderSecondaryText","secondaryText","onInternalRenderTertiaryText","tertiaryText","onInternalRenderOptionalText","optionalText","hidePersonaDetails","onRenderOptionalText","onRenderPrimaryText","onRenderSecondaryText","onRenderTertiaryText","providedCoinProps","showSecondaryText","personaCoinProps","personaDetails","doNotDisturb","textContent","Persona","sharedTextStyles","inputTextHovered","_getPersonaControl","persona","getPersonaProps","personaName","_getPersonaCoinControl","_ariaDescriptionId","chevronButtonProps","maxDisplayablePersonas","personas","overflowPersonas","showAddButton","numPersonasToShow","hasOverflowPersonas","personasPrimary","personasOverflow","onRenderAriaDescription","itemContainer","_getAddNewElement","members","_onRenderVisiblePersonas","_getOverflowElement","screenReaderOnly","singlePersona","onRenderPersona","personaControl","member","_getElementWithOnClickEvent","_getElementWithoutOnClickEvent","_getElementProps","_onPersonaClick","_onPersonaMouseMove","_onPersonaMouseOut","overflowButtonType","descriptive","_getDescriptiveOverflowElement","downArrow","_getIconElement","more","personaNames","numPersonasNotPictured","descriptiveOverflowButton","_renderInitialsNotPictured","_renderInitials","addButtonProps","addButton","overflowInitialsIcon","Facepile","spacingAroundItemButton","ItemButtonStyles","themeDarker","suggestionsItem","closeButton","suggestionsItemIsSuggested","actionButton","buttonSelected","suggestionsTitle","suggestionsContainer","suggestionsNone","suggestionsSpinner","legacyStyles","suggestionModel","RenderSuggestion","onRemoveItem","isSelectedOverride","removeButtonAriaLabel","suggested","showRemoveButton","suggestionsProps","_selectedElement","SuggestionsItemOfProperType","_onClickTypedSuggestionsItem","onSuggestionClick","_onRemoveTypedSuggestionsItem","onSuggestionRemove","currentIndex","nextSuggestion","suggestions","setSelectedSuggestion","shouldLoopSelection","previousSuggestion","getCurrentItem","getSuggestionAtIndex","hasSuggestionSelected","removeSuggestion","deselectAllSuggestions","currentSuggestion","scrollSelected","onRenderSuggestion","suggestionsItemClassName","resultsMaximumNumber","showRemoveButtons","suggestionsContainerAriaLabel","TypedSuggestionsItem","suggestion","scrollIntoView","SuggestionItemType","renderItem","_suggestions","SuggestionsOfProperType","selectedHeaderIndex","selectedFooterIndex","resetSelectedItem","oldProps","headerItemsProps","footerItemsProps","suggestionsAvailableAlertText","screenReaderTextStyles","shouldAlertSuggestionsAvailableText","renderHeaderItems","_renderSuggestions","renderFooterItems","selectedElement","hasSelection","executeSelectedAction","selectedHeaderItem","completeSuggestion","selectedFooterItem","handleKeyDown","keyCode","isKeyDownHandled","selectNextItem","footer","selectFirstItem","selectPreviousItem","selectLastItem","suggestionsHeaderContainerAriaLabel","headerItemProps","shouldShow","suggestionsFooterContainerAriaLabel","footerItemProps","TypedSuggestions","itemType","originalItemType","startedItemType","_selectNextItemOfItemType","_getCurrentIndexForType","_getNextItemSectionType","_selectPreviousItemOfItemType","_getPreviousItemSectionType","shouldSelectFirstItem","isHeader","suggestionsControl","SuggestionsControlOfProperType","isComponentMounted","onInputChanged","updateValue","wasShownBeforeUpdate","suggestionsVisible","_updateSuggestionsVisible","onRemoveSuggestion","_onValidateInput","_updateActiveDescendant","onValidateInput","createGenericItem","itemToConvert","convertedItems","suggestionStore","convertSuggestionsToSuggestionItems","suggestionsStore","didBind","forceResolveSuggestion","currentSuggestionIndex","_bindToInputElement","_onResolveSuggestions","resolveDelay","_unbindFromInputElement","updateSuggestions","renderSuggestions","TypedSuggestionsControl","calloutWidth","pickerCalloutProps","onRenderSuggestionsItem","getSuggestions","pickerSuggestionsProps","updatedValue","updateSuggestionWithZeroState","onZeroQuerySuggestion","onEmptyInputFocus","updateSuggestionsList","suggestionsArray","suggestionsPromiseLike","currentPromise","newSuggestions","selectedElId","setAttribute","onResolveSuggestions","removeEventListener","personaProps","createItem","isValid","personaToConvert","OpenCardMode","HoverCardType","_isSuggestionModel","_ensureSuggestionModel","getAriaLabel","host","ExpandingCardMode","compactCard","expandedCard","expandedCardScroll","firstFocus","trapFocus","onLeave","mergedCalloutProps","FocusTrapCallout","focusTrapProps","_expandedElem","_onRenderCompactCard","onRenderCompactCard","renderData","_onRenderExpandedCard","firstFrameRendered","onRenderExpandedCard","_checkNeedsScroll","expandedCardHeight","needsScroll","compactCardHeight","mode","expandedCardFirstFrameRendered","expanded","onEnter","ExpandingCard","onRenderPlainCard","PlainCard","_hoverCard","withTimeOut","_setDismissedState","cardDismissDelay","_cardOpen","_shouldBlockHoverCard","openHotKey","_currentMouseTarget","currentTarget","_executeCardOpen","isHoverCardVisible","openMode","hotKey","hover","cardOpenDelay","_cardDismiss","isNativeEvent","MouseEvent","sticky","nativeEvent","_instantOpenAsExpanded","_setEventListeners","instantOpenOnClick","eventListenerTarget","nativeEventDismiss","_nativeDismissEvent","_childDismissEvent","onCardExpand","expandedCardOpenDelay","onCardVisible","onCardHide","expandingCardProps","plainCardProps","hoverCardId","commonCardProps","finalExpandedCardProps","finalPlainCardProps","expanding","querySelector","shouldBlockHoverCard","HoverCard","initializeIcons","MozOsxFontSmoothing","fontStyle","speak","fontFace","icons","GlobalNavButton","ChevronDown","ChevronUp","Edit","Add","Cancel","More","Settings","Mail","Filter","Search","Share","BlockedSite","FavoriteStar","FavoriteStarFill","CheckMark","Delete","ChevronLeft","ChevronRight","Megaphone","Undo","Flag","Page","Pinned","View","Clear","Download","Upload","Folder","Sort","AlignRight","AlignLeft","AddFriend","Info","SortLines","CircleRing","Heart","HeartFill","Tiles","Embed","Glimmer","Ascending","Descending","SortUp","SortDown","SyncToPC","LargeGrid","SkypeCheck","SkypeClock","SkypeMinus","ClearFilter","Flow","StatusCircleCheckmark","MoreVertical","visible","getCalloutStyles","beakCurtain","calloutMain","offset","y","KeytipContent","keytipTarget","coverTarget","useKeytipRef","useKeytipData","contentElement","findFirstElement","executeElement","ariaElement","attributeName","attributeValue","append","dataAttribute","_urlResolver","nodeMap","addNode","persisted","fullSequence","_getFullSequence","nodeID","parentID","_getParentID","node","_createNode","getNode","updateNode","prevParent","prevParentNode","childIndex","onReturn","removeNode","getExactMatchedNode","currentKeytip","possibleNodes","getNodes","_getNodeSequence","getPartiallyMatchedNodes","getChildren","nodes","ids","nodeMapValues","isCurrentKeytipParent","matchesCurrWithoutOverflow","parentId","array","nodeMapKey","defaultStartSequence","modifierKeys","defaultExitSequence","defaultReturnSequence","context","_keytipManager","_delayedKeytipQueue","_keyHandled","_onDismiss","inKeytipMode","_exitKeytipMode","transitionKey","_getModifierKey","processTransitionInput","_onKeyPress","processInput","toLocaleLowerCase","_onKeytipAdded","eventArgs","_keytipTree","_setKeytips","_addKeytipToQueue","currNode","_persistedKeytipChecks","_onKeytipUpdated","_newCurrentKeytipSequences","_triggerKeytipImmediately","_isCurrentKeytipAnAlias","keytipSequence","_onKeytipRemoved","_removeKeytipFromQueue","_onPersistedKeytipAdded","_onPersistedKeytipRemoved","_onPersistedKeytipExecute","_persistedKeytipExecute","overflowButtonSequences","_setInKeytipMode","_warnIfDuplicateKeytips","duplicateKeytips","_getDuplicateIds","keytipIds","seenIds","keytips","getKeytips","visibleKeytips","_getVisibleKeytips","_buildTree","_currentSequence","visibleKeytipProps","_enterKeytipMode","getCurrentSequence","getKeytipTree","currKtp","keytipExitSequences","keytipReturnSequences","_getKtpExecuteTarget","_getKtpTarget","showKeytips","keytipStartSequences","currSequence","currKtpChildren","partialNodes","partialNode","shouldEnterKeytipMode","delayUpdatingKeytipChange","onEnterKeytipMode","uniqueKeytip","_delayedQueueTimeout","onExitKeytipMode","overflowKeytipNode","metaKey","leftWindow","keytipID","linkText","compositeLink","link","chevronButton","chevronIcon","navItem","navItems","group","groupContent","textContainer","isRelativeUrl","SuggestionActionType","_onRenderLink","groups","_renderGroup","groupIndex","onRenderGroupHeader","_renderGroupHeader","_isGroupExpanded","isGroup","groupProps","onHeaderClick","isCollapsing","_onGroupHeaderClicked","_renderLinks","links","expandButtonAriaLabel","collapseAriaLabel","expandAriaLabel","isGroupCollapsed","isLinkExpandStateChanged","selectedKey","initialSelectedKey","isOnTop","groupElements","forceIntoFirstElement","_renderNavLink","linkIndex","nestingLevel","isLinkWithIcon","isSelectedLink","_isLinkSelected","ariaCurrent","isButtonEntry","forceAnchor","leftPadding","rel","LinkAs","linkAs","ActionButton","onRenderLink","composeRenderFunction","_onNavButtonLinkClicked","_onNavAnchorLinkClicked","_renderCompositeLink","isLink","finalExpandBtnAriaLabel","_onLinkExpandClicked","_renderLink","linkElements","_toggleCollapsed","onLinkExpandClick","_preventBounce","onLinkClick","protocol","pathname","hash","collapseByDefault","newGroupCollapsed","navHeight","leftPaddingExpanded","rightPadding","WebkitOverflowScrolling","slideRightIn40","bodyBackgroundHovered","bodyTextChecked","bodyBackgroundChecked","borderLeft","bodyDivider","SuggestionsItemGlobalClassNames","isSuggested","ValidationState","StyledSuggestionsItem","focusBorder","menuItemTextHovered","menuDivider","neutralTertiary","_forceResolveButton","_searchForMoreButton","_scrollContainer","tryHandleKeyDown","isEventHandled","newSelectedActionType","currentSelectedAction","selectedActionType","suggestionLength","forceResolve","_refocusOnSuggestions","searchMore","_getAlertText","isLoading","isSearching","noResultsFoundText","_getMoreResults","onGetMoreResults","_forceResolve","_shouldShowForceResolve","showForceResolve","refocusSuggestions","activeSelectedElement","forceResolveText","mostRecentlyUsedHeaderText","searchForMoreText","moreSuggestionsAvailable","loadingText","onRenderNoResultFound","searchingText","isMostRecentlyUsedVisible","resultsFooterFull","resultsFooter","isResultsFooterVisible","suggestionsHeaderText","suggestionsClassName","suggestionsListId","forceResolveButtonSelected","searchForMoreButtonSelected","searchForMoreButton","forceResolveButton","suggestionsAvailable","noSuggestions","spinnerStyles","subComponentStyles","spinner","spinnerClassNameOrStyles","noResults","headerText","footerTitle","hasNoSuggestions","forceResolveId","searchForMoreId","Spinner","hasSuggestedAction","hasSuggestedActionSelected","focusAboveSuggestions","focusBelowSuggestions","focusSearchForMoreButton","scrollTo","offsetTop","parentOffsetHeight","scrollTop","isBelow","removeSuggestionAriaLabel","StyledTypedSuggestionsItem","selectedIndex","hasSelectedSuggestion","createGenericSuggestion","itemToAdd","actionButtonStyles","actionButtonSelectedStyles","circle","inputFocused","inputDisabled","pickerItems","suggestionsType","suggestionElement","SuggestionOfProperType","_styledSuggestions","dismissSuggestions","selectItemFunction","addItemOnDismiss","suggestedDisplayValue","addItemByIndex","resetFocus","setAllSelected","isFocused","_userTriggeredSuggestions","onInputBlur","relatedTarget","_completeGenericSuggestion","onSuggestionSelect","onItemChange","changedItem","newItems","_updateSelectedItems","completeSelection","addItem","removeItem","focusNextItem","removeItems","itemsToRemove","_shouldFocusZoneEnterInnerZone","invalid","_ariaMap","selectedSuggestionAlert","suggestionList","combobox","SuggestionsController","setItems","selectedIndices","getDerivedStateFromProps","newProps","oldState","currentSelectedIndex","getSelectedIndices","setIndexSelected","focusInput","forceComplete","selectionAriaLabel","selectionRole","inputClassName","itemsWrapper","comboLabel","getSuggestionsAlert","renderItems","getActiveDescendant","StyledTypedSuggestions","suggestionsLoading","newEl","querySelectorAll","itemValue","_getTextFromItem","emptyResolveSuggestions","onEmptyResolveSuggestions","_updateAndResolveValue","_getShowSuggestions","resolveNewValue","getSelectedCount","getSelection","suggestionAlertClassName","enableSelectedSuggestionAlert","selectedSuggestion","selectedSuggestionAlertText","_onSelectedItemsUpdated","getTextFromItem","single","itemContent","removeButton","isInvalid","itemId","warning","personaStyles","personaCoinStyles","personaCoin","PeoplePickerItem","personaPrimaryTextStyles","redDark","personaCoinInitialsStyles","msButtonIcon","personaWrapper","PeoplePickerItemSuggestion","textSelectorsStyles","inputBorder","inputBorderHovered","inputFocusBorderAlt","currentValidationState","NormalPeoplePicker","CompactPeoplePicker","ListPeoplePicker","enableTagFocusInDisabledPicker","disabledAttrs","tabindex","TagItem","neutralQuaternaryAlt","suggestionTextOverflow","TagItemSuggestion","TagPicker","useRefEffect","initial","cleanup","onOverflowItemsChanged","rtl","pinnedIndex","updateOverflowRef","containerWidthRef","containerRef","cleanupObserver","ResizeObserver","observe","entries","contentRect","menuButtonRef","menuButton","HTMLElement","minContainerWidth","extraWidth","containerWidth","itemOffsetEnd","offsetLeft","setOverflowIndex","prevOverflowIndex","ele","isOverflowing","pivotId","keyToIndexMapping","keyToTabIdMapping","toArray","pivotItemProps","itemKey","getTabId","PivotBase","focusZoneRef","overflowMenuButtonComponentRef","defaultSelectedKey","setSelectedKey","linkSize","linkFormat","overflowBehavior","linkCollection","renderLinkContent","itemCount","itemIcon","linkContent","renderPivotLink","renderLinkCollection","renderPivotLinkSelectedKey","headerButtonProps","onRenderItemLink","tabId","contentString","linkIsSelected","updateSelectedItem","renderedSelectedKey","getSelectedKey","renderedSelectedIndex","overflowMenuProps","alignTargetEdge","overflowMenuButtonRef","elements","dataset","overflowMenuButton","alwaysRender","isActive","headersOnly","selectedTabId","renderPivotItem","PivotLinkFormat","PivotLinkSize","rootIsLarge","rootIsTabs","linkInMenu","isLinkInOverflowMenu","actionLink","buttonBackgroundHovered","buttonBackgroundPressed","durationValue2","easeFunction2","buttonBackground","outlineOffset","buttonTextCheckedHovered","primaryButtonText","primaryButtonBackgroundHovered","primaryButtonBackgroundPressed","Pivot","inputBackgroundChecked","RatingSize","rootIsSmall","ratingStar","ratingStarBack","ratingStarFront","ratingButton","ratingStarIsSmall","ratingStartIsLarge","labelText","ratingFocusZone","_getColorWithHighContrast","highContrastColor","fillPercentage","unselectedIcon","getStarId","starNum","RatingBase","labelId","ariaLabelFormat","minFromProps","allowZeroStars","onRenderStar","rating","defaultRating","setRating","displayRating","getClampedRating","readOnlyAriaLabel","normalModeAriaLabel","stars","starProps","renderer","ceilValue","ceil","getFillingPercentage","onSelectStar","Large","ratingStarIsLarge","rootSizeClass","defaultActiveElement","Rating","ratingStarUncheckedColor","ratingStarUncheckedHoverColor","ratingStarUncheckedHoverSelectedColor","ratingStarCheckedColor","ratingStarDisabledColor","disabledBodySubtext","ratingSmallIconSize","ratingLargeIconSize","ratingVerticalPadding","contentContainer","ScrollbarVisibility","auto","always","ScrollablePaneContext","scrollablePane","_stickyAboveRef","_stickyBelowRef","_contentContainer","subscribe","handler","_subscribers","unsubscribe","addSticky","_stickies","setDistanceFromTop","sortSticky","removeSticky","_removeStickyFromContainers","notifySubscribers","sortAgain","stickyAbove","stickyBelow","canStickyTop","stickyContentTop","_addToStickyContainer","canStickyBottom","stickyContentBottom","updateStickyRefHeights","stickyItems","stickyTopHeight","stickyBottomHeight","isStickyTop","isStickyBottom","nonStickyContent","_checkStickyStatus","handle","getScrollPosition","syncScrollSticky","syncScroll","_getScrollablePaneContext","stickyContainer","stickyContentToAdd","stickyItem","targetStickyToAppendBefore","distanceFromTop","stickyContent","stickyListItem","targetContainer","insertBefore","_onWindowResize","scrollbarWidth","_getScrollbarWidth","scrollbarHeight","_getScrollbarHeight","_getStickyContainerStyle","isTop","_onScroll","_notifyThrottled","initialScrollPosition","setStickiesDistanceFromTop","_mutationObserver","MutationObserver","mutation","mutationRecord","childList","attributes","subtree","characterData","disconnect","shouldComponentUpdate","nextProps","scrollContainerFocus","scrollContainerAriaLabel","scrollbarVisibility","scrollContainerProps","stickyBelowItems","forceLayoutUpdate","resetSticky","AboveAndBelowStyles","positioningStyle","iconButtonStyles","defaultClearButtonProps","SearchBoxBase","defaultValue","clearButtonProps","disableAnimation","showIcon","customOnClear","customOnBlur","customOnEscape","customOnSearch","customOnKeyDown","onChanged","hasFocus","setHasFocus","uncastValue","setValue","rootElementRef","inputElementRef","customOnClearClick","hasInput","onClear","onClearClick","selectionStart","selectionEnd","field","onInput","clearButton","SearchBox","placeholderStyles","inputPlaceholderText","inputIconAlt","inputIconAltHovered","inputBorderDisabled","inputBackgroundHovered","inputBackgroundDisabled","inputBackground","inputIconHovered","inputIcon","inputIconDisabled","durationValue1","processedItems","processedItemObjects","processedItemPromiseLikes","resolvedProcessedItems","updateItems","_canRemoveItem","replaceItem","itemToReplace","itemsToReplaceWith","itemsCanRemove","firstItemToRemove","onCopyItems","copyItems","isIndexSelected","onCopyItem","itemToCopy","_defaultSelection","focusIndex","copyText","copyInput","select","execCommand","canRemoveItem","ShimmerElementType","ShimmerElementsDefaultHeights","personaContainerIsSelected","validationError","expandButton","contextualMenuVisible","onExpandItem","canExpand","_onClickIconButton","renderPersonaCoin","renderPrimaryText","itemElement","beginEditing","_onCloseContextualMenu","onContextMenu","renderedItem","menuItems","shouldFocusOnMount","_editingFloatingPicker","_renderEditingSuggestions","_editingInput","_resolveInputRef","_onInputClick","_onInputBlur","_onInputChange","onEditingComplete","getEditingItemText","autoCapitalize","_onInputKeyDown","_renderItem","_beginEditing","isEditing","_completeEditing","oldItem","expandGroup","onExpandGroup","_createMenuItems","hasContextMenu","editMenuItemText","menuItem","removeMenuItemText","copyMenuItemText","shimmerWrapper","shimmerGradient","dataWrapper","shimmerAnimation","shimmerAnimationRTL","topLeftCorner","topRightCorner","bottomRightCorner","bottomLeftCorner","ShimmerLine","globalClassNames","borderStyles","sharedCornerStyles","borderTopStyle","borderBottomStyle","ShimmerGap","svg","viewBox","ShimmerCircle","shimmerElements","rowHeight","line","gap","findMaxElementHeight","filteredElem","getElementStyles","getRenderedElements","elementType","elementHeight","dif","borderBottomWidth","borderTopWidth","ShimmerElementsGroup","ShimmerBase","customElementsGroup","shimmerColors","isDataLoaded","transitionAnimationInterval","shimmerColor","shimmer","shimmerWaveColor","shimmerWave","internalState","lastTimeoutId","contentLoaded","setContentLoaded","divStyleProp","Shimmer","disabledBackground","_onRenderShimmerPlaceholder","rowProps","onRenderCustomPlaceholder","placeholderElements","_renderDefaultShimmerPlaceholder","columns","checkboxVisibility","cellStyleProps","compactRowHeight","gapHeight","shimmerElementsRow","column","columnIdx","groupWidth","cellLeftPadding","cellRightPadding","calculatedWidth","isPadded","cellExtraRightPadding","isIconOnly","_shimmerItems","shimmerLines","detailsListStyles","enableShimmer","listProps","removeFadingOverlay","ariaLabelForGrid","ariaLabelForShimmer","restProps","listClassName","newListProps","DetailsList","isPlaceholderData","onRenderMissingItem","ShimmeredDetailsList","whiteTranslucent40","getSlotStyleFn","sty","getPercent","sliderMin","sliderMax","step","showValue","buttonProps","snapToStep","valueFormat","originFromZero","ranged","disposables","sliderLine","latestLowerValue","unclampedValue","lowerValue","defaultLowerValue","lv","latestValue","unclampedLowerValue","setLowerValue","onKeyDownTimer","isAdjustingLowerValue","showTransitions","isBetweenSteps","steps","clearOnKeyDownTimer","setOnKeyDownTimer","getAriaValueText","valueProps","ariaValueText","newUnroundedValue","numDec","isFinite","roundedValue","parseFloat","getPosition","verticalProp","currentPosition","touches","calculateCurrentSteps","currentSteps","sliderPositionRect","stepLength","onMouseMoveOrTouchMove","suppressEventCancelation","newCurrentValue","onMouseDownOrTouchStart","onMouseUpOrTouchEnd","disposeListeners","lowerValueThumbRef","thumbRef","range","getPositionStyles","getTrackStyles","originValue","valuePercent","lowerValuePercent","originPercentOfLine","activeSectionWidth","topSectionWidth","bottomSectionWidth","rootProps","labelProps","titleLabel","htmlFor","valueLabelProps","valueLabel","lowerValueLabelProps","zeroTickProps","zeroTick","trackActiveProps","lineContainer","activeSection","trackTopInactiveProps","inactiveSection","trackBottomInactiveProps","sliderProps","sliderBoxProps","slideBox","onTouchStart","diff","onFocusProp","thumbProps","lowerValueThumbProps","sliderBox","lowerValueLabel","lowerValueThumb","activeTrack","topInactiveTrack","bottomInactiveTrack","SliderBase","slotProps","KeyboardSpinDirection","enabled","row","Slider","titleLabelClassName","pressedActiveSectionColor","inputBackgroundCheckedHovered","hoveredActiveSectionColor","hoveredPressedinactiveSectionColor","inputPlaceholderBackgroundChecked","restActiveSectionColor","smallInputBorder","restInactiveSectionColor","disabledBorder","disabledActiveSectionColor","disabledInactiveSectionColor","thumbBackgroundColor","thumbBorderColor","thumbDisabledBorderColor","slideBoxActiveSectionStyles","slideBoxInactiveSectionStyles","slideHoverSectionStyles","slideBoxActiveThumbStyles","slideBoxActiveZeroTickStyles","forcedColorAdjust","durationValue3","easeFunction1","getDisabledStyles","SpinButtonTextColorDisabled","SpinButtonBackgroundColorDisabled","getArrowButtonStyles","isUpArrow","customSpecificArrowStyles","ArrowButtonTextColor","ArrowButtonTextColorHovered","ArrowButtonTextColorPressed","ArrowButtonBackgroundHovered","ArrowButtonBackgroundPressed","defaultArrowButtonStyles","rootHovered","rootChecked","rootPressed","rootDisabled","labelPosition","incrementButtonIcon","decrementButtonIcon","noOp","clampValue","SpinButtonBase","valueFromProps","precisionFromProps","incrementButtonAriaLabel","decrementButtonAriaLabel","customUpArrowButtonStyles","customDownArrowButtonStyles","ariaPositionInSet","ariaValueNow","onDecrement","onIncrement","iconButtonProps","onValidate","inputId","setIsFocused","notSpinning","keyboardSpinDirection","setKeyboardSpinDirection","precision","intermediateValue","setIntermediateValue","stepTimeoutHandle","latestIntermediateValue","previousValueFromProps","validate","enteredValue","stop","spinningByMouse","stepFunction","persist","wasSpinning","handleIncrement","numericValue","handleDecrement","handleKeyUp","handleIncrementMouseDown","handleDecrementMouseDown","valueIsNumber","labelContent","labelWrapper","spinButtonWrapper","spinDirection","onKeyUp","arrowButtonsContainer","checked","StickyPositionType","SpinButton","SpinButtonRootBorderColor","SpinButtonRootBackgroundColor","SpinButtonRootBorderColorHovered","SpinButtonRootBorderColorFocused","SpinButtonInputTextColor","SpinButtonInputTextColorSelected","SpinButtonInputBackgroundColorSelected","SpinButtonIconDisabledColor","DEFAULT_MIN_WIDTH","_stickyContentTop","_stickyContentBottom","_nonStickyContent","_placeHolder","isScrollSynced","scrollLeft","_getContext","_onScrollEvent","footerStickyContainer","_getNonStickyDistanceFromTop","_getStickyDistanceFromTop","_getStickyDistanceFromTopForFooter","_activeElement","distance","footerStickyVisibleContainer","currElem","stickyPosition","Both","Header","Footer","_isOffsetHeightDifferent","stickyClassName","_getStickyPlaceholderHeight","_getNonStickyPlaceholderHeightAndWidth","_getContentStyles","isSticky","stickyBackgroundColor","_getBackground","curr","getPropertyValue","contextType","currentColor","getColorPickerGridCellButtonClassNames","iconClassName","menuIconClassName","isSplit","rootFocused","rootCheckedDisabled","rootCheckedHovered","rootCheckedPressed","idPrefix","onWheel","isWhite","colorOption","svgClassName","cx","cy","colorCell","cellHighContrastFocus","ColorPickerGridCell","buttonBorderHovered","buttonBorderChecked","buttonBorderCheckedHovered","buttonBorderIsWhite","calculatedBorderWidth","disabledBodyText","SwatchColorPickerBase","isNavigationIdle","cellFocused","navigationIdleTimeoutId","navigationIdleDelay","colorCells","cellShape","cellMargin","defaultSelectedId","focusOnHover","mouseLeaveParentSelector","onColorChanged","onCellHovered","onCellFocused","getColorGridCellStyles","cellHeight","cellWidth","cellBorderWidth","itemsWithIndex","mergedOnChange","newSelectedId","selectedId","setSelectedId","gridStyles","onSwatchColorPickerBlur","parentSelector","setActive","onGridCellHovered","onGridCellFocused","onCellClick","setNavigationTimeout","renderOption","SwatchColorPicker","DEFAULT_MASK_FORMAT_CHARS","parseMask","mask","formatChars","maskCharData","escapedChars","maskChar","charAt","maskFormat","displayIndex","format","getMaskDisplay","maskDisplay","lastDisplayIndex","charData","nextChar","getRightFormatIndex","clearRange","selectionCount","insertString","newString","stringIndex","nextIndex","isStringInserted","DEFAULT_MASK_CHAR","MaskedTextField","moveCursorOnMouseUp","changeSelectionData","maskCursorPosition","setMaskCursorPosition","displayValue","setDisplayValue","valueIndex","charDataIndex","testVal","handleBlur","handleMouseDown","handleMouseUp","handleInputChange","changeType","cursorPos","charsSelected","charCount","startPos","pastedString","isDel","clearNext","clearPrev","getLeftFormatIndex","enteredString","selectCount","handlePaste","setSelectionRange","blur","setSelectionStart","setSelectionEnd","MotionDurations","MotionTimings","MotionAnimations","fadeInAnimationName","fadeOutAnimationName","scaleDownInAnimationName","scaleDownOutAnimationName","slideLeftOutAnimationName","slideRightOutAnimationName","slideLeftInAnimationName","slideRightInAnimationName","slideUpOutAnimationName","slideDownOutAnimationName","slideUpInAnimationName","slideDownInAnimationName","_createAnimation","duration1","duration2","duration3","duration4","accelerate","decelerate","linear","standard","fadeOut","scaleDownIn","scaleDownOut","slideLeftOut","slideRightOut","slideLeftIn","slideRightIn","slideUpOut","slideDownOut","slideUpIn","slideDownIn","FluentTheme","ThemeContext","legacyTheme","useCustomizationSettings","_seed","mergeStylesRenderer","onReset","renderStyles","styleSet","renderFontFace","renderKeyframes","makeStyles","styleOrFunction","graph","Map","contextualTheme","isStyleFunction","graphNode","graphGet","graphSet","useThemeProviderStyles","useThemeProviderClasses","applyTo","classesToApply","applyToBody","classToApply","useApplyClassToBody","customizerContext","getNativeElementProps","CustomizerContext","themeToIdMap","draftState","userTheme","parentTheme","mergedTheme","mergeThemes","themes","customizations","inCustomizerContext","settings","scopedSettings","components","ThemeProvider","useFocusRects","BaseSlots","FabricSlots","SemanticColorSlots","setSlot","rule","isCustomization","overwriteCustomColor","colorAsIColor","ThemeGenerator","_setSlot","insureSlots","slotRules","ruleName","inherits","getThemeAsJson","getThemeAsCode","_makeRemainingCode","getThemeAsCodeWithCreateTheme","getThemeAsSass","output","camelCasedName","toLowerCase","getThemeForPowerShell","outputColor","isCustomized","asShade","isBackgroundShade","dependentRules","ruleToUpdate","themeRulesStandardCreator","_makeFabricSlotRule","slotName","inheritedBase","inheritedShade","thisSlotRule","baseSlot","shadeName","shadeValue","primaryColor","foregroundColor","themeLighterAlt","Shade1","themeLighter","Shade2","Shade3","Shade4","themeSecondary","Shade5","themeDarkAlt","Shade6","Shade7","neutralQuaternary","neutralPrimaryAlt","REGEX_SHOW_SECONDS_HOUR_12","REGEX_HIDE_SECONDS_HOUR_12","REGEX_SHOW_SECONDS_HOUR_24","REGEX_HIDE_SECONDS_HOUR_24","increments","showSeconds","allowFreeform","useHour12","timeRange","hourUnits","getDefaultStrings","onFormatDate","onValidateUserInput","userText","setUserText","optionsCount","timePickerOptions","optionsList","defaultTime","_","option","minutes","setTime","setSeconds","optionText","toLocaleTimeString","hour","minute","second","hour12","formatTimeString","updatedUserText","errorMessageToDisplay","userInput","validateUserInput","onKeyPress","charCode","colon","clampTimeRange","newDefaultTime","clampedTimeRange","setHours","getMinutes","setMinutes","times","hoursInRange","defaultWeeklyDayPickerStrings","prevWeekAriaLabel","nextWeekAriaLabel","defaultWeeklyDayPickerNavigationIcons","_dayGrid","_onSelectDate","_focusOnUpdate","_onNavigateDate","_renderPreviousWeekNavigationButton","prevWeekInBounds","navigationIconButton","_onSelectPrevDateRange","_onButtonKeyDown","_createPreviousWeekAriaLabel","_renderNextWeekNavigationButton","nextWeekInBounds","_onSelectNextDateRange","_createNextWeekAriaLabel","showFullMonth","_navigateDate","_onWrapperKeyDown","_onTouchStart","touch","_initialTouchX","_onTouchMove","isRtl","firstDayOfPreviousWeek","lastDayOfPreviousWeek","_formatDateRange","firstDayOfNextWeek","lastDayOfNextWeek","currentDate","previousShowFullMonth","newAnimationDirection","Vertical","calendarDayGridProps","onTouchMove","WeeklyDayPicker","DetailsRowGlobalClassNames","cellAnimation","cellCheck","check","cellMeasurer","listCellFirstChild","isContentUnselectable","isCheckVisible","isRowHeader","fields","DEFAULT_CELL_STYLE_PROPS","DEFAULT_ROW_HEIGHTS","values","rowVerticalPadding","compactRowVerticalPadding","getDetailsRowStyles","canSelect","droppingClassName","anySelected","checkboxCellClassName","enableUpdateAnimations","colors","defaultHeaderText","defaultMetaText","defaultBackground","defaultHoverHeaderText","defaultHoverMetaText","defaultHoverBackground","selectedHeaderText","selectedMetaText","selectedBackground","selectedHoverHeaderText","selectedHoverMetaText","selectedHoverBackground","focusHeaderText","focusMetaText","focusBackground","focusHoverBackground","selectedStyles","cannotSelectStyles","rootCompactStyles","cellCompactStyles","defaultCellStyles","fadeIn400","cellUnpadded","cellPadded","slideLeftIn40","checkCell","checkCover","wordBreak","_extends","_uniqueId","_parent","_eventRecords","raise","bubbleEvent","retVal","_isElement","createEvent","initEvent","dispatchEvent","createEventObject","evObj","fireEvent","__events__","eventRecords","eventRecordList","listIndex","record","objectCallback","isObserved","isDeclared","declaredEvents","__declaredEvents","cancelBubble","_isDisposed","onAll","eventRecord","processElementEvent","elementCallback","attachEvent","targetArrayLookup","targetArray","detachEvent","declare","historyContext","createContext","createNamedContext","Router","computeRootMatch","params","isExact","_pendingLocation","unlisten","RouterContext","history","staticContext","HistoryContext","React","MemoryRouter","createHistory","Lifecycle","onMount","onUpdate","onUnmount","Prompt","when","method","cache","cacheCount","generatePath","generator","pathToRegexp","compilePath","pretty","Redirect","computedMatch","createLocation","prevLocation","locationsAreEqual","matchPath","exact","strict","sensitive","matched","pathCache","regexp","memo","Route","addLeadingSlash","stripBasename","basename","base","createURL","createPath","staticHandler","methodName","invariant","noop","StaticRouter","handlePush","handleReplace","handleListen","handleBlock","navigateTo","addBasename","createHref","go","goBack","goForward","listen","block","Switch","withRouter","C","wrappedComponentRef","remainingProps","hoistStatics","useContext","useHistory","useLocation","useParams","useRouteMatch","_memoizedClassNames","stylesheet","styleCalcCount","getClassNamesCount","currentMemoizedClassNames","styleFunctionOrObject","styleProps","useStaticStyles","__noStyleOverride__","disableCaching","_traverseMap","specificityMultiplier","FabricConfig","enableClassNameCacheFullWarning","console","trace","_traverseEdge","_normalizeValue","inputs","__cachedInputs__","propName","getParent","allowVirtualParents","parentNode","ElementType","ButtonType","getStyles","primary","splitButtonStyles","compoundButtonStyles","standardCompoundTheme","descriptionHovered","descriptionPressed","descriptionChecked","descriptionDisabled","primaryCompoundTheme","CompoundButton","buttonType","command","compound","PrimaryButton","DefaultButton","MessageBarButton","SPACER_WIDTH","GroupSpacer","indentWidth","ButtonGlobalClassNames","msButton","msButtonHasMenu","msButtonMenuIcon","msButtonLabel","msButtonDescription","msButtonScreenReaderText","msButtonFlexContainer","msButtonTextContainer","getBaseButtonClassNames","rootExpanded","iconExpandedHovered","menuIconExpandedHovered","rootExpandedHovered","rootHasMenu","labelHovered","iconHovered","menuIconHovered","iconPressed","menuIconPressed","iconExpanded","iconChecked","iconDisabled","labelChecked","labelDisabled","menuIconChecked","menuIconDisabled","menuIconExpanded","PanelType","fieldGroup","prefix","suffix","revealButton","multiline","unresizable","active","getLabelStyles","focused","hasLabel","hasIcon","resizable","hasErrorMessage","autoAdjustHeight","hasRevealButton","fieldPrefixSuffix","disabledPlaceholderStyles","resize","revealSpan","revealIcon","_isRTL","getRTL","savedRTL","setRTL","persistSetting","getRTLSafeKeyCode","shallowCompare","filteredAssign","isAllowed","sourceObject","mapEnumByName","theEnum","omit","exclusions","IsFocusVisibleClassName","setFocusVisibility","_defineProperty","writable","LOCATION_CHANGE","onLocationChanged","isFirstRendering","payload","CALL_HISTORY_METHOD","updateLocation","_len","_key","routerActions","ReactReduxContext","batch","nullListeners","notify","createListenerCollection","first","last","listener","listeners","isSubscribed","prev","Subscription","store","parentSub","handleChangeWrapper","_proto","addNestedSub","trySubscribe","notifyNestedSubs","onStateChange","tryUnsubscribe","_ref","contextValue","useMemo","subscription","previousState","getState","useEffect","Context","useIsomorphicLayoutEffect","useLayoutEffect","EMPTY_ARRAY","NO_SUBSCRIPTION_ARRAY","storeStateUpdatesReducer","updateCount","useIsomorphicLayoutEffectWithArgs","effectFunc","effectArgs","dependencies","captureWrapperProps","lastWrapperProps","lastChildProps","renderIsScheduled","wrapperProps","actualChildProps","childPropsFromStoreUpdate","subscribeUpdates","shouldHandleStateChanges","childPropsSelector","forceComponentUpdateDispatch","didUnsubscribe","lastThrownError","checkForUpdates","newChildProps","latestStoreState","initStateUpdates","connectAdvanced","selectorFactory","_ref2","_ref2$getDisplayName","getDisplayName","_ref2$methodName","_ref2$renderCountProp","renderCountProp","_ref2$shouldHandleSta","_ref2$storeKey","storeKey","_ref2$forwardRef","withRef","forwardRef","_ref2$context","connectOptions","_objectWithoutPropertiesLoose","WrappedComponent","wrappedComponentName","selectorFactoryOptions","pure","usePureOnlyMemo","ConnectFunction","_useMemo","propsContext","ContextToUse","Consumer","isContextConsumer","didStoreComeFromProps","dispatch","createChildSelector","_useMemo2","overriddenContextValue","_useReducer","useReducer","previousStateUpdateResult","useRef","renderedWrappedComponent","Connect","forwarded","is","shallowEqual","objA","objB","keysA","keysB","wrapMapToPropsConstant","getConstant","constant","constantSelector","dependsOnOwnProps","getDependsOnOwnProps","mapToProps","wrapMapToPropsFunc","proxy","stateOrDispatch","ownProps","mapDispatchToProps","bindActionCreators","mapStateToProps","defaultMergeProps","stateProps","dispatchProps","mergeProps","mergedProps","areMergedPropsEqual","hasRunOnce","nextMergedProps","wrapMergePropsFunc","impureFinalPropsSelectorFactory","pureFinalPropsSelectorFactory","areStatesEqual","areOwnPropsEqual","areStatePropsEqual","hasRunAtLeastOnce","handleSubsequentCalls","nextOwnProps","propsChanged","stateChanged","nextStateProps","statePropsChanged","handleNewState","finalPropsSelectorFactory","initMapStateToProps","initMapDispatchToProps","initMergeProps","factories","strictEqual","createConnect","_temp","_ref$connectHOC","connectHOC","_ref$mapStateToPropsF","mapStateToPropsFactories","defaultMapStateToPropsFactories","_ref$mapDispatchToPro","mapDispatchToPropsFactories","defaultMapDispatchToPropsFactories","_ref$mergePropsFactor","mergePropsFactories","defaultMergePropsFactories","_ref$selectorFactory","defaultSelectorFactory","_ref3","_ref3$pure","_ref3$areStatesEqual","_ref3$areOwnPropsEqua","_ref3$areStatePropsEq","_ref3$areMergedPropsE","extraOptions","useReduxContext","createStoreHook","useDefaultReduxContext","useStore","createDispatchHook","useDefaultStore","useDispatch","refEquality","createSelectorHook","selector","equalityFn","_useReduxContext","contextSub","selectedState","forceRender","latestSubscriptionCallbackError","latestSelector","latestSelectedState","stack","newSelectedState","useSelectorWithStoreAndSubscription","newBatch","useSelector","FocusZoneDirection","FocusZoneTabbableElements","inputOnly","_getThemedSpacing","spacing","_getValueUnitGap","numericalPart","numericalValue","numericalString","unit","parsePadding","paddingValues","padding1","padding2","nameMap","StackStatics","Item","StackItem","Stack","createComponent","RootType","disableShrink","wrap","stackChildren","defaultItemProps","shrink","Slots","tokens","verticalFill","reversed","grow","horizontalAlign","childrenGap","rowGap","columnGap","splitGap","calculatedGap","parseGap","horizontalMargin","verticalMargin","childStyles","commonSelectors","statics","isContained","nextParent","ContextualMenuItemType","Label","labelFontWeight","labelColor","labelDisabledColor","labelRequiredStarColor","_global","_initializedStylesheetResets","resetIds","counter","_onMount","_onUpdate","_onUnmount","_setComponentRef","equals","rect","_classCallCheck","instance","Constructor","_defineProperties","_createClass","protoProps","staticProps","packagesCache","_win","setVersion","packageName","packageVersion","packages","__packages__","excluded","sourceKeys","NO_CUSTOMIZATIONS","_allSettings","getValue","_stylesheet","InjectionMode","insertNode","REUSE_STYLE_NODE","navigator","userAgent","config","_rules","_preservedRules","_rulesToInsert","_counter","_keyToClassName","_onResetCallbacks","_classNameToArgs","_config","injectionMode","defaultPrefix","namespace","cspSettings","classNameCache","_lastStyleElement","fabricConfig","setConfig","cacheClassName","rules","classNameFromKey","getClassNameCache","argsFromClassName","entry","insertedRulesFromClassName","insertRule","preserve","_getStyleElement","sheet","cssRules","createTextNode","onInsertRule","getRules","includePreservedRules","resetKeys","_styleElement","_createStyleElement","head","styleElement","nonce","placeholderStyleTag","_findPlaceholderStyleTag","childNodes","SelectAllVisibility","_scrollbarWidth","_bodyScrollDisabledCount","DisabledScrollClassName","DATA_IS_SCROLLABLE_ATTRIBUTE","allowScrollOnElement","_previousClientY","_element","targetTouches","passive","scrollableParent","findScrollableParent","allowOverscrollOnElement","_disableIosBodyScroll","disableBodyScroll","capture","enableBodyScroll","getScrollbarWidth","scrollDiv","setProperty","startingElement","computedStyles","isAbsolute","spliceOne","resolvePathname","hasTrailingSlash","toParts","fromParts","isToAbs","isFromAbs","mustEndAbs","part","valueEqual","every","aValue","bValue","stripLeadingSlash","hasBasename","stripTrailingSlash","search","currentLocation","hashIndex","searchIndex","parsePath","decodeURI","URIError","createTransitionManager","prompt","setPrompt","nextPrompt","confirmTransitionTo","getUserConfirmation","appendListener","notifyListeners","canUseDOM","getConfirmation","confirm","getHistoryState","createBrowserHistory","globalHistory","canUseHistory","ua","supportsHistory","needsHashChangeListener","_props","_props$forceRefresh","forceRefresh","_props$getUserConfirm","_props$keyLength","keyLength","getDOMLocation","historyState","_window$location","createKey","transitionManager","handlePopState","isExtraneousPopstateEvent","handlePop","handleHashChange","forceNextPop","ok","fromLocation","toLocation","toIndex","allKeys","revertPop","initialLocation","listenerCount","checkDOMListeners","pushState","prevIndex","nextKeys","replaceState","unblock","HashPathCoders","hashbang","encodePath","decodePath","noslash","slash","stripHash","getHashPath","replaceHashPath","createHashHistory","_props$hashType","hashType","_HashPathCoders$hashT","ignorePath","encodedPath","allPaths","lastIndexOf","baseTag","pushHashPath","nextPaths","lowerBound","upperBound","createMemoryHistory","_props$initialEntries","initialEntries","_props$initialIndex","initialIndex","nextEntries","canGo","isBuffer","isArrayBuffer","isFormData","FormData","isArrayBufferView","ArrayBuffer","isView","buffer","isFile","isBlob","isStream","pipe","isURLSearchParams","URLSearchParams","isStandardBrowserEnv","product","merge","assignValue","deepMerge","extend","condition","_setPrototypeOf","o","_inheritsLoose","subClass","superClass","_buttonElement","_splitButtonContainer","_mergedRef","_renderedVisibleMenu","_getMemoizedMenuButtonKeytipProps","imageProps","_onRenderTextContents","_onRenderText","_onRenderDescription","_hasText","_labelId","_onRenderChildren","_onRenderAriaDescription","_onRenderMenuIcon","_onRenderMenu","persistMenu","menuHidden","MenuType","menuAs","labelElementId","shouldFocusOnContainer","_menuShouldFocusOnContainer","_menuShouldFocusOnMount","_isSplitButton","_onDismissMenu","_dismissMenu","_openMenu","_onToggleMenu","_onSplitContainerFocusCapture","_onSplitButtonPrimaryClick","_processingTouch","_onMenuClick","_onMenuKeyDown","_onKeyUp","_onMouseUp","_onSplitButtonContainerKeyDown","click","isUp","isDown","_isValidMenuOpenKey","onMenuClick","_handleTouchAndPointerEvent","detail","pointerType","toggled","primaryDisabled","toggle","isPrimaryButtonDisabled","renderAsAnchor","tag","resolvedAriaLabel","dataIsFocusable","isCheckboxTypeRole","checkedOrPressedValue","_onRenderSplitButtonContent","_onPointerDown","onPointerUp","openMenu","onRenderChildren","onRenderMenu","Button","keytipAttributes","_shouldRenderMenu","Content","renderPersistedMenuHiddenOnMount","getSplitButtonClassNames","primaryActionButtonProps","onPointerDown","containerProps","SplitButton","splitButtonContainer","_onRenderSplitButtonMenuButton","_onRenderSplitButtonDivider","splitButtonMenuProps","splitButtonAriaLabel","splitButtonProps","stopImmediatePropagation","_lastTouchTimeoutId","menuTriggerKeyCode","baseClassName","noOutline","iconStyle","buttonBorder","buttonHighContrastFocus","_getPrototypeOf","getPrototypeOf","_isNativeReflectConstruct","construct","sham","Proxy","_typeof","_possibleConstructorReturn","assertThisInitialized","_createSuper","Derived","Super","NewTarget","_inherits","defaultButtonStyles","SpinnerSize","SpinnerType","_timeoutIds","_immediateIds","_intervalIds","_animationFrameIds","_onErrorHandler","_noop","clearImmediate","clearInterval","_logError","setImmediate","immediateId","setInterval","intervalId","wait","lastResult","lastArgs","waitMS","trailing","lastExecuteTime","userCall","waitLength","noOpFunction","cancel","flush","pending","maxWait","lastCallTime","markExecuted","time","invokeFunction","executeImmediately","maxWaitDelta","maxWaitExpired","resultFunction","animationFrameId","animationFrameCallback","_createPositionData","isAuto","DirectionalDictionary","_isRectangleWithinBounds","_getOutOfBoundsEdges","outOfBounds","_getEdgeValue","edge","_setEdgeValue","_getCenterValue","edges","_getFlankingEdges","positiveEdge","negativeEdge","_getRelativeEdgeValue","_getRelativeRectEdgeValue","_getRelativeEdgeDifference","hostRect","_moveEdge","difference","_alignEdges","_isEdgeInBounds","_adjustFitWithinBounds","bounding","positionData","elementEstimate","elementRectangle","directions","currentEstimate","currentEdge","currentAlignment","_estimatePosition","_flipToFit","flippedElementEstimate","oppositeEdge","_flipAlignmentEdge","_alignOutOfBoundsEdges","outOfBoundsEdges","_centerEdgeToPoint","point","elementToPosition","estimatedElementPosition","elementEdge","adjustedGap","_alignOppositeEdges","_finalizeReturnEdge","returnEdge","_calculateActualBeakWidthInPixels","_getPositionData","previousPositions","positionInformation","getClosestEdge","targetCenter","boundingCenter","_positionElementWithinBounds","_finalizeBeakPosition","positionedBeak","actualElement","closestEdge","_positionBeak","targetRectangle","beakTargetPoint","elementBounds","_getRectangleFromElement","clientRect","_getRectangleFromIRect","_getMaxHeightFromTargetRectangle","_positionElementRelative","targetRect","rectOrPoint","_getTargetRect","_getAlignmentData","positionedElement","_finalizePositionData","doNotFinalizeReturnEdge","elementEdgeString","_finalizeElementPosition","_positionCallout","positionProps","finalizedBeakPosition","positionElement","_positionElement","positionCallout","positionCard","_positionCard","getMaxHeight","mouseTarget","elementTarget","rectOrPointTarget","boundingRectangle","getOppositeEdge","getBoundsFromTargetWindow","segments","getWindowSegments","segment","_getBoundsFromTargetWindow","depComments","baseTheme","ContextualMenuItem","DefaultFields","baseStyles","getProps","Wrapped","customizedStyles","concatenatedStyles","pureComponent","_rtl","getStyleOptions","getIconContent","mergeImageProps","FontIcon","iconContent","accessibleName","finalChildren","getFontIcon","MS_ICON","isPlaceholder","isImage","imageContainer","createSelectors","structure","getIn","toJS","getRouter","router","getLocation","getAction","getSearch","getHash","createMatchSelector","lastPathname","lastMatch","ReferenceError","_assertThisInitialized","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","_objectSpread","injectQuery","query","searchQuery","currentQuery","_currentQuery$split2","createConnectRouter","fromJS","initialRouterState","_toConsumableArray","arr2","_arrayWithoutHoles","iter","_iterableToArray","_nonIterableSpread","routerMiddleware","_action$payload","ConnectedRouter","_PureComponent","inTimeTravelling","_getLocation","pathnameInStore","searchInStore","hashInStore","stateInStore","_history$location","pathnameInHistory","searchInHistory","hashInHistory","stateInHistory","handleLocationChange","noInitialPop","_this$props","PureComponent","propTypes","PropTypes","shape","string","oneOfType","bool","ConnectedRouterWithContext","connect","_onLocationChanged","createConnectedRouter","plainStructure","connectRouter","_createSelectors","CHECK_CELL_WIDTH","checkHost","_vendorSettings","autoPrefixNames","prefixRules","rulePairs","vendorSettings","nav","isWebkit","isMoz","isOpera","isMs","getVendorSettings","NON_PIXEL_NUMBER_PROPS","LEFT","RIGHT","NAME_REPLACEMENTS","VALUE_REPLACEMENTS","extractRules","partStart","parens","plugin","defItemCtx","_self","_nextProxy","_hasProcessTelemetry","processTelemetry","_hasSetNext","setNextPlugin","_hasRun","getPlugin","getNext","setNext","nextPlugin","env","itemCtx","hasRun","diagLog","throwInternal","CRITICAL","PluginException","identifier","_createProxyChain","plugins","proxies","lastProxy","thePlugin","newProxy","core","startAt","_copyProxyChain","srcPlugins","_copyPluginChain","logger","DiagnosticLogger","getCfg","getExtCfg","theConfig","extConfig","extensionConfig","getConfig","theValue","hasNext","processNext","createNew","ProcessTelemetryContext","WindowContext","useWindow","useDocument","WindowProvider","mergedCallback","refs","unmountFunction","unmountRef","methods","splitButtonDividerBaseStyles","borderRightWidth","borderLeftWidth","splitButtonContainerHovered","buttonTextDisabled","splitButtonContainerChecked","splitButtonContainerCheckedHovered","splitButtonContainerFocused","splitButtonMenuButton","splitButtonDivider","splitButtonDividerDisabled","splitButtonMenuButtonDisabled","splitButtonFlexContainer","splitButtonContainerDisabled","splitButtonMenuFocused","findIndex","find","createArray","getItem","toMatrix","removeIndex","replaceElement","newElement","copy","addElementAtIndex","flatten","arraysEqual","array1","array2","ScrollToMode","center","Function","CONTEXTUAL_MENU_ITEM_HEIGHT","getItemHighContrastStyles","getMenuItemStyles","ContextualMenuItemBackgroundHoverColor","ContextualMenuItemTextHoverColor","ContextualMenuItemBackgroundSelectedColor","ContextualMenuItemDividerColor","menuItemStyles","anchorLink","textRendering","letterSpacing","wordSpacing","textTransform","textIndent","textShadow","iconColor","checkmarkIcon","subMenuIcon","sequenceMapping","_instance","init","addParentOverflow","_getUniqueKtp","update","newKeytipProps","oldKeyTip","keytipToRemove","enterKeytipMode","exitKeytipMode","parentKeytip","rootMaximizeFrame","imageCenter","imageContain","imageCover","imageCenterContain","imageCenterCover","imageNone","imageLandscape","imagePortrait","maximizeFrame","isLoaded","isLandscape","isCenter","isContain","isCover","isCenterContain","isCenterCover","isNone","isError","isNotImageFit","ImageFitStyles","supportsObjectFit","msMaxTouchPoints","fallbackObjectFitStyles","objectFit","Depths","depth0","depth4","depth8","depth16","depth64","_defaultHostSelector","_layersByHostId","registerLayer","hostId","unregisterLayer","notifyHostChanged","getDefaultTarget","mountCounters","setMountCounters","currValue","disableFocusRects","FocusRects","memoizer","outer","innerMemoizer","innerProps","outerProps","strUndefined","globalThis","global","gbl","getGlobal","hasWindow","getGlobalInst","hasDocument","JSON","hasJSON","LoggingSeverity","_InternalMessageId","BrowserDoesNotSupportLocalStorage","BrowserCannotReadLocalStorage","BrowserCannotReadSessionStorage","BrowserCannotWriteLocalStorage","BrowserCannotWriteSessionStorage","BrowserFailedRemovalFromLocalStorage","BrowserFailedRemovalFromSessionStorage","CannotSendEmptyTelemetry","ClientPerformanceMathError","ErrorParsingAISessionCookie","ErrorPVCalc","ExceptionWhileLoggingError","FailedAddingTelemetryToBuffer","FailedMonitorAjaxAbort","FailedMonitorAjaxDur","FailedMonitorAjaxOpen","FailedMonitorAjaxRSC","FailedMonitorAjaxSend","FailedMonitorAjaxGetCorrelationHeader","FailedToAddHandlerForOnBeforeUnload","FailedToSendQueuedTelemetry","FailedToReportDataLoss","FlushFailed","MessageLimitPerPVExceeded","MissingRequiredFieldSpecification","NavigationTimingNotSupported","OnError","SessionRenewalDateIsZero","SenderNotInitialized","StartTrackEventFailed","StopTrackEventFailed","StartTrackFailed","StopTrackFailed","TelemetrySampledAndNotSent","TrackEventFailed","TrackExceptionFailed","TrackMetricFailed","TrackPVFailed","TrackPVFailedCalc","TrackTraceFailed","TransmissionFailed","FailedToSetStorageBuffer","FailedToRestoreStorageBuffer","InvalidBackendResponse","FailedToFixDepricatedValues","InvalidDurationValue","TelemetryEnvelopeInvalid","CreateEnvelopeError","CannotSerializeObject","CannotSerializeObjectNonSerializable","CircularReferenceDetected","ClearAuthContextFailed","ExceptionTruncated","IllegalCharsInName","ItemNotInArray","MaxAjaxPerPVExceeded","MessageTruncated","NameTooLong","SampleRateOutOfRange","SetAuthContextFailed","SetAuthContextFailedAccountName","StringValueTooLong","StartCalledMoreThanOnce","StopCalledWithoutStart","TelemetryInitializerFailed","TrackArgumentsNotSpecified","UrlTooLong","SessionStorageBufferFull","CannotAccessCookie","IdTooLong","InvalidEvent","FailedMonitorAjaxSetRequestHeader","SendBrowserInfoOnUserInit","checkDCE","__REACT_DEVTOOLS_GLOBAL_HOOK__","process","_isSSR","setSSR","isEnabled","DirectionalKeyCodes","isDirectionalKeyCode","addDirectionalKeyCode","FastCheck","useFastIcons","_defaultCheckboxRender","checkboxProps","_fastDefaultCheckboxRender","DetailsRowCheck","onRenderDetailsCheckbox","defaultCheckboxRender","onRenderCheckbox","detailsCheckboxProps","componentName","deprecationMap","tooltipHost","cellIsCheck","collapseButton","isAllSelected","isSelectAllHidden","isResizingColumn","cellSizer","isResizing","dropHintCircleStyle","dropHintCaretStyle","dropHintLineStyle","cellTitle","cellName","filterChevron","gripperBarVertical","checkTooltip","HEADER_HEIGHT","getCellStyles","isSizing","isAllCollapsed","iconForegroundColor","headerForegroundColor","headerBackgroundColor","resizerColor","cellSizerFadeInStyles","cellStyles","cellWrapperPadded","cellIsGroupExpander","cellIsActionable","listHeaderBackgroundHovered","listHeaderBackgroundPressed","cellIsEmpty","cellIsResizing","cellSizerStart","cellSizerEnd","sizingOverlay","accessibleLabel","dropHintStyle","transitionKeysAreEqual","key1","key2","mod1","mod2","transitionKeysContain","getDividerClassNames","getSplitButtonVerticalDividerClassNames","isChecked","linkContentMenu","splitMenu","getItemClassNames","isAnchorLink","knownIcon","itemClassName","dividerClassName","subMenuClassName","splitPrimary","splitContainer","getItemStyles","sessionStorage","setItem","standardStyles","buttonBackgroundDisabled","buttonTextChecked","splitButtonMenuButtonChecked","splitButtonMenuButtonExpanded","splitButtonMenuIcon","splitButtonMenuIconDisabled","primaryStyles","primaryButtonTextHovered","primaryButtonTextPressed","primaryButtonTextDisabled","primaryButtonBackgroundDisabled","FileTypeIconMap","accdb","extensions","archive","audio","channelfolder","csv","docset","docx","dotx","email","exe","folder","font","genericfile","html","linkedfolder","splist","model","mpp","mpt","onetoc","pdf","photo","photo360","potx","powerbi","ppsx","pptx","presentation","pub","spo","sponews","spreadsheet","rtf","sharedfolder","sway","sysfile","txt","vaultclosed","vaultopen","vector","video","video360","vsdx","vssx","vstx","xlsx","xltx","xml","xsn","zip","Separator","alignContent","alignStart","alignCenter","alignEnd","Toggle","inlineLabel","onOffMissing","pillUncheckedBackground","pillCheckedBackground","pillCheckedHoveredBackground","thumbUncheckedHoveredBackground","pillCheckedDisabledBackground","thumbBackground","thumbCheckedBackground","inputForegroundChecked","thumbDisabledBackground","thumbCheckedDisabledBackground","pillBorderColor","pillBorderHoveredColor","pillBorderDisabledColor","textDisabledColor","order","pill","DEFAULT_PILL_HEIGHT","DEFAULT_THUMB_SIZE","providedId","buildKeytipConfigMap","configMap","constructKeytip","parentSequence","sequence","optionalProps","CollapseAllVisibility","mergeSettings","oldSettings","newSettings","_isSettingsFunction","_settingsMergeWith","mergeScopedSettings","IconType","ResponsiveMode","_defaultMode","_lastMode","RESPONSIVE_MAX_CONSTRAINT","setResponsiveMode","initializeResponsiveMode","currentWindow","getResponsiveMode","getInitialResponsiveMode","ComposedComponent","resultClass","_onResize","_updateComposedComponentRef","unknown","dest","warnConditionallyRequiredProps","requiredProps","conditionalPropName","alignMap","align","contentWrapper","headerWrapper","isFixed","isHorizontalConstrained","listCell","listText","focusZone","reactIs","REACT_STATICS","childContextTypes","contextTypes","getDefaultProps","getDerivedStateFromError","mixins","KNOWN_STATICS","caller","callee","arity","MEMO_STATICS","compare","TYPE_STATICS","getStatics","isMemo","ForwardRef","Memo","getOwnPropertyNames","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","targetStatics","sourceStatics","concatStyleSets","styleSets","mergedSet","workingSubcomponentStyles","currentSet","currentComponentStyles","subCompProp","mergedValue","mergedSubStyles","methodNames","_makeSafe","_makeAllSafe","BaseComponent","_updateComponentRef","__disposables","disposable","__className","exec","__async","__events","_resolveRef","refName","__resolves","_warnDeprecations","_warnMutuallyExclusive","mutuallyExclusiveMap","_warnConditionallyRequiredProps","_skipComponentRefResolution","classMethod","prototypeMethod","nullRender","isIE11","isRendered","only","firstBumper","lastBumper","previouslyFocusedElementOutsideTrapZone","previouslyFocusedElementInTrapZone","disposeFocusHandler","disposeClickHandler","unmodalize","currentDisabledValue","focusPreviouslyFocusedInnerElement","enableAriaHiddenSiblings","bumperProps","focusSelector","firstFocusableChild","firstChild","onBumperFocus","isFirstBumper","currentBumper","nextFocusable","onRootBlurCapture","onRootFocusCapture","returnFocusToInitiator","focusStack","forceFocusInTrap","focusedElement","forceClickInTrap","clickedElement","updateEventHandlers","parentRoot","newForceFocusInsideTrap","newDisabled","useUnmount","previouslyFocusedElement","useComponentRef","EMPTY_RECT","_measurePageRect","_measureSurfaceRect","_measureScrollRect","_surface","_pageRefs","_getDerivedStateFromProps","renderCount","startIndex","version","_resetRequiredWindows","_requiredRect","_measureVersion","_invalidatePageCache","_updatePages","_onRenderRoot","surfaceElement","_onRenderSurface","surfaceRef","pageElements","_onRenderPage","pageProps","cellRole","getKey","ignoreScrollingState","isScrolling","pages","_estimatedPageHeight","_totalEstimates","_requiredWindowsAhead","_requiredWindowsBehind","_onAsyncScroll","_onAsyncIdle","_onAsyncResize","_onScrollingDone","_cachedPageHeights","_focusedIndex","_pageCache","measureItem","scrollToMode","endIndex","_getRenderCount","allowedRect","_allowedRect","itemsPerPage","pageSpecification","_getPageSpecification","pageHeight","_scrollElement","scrollRect","scrollWindow","itemPositionWithinPage","itemIndexInPage","scrollBottom","getStartItemIndexInView","page","isSpacer","_scrollTop","totalRowHeight","_onFocus","finalProps","finalState","getPageHeight","_updatePageMeasurements","_materializedRect","_hasCompletedFirstRender","onPagesUpdated","newState","oldPages","newPages","oldPage","newPage","_updateRenderRects","getTotalListHeight","_surfaceRect","onRenderSurface","onRenderRoot","_renderPage","finalOnRenderSurface","_shouldVirtualize","onShouldVirtualize","cachedPage","usePageCache","pageElement","pageStyle","_getPageStyle","newRef","getPageStyle","indexString","innerRect","outerRect","renderedWindowsAhead","renderedWindowsBehind","requiredWindowsAhead","requiredWindowsBehind","windowsAhead","windowsBehind","newListState","_buildPages","oldListPages","_notifyPageChanges","onPageAdded","onPageRemoved","renderedIndexes","_onPageAdded","_onPageRemoved","heightChanged","_measurePage","hasChangedHeight","cachedHeight","measureVersion","newClientRect","materializedRect","pageTop","currentSpacer","focusedIndex","shouldVirtualize","isFirstRender","pageData","newRect","pageBottom","isPageRendered","isPageInAllowedRange","isPageInRequiredRange","itemsInPage","_createPage","_visibleRect","SPACER_KEY_PREFIX","visibleRect","getPageSpecification","_getItemCountForPage","_getPageHeight","visibileRect","getItemCountForPage","pageKey","surfaceRect","_scrollHeight","visibleTop","_expandRect","containsFocus","pagesBefore","pagesAfter","_arrayLikeToArray","msgId","msg","isUserAct","properties","messageId","_InternalLogMessage","AiUserActionablePrefix","AiNonUserActionablePrefix","strProps","stringify","diagnosticText","sanitizeDiagnosticText","dataType","queue","AIInternalMessagePrefix","_messageCount","_messageLogged","enableDebugExceptions","consoleLoggingLevel","telemetryLoggingLevel","maxInternalMessageLimit","loggingLevelConsole","loggingLevelTelemetry","maxMessageLimit","severity","messageKey","WARNING","warnToConsole","logInternalMessage","log","resetInternalMessageCount","_areInternalMessagesThrottled","logMessage","throttleLimitMessage","throttleMessage","callbackRef","BrowserRouter","HashRouter","resolveToLocation","normalizeToLocation","forwardRefShim","LinkAnchor","innerRef","ex","isModifiedEvent","NavLink","activeClassName","activeStyle","classNameProp","isActiveProp","locationProp","styleProp","escapedPath","classnames","joinClassnames","_registerFontFace","localFontName","localFontSrc","fontDisplay","_registerFontFaceSet","cdnFolder","cdnFontName","urlBase","registerDefaultFontFaces","fontUrl","fontBaseUrl","_getFontBaseUrl","defaultFontFamily","LanguageToFontMap","ar","bg","cs","et","he","hi","hr","hu","ja","kk","ko","lt","pl","ru","sk","th","tr","uk","vi","hy","ka","_createFont","weight","createFontStyles","localeCode","localizedFont","language","lang","_getLocalizedFontFamily","fontFamilyWithFallback","partialTheme","accent","defaultFontStyle","globalObj","_getCallbacks","_getGlobalSettings","scopeName","useForceUpdate","unobserve","getSettings","_onImageLoadingStateChange","imageLoadError","imageErrorAs","iconType","iconContentChildren","ImageType","finalIconContentChildren","SVG_REGEX","ImageBase","frameElement","imageElement","setLoadState","naturalWidth","naturalHeight","complete","onImageLoaded","onImageError","useLoadState","loading","coverStyle","previousLoadState","contain","centerContain","centerCover","desiredRatio","landscape","portrait","computeCoverStyle","useCoverStyle","appendFunction","functions","f","ANIMATIONS","slideUpIn10","slideDownIn10","slideLeftIn10","slideRightIn10","BEAK_ORIGIN_POSITION","ARIA_ROLE_ATTRIBUTES","preventDismissOnResize","usePositions","calloutElement","expectsTarget","CalloutContentBase","calloutMaxWidth","calloutMinWidth","hideOverflow","calloutMaxHeight","onScroll","shouldRestoreFocus","cachedBounds","useBounds","setMaxHeight","calloutMainElem","scrollDiff","currentHeightOffset","dismissOnTargetClick","shouldDismissOnWindowFocus","preventDismissOnEvent","isMouseDownOnPopup","mouseDownHandlers","positionsExists","dismissOnClickOrScroll","dismissOnResize","isEventTargetOutsideCallout","dismissOnTargetWindowBlur","disposablesPromise","useDismissHandlers","mouseDownOnPopup","mouseUpOnPopup","hasPositions","overflowYHidden","beakVisible","overflowStyle","visibilityStyle","getBeakPosition","onRestoreFocus","previousProps","shouldUpdateWhenHidden","beakPositionStyle","filteredEventProps","LayerBase","layerElement","setLayerElement","refLayerElement","eventBubblingEnabled","onLayerWillUnmount","insertFirst","isNotHost","removeLayerElement","createLayerElement","getElementById","defaultHostSelector","getHost","getFilteredEvents","onFilterEvent","eventPhase","Event","BUBBLING_PHASE","getFabricTheme","FabricBase","applyTheme","applyThemeToBody","bodyThemed","useApplyThemeToBody","contextDir","pageDir","componentDir","rootDir","needsTheme","getDir","renderedContent","useRenderedContent","mergeCustomizations","parentContext","renderItemIcon","hasIcons","renderCheckMarkIcon","onCheckmarkClick","isItemChecked","canCheck","renderItemName","renderSecondaryText","renderSubMenuIcon","submenuIconProps","openSubMenu","getSubmenuTarget","submenuTarget","dismissSubMenu","dismissAll","renderContent","_renderLayout","defaultRenders","warnMutuallyExclusive","exclusiveMap","CheckBase","IconComponent","CheckboxBase","checkmarkIconProps","boxSide","mergedRootRefs","inputRef","defaultChecked","setIsChecked","indeterminate","defaultIndeterminate","isIndeterminate","setIsIndeterminate","checkBoxRef","isUsingCustomLabelRender","onRenderLabel","defaultLabelRenderer","ariaChecked","mergedInputProps","checkbox","checkmark","getOptionId","findOption","ChoiceGroupBase","optionsContainIconOrImage","keyChecked","setKeyChecked","keyFocused","setKeyFocused","optionToFocus","elementToFocus","onOptionChange","evt","__browserNeedsRevealButton","_textElement","validateOnFocusIn","_validate","validateOnFocusOut","_onRenderLabel","_onRevealButtonClick","isRevealingPassword","previousValue","_getValue","_lastChangeValue","_isControlled","uncontrolledValue","_fallbackId","COMPONENT_NAME","_warnControlledUsage","_delayedValidate","deferredValidationTime","_lastValidation","_adjustInputHeight","validateOnLoad","getSnapshotBeforeUpdate","snapshot","_shouldValidateAllChanges","canRevealPassword","revealPasswordAriaLabel","onRenderPrefix","_onRenderPrefix","onRenderSuffix","_onRenderSuffix","_errorMessage","isEdge","_browserNeedsRevealButton","_renderTextArea","_renderInput","_isDescriptionAvailable","_renderErrorMessage","componentId","valueProp","defaultValueProp","onChangeProp","readOnlyProp","_hasWarnedNullValue","textAreaProps","_latestValidateValue","onGetErrorMessage","_notifyAfterValidate","onNotifyValidationResult","isControlled","DetailsHeader","defaultOnRenderHeader","_onRenderFilterIcon","columnProps","_onRenderColumnHeaderTooltip","hostClassName","_onColumnClick","onColumnClick","columnActionsMode","_onDragStart","_updateHeaderDragInfo","borderWhileDragging","noBorderWhileDragging","_onDragEnd","setDraggedItemIndex","updateDragInfo","_onColumnContextMenu","onColumnContextMenu","_onRootMouseDown","columnIndex","isDraggable","onRenderColumnHeaderTooltip","headerClassName","isEmpty","isIconVisible","isSorted","isGrouped","isFiltered","transitionDurationDrag","transitionDurationDrop","onRenderFilterIcon","onRenderHeader","hasInnerButton","accNameDescription","_hasAccessibleLabel","isSortedDescending","draggable","gripperBarVerticalStyle","cellTooltip","hasDropdown","isMenuOpen","nearIcon","sortIcon","_renderAccessibleLabel","dragDropHelper","_addDragDropHandling","isDropped","borderAfterDropping","noBorderAfterDropping","TRANSITION_DURATION_DROP","_dragDropSubscription","_getColumnDragDropOptions","selectionIndex","canDrag","canDrop","onDragStart","updateDropState","onDrop","onDragEnd","filterAriaLabel","sortAscendingAriaLabel","sortDescendingAriaLabel","groupAriaLabel","ROW_HEIGHT","COMPACT_ROW_HEIGHT","dragDropEvents","eventsToRegister","viewport","dividerProps","onToggleSelectGroup","_onToggleSelectGroup","onToggleCollapse","_onToggleCollapse","onToggleSummarize","_onToggleSummarize","headerProps","showAllProps","footerProps","groupNestingDepth","_getGroupNestingDepth","showEmptyGroups","finalListProps","_getGroupKey","getGroupItemLimit","onRenderGroupShowAll","onRenderShowAll","onRenderGroupFooter","onRenderFooter","groupedListClassNames","_getDefaultGroupItemLimit","_getGroupItemLimit","_getGroupHeight","getGroupHeight","pageGroup","_updateIsSomeGroupExpanded","toggleRangeSelected","_isInnerZoneKeystroke","isShowingAll","_isSomeGroupExpanded","_computeIsSomeGroupExpanded","listVersion","shouldForceUpdates","isAllGroupsCollapsed","_setGroupsCollapsedState","rootListProps","shouldEnterInnerZone","_returnOne","_forceListUpdates","toggleCollapseAll","allCollapsed","onToggleCollapseAll","level","groupsInLevel","onGroupExpandStateChanged","newIsSomeGroupExpanded","isHeaderVisible","_subGroupRefs","_droppingClassName","_onRenderGroupHeader","_onRenderGroupShowAll","_onRenderGroupFooter","_renderSubGroup","subGroup","subGroupIndex","nestingDepth","GroupedListSection","_getGroupDragDropOptions","eventMap","_updateDroppingState","onDragEnter","onDragLeave","onDragOver","newIsDropping","isDropping","isRangeSelected","_onSelectionChange","isShowAllVisible","hasMoreData","hasNestedGroups","groupLevel","ariaControlsProps","groupedListId","groupHeaderProps","groupShowAllProps","groupFooterProps","canDragGroups","_getDroppingClassName","_onRenderGroup","forceListUpdate","subGroupCount","pageRefs","_onRenderGroupCell","groupIsDropping","ariaLive","styleSize","DetailsRow","NO_COLUMNS","_cellMeasurer","_onSelectionChanged","selectionState","getSelectionState","_droppingClassNames","columnMeasureInfo","onDidMount","_getRowDragDropOptions","_onDidMountCalled","newWidth","onMeasureDone","onWillUnmount","useReducedRowRenderer","newSelectionState","flatIndexOffset","onRenderCheck","_onRenderCheck","onRenderItemColumn","getCellValueKey","rowWidth","getRowAriaLabel","getRowAriaDescribedBy","checkButtonAriaLabel","rowFieldsAs","RowFields","cellsByColumn","isSelectionModal","canSelectItem","showCheckbox","ariaSelected","rowClassNames","_rowClassNames","rowFields","rowHeaderId","columnStartIndex","collapseAllVisibility","measureCell","isModal","DetailsRowFields","cellValueKeysRef","cellValueKeys","getValueKey","cellContentsRender","fieldName","getCellText","previousValueKey","cellValueKey","showAnimation","getRect","allowTouchBodyScroll","_allowTouchBodyScroll","PanelVisibilityState","_panel","_animationCallback","_hasCustomNavigation","onRenderNavigation","onRenderNavigationContent","_allowScrollOnPanel","elt","_scrollableContent","_onRenderNavigation","hasCloseButton","_onRenderNavigationContent","navigation","_onRenderHeader","_headerTextId","_onPanelClick","headerTextId","headerTextProps","_onRenderBody","_onRenderFooter","onRenderFooterContent","footerInner","_animateTo","newVisibilityState","onOpen","_onTransitionComplete","_clearExistingAnimationTimer","_updateFooterPosition","onOpened","closed","isFooterSticky","animatingClosed","animatingOpen","_shouldListenForOuterClick","_dismissOnOuterClick","shouldListenOnOuterClick","previousShouldListenOnOuterClick","focusTrapZoneProps","isFooterAtBottom","isLightDismiss","isHiddenOnDismiss","overlayProps","popupProps","customWidth","onLightDismissClick","onRenderBody","isLeft","smallFixedNear","customNear","isOnRightSide","customWidthStyles","custom","isAnimating","focusTrapZoneClassName","hasCustomNavigation","overlay","isDarkThemed","hiddenPanel","commands","contentInner","scrollableContent","onOuterClick","smallFixedFar","ICON_MAP","severeWarning","success","getAnnouncementPriority","messageBarType","getRole","MessageBarBase","expandSingleLine","toggleExpandSingleLine","overflowButtonAriaLabel","dismissIconProps","truncated","dismissButtonAriaLabel","messageBarIconProps","delayedRender","expandIconProps","regionProps","actionsDiv","dismissButton","dismissal","innerText","expand","dismissSingleLine","_onRenderProgress","barHeight","percentComplete","progressBarStyles","ariaValueMin","ariaValueMax","itemProgress","progressTrack","progressBar","progressHidden","onRenderProgress","itemName","itemDescription","SeparatorBase","defaultCalloutProps","TeachingBubbleBase","setCalloutProps","hasCloseIcon","isWide","calloutStyles","TeachingBubbleContent","TeachingBubbleContentBase","imageContent","headerContent","bodyContent","footerContent","documentRef","illustrationImage","primaryButtonProps","secondaryButtonProps","headline","hasCondensedHeadline","hasSmallHeadline","customFooterContent","hasHeadline","primaryButtonClassName","secondaryButtonClassName","HeaderWrapperAs","BodyContentWrapperAs","secondaryButton","primaryButton","TextView","TextStyles","nowrap","variant","variantObject","mozOsxFontSmoothing","webkitFontSmoothing","ToggleBase","controlledChecked","offAriaLabel","offText","onAriaLabel","onToggleClick","onText","setChecked","badAriaLabel","stateTextId","stateText","toggleNativeProps","labelledById","toggleButton","toggleButtonRef","_onItemMouseEnter","onItemMouseEnter","_onItemClick","onItemClickBase","_onItemMouseLeave","onItemMouseLeave","_onItemKeyDown","onItemKeyDown","_onItemMouseMove","onItemMouseMove","_getSubmenuTarget","_anchor","onItemClick","_renderAriaDescription","focusableElementIndex","totalItemCount","hasCheckmarks","contextualMenuItemAs","ChildrenRenderer","expandedMenuItemKey","anchorRel","itemHasSubmenu","ariaDescribedByIds","additionalItemProperties","KeytipData","_btn","onItemMouseDown","defaultRole","buttonNativeProperties","itemRole","itemButtonProperties","_executeItemClick","_splitButton","_onItemMouseEnterPrimary","_onItemMouseEnterIcon","_onItemMouseMovePrimary","_onItemMouseMoveIcon","_onIconItemClick","executeItemClick","splitButton","_renderSplitPrimaryButton","_renderSplitDivider","_renderSplitIconButton","itemComponentProps","VerticalDivider","onTap","MenuContext","getContextualMenuItemClassNames","getSubmenuItems","canAnyMenuItemsCheck","sectionProps","submenuItem","_getMenuItemStylesFunction","ContextualMenuBase","setExpandedMenuItemKey","setSubmenuTarget","expandedByMouseClick","setExpandedByMouseClick","closeSubMenu","openedByMouseClick","submenuItemKey","useSubMenuState","delayUpdateFocusOnHover","shouldUpdateFocusOnMouseEvent","gotMouseMove","onMenuFocusCapture","useShouldUpdateFocusOnMouseMove","useResponsiveMode","onMenuDismissed","onMenuOpened","previousHidden","onMenuOpenedRef","onMenuClosedRef","propsRef","useVisibility","hoisted","_mounted","_tryFocusPreviousActiveElement","documentContainsFocus","_previousActiveElement","_onRenderMenuList","menuListProps","indexCorrection","_renderMenuItem","Divider","indexIncrease","customOnRenderListLength","itemClassNames","subMenuIconClassName","itemStyleProps","_renderSeparator","headerItem","_renderHeaderMenuItem","_renderListItem","Section","_renderSectionItem","_renderNormalItem","_defaultMenuItemRenderer","_lastKeyDownWasAltOrMeta","_isAltOrMeta","dismissAllMenus","_keyHandler","_shouldHandleKeyDown","_shouldCloseSubMenu","_shouldHandleKeyUp","keyPressIsAltOrMetaAlone","shouldHandleKey","handled","submenuCloseKey","isSubMenu","_adjustedFocusZoneProps","checkForNoWrap","hasModifier","_isScrollIdle","_scrollIdleTimeoutId","_onItemMouseEnterBase","_shouldIgnoreMouseEvent","_updateFocusOnMouseEvent","_onItemMouseMoveBase","_enterTimerId","_onMouseItemLeave","_onItemMouseDown","_onItemClickBase","_cancelSubMenuTimer","_onAnchorClick","openKey","_onSubMenuDismiss","_onPointerAndTouchEvent","getMenuClassNames","contextualMenuItems","subMenuId","_isHidden","_onMenuClosed","useTargetWidth","useTargetAsMinWidth","onRenderSubMenu","_onRenderSubMenu","onRenderMenuList","itemsHaveIcons","handleTabKey","_getFocusZoneDirection","contextMenuStyle","submenuProps","_getSubmenuProps","targetAsHtmlElement","targetWidth","menuContext","_renderFocusZone","defaultMenuItemRenderer","originalElement","sectionItem","menuClassNames","headerContextualMenuItem","ariaLabellledby","topDivider","contextualMenuItem","itemsIndex","bottomDivider","fromSection","_renderAnchorMenuItem","_renderSplitButton","_renderButtonItem","divHtmlProperties","subMenuHoverDelay","timeoutDuration","_findItemByKey","_findItemByKeyFromItems","isDragging","touchAction","eventMapping","move","_currentEventType","_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","changedTouches","matchesSelectorFn","matches","webkitMatchesSelector","msMatchesSelector","touchList","ZERO","ModalBase","scrollableContentClassName","isAlert","isModeless","focusTrapZone","focusTrapZoneElm","modalResponsiveMode","focusTrapZoneId","isModalOpen","setIsModalOpen","setIsVisible","coordinates","setCoordinates","modalRectangleTop","setModalRectangleTop","useBoolean","isModalMenuOpen","toggleModalMenuOpen","setModalMenuClose","onModalCloseTimer","lastSetCoordinates","keepInBounds","isAlertRole","layerClassName","hasBeenOpened","windowInnerHeight","isDefaultDragHandle","layer","allowScrollOnModal","registerInitialModalPosition","dialogMain","modalRectangle","minPosition","maxPosition","getClampedAxis","axis","handleModalClose","isInKeyboardMoveMode","disposeOnKeyUp","handleDragStart","handleDrag","handleDragStop","registerForKeyUp","modalContent","disposeOnKeyDown","keyboardMoveIconContainer","keyboardMoveIconProps","keyboardMoveIcon","menu","moveMenuItemText","handledEvent","getMoveDelta","closeMenuItemText","Popup","Overlay","SearchDirection","HoverStatus","listOptionHighContrastStyles","inputHighContrastStyles","getOptionStyles","customStylesForAllOptions","customOptionStylesForCurrentOption","isPending","isHidden","textHoveredColor","textSelectedColor","backgroundHoveredColor","backgroundPressedColor","optionStyles","optionTextWrapper","getCaretDownButtonStyles","caret","buttonTextColor","buttonTextHoveredCheckedColor","buttonBackgroundHoveredColor","listItemBackgroundHovered","buttonBackgroundCheckedColor","listItemBackgroundChecked","buttonBackgroundCheckedHoveredColor","listItemBackgroundCheckedHovered","buttonHighContrastStyles","comboBoxOptionWidth","textColor","borderHoveredColor","borderPressedColor","borderFocusedColor","erroredColor","headerTextColor","dividerBorderColor","placeholderHighContrastStyles","placeholderStylesHovered","ComboBoxRootHighContrastFocused","focusBorderStyles","rootError","rootDisallowFreeForm","optionsContainerWrapper","optionsContainer","allowFreeForm","getComboBoxOptionClassNames","ComboBoxOptionWrapper","buttonIconProps","useOptionsState","selectedKeys","buildSelectedKeys","buildDefaultSelectedKeys","setSelectedIndices","currentOptions","setCurrentOptions","setSuggestedDisplayValue","indices","_autofill","_comboBoxWrapper","_comboBoxMenu","_hasFocus","focusState","_onUpdateValueInAutofillWillReceiveProps","comboBox","visibleValue","normalizeToString","_currentVisibleValue","_renderComboBoxWrapper","multiselectAccessibleText","errorMessageId","isButtonAriaHidden","placeholderProp","autofill","multiSelect","Autofill","_onInputKeyUp","_onAutofillClick","_getAriaAutoCompleteValue","_getAriaActiveDescendantValue","defaultVisibleValue","updateValueInWillReceiveProps","shouldSelectFullInputValueInComponentDidUpdate","_onShouldSelectFullInputValueInAutofillComponentDidUpdate","preventValueSelection","_getCaretButtonStyles","_onComboBoxClick","_getVisibleValue","currentPendingValueValidIndex","currentPendingValue","currentPendingIndexValid","indexWithinBounds","_getPendingString","_getMultiselectDisplayString","_getFirstSelectedIndex","getPreviewText","_handleInputWhenDisabled","_processInputChangeWithFreeform","_processInputChangeWithoutFreeform","_onResolveOptions","onResolveOptions","newOptions","_currentPromise","newOptionsFromPromise","isBlurFromComboBoxTitle","isBlurFromComboBoxMenu","isBlurFromComboBoxMenuAncestor","findElementRecursive","_submitPendingValue","_onRenderContainer","dropdownWidth","dropdownMaxWidth","onRenderUpperContent","_onRenderUpperContent","onRenderLowerContent","_onRenderLowerContent","useComboBoxAsMenuWidth","comboBoxMenuWidth","_onLayerMounted","_onCalloutMouseDown","_onCalloutLayerMounted","onRenderLabelProps","_renderHeader","_renderOption","onRenderOption","_onRenderOptionContent","_isOptionSelected","_isOptionChecked","_getCurrentOptionStyles","optionClassNames","onRenderCheckboxLabel","Checkbox","_onOptionMouseEnter","_onOptionMouseMove","_onOptionMouseLeave","onMenuDismiss","_setOpenStateAndFocusOnClose","_resetSelectedIndex","_onAfterClearPendingInfo","_processingClearPendingInfo","currentPendingValueValidIndexOnHover","isAltOrMeta","_getPendingSelectedIndex","clearAll","_setPendingInfoFromIndexAndDirection","backward","forward","directionToSearch","openOnKeyboardFocus","_gotMouseMove","default","onMenuOpen","_focusInputAfterClose","_notifyPendingValueChanged","onRenderContainer","comboBoxWrapper","displayValues","multiSelectDelimiter","newCurrentPendingValueValidIndex","isNormalOption","_setPendingInfo","originalUpdatedValue","newSuggestedDisplayValue","_autoCompleteTimeout","_setPendingInfoFromIndex","_getNextSelectableIndex","searchDirection","newIndex","_setSelectedIndex","submitPendingValueEvent","onPendingValueChanged","initialIndices","_hasPendingValue","changedOptions","_clearPendingInfo","pendingOptionText","newOption","includeCurrentPendingValue","_scrollIntoView","scrollSelectedToTop","alignToTop","scrollableParentRect","selectedElementRect","indexUpdate","newPendingIndex","newPendingValue","focusInputAfterClose","customCaretDownButtonStyles","customStylesForCurrentOption","_isPendingOption","descendantText","ComboBoxInternal","useAriaLabelAsText","DetailsColumn","dropdownChevronForegroundColor","nearIconStyle","borderAfterDragOrDrop","_rootComponent","_draggedColumnIndex","_dropHintDetails","_resetDropHints","_onDragOver","_computeDropHintToBeShown","_onDrop","columnReorderProps","_getColumnReorderProps","targetIndex","_currentDropHintIndex","isValidDrop","_isValidCurrentDropHintIndex","_onDropIndexInfo","sourceIndex","onColumnDrop","dragDropDetails","draggedIndex","handleColumnReorder","_updateDragInfo","_isCheckboxColumnHidden","_getDropHintPositions","onColumnDragStart","onColumnDragEnd","columnDragEndLocation","_isEventOnHeader","dropLocation","prevRef","prevX","prevMid","frozenColumnCountFromStart","frozenColumnCountFromEnd","dropHintElement","newMid","originX","startX","endX","dropHintElementRef","eventXRelativePosition","currentDropHintIndex","_liesBetween","lastValidColumn","indexToUpdate","_isBefore","_isAfter","middleIndex","_updateDropHintElement","_renderColumnSizer","columnResizeDetails","isResizable","_stopPropagation","_onSizerBlur","onDoubleClick","_onSizerDoubleClick","_onSelectAllClicked","toggleAllSelected","columnIndexAttr","columnMinWidth","_onRootMouseMove","_onRootKeyDown","onColumnResized","_onSizerMouseMove","buttons","onColumnIsSizingChanged","movement","_onSizerMouseUp","_onToggleCollapseAll","newCollapsed","_dragDropHelper","DragDropHelper","minimumPixelsForDrag","_subscriptionObject","_getHeaderDragDropOptions","previousColumns","ariaLabelForToggleAllGroupsButton","ariaLabelForSelectAllCheckbox","selectAllVisibility","ariaLabelForSelectionColumn","isCheckboxHidden","isCheckboxAlwaysVisible","_isDraggable","_renderDropHint","_renderColumnDivider","columnReorderOptions","displayProperty","onRenderDivider","dropHintIndex","onColumnAutoResized","withViewport","_registerResizeObserver","_viewportResizeObserver","_unregisterResizeObserver","_updateViewport","withForceUpdate","viewportElement","scrollElement","_resizeAttempts","_composedComponentInstance","skipViewportMeasures","disableResizeObserver","_isResizeObserverAvailable","previousSkipViewportMeasures","newViewport","BaseDecorator","ariaLabelForListHeader","constrainMode","layoutMode","onItemInvoked","onItemContextMenu","onColumnHeaderClick","onColumnHeaderContextMenu","selectionPreservedOnEmptyClick","selectionZoneProps","rowElementEventMap","shouldApplyApplicationRole","adjustedColumns","isSomeGroupExpanded","listRef","groupedListRef","headerRef","onRowDidMount","onRowWillUnmount","disableSelectionZone","onActiveRowChanged","checkButtonGroupAriaLabel","enterModalSelectionOnTouch","onRenderDefaultRow","selectionZoneRef","rowId","getGroupNestingDepth","groupedDetailsListIndexMap","indexMap","rowCount","numGroupHeaders","numOfGroupHeadersBeforeItem","totalRowCount","useGroupedDetailsListIndexMap","additionalListProps","isCollapsedGroupSelectVisible","defaultOnRenderDetailsHeader","detailsHeaderProps","defaultOnRenderDetailsFooter","propsOnRenderDetailsHeader","onRenderDetailsHeader","propsOnRenderDetailsFooter","onRenderDetailsFooter","detailsFooterProps","columnReorderOnDragEnd","finalDropLocation","outside","surface","total","remainingGroups","currentGroup","colCount","fixedColumns","horizontalConstrained","onRenderDetailsGroupFooter","finalOnRenderDetailsGroupFooter","onRenderDetailsGroupHeader","finalOnRenderDetailsGroupHeader","groupKey","ariaColSpan","ariaRowCount","ariaRowIndex","finalGroupProps","selectAllButtonProps","sumColumnWidths","finalOnRenderRow","onRenderRow","onRenderListCell","isRightArrow","onActiveElementChanged","shouldRaiseClicks","GroupedList","onHeaderKeyDown","onContentKeyDown","enterModalOnTouch","_header","_groupedList","_selectionZone","_onRenderRow","setKey","_selection","newViewportWidth","oldViewportWidth","shouldResetSelection","_initialFocusedIndex","initialFocusedIndex","focusedItemIndex","_adjustColumns","_onGroupExpandStateChanged","_onColumnIsSizingChanged","_onRowDidMount","_getItemKey","_activeRows","_setFocusToRowIfPending","_onRowWillUnmount","collapsed","_onColumnResized","resizingColumn","resizingColumnIndex","newCalculatedWidth","onColumnResize","_rememberCalculatedWidth","_onColumnAutoResized","totalCount","_onActiveRowChanged","onActiveItemChanged","_columnOverrides","lastWidth","_getAdjustedColumns","Selection","_setFocusToRow","_notifyColumnsResized","onDidUpdate","ignoreNextFocus","currentWidth","viewportWidth","newColumns","lastSelectionMode","buildColumns","_getFixedColumns","_getJustifiedColumns","_getColumnOverride","flexMargin","remainingWidth","sumProportionalWidth","col","getPaddedWidth","rowCheckWidth","groupExpandWidth","widthFraction","newColumn","fullWidth","shrinkWidth","MAX_VALUE","minimumWidth","availableWidth","baseColumn","isCollapsible","isCollapsable","lastIndex","overflowWidth","originalWidth","isLast","overrides","spaceLeft","justified","DetailsListBase","canResizeColumns","sortedColumnKey","groupedColumnKey","firstItem","clickable","paddingOnly","dropIcon","iconTag","beziers","_toggleCollapse","isGroupLoading","newLoadingVisible","isLoadingVisible","onGroupHeaderKeyUp","shouldOpen","_onToggleClick","_onToggleSelectGroupClick","_onHeaderClick","onGroupHeaderClick","_onRenderTitle","headerCount","onRenderGroupHeaderCheckbox","expandButtonProps","expandButtonIcon","canSelectGroup","isSelectionCheckVisible","currentlySelected","groupHeaderContainer","expandIsCollapsed","Check","GroupHeader","finalRowHeight","checkExpandResetStyles","listBackground","actionLinkHovered","durationValue4","transitionDelay","GroupShowAll","showAllLinkText","memoizedOnClick","GroupFooter","footerText","getBeakStyle","CalloutContent","elevation16","LinkBase","underline","isButton","isUnderlined","rootType","slots","_size","updateOptions","displayOnlyOptionsCache","_displayOnlyOptionsCache","_cachedOptions","DropdownBase","selectedKeyPropToUse","defaultSelectedKeys","oldOptions","didOptionsChange","oldSelectedKeyProp","getAllSelectedIndices","getSelectedIndex","searchKey","getSelectedIndexes","useSelectedItemsState","_host","_dropDown","_scrollIdleDelay","_sizePosCache","_requestAnimationFrame","safeRequestAnimationFrame","_onChange","changedOpt","_getPlaceholder","placeHolder","_getTitle","_unused","_onRenderPlaceholder","panelProps","isSmall","panelStyles","Panel","_renderFocusableList","_onPositioned","_onRenderCaretDown","caretDown","renderedList","emptyQueue","newGroup","placeRenderedOptionIntoQueue","_onRenderOption","isItemSelected","dropdownItemHidden","dropdownItemSelectedAndDisabled","dropdownItemSelected","dropdownItemDisabled","dropdownItem","multiSelectItemStyles","multiSelectItem","_listId","_onRenderItemLabel","optionSetSize","dropdownOptionText","calloutRenderEdge","setSelectedIndex","_onDropdownBlur","_isDisabled","_onDropdownKeyDown","containsExpandCollapseModifier","_moveIndex","_onDropdownKeyUp","_onZoneKeyDown","_onZoneKeyUp","_onDropdownClick","_shouldOpenOnFocus","_isFocusedByClick","_onDropdownMouseDown","_optionId","propStyles","onRenderCaretDown","onRenderPlaceholder","onRenderPlaceHolder","cachedOptions","ariaActiveDescendant","hasError","isRenderingPlaceholder","panelClassName","calloutClassName","dropdown","caretDownWrapper","notifyOnReselect","newIndexes","_copyArray","newArray","stepValue","stepCounter","dropdownItemsWrapper","dropdownItems","dropdownDivider","dropdownItemHeader","extractStyleParts","objects","_processArgs","argsList","translatedArgs","blackTranslucent40","yellowDark","yellow","yellowLight","orangeLight","orangeLighter","magentaDark","magentaLight","purpleDark","purpleLight","blueDark","blueMid","blueLight","tealDark","tealLight","greenDark","greenLight","DefaultEffects","elevation4","elevation64","roundedCorner4","roundedCorner6","makeSemanticColors","dep","listTextColor","menuItemBackgroundChecked","warningHighlight","warningText","messageText","successText","_fixDeprecatedSlots","getSemanticColors","primaryButtonBorder","messageLink","messageLinkHovered","infoIcon","errorIcon","blockingIcon","warningIcon","severeWarningIcon","successIcon","infoBackground","errorBackground","blockingBackground","warningBackground","severeWarningBackground","successBackground","bodyFrameBackground","accentButtonText","cardStandoutBackground","accentButtonBackground","linkHovered","bodyFrameDivider","variantBorder","buttonBackgroundCheckedHovered","buttonBorderDisabled","disabledSubtext","variantBorderHovered","bodyStandoutBackground","defaultStateBackground","buttonTextPressed","buttonBackgroundChecked","cardShadow","cardShadowHovered","_merge","circularReferences","createResolver","local","createMergedRef","resolver","newRefs","composedComponentInstance","_hoisted","REACT_LIFECYCLE_EXCLUSIONS","hoistMethods","destination","unhoistMethods","isVirtualElement","_virtual","matchFunction","defaultFocusRestorer","isModalOrPanel","targetDocument","hasAttribute","removeAttribute","useHideSiblingNodes","originalFocusedElement","useRestoreFocus","needsVerticalScrollBar","needsVerticalScrollBarState","setNeedsVerticalScrollBar","rootHeight","firstChildHeight","useScrollbarAsync","focusZoneStyles","_allInstances","_outerZones","ALLOWED_INPUT_TYPES","_portalContainsElement","newActiveElement","doNotAllowFocusEventToPropagate","stopFocusPropagation","onFocusNotification","shouldFocusInnerElementWhenReceivedFocus","defaultTabbableElement","isImmediateDescendant","_isImmediateDescendantOfZone","maybeElementToFocus","initialElementFocused","_setFocusAlignment","_updateTabIndexes","_setParkedFocus","_setActiveElement","isInnerZoneKeystroke","pagingSupportDisabled","isDefaultPrevented","_getDocument","_isInnerZone","innerZone","_getFirstInnerZone","_tryInvokeClickForFocusable","_preventDefaultWhenHandled","_moveFocusLeft","_moveFocusRight","_moveFocusUp","_moveFocusDown","_moveFocusPaging","allowTabKey","_isElementInput","focusChanged","_processingTabKey","_shouldWrapFocus","shouldResetActiveElementWhenTabFromZone","_isContentEditableElement","_shouldInputLoseFocus","_getHorizontalDistanceFromCenter","isForward","activeRect","leftAlignment","_focusAlignment","targetRectTop","activeRectBottom","targetRectBottom","activeRectTop","getOuterZones","_onKeyDownCapture","zone","_windowElement","nodeType","_lastIndexPath","preventFocusRestoration","_defaultFocusElement","_evaluateFocusBeforeRender","onMouseDownCapture","ownerZoneElement","_getOwnerZone","ownerZone","focusLast","forceAlignment","onBeforeFocus","shouldReceiveFocus","setFocusAlignment","isParked","_isParked","_parkedTabIndex","previousActiveElement","preventDefaultWhenHandled","_moveFocus","getDistanceFromCenter","useDefaultWrap","candidateDistance","candidateElement","changedFocus","isBidirectional","elementDistance","targetTop","shouldWrap","targetBottom","pagesize","isHorizontal","isVertical","isReadonly","shouldInputLoseFocusOnArrowKey","mergeAriaAttributeValues","mergedAttribute","ariaAttributes","keytipDataProps","prevOptions","nativeKeytipProps","describedByPrepend","getKeytipData","concatStyles","_styleCache","_onSettingChanged","componentProps","mergedStyles","merged","CheckGlobalClassNames","checkBoxHeight","sharedCircleCheck","headerIsCondensed","headerIsSmall","headerIsLarge","buttonLabel","opacityFadeIn","rootStyle","headerStyle","hasLargeHeadline","hideDefaultFocusRing","_unsupportedIterableToArray","minLen","rootNoHost","DATA_PORTAL_ATTRIBUTE","setPortalAttribute","withSlots","slotType","isSlot","createFactory","DefaultComponent","defaultProp","userProps","userSlotOptions","defaultStyles","allProps","_constructFinalProps","transformedProps","_translateShorthand","UserComponent","defaultFactory","getSlots","mixedProps","slot","_renderSlot","_defaultStyles","ComponentType","slotOptions","getTinymce","tinymce","arrayLikeToArray","getIsChecked","hasSubmenu","isItemDisabled","getMenuItemAriaRole","controlledValue","defaultUncontrolledValue","valueRef","onChangeRef","setValueOrCallOnChange","SelectableOptionMenuItemType","allowVirtualChildren","CommunicationColors","NeutralColors","SharedColors","shade30","shade20","shade10","tint10","tint20","tint30","tint40","gray220","gray210","gray200","gray190","gray180","gray170","gray160","gray150","gray140","gray130","gray120","gray110","gray100","gray90","gray80","gray70","gray60","gray50","gray40","gray30","gray20","gray10","pinkRed10","red20","red10","redOrange20","redOrange10","orange30","orange20","orange10","yellow10","orangeYellow20","orangeYellow10","yellowGreen10","green20","green10","greenCyan10","cyan40","cyan30","cyan20","cyan10","cyanBlue20","cyanBlue10","blue10","blueMagenta40","blueMagenta30","blueMagenta20","blueMagenta10","magenta20","magenta10","magentaPink20","magentaPink10","randomString","ActionTypes","INIT","REPLACE","PROBE_UNKNOWN_ACTION","isPlainObject","proto","createStore","reducer","preloadedState","enhancer","currentReducer","currentListeners","nextListeners","isDispatching","ensureCanMutateNextListeners","replaceReducer","nextReducer","observable","outerSubscribe","observer","observeState","$$observable","getUndefinedStateErrorMessage","actionType","combineReducers","reducers","reducerKeys","finalReducers","shapeAssertionError","finalReducerKeys","assertReducerShape","hasChanged","previousStateForKey","nextStateForKey","bindActionCreator","actionCreator","actionCreators","boundActionCreators","compose","funcs","applyMiddleware","middlewares","_dispatch","middlewareAPI","chain","middleware","DefaultSpacing","s2","s1","l1","l2","ImageIcon","altText","hasName","imageNameProps","_onCustomizationChange","contextTransform","newContext","raiseClick","createNewEvent","modalize","affectedNodes","sibling","resetControlledWarnings","warnControlledUsage","nativeElementMap","ol","textarea","colGroup","form","iframe","img","Text","imageSize","hasImage","imageIsLarge","defaultOnRenderLabel","defaultOnRenderField","selectedImageSrc","innerField","imageWrapper","selectedImageWrapper","iconWrapper","onRenderField","choiceFieldWrapper","getChoiceGroupFocusStyle","focusBorderColor","hasIconOrImage","getImageWrapperStyle","isSelectedImageWrapper","transitionProperty","transitionDuration","transitionTimingFunction","ChoiceGroupOption","circleBorderColor","circleHoveredBorderColor","circleCheckedBorderColor","circleCheckedHoveredBorderColor","circleDisabledBorderColor","circleBackgroundColor","dotUncheckedHoveredColor","dotCheckedColor","dotCheckedHoveredColor","dotDisabledColor","labelHoverFocusColor","iconOrImageChoiceBorderUncheckedHoveredColor","iconOrImageChoiceBorderCheckedColor","iconOrImageChoiceBorderCheckedHoveredColor","iconOrImageChoiceBackgroundColor","fieldHoverOrFocusProperties","enabledFieldWithImageHoverOrFocusProperties","circleAreaProperties","dotAreaProperties","choiceFieldSize","radioButtonSpacing","labelWrapperLineHeight","localStorage","isopen","LocalContextualMenu","ContextualMenu","inheritFont","Fabric","linkColor","linkInteractedColor","linkDisabledColor","MsHighContrastAdjust","checkmarkFontColor","checkmarkFontColorHovered","checkboxBorderColor","checkboxBorderIndeterminateColor","checkboxBorderColorChecked","checkboxBorderColorDisabled","checkboxBorderHoveredColor","checkboxBorderIndeterminateHoveredColor","checkboxBackgroundChecked","checkboxBackgroundCheckedHovered","checkboxBorderColorCheckedHovered","checkboxHoveredTextColor","checkboxBackgroundDisabledChecked","checkboxTextColor","checkboxTextColorDisabled","indeterminateDotStyles","ChoiceGroup","rootDark","ponyfill","commonjsGlobal","createEventEmitter","handlers","changedBits","calculateChangedBits","_Provider$childContex","_Consumer$contextType","contextProp","getUniqueId","_Component","emitter","getChildContext","componentWillReceiveProps","oldValue","_Component2","_this2","observedBits","_proto2","isarray","compile","tokensToFunction","tokensToRegExp","PATH_REGEXP","RegExp","res","defaultDelimiter","delimiter","escaped","modifier","asterisk","partial","repeat","optional","pattern","escapeGroup","escapeString","encodeURIComponentPretty","encodeURI","toUpperCase","flags","opts","encode","encodeURIComponent","token","attachKeys","re","route","endsWithDelimiter","regexpToRegexp","arrayToRegexp","stringToRegexp","descriptors","formatRegExp","inspect","isNull","deprecate","noDeprecation","warned","throwDeprecation","traceDeprecation","debugEnviron","debugs","ctx","seen","stylize","stylizeNoColor","depth","showHidden","_extend","customInspect","stylizeWithColor","formatValue","styleType","recurseTimes","ret","primitive","simple","formatPrimitive","visibleKeys","arrayToHash","formatError","isRegExp","braces","toUTCString","formatProperty","formatArray","cur","numLinesEst","reduceToSingleString","objectToString","debuglog","NODE_DEBUG","pid","isSymbol","isPrimitive","timestamp","getHours","getSeconds","origin","kCustomPromisifiedSymbol","callbackifyOnRejected","reason","newReason","promisify","original","promiseResolve","promiseReject","promise","callbackify","callbackified","maybeCb","nextTick","rej","propIsEnumerable","toObject","test1","test2","fromCharCode","test3","letter","shouldUseNative","EASING_FUNCTION_1","EASING_FUNCTION_2","FADE_IN","FADE_OUT","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","SCALE_DOWN98","SCALE_DOWN100","SCALE_UP103","ROTATE90","ROTATE_N90","AnimationVariables","slideRightIn400","slideLeftIn400","slideRightOut10","slideRightOut20","slideRightOut40","slideRightOut400","slideLeftOut10","slideLeftOut20","slideLeftOut40","slideLeftOut400","slideUpOut10","slideDownOut10","scaleUpIn100","scaleDownIn100","scaleUpOut103","scaleDownOut98","fadeIn100","fadeIn500","fadeOut100","fadeOut200","fadeOut400","fadeOut500","rotate90deg","rotateN90deg","fromX","fromY","toX","toY","overrideResponsiveMode","lastResponsiveMode","setLastResponsiveMode","newResponsiveMode","isMacResult","isMac","isIOS","UNWANTED_ENCLOSURES_REGEX","UNWANTED_CHARS_REGEX","PHONENUMBER_REGEX","MULTIPLE_WHITESPACES_REGEX","UNSUPPORTED_TEXT_REGEX","getInitials","cleanupDisplayName","splits","getInitialsLatin","_inputElement","_autoFillEnabled","_isComposing","_onCompositionStart","_onCompositionUpdate","_getCurrentInputValue","_onCompositionEnd","_tryEnableAutofill","isComposing","enableAutofillOnKeyPress","_onInputChanged","nativeEventComposing","_onChanged","updatedInputValue","selectionDirection","_getControlledValue","_1","differenceIndex","_doesTextStartWith","shouldSelectFullRange","onCompositionStart","onCompositionUpdate","onCompositionEnd","inel","isComposed","startWith","hasHorizontalOverflow","hasVerticalOverflow","hasOverflow","FORMAT_ARGS_REGEX","FORMAT_REGEX","replaceFunc","replacement","getAllSelectedOptions","componentAsMemoizer","Outer","Inner","_handleNextFocus","_onMouseDownCapture","_hasAttribute","isToggleModifierPressed","_isCtrlPressed","_isMetaPressed","_getSelectionMode","_shouldHandleFocus","isToggle","itemRoot","_findItemRoot","_getItemIndex","_isTouch","setModal","_setIsTouch","isSelectedOnFocus","_onItemSurfaceClick","_updateModifiers","_isSelectionDisabled","_shouldAutoSelect","_isShiftPressed","_onInvokeMouseDown","disableAutoSelectOnInputElements","_onTouchStartCapture","enableTouchInvocationTarget","isSelectionDisabled","_onToggleAllClick","_onInvokeClick","_onContextMenu","getItems","_onDoubleClick","_isInputElement","isSelectAllKey","isClearSelectionKey","_findScrollParentAndTryClearOnEmptyClick","onKeyDownCapture","setChangeEvents","toggleIndexSelected","_isTabPressed","selectToIndex","_clearAndSelectIndex","scrollParent","_tryClearOnEmptyClick","Node","_isNonHandledClick","indexValue","_shouldHandleFocusTimeoutId","isTouch","_isTouchTimeoutId","_dragEnterCounts","_activeTargets","_lastId","_initialized","dragDropOptions","_onDocumentMouseUp","isDroppable","activeTarget","dragDropTarget","_isDroppable","isHandled","_isDragging","dataTransfer","setData","_dragData","dropTarget","_isChild","_onMouseLeave","eventTarget","dragTarget","dragContext","_scrollableParent","_incrementScroll","_scrollRect","_stopScroll","_computeScrollVelocity","clientDirection","scrollClient","scrollRectTop","scrollRectLeft","scrollClientBottom","scrollClientRight","_isVerticalScroll","_scrollVelocity","_startScroll","getDistanceBetweenPoints","point1","point2","left1","top1","left2","top2","fitContentToBounds","scale","contentSize","boundsSize","maxScale","contentAspectRatio","boundsAspectRatio","finalScale","calculatePrecision","precisionRound","exp","TeachingBubble","utils","paramsSerializer","serializedParams","hashmarkIndex","__CANCEL__","normalizeHeaderName","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","headers","defaults","adapter","XMLHttpRequest","getDefaultAdapter","transformRequest","transformResponse","timeout","xsrfCookieName","xsrfHeaderName","maxContentLength","validateStatus","common","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","currentQueue","draining","queueIndex","cleanUpNextTick","drainQueue","run","marker","runClearTimeout","browser","argv","versions","addListener","once","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","binding","cwd","chdir","umask","settle","buildURL","parseHeaders","isURLSameOrigin","createError","requestData","requestHeaders","request","auth","username","password","Authorization","btoa","onreadystatechange","readyState","responseURL","responseHeaders","getAllResponseHeaders","response","responseType","responseText","onabort","onerror","ontimeout","cookies","xsrfValue","withCredentials","read","setRequestHeader","onDownloadProgress","onUploadProgress","upload","cancelToken","abort","send","enhanceError","config1","config2","priority","initialize","pluginChain","_extensionConfig","ext","_analyticsPlugin","addHistoryListener","pageViewTelemetry","uri","trackPageView","trackMetric","metric","customProperties","pageView","reactPlugin","_mountTimestamp","_firstActiveTimestamp","_idleStartTimestamp","_lastActiveTimestamp","_totalIdleTime","_idleCount","_idleTimeout","trackActivity","lastIdleTime","_intervalId","metricData","average","getEngagementTimeSeconds","sampleCount","additionalProperties","onShouldStartSelection","_isMouseEventOnScrollbar","_isInSelectionToggle","_isDragStartInSelection","_scrollableSurface","_selectedIndicies","_preservedIndicies","_onAsyncMouseMove","_autoScroll","AutoScroll","_scrollLeft","_rootRect","dragRect","hitTarget","isDraggingConstrainedToRoot","dragMask","box","boxFill","targetScrollbarWidth","_getRootRect","_lastMouseEvent","rootRect","currentPoint","_dragOrigin","constrainedPoint","_evaluateSelection","_itemRectCache","_isPointInRectangle","rectangle","allElements","itemRect","previousSelectedIndices","_allSelectedIndices","needToUpdate","rootTagName","MarqueeSelection","VerticalDividerBase","deprecatedGetClassNames","names","focusInset","focusColor","baseSplitButtonStyles","commandButtonStyles","spinAnimation","borderTopColor","titleIsPlaceHolder","titleHasError","highContrastAdjustMixin","highContrastItemAndTitleStateMixin","highContrastBorderState","Dropdown","globalClassnames","rootHoverFocusActiveSelectorNeutralDarkMixin","rootHoverFocusActiveSelectorNeutralPrimaryMixin","borderColorError","dropdownItemStyle","selectedItemBackgroundColor","itemSelectors","titleOpenBorderRadius","calloutOpenBorderRadius","DROPDOWN_HEIGHT","smallFluid","largeFixed","panelWidth","panelMargin","smallPanelSelectors","mediumPanelSelectors","largePanelSelectors","largeFixedPanelSelectors","extraLargePanelSelectors","sharedPaddingStyles","isCustomPanel","hyphens","singleline","dismissalSingleLine","expandingSingleLine","actionsSingleline","highContrastBackgroundColor","MessageBar","SmallScreenSelector","dismissalAndExpandIconStyle","dismissalAndExpandStyle","IndeterminateProgress","IndeterminateProgressRTL","ProgressIndicator","progressTrackColor","marginBetweenText","textHeight","animation","symbolObservablePonyfill","getVirtualParent","elementContainsAttribute","attribute","elementMatch","testElement","_isinitialized","_rootCtx","_nextPlugin","_getTelCtx","isInitialized","setInitialized","currentCtx","rootCtx","_baseTelInit","getProcessTelContext","eventPropTypes","onActivate","onAddUndo","onBeforeAddUndo","onBeforeExecCommand","onBeforeGetContent","onBeforeRenderUI","onBeforeSetContent","onBeforePaste","onClearUndos","onCut","onDblclick","onDeactivate","onDirty","onDrag","onDragDrop","onDragGesture","onExecCommand","onFocusIn","onFocusOut","onGetContent","onHide","onInit","onLoadContent","onNodeChange","onObjectResizeStart","onObjectResized","onObjectSelected","onPostProcess","onPostRender","onPreProcess","onProgressState","onRedo","onRemove","onSaveContent","onSetAttrib","onSetContent","onShow","onSubmit","onUndo","onVisualAid","EditorPropTypes","apiKey","inline","onEditorChange","outputFormat","cloudChannel","toolbar","textareaName","tinymceScriptSrc","scriptLoading","defer","isEventProp","eventAttrToEventName","attrName","configHandlers","editor","boundHandlers","lookup","handlerLookup","prevEventKeys","currEventKeys","removedKeys","addedKeys","wrappedHandler","configHandlers2","_a","unique","uuid","isTextareaOrInput","normalizePluginArray","createState","scriptId","scriptLoaded","ScriptLoader","scriptTagInjection","scriptTag","referrerPolicy","injectScriptTag","reinitialize","CreateScriptLoader","changeEvents","_b","_c","Env","isIE","beforeInputEvent","InputEvent","getTargetRanges","Editor","_super","rollbackTimer","valueCursor","rollbackChange","currentContent","undoManager","ignore","setContent","moveToBookmark","handleBeforeInput","_evt","getBookmark","handleBeforeInputSpecial","handleEditorChange","initialized","newContent","getContent","out","handleEditorChangeSpecial","initialise","attempts","isInDoc","initPlugins","inputPlugins","finalInit","readonly","setup","bindHandlers","getInitialValue","no_events","init_instance_callback","setDirty","setMode","localEditor_1","transact","bookmark","_f","getScriptSrc","renderInline","renderIframe","channel","isValueControlled","wasControlled","nowControlled","for","q","u","z","A","B","D","enqueueForceUpdate","enqueueReplaceState","enqueueSetState","E","F","G","H","isReactComponent","I","isPureReactComponent","J","K","L","__self","__source","M","$$typeof","_owner","O","P","Q","R","keyPrefix","S","V","T","U","W","aa","X","N","Y","Z","ba","ReactCurrentDispatcher","ReactCurrentBatchConfig","suspense","ReactCurrentOwner","IsSomeRendererActing","Children","Fragment","Profiler","StrictMode","Suspense","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","cloneElement","_calculateChangedBits","_currentValue","_currentValue2","_threadCount","_context","createRef","isValidElement","lazy","_ctor","_status","_result","useCallback","useDebugValue","useImperativeHandle","useState","da","ea","fa","ha","ia","la","ma","na","oa","pa","qa","ra","sa","extractEvents","eventTypes","ta","phasedRegistrationNames","registrationName","va","wa","xa","ya","za","Aa","Ba","Ca","stateNode","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ka","La","Ma","Na","Oa","Pa","Qa","acceptsBooleans","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","Ua","Va","xlinkHref","Wa","Xa","Sa","Ta","Ra","setAttributeNS","Ya","Za","$a","ab","bb","db","eb","fb","gb","hb","ib","jb","kb","lb","mb","nb","pb","qb","_debugOwner","_debugSource","fileName","lineNumber","return","rb","sb","nodeName","xb","_valueTracker","stopTracking","tb","yb","zb","_wrapperState","initialChecked","Ab","controlled","Bb","Cb","Db","Eb","Gb","Fb","Hb","defaultSelected","Ib","dangerouslySetInnerHTML","Jb","Kb","Lb","Mb","Nb","Ob","Pb","Qb","MSApp","execUnsafeLocalFunction","namespaceURI","innerHTML","Rb","nodeValue","Sb","Tb","animationend","animationiteration","animationstart","transitionend","Ub","Vb","Wb","Xb","Yb","Zb","$b","ac","bc","cc","dc","alternate","effectTag","ec","memoizedState","dehydrated","fc","hc","gc","ic","jc","kc","lc","_dispatchListeners","_dispatchInstances","isPropagationStopped","isPersistent","release","mc","nc","srcElement","correspondingUseElement","oc","pc","qc","topLevelType","targetInst","ancestors","rc","eventSystemFlags","sc","containerInfo","tc","uc","vc","wc","xc","yc","zc","Ac","Bc","Cc","Dc","Ec","Fc","Gc","Hc","Ic","Kc","blockedOn","Lc","pointerId","Mc","Nc","Pc","unstable_runWithPriority","hydrate","Qc","Rc","Sc","Tc","Uc","unstable_scheduleCallback","unstable_NormalPriority","Vc","Wc","Yc","Zc","$c","ad","bubbled","captured","eventPriority","bd","cd","dd","unstable_UserBlockingPriority","ed","fd","gd","hd","Oc","jd","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","flexPositive","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","lineClamp","orphans","tabSize","widows","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","kd","ld","md","nd","menuitem","area","br","embed","keygen","meta","param","track","wbr","od","pd","qd","sd","ud","vd","nextSibling","xd","HTMLIFrameElement","contentWindow","yd","contentEditable","Dd","Ed","Fd","autoFocus","Gd","__html","Hd","Id","Jd","Kd","previousSibling","Ld","Md","Nd","Od","Pd","Qd","Rd","Sd","Td","dispatchConfig","Ud","_targetInst","Vd","Wd","Xd","Yd","Zd","$d","ae","be","ce","Interface","ee","eventPool","fe","destructor","de","getPooled","bubbles","cancelable","isTrusted","ge","ie","je","ke","documentMode","le","me","ne","oe","beforeInput","compositionEnd","compositionStart","compositionUpdate","pe","qe","se","ve","locale","te","char","ue","we","datetime","number","tel","xe","ye","change","ze","Ae","Be","Ce","De","Ee","Fe","Ge","He","Ie","Je","Ke","Le","Me","_isInputEventSupported","Ne","view","Oe","Alt","Control","Meta","Shift","Pe","getModifierState","Qe","Re","Se","Te","Ue","Ve","screenX","screenY","pageX","pageY","movementX","movementY","We","pressure","tangentialPressure","tiltX","tiltY","twist","isPrimary","Xe","mouseEnter","mouseLeave","pointerEnter","pointerLeave","Ye","parentWindow","$e","af","bf","cf","df","ef","ff","gf","hf","jf","anchorNode","anchorOffset","focusNode","focusOffset","kf","onSelect","lf","elapsedTime","pseudoElement","mf","nf","of","pf","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","qf","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","rf","sf","tf","uf","vf","deltaX","wheelDeltaX","deltaY","wheelDeltaY","wheelDelta","deltaZ","deltaMode","wf","SimpleEventPlugin","EnterLeaveEventPlugin","ChangeEventPlugin","SelectEventPlugin","BeforeInputEventPlugin","yf","zf","Af","Bf","Cf","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Df","Ef","Ff","Gf","__reactInternalMemoizedMergedChildContext","Hf","If","Jf","Kf","unstable_cancelCallback","Lf","unstable_requestPaint","Mf","unstable_now","Nf","unstable_getCurrentPriorityLevel","Of","unstable_ImmediatePriority","Pf","Qf","Rf","unstable_LowPriority","Sf","unstable_IdlePriority","Tf","Uf","unstable_shouldYield","Vf","Wf","Xf","Yf","Zf","$f","ag","cg","dg","eg","fg","gg","hg","ig","jg","kg","lg","mg","ng","og","pg","childExpirationTime","qg","firstContext","expirationTime","rg","sg","responders","tg","ug","updateQueue","baseState","baseQueue","shared","vg","wg","suspenseConfig","xg","yg","zg","ca","Ag","Bg","Cg","Dg","Eg","Fg","Jg","_reactInternalFiber","Gg","Hg","Ig","Kg","Lg","Mg","UNSAFE_componentWillReceiveProps","Ng","UNSAFE_componentWillMount","componentWillMount","Og","Pg","_stringRef","Qg","Rg","lastEffect","nextEffect","firstEffect","Sg","Tg","Ug","implementation","Vg","Wg","Xg","Yg","Zg","$g","ah","bh","dh","eh","fh","gh","memoizedProps","revealOrder","ih","responder","jh","kh","lh","mh","nh","oh","ph","qh","rh","sh","uh","vh","wh","lastRenderedReducer","eagerReducer","eagerState","lastRenderedState","xh","yh","zh","Ah","destroy","deps","Bh","Ch","Dh","Eh","Fh","Gh","Hh","Ih","Jh","Kh","Lh","Mh","Nh","readContext","useResponder","useDeferredValue","useTransition","Oh","Ph","Qh","Rh","Sh","Th","pendingProps","Uh","Vh","Wh","Xh","Yh","Zh","$h","ai","bi","ci","di","ei","fi","UNSAFE_componentWillUpdate","componentWillUpdate","gi","pendingContext","ni","pi","qi","ii","retryTime","ji","fallback","unstable_avoidThisFallback","ki","isBackwards","rendering","renderingStartTime","tail","tailExpiration","tailMode","mi","ri","si","wasMultiple","onclick","createElementNS","ti","ui","wi","xi","yi","zi","Ai","Bi","WeakSet","Ci","Fi","Ei","Gi","__reactInternalSnapshotBeforeUpdate","Hi","Ii","Ji","Ki","Li","Di","Mi","Ni","Oi","Pi","Qi","_reactRootContainer","Ri","Si","Ti","Ui","Vi","Wi","Xi","Yi","Zi","$i","componentDidCatch","aj","componentStack","Rj","bj","cj","dj","kj","lj","mj","nj","oj","qj","rj","sj","tj","uj","vj","wj","timeoutMs","xj","yj","zj","lastExpiredTime","Aj","firstPendingTime","lastPingedTime","nextKnownPendingLevel","callbackExpirationTime","callbackPriority","callbackNode","Bj","Cj","Dj","Ej","Fj","Gj","Hj","finishedWork","finishedExpirationTime","lastSuspendedTime","Ij","timeoutHandle","Jj","busyMinDurationMs","busyDelayMs","Kj","Mj","Nj","pingCache","Oj","ub","Pj","Xc","Qj","Sj","firstSuspendedTime","rangeCount","wb","activeElementDetached","focusedElem","selectionRange","Tj","wd","compareDocumentPosition","createRange","setStart","removeAllRanges","addRange","setEnd","vb","Uj","Vj","Wj","ob","Xj","unstable_observedBits","Zj","pendingChildren","ak","bk","ck","dk","ek","fk","Jc","_internalRoot","gk","ik","hk","jk","unmount","Lj","lk","Events","findFiberByHostInstance","supportsFiber","inject","onCommitFiberRoot","onCommitFiberUnmount","Yj","overrideHookState","overrideProps","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","bundleType","rendererPackageName","createPortal","findDOMNode","flushSync","unmountComponentAtNode","unstable_batchedUpdates","unstable_createPortal","unstable_renderSubtreeIntoContainer","MessageChannel","unstable_forceFrameRate","port2","port1","onmessage","postMessage","sortIndex","startTime","priorityLevel","unstable_Profiling","unstable_continueExecution","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_wrapCallback","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","propFullName","secret","getShim","ReactPropTypes","symbol","any","arrayOf","instanceOf","objectOf","oneOf","checkPropTypes","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Element","Lazy","Portal","isAsyncMode","isConcurrentMode","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf","originalModule","webpackPolyfill","runtime","Op","hasOwn","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","innerFn","outerFn","tryLocsList","protoGenerator","Generator","_invoke","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","abrupt","tryCatch","makeInvokeMethod","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","NativeIteratorPrototype","Gp","defineIteratorMethods","AsyncIterator","PromiseImpl","previousPromise","callInvokeWithMethodAndArg","invoke","__await","unwrapped","resultName","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","iterable","iteratorMethod","isGeneratorFunction","genFun","ctor","mark","awrap","reverse","skipTempReset","rootRecord","rval","exception","loc","caught","hasCatch","hasFinally","finallyEntry","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","__esModule","debug","Log","Global","_testing","setXMLHttpRequest","MetadataService","JsonService","_settings","_jsonService","getMetadata","metadata","metadataUrl","getJson","getIssuer","_getMetadataProperty","getAuthorizationEndpoint","getUserInfoEndpoint","getTokenEndpoint","getCheckSessionIframe","getEndSessionEndpoint","getRevocationEndpoint","getKeysEndpoint","getSigningKeys","signingKeys","_metadataUrl","authority","UrlUtility","addQueryParam","parseUrlFragment","decodeURIComponent","JoseUtil","jws","KeyUtil","X509","crypto","hextob64u","b64tohex","AllowedSigningAlgs","OidcClientSettings","client_id","client_secret","response_type","redirect_uri","post_logout_redirect_uri","max_age","ui_locales","acr_values","resource","response_mode","filterProtocolClaims","loadUserInfo","staleStateAge","clockSkew","userInfoJwtIssuer","stateStore","WebStorageStateStore","ResponseValidatorCtor","ResponseValidator","MetadataServiceCtor","extraQueryParams","extraTokenParams","_authority","_metadata","_signingKeys","_client_id","_client_secret","_response_type","_scope","_redirect_uri","_post_logout_redirect_uri","_prompt","_display","_max_age","_ui_locales","_acr_values","_resource","_response_mode","_filterProtocolClaims","_loadUserInfo","_staleStateAge","_clockSkew","_userInfoJwtIssuer","_stateStore","_validator","_metadataService","_extraQueryParams","_extraTokenParams","_store","_prefix","getAllKeys","_contentTypes","_XMLHttpRequest","_jwtHandler","onload","getResponseHeader","startsWith","postForm","State","created","request_type","_data","_created","_request_type","toStorageString","fromStorageString","clearStaleState","OidcClient","createSigninRequest","id_token_hint","login_hint","request_uri","skipUserInfo","SigninRequest","isCode","readSigninResponseState","SigninResponse","SigninState","processSigninResponse","validateSigninResponse","createSignoutRequest","SignoutRequest","readSignoutResponseState","SignoutResponse","ErrorResponse","processSignoutResponse","validateSignoutResponse","validator","metadataService","TokenClient","exchangeCode","grant_type","code_verifier","exchangeRefreshToken","refresh_token","error_description","error_uri","session_state","isOidc","code_challenge","isOAuth","_nonce","_code_verifier","hashString","_code_challenge","hexToBase64Url","_skipUserInfo","User","id_token","access_token","token_type","profile","expires_at","expires_in","AccessTokenEvents","accessTokenExpiringNotificationTime","accessTokenExpiringTimer","Timer","accessTokenExpiredTimer","_accessTokenExpiringNotificationTime","_accessTokenExpiring","_accessTokenExpired","unload","addAccessTokenExpiring","addHandler","removeAccessTokenExpiring","removeHandler","addAccessTokenExpired","removeAccessTokenExpired","_name","_callbacks","SessionMonitor","CheckSessionIFrame","timer","_userManager","_CheckSessionIFrameCtor","_timer","addUserLoaded","_start","addUserUnloaded","_stop","getUser","monitorAnonymousSession","querySessionStatus","sub","sid","_sub","_sid","_checkSessionIFrame","_checkSessionInterval","_stopCheckSessionOnError","_callback","_raiseUserSessionChanged","_raiseUserSignedOut","_raiseUserSignedIn","checkSessionInterval","stopCheckSessionOnError","_url","_interval","_stopOnError","_frame_origin","_frame","_boundMessageEvent","_message","_session_state","TokenRevocationClient","_XMLHttpRequestCtor","revoke","_revoke","CordovaPopupWindow","_promise","_resolve","_reject","features","popupWindowFeatures","popupWindowTarget","startUrl","_isInAppBrowserInstalled","cordova","_error","_popup","InAppBrowser","_exitCallbackEvent","_exitCallback","_loadStartCallbackEvent","_loadStartCallback","_success","_cleanup","Version","InMemoryWebStorage","UserManager","CordovaPopupNavigator","CordovaIFrameNavigator","UserInfoService","_userInfoService","_joseUtil","_tokenClient","_processSigninParams","_validateTokens","_processClaims","isOpenIdConnect","getClaims","_mergeClaims","_processCode","_validateIdTokenAndAccessToken","_validateIdToken","_validateIdTokenAttributes","validateJwtAttributes","_validateAccessToken","parseJwt","kid","_filterByAlg","alg","validateJwt","kty","at_hash","_getClaimsFromJwt","iss","KEYUTIL","superclass","lib","Base","mixIn","$super","clone","WordArray","words","sigBytes","enc","Hex","Latin1","Utf8","unescape","BufferedBlockAlgorithm","_nDataBytes","_append","_process","blockSize","_minBufferSize","_doProcessBlock","Hasher","cfg","_doReset","finalize","_doFinalize","_createHelper","_createHmacHelper","HMAC","algo","x64","Word","high","low","toX32","Base64","_map","SHA256","_hash","HmacSHA256","SHA512","$","tt","rt","nt","HmacSHA512","SHA384","HmacSHA384","fromNumber","fromString","appName","am","DB","DM","DV","FV","F1","F2","fromInt","mp","invDigit","mpl","mph","um","mt2","r2","q3","ONE","dlShiftTo","mu","divide","convert","compareTo","mod","revert","divRemTo","mulTo","multiplyTo","sqrTo","squareTo","subTo","copyTo","drShiftTo","fromRadix","lShiftTo","rShiftTo","isEven","negate","toRadix","bitLength","modPowInt","multiplyUpperTo","multiplyLowerTo","dAddOffset","Dt","Ut","Lt","chunkSize","LN2","signum","intValue","dMultiply","testBit","bitwiseTo","shiftLeft","isProbablePrime","nextBytes","changeBit","addTo","modInt","millerRabin","subtract","getLowestSetBit","shiftRight","modPow","byteValue","shortValue","toByteArray","and","or","xor","andNot","not","bitCount","setBit","clearBit","flipBit","multiply","remainder","divideAndRemainder","modInverse","gcd","square","msCrypto","getRandomValues","Uint8Array","appVersion","dmp1","dmq1","coeff","curve","zinv","fromBigInteger","infinity","doPublic","setPublic","isPublic","isPrivate","encrypt","encryptOAEP","Er","MessageDigest","Util","getCanonicalAlgName","getHashLength","Or","hashHex","jr","toBigInteger","getX","getY","isInfinity","twice","getInfinity","multiplyTwo","getQ","getA","getB","decodePointHex","getByteLength","getEncoded","toByteArrayUnsigned","decodeFrom","decodeFromHex","add2D","twice2D","multiply2D","isOnCurve","wr","KJUR","asn1","ASN1Util","integerToByteHex","bigIntToMinTwosComplementsHex","getPEMStringFromHex","Vr","newObject","DERBoolean","DERInteger","DERBitString","DEROctetString","DERNull","DERObjectIdentifier","DEREnumerated","DERUTF8String","DERNumericString","DERPrintableString","DERTeletexString","DERIA5String","DERUTCTime","DERGeneralizedTime","DERSequence","DERSet","DERTaggedObject","explicit","jsonToASN1HEX","getEncodedHex","oidHexToInt","oidIntToHex","ASN1Object","getLengthHexFromValue","hV","hTLV","isModified","getFreshValueHex","hL","hT","getValueHex","DERAbstractString","getString","setString","Br","setStringHex","DERAbstractTime","localDateToUTC","utc","getTimezoneOffset","zeroPadding","getMilliseconds","Rr","setByDateValue","UTC","setByDate","DERAbstractStructured","setByASN1ObjectArray","asn1Array","appendASN1Object","setByBigInteger","setByInteger","setValueHex","bigint","int","setHexValueIncludingUnusedBits","setUnusedBitsAndHexValue","setByBinaryString","setByBooleanArray","newFalseArray","bin","setValueOidString","setValueName","x509","OID","name2oid","oid","withMillis","millis","sortFlag","sortflag","isExplicit","asn1Object","setASN1Object","xr","kr","Ar","Pr","Cr","Tr","Ir","Dr","Ur","Lr","zr","$r","Nr","Yr","Hr","Mr","Kr","qr","Jr","Wr","Gr","Xr","Qr","Zr","getLblen","getL","getVblen","getVidx","getV","getTLV","getNextSiblingIdx","getChildIdx","getNthChildIdx","getIdxbyList","getTLVbyList","getVbyList","hextooidstr","dump","ommit_long_octet","isASN1HEX","oid2name","oidname","x509ExtName","utf8tob64u","b64utoutf8","isInteger","isBase64","isBase64URL","isIntegerArray","DIGESTINFOHEAD","sha1","sha224","sha256","sha384","sha512","md2","md5","ripemd160","DEFAULTPROVIDER","hmacmd5","hmacsha1","hmacsha224","hmacsha256","hmacsha384","hmacsha512","hmacripemd160","MD5withRSA","SHA1withRSA","SHA224withRSA","SHA256withRSA","SHA384withRSA","SHA512withRSA","RIPEMD160withRSA","MD5withECDSA","SHA1withECDSA","SHA224withECDSA","SHA256withECDSA","SHA384withECDSA","SHA512withECDSA","RIPEMD160withECDSA","SHA1withDSA","SHA224withDSA","SHA256withDSA","MD5withRSAandMGF1","SHA1withRSAandMGF1","SHA224withRSAandMGF1","SHA256withRSAandMGF1","SHA384withRSAandMGF1","SHA512withRSAandMGF1","RIPEMD160withRSAandMGF1","CRYPTOJSMESSAGEDIGESTNAME","MD5","SHA1","SHA224","RIPEMD160","getDigestInfoHex","getPaddedDigestInfoHex","digestString","digestHex","prov","sha256Hex","sha512Hex","SECURERANDOMGEN","getRandomHexOfNbytes","getRandomBigIntegerOfNbytes","getRandomHexOfNbits","getRandomBigIntegerOfNbits","getRandomBigIntegerZeroToMax","getRandomBigIntegerMinToMax","setAlgAndProvider","updateString","updateHex","digest","sjcl","codec","toBits","fromBits","algName","provName","HASHLENGTH","Mac","algProv","mac","pass","doFinal","doFinalString","doFinalHex","setPassword","utf8","rstr","b64","b64u","Signature","_setAlgNames","mdAlgName","pubkeyAlgName","_zeroPaddingOfSignature","tn","prvKey","pubKey","sign","sHashHex","ecprvhex","eccurvename","ECDSA","hSign","signHex","signWithMessageHashPSS","pssSaltLen","signWithMessageHash","DSA","signString","verify","ecpubhex","verifyHex","verifyWithMessageHashPSS","verifyWithMessageHash","algProvName","initParams","psssaltlen","prvkeypem","prvkeypas","Cipher","getAlgByKeyAndName","decrypt","decryptOAEP","oidhex2name","getBigRandom","setNamedCurve","ecparams","ECParameterDB","getByName","prvKeyHex","pubKeyHex","curveName","setPrivateKeyHex","setPublicKeyHex","getPublicKeyXYHex","keylen","getShortNISTPCurveName","generateKeyPairHex","biRSSigToASN1Sig","fromByteArrayUnsigned","serializeSig","parseSigHex","verifyRaw","Bitcoin","parseSig","toByteArraySigned","parseSigCompact","readPKCS5PrvKeyHex","getName","readPKCS8PrvKeyHex","readPKCS8PubKeyHex","readCertPubKeyHex","prv","parseSigHexInHexRS","asn1SigToConcatSig","concatSigToASN1Sig","hexRSSigToASN1Sig","regist","AES","iv","ciphertext","proc","eproc","ivlen","TripleDES","DES","cipher","ivsalt","keyhex","ivhex","parsePKCS5PEM","getKeyAndUnusedIvByPasscodeAndIvsalt","decryptKeyB64","getDecryptedKeyHex","getEncryptedPKCS5PEMFromPrvKeyHex","parseHexOfEncryptedPKCS8","encryptionSchemeAlg","encryptionSchemeIV","pbkdf2Salt","pbkdf2Iter","getPBKDF2KeyHexFromParam","PBKDF2","keySize","iterations","_getPlainPKCS8HexFromEncryptedPKCS8PEM","getKeyFromEncryptedPKCS8PEM","getKeyFromPlainPrivatePKCS8Hex","parsePlainPrivatePKCS8Hex","algparam","algoid","keyidx","getKeyFromPlainPrivatePKCS8PEM","_getKeyFromPublicPKCS8Hex","parsePublicRawRSAKeyHex","parsePublicPKCS8Hex","xy","dp","dq","co","setPrivateEx","setPrivate","crv","sn","getPublicKeyFromCertHex","getPublicKeyFromCertPEM","generateKeypair","generate","prvKeyObj","pubKeyObj","getPEM","SubjectPublicKeyInfo","seq","octstr","bitstr","null","getKeyFromCSRPEM","getKeyFromCSRHex","parseCSRHex","p8pubkeyhex","getJWKFromKey","getPosArrayOfChildrenFromHex","getHexValueArrayOfChildrenFromHex","readPrivateKeyFromPEMString","readPKCS5PubKeyHex","readCertHex","getPublicKeyHex","en","rn","nn","foffset","aExtInfo","getVersion","getSerialNumberHex","getSignatureAlgorithmField","getIssuerHex","getIssuerString","hex2dn","getSubjectHex","getSubjectString","getNotBefore","getNotAfter","getPublicKeyIdx","getPublicKeyContentIdx","getPublicKey","getSignatureAlgorithmName","getSignatureValueHex","verifySignature","parseExt","critical","vidx","getExtInfo","getExtBasicConstraints","cA","pathLen","getExtKeyUsageBin","getExtKeyUsageString","KEYUSAGE_NAME","getExtSubjectKeyIdentifier","getExtAuthorityKeyIdentifier","getExtExtKeyUsageName","getExtSubjectAltName","getExtSubjectAltName2","getExtCRLDistributionPointsURI","getExtAIAInfo","ocsp","caissuer","getExtCertificatePolicies","cps","unotice","readCertPEM","getInfo","doPrivate","signPSS","verifyPSS","SALT_LEN_HLEN","SALT_LEN_MAX","SALT_LEN_RECOVER","hex2rdn","hex2attrTypeValue","oid2atype","getPublicKeyInfoPropOfCertPEM","JWS","isSafeJSONString","parseJWS","parsedJWS","sigvalH","headB64U","payloadB64U","sigvalB64U","sigvalBI","headS","payloadS","readSafeJSONString","jwsalg2sigalg","hASN1Sig","headerObj","payloadObj","headerPP","payloadPP","sigHex","verifyJWT","inArray","includedArray","aud","IntDate","getNow","verifyAt","gracePeriod","nbf","iat","jti","HS256","HS384","HS512","RS256","RS384","RS512","ES256","ES384","PS256","PS384","PS512","getEncodedSignatureValueFromJWS","getJWKthumbprint","getZulu","intDate2UTCString","intDate2Zulu","SecureRandom","rng_seed_time","BigInteger","RSAKey","an","EDSA","un","cn","hn","ln","ASN1HEX","CryptoJS","b64toBA","stoBA","BAtos","BAtohex","stohex","stob64","stob64u","b64utos","b64tob64u","b64utob64","hex2b64","b64utohex","utf8tob64","b64toutf8","utf8tohex","hextoutf8","hextorstr","rstrtohex","hextob64","hextob64nl","b64nltohex","hextopem","pemtohex","hextoArrayBuffer","DataView","setUint8","ArrayBuffertohex","byteLength","getUint8","zulutomsec","zulutosec","zulutodate","datetozulu","uricmptohex","hextouricmp","ipv6tohex","hextoipv6","hextoip","iptohex","encodeURIComponentAll","newline_toUnix","newline_toDos","hextoposhex","intarystrtohex","strdiffidx","kn","An","Pn","Cn","Buffer","TYPED_ARRAY_SUPPORT","RangeError","isEncoding","write","readUInt16BE","fromByteArray","SlowBuffer","alloc","INSPECT_MAX_BYTES","foo","subarray","kMaxLength","poolSize","_augment","species","allocUnsafe","allocUnsafeSlow","_isBuffer","swap16","swap32","swap64","includes","toJSON","readUIntLE","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","writeUIntBE","writeUInt8","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","x5c","_validateJwt","azp","rng","scopes","SilentRenewService","UserManagerSettings","UserManagerEvents","_silentRenewService","automaticSilentRenew","startSilentRenew","monitorSession","_sessionMonitor","_tokenRevocationClient","_loadUser","removeUser","storeUser","signinRedirect","useReplaceToNavigate","_signinStart","_redirectNavigator","signinRedirectCallback","_signinEnd","signinPopup","popup_redirect_uri","_signin","_popupNavigator","signinPopupCallback","_signinCallback","signinSilent","_useRefreshToken","includeIdTokenInSilentRenew","validateSubOnSilentRenew","current_sub","_signinSilentIframe","_validateIdTokenFromTokenRefreshToken","auth_time","silent_redirect_uri","_iframeNavigator","silentRequestTimeout","signinSilentCallback","signinCallback","signoutCallback","signoutRedirectCallback","signoutPopupCallback","query_status_response_type","prepare","signoutRedirect","_signoutStart","_signoutEnd","signoutPopup","popup_post_logout_redirect_uri","_signout","revokeAccessTokenOnSignout","_revokeInternal","revokeAccessToken","_revokeAccessTokenInternal","_revokeRefreshTokenInternal","stopSilentRenew","_userStore","_userStoreKey","redirectNavigator","popupNavigator","iframeNavigator","userStore","RedirectNavigator","PopupNavigator","IFrameNavigator","_popup_redirect_uri","_popup_post_logout_redirect_uri","_popupWindowFeatures","_popupWindowTarget","_silent_redirect_uri","_silentRequestTimeout","_automaticSilentRenew","_validateSubOnSilentRenew","_includeIdTokenInSilentRenew","_monitorSession","_monitorAnonymousSession","_query_status_response_type","_revokeAccessTokenOnSignout","PopupWindow","notifyOpener","_checkForPopupClosedTimer","_checkForPopupClosed","opener","IFrameWindow","notifyParent","_timeout","_origin","_userLoaded","_userUnloaded","_silentRenewError","_userSignedIn","_userSignedOut","_userSessionChanged","removeUserLoaded","removeUserUnloaded","addSilentRenewError","removeSilentRenewError","_raiseSilentRenewError","addUserSignedIn","removeUserSignedIn","addUserSignedOut","removeUserSignedOut","addUserSessionChanged","removeUserSessionChanged","_nowFunc","expiration","_timerHandle","_expiration","_tokenExpiring","base64","ieee754","createBuffer","that","encodingOrOffset","byteOffset","fromArrayLike","fromArrayBuffer","encoding","actual","fromObject","assertSize","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","bidirectionalIndexOf","arrayIndexOf","indexSize","arrLength","valLength","buf","foundIndex","found","hexWrite","remaining","strLen","parsed","utf8Write","blitBuffer","asciiWrite","byteArray","asciiToBytes","latin1Write","base64Write","ucs2Write","units","lo","utf16leToBytes","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","codePoint","bytesPerSequence","codePoints","decodeCodePointsArray","typedArraySupport","pos","thisStart","thisEnd","thisCopy","targetCopy","toHex","bytes","checkOffset","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","sliceLen","mul","limit","targetStart","INVALID_BASE64_RE","leadSurrogate","stringtrim","base64clean","dst","lens","getLens","validLen","placeHoldersLen","tmp","Arr","_byteLength","curByte","revLookup","uint8","extraBytes","len2","encodeChunk","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","Axios","mergeConfig","createInstance","defaultConfig","axios","instanceConfig","CancelToken","isCancel","promises","spread","InterceptorManager","dispatchRequest","interceptors","interceptor","fulfilled","rejected","getUri","use","eject","transformData","isAbsoluteURL","combineURLs","throwIfCancellationRequested","throwIfRequested","baseURL","fns","normalizedName","isAxiosError","columnNumber","ignoreDuplicateOf","originURL","msie","urlParsingNode","resolveURL","hostname","port","requestURL","expires","domain","secure","cookie","toGMTString","relativeURL","executor","resolvePromise","superCtor","super_","TempCtor","createThunkMiddleware","extraArgument","thunk","withExtraArgument","$scope","conflict","maxLength","toConsumableArray","conflictResolution","inherits$$1","Diff","kind","DiffEdit","DiffNew","DiffDeleted","DiffArray","arrayRemove","realTypeOf","subject","deepDiff","lhs","rhs","changes","prefilter","currentPath","ltype","rtype","ldefined","rdefined","akeys","pkeys","other","accumulateDiff","accum","applyChange","it","applyArrayChange","DeepDiff","observableDiff","applyDiff","revertChange","revertArrayChange","isConflict","noConflict","dictionary","getLogLevel","printBuffer","actionTransformer","_options$titleFormatt","titleFormatter","took","defaultTitleFormatter","isUsingDefaultFormatter","logEntry","started","startedTime","nextEntry","formattedAction","formattedTime","titleCSS","headerCSS","groupCollapsed","prevStateLevel","actionLevel","errorLevel","nextStateLevel","_styles","_styles2","_styles3","withTrace","groupEnd","diffLogger","defaults$1","logErrors","predicate","stateTransformer","errorTransformer","diffPredicate","transformer","createLogger","loggerOptions","logBuffer","returnedValue","defaultLogger","processContext","lastPlugin","extA","extB","bHasProcess","_arrForEach","_objDefineAccessors","_addChannelQueue","channelQueues","queueItem","_checkQueuePriority","_channelQueue","queues","getChannelControls","isCookieUseDisabled","channelQueue","channels","_createChannelQueues","initializePlugins","_staticInit","ChannelController","BaseTelemetryPlugin","_isInitialized","_extensions","_channelController","_setInit","_eventQueue","notificationManager","instrumentationKey","channelController","addNotificationListener","removeNotificationListener","eventsSent","eventsDiscarded","_notificationManager","NotificationManager","allExtensions","sortPlugins","coreExtensions","channelExtensions","extPriorities","extPriority","getTransmissionControls","telemetryItem","iKey","ver","thePlugins","EventsDiscardedReason","_notifyInvalidEvent","_validateTelemetryItem","pollInternalLogs","interval","diagnosticLogInterval","baseType","baseData","StorageType","FieldType","DistributedTracingModes","requestContextHeader","requestContextTargetKey","requestContextAppIdFormat","requestIdHeader","traceParentHeader","sdkContextHeader","sdkContextHeaderAppIdRequest","requestContextHeaderLowerCase","sanitizeKeyAndAddUniqueness","origLength","DataSanitizer","sanitizeKey","uniqueField","MAX_NAME_LENGTH","padNumber","nameTrunc","sanitizeString","valueTrunc","MAX_STRING_LENGTH","sanitizeUrl","sanitizeInput","MAX_URL_LENGTH","sanitizeMessage","messageTrunc","MAX_MESSAGE_LENGTH","sanitizeException","exceptionTrunc","MAX_EXCEPTION_LENGTH","sanitizeProperties","tempProps","MAX_PROPERTY_LENGTH","sanitizeMeasurements","measurements","tempMeasurements","sanitizeId","MAX_ID_LENGTH","_msgId","inputTrunc","_isString","_uaDisallowsSameSiteNone","createDomEvent","disableStorage","_canUseLocalStorage","_canUseSessionStorage","_getLocalStorageObject","canUseLocalStorage","_getVerifiedStorageObject","LocalStorage","storageType","fail","uid","storage","isInternalApplicationInsightsEndpoint","endpointUrl","_internalEndpoints","getStorage","getExceptionName","setStorage","removeStorage","_getSessionStorageObject","canUseSessionStorage","SessionStorage","getSessionStorageKeys","getSessionStorage","setSessionStorage","removeSessionStorage","canUseCookies","disallowsSameSiteNone","_endsWith","setCookie","domainAttrib","secureAttrib","stringToBoolOrDefault","getCookie","cookieName","deleteCookie","newId","random32","generateW3CId","hexValues","oct","clockSequenceHi","getIEVersion","userAgentStr","myNav","msToTimeSpan","totalms","ms","sec","isCrossOriginError","objectTypeDump","propertyValueDump","IsBeaconApiSupported","sendBeacon","getExtension","extension","extIx","NotSpecified","toISOStringForIE8","parseUrl","UrlHelper","htmlAnchorElement","parseHost","getAbsoluteUrl","getPathName","getCompleteUrl","absoluteUrl","canIncludeCorrelationHeader","requestUrl","currentHost","disableCorrelationHeaders","requestHost","enableCorsCorrelation","includedDomains","correlationHeaderDomains","regex","excludedDomains","correlationHeaderExcludedDomains","getCorrelationContext","responseHeader","correlationId","CorrelationIdHelper","getCorrelationContextValue","RequestHeaders","correlationIdPrefix","keyValues","keyValue","ParseDependencyPath","commandName","parsedUrl","pathName","Now","perf","timing","navigationStart","GetDuration","envelopeName","systemProperties","tags","DataPointType","Domain","aiDataContract","Required","Default","envelopeType","severityLevel","metrics","SeverityLevel","stdDev","Measurement","dataPoint","Metric","durationMs","PageView","unused","cs4BaseData","perfTotal","networkConnect","sentRequest","receivedResponse","domProcessing","hasFullStack","parsedStack","exceptions","problemGroup","isManual","Exception","CreateFromInterface","toInterface","CreateSimpleException","typeName","assembly","outerId","_ExceptionDetails","parseStack","frame","totalSizeInBytes","parsedFrame","sizeInBytes","acceptedLeft","acceptedRight","howMany","ExceptionDetails","sourceFrame","_StackFrame","baseSize","StackFrame","DisabledPropertyName","SampleRate","ProcessLegacy","HttpMethod","DEFAULT_BREEZE_ENDPOINT","connectionString","kvPairs","ConnectionStringParser","_FIELDS_SEPARATOR","kv","kvParts","_FIELD_KEY_VALUE_SEPARATOR","endpointsuffix","locationPrefix","ingestionendpoint","sampleRate","Hidden","resultCode","requestAPI","correlationContext","dependencyKind","dependencySource","dependencyTypeName","dependencyFields","configValue","applicationVersion","applicationBuild","applicationTypeId","applicationId","applicationLayer","deviceId","deviceIp","deviceLanguage","deviceLocale","deviceModel","deviceFriendlyName","deviceNetwork","deviceNetworkName","deviceOEMName","deviceOS","deviceOSVersion","deviceRoleInstance","deviceRoleName","deviceScreenResolution","deviceType","deviceMachineName","deviceVMName","deviceBrowser","deviceBrowserVersion","locationIp","locationCountry","locationProvince","locationCity","operationId","operationName","operationParentId","operationRootId","operationSyntheticSource","operationCorrelationVector","sessionId","sessionIsFirst","sessionIsNew","userAccountAcquisitionDate","userAccountId","userId","userStoreRegion","userAuthUserId","userAnonymousUserAcquisitionDate","userAuthenticatedUserAcquisitionDate","cloudName","cloudRole","cloudRoleVer","cloudRoleInstance","cloudEnvironment","cloudLocation","cloudDeploymentUnit","internalNodeName","internalSdkVersion","internalAgentVersion","UserExt","DeviceExt","TraceExt","WebExt","AppExt","OSExt","SessionExt","SDKExt","CtxTagKeys","ContextTagKeys","PropertiesPluginIdentifier","BreezeChannelIdentifier","appInsights","overridePageViewDuration","pageViewPerformanceManager","pageViewPerformanceSent","_pageViewPerformanceManager","_channel","_logger","isPerformanceTimingSupported","sendPageViewInternal","customDuration","pageViewSent","getPerformanceTiming","shouldCollectDuration","isPerformanceTimingDataReady","pageViewPerformance","populatePageViewPerformanceEvent","sendPageViewPerformanceInternal","pageVisitTimeTrackingHandler","prevPageVisitDataKeyName","trackPreviousPageVisit","currentPageName","currentPageUrl","prevPageVisitTimeData","restartPageVisitTimer","pageName","pageUrl","pageVisitTime","prevPageVisitData","stopPageVisitTimer","startPageVisitTimer","currPageVisitData","PageVisitData","currPageVisitDataStr","pageVisitEndTime","pageVisitDataJsonStr","pageVisitStartTime","MAX_DURATION_ALLOWED","navigationTiming","getPerformanceNavigationTiming","network","connectEnd","requestStart","responseStart","responseEnd","dom","loadEventEnd","isPerformanceNavigationTimingSupported","getEntriesByType","domainLookupStart","domLoading","_navigator","botAgentNames","isGoogleBot","durations","_dispatchEvent","evnt","autoRoutePVDelay","_trackAjaxAttempts","_prevUri","getDefaultConfig","sessionRenewalMs","sessionExpirationMs","disableExceptionTracking","autoTrackPageVisitTime","enableUnhandledPromiseRejectionTracking","samplingPercentage","isStorageUseDisabled","isBrowserLinkTrackingEnabled","enableAutoRouteTracking","namePrefix","doNotSendItem","telemetryInitializersCount","_telemetryInitializers","telemetryInitializer","trackEvent","startTrackEvent","_eventTracking","stopTrackEvent","trackTrace","inPv","_pageViewManager","_pageVisitTimeManager","refUri","referrer","trackPageViewPerformance","startTrackPage","_pageTracking","stopTrackPage","sendExceptionInternal","exceptionPartB","trackException","_onerror","URL","_sendCORSException","errorString","addTelemetryInitializer","_globalconfig","ApplicationInsights","configGetters","accountId","cookieDomain","sdkExtension","appId","trackPageVisitTime","_addDefaultTelemetryInitializers","pageViewItem","_history","_location","autoExceptionInstrumented","autoUnhandledPromiseInstrumented","_properties","telemetryTrace","traceID","_currUri","PageName","PageUrl","_addTelemetryInitializer","envelope","remoteData","_buffer","enqueue","batchPayloads","emitLineDelimitedJson","markAsSent","clearSent","_bufferFullMessageSent","bufferItems","getBuffer","SessionStorageSendBuffer","BUFFER_KEY","notDeliveredItems","SENT_BUFFER_KEY","MAX_BUFFER_SIZE","setBuffer","removePayloadsFromBuffer","sentElements","payloads","prefixedKey","bufferJson","extractPropsAndMeasurements","createEnvelope","iKeyNoDashes","EnvelopeCreator","extractPartAExtensions","user","authId","localId","app","sesId","device","deviceClass","ip","web","browserLang","browserVer","screenRes","userConsent","os","tgs","Create","customMeasurements","responseCode","DependencyEnvelopeCreator","EventEnvelopeCreator","ExceptionEnvelopeCreator","MetricEnvelopeCreator","currentContextId","pageType","isLoggedIn","pageTags","PageViewEnvelopeCreator","PageViewPerformanceEnvelopeCreator","TraceEnvelopeCreator","serialize","_serializeObject","_serializeStringMap","_serializeArray","contract","isPresent","sources","expectedType","Offline","_onlineStatus","_document","isListening","_setOnline","_setOffline","ononline","onoffline","isOnline","onLine","OfflineListener","getHashCodeScore","getHashCode","HashCodeScoreGenerator","INT_MAX_VALUE","MIN_INPUT_LENGTH","hashCodeGeneragor","getSamplingScore","samplingRate","samplingScoreGenerator","isSampledIn","_XMLHttpRequestSupported","constructEnvelope","orig","_getDefaultAppInsightsChannelConfig","maxBatchInterval","maxBatchSizeInBytes","disableTelemetry","enableSessionStorageBuffer","isRetryDisabled","isBeaconApiDisabled","onunloadDisableBeacon","_getEmptyAppInsightsChannelConfig","pause","resume","triggerSend","onunloadFlush","_senderConfig","_beaconSender","teardown","_serializer","_consecutiveErrors","_retryAt","_lastSend","_sender","Sender","ArraySendBuffer","_sample","_xhrSender","XDomainRequest","_xdrSender","_isSampledIn","callBack","bufferPayload","_setupTimer","_xhrReadyStateChange","xhr","countOfItemsInPayload","_appId","_parseResponse","_isRetriable","_resendPayload","_onError","_formatErrorMessageXhr","_onPartialSuccess","_onSuccess","forcedSender","_timeoutHandle","failed","retry","errors","extracted","statusCode","itemsAccepted","itemsReceived","_xdrOnLoad","xdr","_formatErrorMessageXdr","isAsync","plainTextBatch","Blob","linearFactor","_setRetryTime","delayInSeconds","backOffSlot","backOffDelay","retryAfterTimeSpan","retryInterval","timerValue","hostingProtocol","_SessionManager","_storageNamePrefix","cookieNameConst","automaticSession","Session","initializeAutomaticSession","acquisitionExpired","acquisitionDate","renewalExpired","renewalDate","renew","cookieUpdatedTimestamp","cookieUpdateInterval","backup","initializeAutomaticSessionWithData","sessionData","acq","renewal","guid","acquisitionExpiry","renewalExpiry","cookieExpiry","cookieDomnain","UTCString","acquisitionSpan","renewalSpan","sdkVersion","isNewUser","userCookieName","cookieSeparator","acqStr","accountAcquisitionDate","newCookie","authCookie","authUserCookieName","authCookieString","authenticatedId","setAuthenticatedUserContext","authenticatedUserId","storeInCookie","clearAuthenticatedUserContext","sessionManager","application","Application","Device","internal","Internal","Location","session","applySessionContext","sessionContext","applyOperatingSystemContxt","applyApplicationContext","build","applyDeviceContext","applyInternalContext","agentVersion","applyLocationContext","applyOperationContext","applyWebContext","applyUserContext","cleanUp","Extensions","PropertiesPlugin","_breezeChannel","_processTelemetryInternal","openDone","setRequestHeaderDone","sendDone","abortDone","onreadystatechangeCallbackAttached","spanID","completed","requestHeadersSize","ttfb","responseReceivingDuration","callbackDuration","ajaxTotalDuration","aborted","requestSize","requestSentTime","responseStartedTime","responseFinishedTime","callbackFinishedTime","endTime","originalOnreadystatechage","xhrMonitoringState","XHRMonitoringState","clientFailure","CalculateMetrics","traceId","spanId","traceFlag","Traceparent","DEFAULT_TRACE_FLAG","DEFAULT_VERSION","isValidTraceId","isValidSpanId","AjaxMonitor","getEmptyConfig","currentWindowHost","_fetchInitialized","maxAjaxCallsPerView","disableAjaxTracking","disableFetchTracking","distributedTracingMode","AI","enableRequestHeaderTracking","enableResponseHeaderTracking","enableAjaxErrorStatusText","getFailedAjaxDiagnosticsMessage","ajaxData","trackDependencyData","dependency","trackDependencyDataInternal","includeCorrelationHeaders","Headers","Request","_isUsingAIHeaders","_isUsingW3CHeaders","traceparent","AI_AND_W3C","W3C","instrumentXhr","instrumentFetch","propExt","supportsFetch","originalFetch","fetch","fetchMonitorInstance","fetchData","isFetchInstrumented","isMonitoredInstance","createFetchRecord","ajaxDiagnosticsMessage","getFailedFetchDiagnosticsMessage","onFetchComplete","onFetchFailed","supportsAjaxMonitoring","instrumentOpen","instrumentSend","instrumentAbort","instrumentSetRequestHeader","excludeAjaxDataValidation","disabledProperty","ajaxValidation","originalOpen","ajaxMonitorInstance","funcThis","openHandler","attachToOnReadyStateChange","originalSend","sendHandler","originalAbort","originalSetRequestHeader","onAjaxComplete","exceptionText","getAjaxCorrelationContext","responseHeadersString","fetchDiagnosticsMessage","getFetchCorrelationContext","Telemetry","snippet","ingest","instrumentationkey","getSKUDefaults","inPvp","loadAppInsights","legacyMode","appInsightsChannel","addHousekeepingBeforeUnload","updateSnippetDefinitions","appInsightsInstance","performHousekeeping","_sessionManager","disableFlushOnBeforeUnload","added","disableFlushOnUnload","appInsightsNew","_hasLegacyInitializers","_queue","AppInsightsDeprecated","addTelemetryInitializers","enableDebug","verboseLogging","_processLegacyInitializers","telemetry","trackDependency","totalTime","handledAt","downloadAndSetup","pagePath","getAppInsights","initialization","legacy","concatStyleSetsWithProps","allStyles","mergeStyleSets","mergeCssSets","classNameSet","concatenatedStyleSet","registrations","styleSetArea","registration","previousTargetProp","currentDoc","setVirtualParent","virtualChild","virtualParent","oldParent","ResultComponent","stateReducer","_resolveTokens","allTokens","currentTokens","_resolveStyles","viewProps","initialState","provideUnits","rtlifyRules","flipQuad","partIndex","numberVal","negateNum","globalSelectorRegExp","expandCommaSeparatedGlobals","selectorWithGlobals","replacementInfo","findGlobal","matchIndex","matchEndIndex","expandSelector","newSelector","currentSelector","__order","currentRules","expandedRules","selectorValue","commaSeparatedSelector","expandQuads","getKeyForRules","serialized","hasProps","rulesForSelector","serializeRuleEntries","ruleEntries","allEntries","styleToRegistration","rulesToInsert","applyRegistration","classMap","processedRule","amp","styleToClassName","globalSettings","callbacks","changeDescription","addChangeListener","__id__","removeChangeListener","_iconSettings","GlobalSettings","__options","disableWarnings","warnOnMissingIcons","__remapped","normalizeIconName","_missingIcons","_missingIconsTimer","_warnDuplicateIcon","timeline","rulesArray","_language","savedLanguage","getLanguage","_resetCounter","_emptyObject","empty","_dictionary","_weakMap","memoizeFunction","maxCacheSize","rootNode","localResetCounter","currentNode","_normalizeArg","applySettings","Customizations","_raiseChange","applyScopedSettings","localSettings","localScopedSettings","globalScopedSettings","property","isCircularReference","_makeSemanticColorsFromPalette","newPalette","newSemanticColors","defaultFontStyles","colorName","isHover","cssProperty","ICON_SIZES","initializeFileTypeIcons","iconTypes","fileTypeIcons","iconSubset","isRegistered","normalizedIconName","registerIcons","_initializeIcons","FileIconType","_extensionToIconName","getFileTypeIconProps","iconBaseName","_getFileTypeIconNameFromExtension","sharedFolder","imageFileType","devicePixelRatioSuffix","_getFileTypeIconSuffix","setTrue","setFalse","_getKey","defaultGetKey","_changeEventSuppressionCount","_exemptedCount","_anchoredIndex","_unselectableCount","_canSelectItem","_isModal","suppressChange","_hasChanged","_change","shouldClear","newKeyToIndexMap","newUnselectableIndices","hasSelectionChanged","_setAllSelected","newExemptedIndicies","newExemptedCount","indexProperty","_exemptedIndices","exemptKey","_items","_isAllSelected","_keyToIndexMap","_unselectableIndices","_selectedItems","_updateCount","_selectedIndices","selectableCount","isKeySelected","setKeySelected","shouldAnchor","isExempt","selectToKey","clearSelection","anchorIndex","toggleKeySelected","preserveModalState"],"mappings":"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C,MAAgB,OAChB,EAAAE,OAAiB,OACjB,EAAAE,MAAgB,OAJ/B,CAAiBlC,MAAa,M,6BC7E9B,w3BAAM8C,EAAc,W,IAAC,sDAGnB,IAFA,IAAMC,EAAiC,GAEpB,MAAAC,EAAA,eAGjB,IAHG,IAAMC,EAAI,KACP/D,EAAOzI,MAAMyM,QAAQD,GAAQA,EAAO3M,OAAO4I,KAAK+D,GAEpC,MAAA/D,EAAA,eAAM,CAAnB,IAAM5G,EAAG,KACZyK,EAAOzK,GAAO,EAIlB,OAAOyK,GAQII,EAAoBL,EAAY,CAC3C,SACA,QACA,UACA,mBACA,qBACA,sBACA,UACA,iBACA,SACA,gBACA,WACA,UACA,WACA,SACA,UACA,YACA,mBACA,aACA,UACA,UACA,YACA,mBACA,mBACA,YACA,cACA,UACA,eACA,mBACA,cACA,UACA,SACA,YACA,aACA,eACA,WACA,YACA,YACA,YACA,eACA,iBACA,YACA,UACA,iBACA,gBACA,gBACA,SACA,YACA,cACA,aACA,cACA,aACA,cACA,SACA,cACA,qBACA,eACA,eACA,cACA,aACA,cACA,YACA,mBACA,WACA,gBACA,aACA,cACA,eACA,WACA,UACA,kBACA,gBACA,iBACA,iBACA,gBACA,eACA,gBACA,cACA,sBACA,yBAQWM,EAAwBN,EAAY,CAC/C,YACA,WACA,YACA,kBACA,MACA,YACA,SACA,UACA,KACA,OACA,MACA,OACA,QACA,WACA,QACA,YACA,aACA,SAQWO,EAAwBP,EAAYM,EAAuBD,GAO3DG,EAAkBR,EAAYO,EAAuB,CAChE,SAQWE,EAAkBT,EAAYO,EAAuB,CAChE,SACA,OACA,QACA,UACA,MACA,UAQWG,EAAkBV,EAAYS,EAAiB,CAC1D,WAQWE,EAAeX,EAAYO,EAAuB,CAC7D,UAQWK,EAAeZ,EAAYO,EAAuB,CAC7D,UAQWM,EAAmBb,EAAYO,EAAuB,CACjE,WACA,OACA,WACA,QACA,MACA,SACA,SAQWO,EAAmBd,EAAYO,EAAuB,CACjE,YACA,WACA,OACA,aACA,cACA,aACA,iBACA,aACA,OACA,UAQWQ,EAAkBf,EAAYc,EAAkB,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AAE+4K,mCAKzBR,6BAA8B,CAC5B7tJ,gBAAiB1qB,EAAEioG,+BACnBphG,UAAW,CACT,SAAU,CACR6jB,gBAAiB1qB,EAAEioG,kCAKzBuwE,8BAA+B,CAC7B9tJ,gBAAiB1qB,EAAEioG,+BACnBphG,UAAW,CACT,SAAU,CACR6jB,gBAAiB1qB,EAAEioG,kCAKzBwwE,oBAAqB,CACnBvzJ,MAAOllB,EAAE+nG,mBAGX2wE,4BAA6B,CAC3BxzJ,MAAOhmB,EAAEs4F,gBAET3wF,WAAS,KACP,EAAC,KAAuB,CACtBqe,MAAO,YAEV,O,6BCnTP,kCAKO,IAAM8zJ,EAAgE,CAC3EC,MAAO,CACLC,WAAY,CAAC,QAAS,QAExBC,QAAS,CACPD,WAAY,CAAC,KAAM,MAAO,MAAO,MAAO,MAAO,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAExGE,MAAO,CACLF,WAAY,CACV,MACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,MACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,KACA,MACA,MACA,OAGJG,cAAe,GACf/xK,KAAM,CACJ4xK,WAAY,CACV,OACA,MACA,MACA,MACA,KACA,MACA,MACA,OACA,MACA,MACA,MACA,OACA,aACA,cACA,eACA,SACA,MACA,MACA,MACA,QACA,UACA,IACA,MACA,UACA,KACA,MACA,MACA,OACA,KACA,MACA,MACA,QACA,MACA,SACA,SACA,MACA,MACA,MACA,KACA,SACA,OACA,SACA,MACA,MACA,MACA,IACA,MACA,KACA,QACA,MACA,MACA,OACA,KACA,YACA,MACA,MACA,IACA,MACA,MACA,KACA,MACA,WACA,MACA,UACA,UACA,YACA,KACA,SACA,MACA,MACA,IACA,MACA,OACA,aACA,MACA,KACA,MACA,MACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,QACA,OACA,MACA,OACA,KACA,OACA,MACA,MACA,IACA,OACA,MACA,OACA,MACA,MACA,MACA,MACA,IACA,MACA,OACA,WACA,SACA,KACA,SACA,WACA,QACA,OACA,KACA,MACA,MACA,MACA,KACA,MACA,MACA,OACA,YACA,IACA,MACA,QACA,MACA,OACA,OACA,OACA,OACA,QACA,KACA,KACA,MACA,KACA,UACA,MACA,SACA,OACA,OACA,MACA,KACA,KACA,MACA,IACA,OACA,KACA,MACA,KACA,MACA,KACA,MACA,OACA,OACA,OACA,QACA,MACA,WACA,MACA,MACA,MACA,OACA,OACA,IACA,OACA,QACA,MACA,aACA,aACA,SACA,OACA,OACA,KACA,QACA,MACA,WACA,QACA,MACA,MACA,MACA,MACA,UACA,MACA,MACA,OACA,MACA,KACA,KACA,MACA,MACA,UACA,MACA,OACA,QACA,OACA,MACA,OACA,OACA,OACA,MACA,QAGJr1I,IAAK,GACLy1I,IAAK,CACHJ,WAAY,CAAC,QAEfK,OAAQ,GACRC,KAAM,CACJN,WAAY,CAAC,MAAO,OAAQ,OAAQ,SAEtCO,KAAM,CACJP,WAAY,CAAC,MAAO,OAAQ,SAE9BQ,MAAO,CACLR,WAAY,CAAC,MAAO,MAAO,MAAO,QAEpCS,IAAK,CACHT,WAAY,CAAC,cAAe,YAAa,MAAO,MAAO,OAAQ,MAAO,MAAO,MAAO,QAEtFU,OAAQ,GACRC,KAAM,CACJX,WAAY,CAAC,MAAO,MAAO,SAE7BY,YAAa,GACbC,KAAM,CACJb,WAAY,CAAC,MAAO,OAAQ,QAE9B9mF,KAAM,CACJ8mF,WAAY,CAAC,MAAO,OAAQ,MAAO,UAAW,WAEhDc,aAAc,GACdC,OAAQ,CACNf,WAAY,CAAC,aAEfgB,MAAO,CACLhB,WAAY,CACV,MACA,MACA,QACA,OACA,MACA,KACA,OACA,MACA,MACA,MACA,MACA,OACA,OACA,QACA,SACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,MACA,MAGJiB,IAAK,CACHjB,WAAY,CAAC,QAEfkB,IAAK,CACHlB,WAAY,CAAC,QAEfzmK,IAAK,CACHymK,WAAY,CAAC,QAEfmB,OAAQ,CACNnB,WAAY,CAAC,cAAe,SAAU,UAAW,WAEnDoB,IAAK,CACHpB,WAAY,CAAC,QAEfqB,MAAO,CACLrB,WAAY,CACV,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,MACA,MACA,OACA,MACA,MACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,QAGJsB,SAAU,GACVC,KAAM,CACJvB,WAAY,CAAC,MAAO,OAAQ,SAE9BwB,QAAS,CACPxB,WAAY,CAAC,SAEfyB,KAAM,CACJzB,WAAY,CAAC,MAAO,OAAQ,SAE9B0B,KAAM,CACJ1B,WAAY,CAAC,MAAO,OAAQ,OAAQ,OAAQ,SAE9C2B,aAAc,CACZ3B,WAAY,CAAC,MAAO,UAAW,QAEjC4B,IAAK,CACH5B,WAAY,CAAC,QAEf6B,IAAK,CACH7B,WAAY,CAAC,SAEf8B,QAAS,GACTC,YAAa,CACX/B,WAAY,CAAC,MAAO,MAAO,SAAU,YAEvCgC,IAAK,CACHhC,WAAY,CAAC,OAAQ,OAAQ,MAAO,MAAO,MAAO,UAEpDiC,aAAc,GACdC,KAAM,GACNC,QAAS,CACPnC,WAAY,CACV,MACA,MACA,MACA,QACA,MACA,MACA,QACA,MACA,KACA,MACA,MACA,MACA,QACA,MACA,KACA,MACA,SACA,SACA,MACA,OACA,MACA,MACA,MACA,OACA,MACA,MACA,OACA,MACA,QAGJoC,IAAK,CACHpC,WAAY,CAAC,MAAO,OAAQ,SAAU,MAAO,QAAS,aAAc,OAAQ,QAE9EqC,YAAa,GACbC,UAAW,GACXC,OAAQ,CACNvC,WAAY,CACV,KACA,MACA,MACA,QACA,KACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,KACA,MACA,OACA,MACA,OACA,MACA,KACA,WAGJwC,MAAO,CACLxC,WAAY,CACV,MACA,MACA,OACA,OACA,MACA,MACA,SACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,MACA,OACA,MACA,MACA,MACA,OACA,MACA,MACA,OACA,MACA,MACA,KACA,MACA,KACA,MACA,OACA,OACA,KACA,MACA,QAGJyC,SAAU,GACVC,KAAM,CA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","file":"static/js/2.8e757ffe.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}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { mergeStyles } from '../MergeStyles';\r\n\r\n/**\r\n * Builds a class names object from a given map.\r\n *\r\n * @param styles - Map of unprocessed styles.\r\n * @returns Map of property name to class name.\r\n */\r\nexport function buildClassMap(styles: T): { [key in keyof T]?: string } {\r\n let classes: { [key in keyof T]?: string } = {};\r\n\r\n for (let styleName in styles) {\r\n if (styles.hasOwnProperty(styleName)) {\r\n let className: string;\r\n\r\n Object.defineProperty(classes, styleName, {\r\n get: (): string => {\r\n if (className === undefined) {\r\n // tslint:disable-next-line:no-any\r\n className = mergeStyles(styles[styleName] as any).toString();\r\n }\r\n return className;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n }\r\n }\r\n\r\n return classes;\r\n}\r\n","import { buildClassMap } from '../utilities/index';\r\nimport { AnimationStyles } from '../styles/index';\r\nimport { IAnimationStyles } from '../interfaces/index';\r\n\r\n/**\r\n * {@docCategory AnimationClassNames}\r\n */\r\nexport const AnimationClassNames: { [key in keyof IAnimationStyles]?: string } = buildClassMap(AnimationStyles);\r\n","import { buildClassMap } from '../utilities/buildClassMap';\r\nimport { IFontStyles } from '../interfaces/IFontStyles';\r\nimport { DefaultFontStyles } from '../styles/DefaultFontStyles';\r\n\r\n/**\r\n * {@docCategory FontClassNames}\r\n */\r\nexport const FontClassNames: { [key in keyof IFontStyles]?: string } = buildClassMap(DefaultFontStyles);\r\n","import { Customizations, merge, getWindow } from '@uifabric/utilities';\r\nimport { IPalette, ISemanticColors, ITheme, IPartialTheme, IFontStyles } from '../interfaces/index';\r\nimport { DefaultFontStyles } from './DefaultFontStyles';\r\nimport { DefaultPalette } from './DefaultPalette';\r\nimport { DefaultSpacing } from './DefaultSpacing';\r\nimport { loadTheme as legacyLoadTheme } from '@microsoft/load-themed-styles';\r\nimport { DefaultEffects } from './DefaultEffects';\r\n\r\nlet _theme: ITheme = createTheme({\r\n palette: DefaultPalette,\r\n semanticColors: _makeSemanticColorsFromPalette(DefaultPalette, false, false),\r\n fonts: DefaultFontStyles,\r\n isInverted: false,\r\n disableGlobalClassNames: false\r\n});\r\nlet _onThemeChangeCallbacks: Array<(theme: ITheme) => void> = [];\r\n\r\nexport const ThemeSettingName = 'theme';\r\n\r\nif (!Customizations.getSettings([ThemeSettingName]).theme) {\r\n const win = getWindow();\r\n\r\n // tslint:disable:no-string-literal no-any\r\n if (win && (win as any)['FabricConfig'] && (win as any)['FabricConfig'].theme) {\r\n _theme = createTheme((win as any)['FabricConfig'].theme);\r\n }\r\n // tslint:enable:no-string-literal no-any\r\n\r\n // Set the default theme.\r\n Customizations.applySettings({ [ThemeSettingName]: _theme });\r\n}\r\n\r\n/**\r\n * Gets the theme object\r\n * @param depComments - Whether to include deprecated tags as comments for deprecated slots.\r\n */\r\nexport function getTheme(depComments: boolean = false): ITheme {\r\n if (depComments === true) {\r\n _theme = createTheme({}, depComments);\r\n }\r\n return _theme;\r\n}\r\n\r\n/**\r\n * Registers a callback that gets called whenever the theme changes.\r\n * This should only be used when the component cannot automatically get theme changes through its state.\r\n * This will not register duplicate callbacks.\r\n */\r\nexport function registerOnThemeChangeCallback(callback: (theme: ITheme) => void): void {\r\n if (_onThemeChangeCallbacks.indexOf(callback) === -1) {\r\n _onThemeChangeCallbacks.push(callback);\r\n }\r\n}\r\n\r\n/**\r\n * See registerOnThemeChangeCallback().\r\n * Removes previously registered callbacks.\r\n */\r\nexport function removeOnThemeChangeCallback(callback: (theme: ITheme) => void): void {\r\n const i = _onThemeChangeCallbacks.indexOf(callback);\r\n if (i === -1) {\r\n return;\r\n }\r\n\r\n _onThemeChangeCallbacks.splice(i, 1);\r\n}\r\n\r\n/**\r\n * Applies the theme, while filling in missing slots.\r\n * @param theme - Partial theme object.\r\n * @param depComments - Whether to include deprecated tags as comments for deprecated slots.\r\n */\r\nexport function loadTheme(theme: IPartialTheme, depComments: boolean = false): ITheme {\r\n _theme = createTheme(theme, depComments);\r\n\r\n // Invoke the legacy method of theming the page as well.\r\n legacyLoadTheme({ ..._theme.palette, ..._theme.semanticColors, ..._theme.effects, ..._loadFonts(_theme) });\r\n\r\n Customizations.applySettings({ [ThemeSettingName]: _theme });\r\n\r\n _onThemeChangeCallbacks.forEach((callback: (theme: ITheme) => void) => {\r\n try {\r\n callback(_theme);\r\n } catch (e) {\r\n // don't let a bad callback break everything else\r\n }\r\n });\r\n\r\n return _theme;\r\n}\r\n\r\n/**\r\n * Loads font variables into a JSON object.\r\n * @param theme - The theme object\r\n */\r\nfunction _loadFonts(theme: ITheme): { [name: string]: string } {\r\n const lines = {};\r\n\r\n for (const fontName of Object.keys(theme.fonts)) {\r\n const font = theme.fonts[fontName];\r\n for (const propName of Object.keys(font)) {\r\n const name = 'ms-font-' + fontName + '-' + propName;\r\n lines[name] = `\"[theme:${name}, default: ${font[propName]}]\"`;\r\n }\r\n }\r\n return lines;\r\n}\r\n\r\n/**\r\n * Creates a custom theme definition which can be used with the Customizer.\r\n * @param theme - Partial theme object.\r\n * @param depComments - Whether to include deprecated tags as comments for deprecated slots.\r\n */\r\nexport function createTheme(theme: IPartialTheme, depComments: boolean = false): ITheme {\r\n let newPalette = { ...DefaultPalette, ...theme.palette };\r\n\r\n if (!theme.palette || !theme.palette.accent) {\r\n newPalette.accent = newPalette.themePrimary;\r\n }\r\n\r\n // mix in custom overrides with good slots first, since custom overrides might be used in fixing deprecated slots\r\n let newSemanticColors = {\r\n ..._makeSemanticColorsFromPalette(newPalette, !!theme.isInverted, depComments),\r\n ...theme.semanticColors\r\n };\r\n\r\n let defaultFontStyles: IFontStyles = { ...DefaultFontStyles };\r\n\r\n if (theme.defaultFontStyle) {\r\n for (const fontStyle of Object.keys(defaultFontStyles)) {\r\n defaultFontStyles[fontStyle] = merge({}, defaultFontStyles[fontStyle], theme.defaultFontStyle);\r\n }\r\n }\r\n\r\n if (theme.fonts) {\r\n for (const fontStyle of Object.keys(theme.fonts)) {\r\n defaultFontStyles[fontStyle] = merge({}, defaultFontStyles[fontStyle], theme.fonts[fontStyle]);\r\n }\r\n }\r\n\r\n return {\r\n palette: newPalette,\r\n fonts: {\r\n ...defaultFontStyles\r\n },\r\n semanticColors: newSemanticColors,\r\n isInverted: !!theme.isInverted,\r\n disableGlobalClassNames: !!theme.disableGlobalClassNames,\r\n spacing: {\r\n ...DefaultSpacing,\r\n ...theme.spacing\r\n },\r\n effects: {\r\n ...DefaultEffects,\r\n ...theme.effects\r\n }\r\n };\r\n}\r\n\r\n/**\r\n * Helper to pull a given property name from a given set of sources, in order, if available. Otherwise returns the property name.\r\n */\r\nfunction _expandFrom(propertyName: string | TRetVal | undefined, ...maps: TMapType[]): TRetVal {\r\n if (propertyName) {\r\n for (const map of maps) {\r\n if (map[propertyName as string]) {\r\n return map[propertyName as string];\r\n }\r\n }\r\n }\r\n\r\n return propertyName as TRetVal;\r\n}\r\n\r\n// Generates all the semantic slot colors based on the Fabric palette.\r\n// We'll use these as fallbacks for semantic slots that the passed in theme did not define.\r\nfunction _makeSemanticColorsFromPalette(p: IPalette, isInverted: boolean, depComments: boolean): ISemanticColors {\r\n let toReturn: ISemanticColors = {\r\n bodyBackground: p.white,\r\n bodyStandoutBackground: p.neutralLighterAlt,\r\n bodyFrameBackground: p.white,\r\n bodyFrameDivider: p.neutralLight,\r\n bodyText: p.neutralPrimary,\r\n bodyTextChecked: p.black,\r\n bodySubtext: p.neutralSecondary,\r\n bodyDivider: p.neutralLight,\r\n\r\n disabledBackground: p.neutralLighter,\r\n disabledText: p.neutralTertiary,\r\n disabledBodyText: p.neutralTertiary,\r\n disabledSubtext: p.neutralQuaternary,\r\n disabledBodySubtext: p.neutralTertiaryAlt,\r\n\r\n focusBorder: p.neutralSecondary,\r\n variantBorder: p.neutralLight,\r\n variantBorderHovered: p.neutralTertiary,\r\n defaultStateBackground: p.neutralLighterAlt,\r\n\r\n errorText: !isInverted ? p.redDark : '#ff5f5f',\r\n warningText: !isInverted ? '#333333' : '#ffffff',\r\n errorBackground: !isInverted ? 'rgba(245, 135, 145, .2)' : 'rgba(232, 17, 35, .5)',\r\n blockingBackground: !isInverted ? 'rgba(250, 65, 0, .2)' : 'rgba(234, 67, 0, .5)',\r\n warningBackground: !isInverted ? 'rgba(255, 200, 10, .2)' : 'rgba(255, 251, 0, .6)',\r\n warningHighlight: !isInverted ? '#ffb900' : '#fff100',\r\n successBackground: !isInverted ? 'rgba(95, 210, 85, .2)' : 'rgba(186, 216, 10, .4)',\r\n\r\n inputBorder: p.neutralSecondaryAlt,\r\n inputBorderHovered: p.neutralPrimary,\r\n inputBackground: p.white,\r\n inputBackgroundChecked: p.themePrimary,\r\n inputBackgroundCheckedHovered: p.themeDarkAlt,\r\n inputForegroundChecked: p.white,\r\n inputFocusBorderAlt: p.themePrimary,\r\n smallInputBorder: p.neutralSecondary,\r\n inputText: p.neutralPrimary,\r\n inputTextHovered: p.neutralDark,\r\n inputPlaceholderText: p.neutralSecondary,\r\n\r\n buttonBackground: p.neutralLighter,\r\n buttonBackgroundChecked: p.neutralTertiaryAlt,\r\n buttonBackgroundHovered: p.neutralLight,\r\n buttonBackgroundCheckedHovered: p.neutralLight,\r\n buttonBackgroundPressed: p.neutralLight,\r\n buttonBackgroundDisabled: p.neutralLighter,\r\n buttonBorder: p.neutralSecondaryAlt,\r\n buttonText: p.neutralPrimary,\r\n buttonTextHovered: p.neutralDark,\r\n buttonTextChecked: p.neutralDark,\r\n buttonTextCheckedHovered: p.black,\r\n buttonTextPressed: p.neutralDark,\r\n buttonTextDisabled: p.neutralTertiary,\r\n buttonBorderDisabled: p.neutralLighter,\r\n\r\n primaryButtonBackground: p.themePrimary,\r\n primaryButtonBackgroundHovered: p.themeDarkAlt,\r\n primaryButtonBackgroundPressed: p.themeDark,\r\n primaryButtonBackgroundDisabled: p.neutralLighter,\r\n primaryButtonBorder: 'transparent',\r\n primaryButtonText: p.white,\r\n primaryButtonTextHovered: p.white,\r\n primaryButtonTextPressed: p.white,\r\n primaryButtonTextDisabled: p.neutralQuaternary,\r\n\r\n accentButtonBackground: p.accent,\r\n accentButtonText: p.white,\r\n\r\n menuBackground: p.white,\r\n menuDivider: p.neutralTertiaryAlt,\r\n menuIcon: p.themePrimary,\r\n menuHeader: p.themePrimary,\r\n menuItemBackgroundHovered: p.neutralLighter,\r\n menuItemBackgroundPressed: p.neutralLight,\r\n menuItemText: p.neutralPrimary,\r\n menuItemTextHovered: p.neutralDark,\r\n\r\n listBackground: p.white,\r\n listText: p.neutralPrimary,\r\n listItemBackgroundHovered: p.neutralLighter,\r\n listItemBackgroundChecked: p.neutralLight,\r\n listItemBackgroundCheckedHovered: p.neutralQuaternaryAlt,\r\n\r\n listHeaderBackgroundHovered: p.neutralLighter,\r\n listHeaderBackgroundPressed: p.neutralLight,\r\n\r\n actionLink: p.neutralPrimary,\r\n actionLinkHovered: p.neutralDark,\r\n link: p.themePrimary,\r\n linkHovered: p.themeDarker,\r\n\r\n // Deprecated slots, second pass by _fixDeprecatedSlots() later for self-referential slots\r\n listTextColor: '',\r\n menuItemBackgroundChecked: p.neutralLight\r\n };\r\n\r\n return _fixDeprecatedSlots(toReturn, depComments!);\r\n}\r\n\r\nfunction _fixDeprecatedSlots(s: ISemanticColors, depComments: boolean): ISemanticColors {\r\n // Add @deprecated tag as comment if enabled\r\n let dep = '';\r\n if (depComments === true) {\r\n dep = ' /* @deprecated */';\r\n }\r\n\r\n s.listTextColor = s.listText + dep;\r\n s.menuItemBackgroundChecked += dep;\r\n return s;\r\n}\r\n","import { IRawStyle, mergeStyles } from '@uifabric/merge-styles';\r\nimport { DefaultPalette } from '../styles/DefaultPalette';\r\nimport { getTheme } from '../styles/index';\r\n\r\n/**\r\n * {@docCategory IColorClassNames}\r\n */\r\nexport interface IColorClassNames {\r\n themeDarker: string;\r\n themeDarkerHover: string;\r\n themeDarkerBackground: string;\r\n themeDarkerBackgroundHover: string;\r\n themeDarkerBorder: string;\r\n themeDarkerBorderHover: string;\r\n themeDark: string;\r\n themeDarkHover: string;\r\n themeDarkBackground: string;\r\n themeDarkBackgroundHover: string;\r\n themeDarkBorder: string;\r\n themeDarkBorderHover: string;\r\n themeDarkAlt: string;\r\n themeDarkAltHover: string;\r\n themeDarkAltBackground: string;\r\n themeDarkAltBackgroundHover: string;\r\n themeDarkAltBorder: string;\r\n themeDarkAltBorderHover: string;\r\n themePrimary: string;\r\n themePrimaryHover: string;\r\n themePrimaryBackground: string;\r\n themePrimaryBackgroundHover: string;\r\n themePrimaryBorder: string;\r\n themePrimaryBorderHover: string;\r\n themeSecondary: string;\r\n themeSecondaryHover: string;\r\n themeSecondaryBackground: string;\r\n themeSecondaryBackgroundHover: string;\r\n themeSecondaryBorder: string;\r\n themeSecondaryBorderHover: string;\r\n themeTertiary: string;\r\n themeTertiaryHover: string;\r\n themeTertiaryBackground: string;\r\n themeTertiaryBackgroundHover: string;\r\n themeTertiaryBorder: string;\r\n themeTertiaryBorderHover: string;\r\n themeLight: string;\r\n themeLightHover: string;\r\n themeLightBackground: string;\r\n themeLightBackgroundHover: string;\r\n themeLightBorder: string;\r\n themeLightBorderHover: string;\r\n themeLighter: string;\r\n themeLighterHover: string;\r\n themeLighterBackground: string;\r\n themeLighterBackgroundHover: string;\r\n themeLighterBorder: string;\r\n themeLighterBorderHover: string;\r\n themeLighterAlt: string;\r\n themeLighterAltHover: string;\r\n themeLighterAltBackground: string;\r\n themeLighterAltBackgroundHover: string;\r\n themeLighterAltBorder: string;\r\n themeLighterAltBorderHover: string;\r\n black: string;\r\n blackHover: string;\r\n blackBackground: string;\r\n blackBackgroundHover: string;\r\n blackBorder: string;\r\n blackBorderHover: string;\r\n blackTranslucent40: string;\r\n blackTranslucent40Hover: string;\r\n blackTranslucent40Background: string;\r\n blackTranslucent40BackgroundHover: string;\r\n blackTranslucent40Border: string;\r\n blackTranslucent40BorderHover: string;\r\n neutralDark: string;\r\n neutralDarkHover: string;\r\n neutralDarkBackground: string;\r\n neutralDarkBackgroundHover: string;\r\n neutralDarkBorder: string;\r\n neutralDarkBorderHover: string;\r\n neutralPrimary: string;\r\n neutralPrimaryHover: string;\r\n neutralPrimaryBackground: string;\r\n neutralPrimaryBackgroundHover: string;\r\n neutralPrimaryBorder: string;\r\n neutralPrimaryBorderHover: string;\r\n neutralPrimaryAlt: string;\r\n neutralPrimaryAltHover: string;\r\n neutralPrimaryAltBackground: string;\r\n neutralPrimaryAltBackgroundHover: string;\r\n neutralPrimaryAltBorder: string;\r\n neutralPrimaryAltBorderHover: string;\r\n neutralSecondary: string;\r\n neutralSecondaryHover: string;\r\n neutralSecondaryBackground: string;\r\n neutralSecondaryBackgroundHover: string;\r\n neutralSecondaryBorder: string;\r\n neutralSecondaryBorderHover: string;\r\n neutralSecondaryAlt: string;\r\n neutralSecondaryAltHover: string;\r\n neutralSecondaryAltBackground: string;\r\n neutralSecondaryAltBackgroundHover: string;\r\n neutralSecondaryAltBorder: string;\r\n neutralSecondaryAltBorderHover: string;\r\n neutralTertiary: string;\r\n neutralTertiaryHover: string;\r\n neutralTertiaryBackground: string;\r\n neutralTertiaryBackgroundHover: string;\r\n neutralTertiaryBorder: string;\r\n neutralTertiaryBorderHover: string;\r\n neutralTertiaryAlt: string;\r\n neutralTertiaryAltHover: string;\r\n neutralTertiaryAltBackground: string;\r\n neutralTertiaryAltBackgroundHover: string;\r\n neutralTertiaryAltBorder: string;\r\n neutralTertiaryAltBorderHover: string;\r\n neutralQuaternary: string;\r\n neutralQuaternaryHover: string;\r\n neutralQuaternaryBackground: string;\r\n neutralQuaternaryBackgroundHover: string;\r\n neutralQuaternaryBorder: string;\r\n neutralQuaternaryBorderHover: string;\r\n neutralQuaternaryAlt: string;\r\n neutralQuaternaryAltHover: string;\r\n neutralQuaternaryAltBackground: string;\r\n neutralQuaternaryAltBackgroundHover: string;\r\n neutralQuaternaryAltBorder: string;\r\n neutralQuaternaryAltBorderHover: string;\r\n neutralLight: string;\r\n neutralLightHover: string;\r\n neutralLightBackground: string;\r\n neutralLightBackgroundHover: string;\r\n neutralLightBorder: string;\r\n neutralLightBorderHover: string;\r\n neutralLighter: string;\r\n neutralLighterHover: string;\r\n neutralLighterBackground: string;\r\n neutralLighterBackgroundHover: string;\r\n neutralLighterBorder: string;\r\n neutralLighterBorderHover: string;\r\n neutralLighterAlt: string;\r\n neutralLighterAltHover: string;\r\n neutralLighterAltBackground: string;\r\n neutralLighterAltBackgroundHover: string;\r\n neutralLighterAltBorder: string;\r\n neutralLighterAltBorderHover: string;\r\n white: string;\r\n whiteHover: string;\r\n whiteBackground: string;\r\n whiteBackgroundHover: string;\r\n whiteBorder: string;\r\n whiteBorderHover: string;\r\n whiteTranslucent40: string;\r\n whiteTranslucent40Hover: string;\r\n whiteTranslucent40Background: string;\r\n whiteTranslucent40BackgroundHover: string;\r\n whiteTranslucent40Border: string;\r\n whiteTranslucent40BorderHover: string;\r\n yellow: string;\r\n yellowHover: string;\r\n yellowBackground: string;\r\n yellowBackgroundHover: string;\r\n yellowBorder: string;\r\n yellowBorderHover: string;\r\n yellowLight: string;\r\n yellowLightHover: string;\r\n yellowLightBackground: string;\r\n yellowLightBackgroundHover: string;\r\n yellowLightBorder: string;\r\n yellowLightBorderHover: string;\r\n orange: string;\r\n orangeHover: string;\r\n orangeBackground: string;\r\n orangeBackgroundHover: string;\r\n orangeBorder: string;\r\n orangeBorderHover: string;\r\n orangeLight: string;\r\n orangeLightHover: string;\r\n orangeLightBackground: string;\r\n orangeLightBackgroundHover: string;\r\n orangeLightBorder: string;\r\n orangeLightBorderHover: string;\r\n orangeLighter: string;\r\n orangeLighterHover: string;\r\n orangeLighterBackground: string;\r\n orangeLighterBackgroundHover: string;\r\n orangeLighterBorder: string;\r\n orangeLighterBorderHover: string;\r\n redDark: string;\r\n redDarkHover: string;\r\n redDarkBackground: string;\r\n redDarkBackgroundHover: string;\r\n redDarkBorder: string;\r\n redDarkBorderHover: string;\r\n red: string;\r\n redHover: string;\r\n redBackground: string;\r\n redBackgroundHover: string;\r\n redBorder: string;\r\n redBorderHover: string;\r\n magentaDark: string;\r\n magentaDarkHover: string;\r\n magentaDarkBackground: string;\r\n magentaDarkBackgroundHover: string;\r\n magentaDarkBorder: string;\r\n magentaDarkBorderHover: string;\r\n magenta: string;\r\n magentaHover: string;\r\n magentaBackground: string;\r\n magentaBackgroundHover: string;\r\n magentaBorder: string;\r\n magentaBorderHover: string;\r\n magentaLight: string;\r\n magentaLightHover: string;\r\n magentaLightBackground: string;\r\n magentaLightBackgroundHover: string;\r\n magentaLightBorder: string;\r\n magentaLightBorderHover: string;\r\n purpleDark: string;\r\n purpleDarkHover: string;\r\n purpleDarkBackground: string;\r\n purpleDarkBackgroundHover: string;\r\n purpleDarkBorder: string;\r\n purpleDarkBorderHover: string;\r\n purple: string;\r\n purpleHover: string;\r\n purpleBackground: string;\r\n purpleBackgroundHover: string;\r\n purpleBorder: string;\r\n purpleBorderHover: string;\r\n purpleLight: string;\r\n purpleLightHover: string;\r\n purpleLightBackground: string;\r\n purpleLightBackgroundHover: string;\r\n purpleLightBorder: string;\r\n purpleLightBorderHover: string;\r\n blueDark: string;\r\n blueDarkHover: string;\r\n blueDarkBackground: string;\r\n blueDarkBackgroundHover: string;\r\n blueDarkBorder: string;\r\n blueDarkBorderHover: string;\r\n blueMid: string;\r\n blueMidHover: string;\r\n blueMidBackground: string;\r\n blueMidBackgroundHover: string;\r\n blueMidBorder: string;\r\n blueMidBorderHover: string;\r\n blue: string;\r\n blueHover: string;\r\n blueBackground: string;\r\n blueBackgroundHover: string;\r\n blueBorder: string;\r\n blueBorderHover: string;\r\n blueLight: string;\r\n blueLightHover: string;\r\n blueLightBackground: string;\r\n blueLightBackgroundHover: string;\r\n blueLightBorder: string;\r\n blueLightBorderHover: string;\r\n tealDark: string;\r\n tealDarkHover: string;\r\n tealDarkBackground: string;\r\n tealDarkBackgroundHover: string;\r\n tealDarkBorder: string;\r\n tealDarkBorderHover: string;\r\n teal: string;\r\n tealHover: string;\r\n tealBackground: string;\r\n tealBackgroundHover: string;\r\n tealBorder: string;\r\n tealBorderHover: string;\r\n tealLight: string;\r\n tealLightHover: string;\r\n tealLightBackground: string;\r\n tealLightBackgroundHover: string;\r\n tealLightBorder: string;\r\n tealLightBorderHover: string;\r\n greenDark: string;\r\n greenDarkHover: string;\r\n greenDarkBackground: string;\r\n greenDarkBackgroundHover: string;\r\n greenDarkBorder: string;\r\n greenDarkBorderHover: string;\r\n green: string;\r\n greenHover: string;\r\n greenBackground: string;\r\n greenBackgroundHover: string;\r\n greenBorder: string;\r\n greenBorderHover: string;\r\n greenLight: string;\r\n greenLightHover: string;\r\n greenLightBackground: string;\r\n greenLightBackgroundHover: string;\r\n greenLightBorder: string;\r\n greenLightBorderHover: string;\r\n}\r\n\r\nexport const ColorClassNames: IColorClassNames = {} as IColorClassNames;\r\n\r\nfor (const colorName in DefaultPalette) {\r\n if (DefaultPalette.hasOwnProperty(colorName)) {\r\n // Foreground color\r\n _defineGetter(ColorClassNames, colorName, '', false, 'color');\r\n\r\n // Hover color\r\n _defineGetter(ColorClassNames, colorName, 'Hover', true, 'color');\r\n\r\n // Background color\r\n _defineGetter(ColorClassNames, colorName, 'Background', false, 'background');\r\n\r\n // Background hover\r\n _defineGetter(ColorClassNames, colorName, 'BackgroundHover', true, 'background');\r\n\r\n // Border color\r\n _defineGetter(ColorClassNames, colorName, 'Border', false, 'borderColor');\r\n\r\n // Border hover color\r\n _defineGetter(ColorClassNames, colorName, 'BorderHover', true, 'borderColor');\r\n }\r\n}\r\n\r\n/**\r\n * Defines a getter for the given class configuration.\r\n */\r\nfunction _defineGetter(obj: IColorClassNames, colorName: string, suffix: string, isHover: boolean, cssProperty: string): void {\r\n Object.defineProperty(obj, colorName + suffix, {\r\n get: (): string => {\r\n // tslint:disable-next-line:no-any\r\n const style: IRawStyle = { [cssProperty]: (getTheme().palette as any)[colorName] };\r\n\r\n return mergeStyles(isHover ? { selectors: { ':hover': style } } : style).toString();\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n}\r\n","export const HighContrastSelector = '@media screen and (-ms-high-contrast: active)';\r\nexport const HighContrastSelectorWhite = '@media screen and (-ms-high-contrast: black-on-white)';\r\nexport const HighContrastSelectorBlack = '@media screen and (-ms-high-contrast: white-on-black)';\r\n\r\nexport const ScreenWidthMinSmall = 320;\r\nexport const ScreenWidthMinMedium = 480;\r\nexport const ScreenWidthMinLarge = 640;\r\nexport const ScreenWidthMinXLarge = 1024;\r\nexport const ScreenWidthMinXXLarge = 1366;\r\nexport const ScreenWidthMinXXXLarge = 1920;\r\nexport const ScreenWidthMaxSmall = ScreenWidthMinMedium - 1;\r\nexport const ScreenWidthMaxMedium = ScreenWidthMinLarge - 1;\r\nexport const ScreenWidthMaxLarge = ScreenWidthMinXLarge - 1;\r\nexport const ScreenWidthMaxXLarge = ScreenWidthMinXXLarge - 1;\r\nexport const ScreenWidthMaxXXLarge = ScreenWidthMinXXXLarge - 1;\r\n\r\nexport const ScreenWidthMinUhfMobile = 768;\r\n\r\nexport function getScreenSelector(min: number, max: number): string {\r\n return `@media only screen and (min-width: ${min}px) and (max-width: ${max}px)`;\r\n}\r\n","export namespace ZIndexes {\r\n export const Nav: number = 1;\r\n /**\r\n * @deprecated ScrollablePane\r\n */\r\n export const ScrollablePane: number = 1;\r\n export const FocusStyle: number = 1;\r\n export const Coachmark: number = 1000;\r\n export const Layer: number = 1000000;\r\n export const KeytipLayer: number = 1000001;\r\n}\r\n","import { IRawStyle } from '@uifabric/merge-styles';\r\nimport { IGetFocusStylesOptions, ITheme } from '../interfaces/index';\r\nimport { HighContrastSelector } from './CommonStyles';\r\nimport { IsFocusVisibleClassName } from '@uifabric/utilities';\r\nimport { ZIndexes } from './zIndexes';\r\n\r\n/**\r\n * Generates a focus style which can be used to define an :after focus border.\r\n *\r\n * @param theme - The theme object to use.\r\n * @param options - Options to customize the focus border.\r\n * @returns The style object.\r\n */\r\nexport function getFocusStyle(theme: ITheme, options?: IGetFocusStylesOptions): IRawStyle;\r\n/**\r\n * Generates a focus style which can be used to define an :after focus border.\r\n *\r\n * @param theme - The theme object to use.\r\n * @param inset - The number of pixels to inset the border.\r\n * @param position - The positioning applied to the container. Must\r\n * be 'relative' or 'absolute' so that the focus border can live around it.\r\n * @param highContrastStyle - Style for high contrast mode.\r\n * @param borderColor - Color of the border.\r\n * @param outlineColor - Color of the outline.\r\n * @param isFocusedOnly - If the styles should apply on focus or not.\r\n * @returns The style object.\r\n * @deprecated Use the object parameter version instead.\r\n */\r\nexport function getFocusStyle(\r\n theme: ITheme,\r\n inset?: number,\r\n position?: 'relative' | 'absolute',\r\n highContrastStyle?: IRawStyle | undefined,\r\n borderColor?: string,\r\n outlineColor?: string,\r\n isFocusedOnly?: boolean\r\n): IRawStyle;\r\nexport function getFocusStyle(\r\n theme: ITheme,\r\n insetOrOptions?: number | IGetFocusStylesOptions,\r\n position?: 'relative' | 'absolute',\r\n highContrastStyle?: IRawStyle,\r\n borderColor?: string,\r\n outlineColor?: string,\r\n isFocusedOnly?: boolean\r\n): IRawStyle {\r\n if (typeof insetOrOptions === 'number' || !insetOrOptions) {\r\n return _getFocusStyleInternal(theme, { inset: insetOrOptions, position, highContrastStyle, borderColor, outlineColor, isFocusedOnly });\r\n } else {\r\n return _getFocusStyleInternal(theme, insetOrOptions);\r\n }\r\n}\r\n\r\nfunction _getFocusStyleInternal(theme: ITheme, options: IGetFocusStylesOptions = {}): IRawStyle {\r\n const {\r\n inset = 0,\r\n width = 1,\r\n position = 'relative',\r\n highContrastStyle,\r\n borderColor = theme.palette.white,\r\n outlineColor = theme.palette.neutralSecondary,\r\n isFocusedOnly = true\r\n } = options;\r\n\r\n return {\r\n // Clear browser-specific focus styles and use 'transparent' as placeholder for focus style.\r\n outline: 'transparent',\r\n // Requirement because pseudo-element is absolutely positioned.\r\n position,\r\n\r\n selectors: {\r\n // Clear the focus border in Firefox.\r\n // Reference: http://stackoverflow.com/a/199319/1436671\r\n '::-moz-focus-inner': {\r\n border: '0'\r\n },\r\n\r\n // When the element that uses this mixin is in a :focus state, add a pseudo-element to\r\n // create a border.\r\n [`.${IsFocusVisibleClassName} &${isFocusedOnly ? ':focus' : ''}:after`]: {\r\n content: '\"\"',\r\n position: 'absolute',\r\n left: inset + 1,\r\n top: inset + 1,\r\n bottom: inset + 1,\r\n right: inset + 1,\r\n border: `${width}px solid ${borderColor}`,\r\n outline: `${width}px solid ${outlineColor}`,\r\n zIndex: ZIndexes.FocusStyle,\r\n selectors: {\r\n [HighContrastSelector]: highContrastStyle\r\n }\r\n }\r\n }\r\n };\r\n}\r\n\r\n/**\r\n * Generates style to clear browser specific focus styles.\r\n */\r\nexport function focusClear(): IRawStyle {\r\n return {\r\n selectors: {\r\n '&::-moz-focus-inner': {\r\n // Clear the focus border in Firefox. Reference: http://stackoverflow.com/a/199319/1436671\r\n border: 0\r\n },\r\n '&': {\r\n // Clear browser specific focus styles and use transparent as placeholder for focus style\r\n outline: 'transparent'\r\n }\r\n }\r\n };\r\n}\r\n\r\n/**\r\n * Generates a style which can be used to set a border on focus.\r\n *\r\n * @param theme - The theme object to use.\r\n * @param inset - The number of pixels to inset the border (default 0)\r\n * @param width - The border width in pixels (default 1)\r\n * @param color - Color of the outline (default `theme.palette.neutralSecondary`)\r\n * @returns The style object.\r\n */\r\nexport function getFocusOutlineStyle(theme: ITheme, inset: number = 0, width: number = 1, color?: string): IRawStyle {\r\n return {\r\n selectors: {\r\n [`:global(${IsFocusVisibleClassName}) &:focus`]: {\r\n outline: `${width} solid ${color || theme.palette.neutralSecondary}`,\r\n outlineOffset: `${-inset}px`\r\n }\r\n }\r\n };\r\n}\r\n","import { IRawStyle } from '@uifabric/merge-styles';\r\n\r\nexport const hiddenContentStyle: IRawStyle = {\r\n position: 'absolute',\r\n width: 1,\r\n height: 1,\r\n margin: -1,\r\n padding: 0,\r\n border: 0,\r\n overflow: 'hidden'\r\n};\r\n","import { IRawStyle, keyframes } from '@uifabric/merge-styles';\r\n\r\nconst DEFAULT_DURATION = '14s';\r\nconst DEFAULT_DELAY = '2s';\r\nconst DEFAULT_ITERATION_COUNT = '1';\r\n\r\nfunction _continuousPulseStepOne(beaconColorOne: string, innerDimension: string): IRawStyle {\r\n return {\r\n borderColor: beaconColorOne,\r\n borderWidth: '0px',\r\n width: innerDimension,\r\n height: innerDimension\r\n };\r\n}\r\n\r\nfunction _continuousPulseStepTwo(borderWidth: string): IRawStyle {\r\n return {\r\n opacity: 1,\r\n borderWidth: borderWidth\r\n };\r\n}\r\n\r\nfunction _continuousPulseStepThree(): IRawStyle {\r\n return {\r\n opacity: 1\r\n };\r\n}\r\n\r\nfunction _continuousPulseStepFour(beaconColorTwo: string, outerDimension: string): IRawStyle {\r\n return {\r\n borderWidth: '0',\r\n width: outerDimension,\r\n height: outerDimension,\r\n opacity: 0,\r\n borderColor: beaconColorTwo\r\n };\r\n}\r\n\r\nfunction _continuousPulseStepFive(beaconColorOne: string, innerDimension: string): IRawStyle {\r\n return {\r\n ..._continuousPulseStepOne(beaconColorOne, innerDimension),\r\n ...{\r\n opacity: 0\r\n }\r\n };\r\n}\r\n\r\nfunction _continuousPulseAnimationDouble(\r\n beaconColorOne: string,\r\n beaconColorTwo: string,\r\n innerDimension: string,\r\n outerDimension: string,\r\n borderWidth: string\r\n): string {\r\n return keyframes({\r\n '0%': _continuousPulseStepOne(beaconColorOne, innerDimension),\r\n '1.42%': _continuousPulseStepTwo(borderWidth),\r\n '3.57%': _continuousPulseStepThree(),\r\n '7.14%': _continuousPulseStepFour(beaconColorTwo, outerDimension),\r\n '8%': _continuousPulseStepFive(beaconColorOne, innerDimension),\r\n '29.99%': _continuousPulseStepFive(beaconColorOne, innerDimension),\r\n '30%': _continuousPulseStepOne(beaconColorOne, innerDimension),\r\n '31.42%': _continuousPulseStepTwo(borderWidth),\r\n '33.57%': _continuousPulseStepThree(),\r\n '37.14%': _continuousPulseStepFour(beaconColorTwo, outerDimension),\r\n '38%': _continuousPulseStepFive(beaconColorOne, innerDimension),\r\n '79.42%': _continuousPulseStepFive(beaconColorOne, innerDimension),\r\n '79.43': _continuousPulseStepOne(beaconColorOne, innerDimension),\r\n '81.85': _continuousPulseStepTwo(borderWidth),\r\n '83.42': _continuousPulseStepThree(),\r\n '87%': _continuousPulseStepFour(beaconColorTwo, outerDimension),\r\n '100%': {}\r\n });\r\n}\r\n\r\nfunction _continuousPulseAnimationSingle(\r\n beaconColorOne: string,\r\n beaconColorTwo: string,\r\n innerDimension: string,\r\n outerDimension: string,\r\n borderWidth: string\r\n): string {\r\n return keyframes({\r\n '0%': _continuousPulseStepOne(beaconColorOne, innerDimension),\r\n '14.2%': _continuousPulseStepTwo(borderWidth),\r\n '35.7%': _continuousPulseStepThree(),\r\n '71.4%': _continuousPulseStepFour(beaconColorTwo, outerDimension),\r\n '100%': {}\r\n });\r\n}\r\n\r\nfunction _createDefaultAnimation(animationName: string, delayLength?: string): IRawStyle {\r\n return {\r\n animationName,\r\n animationIterationCount: DEFAULT_ITERATION_COUNT,\r\n animationDuration: DEFAULT_DURATION,\r\n animationDelay: delayLength || DEFAULT_DELAY\r\n };\r\n}\r\n\r\nexport const PulsingBeaconAnimationStyles = {\r\n continuousPulseAnimationDouble: _continuousPulseAnimationDouble,\r\n continuousPulseAnimationSingle: _continuousPulseAnimationSingle,\r\n createDefaultAnimation: _createDefaultAnimation\r\n};\r\n","import { ITheme } from '../interfaces/index';\r\nimport { Stylesheet } from '@uifabric/merge-styles';\r\nimport { memoizeFunction } from '@uifabric/utilities';\r\n\r\nexport type GlobalClassNames = Record;\r\n\r\n/**\r\n * Internal memoized function which simply takes in the class map and the\r\n * disable boolean. These immutable values can be memoized.\r\n */\r\nconst _getGlobalClassNames = memoizeFunction(\r\n (classNames: GlobalClassNames, disableGlobalClassNames?: boolean): Partial> => {\r\n const styleSheet = Stylesheet.getInstance();\r\n\r\n if (disableGlobalClassNames) {\r\n // disable global classnames\r\n return Object.keys(classNames).reduce((acc: {}, className: string) => {\r\n acc[className] = styleSheet.getClassName(classNames[className]);\r\n return acc;\r\n }, {});\r\n }\r\n\r\n // use global classnames\r\n return classNames;\r\n }\r\n);\r\n\r\n/**\r\n * Checks for the `disableGlobalClassNames` property on the `theme` to determine if it should return `classNames`\r\n * Note that calls to this function are memoized.\r\n *\r\n * @param classNames - The collection of global class names that apply when the flag is false. Make sure to pass in\r\n * the same instance on each call to benefit from memoization.\r\n * @param theme - The theme to check the flag on\r\n * @param disableGlobalClassNames - Optional. Explicitly opt in/out of disabling global classnames. Defaults to false.\r\n */\r\nexport function getGlobalClassNames(\r\n classNames: GlobalClassNames,\r\n theme: ITheme,\r\n disableGlobalClassNames?: boolean\r\n): Partial> {\r\n return _getGlobalClassNames(classNames, disableGlobalClassNames !== undefined ? disableGlobalClassNames : theme.disableGlobalClassNames);\r\n}\r\n","import { Customizations, mergeSettings, ICustomizerContext } from '@uifabric/utilities';\r\nimport { ISchemeNames, ITheme } from '../interfaces/index';\r\n\r\n/**\r\n * @internal\r\n * This function is still in experimental phase in support of Foundation experimental development. Its API signature and existence\r\n * are subject to change.\r\n *\r\n * Modify context to activate the specified scheme or theme. For schemes, look in context (if available) and fall back to global\r\n * Customizations. If both scheme and theme are specified, scheme will be looked up in theme. In this case, scheme must be\r\n * present in theme arg, otherwise new context will default to theme arg (there is no fallback to settings to look up scheme.)\r\n *\r\n * @param context - Context in which to get schemed customizations.\r\n * @param scheme - Scheme to get customizations for from theme arg (if supplied) OR from context and global settings.\r\n * @param theme - Theme to merge into context.\r\n * @returns modified schemed context if scheme is valid and not already applied, unmodified context otherwise.\r\n */\r\nexport function getThemedContext(context: ICustomizerContext, scheme?: ISchemeNames, theme?: ITheme): ICustomizerContext {\r\n let newContext: ICustomizerContext = context;\r\n let newSettings;\r\n\r\n // Only fall back to context and customizations when theme arg is not provided.\r\n let schemeSource = theme || Customizations.getSettings(['theme'], undefined, context.customizations).theme;\r\n\r\n if (theme) {\r\n newSettings = { theme };\r\n }\r\n\r\n const schemeTheme: ITheme | undefined = scheme && schemeSource && schemeSource.schemes && schemeSource.schemes[scheme];\r\n\r\n // These first two checks are logically redundant but TS doesn't infer schemeSource.schemes is defined when schemeTheme is defined.\r\n if (schemeSource && schemeTheme && schemeSource !== schemeTheme) {\r\n newSettings = { theme: schemeTheme };\r\n newSettings.theme.schemes = schemeSource.schemes;\r\n }\r\n\r\n if (newSettings) {\r\n newContext = {\r\n customizations: {\r\n settings: mergeSettings(context.customizations.settings, newSettings),\r\n scopedSettings: context.customizations.scopedSettings\r\n }\r\n };\r\n }\r\n\r\n return newContext;\r\n}\r\n","// This file mimics styles and mixins from _General.Mixins.scss\r\n\r\nimport { IRawStyle } from '@uifabric/merge-styles';\r\n\r\nexport const normalize: IRawStyle = {\r\n boxShadow: 'none',\r\n margin: 0,\r\n padding: 0,\r\n boxSizing: 'border-box'\r\n};\r\n\r\nexport const noWrap: IRawStyle = {\r\n overflow: 'hidden',\r\n textOverflow: 'ellipsis',\r\n whiteSpace: 'nowrap'\r\n};\r\n","import { IRawStyle } from '@uifabric/merge-styles';\r\nimport { ITheme, ISemanticColors, IPalette } from '../interfaces/index';\r\n\r\ninterface IRGB {\r\n r: number;\r\n g: number;\r\n b: number;\r\n}\r\n\r\nconst DEFAULT_HEIGHT = '50%';\r\nconst DEFAULT_WIDTH = 20;\r\n\r\n/**\r\n * - Generates a style used to fade out an overflowing content by defining a style for an :after pseudo element.\r\n * - Apply it to the :after selector for all combination of states the parent of content might have (normal, hover, selected, focus).\r\n * - Requires the target to have position set to relative and overflow set to hidden.\r\n *\r\n * @example\r\n * ```tsx\r\n * // Assuming the following DOM structure and the different background colors coming from the parent holding the content.\r\n *
\r\n * Overflown Content\r\n *
\r\n * ```\r\n * ```ts\r\n * // This is how the style set would look in Component.styles.ts\r\n * const { bodyBackground } = theme.semanticColors;\r\n * const { neutralLighter } = theme.palette;\r\n *\r\n * // The second argument of getFadedOverflowStyle function is a string representing a key of ISemanticColors or IPalette.\r\n *\r\n * const styles = {\r\n * parent: [\r\n * backgroundColor: bodyBackground,\r\n * selectors: {\r\n * '&:hover: {\r\n * backgroundColor: neutralLighter\r\n * },\r\n * '$content:after': {\r\n * ...getFadedOverflowStyle(theme, 'bodyBackground')\r\n * },\r\n * '&:hover $content:after': {\r\n * ...getFadedOverflowStyle(theme, 'neutralLighter')\r\n * }\r\n * }\r\n * ],\r\n * content: [\r\n * width: '100%',\r\n * display: 'inline-block',\r\n * position: 'relative',\r\n * overflow: 'hidden'\r\n * ]\r\n * }\r\n * ```\r\n * @param theme - The theme object to use.\r\n * @param color - The background color to fade out to. Accepts only keys of ISemanticColors or IPalette. Defaults to 'bodyBackground'.\r\n * @param direction - The direction of the overflow. Defaults to horizontal.\r\n * @param width - The width of the fading overflow. Vertical direction defaults it to 100% vs 20px when horizontal.\r\n * @param height - The Height of the fading overflow. Vertical direction defaults it to 50% vs 100% when horizontal.\r\n * @returns The style object.\r\n */\r\nexport function getFadedOverflowStyle(\r\n theme: ITheme,\r\n color: keyof ISemanticColors | keyof IPalette = 'bodyBackground',\r\n direction: 'horizontal' | 'vertical' = 'horizontal',\r\n width: string | number = getDefaultValue('width', direction),\r\n height: string | number = getDefaultValue('height', direction)\r\n): IRawStyle {\r\n // Get the color value string from the theme semanticColors or palette.\r\n const colorValue: string = theme.semanticColors[color as keyof ISemanticColors] || theme.palette[color as keyof IPalette];\r\n // Get the red, green, blue values of the colorValue.\r\n const rgbColor: IRGB = color2rgb(colorValue);\r\n // Apply opacity 0 to serve as a start color of the gradient.\r\n const rgba = `rgba(${rgbColor.r}, ${rgbColor.g}, ${rgbColor.b}, 0)`;\r\n // Get the direction of the gradient.\r\n const gradientDirection = direction === 'vertical' ? 'to bottom' : 'to right'; // mergeStyles take care of RTL direction.\r\n\r\n return {\r\n content: '\"\"',\r\n position: 'absolute',\r\n right: 0,\r\n bottom: 0,\r\n width: width,\r\n height: height,\r\n pointerEvents: 'none',\r\n backgroundImage: `linear-gradient(${gradientDirection}, ${rgba} 0%, ${colorValue} 100%)`\r\n };\r\n}\r\n\r\n// TODO consider moving this to a separate module along with some more color functions from OUFR/utilities.\r\n/**\r\n * Helper function to convert a string hex color to an RGB object.\r\n *\r\n * @param colorValue - Color to be converted from hex to rgba.\r\n */\r\nfunction color2rgb(colorValue: string): IRGB {\r\n if (colorValue[0] === '#') {\r\n // If it's a hex code\r\n return {\r\n r: parseInt(colorValue.slice(1, 3), 16),\r\n g: parseInt(colorValue.slice(3, 5), 16),\r\n b: parseInt(colorValue.slice(5, 7), 16)\r\n };\r\n } else if (colorValue.indexOf('rgba(') === 0) {\r\n // If it's an rgba color string\r\n colorValue = colorValue.match(/rgba\\(([^)]+)\\)/)![1];\r\n const parts = colorValue.split(/ *, */).map(Number);\r\n\r\n return {\r\n r: parts[0],\r\n g: parts[1],\r\n b: parts[2]\r\n };\r\n }\r\n // The only remaining possibility is transparent.\r\n return {\r\n r: 255,\r\n g: 255,\r\n b: 255\r\n };\r\n}\r\n\r\n/**\r\n * Helper function to get the default values for parameters of main function.\r\n *\r\n * @param style - Which style to get the default value for.\r\n * @param direction - What direction to take into consideration.\r\n */\r\nfunction getDefaultValue(style: 'width' | 'height', direction: string): number | string {\r\n if (style === 'width') {\r\n return direction === 'horizontal' ? DEFAULT_WIDTH : '100%';\r\n } else {\r\n return direction === 'vertical' ? DEFAULT_HEIGHT : '100%';\r\n }\r\n}\r\n","import { IStyle } from '@fluentui/merge-styles';\n\n/**\n * Generates placeholder style for each of the browsers supported by `@fluentui/react`.\n * @param styles - The style to use.\n * @returns The placeholder style object for each browser depending on the placeholder directive it uses.\n */\nexport function getPlaceholderStyles(styles: IStyle): IStyle {\n return {\n selectors: {\n '::placeholder': styles, // Chrome, Safari, Opera, Firefox\n ':-ms-input-placeholder': styles, // IE 10+\n '::-ms-input-placeholder': styles, // Edge\n },\n };\n}\n","import { GlobalSettings, warn } from '@uifabric/utilities';\r\nimport { IRawStyle, IFontFace, fontFace, mergeStyles, Stylesheet } from '@uifabric/merge-styles';\r\n\r\nexport interface IIconSubset {\r\n fontFace?: IFontFace;\r\n icons: {\r\n [key: string]: string | JSX.Element;\r\n };\r\n\r\n style?: IRawStyle;\r\n}\r\n\r\nexport interface IIconSubsetRecord extends IIconSubset {\r\n isRegistered?: boolean;\r\n className?: string;\r\n}\r\n\r\nexport interface IIconRecord {\r\n code: string | undefined;\r\n subset: IIconSubsetRecord;\r\n}\r\n\r\nexport interface IIconOptions {\r\n /**\r\n * By default, registering the same set of icons will generate a console warning per duplicate icon\r\n * registered, because this scenario can create unexpected consequences.\r\n *\r\n * Some scenarios include:\r\n *\r\n * Icon set was previously registered using a different base url.\r\n * Icon set was previously registered but a different version was provided.\r\n * Icons in a previous registered set overlap with a new set.\r\n *\r\n * To simply ignore previously registered icons, you can specify to disable warnings. This means\r\n * that if an icon which was previous registered is registered again, it will be silently ignored.\r\n * However, consider whether the problems listed above will cause issues.\r\n **/\r\n disableWarnings: boolean;\r\n\r\n /**\r\n * @deprecated\r\n * Use 'disableWarnings' instead.\r\n */\r\n warnOnMissingIcons?: boolean;\r\n}\r\n\r\nexport interface IIconRecords {\r\n __options: IIconOptions;\r\n __remapped: { [key: string]: string };\r\n [key: string]: IIconRecord | {};\r\n}\r\n\r\nconst ICON_SETTING_NAME = 'icons';\r\n\r\nconst _iconSettings = GlobalSettings.getValue(ICON_SETTING_NAME, {\r\n __options: {\r\n disableWarnings: false,\r\n warnOnMissingIcons: true\r\n },\r\n __remapped: {}\r\n});\r\n\r\n// Reset icon registration on stylesheet resets.\r\nconst stylesheet = Stylesheet.getInstance();\r\n\r\nif (stylesheet && stylesheet.onReset) {\r\n stylesheet.onReset(() => {\r\n for (const name in _iconSettings) {\r\n if (_iconSettings.hasOwnProperty(name) && !!(_iconSettings[name] as IIconRecord).subset) {\r\n (_iconSettings[name] as IIconRecord).subset.className = undefined;\r\n }\r\n }\r\n });\r\n}\r\n\r\n/**\r\n * Normalizes an icon name for consistent mapping.\r\n * Current implementation is to convert the icon name to lower case.\r\n *\r\n * @param name - Icon name to normalize.\r\n * @returns {string} Normalized icon name to use for indexing and mapping.\r\n */\r\nconst normalizeIconName = (name: string): string => name.toLowerCase();\r\n\r\n/**\r\n * Registers a given subset of icons.\r\n *\r\n * @param iconSubset - the icon subset definition.\r\n */\r\nexport function registerIcons(iconSubset: IIconSubset, options?: Partial): void {\r\n let subset = {\r\n ...iconSubset,\r\n isRegistered: false,\r\n className: undefined\r\n };\r\n let { icons } = iconSubset;\r\n\r\n // Grab options, optionally mix user provided ones on top.\r\n options = options ? { ..._iconSettings.__options, ...options } : _iconSettings.__options;\r\n\r\n for (const iconName in icons) {\r\n if (icons.hasOwnProperty(iconName)) {\r\n const code = icons[iconName];\r\n const normalizedIconName = normalizeIconName(iconName);\r\n\r\n if (_iconSettings[normalizedIconName]) {\r\n _warnDuplicateIcon(iconName);\r\n } else {\r\n _iconSettings[normalizedIconName] = {\r\n code,\r\n subset\r\n } as IIconRecord;\r\n }\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Unregisters icons by name.\r\n *\r\n * @param iconNames - List of icons to unregister.\r\n */\r\nexport function unregisterIcons(iconNames: string[]): void {\r\n const options = _iconSettings.__options;\r\n\r\n for (const iconName of iconNames) {\r\n const normalizedIconName = normalizeIconName(iconName);\r\n if (_iconSettings[normalizedIconName]) {\r\n delete _iconSettings[normalizedIconName];\r\n } else {\r\n // Warn that we are trying to delete an icon that doesn't exist\r\n if (!options.disableWarnings) {\r\n warn(`The icon \"${iconName}\" tried to unregister but was not registered.`);\r\n }\r\n }\r\n\r\n // Delete any aliases for this iconName\r\n if (_iconSettings.__remapped[normalizedIconName]) {\r\n delete _iconSettings.__remapped[normalizedIconName];\r\n }\r\n\r\n // Delete any items that were an alias for this iconName\r\n Object.keys(_iconSettings.__remapped).forEach((key: string) => {\r\n if (_iconSettings.__remapped[key] === normalizedIconName) {\r\n delete _iconSettings.__remapped[key];\r\n }\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * Remaps one icon name to another.\r\n */\r\nexport function registerIconAlias(iconName: string, mappedToName: string): void {\r\n _iconSettings.__remapped[normalizeIconName(iconName)] = normalizeIconName(mappedToName);\r\n}\r\n\r\n/**\r\n * Gets an icon definition. If an icon is requested but the subset has yet to be registered,\r\n * it will get registered immediately.\r\n *\r\n * @public\r\n * @param name - Name of icon.\r\n */\r\nexport function getIcon(name?: string): IIconRecord | undefined {\r\n let icon: IIconRecord | undefined = undefined;\r\n const options = _iconSettings.__options;\r\n\r\n name = name ? normalizeIconName(name) : '';\r\n name = _iconSettings.__remapped[name] || name;\r\n\r\n if (name) {\r\n icon = _iconSettings[name!] as IIconRecord;\r\n\r\n if (icon) {\r\n let { subset } = icon;\r\n if (subset && subset.fontFace) {\r\n if (!subset.isRegistered) {\r\n fontFace(subset.fontFace);\r\n subset.isRegistered = true;\r\n }\r\n\r\n if (!subset.className) {\r\n subset.className = mergeStyles(subset.style, {\r\n fontFamily: subset.fontFace.fontFamily,\r\n fontWeight: subset.fontFace.fontWeight || 'normal',\r\n fontStyle: subset.fontFace.fontStyle || 'normal'\r\n });\r\n }\r\n }\r\n } else {\r\n if (!options.disableWarnings && options.warnOnMissingIcons) {\r\n warn(`The icon \"${name}\" was used but not registered. See http://aka.ms/fabric-icon-usage for more information.`);\r\n }\r\n }\r\n }\r\n\r\n return icon;\r\n}\r\n\r\n/**\r\n * Sets the icon options.\r\n *\r\n * @public\r\n */\r\nexport function setIconOptions(options: Partial): void {\r\n _iconSettings.__options = {\r\n ..._iconSettings.__options,\r\n ...options\r\n };\r\n}\r\n\r\nlet _missingIcons: string[] = [];\r\nlet _missingIconsTimer: number | undefined = undefined;\r\n\r\nfunction _warnDuplicateIcon(iconName: string): void {\r\n const options = _iconSettings.__options;\r\n const warningDelay = 2000;\r\n const maxIconsInMessage = 10;\r\n\r\n if (!options.disableWarnings) {\r\n _missingIcons.push(iconName);\r\n if (_missingIconsTimer === undefined) {\r\n _missingIconsTimer = setTimeout(() => {\r\n warn(\r\n `Some icons were re-registered. Applications should only call registerIcons for any given ` +\r\n `icon once. Redefining what an icon is may have unintended consequences. Duplicates ` +\r\n `include: \\n` +\r\n _missingIcons.slice(0, maxIconsInMessage).join(', ') +\r\n (_missingIcons.length > maxIconsInMessage ? ` (+ ${_missingIcons.length - maxIconsInMessage} more)` : '')\r\n );\r\n _missingIconsTimer = undefined;\r\n _missingIcons = [];\r\n }, warningDelay);\r\n }\r\n }\r\n}\r\n","import { mergeStyles, IStyle } from '@uifabric/merge-styles';\r\nimport { getIcon } from './icons';\r\n\r\nconst defaultIconStyles: IStyle = {\r\n display: 'inline-block'\r\n};\r\n\r\n/**\r\n * Gets an icon classname. You should be able to add this classname to an I tag with no\r\n * additional classnames, and render the icon.\r\n *\r\n * @public\r\n */\r\nexport function getIconClassName(name: string): string {\r\n let className = '';\r\n const icon = getIcon(name);\r\n\r\n if (icon) {\r\n className = mergeStyles(icon.subset.className, defaultIconStyles, {\r\n selectors: {\r\n '::before': {\r\n content: `\"${icon.code}\"`\r\n }\r\n }\r\n });\r\n }\r\n\r\n return className;\r\n}\r\n","// @uifabric/styling@6.47.6\r\n // Do not modify this file, the file is generated as part of publish. The checked in version is a placeholder only.\r\n import { setVersion } from '@uifabric/set-version';\r\n setVersion('@uifabric/styling', '6.47.6');","export * from './classNames/index';\r\nexport * from './styles/index';\r\nexport * from './utilities/index';\r\nexport * from './interfaces/index';\r\nexport * from './MergeStyles';\r\nimport './version';\r\n","import './version';\nexport * from '@fluentui/utilities';\n","import './version';\nexport * from '@fluentui/style-utilities';\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, 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}\n","import defineProperty from \"./defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}","import { IFontWeight } from '@fluentui/merge-styles';\n\n// Font face names to be registered.\nexport namespace LocalizedFontNames {\n export const Arabic = 'Segoe UI Web (Arabic)';\n export const Cyrillic = 'Segoe UI Web (Cyrillic)';\n export const EastEuropean = 'Segoe UI Web (East European)';\n export const Greek = 'Segoe UI Web (Greek)';\n export const Hebrew = 'Segoe UI Web (Hebrew)';\n export const Thai = 'Leelawadee UI Web';\n export const Vietnamese = 'Segoe UI Web (Vietnamese)';\n export const WestEuropean = 'Segoe UI Web (West European)';\n export const Selawik = 'Selawik Web';\n export const Armenian = 'Segoe UI Web (Armenian)';\n export const Georgian = 'Segoe UI Web (Georgian)';\n}\n\n// Font families with fallbacks, for the general regions.\nexport namespace LocalizedFontFamilies {\n export const Arabic = `'${LocalizedFontNames.Arabic}'`;\n export const ChineseSimplified = `'Microsoft Yahei UI', Verdana, Simsun`;\n export const ChineseTraditional = `'Microsoft Jhenghei UI', Pmingliu`;\n export const Cyrillic = `'${LocalizedFontNames.Cyrillic}'`;\n export const EastEuropean = `'${LocalizedFontNames.EastEuropean}'`;\n export const Greek = `'${LocalizedFontNames.Greek}'`;\n export const Hebrew = `'${LocalizedFontNames.Hebrew}'`;\n export const Hindi = `'Nirmala UI'`;\n export const Japanese = `'Yu Gothic UI', 'Meiryo UI', Meiryo, 'MS Pgothic', Osaka`;\n export const Korean = `'Malgun Gothic', Gulim`;\n export const Selawik = `'${LocalizedFontNames.Selawik}'`;\n export const Thai = `'Leelawadee UI Web', 'Kmer UI'`;\n export const Vietnamese = `'${LocalizedFontNames.Vietnamese}'`;\n export const WestEuropean = `'${LocalizedFontNames.WestEuropean}'`;\n export const Armenian = `'${LocalizedFontNames.Armenian}'`;\n export const Georgian = `'${LocalizedFontNames.Georgian}'`;\n}\n\n// Standard font sizes.\nexport namespace FontSizes {\n export const size10 = '10px';\n export const size12 = '12px';\n export const size14 = '14px';\n export const size16 = '16px';\n export const size18 = '18px';\n export const size20 = '20px';\n export const size24 = '24px';\n export const size28 = '28px';\n export const size32 = '32px';\n export const size42 = '42px';\n export const size68 = '68px';\n\n export const mini: string = '10px';\n export const xSmall: string = '10px';\n export const small: string = '12px';\n export const smallPlus: string = '12px';\n export const medium: string = '14px';\n export const mediumPlus: string = '16px';\n export const icon: string = '16px';\n export const large: string = '18px';\n export const xLarge: string = '20px';\n export const xLargePlus: string = '24px';\n export const xxLarge: string = '28px';\n export const xxLargePlus: string = '32px';\n export const superLarge: string = '42px';\n export const mega: string = '68px';\n}\n\n// Standard font weights.\nexport namespace FontWeights {\n export const light: IFontWeight = 100;\n export const semilight: IFontWeight = 300;\n export const regular: IFontWeight = 400;\n export const semibold: IFontWeight = 600;\n export const bold: IFontWeight = 700;\n}\n\n// Standard Icon Sizes.\nexport namespace IconFontSizes {\n export const xSmall: string = '10px';\n export const small: string = '12px';\n export const medium: string = '16px';\n export const large: string = '20px';\n}\n","const toObjectMap = (...items: (string[] | Record)[]) => {\n const result: Record = {};\n\n for (const item of items) {\n const keys = Array.isArray(item) ? item : Object.keys(item);\n\n for (const key of keys) {\n result[key] = 1;\n }\n }\n\n return result;\n};\n\n/**\n * An array of events that are allowed on every html element type.\n *\n * @public\n */\nexport const baseElementEvents = toObjectMap([\n 'onCopy',\n 'onCut',\n 'onPaste',\n 'onCompositionEnd',\n 'onCompositionStart',\n 'onCompositionUpdate',\n 'onFocus',\n 'onFocusCapture',\n 'onBlur',\n 'onBlurCapture',\n 'onChange',\n 'onInput',\n 'onSubmit',\n 'onLoad',\n 'onError',\n 'onKeyDown',\n 'onKeyDownCapture',\n 'onKeyPress',\n 'onKeyUp',\n 'onAbort',\n 'onCanPlay',\n 'onCanPlayThrough',\n 'onDurationChange',\n 'onEmptied',\n 'onEncrypted',\n 'onEnded',\n 'onLoadedData',\n 'onLoadedMetadata',\n 'onLoadStart',\n 'onPause',\n 'onPlay',\n 'onPlaying',\n 'onProgress',\n 'onRateChange',\n 'onSeeked',\n 'onSeeking',\n 'onStalled',\n 'onSuspend',\n 'onTimeUpdate',\n 'onVolumeChange',\n 'onWaiting',\n 'onClick',\n 'onClickCapture',\n 'onContextMenu',\n 'onDoubleClick',\n 'onDrag',\n 'onDragEnd',\n 'onDragEnter',\n 'onDragExit',\n 'onDragLeave',\n 'onDragOver',\n 'onDragStart',\n 'onDrop',\n 'onMouseDown',\n 'onMouseDownCapture',\n 'onMouseEnter',\n 'onMouseLeave',\n 'onMouseMove',\n 'onMouseOut',\n 'onMouseOver',\n 'onMouseUp',\n 'onMouseUpCapture',\n 'onSelect',\n 'onTouchCancel',\n 'onTouchEnd',\n 'onTouchMove',\n 'onTouchStart',\n 'onScroll',\n 'onWheel',\n 'onPointerCancel',\n 'onPointerDown',\n 'onPointerEnter',\n 'onPointerLeave',\n 'onPointerMove',\n 'onPointerOut',\n 'onPointerOver',\n 'onPointerUp',\n 'onGotPointerCapture',\n 'onLostPointerCapture',\n]);\n\n/**\n * An array of element attributes which are allowed on every html element type.\n *\n * @public\n */\nexport const baseElementProperties = toObjectMap([\n 'accessKey', // global\n 'children', // global\n 'className', // global\n 'contentEditable', // global\n 'dir', // global\n 'draggable', // global\n 'hidden', // global\n 'htmlFor', // global\n 'id', // global\n 'lang', // global\n 'ref', // global\n 'role', // global\n 'style', // global\n 'tabIndex', // global\n 'title', // global\n 'translate', // global\n 'spellCheck', // global\n 'name', // global\n]);\n\n/**\n * An array of HTML element properties and events.\n *\n * @public\n */\nexport const htmlElementProperties = toObjectMap(baseElementProperties, baseElementEvents);\n\n/**\n * An array of LABEL tag properties and events.\n *\n * @public\n */\nexport const labelProperties = toObjectMap(htmlElementProperties, [\n 'form', // button, fieldset, input, label, meter, object, output, select, textarea\n]);\n\n/**\n * An array of AUDIO tag properties and events.\n\n * @public\n */\nexport const audioProperties = toObjectMap(htmlElementProperties, [\n 'height', // canvas, embed, iframe, img, input, object, video\n 'loop', // audio, video\n 'muted', // audio, video\n 'preload', // audio, video\n 'src', // audio, embed, iframe, img, input, script, source, track, video\n 'width', // canvas, embed, iframe, img, input, object, video\n]);\n\n/**\n * An array of VIDEO tag properties and events.\n *\n * @public\n */\nexport const videoProperties = toObjectMap(audioProperties, [\n 'poster', // video\n]);\n\n/**\n * An array of OL tag properties and events.\n *\n * @public\n */\nexport const olProperties = toObjectMap(htmlElementProperties, [\n 'start', // ol\n]);\n\n/**\n * An array of LI tag properties and events.\n *\n * @public\n */\nexport const liProperties = toObjectMap(htmlElementProperties, [\n 'value', // button, input, li, option, meter, progress, param\n]);\n\n/**\n * An array of A tag properties and events.\n *\n * @public\n */\nexport const anchorProperties = toObjectMap(htmlElementProperties, [\n 'download', // a, area\n 'href', // a, area, base, link\n 'hrefLang', // a, area, link\n 'media', // a, area, link, source, style\n 'rel', // a, area, link\n 'target', // a, area, base, form\n 'type', // a, button, input, link, menu, object, script, source, style\n]);\n\n/**\n * An array of BUTTON tag properties and events.\n *\n * @public\n */\nexport const buttonProperties = toObjectMap(htmlElementProperties, [\n 'autoFocus', // button, input, select, textarea\n 'disabled', // button, fieldset, input, optgroup, option, select, textarea\n 'form', // button, fieldset, input, label, meter, object, output, select, textarea\n 'formAction', // input, button\n 'formEncType', // input, button\n 'formMethod', // input, button\n 'formNoValidate', // input, button\n 'formTarget', // input, button\n 'type', // a, button, input, link, menu, object, script, source, style\n 'value', // button, input, li, option, meter, progress, param,\n]);\n\n/**\n * An array of INPUT tag properties and events.\n *\n * @public\n */\nexport const inputProperties = toObjectMap(buttonProperties, [\n 'accept', // input\n 'alt', // area, img, input\n 'autoCapitalize', // input, textarea\n 'autoComplete', // form, input\n 'checked', // input\n 'dirname', // input, textarea\n 'form', // button, fieldset, input, label, meter, object, output, select, textarea\n 'height', // canvas, embed, iframe, img, input, object, video\n 'inputMode', // input\n 'list', // input\n 'max', // input, meter\n 'maxLength', // input, textarea\n 'min', // input, meter\n 'multiple', // input, select\n 'pattern', // input\n 'placeholder', // input, textarea\n 'readOnly', // input, textarea\n 'required', // input, select, textarea\n 'src', // audio, embed, iframe, img, input, script, source, track, video\n 'step', // input\n 'size', // input\n 'type', // a, button, input, link, menu, object, script, source, style\n 'value', // button, input, li, option, meter, progress, param\n 'width', // canvas, embed, iframe, img, input, object, video\n]);\n\n/**\n * An array of TEXTAREA tag properties and events.\n *\n * @public\n */\nexport const textAreaProperties = toObjectMap(buttonProperties, [\n 'autoCapitalize', // input, textarea\n 'cols', // textarea\n 'dirname', // input, textarea\n 'form', // button, fieldset, input, label, meter, object, output, select, textarea\n 'maxLength', // input, textarea\n 'placeholder', // input, textarea\n 'readOnly', // input, textarea\n 'required', // input, select, textarea\n 'rows', // textarea\n 'wrap', // textarea\n]);\n\n/**\n * An array of SELECT tag properties and events.\n *\n * @public\n */\nexport const selectProperties = toObjectMap(buttonProperties, [\n 'form', // button, fieldset, input, label, meter, object, output, select, textarea\n 'multiple', // input, select\n 'required', // input, select, textarea\n]);\n\nexport const optionProperties = toObjectMap(htmlElementProperties, [\n 'selected', // option\n 'value', // button, input, li, option, meter, progress, param\n]);\n\n/**\n * An array of TABLE tag properties and events.\n *\n * @public\n */\nexport const tableProperties = toObjectMap(htmlElementProperties, [\n 'cellPadding', // table\n 'cellSpacing', // table\n]);\n\n/**\n * An array of TR tag properties and events.\n *\n * @public\n */\nexport const trProperties = htmlElementProperties;\n\n/**\n * An array of TH tag properties and events.\n *\n * @public\n */\nexport const thProperties = toObjectMap(htmlElementProperties, [\n 'rowSpan', // td, th\n 'scope', // th\n]);\n\n/**\n * An array of TD tag properties and events.\n *\n * @public\n */\nexport const tdProperties = toObjectMap(htmlElementProperties, [\n 'colSpan', // td\n 'headers', // td\n 'rowSpan', // td, th\n 'scope', // th\n]);\n\nexport const colGroupProperties = toObjectMap(htmlElementProperties, [\n 'span', // col, colgroup\n]);\n\nexport const colProperties = toObjectMap(htmlElementProperties, [\n 'span', // col, colgroup\n]);\n\n/**\n * An array of FORM tag properties and events.\n *\n * @public\n */\nexport const formProperties = toObjectMap(htmlElementProperties, [\n 'acceptCharset', // form\n 'action', // form\n 'encType', // form\n 'encType', // form\n 'method', // form\n 'noValidate', // form\n 'target', // form\n]);\n\n/**\n * An array of IFRAME tag properties and events.\n *\n * @public\n */\nexport const iframeProperties = toObjectMap(htmlElementProperties, [\n 'allow', // iframe\n 'allowFullScreen', // iframe\n 'allowPaymentRequest', // iframe\n 'allowTransparency', // iframe\n 'csp', // iframe\n 'height', // canvas, embed, iframe, img, input, object, video\n 'importance', // iframe\n 'referrerPolicy', // iframe\n 'sandbox', // iframe\n 'src', // audio, embed, iframe, img, input, script, source, track, video\n 'srcDoc', // iframe\n 'width', // canvas, embed, iframe, img, input, object, video,\n]);\n\n/**\n * An array of IMAGE tag properties and events.\n *\n * @public\n */\nexport const imgProperties = toObjectMap(htmlElementProperties, [\n 'alt', // area, img, input\n 'crossOrigin', // img\n 'height', // canvas, embed, iframe, img, input, object, video\n 'src', // audio, embed, iframe, img, input, script, source, track, video\n 'srcSet', // img, source\n 'useMap', // img, object,\n 'width', // canvas, embed, iframe, img, input, object, video\n]);\n\n/**\n * @deprecated Use imgProperties for img elements.\n */\nexport const imageProperties = imgProperties;\n\n/**\n * An array of DIV tag properties and events.\n *\n * @public\n */\nexport const divProperties = htmlElementProperties;\n\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 or record of allowed prop names.\n * @returns The filtered props\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function getNativeProps>(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n props: Record,\n allowedPropNames: string[] | Record,\n excludedPropNames?: string[],\n): T {\n // It'd be great to properly type this while allowing 'aria-` and 'data-' attributes like TypeScript does for\n // JSX attributes, 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\n // return native props.\n // We should be able to do this once this PR is merged: https://github.com/microsoft/TypeScript/pull/26797\n\n const isArray = Array.isArray(allowedPropNames);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const result: Record = {};\n const keys = Object.keys(props);\n\n for (const key of keys) {\n const isNativeProp =\n (!isArray && (allowedPropNames as Record)[key]) ||\n (isArray && (allowedPropNames as string[]).indexOf(key) >= 0) ||\n key.indexOf('data-') === 0 ||\n key.indexOf('aria-') === 0;\n\n if (isNativeProp && (!excludedPropNames || excludedPropNames?.indexOf(key) === -1)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n result[key] = props![key] as any;\n }\n }\n\n return result as T;\n}\n","declare const setTimeout: (cb: () => void, delay: number) => number;\n\n/**\n * PerfData interface.\n *\n * @internal\n */\nexport interface IPerfData {\n duration: number;\n timeStamp: number;\n}\n\n/**\n * PerfMeasurement interface.\n *\n * @internal\n */\nexport interface IPerfMeasurement {\n totalDuration: number;\n count: number;\n all: IPerfData[];\n}\n\n/**\n * PerfSummary interface.\n *\n * @internal\n */\nexport interface IPerfSummary {\n [key: string]: IPerfMeasurement;\n}\n\nconst now: () => number = () =>\n typeof performance !== 'undefined' && !!performance.now ? performance.now() : Date.now();\n\nconst RESET_INTERVAL = 3 * 60 * 1000; // auto reset every 3 minutes\n\n/**\n * Performance helper class for measuring things.\n *\n * @public\n * {@docCategory FabricPerformance}\n */\nexport class FabricPerformance {\n public static summary: IPerfSummary = {};\n private static _timeoutId: number;\n\n /**\n * Measures execution time of the given syncronous function. If the same logic is executed multiple times,\n * each individual measurement will be collected as well the overall numbers.\n * @param name - The name of this measurement\n * @param func - The logic to be measured for execution time\n */\n public static measure(name: string, func: () => void): void {\n if (FabricPerformance._timeoutId) {\n FabricPerformance.setPeriodicReset();\n }\n const start = now();\n func();\n const end = now();\n const measurement: IPerfMeasurement = FabricPerformance.summary[name] || {\n totalDuration: 0,\n count: 0,\n all: [],\n };\n const duration = end - start;\n measurement.totalDuration += duration;\n measurement.count++;\n measurement.all.push({\n duration: duration,\n timeStamp: end,\n });\n FabricPerformance.summary[name] = measurement;\n }\n\n public static reset(): void {\n FabricPerformance.summary = {};\n clearTimeout(FabricPerformance._timeoutId);\n FabricPerformance._timeoutId = NaN;\n }\n\n public static setPeriodicReset(): void {\n FabricPerformance._timeoutId = setTimeout(() => FabricPerformance.reset(), RESET_INTERVAL);\n }\n}\n","/**\n * asAsync - a HOC for async loading components.\n *\n * Usage:\n *\n * const AsyncDialog = asAsync({\n * load: () => import('Dialog').then(result => result.default),\n * });\n *\n * React.render(domElement, } { ...dialogProps } />);\n *\n * Note the `asyncPlaceholder` prop will be respected when rendering the async component and it hasn't\n * been loaded yet.\n */\n\nimport * as React from 'react';\n\nexport interface IAsAsyncOptions {\n /**\n * Callback which returns a promise resolving an object which exports the component.\n */\n load: () => Promise>;\n\n /**\n * Callback executed when async loading is complete.\n */\n onLoad?: () => void;\n\n /**\n * Callback when async loading fails.\n */\n onError?: (error: Error) => void;\n}\n\n/**\n * If possible, use a WeakMap to maintain a cache of loaded components.\n * This can be used to synchronously render components that have already been loaded,\n * rather than having to wait for at least one async tick.\n */\nconst _syncModuleCache =\n typeof WeakMap !== 'undefined'\n ? // eslint-disable-next-line @typescript-eslint/no-explicit-any\n new WeakMap<() => Promise>, React.ElementType | undefined>()\n : undefined;\n\n/**\n * Produces a component which internally loads the target component before first mount.\n * The component passes all props through to the loaded component.\n *\n * This overload accepts a module with a default export for the component.\n */\nexport function asAsync(options: IAsAsyncOptions) {\n class Async extends React.Component<\n TProps & {\n asyncPlaceholder?: React.ElementType;\n forwardedRef: React.Ref>;\n },\n { Component?: React.ElementType }\n > {\n public state = {\n Component: _syncModuleCache ? (_syncModuleCache.get(options.load) as React.ElementType) : undefined,\n };\n\n public render(): JSX.Element | null {\n // Typescript issue: the rest can't be pulled without the any cast, as TypeScript fails with rest on generics.\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const { forwardedRef, asyncPlaceholder: Placeholder, ...rest } = this.props as any;\n const { Component } = this.state;\n return Component ? (\n React.createElement(Component, { ...rest, ref: forwardedRef })\n ) : Placeholder ? (\n \n ) : null;\n }\n\n public componentDidMount(): void {\n let { Component } = this.state;\n\n if (!Component) {\n options\n .load()\n .then((LoadedComponent: React.ElementType) => {\n if (LoadedComponent) {\n // Cache component for future reference.\n _syncModuleCache && _syncModuleCache.set(options.load, LoadedComponent);\n\n // Set state.\n this.setState(\n {\n Component: LoadedComponent,\n },\n options.onLoad,\n );\n }\n })\n .catch(options.onError);\n }\n }\n }\n\n return React.forwardRef, TProps & { asyncPlaceholder?: React.ElementType }>(\n (props, ref) => ,\n );\n}\n","/**\n * AssertNever is a utility function that can be used for exhaustiveness checks in switch statements.\n *\n * @public\n */\nexport function assertNever(x: never): never {\n throw new Error('Unexpected object: ' + x);\n}\n","import { getWindow } from './dom/getWindow';\r\nimport { isDirectionalKeyCode } from './keyboard';\r\n\r\nexport const IsFocusVisibleClassName = 'ms-Fabric--isFocusVisible';\r\n\r\n/**\r\n * Initializes the logic which:\r\n *\r\n * 1. Subscribes keydown and mousedown events. (It will only do it once per window,\r\n * so it's safe to call this method multiple times.)\r\n * 2. When the user presses directional keyboard keys, adds the 'ms-Fabric--isFocusVisible' classname\r\n * to the document body.\r\n * 3. When the user clicks a mouse button, we remove the classname if it exists.\r\n *\r\n * This logic allows components on the page to conditionally render focus treatments only\r\n * if the global classname exists, which simplifies logic overall.\r\n *\r\n * @param window - the window used to add the event listeners\r\n */\r\nexport function initializeFocusRects(window?: Window): void {\r\n const win = (window || getWindow()) as Window & { __hasInitializeFocusRects__: boolean };\r\n\r\n if (win && !win.__hasInitializeFocusRects__) {\r\n win.__hasInitializeFocusRects__ = true;\r\n win.addEventListener('mousedown', _onMouseDown, true);\r\n win.addEventListener('keydown', _onKeyDown as () => void, true);\r\n }\r\n}\r\n\r\nfunction _onMouseDown(ev: MouseEvent): void {\r\n const win = getWindow(ev.target as Element);\r\n\r\n if (win) {\r\n const { classList } = win.document.body;\r\n\r\n if (classList.contains(IsFocusVisibleClassName)) {\r\n classList.remove(IsFocusVisibleClassName);\r\n }\r\n }\r\n}\r\n\r\nfunction _onKeyDown(ev: KeyboardEvent): void {\r\n const win = getWindow(ev.target as Element);\r\n\r\n if (win) {\r\n const { classList } = win.document.body;\r\n\r\n if (isDirectionalKeyCode(ev.which) && !classList.contains(IsFocusVisibleClassName)) {\r\n classList.add(IsFocusVisibleClassName);\r\n }\r\n }\r\n}\r\n","let _baseUrl = '';\n\n/**\n * @deprecated Unused as of version 8\n */\nexport function getResourceUrl(url: string): string {\n return _baseUrl + url;\n}\n\n/**\n * @deprecated Unused as of version 8\n */\nexport function setBaseUrl(baseUrl: string): void {\n _baseUrl = baseUrl;\n}\n","import * as React from 'react';\nimport { extendComponent } from './extendComponent';\n\n/**\n * Generates a function to be attached to a React component, which can be called\n * as a replacement to setTimeout. In-flight async calls will be auto canceled if the component\n * is unmounting before the async code is executed, preventing bugs where code\n * accesses things within the component after being unmounted.\n */\nexport const safeSetTimeout = (component: React.Component) => {\n let activeTimeouts: Set;\n\n return (cb: Function, duration: number) => {\n if (!activeTimeouts) {\n activeTimeouts = new Set();\n\n extendComponent(component, {\n componentWillUnmount: () => {\n activeTimeouts.forEach((id: NodeJS.Timer) => clearTimeout(id));\n },\n });\n }\n\n const timeoutId = setTimeout(() => {\n activeTimeouts.delete(timeoutId);\n cb();\n }, duration);\n activeTimeouts.add(timeoutId);\n };\n};\n","module.exports = require(\"regenerator-runtime\");\n","/**\r\n * Simulated enum for keycodes. These will get inlined by uglify when used much like an enum\r\n *\r\n * @public\r\n * {@docCategory KeyCodes}\r\n */\r\nexport const KeyCodes = {\r\n backspace: 8 as 8,\r\n tab: 9 as 9,\r\n enter: 13 as 13,\r\n shift: 16 as 16,\r\n ctrl: 17 as 17,\r\n alt: 18 as 18,\r\n pauseBreak: 19 as 19,\r\n capslock: 20 as 20,\r\n escape: 27 as 27,\r\n space: 32 as 32,\r\n pageUp: 33 as 33,\r\n pageDown: 34 as 34,\r\n end: 35 as 35,\r\n home: 36 as 36,\r\n left: 37 as 37,\r\n up: 38 as 38,\r\n right: 39 as 39,\r\n down: 40 as 40,\r\n insert: 45 as 45,\r\n del: 46 as 46,\r\n zero: 48 as 48,\r\n one: 49 as 49,\r\n two: 50 as 50,\r\n three: 51 as 51,\r\n four: 52 as 52,\r\n five: 53 as 53,\r\n six: 54 as 54,\r\n seven: 55 as 55,\r\n eight: 56 as 56,\r\n nine: 57 as 57,\r\n a: 65 as 65,\r\n b: 66 as 66,\r\n c: 67 as 67,\r\n d: 68 as 68,\r\n e: 69 as 69,\r\n f: 70 as 70,\r\n g: 71 as 71,\r\n h: 72 as 72,\r\n i: 73 as 73,\r\n j: 74 as 74,\r\n k: 75 as 75,\r\n l: 76 as 76,\r\n m: 77 as 77,\r\n n: 78 as 78,\r\n o: 79 as 79,\r\n p: 80 as 80,\r\n q: 81 as 81,\r\n r: 82 as 82,\r\n s: 83 as 83,\r\n t: 84 as 84,\r\n u: 85 as 85,\r\n v: 86 as 86,\r\n w: 87 as 87,\r\n x: 88 as 88,\r\n y: 89 as 89,\r\n z: 90 as 90,\r\n leftWindow: 91 as 91,\r\n rightWindow: 92 as 92,\r\n select: 93 as 93,\r\n zero_numpad: 96 as 96,\r\n one_numpad: 97 as 97,\r\n two_numpad: 98 as 98,\r\n three_numpad: 99 as 99,\r\n four_numpad: 100 as 100,\r\n five_numpad: 101 as 101,\r\n six_numpad: 102 as 102,\r\n seven_numpad: 103 as 103,\r\n eight_numpad: 104 as 104,\r\n nine_numpad: 105 as 105,\r\n multiply: 106 as 106,\r\n add: 107 as 107,\r\n subtract: 109 as 109,\r\n decimalPoint: 110 as 110,\r\n divide: 111 as 111,\r\n f1: 112 as 112,\r\n f2: 113 as 113,\r\n f3: 114 as 114,\r\n f4: 115 as 115,\r\n f5: 116 as 116,\r\n f6: 117 as 117,\r\n f7: 118 as 118,\r\n f8: 119 as 119,\r\n f9: 120 as 120,\r\n f10: 121 as 121,\r\n f11: 122 as 122,\r\n f12: 123 as 123,\r\n numlock: 144 as 144,\r\n scrollLock: 145 as 145,\r\n semicolon: 186 as 186,\r\n equalSign: 187 as 187,\r\n comma: 188 as 188,\r\n dash: 189 as 189,\r\n period: 190 as 190,\r\n forwardSlash: 191 as 191,\r\n graveAccent: 192 as 192,\r\n openBracket: 219 as 219,\r\n backSlash: 220 as 220,\r\n closeBracket: 221 as 221,\r\n singleQuote: 222 as 222\r\n};\r\nexport type KeyCodes = number;\r\n","import { DirectionalHint } from '../../common/DirectionalHint';\nimport { IRectangle, Point } from '../../Utilities';\n\n// eslint-disable-next-line deprecation/deprecation\nexport { Point, IPoint } from '../../Utilities';\n\nexport enum RectangleEdge {\n top = 1,\n bottom = -1,\n left = 2,\n right = -2,\n}\n\nexport enum Position {\n top = 0,\n bottom = 1,\n start = 2,\n end = 3,\n}\n\n/**\n * Window with typings for experimental features regarding Dual Screen devices.\n */\nexport interface IWindowWithSegments extends Window {\n getWindowSegments?: () => DOMRect[];\n}\n\nexport interface IPositionProps {\n target?: Element | MouseEvent | Point;\n /** how the element should be positioned */\n directionalHint?: DirectionalHint;\n /**\n * How the element should be positioned in RTL layouts.\n * If not specified, a mirror of `directionalHint` will be used instead\n */\n directionalHintForRTL?: DirectionalHint;\n /** The gap between the callout and the target */\n gapSpace?: number;\n /**\n * The bounding rectangle for which the contextual menu can appear in.\n */\n bounds?: IRectangle;\n /**\n * If true the position returned will have the menu element cover the target.\n * If false then it will position next to the target;\n */\n coverTarget?: boolean;\n /**\n * If true the position will not change edges in an attempt to fit the rectangle within bounds.\n * It will still attempt to align it to whatever bounds are given.\n * @defaultvalue false\n */\n directionalHintFixed?: boolean;\n\n /**\n * If true the positioning logic will prefer flipping edges over nudging the rectangle to fit within bounds,\n * thus making sure the element align perfectly with target.\n */\n alignTargetEdge?: boolean;\n}\n\nexport interface ICalloutPositionProps extends IPositionProps {\n /**\n * The width of the beak.\n */\n beakWidth?: number;\n\n /**\n * Whether or not the beak is visible\n */\n isBeakVisible?: boolean;\n}\n\nexport interface IPositionedData {\n /**\n * The new position of the element.\n */\n elementPosition: IPosition;\n /**\n * The finalized target edge that element is aligning to. For instance RectangleEdge.bottom would mean\n * that the bottom edge of the target is being aligned to by the RectangleEdge.top of the element\n * that is being positioned.\n */\n targetEdge: RectangleEdge;\n /**\n * The finalized alignment edge that the element is aligning too. For instance, RectangleEdge.left means\n * that the left edge of the target should be in line with the left edge of the element being positioned.\n */\n alignmentEdge?: RectangleEdge;\n}\n\nexport interface ICalloutPositionedInfo extends IPositionedData {\n beakPosition: ICalloutBeakPositionedInfo;\n}\n\nexport interface ICalloutBeakPositionedInfo extends IPositionedData {\n closestEdge: RectangleEdge;\n}\n\n/**\n * Gives the position of some element on the page. Only a pair of vertical and horizontal edges need to be\n * given. So top/left or bottom/left is sufficient.\n * The number given is the distance in pixels from whatever host was given..\n * So bottom: 100 would be 100px up from the bottom of the host while top: 100px from the top.\n */\nexport interface IPosition {\n top?: number;\n left?: number;\n bottom?: number;\n right?: number;\n [key: string]: number | undefined;\n}\n\nexport interface IPositionDirectionalHintData {\n targetEdge: RectangleEdge;\n alignmentEdge?: RectangleEdge;\n isAuto?: boolean;\n alignTargetEdge?: boolean;\n}\n\nexport interface IRelativePositions {\n calloutPosition: IPosition;\n beakPosition: { position: IPosition | undefined; display: 'block' };\n directionalClassName: string;\n submenuDirection: DirectionalHint;\n}\n","export const DirectionalHint = {\n /**\n * Appear above the target element, with the left edges of the callout and target aligning.\n */\n topLeftEdge: 0 as 0,\n\n /**\n * Appear above the target element, with the centers of the callout and target aligning.\n */\n topCenter: 1 as 1,\n\n /**\n * Appear above the target element, with the right edges of the callout and target aligning.\n */\n topRightEdge: 2 as 2,\n\n /**\n * Appear above the target element, aligning with the target element such that the callout tends toward\n * the center of the screen.\n */\n topAutoEdge: 3 as 3,\n\n /**\n * Appear below the target element, with the left edges of the callout and target aligning.\n */\n bottomLeftEdge: 4 as 4,\n\n /**\n * Appear below the target element, with the centers of the callout and target aligning.\n */\n bottomCenter: 5 as 5,\n\n /**\n * Appear below the target element, with the right edges of the callout and target aligning.\n */\n bottomRightEdge: 6 as 6,\n\n /**\n * Appear below the target element, aligning with the target element such that the callout tends toward\n * the center of the screen.\n */\n bottomAutoEdge: 7 as 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 as 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 as 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 as 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 as 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 as 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 as 13,\n};\n\nexport type DirectionalHint = typeof DirectionalHint[keyof typeof DirectionalHint];\n","import * as React from 'react';\nimport { BaseButton, Button } from '../../Button';\nimport { ITheme, IStyle } from '../../Styling';\nimport { IRefObject, IStyleFunctionOrObject } from '../../Utilities';\nimport { IIconProps } from '../../Icon';\n\n/**\n * {@docCategory MessageBar}\n */\nexport interface IMessageBar {}\n\n/**\n * {@docCategory MessageBar}\n */\nexport interface IMessageBarProps extends React.HTMLAttributes, React.RefAttributes {\n /**\n * Optional callback to access the IMessageBar interface. Use this instead of ref for accessing\n * the public methods and properties of the component.\n */\n componentRef?: IRefObject;\n\n /**\n * The type of MessageBar to render.\n * @defaultvalue MessageBarType.info\n */\n messageBarType?: MessageBarType;\n\n /**\n * The actions you want to show on the other side.\n */\n actions?: JSX.Element;\n\n /**\n * A description of the message bar for the benefit of screen readers.\n * @deprecated Use native prop `aria-label` instead.\n */\n ariaLabel?: string;\n\n /**\n * Whether the message bar has a dismiss button and its callback.\n * If null, we don't show a dismiss button.\n * @defaultvalue null\n */\n // eslint-disable-next-line deprecation/deprecation\n onDismiss?: (ev?: React.MouseEvent) => any;\n\n /**\n * Determines if the message bar is multi lined.\n * If false, and the text overflows over buttons or to another line, it is clipped.\n * @defaultvalue true\n */\n isMultiline?: boolean;\n\n /**\n * Aria label on dismiss button if onDismiss is defined.\n */\n dismissButtonAriaLabel?: string;\n\n /**\n * Determines if the message bar text is truncated.\n * If true, a button will render to toggle between a single line view and multiline view.\n * This prop is for single line message bars with no buttons only in a limited space scenario.\n * @defaultvalue false\n */\n truncated?: boolean;\n\n /**\n * Aria label on overflow button if truncated is defined.\n */\n overflowButtonAriaLabel?: string;\n\n /**\n * Additional CSS class(es) to apply to the MessageBar.\n */\n className?: string;\n\n /**\n * Theme (provided through customization.)\n */\n theme?: ITheme;\n\n /**\n * Call to provide customized styling that will layer on top of the variant rules.\n */\n styles?: IStyleFunctionOrObject;\n\n /**\n * Custom icon prop to replace the dismiss icon.\n * If unset, default will be the Fabric Clear icon.\n */\n dismissIconProps?: IIconProps;\n\n /**\n * Custom icon prop to replace the message bar icon.\n * If unset, default will be the icon set by messageBarType.\n */\n messageBarIconProps?: IIconProps;\n\n /**\n * Custom role to apply to the MessageBar.\n * @defaultvalue `alert` if `messageBarType` is `error`, `blocked`, or `severeWarning`;\n * or `status` otherwise\n */\n role?: 'alert' | 'status' | 'none';\n\n /**\n * By default, MessageBar delay-renders its content within an internal live region to help ensure\n * it's announced by screen readers. You can disable that behavior by setting this prop to `false`.\n *\n * If you set this prop to `false`, to ensure proper announcement you should either:\n * - If appropriate, ensure that the `role` prop is set to `alert` (this will be done by default\n * if `messageBarType` is `error`, `blocked`, or `severeWarning`), OR\n * - Set the `role` prop to `none` (to avoid nested `status` regions), wrap the whole MessageBar\n * in a `
` which is always rendered, and ensure that the MessageBar is\n * rendered either conditionally or with a delay.\n * @default true\n */\n delayedRender?: boolean;\n}\n\n/**\n * {@docCategory MessageBar}\n */\nexport interface IMessageBarStyleProps {\n /**\n * Theme (provided through customization).\n */\n theme: ITheme;\n\n /**\n * Additional CSS class(es).\n */\n className?: string;\n\n /**\n * Type of the MessageBar.\n */\n messageBarType?: MessageBarType;\n\n /**\n * Whether the MessageBar contains a dismiss button.\n */\n onDismiss?: boolean;\n\n /**\n * Whether the text is truncated.\n */\n truncated?: boolean;\n\n /**\n * Whether the MessageBar is rendered in multi line (as opposed to single line) mode.\n */\n isMultiline?: boolean;\n\n /**\n * Whether the single line MessageBar is being expanded.\n */\n expandSingleLine?: boolean;\n\n /**\n * Whether the MessageBar contains any action elements.\n */\n actions?: boolean;\n}\n\n/**\n * {@docCategory MessageBar}\n */\nexport interface IMessageBarStyles {\n /**\n * Style set for the root element.\n */\n root?: IStyle;\n\n /**\n * Style set for the element containing the icon, text, and optional dismiss button.\n */\n content?: IStyle;\n\n /**\n * Style set for the element containing the icon.\n */\n iconContainer?: IStyle;\n\n /**\n * Style set for the icon.\n */\n icon?: IStyle;\n\n /**\n * Style set for the element containing the text.\n */\n text?: IStyle;\n\n /**\n * Style set for the text.\n */\n innerText?: IStyle;\n\n /**\n * Style set for the optional dismiss button.\n */\n dismissal?: IStyle;\n\n /**\n * Style set for the icon used to expand and collapse the MessageBar.\n */\n expand?: IStyle;\n\n /**\n * Style set for the element containing the dismiss button.\n */\n dismissSingleLine?: IStyle;\n\n /**\n * Style set for the element containing the expand icon.\n */\n expandSingleLine?: IStyle;\n\n /**\n * Style set for the optional element containing the action elements.\n */\n actions?: IStyle;\n}\n\n/**\n * {@docCategory MessageBar}\n */\nexport enum MessageBarType {\n /** Info styled MessageBar */\n info = 0,\n /** Error styled MessageBar */\n error = 1,\n /** Blocked styled MessageBar */\n blocked = 2,\n /** SevereWarning styled MessageBar */\n severeWarning = 3,\n /** Success styled MessageBar */\n success = 4,\n /** Warning styled MessageBar */\n warning = 5,\n}\n","import { _isSSR } from './setSSR';\n\nlet _window: Window | undefined = undefined;\n\n// 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.\ntry {\n _window = window;\n} catch (e) {\n /* no-op */\n}\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 */\nexport function getWindow(rootElement?: Element | null): Window | undefined {\n if (_isSSR || typeof _window === 'undefined') {\n return undefined;\n } else {\n const el = rootElement as Element;\n\n return el && el.ownerDocument && el.ownerDocument.defaultView ? el.ownerDocument.defaultView : _window;\n }\n}\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n\"use strict\";\r\nimport { getWindow, getDocument, strUndefined } from './EnvUtils';\r\n\r\n// Added to help with minfication\r\nexport const Undefined = strUndefined;\r\nlet prototype = \"prototype\";\r\nconst strFunction = \"function\";\r\nconst strObject = \"object\"\r\nconst strOnPrefix = \"on\";\r\nconst strAttachEvent = \"attachEvent\";\r\nconst strAddEventHelper = \"addEventListener\";\r\nconst strDetachEvent = \"detachEvent\";\r\nconst strRemoveEventListener = \"removeEventListener\";\r\n\r\nfunction _isTypeof(value: any, theType: string): boolean\r\n{\r\n return typeof value === theType;\r\n}\r\n\r\nfunction _isUndefined(value: any): boolean\r\n{\r\n return value === undefined || _isTypeof(value, Undefined);\r\n}\r\n\r\nfunction _isNullOrUndefined(value: any): boolean\r\n{\r\n return (_isUndefined(value) || value === null);\r\n}\r\n\r\nfunction _hasOwnProperty(obj:any, prop:string): boolean {\r\n return obj && Object[prototype].hasOwnProperty.call(obj, prop);\r\n}\r\n\r\nfunction _isObject(value: any): boolean {\r\n return _isTypeof(value, strObject);\r\n}\r\n\r\nfunction _isFunction(value: any): boolean {\r\n return _isTypeof(value, strFunction);\r\n}\r\n\r\n/**\r\n * Binds the specified function to an event, so that the function gets called whenever the event fires on the object\r\n * @param obj Object to add the event too.\r\n * @param eventNameWithoutOn String that specifies any of the standard DHTML Events without \"on\" prefix\r\n * @param handlerRef Pointer that specifies the function to call when event fires\r\n * @param useCapture [Optional] Defaults to false\r\n * @returns True if the function was bound successfully to the event, otherwise false\r\n */\r\nfunction _attachEvent(obj:any, eventNameWithoutOn:string, handlerRef:any, useCapture:boolean = false) {\r\n let result = false;\r\n if (!_isNullOrUndefined(obj)) {\r\n try {\r\n if (!_isNullOrUndefined(obj[strAddEventHelper])) {\r\n // all browsers except IE before version 9\r\n obj[strAddEventHelper](eventNameWithoutOn, handlerRef, useCapture);\r\n result = true;\r\n } else if (!_isNullOrUndefined(obj[strAttachEvent])) {\r\n // IE before version 9 \r\n obj[strAttachEvent](strOnPrefix + eventNameWithoutOn, handlerRef);\r\n result = true;\r\n }\r\n } catch (e) {\r\n // Just Ignore any error so that we don't break any execution path\r\n }\r\n }\r\n\r\n return result;\r\n}\r\n\r\n/**\r\n * Removes an event handler for the specified event\r\n * @param Object to remove the event from\r\n * @param eventNameWithoutOn {string} - The name of the event\r\n * @param handlerRef {any} - The callback function that needs to be executed for the given event\r\n * @param useCapture [Optional] Defaults to false\r\n */\r\nfunction _detachEvent(obj:any, eventNameWithoutOn:string, handlerRef:any, useCapture:boolean = false) {\r\n if (!_isNullOrUndefined(obj)) {\r\n try {\r\n if (!_isNullOrUndefined(obj[strRemoveEventListener])) {\r\n obj[strRemoveEventListener](eventNameWithoutOn, handlerRef, useCapture);\r\n } else if (!_isNullOrUndefined(obj[strDetachEvent])) {\r\n obj[strDetachEvent](strOnPrefix + eventNameWithoutOn, handlerRef);\r\n }\r\n } catch (e) {\r\n // Just Ignore any error so that we don't break any execution path\r\n }\r\n }\r\n}\r\n\r\nexport class CoreUtils {\r\n public static _canUseCookies: boolean;\r\n\r\n public static isTypeof:(value: any, theType: string) => boolean = _isTypeof;\r\n \r\n public static isUndefined:(value: any) => boolean = _isUndefined;\r\n \r\n public static isNullOrUndefined:(value: any) => boolean = _isNullOrUndefined;\r\n \r\n public static hasOwnProperty:(obj:any, prop:string) => boolean = _hasOwnProperty;\r\n \r\n /**\r\n * Checks if the passed of value is a function.\r\n * @param {any} value - Value to be checked.\r\n * @return {boolean} True if the value is a boolean, false otherwise.\r\n */\r\n public static isFunction:(value: any) => boolean = _isFunction;\r\n\r\n /**\r\n * Checks if the passed of value is a function.\r\n * @param {any} value - Value to be checked.\r\n * @return {boolean} True if the value is a boolean, false otherwise.\r\n */\r\n public static isObject:(value: any) => boolean = _isObject;\r\n\r\n /**\r\n * Check if an object is of type Date\r\n */\r\n public static isDate(obj: any): boolean {\r\n return Object[prototype].toString.call(obj) === \"[object Date]\";\r\n }\r\n\r\n /**\r\n * Checks if the type of value is a string.\r\n * @param {any} value - Value to be checked.\r\n * @return {boolean} True if the value is a string, false otherwise.\r\n */\r\n public static isString(value: any): boolean {\r\n return _isTypeof(value, \"string\");\r\n }\r\n\r\n /**\r\n * Checks if the type of value is a number.\r\n * @param {any} value - Value to be checked.\r\n * @return {boolean} True if the value is a number, false otherwise.\r\n */\r\n public static isNumber(value: any): boolean {\r\n return _isTypeof(value, \"number\");\r\n }\r\n\r\n /**\r\n * Checks if the type of value is a boolean.\r\n * @param {any} value - Value to be checked.\r\n * @return {boolean} True if the value is a boolean, false otherwise.\r\n */\r\n public static isBoolean(value: any): boolean {\r\n return _isTypeof(value, \"boolean\");\r\n }\r\n\r\n /**\r\n * Creates a new GUID.\r\n * @return {string} A GUID.\r\n */\r\n\r\n public static disableCookies() {\r\n CoreUtils._canUseCookies = false;\r\n }\r\n\r\n public static newGuid():  string  {\r\n return  'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(GuidRegex,  (c) => {\r\n const  r  =  (Math.random()  *  16  |  0),  v  =  (c  ===  'x'  ?  r  :  r  &  0x3  |  0x8);\r\n return  v.toString(16);\r\n });\r\n }\r\n\r\n /**\r\n * Convert a date to I.S.O. format in IE8\r\n */\r\n public static toISOString(date: Date) {\r\n if (CoreUtils.isDate(date)) {\r\n const pad = (num: number) => {\r\n let r = String(num);\r\n if (r.length === 1) {\r\n r = \"0\" + r;\r\n }\r\n\r\n return r;\r\n }\r\n\r\n return date.getUTCFullYear()\r\n + \"-\" + pad(date.getUTCMonth() + 1)\r\n + \"-\" + pad(date.getUTCDate())\r\n + \"T\" + pad(date.getUTCHours())\r\n + \":\" + pad(date.getUTCMinutes())\r\n + \":\" + pad(date.getUTCSeconds())\r\n + \".\" + String((date.getUTCMilliseconds() / 1000).toFixed(3)).slice(2, 5)\r\n + \"Z\";\r\n }\r\n }\r\n\r\n /**\r\n * Performs the specified action for each element in an array. This helper exists to avoid adding a polyfil for older browsers\r\n * that do not define Array.prototype.xxxx (eg. ES3 only, IE8) just in case any page checks for presence/absence of the prototype\r\n * implementation. Note: For consistency this will not use the Array.prototype.xxxx implementation if it exists as this would\r\n * cause a testing requirement to test with and without the implementations\r\n * @param callbackfn A function that accepts up to three arguments. forEach calls the callbackfn function one time for each element in the array.\r\n * @param thisArg [Optional] An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value.\r\n */\r\n public static arrForEach(arr: T[], callbackfn: (value: T, index?: number, array?: T[]) => void, thisArg?: any):void {\r\n let len = arr.length;\r\n for (let idx = 0; idx < len; ++idx) {\r\n if (idx in arr) {\r\n callbackfn.call(thisArg || arr, arr[idx], idx, arr);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Returns the index of the first occurrence of a value in an array. This helper exists to avoid adding a polyfil for older browsers\r\n * that do not define Array.prototype.xxxx (eg. ES3 only, IE8) just in case any page checks for presence/absence of the prototype\r\n * implementation. Note: For consistency this will not use the Array.prototype.xxxx implementation if it exists as this would\r\n * cause a testing requirement to test with and without the implementations\r\n * @param searchElement The value to locate in the array.\r\n * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the search starts at index 0.\r\n */\r\n public static arrIndexOf(arr: T[], searchElement: T, fromIndex?: number): number {\r\n let len = arr.length;\r\n let from = fromIndex || 0;\r\n for (let lp = Math.max(from >= 0 ? from : len - Math.abs(from), 0); lp < len; lp++) {\r\n if (lp in arr && arr[lp] === searchElement) {\r\n return lp;\r\n }\r\n }\r\n\r\n return -1;\r\n }\r\n\r\n /**\r\n * Calls a defined callback function on each element of an array, and returns an array that contains the results. This helper exists \r\n * to avoid adding a polyfil for older browsers that do not define Array.prototype.xxxx (eg. ES3 only, IE8) just in case any page \r\n * checks for presence/absence of the prototype implementation. Note: For consistency this will not use the Array.prototype.xxxx \r\n * implementation if it exists as this would cause a testing requirement to test with and without the implementations\r\n * @param callbackfn A function that accepts up to three arguments. The map method calls the callbackfn function one time for each element in the array.\r\n * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value.\r\n */\r\n public static arrMap(arr: T[], callbackfn: (value: T, index?: number, array?: T[]) => R, thisArg?: any): R[] {\r\n let len = arr.length;\r\n let _this = thisArg || arr;\r\n let results = new Array(len);\r\n \r\n for (let lp = 0; lp < len; lp++) {\r\n if (lp in arr) {\r\n results[lp] = callbackfn.call(_this, arr[lp], arr);\r\n }\r\n }\r\n\r\n return results;\r\n }\r\n\r\n /**\r\n * Calls the specified callback function for all the elements in an array. The return value of the callback function is the accumulated result, and is\r\n * provided as an argument in the next call to the callback function. This helper exists to avoid adding a polyfil for older browsers that do not define\r\n * Array.prototype.xxxx (eg. ES3 only, IE8) just in case any page checks for presence/absence of the prototype implementation. Note: For consistency \r\n * this will not use the Array.prototype.xxxx implementation if it exists as this would cause a testing requirement to test with and without the implementations\r\n * @param callbackfn A function that accepts up to four arguments. The reduce method calls the callbackfn function one time for each element in the array.\r\n * @param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value.\r\n */\r\n public static arrReduce(arr: T[], callbackfn: (previousValue: T|R, currentValue?: T, currentIndex?: number, array?: T[]) => R, initialValue?: R): R {\r\n let len = arr.length;\r\n let lp = 0;\r\n let value;\r\n\r\n // Specifically checking the number of passed arguments as the value could be anything\r\n if (arguments.length >= 3) {\r\n value = arguments[2];\r\n } else {\r\n while (lp < len && !(lp in arr)) {\r\n lp++;\r\n }\r\n\r\n value = arr[lp++];\r\n }\r\n\r\n while (lp < len) {\r\n if (lp in arr) {\r\n value = callbackfn(value, arr[lp], lp, arr);\r\n }\r\n lp++;\r\n }\r\n\r\n return value;\r\n }\r\n\r\n /**\r\n * Creates an object that has the specified prototype, and that optionally contains specified properties. This helper exists to avoid adding a polyfil\r\n * for older browsers that do not define Object.create eg. ES3 only, IE8 just in case any page checks for presence/absence of the prototype implementation.\r\n * Note: For consistency this will not use the Object.create implementation if it exists as this would cause a testing requirement to test with and without the implementations\r\n * @param obj Object to use as a prototype. May be null\r\n */\r\n public static objCreate(obj:object):any {\r\n if (obj == null) {\r\n return {};\r\n }\r\n\r\n if (!_isObject(obj) && !_isFunction(obj)) {\r\n throw new TypeError('Object prototype may only be an Object: ' + obj)\r\n }\r\n\r\n function tmpFunc() {};\r\n tmpFunc[prototype] = obj;\r\n\r\n return new tmpFunc();\r\n }\r\n\r\n /**\r\n * Returns the names of the enumerable string properties and methods of an object. This helper exists to avoid adding a polyfil for older browsers \r\n * that do not define Object.keys eg. ES3 only, IE8 just in case any page checks for presence/absence of the prototype implementation.\r\n * Note: For consistency this will not use the Object.keys implementation if it exists as this would cause a testing requirement to test with and without the implementations\r\n * @param obj Object that contains the properties and methods. This can be an object that you created or an existing Document Object Model (DOM) object.\r\n */\r\n public static objKeys(obj: {}): string[] {\r\n var hasDontEnumBug = !({ toString: null }).propertyIsEnumerable('toString');\r\n\r\n if (!_isFunction(obj) && (!_isObject(obj) || obj === null)) {\r\n throw new TypeError('objKeys called on non-object');\r\n }\r\n\r\n let result:string[] = [];\r\n \r\n for (let prop in obj) {\r\n if (_hasOwnProperty(obj, prop)) {\r\n result.push(prop);\r\n }\r\n }\r\n\r\n if (hasDontEnumBug) {\r\n let dontEnums = [\r\n 'toString',\r\n 'toLocaleString',\r\n 'valueOf',\r\n 'hasOwnProperty',\r\n 'isPrototypeOf',\r\n 'propertyIsEnumerable',\r\n 'constructor'\r\n ];\r\n let dontEnumsLength = dontEnums.length;\r\n \r\n for (let lp = 0; lp < dontEnumsLength; lp++) {\r\n if (_hasOwnProperty(obj, dontEnums[lp])) {\r\n result.push(dontEnums[lp]);\r\n }\r\n }\r\n }\r\n\r\n return result;\r\n }\r\n\r\n /**\r\n * Try to define get/set object property accessors for the target object/prototype, this will provide compatibility with\r\n * existing API definition when run within an ES5+ container that supports accessors but still enable the code to be loaded\r\n * and executed in an ES3 container, providing basic IE8 compatibility.\r\n * @param target The object on which to define the property.\r\n * @param prop The name of the property to be defined or modified.\r\n * @param getProp The getter function to wire against the getter.\r\n * @param setProp The setter function to wire against the setter.\r\n * @returns True if it was able to create the accessors otherwise false\r\n */\r\n public static objDefineAccessors(target:any, prop:string, getProp?:() => T, setProp?: (v:T) => void) : boolean {\r\n let defineProp = Object[\"defineProperty\"];\r\n if (defineProp) {\r\n try {\r\n let descriptor:PropertyDescriptor = {\r\n enumerable: true,\r\n configurable: true\r\n }\r\n\r\n if (getProp) {\r\n descriptor.get = getProp;\r\n }\r\n if (setProp) {\r\n descriptor.set = setProp;\r\n }\r\n\r\n defineProp(target, prop, descriptor);\r\n return true;\r\n } catch (e) {\r\n // IE8 Defines a defineProperty on Object but it's only supported for DOM elements so it will throw\r\n // We will just ignore this here.\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n /**\r\n * Trys to add an event handler for the specified event to the window, body and document\r\n * @param eventName {string} - The name of the event\r\n * @param callback {any} - The callback function that needs to be executed for the given event\r\n * @return {boolean} - true if the handler was successfully added\r\n */\r\n public static addEventHandler(eventName: string, callback: any): boolean {\r\n let result = false;\r\n let w = getWindow();\r\n if (w) {\r\n result = _attachEvent(w, eventName, callback);\r\n result = _attachEvent(w[\"body\"], eventName, callback) || result;\r\n }\r\n\r\n let doc = getDocument();\r\n if (doc) {\r\n result = EventHelper.Attach(doc, eventName, callback) || result;\r\n }\r\n\r\n return result;\r\n }\r\n}\r\n\r\nconst GuidRegex = /[xy]/g;\r\n\r\nexport class EventHelper {\r\n /**\r\n * Binds the specified function to an event, so that the function gets called whenever the event fires on the object\r\n * @param obj Object to add the event too.\r\n * @param eventNameWithoutOn String that specifies any of the standard DHTML Events without \"on\" prefix\r\n * @param handlerRef Pointer that specifies the function to call when event fires\r\n * @returns True if the function was bound successfully to the event, otherwise false\r\n */\r\n public static Attach:(obj:any, eventNameWithoutOn:string, handlerRef:any) => boolean = _attachEvent;\r\n\r\n /**\r\n * Binds the specified function to an event, so that the function gets called whenever the event fires on the object\r\n * @deprecated Use {@link EventHelper#Attach} as we are already in a class call EventHelper the extra \"Event\" just causes a larger result\r\n * @param obj Object to add the event too.\r\n * @param eventNameWithoutOn String that specifies any of the standard DHTML Events without \"on\" prefix\r\n * @param handlerRef Pointer that specifies the function to call when event fires\r\n * @returns True if the function was bound successfully to the event, otherwise false\r\n */\r\n public static AttachEvent:(obj:any, eventNameWithoutOn:string, handlerRef:any) => boolean = _attachEvent;\r\n\r\n /**\r\n * Removes an event handler for the specified event\r\n * @param eventName {string} - The name of the event\r\n * @param callback {any} - The callback function that needs to be executed for the given event\r\n * @return {boolean} - true if the handler was successfully added\r\n */\r\n public static Detach:(obj:any, eventNameWithoutOn:string, handlerRef:any) => void = _detachEvent;\r\n\r\n /**\r\n * Removes an event handler for the specified event\r\n * @deprecated Use {@link EventHelper#Detach} as we are already in a class call EventHelper the extra \"Event\" just causes a larger result\r\n * @param eventName {string} - The name of the event\r\n * @param callback {any} - The callback function that needs to be executed for the given event\r\n * @return {boolean} - true if the handler was successfully added\r\n */\r\n public static DetachEvent:(obj:any, eventNameWithoutOn:string, handlerRef:any) => void = _detachEvent;\r\n}\r\n","import { elementContainsAttribute } from './dom/elementContainsAttribute';\nimport { elementContains } from './dom/elementContains';\nimport { getParent } from './dom/getParent';\nimport { getWindow } from './dom/getWindow';\nimport { getDocument } from './dom/getDocument';\n\nconst IS_FOCUSABLE_ATTRIBUTE = 'data-is-focusable';\nconst IS_VISIBLE_ATTRIBUTE = 'data-is-visible';\nconst FOCUSZONE_ID_ATTRIBUTE = 'data-focuszone-id';\nconst FOCUSZONE_SUB_ATTRIBUTE = 'data-is-sub-focuszone';\n\n/**\n * Gets the first focusable element.\n *\n * @public\n */\nexport function getFirstFocusable(\n rootElement: HTMLElement,\n currentElement: HTMLElement,\n includeElementsInFocusZones?: boolean,\n): HTMLElement | null {\n return getNextElement(\n rootElement,\n currentElement,\n true /*checkNode*/,\n false /*suppressParentTraversal*/,\n false /*suppressChildTraversal*/,\n includeElementsInFocusZones,\n );\n}\n\n/**\n * Gets the last focusable element.\n *\n * @public\n */\nexport function getLastFocusable(\n rootElement: HTMLElement,\n currentElement: HTMLElement,\n includeElementsInFocusZones?: boolean,\n): HTMLElement | null {\n return getPreviousElement(\n rootElement,\n currentElement,\n true /*checkNode*/,\n false /*suppressParentTraversal*/,\n true /*traverseChildren*/,\n includeElementsInFocusZones,\n );\n}\n\n/**\n * Gets the first tabbable element. (The difference between focusable and tabbable is that tabbable elements are\n * focusable elements that also have tabIndex != -1.)\n * @param rootElement - The parent element to search beneath.\n * @param currentElement - The descendant of rootElement to start the search at. This element is the first one checked,\n * and iteration continues forward. Typical use passes rootElement.firstChild.\n * @param includeElementsInFocusZones - true if traversal should go into FocusZone descendants.\n * @param checkNode - Include currentElement in search when true. Defaults to true.\n * @public\n */\nexport function getFirstTabbable(\n rootElement: HTMLElement,\n currentElement: HTMLElement,\n includeElementsInFocusZones?: boolean,\n checkNode: boolean = true,\n): HTMLElement | null {\n return getNextElement(\n rootElement,\n currentElement,\n checkNode,\n false /*suppressParentTraversal*/,\n false /*suppressChildTraversal*/,\n includeElementsInFocusZones,\n false /*allowFocusRoot*/,\n true /*tabbable*/,\n );\n}\n\n/**\n * Gets the last tabbable element. (The difference between focusable and tabbable is that tabbable elements are\n * focusable elements that also have tabIndex != -1.)\n * @param rootElement - The parent element to search beneath.\n * @param currentElement - The descendant of rootElement to start the search at. This element is the first one checked,\n * and iteration continues in reverse. Typical use passes rootElement.lastChild.\n * @param includeElementsInFocusZones - true if traversal should go into FocusZone descendants.\n * @param checkNode - Include currentElement in search when true. Defaults to true.\n * @public\n */\nexport function getLastTabbable(\n rootElement: HTMLElement,\n currentElement: HTMLElement,\n includeElementsInFocusZones?: boolean,\n checkNode: boolean = true,\n): HTMLElement | null {\n return getPreviousElement(\n rootElement,\n currentElement,\n checkNode,\n false /*suppressParentTraversal*/,\n true /*traverseChildren*/,\n includeElementsInFocusZones,\n false /*allowFocusRoot*/,\n true /*tabbable*/,\n );\n}\n\n/**\n * Attempts to focus the first focusable element that is a child or child's child of the rootElement.\n *\n * @public\n * @param rootElement - Element to start the search for a focusable child.\n * @returns True if focus was set, false if it was not.\n */\nexport function focusFirstChild(rootElement: HTMLElement): boolean {\n let element: HTMLElement | null = getNextElement(rootElement, rootElement, true, false, false, true);\n\n if (element) {\n focusAsync(element);\n return true;\n }\n return false;\n}\n\n/**\n * Traverse to find the previous element.\n * If tabbable is true, the element must have tabIndex != -1.\n *\n * @public\n */\nexport function getPreviousElement(\n rootElement: HTMLElement,\n currentElement: HTMLElement | null,\n checkNode?: boolean,\n suppressParentTraversal?: boolean,\n traverseChildren?: boolean,\n includeElementsInFocusZones?: boolean,\n allowFocusRoot?: boolean,\n tabbable?: boolean,\n): HTMLElement | null {\n if (!currentElement || (!allowFocusRoot && currentElement === rootElement)) {\n return null;\n }\n\n let isCurrentElementVisible = isElementVisible(currentElement);\n\n // Check its children.\n if (\n traverseChildren &&\n isCurrentElementVisible &&\n (includeElementsInFocusZones || !(isElementFocusZone(currentElement) || isElementFocusSubZone(currentElement)))\n ) {\n const childMatch = getPreviousElement(\n rootElement,\n currentElement.lastElementChild as HTMLElement,\n true,\n true,\n true,\n includeElementsInFocusZones,\n allowFocusRoot,\n tabbable,\n );\n\n if (childMatch) {\n if ((tabbable && isElementTabbable(childMatch, true)) || !tabbable) {\n return childMatch;\n }\n\n const childMatchSiblingMatch = getPreviousElement(\n rootElement,\n childMatch.previousElementSibling as HTMLElement,\n true,\n true,\n true,\n includeElementsInFocusZones,\n allowFocusRoot,\n tabbable,\n );\n if (childMatchSiblingMatch) {\n return childMatchSiblingMatch;\n }\n\n let childMatchParent = childMatch.parentElement;\n\n // At this point if we have not found any potential matches\n // start looking at the rest of the subtree under the currentParent.\n // NOTE: We do not want to recurse here because doing so could\n // cause elements to get skipped.\n while (childMatchParent && childMatchParent !== currentElement) {\n const childMatchParentMatch = getPreviousElement(\n rootElement,\n childMatchParent.previousElementSibling as HTMLElement,\n true,\n true,\n true,\n includeElementsInFocusZones,\n allowFocusRoot,\n tabbable,\n );\n\n if (childMatchParentMatch) {\n return childMatchParentMatch;\n }\n\n childMatchParent = childMatchParent.parentElement;\n }\n }\n }\n\n // Check the current node, if it's not the first traversal.\n if (checkNode && isCurrentElementVisible && isElementTabbable(currentElement, tabbable)) {\n return currentElement;\n }\n\n // Check its previous sibling.\n const siblingMatch = getPreviousElement(\n rootElement,\n currentElement.previousElementSibling as HTMLElement,\n true,\n true,\n true,\n includeElementsInFocusZones,\n allowFocusRoot,\n tabbable,\n );\n\n if (siblingMatch) {\n return siblingMatch;\n }\n\n // Check its parent.\n if (!suppressParentTraversal) {\n return getPreviousElement(\n rootElement,\n currentElement.parentElement,\n true,\n false,\n false,\n includeElementsInFocusZones,\n allowFocusRoot,\n tabbable,\n );\n }\n\n return null;\n}\n\n/**\n * Traverse to find the next focusable element.\n * If tabbable is true, the element must have tabIndex != -1.\n *\n * @public\n * @param checkNode - Include currentElement in search when true.\n */\nexport function getNextElement(\n rootElement: HTMLElement,\n currentElement: HTMLElement | null,\n checkNode?: boolean,\n suppressParentTraversal?: boolean,\n suppressChildTraversal?: boolean,\n includeElementsInFocusZones?: boolean,\n allowFocusRoot?: boolean,\n tabbable?: boolean,\n): HTMLElement | null {\n if (!currentElement || (currentElement === rootElement && suppressChildTraversal && !allowFocusRoot)) {\n return null;\n }\n\n let isCurrentElementVisible = isElementVisible(currentElement);\n\n // Check the current node, if it's not the first traversal.\n if (checkNode && isCurrentElementVisible && isElementTabbable(currentElement, tabbable)) {\n return currentElement;\n }\n\n // Check its children.\n if (\n !suppressChildTraversal &&\n isCurrentElementVisible &&\n (includeElementsInFocusZones || !(isElementFocusZone(currentElement) || isElementFocusSubZone(currentElement)))\n ) {\n const childMatch = getNextElement(\n rootElement,\n currentElement.firstElementChild as HTMLElement,\n true,\n true,\n false,\n includeElementsInFocusZones,\n allowFocusRoot,\n tabbable,\n );\n\n if (childMatch) {\n return childMatch;\n }\n }\n\n if (currentElement === rootElement) {\n return null;\n }\n\n // Check its sibling.\n const siblingMatch = getNextElement(\n rootElement,\n currentElement.nextElementSibling as HTMLElement,\n true,\n true,\n false,\n includeElementsInFocusZones,\n allowFocusRoot,\n tabbable,\n );\n\n if (siblingMatch) {\n return siblingMatch;\n }\n\n if (!suppressParentTraversal) {\n return getNextElement(\n rootElement,\n currentElement.parentElement,\n false,\n false,\n true,\n includeElementsInFocusZones,\n allowFocusRoot,\n tabbable,\n );\n }\n\n return null;\n}\n\n/**\n * Determines if an element is visible.\n *\n * @public\n */\nexport function isElementVisible(element: HTMLElement | undefined | null): boolean {\n // If the element is not valid, return false.\n if (!element || !element.getAttribute) {\n return false;\n }\n\n const visibilityAttribute = element.getAttribute(IS_VISIBLE_ATTRIBUTE);\n\n // If the element is explicitly marked with the visibility attribute, return that value as boolean.\n if (visibilityAttribute !== null && visibilityAttribute !== undefined) {\n return visibilityAttribute === 'true';\n }\n\n // Fallback to other methods of determining actual visibility.\n return (\n element.offsetHeight !== 0 ||\n element.offsetParent !== null ||\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (element as any).isVisible === true\n ); // used as a workaround for testing.\n}\n\n/**\n * Determines if an element can receive focus programmatically or via a mouse click.\n * If checkTabIndex is true, additionally checks to ensure the element can be focused with the tab key,\n * meaning tabIndex != -1.\n *\n * @public\n */\nexport function isElementTabbable(element: HTMLElement, checkTabIndex?: boolean): boolean {\n // If this element is null or is disabled, it is not considered tabbable.\n if (!element || (element as HTMLButtonElement).disabled) {\n return false;\n }\n\n let tabIndex = 0;\n let tabIndexAttributeValue = null;\n\n if (element && element.getAttribute) {\n tabIndexAttributeValue = element.getAttribute('tabIndex');\n\n if (tabIndexAttributeValue) {\n tabIndex = parseInt(tabIndexAttributeValue, 10);\n }\n }\n\n let isFocusableAttribute = element.getAttribute ? element.getAttribute(IS_FOCUSABLE_ATTRIBUTE) : null;\n let isTabIndexSet = tabIndexAttributeValue !== null && tabIndex >= 0;\n\n const result =\n !!element &&\n isFocusableAttribute !== 'false' &&\n (element.tagName === 'A' ||\n element.tagName === 'BUTTON' ||\n element.tagName === 'INPUT' ||\n element.tagName === 'TEXTAREA' ||\n element.tagName === 'SELECT' ||\n isFocusableAttribute === 'true' ||\n isTabIndexSet);\n\n return checkTabIndex ? tabIndex !== -1 && result : result;\n}\n\n/**\n * Determines if a given element is a focus zone.\n *\n * @public\n */\nexport function isElementFocusZone(element?: HTMLElement): boolean {\n return !!(element && element.getAttribute && !!element.getAttribute(FOCUSZONE_ID_ATTRIBUTE));\n}\n\n/**\n * Determines if a given element is a focus sub zone.\n *\n * @public\n */\nexport function isElementFocusSubZone(element?: HTMLElement): boolean {\n return !!(element && element.getAttribute && element.getAttribute(FOCUSZONE_SUB_ATTRIBUTE) === 'true');\n}\n\n/**\n * Determines if an element, or any of its children, contain focus.\n *\n * @public\n */\nexport function doesElementContainFocus(element: HTMLElement): boolean {\n let document = getDocument(element);\n let currentActiveElement: HTMLElement | undefined = document && (document.activeElement as HTMLElement);\n if (currentActiveElement && elementContains(element, currentActiveElement)) {\n return true;\n }\n return false;\n}\n\n/**\n * Determines if an, or any of its ancestors, sepcificies that it doesn't want focus to wrap\n * @param element - element to start searching from\n * @param noWrapDataAttribute - the no wrap data attribute to match (either)\n * @returns true if focus should wrap, false otherwise\n */\nexport function shouldWrapFocus(\n element: HTMLElement,\n noWrapDataAttribute: 'data-no-vertical-wrap' | 'data-no-horizontal-wrap',\n): boolean {\n return elementContainsAttribute(element, noWrapDataAttribute) === 'true' ? false : true;\n}\n\nlet targetToFocusOnNextRepaint: HTMLElement | { focus: () => void } | null | undefined = undefined;\n\n/**\n * Sets focus to an element asynchronously. The focus will be set at the next browser repaint,\n * meaning it won't cause any extra recalculations. If more than one focusAsync is called during one frame,\n * only the latest called focusAsync element will actually be focused\n * @param element - The element to focus\n */\nexport function focusAsync(element: HTMLElement | { focus: () => void } | undefined | null): void {\n if (element) {\n // An element was already queued to be focused, so replace that one with the new element\n if (targetToFocusOnNextRepaint) {\n targetToFocusOnNextRepaint = element;\n return;\n }\n\n targetToFocusOnNextRepaint = element;\n\n const win = getWindow(element as Element);\n\n if (win) {\n // element.focus() is a no-op if the element is no longer in the DOM, meaning this is always safe\n win.requestAnimationFrame(() => {\n targetToFocusOnNextRepaint && targetToFocusOnNextRepaint.focus();\n\n // We are done focusing for this frame, so reset the queued focus element\n targetToFocusOnNextRepaint = undefined;\n });\n }\n }\n}\n\n/**\n * Finds the closest focusable element via an index path from a parent. See\n * `getElementIndexPath` for getting an index path from an element to a child.\n */\nexport function getFocusableByIndexPath(parent: HTMLElement, path: number[]): HTMLElement | undefined {\n let element = parent;\n\n for (const index of path) {\n const nextChild = element.children[Math.min(index, element.children.length - 1)] as HTMLElement;\n\n if (!nextChild) {\n break;\n }\n element = nextChild;\n }\n\n element =\n isElementTabbable(element) && isElementVisible(element)\n ? element\n : getNextElement(parent, element, true) || getPreviousElement(parent, element)!;\n\n return element as HTMLElement;\n}\n\n/**\n * Finds the element index path from a parent element to a child element.\n *\n * If you had this node structure: \"A has children [B, C] and C has child D\",\n * the index path from A to D would be [1, 0], or `parent.chidren[1].children[0]`.\n */\nexport function getElementIndexPath(fromElement: HTMLElement, toElement: HTMLElement): number[] {\n const path: number[] = [];\n\n while (toElement && fromElement && toElement !== fromElement) {\n const parent = getParent(toElement, true);\n\n if (parent === null) {\n return [];\n }\n\n path.unshift(Array.prototype.indexOf.call(parent.children, toElement));\n toElement = parent;\n }\n\n return path;\n}\n","import { KTP_SEPARATOR, KTP_PREFIX, DATAKTP_TARGET, DATAKTP_EXECUTE_TARGET, KTP_LAYER_ID } from './KeytipConstants';\nimport { addElementAtIndex } from '../../Utilities';\n\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 to use for the keytip ID.\n */\nexport function sequencesToID(keySequences: string[]): string {\n return keySequences.reduce((prevValue: string, keySequence: string): string => {\n return prevValue + KTP_SEPARATOR + keySequence.split('').join(KTP_SEPARATOR);\n }, KTP_PREFIX);\n}\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 Sequence that will be used by the keytip when in the overflow.\n */\nexport function mergeOverflows(keySequences: string[], overflowKeySequences: string[]): string[] {\n const overflowSequenceLen = overflowKeySequences.length;\n const overflowSequence = [...overflowKeySequences].pop();\n const newKeySequences = [...keySequences];\n return addElementAtIndex(newKeySequences, overflowSequenceLen - 1, overflowSequence!);\n}\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 selector to use to query for the keytip target.\n */\nexport function ktpTargetFromSequences(keySequences: string[]): string {\n return '[' + DATAKTP_TARGET + '=\"' + sequencesToID(keySequences) + '\"]';\n}\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 selector to use to query for the keytip execute target.\n */\nexport function ktpTargetFromId(keytipId: string): string {\n return '[' + DATAKTP_EXECUTE_TARGET + '=\"' + keytipId + '\"]';\n}\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 The aria-describedby value to set on the component with this keytip.\n */\nexport function getAriaDescribedBy(keySequences: string[]): string {\n const describedby = ' ' + KTP_LAYER_ID;\n if (!keySequences.length) {\n // Return just the layer ID\n return describedby;\n }\n\n return describedby + ' ' + sequencesToID(keySequences);\n}\n","import * as React from 'react';\nimport { DetailsListBase } from './DetailsList.base';\nimport { ISelection, SelectionMode, ISelectionZoneProps } from '../../Selection';\nimport { IRefObject, IBaseProps, IRenderFunction, IStyleFunctionOrObject } from '../../Utilities';\nimport { IDragDropEvents, IDragDropContext, IDragDropHelper, IDragDropOptions } from '../../DragDrop';\nimport { IGroup, IGroupRenderProps, IGroupDividerProps, IGroupedListProps } from '../GroupedList/index';\nimport { IDetailsRowProps, IDetailsRowBaseProps } from '../DetailsList/DetailsRow';\nimport { IDetailsHeaderProps, IDetailsHeaderBaseProps } from './DetailsHeader';\nimport { IDetailsFooterProps, IDetailsFooterBaseProps } from './DetailsFooter.types';\nimport { IWithViewportProps, IViewport } from '../../utilities/decorators/withViewport';\nimport { IList, IListProps, ScrollToMode } from '../../List';\nimport { ITheme, IStyle } from '../../Styling';\nimport { ICellStyleProps, IDetailsItemProps } from './DetailsRow.types';\nimport { IDetailsCheckboxProps } from './DetailsRowCheck.types';\nimport {\n IDetailsColumnStyleProps,\n IDetailsColumnProps,\n IDetailsColumnStyles,\n IDetailsColumnFilterIconProps,\n} from './DetailsColumn.types';\n\nexport {\n IDetailsHeaderProps,\n IDetailsRowBaseProps,\n IDetailsHeaderBaseProps,\n IDetailsFooterBaseProps,\n IDragDropContext,\n IDragDropEvents,\n IDragDropHelper,\n IDragDropOptions,\n IViewport,\n IWithViewportProps,\n};\n\n/**\n * {@docCategory DetailsList}\n */\nexport interface IDetailsList extends IList {\n /**\n * Ensures that the list content is updated. Call this in cases where the list prop updates don't change, but the list\n * still needs to be re-evaluated. For example, if a sizer bar is adjusted and causes the list width to change,\n * you can call this to force a re-evaluation. Be aware that this can be an expensive operation and should be\n * done sparingly.\n */\n forceUpdate: () => void;\n\n /**\n * Scroll to and focus the item at the given index. focusIndex will call scrollToIndex on the specified index.\n *\n * @param index - Index of item to scroll to\n * @param forceIntoFirstElement - If true, focus will be set to the first focusable child element of the item rather\n * than the item itself.\n * @param measureItem - Optional callback to measure the height of an individual item\n * @param scrollToMode - Optional setting to determine where in the window the item should be scrolled to\n * when focused.\n */\n focusIndex: (\n index: number,\n forceIntoFirstElement?: boolean,\n measureItem?: (itemIndex: number) => number,\n scrollToMode?: ScrollToMode,\n ) => void;\n\n /**\n * Get the start index of the page that is currently in view\n */\n getStartItemIndexInView: () => number;\n}\n\n/**\n * {@docCategory DetailsList}\n */\nexport interface IDetailsListProps extends IBaseProps, IWithViewportProps {\n /** Theme provided by a higher-order component. */\n theme?: ITheme;\n\n /** Custom overrides to the themed or default styles. */\n styles?: IStyleFunctionOrObject;\n\n /**\n * Callback to access the IDetailsList interface. Use this instead of ref for accessing\n * the public methods and properties of the component.\n */\n componentRef?: IRefObject;\n\n /** A key that uniquely identifies the given items. If provided, the selection will be reset when the key changes. */\n setKey?: string;\n\n /** The items to render. */\n items: any[];\n\n /** Set this to true to indicate that the items being displayed are placeholder data. */\n isPlaceholderData?: boolean;\n\n /** Properties to pass through to the List components being rendered. */\n listProps?: IListProps;\n\n /** Default index to set focus to once the items have rendered and the index exists. */\n initialFocusedIndex?: number;\n\n /** Class name to add to the root element. */\n className?: string;\n\n /** Grouping instructions. */\n groups?: IGroup[];\n\n /** Override properties to render groups. */\n groupProps?: IDetailsGroupRenderProps;\n\n /** Override for the indent width used for group nesting. */\n indentWidth?: number;\n\n /** Selection model to track selection state. */\n selection?: ISelection;\n\n /** Controls how/if the details list manages selection. Options include none, single, multiple */\n selectionMode?: SelectionMode;\n\n /**\n * By default, selection is cleared when clicking on an empty (non-focusable) section of the screen.\n * Setting this value to true overrides that behavior and maintains selection.\n * @defaultvalue false\n **/\n selectionPreservedOnEmptyClick?: boolean;\n\n /**\n * Additional props to pass through to the SelectionZone created by default.\n */\n selectionZoneProps?: ISelectionZoneProps;\n\n /** Controls how the columns are adjusted. */\n layoutMode?: DetailsListLayoutMode;\n\n /**\n * Controls the visibility of selection check box.\n * @defaultvalue CheckboxVisibility.onHover\n */\n checkboxVisibility?: CheckboxVisibility;\n\n /**\n * Controls the visibility of the header.\n * @defaultvalue true\n */\n isHeaderVisible?: boolean;\n\n /** Column definitions. If none are provided, default columns will be created based on the items' properties. */\n columns?: IColumn[];\n\n /** Controls how the list constrains overflow. */\n constrainMode?: ConstrainMode;\n\n /** Event names and corresponding callbacks that will be registered to rendered row elements. */\n rowElementEventMap?: { eventName: string; callback: (context: IDragDropContext, event?: any) => void }[];\n\n /** Callback for when the list has been updated. Useful for telemetry tracking externally. */\n onDidUpdate?: (detailsList?: DetailsListBase) => void;\n\n /**\n * Callback for when a given row has been mounted. Useful for identifying when a row has been rendered on the page.\n */\n onRowDidMount?: (item?: any, index?: number) => void;\n\n /**\n * Callback for when a given row has been unmounted.\n * Useful for identifying when a row has been removed from the page.\n */\n onRowWillUnmount?: (item?: any, index?: number) => void;\n\n /** Callback for when the user clicks on the column header. */\n onColumnHeaderClick?: (ev?: React.MouseEvent, column?: IColumn) => void;\n\n /** Callback for when the user asks for a contextual menu (usually via right click) from a column header. */\n onColumnHeaderContextMenu?: (column?: IColumn, ev?: React.MouseEvent) => void;\n\n /** Callback fired on column resize */\n onColumnResize?: (column?: IColumn, newWidth?: number, columnIndex?: number) => void;\n\n /** Callback for when a given row has been invoked (by pressing enter while it is selected.) */\n onItemInvoked?: (item?: any, index?: number, ev?: Event) => void;\n\n /**\n * Callback for when the context menu of an item has been accessed.\n * If undefined or false is returned, `ev.preventDefault()` will be called.\n */\n onItemContextMenu?: (item?: any, index?: number, ev?: Event) => void | boolean;\n\n /**\n * Callback to override the default row rendering.\n */\n onRenderRow?: IRenderFunction;\n\n /**\n * If provided, will be the \"default\" item column renderer method.\n * This affects cells within the rows, not the rows themselves.\n * If a column definition provides its own `onRender` method, that will be used instead of this.\n */\n onRenderItemColumn?: (item?: any, index?: number, column?: IColumn) => React.ReactNode;\n\n /**\n * If provided, will be the \"default\" item column cell value return.\n * A column's `getValueKey` can override `getCellValueKey`.\n */\n getCellValueKey?: (item?: any, index?: number, column?: IColumn) => string;\n\n /** Map of callback functions related to row drag and drop functionality. */\n dragDropEvents?: IDragDropEvents;\n\n /** Callback for what to render when the item is missing. */\n onRenderMissingItem?: (index?: number, rowProps?: IDetailsRowProps) => React.ReactNode;\n\n /** An override to render the details header. */\n onRenderDetailsHeader?: IRenderFunction;\n\n /** An override to render the details footer. */\n onRenderDetailsFooter?: IRenderFunction;\n\n /** If provided, can be used to render a custom checkbox. */\n onRenderCheckbox?: IRenderFunction;\n\n /** Viewport info, provided by the `withViewport` decorator. */\n viewport?: IViewport;\n\n /**\n * Callback for when an item in the list becomes active by clicking anywhere inside the row or navigating to it\n * with the keyboard.\n */\n onActiveItemChanged?: (item?: any, index?: number, ev?: React.FocusEvent) => void;\n\n /** Accessible label for the list header. */\n ariaLabelForListHeader?: string;\n\n /** Accessible label for the select all checkbox. */\n ariaLabelForSelectAllCheckbox?: string;\n\n /** Accessible label for the name of the selection column. */\n ariaLabelForSelectionColumn?: string;\n\n /** Callback to get the aria-label string for a given item. */\n getRowAriaLabel?: (item: any) => string;\n\n /** Callback to get the aria-describedby IDs (space-separated strings) of elements that describe the item. */\n getRowAriaDescribedBy?: (item: any) => string;\n\n /**\n * Callback to get the item key, to be used in the selection and on render.\n * Must be provided if sorting or filtering is enabled.\n */\n getKey?: (item: any, index?: number) => string;\n\n /** Accessible label describing or summarizing the list. */\n ariaLabel?: string;\n\n /** Accessible label for the row check button, e.g. \"select row\". */\n checkButtonAriaLabel?: string;\n\n /** Accessible label for the group header check button, e.g. \"select section\". */\n checkButtonGroupAriaLabel?: string;\n\n /** Accessible label for the grid within the list. */\n ariaLabelForGrid?: string;\n\n /** An optional margin for proportional columns, to e.g. account for scrollbars when laying out width. */\n flexMargin?: number;\n\n /**\n * Whether the role `application` should be applied to the list.\n * @defaultvalue false\n */\n shouldApplyApplicationRole?: boolean;\n\n /**\n * The minimum mouse move distance to interpret the action as drag event.\n * @defaultvalue 5\n */\n minimumPixelsForDrag?: number;\n\n /**\n * Whether to render in compact mode.\n * @defaultvalue false\n */\n compact?: boolean;\n\n /**\n * Whether to enable render page caching. This is an experimental performance optimization that is off by default.\n * @defaultvalue false\n */\n usePageCache?: boolean;\n\n /**\n * Callback to determine whether the list should be rendered in full, or virtualized.\n *\n * Virtualization will add and remove pages of items as the user scrolls them into the visible range.\n * This benefits larger list scenarios by reducing the DOM on the screen, but can negatively affect performance\n * for smaller lists.\n *\n * The default implementation will virtualize when this callback is not provided.\n */\n onShouldVirtualize?: (props: IListProps) => boolean;\n\n /** Class name to add to the cell of a checkbox. */\n checkboxCellClassName?: string;\n\n /** Whether the selection zone should enter modal state on touch. */\n enterModalSelectionOnTouch?: boolean;\n\n /** Options for column reordering using drag and drop. */\n columnReorderOptions?: IColumnReorderOptions;\n\n /** Callback to override default group height calculation used by list virtualization. */\n getGroupHeight?: IGroupedListProps['getGroupHeight'];\n\n /**\n * Whether to re-render a row only when props changed. Might cause regression when depending on external updates.\n * @defaultvalue false\n */\n useReducedRowRenderer?: boolean;\n\n /**\n * Props impacting the render style of cells. Since these have an impact on calculated column widths, they are\n * handled separately from normal theme styling, but they are passed to the styling system.\n */\n cellStyleProps?: ICellStyleProps;\n\n /** Whether to disable the built-in SelectionZone, so the host component can provide its own. */\n disableSelectionZone?: boolean;\n\n /** Whether to animate updates */\n enableUpdateAnimations?: boolean;\n\n /**\n * Whether to use fast icon and check components. The icons can't be targeted by customization\n * but are still customizable via class names.\n * @defaultvalue true\n */\n useFastIcons?: boolean;\n\n /** Role for the list. */\n role?: string;\n}\n\n/**\n * {@docCategory DetailsList}\n */\nexport interface IColumn {\n /** A unique key for identifying the column. */\n key: string;\n\n /** Name to render on the column header. */\n name: string;\n\n /**\n * The field to pull the text value from for the column.\n * Can be unset if a custom `onRender` method is provided.\n */\n fieldName?: string;\n\n /**\n * If specified, the width of the column is a portion of the available space equal to this value divided by the sum\n * of all proportional column widths in the list. For example, if there is a list with two proportional columns that\n * have widths of 1 and 3, they will respectively occupy (1/4) = 25% and (3/4) = 75% of the remaining space. Note that\n * this relies on viewport measures and will not work well with skipViewportMeasures.\n */\n flexGrow?: number;\n\n /** Class name to apply to the column cell within each row. */\n className?: string;\n\n /** Custom overrides to the themed or default styles. */\n styles?: IStyleFunctionOrObject;\n\n /** Minimum width for the column. */\n minWidth: number;\n\n /**\n * If specified, the width of the column is a portion of the available space equal to this value divided by the sum\n * of all proportional column widths in the list. For example, if there is a list with two proportional columns that\n * have widths of 1 and 3, they will respectively occupy (1/4) = 25% and (2/4) = 75% of the remaining space. Note that\n * this relies on viewport measures and will not work well with skipViewportMeasures.\n */\n targetWidthProportion?: number;\n\n /**\n * Accessible label for the column. The column name will still be used as the primary label,\n * but this text (if specified) will be used as the column description.\n * WARNING: grid column descriptions are often ignored by screen readers, so any necessary information\n * should go directly in the column content\n */\n ariaLabel?: string;\n\n /** Whether the column is a header for the given row. There should be only one column with this set to true. */\n isRowHeader?: boolean;\n\n /** Maximum width for the column, if stretching is allowed in justified scenarios. */\n maxWidth?: number;\n\n /**\n * Defines how the column's header should render.\n * @defaultvalue ColumnActionsMode.clickable\n */\n columnActionsMode?: ColumnActionsMode;\n\n /** Custom icon to use in the column header. */\n iconName?: string;\n\n /**\n * Whether only the icon should be displayed in the column header.\n * If true, the column name and dropdown chevron will not be displayed.\n */\n isIconOnly?: boolean;\n\n /** Class name for the icon within the header. */\n iconClassName?: string;\n\n /**\n * If true, allow the column to be collapsed when rendered in justified layout.\n * @deprecated Use `isCollapsible`\n */\n isCollapsable?: boolean;\n\n /** If true, allow the column to be collapsed when rendered in justified layout. */\n isCollapsible?: boolean;\n\n /** Determines if the column is currently sorted. Renders a sort arrow in the column header. */\n isSorted?: boolean;\n\n /** Determines if the sort arrow is pointed down (descending) or up. */\n isSortedDescending?: boolean;\n\n /** Determines if the column can be resized. */\n isResizable?: boolean;\n\n /** Determines if the column can render multi-line text. */\n isMultiline?: boolean;\n\n /** Custom renderer for cell content, instead of the default text rendering. */\n onRender?: (item?: any, index?: number, column?: IColumn) => any;\n\n /** Custom override for the parent list's `getCellValueKey`. */\n getValueKey?: (item?: any, index?: number, column?: IColumn) => string;\n\n /** Custom renderer for column header divider. */\n onRenderDivider?: IRenderFunction;\n\n /** Custom renderer for filter icon. */\n onRenderFilterIcon?: IRenderFunction;\n\n /** Custom renderer for column header content, instead of the default text rendering. */\n onRenderHeader?: IRenderFunction;\n\n /** Whether the list is filtered by this column. If true, shows a filter icon next to this column's name. */\n isFiltered?: boolean;\n\n /** Callback for when the user clicks on the column header. */\n onColumnClick?: (ev: React.MouseEvent, column: IColumn) => void;\n\n /** Callback for when the user opens the column header context menu. */\n onColumnContextMenu?: (column?: IColumn, ev?: React.MouseEvent) => void;\n\n /**\n * Callback for when the column is resized (`width` is the current width).\n *\n * Prefer this over `DetailsList`'s `onColumnResize` if you require the `IColumn` to report its width\n * after every resize event. Consider debouncing the callback if resize events occur frequently.\n */\n onColumnResize?: (width?: number) => void;\n\n /** Whether the list is grouped by this column. If true, shows a grouped icon next to this column's name. */\n isGrouped?: boolean;\n\n /** Arbitrary data passthrough which can be used by the caller. */\n data?: any;\n\n /** Internal only value. */\n calculatedWidth?: number;\n\n /**\n * Internal only value.\n * Remembers the actual width of the column in any case.\n * `calculatedWidth` is only saved when it's defined by user, not for justified calculations.\n */\n currentWidth?: number;\n\n /** Class name to apply to the column header cell. */\n headerClassName?: string;\n\n /** If true, add additional LTR padding-right to column and cells. */\n isPadded?: boolean;\n\n /**\n * Accessible label for indicating that the list is sorted by this column in ascending order.\n * This will be read after the main column header label.\n */\n sortAscendingAriaLabel?: string;\n\n /**\n * Accessible label for indicating that the list is sorted by this column in descending order.\n * This will be read after the main column header label.\n */\n sortDescendingAriaLabel?: string;\n\n /** Accessible label for the status of this column when grouped. */\n groupAriaLabel?: string;\n\n /** Accessible label for the status of this column when filtered. */\n filterAriaLabel?: string;\n\n /** Whether a dropdown menu is open so that the appropriate ARIA attributes are rendered. */\n isMenuOpen?: boolean;\n}\n\n/**\n * Enum to describe how a particular column header behaves.\n * This is used to to specify the property `IColumn.columnActionsMode`.\n * If `IColumn.columnActionsMode` is undefined, it's equivalent to `ColumnActionsMode.clickable`.\n * {@docCategory DetailsList}\n */\nexport enum ColumnActionsMode {\n /** Renders the column header as disabled. */\n disabled = 0,\n\n /** Renders the column header as clickable. Default value. */\n clickable = 1,\n\n /** Renders the column header as clickable and displays the dropdown chevron. */\n hasDropdown = 2,\n}\n\n/**\n * {@docCategory DetailsList}\n */\nexport enum ConstrainMode {\n /** Lets the content grow which allows the page to manage scrolling. */\n unconstrained = 0,\n\n /** Constrains the list to the given layout space. */\n horizontalConstrained = 1,\n}\n\n/**\n * {@docCategory DetailsList}\n */\nexport interface IColumnReorderOptions {\n /**\n * Specifies the number fixed columns from left\n * @defaultvalue 0\n */\n frozenColumnCountFromStart?: number;\n\n /**\n * Specifies the number fixed columns from right\n * @defaultvalue 0\n */\n frozenColumnCountFromEnd?: number;\n\n /**\n * Callback to handle when dragging on this column's DetailsHeader has started.\n */\n onColumnDragStart?: (dragStarted: boolean) => void;\n\n /**\n * Callback to handle column reordering.\n * `draggedIndex` is the source column index, which should be placed at `targetIndex`.\n * @deprecated Use `onColumnDrop` instead.\n */\n handleColumnReorder?: (draggedIndex: number, targetIndex: number) => void;\n\n /**\n * Callback to handle column reordering.\n * `draggedIndex` is the source column index, which should be placed at `targetIndex`.\n */\n onColumnDrop?: (dragDropDetails: IColumnDragDropDetails) => void;\n\n /**\n * Callback to handle when dragging on this column's DetailsHeader has finished.\n */\n onDragEnd?: (columnDropLocationDetails: ColumnDragEndLocation) => void;\n}\n\n/**\n * {@docCategory DetailsList}\n */\nexport interface IColumnDragDropDetails {\n /**\n * Specifies the source column index\n * @defaultvalue -1\n */\n draggedIndex: number;\n\n /**\n * Specifies the target column index\n * @defaultvalue -1\n */\n targetIndex: number;\n}\n\n/**\n * Enum to describe where the column has been dropped, after starting the drag\n * {@docCategory DetailsList}\n */\nexport enum ColumnDragEndLocation {\n /** Drag ended outside of current list */\n outside = 0,\n\n /** Drag ended within current list */\n surface = 1,\n\n /** Drag ended on header */\n header = 2,\n}\n\n/**\n * {@docCategory DetailsList}\n */\nexport enum DetailsListLayoutMode {\n /**\n * Lets the user resize columns and makes not attempt to fit them.\n */\n fixedColumns = 0,\n\n /**\n * Manages which columns are visible, tries to size them according to their min/max rules and drops\n * off columns that can't fit and have isCollapsible set.\n */\n justified = 1,\n}\n\n/**\n * {@docCategory DetailsList}\n */\nexport enum CheckboxVisibility {\n /** Visible on hover. */\n onHover = 0,\n\n /** Visible always. */\n always = 1,\n\n /** Hide checkboxes. */\n hidden = 2,\n}\n\n/**\n * {@docCategory DetailsList}\n */\nexport type IDetailsListStyleProps = Required> &\n Pick & {\n /** Whether the list is horizontally constrained */\n isHorizontalConstrained?: boolean;\n\n /** Whether the list is in compact mode */\n compact?: boolean;\n\n /** Whether the list is fixed in size */\n isFixed?: boolean;\n };\n\n/**\n * {@docCategory DetailsList}\n */\nexport interface IDetailsListStyles {\n root: IStyle;\n focusZone: IStyle;\n headerWrapper: IStyle;\n contentWrapper: IStyle;\n}\n\n/**\n * {@docCategory DetailsList}\n */\nexport interface IDetailsGroupRenderProps extends IGroupRenderProps {\n onRenderFooter?: IRenderFunction;\n onRenderHeader?: IRenderFunction;\n}\n\n/**\n * {@docCategory DetailsList}\n */\nexport interface IDetailsGroupDividerProps extends IGroupDividerProps, IDetailsItemProps {}\n\nexport interface IDetailsListCheckboxProps extends IDetailsCheckboxProps {}\n","import arrayWithHoles from \"./arrayWithHoles\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray\";\nimport nonIterableRest from \"./nonIterableRest\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","export const KTP_PREFIX = 'ktp';\nexport const KTP_SEPARATOR = '-';\nexport const KTP_FULL_PREFIX = KTP_PREFIX + KTP_SEPARATOR;\nexport const DATAKTP_TARGET = 'data-ktp-target';\nexport const DATAKTP_EXECUTE_TARGET = 'data-ktp-execute-target';\nexport const DATAKTP_ARIA_TARGET = 'data-ktp-aria-target';\nexport const KTP_LAYER_ID = 'ktp-layer-id';\nexport const KTP_ARIA_SEPARATOR = ', ';\n\n// Events\nexport namespace KeytipEvents {\n export const KEYTIP_ADDED = 'keytipAdded';\n export const KEYTIP_REMOVED = 'keytipRemoved';\n export const KEYTIP_UPDATED = 'keytipUpdated';\n export const PERSISTED_KEYTIP_ADDED = 'persistedKeytipAdded';\n export const PERSISTED_KEYTIP_REMOVED = 'persistedKeytipRemoved';\n export const PERSISTED_KEYTIP_EXECUTE = 'persistedKeytipExecute';\n export const ENTER_KEYTIP_MODE = 'enterKeytipMode';\n export const EXIT_KEYTIP_MODE = 'exitKeytipMode';\n}\n","/**\n * {@docCategory Selection}\n */\nexport interface IObjectWithKey {\n key?: string | number;\n}\n\nexport const SELECTION_CHANGE = 'change';\n\n/**\n * {@docCategory Selection}\n */\nexport enum SelectionMode {\n none = 0,\n single = 1,\n multiple = 2,\n}\n\n/**\n * {@docCategory Selection}\n */\nexport interface ISelection {\n count: number;\n mode: SelectionMode;\n\n canSelectItem: (item: TItem, index?: number) => boolean;\n\n // Obesrvable methods.\n setChangeEvents(isEnabled: boolean, suppressChange?: boolean): void;\n\n // Initialization methods.\n\n setItems(items: TItem[], shouldClear: boolean): void;\n getItems(): TItem[];\n\n // Read selection methods.\n\n getSelection(): TItem[];\n getSelectedIndices(): number[];\n getSelectedCount(): number;\n isRangeSelected(fromIndex: number, count: number): boolean;\n\n isAllSelected(): boolean;\n isKeySelected(key: string): boolean;\n isIndexSelected(index: number): boolean;\n\n isModal?(): boolean;\n\n // Write selection methods.\n\n setAllSelected(isAllSelected: boolean): void;\n setKeySelected(key: string, isSelected: boolean, shouldAnchor: boolean): void;\n setIndexSelected(index: number, isSelected: boolean, shouldAnchor: boolean): void;\n\n setModal?(isModal: boolean): void; // TODO make non-optional on next breaking change\n\n // Write range selection methods.\n\n selectToKey(key: string, clearSelection?: boolean): void;\n selectToIndex(index: number, clearSelection?: boolean): void;\n\n // Toggle helpers.\n\n toggleAllSelected(): void;\n toggleKeySelected(key: string): void;\n toggleIndexSelected(index: number): void;\n toggleRangeSelected(fromIndex: number, count: number): void;\n}\n\n/**\n * {@docCategory Selection}\n */\nexport enum SelectionDirection {\n horizontal = 0,\n vertical = 1,\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 * as React from 'react';\nimport { IStyle, ITheme } from '../../Styling';\nimport { IStyleFunctionOrObject } from '../../Utilities';\n\n/**\n * {@docCategory Image}\n */\nexport interface IImage {}\n\n/**\n * {@docCategory Image}\n */\nexport interface IImageProps extends React.ImgHTMLAttributes, React.RefAttributes {\n /**\n * Call to provide customized styling that will layer on top of the variant rules\n */\n styles?: IStyleFunctionOrObject;\n\n /**\n * Theme provided by HOC.\n */\n theme?: ITheme;\n\n /**\n * Additional css class to apply to the Component\n * @defaultvalue undefined\n */\n className?: string;\n\n /**\n * If true, fades the image in when loaded.\n * @defaultvalue true\n */\n shouldFadeIn?: boolean;\n\n /**\n * If true, the image starts as visible and is hidden on error. Otherwise, the image is hidden until\n * it is successfully loaded. This disables shouldFadeIn.\n * @defaultvalue false;\n */\n shouldStartVisible?: boolean;\n\n /**\n * Used to determine how the image is scaled and cropped to fit the frame.\n *\n * @defaultvalue If both dimensions are provided, then the image is fit using `ImageFit.scale`.\n * Otherwise, the image won't be scaled or cropped.\n */\n imageFit?: ImageFit;\n\n /**\n * @deprecated Not used. Use `onLoadingStateChange` and re-render the Image with a different src.\n */\n errorSrc?: string;\n\n /**\n * If true, the image frame will expand to fill its parent container.\n */\n maximizeFrame?: boolean;\n\n /**\n * Optional callback method for when the image load state has changed.\n * The 'loadState' parameter indicates the current state of the Image.\n */\n onLoadingStateChange?: (loadState: ImageLoadState) => void;\n\n /**\n * Specifies the cover style to be used for this image. If not\n * specified, this will be dynamically calculated based on the\n * aspect ratio for the image.\n */\n coverStyle?: ImageCoverStyle;\n\n /**\n * Allows for browser-level image lazy-loading.\n */\n loading?: 'lazy' | 'eager';\n}\n\n/**\n * The possible methods that can be used to fit the image.\n * {@docCategory Image}\n */\nexport enum ImageFit {\n /**\n * The image is not scaled. The image is centered and cropped within the content box.\n */\n center = 0,\n\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 contain = 1,\n\n /**\n * The image is scaled to maintain its aspect ratio while filling the frame. Portions of the image will be cropped\n * from the top and bottom, or the sides, depending on the difference in aspect ratio between the image and the frame.\n */\n cover = 2,\n\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 none = 3,\n\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 centerCover = 4,\n\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 centerContain = 5,\n}\n\n/**\n * The cover style to be used on the image\n * {@docCategory Image}\n */\nexport enum ImageCoverStyle {\n /**\n * The image will be shown at 100% height of container and the width will be scaled accordingly\n */\n landscape = 0,\n\n /**\n * The image will be shown at 100% width of container and the height will be scaled accordingly\n */\n portrait = 1,\n}\n\n/**\n * {@docCategory Image}\n */\nexport enum ImageLoadState {\n /**\n * The image has not yet been loaded, and there is no error yet.\n */\n notLoaded = 0,\n\n /**\n * The image has been loaded successfully.\n */\n loaded = 1,\n\n /**\n * An error has been encountered while loading the image.\n */\n error = 2,\n\n /**\n * @deprecated Not used. Use `onLoadingStateChange` and re-render the Image with a different src.\n */\n errorLoaded = 3,\n}\n\n/**\n * {@docCategory Image}\n */\nexport interface IImageStyleProps {\n /**\n * Accept theme prop.\n */\n theme: ITheme;\n\n /**\n * Accept custom classNames\n */\n className?: string;\n\n /**\n * If true, the image frame will expand to fill its parent container.\n */\n maximizeFrame?: boolean;\n\n /**\n * If true, the image is loaded\n */\n isLoaded?: boolean;\n\n /**\n * If true, fades the image in when loaded.\n * @defaultvalue true\n */\n shouldFadeIn?: boolean;\n\n /**\n * If true, the image starts as visible and is hidden on error. Otherwise, the image is hidden until\n * it is successfully loaded. This disables shouldFadeIn.\n * @defaultvalue false;\n */\n shouldStartVisible?: boolean;\n\n /**\n * If true the image is coverStyle landscape instead of portrait\n */\n isLandscape?: boolean;\n\n /**\n * ImageFit booleans for center, cover, contain, centerContain, centerCover, none\n */\n isCenter?: boolean;\n isContain?: boolean;\n isCover?: boolean;\n isCenterContain?: boolean;\n isCenterCover?: boolean;\n isNone?: boolean;\n\n /**\n * if true image load is in error\n */\n isError?: boolean;\n\n /**\n * if true, imageFit is undefined\n */\n isNotImageFit?: boolean;\n\n /**\n * Image width value\n */\n width?: number | string;\n\n /**\n * Image height value\n */\n height?: number | string;\n}\n\n/**\n * {@docCategory Image}\n */\nexport interface IImageStyles {\n /**\n * Style set for the root div element.\n */\n root: IStyle;\n /**\n * Style set for the img element.\n */\n image: IStyle;\n}\n","import * as React from 'react';\nimport { IRefObject, IRenderFunction } from '../../Utilities';\nimport { ImageLoadState } from '../../Image';\nimport { IStyle, ITheme } from '../../Styling';\nimport { IStyleFunctionOrObject } from '../../Utilities';\n\n/**\n * {@docCategory Persona}\n */\nexport interface IPersona {}\n\n/**\n * {@docCategory Persona}\n */\nexport interface IPersonaSharedProps extends React.HTMLAttributes, React.RefAttributes {\n /**\n * Primary text to display, usually the name of the person.\n */\n text?: string;\n\n /**\n * Decides the size of the control.\n * @defaultvalue PersonaSize.size48\n */\n size?: PersonaSize;\n\n /**\n * Optional custom renderer for the coin\n * @deprecated Use `onRenderPersonaCoin` for custom rendering instead\n */\n onRenderCoin?: IRenderFunction;\n\n /**\n * Optional custom renderer for the coin\n */\n onRenderPersonaCoin?: IRenderFunction;\n\n /**\n * If true, adds the css class 'is-fadeIn' to the image.\n */\n imageShouldFadeIn?: boolean;\n\n /**\n * If true, the image starts as visible and is hidden on error. Otherwise, the image is hidden until\n * it is successfully loaded. This disables imageShouldFadeIn.\n * @defaultvalue false\n */\n imageShouldStartVisible?: boolean;\n\n /**\n * Url to the image to use, should be a square aspect ratio and big enough to fit in the image area.\n */\n imageUrl?: string;\n\n /**\n * Alt text for the image to use.\n * @default `''` (empty string)\n */\n imageAlt?: string;\n\n /**\n * The user's initials to display in the image area when there is no image.\n * @defaultvalue Derived from `text`\n */\n imageInitials?: string;\n\n /**\n * Whether initials are calculated for phone numbers and number sequences.\n * Example: Set property to true to get initials for project names consisting of numbers only.\n * @defaultvalue false\n */\n allowPhoneInitials?: boolean;\n\n /**\n * Optional custom renderer for the initials\n */\n onRenderInitials?: IRenderFunction;\n\n /**\n * Optional callback for when loading state of the photo changes\n */\n onPhotoLoadingStateChange?: (newImageLoadState: ImageLoadState) => void;\n\n /**\n * The background color when the user's initials are displayed.\n * @defaultvalue Derived from `text`\n */\n initialsColor?: PersonaInitialsColor | string;\n\n /**\n * The text color when the user's initials are displayed\n */\n initialsTextColor?: string;\n\n /** The colors to be used for the presence-icon and it's background */\n presenceColors?: {\n available: string;\n away: string;\n busy: string;\n dnd: string;\n offline: string;\n oof: string;\n background: string;\n };\n\n /**\n * Presence of the person to display - will not display presence if undefined.\n * @defaultvalue PersonaPresence.none\n */\n presence?: PersonaPresence;\n\n /**\n * Presence title to be shown as a tooltip on hover over the presence icon.\n */\n presenceTitle?: string;\n\n /**\n * This flag can be used to signal the persona is out of office.\n * This will change the way the presence icon looks for statuses that support dual-presence.\n */\n isOutOfOffice?: boolean;\n\n /**\n * Secondary text to display, usually the role of the user.\n */\n secondaryText?: string;\n\n /**\n * Controls whether clipped overflow text should render in a tooltip\n * @defaultvalue true\n */\n showOverflowTooltip?: boolean;\n\n /**\n * Tertiary text to display, usually the status of the user.\n * The tertiary text will only be shown when using size72 or size100.\n */\n tertiaryText?: string;\n\n /**\n * Optional text to display, usually a custom message set. The optional text will only be shown when using size100.\n */\n optionalText?: string;\n\n /**\n * Whether to not render persona details, and just render the persona image/initials.\n */\n hidePersonaDetails?: boolean;\n\n /*\n * If true, show the secondary text line regardless of the size of the persona\n */\n showSecondaryText?: boolean;\n\n /**\n * If true, show the special coin for unknown persona.\n * It has '?' in place of initials, with static font and background colors\n */\n showUnknownPersonaCoin?: boolean;\n\n /**\n * If true renders the initials while the image is loading.\n * This only applies when an imageUrl is provided.\n * @defaultvalue false\n */\n showInitialsUntilImageLoads?: boolean;\n\n /**\n * Optional custom persona coin size in pixel.\n */\n coinSize?: number;\n\n /**\n * Optional HTML element props for Persona coin.\n */\n coinProps?: IPersonaCoinProps;\n\n /**\n * Theme provided by High-Order Component.\n */\n theme?: ITheme;\n\n /**\n * Primary text to display, usually the name of the person.\n * @deprecated Use `text` instead.\n */\n primaryText?: string;\n}\n\n/**\n * {@docCategory Persona}\n */\nexport interface IPersonaProps extends IPersonaSharedProps {\n /**\n * Optional callback to access the IPersona interface. Use this instead of ref for accessing\n * the public methods and properties of the component.\n */\n componentRef?: IRefObject;\n\n /**\n * Additional CSS class(es) to apply to the Persona\n */\n className?: string;\n\n /**\n * Call to provide customized styling that will layer on top of variant rules\n */\n styles?: IStyleFunctionOrObject;\n\n /**\n * Optional custom renderer for the primary text.\n */\n onRenderPrimaryText?: IRenderFunction;\n\n /**\n * Optional custom renderer for the secondary text.\n */\n onRenderSecondaryText?: IRenderFunction;\n\n /**\n * Optional custom renderer for the tertiary text.\n */\n onRenderTertiaryText?: IRenderFunction;\n\n /**\n * Optional custom renderer for the optional text.\n */\n onRenderOptionalText?: IRenderFunction;\n}\n\n/**\n * {@docCategory Persona}\n */\nexport interface IPersonaStyleProps {\n /**\n * Theme provided by High-Order Component.\n */\n theme: ITheme;\n\n /**\n * Custom class name.\n */\n className?: string;\n\n /**\n * Optional custom persona coin size in pixel.\n */\n coinSize?: number;\n\n /**\n * Decides the size of the control.\n * @defaultvalue PersonaSize.size48\n */\n size?: PersonaSize;\n\n /**\n * Presence of the person to display - will not display presence if undefined.\n * @defaultvalue PersonaPresence.none\n */\n presence?: PersonaPresence;\n\n /*\n * If true, show the secondary text line regardless of the size of the persona\n */\n showSecondaryText?: boolean;\n}\n\n/**\n * {@docCategory Persona}\n */\nexport interface IPersonaStyles {\n root: IStyle;\n details: IStyle;\n primaryText: IStyle;\n secondaryText: IStyle;\n tertiaryText: IStyle;\n optionalText: IStyle;\n textContent: IStyle;\n}\n\n/**\n * {@docCategory Persona}\n */\nexport interface IPersonaCoinProps extends IPersonaSharedProps {\n /**\n * Gets the component ref.\n */\n componentRef?: IRefObject<{}>;\n\n /**\n * Call to provide customized styling that will layer on top of the variant rules\n */\n styles?: IStyleFunctionOrObject;\n\n /**\n * Additional css class to apply to the PersonaCoin\n * @defaultvalue undefined\n */\n className?: string;\n}\n\n/**\n * {@docCategory Persona}\n */\nexport interface IPersonaCoinStyleProps {\n /**\n * Theme provided by High-Order Component.\n */\n theme: ITheme;\n\n /**\n * Custom class name.\n */\n className?: string;\n\n /**\n * Decides the size of the control.\n * @defaultvalue PersonaSize.size48\n */\n size?: PersonaSize;\n\n /**\n * Optional custom persona coin size in pixel.\n */\n coinSize?: number;\n\n /**\n * Decides whether to display coin for unknown persona\n */\n showUnknownPersonaCoin?: boolean;\n}\n\n/**\n * {@docCategory Persona}\n */\nexport interface IPersonaCoinStyles {\n coin: IStyle;\n imageArea: IStyle;\n image: IStyle;\n initials: IStyle;\n size10WithoutPresenceIcon: IStyle;\n}\n\n/**\n * {@docCategory Persona}\n */\nexport interface IPersonaPresenceProps extends IPersonaSharedProps {\n /**\n * Gets the component ref.\n */\n componentRef?: IRefObject<{}>;\n\n /**\n * Call to provide customized styling that will layer on top of the variant rules\n */\n styles?: IStyleFunctionOrObject;\n}\n\n/**\n * {@docCategory Persona}\n */\nexport type IPersonaPresenceStyleProps = Required> &\n Pick &\n Pick;\n\n/**\n * {@docCategory Persona}\n */\nexport interface IPersonaPresenceStyles {\n presence: IStyle;\n presenceIcon: IStyle;\n}\n\n/**\n * {@docCategory Persona}\n */\nexport enum PersonaSize {\n /**\n * Deprecated in favor of standardized numeric sizing.\n * @deprecated Use `size8` instead.\n */\n tiny = 0,\n\n /**\n * Deprecated in favor of standardized numeric sizing.\n * @deprecated Use `size24` instead.\n */\n extraExtraSmall = 1,\n\n /**\n * Deprecated in favor of standardized numeric sizing.\n * @deprecated Use `size32` instead.\n */\n extraSmall = 2,\n\n /**\n * Deprecated in favor of standardized numeric sizing.\n * @deprecated Use `size40` instead.\n */\n small = 3,\n\n /**\n * Deprecated in favor of standardized numeric sizing.\n * @deprecated Use `size48` instead.\n */\n regular = 4,\n\n /**\n * Deprecated in favor of standardized numeric sizing.\n * @deprecated Use `size72` instead.\n */\n large = 5,\n\n /**\n * Deprecated in favor of standardized numeric sizing.\n * @deprecated Use `size100` instead.\n */\n extraLarge = 6,\n\n /**\n * No `PersonaCoin` is rendered.\n */\n size8 = 17,\n\n /**\n * No `PersonaCoin` is rendered. Deprecated to align with design specifications.\n * @deprecated Use `size8` instead.\n */\n size10 = 9,\n\n /**\n * Renders a 16px `PersonaCoin`.\n * @deprecated Deprecated due to not being in the design specification.\n */\n size16 = 8,\n\n /**\n * Renders a 24px `PersonaCoin`.\n */\n size24 = 10,\n\n /**\n * Renders a 28px `PersonaCoin`.\n * @deprecated Deprecated due to not being in the design specification.\n */\n size28 = 7,\n\n /**\n * Renders a 32px `PersonaCoin`.\n */\n size32 = 11,\n\n /**\n * Renders a 40px `PersonaCoin`.\n */\n size40 = 12,\n\n /**\n * Renders a 48px `PersonaCoin`.\n */\n size48 = 13,\n\n /**\n * Renders a 56px `PersonaCoin`.\n */\n size56 = 16,\n\n /**\n * Renders a 72px `PersonaCoin`.\n */\n size72 = 14,\n\n /**\n * Renders a 100px `PersonaCoin`.\n */\n size100 = 15,\n\n /**\n * Renders a 120px `PersonaCoin`.\n */\n size120 = 18,\n}\n\n/**\n * {@docCategory Persona}\n */\nexport enum PersonaPresence {\n none = 0,\n offline = 1,\n online = 2,\n away = 3,\n dnd = 4,\n blocked = 5,\n busy = 6,\n}\n\n/**\n * {@docCategory Persona}\n */\nexport enum PersonaInitialsColor {\n lightBlue = 0,\n blue = 1,\n darkBlue = 2,\n teal = 3,\n lightGreen = 4,\n green = 5,\n darkGreen = 6,\n lightPink = 7,\n pink = 8,\n magenta = 9,\n purple = 10,\n /**\n * @deprecated `black` is a color that can result in offensive persona coins with some initials combinations,\n * so it can only be set with overrides. Will be removed in a future major release.\n */\n black = 11,\n orange = 12,\n /**\n * @deprecated `red` is a color that often has a special meaning, so it is considered a reserved color and\n * can only be set with overrides. Will be removed in a future major release.\n */\n red = 13,\n darkRed = 14,\n /**\n * Transparent is not intended to be used with typical initials due to accessibility issues.\n * Its primary use is for overflow buttons, so it is considered a reserved color and can only be set with overrides.\n */\n transparent = 15,\n violet = 16,\n lightRed = 17,\n gold = 18,\n burgundy = 19,\n warmGray = 20,\n coolGray = 21,\n /**\n * `gray` is a color that can result in offensive persona coins with some initials combinations,\n * so it can only be set with overrides.\n */\n gray = 22,\n cyan = 23,\n rust = 24,\n}\n","import { PersonaPresence, PersonaSize } from './Persona.types';\n\n// Persona Sizes\nexport namespace personaSize {\n export const size8 = '20px';\n // TODO: remove in a future major release as it's deprecated.\n export const size10 = '20px';\n // TODO: remove in a future major release as it's deprecated.\n export const size16 = '16px';\n export const size24 = '24px';\n // TODO: remove in a future major release as it's deprecated.\n export const size28 = '28px';\n export const size32 = '32px';\n export const size40 = '40px';\n export const size48 = '48px';\n export const size56 = '56px';\n export const size72 = '72px';\n export const size100 = '100px';\n export const size120 = '120px';\n}\n\n// Persona Presence Sizes\nexport namespace personaPresenceSize {\n export const size6 = '6px';\n export const size8 = '8px';\n export const size12 = '12px';\n export const size16 = '16px';\n export const size20 = '20px';\n export const size28 = '28px';\n export const size32 = '32px';\n\n /**\n * @deprecated This is now unused\n */\n export const border = '2px';\n}\n\n// TODO: remove the deprecated parts in a future major release.\nexport const sizeBoolean = (size: PersonaSize) => ({\n isSize8: size === PersonaSize.size8,\n /* eslint-disable deprecation/deprecation */\n isSize10: size === PersonaSize.size10 || size === PersonaSize.tiny,\n isSize16: size === PersonaSize.size16,\n isSize24: size === PersonaSize.size24 || size === PersonaSize.extraExtraSmall,\n isSize28: size === PersonaSize.size28 || size === PersonaSize.extraSmall,\n isSize32: size === PersonaSize.size32,\n isSize40: size === PersonaSize.size40 || size === PersonaSize.small,\n isSize48: size === PersonaSize.size48 || size === PersonaSize.regular,\n isSize56: size === PersonaSize.size56,\n isSize72: size === PersonaSize.size72 || size === PersonaSize.large,\n isSize100: size === PersonaSize.size100 || size === PersonaSize.extraLarge,\n isSize120: size === PersonaSize.size120,\n});\n\nexport const sizeToPixels: { [key: number]: number } = {\n // Old deprecated sizes\n [PersonaSize.tiny]: 10,\n [PersonaSize.extraExtraSmall]: 24,\n [PersonaSize.extraSmall]: 28,\n [PersonaSize.small]: 40,\n [PersonaSize.regular]: 48,\n [PersonaSize.large]: 72,\n [PersonaSize.extraLarge]: 100,\n // New sizes\n [PersonaSize.size8]: 8,\n [PersonaSize.size10]: 10, // TODO: deprecated (not in the design specs)\n [PersonaSize.size16]: 16, // TODO: deprecated (not in the design specs)\n [PersonaSize.size24]: 24,\n [PersonaSize.size28]: 28, // TODO: deprecated (not in the design specs)\n /* eslint-enable deprecation/deprecation */\n [PersonaSize.size32]: 32,\n [PersonaSize.size40]: 40,\n [PersonaSize.size48]: 48,\n [PersonaSize.size56]: 56,\n [PersonaSize.size72]: 72,\n [PersonaSize.size100]: 100,\n [PersonaSize.size120]: 120,\n};\n\nexport const presenceBoolean = (presence: PersonaPresence) => ({\n isAvailable: presence === PersonaPresence.online,\n isAway: presence === PersonaPresence.away,\n isBlocked: presence === PersonaPresence.blocked,\n isBusy: presence === PersonaPresence.busy,\n isDoNotDisturb: presence === PersonaPresence.dnd,\n isOffline: presence === PersonaPresence.offline,\n});\n","import { mergeStyles } from '../../Styling';\nimport { memoizeFunction } from '../../Utilities';\nimport { IActivityItemStyles } from './ActivityItem.types';\nimport { IPersonaProps } from '../../Persona';\n\nexport interface IActivityItemClassNames {\n root?: string;\n activityContent?: string;\n activityText?: string;\n personaContainer?: string;\n activityPersona?: string;\n activityTypeIcon?: string;\n commentText?: string;\n timeStamp?: string;\n pulsingBeacon?: string;\n}\n\nexport const getClassNames = memoizeFunction(\n (\n styles: IActivityItemStyles,\n className: string,\n activityPersonas: Array,\n isCompact: boolean,\n ): IActivityItemClassNames => {\n return {\n root: mergeStyles('ms-ActivityItem', className, styles.root, isCompact && styles.isCompactRoot),\n\n pulsingBeacon: mergeStyles('ms-ActivityItem-pulsingBeacon', styles.pulsingBeacon),\n\n personaContainer: mergeStyles(\n 'ms-ActivityItem-personaContainer',\n styles.personaContainer,\n isCompact && styles.isCompactPersonaContainer,\n ),\n\n activityPersona: mergeStyles(\n 'ms-ActivityItem-activityPersona',\n styles.activityPersona,\n isCompact && styles.isCompactPersona,\n !isCompact && activityPersonas && activityPersonas.length === 2 && styles.doublePersona,\n ),\n\n activityTypeIcon: mergeStyles(\n 'ms-ActivityItem-activityTypeIcon',\n styles.activityTypeIcon,\n isCompact && styles.isCompactIcon,\n ),\n\n activityContent: mergeStyles(\n 'ms-ActivityItem-activityContent',\n styles.activityContent,\n isCompact && styles.isCompactContent,\n ),\n\n activityText: mergeStyles('ms-ActivityItem-activityText', styles.activityText),\n commentText: mergeStyles('ms-ActivityItem-commentText', styles.commentText),\n timeStamp: mergeStyles('ms-ActivityItem-timeStamp', styles.timeStamp, isCompact && styles.isCompactTimeStamp),\n };\n },\n);\n","import {\n concatStyleSets,\n ITheme,\n getTheme,\n HighContrastSelector,\n keyframes,\n PulsingBeaconAnimationStyles,\n} from '../../Styling';\nimport { memoizeFunction } from '../../Utilities';\nimport { IActivityItemStyles, IActivityItemProps } from './ActivityItem.types';\n\nconst DEFAULT_PERSONA_SIZE = '32px';\nconst COMPACT_PERSONA_SIZE = '16px';\nconst DEFAULT_ICON_SIZE = '16px';\nconst COMPACT_ICON_SIZE = '13px';\nconst ANIMATION_INNER_DIMENSION = '4px';\nconst ANIMATION_OUTER_DIMENSION = '28px';\nconst ANIMATION_BORDER_WIDTH = '4px';\n\nconst fadeIn = memoizeFunction(() =>\n keyframes({\n from: { opacity: 0 },\n to: { opacity: 1 },\n }),\n);\n\nconst slideIn = memoizeFunction(() =>\n keyframes({\n from: { transform: 'translateX(-10px)' },\n to: { transform: 'translateX(0)' },\n }),\n);\n\nexport const getStyles = memoizeFunction(\n (\n theme: ITheme = getTheme(),\n customStyles?: IActivityItemStyles,\n animateBeaconSignal?: IActivityItemProps['animateBeaconSignal'],\n beaconColorOne?: IActivityItemProps['beaconColorOne'],\n beaconColorTwo?: IActivityItemProps['beaconColorTwo'],\n isCompact?: IActivityItemProps['isCompact'],\n ): IActivityItemStyles => {\n const continuousPulse = PulsingBeaconAnimationStyles.continuousPulseAnimationSingle(\n beaconColorOne ? beaconColorOne : theme.palette.themePrimary,\n beaconColorTwo ? beaconColorTwo : theme.palette.themeTertiary,\n ANIMATION_INNER_DIMENSION,\n ANIMATION_OUTER_DIMENSION,\n ANIMATION_BORDER_WIDTH,\n );\n\n const continuousPulseAnimation = {\n animationName: continuousPulse,\n animationIterationCount: '1',\n animationDuration: '.8s',\n zIndex: 1,\n };\n\n const slideInAnimation = {\n animationName: slideIn(),\n animationIterationCount: '1',\n animationDuration: '.5s',\n };\n\n const fadeInAnimation = {\n animationName: fadeIn(),\n animationIterationCount: '1',\n animationDuration: '.5s',\n };\n\n const ActivityItemStyles: IActivityItemStyles = {\n root: [\n theme.fonts.small,\n {\n display: 'flex',\n justifyContent: 'flex-start',\n alignItems: 'flex-start',\n boxSizing: 'border-box',\n color: theme.palette.neutralSecondary,\n },\n isCompact && animateBeaconSignal && fadeInAnimation,\n ],\n\n pulsingBeacon: [\n {\n position: 'absolute',\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n width: '0px',\n height: '0px',\n borderRadius: '225px',\n borderStyle: 'solid',\n opacity: 0,\n },\n isCompact && animateBeaconSignal && continuousPulseAnimation,\n ],\n\n isCompactRoot: {\n alignItems: 'center',\n },\n\n personaContainer: {\n display: 'flex',\n flexWrap: 'wrap',\n minWidth: DEFAULT_PERSONA_SIZE,\n width: DEFAULT_PERSONA_SIZE,\n height: DEFAULT_PERSONA_SIZE,\n },\n\n isCompactPersonaContainer: {\n display: 'inline-flex',\n flexWrap: 'nowrap',\n flexBasis: 'auto',\n height: COMPACT_PERSONA_SIZE,\n width: 'auto',\n minWidth: '0',\n paddingRight: '6px',\n },\n\n activityTypeIcon: {\n height: DEFAULT_PERSONA_SIZE,\n fontSize: DEFAULT_ICON_SIZE,\n lineHeight: DEFAULT_ICON_SIZE,\n marginTop: '3px',\n },\n\n isCompactIcon: {\n height: COMPACT_PERSONA_SIZE,\n minWidth: COMPACT_PERSONA_SIZE,\n fontSize: COMPACT_ICON_SIZE,\n lineHeight: COMPACT_ICON_SIZE,\n color: theme.palette.themePrimary,\n marginTop: '1px',\n position: 'relative',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n selectors: {\n '.ms-Persona-imageArea': {\n margin: '-2px 0 0 -2px',\n border: '2px solid' + theme.palette.white,\n borderRadius: '50%',\n selectors: {\n [HighContrastSelector]: {\n border: 'none',\n margin: '0',\n },\n },\n },\n },\n },\n\n activityPersona: {\n display: 'block',\n },\n\n doublePersona: {\n selectors: {\n ':first-child': {\n alignSelf: 'flex-end',\n },\n },\n },\n\n isCompactPersona: {\n display: 'inline-block',\n width: '8px',\n minWidth: '8px',\n overflow: 'visible',\n },\n\n activityContent: [\n {\n padding: '0 8px',\n },\n isCompact && animateBeaconSignal && slideInAnimation,\n ],\n\n activityText: {\n display: 'inline',\n },\n\n isCompactContent: {\n flex: '1',\n padding: '0 4px',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n overflowX: 'hidden',\n },\n\n commentText: {\n color: theme.palette.neutralPrimary,\n },\n\n timeStamp: [\n theme.fonts.tiny,\n {\n fontWeight: 400,\n color: theme.palette.neutralSecondary,\n },\n ],\n\n isCompactTimeStamp: {\n display: 'inline-block',\n paddingLeft: '0.3em', // One space character\n fontSize: '1em',\n },\n };\n\n return concatStyleSets(ActivityItemStyles, customStyles);\n },\n);\n","import * as React from 'react';\nimport { classNamesFunction } from '../../../Utilities';\nimport { Icon } from '../../../Icon';\nimport {\n IPersonaPresenceProps,\n IPersonaPresenceStyleProps,\n IPersonaPresenceStyles,\n PersonaPresence as PersonaPresenceEnum,\n PersonaSize,\n} from '../Persona.types';\nimport { sizeBoolean } from '../PersonaConsts';\nimport { useMergedRefs } from '@fluentui/react-hooks';\n\nconst coinSizeFontScaleFactor = 6;\nconst coinSizePresenceScaleFactor = 3;\nconst presenceMaxSize = 40;\nconst presenceFontMaxSize = 20;\n\nconst getClassNames = classNamesFunction({\n // There can be many PersonaPresence rendered with different sizes.\n // Therefore setting a larger cache size.\n cacheSize: 100,\n});\n\n/**\n * PersonaPresence with no default styles.\n * [Use the `getStyles` API to add your own styles.](https://github.com/microsoft/fluentui/wiki/Styling)\n */\nexport const PersonaPresenceBase: React.FunctionComponent = React.forwardRef<\n HTMLDivElement,\n IPersonaPresenceProps\n>((props, forwardedRef) => {\n const {\n coinSize,\n isOutOfOffice,\n styles, // Use getStyles from props.\n presence,\n theme,\n presenceTitle,\n presenceColors,\n } = props;\n\n const rootRef = React.useRef(null);\n const mergedRootRef = useMergedRefs(forwardedRef, rootRef);\n\n const size = sizeBoolean(props.size as PersonaSize);\n\n // Render Presence Icon if Persona is above size 32.\n const renderIcon =\n !(size.isSize8 || size.isSize10 || size.isSize16 || size.isSize24 || size.isSize28 || size.isSize32) &&\n (coinSize ? coinSize > 32 : true);\n\n const presenceHeightWidth: string = coinSize\n ? coinSize / coinSizePresenceScaleFactor < presenceMaxSize\n ? coinSize / coinSizePresenceScaleFactor + 'px'\n : presenceMaxSize + 'px'\n : '';\n const presenceFontSize: string = coinSize\n ? coinSize / coinSizeFontScaleFactor < presenceFontMaxSize\n ? coinSize / coinSizeFontScaleFactor + 'px'\n : presenceFontMaxSize + 'px'\n : '';\n const coinSizeWithPresenceIconStyle = coinSize\n ? { fontSize: presenceFontSize, lineHeight: presenceHeightWidth }\n : undefined;\n const coinSizeWithPresenceStyle = coinSize ? { width: presenceHeightWidth, height: presenceHeightWidth } : undefined;\n\n // Use getStyles from props, or fall back to getStyles from styles file.\n const classNames = getClassNames(styles, {\n theme: theme!,\n presence,\n size: props.size,\n isOutOfOffice,\n presenceColors,\n });\n\n if (presence === PersonaPresenceEnum.none) {\n return null;\n }\n\n return (\n \n {renderIcon && (\n \n )}\n
\n );\n});\nPersonaPresenceBase.displayName = 'PersonaPresenceBase';\n\nfunction determineIcon(\n presence: PersonaPresenceEnum | undefined,\n isOutOfOffice: boolean | undefined,\n): string | undefined {\n if (!presence) {\n return undefined;\n }\n\n const oofIcon = 'SkypeArrow';\n\n switch (PersonaPresenceEnum[presence]) {\n case 'online':\n return 'SkypeCheck';\n case 'away':\n return isOutOfOffice ? oofIcon : 'SkypeClock';\n case 'dnd':\n return 'SkypeMinus';\n case 'offline':\n return isOutOfOffice ? oofIcon : '';\n }\n\n return '';\n}\n","import { IPersonaPresenceStyleProps, IPersonaPresenceStyles, PersonaPresence, PersonaSize } from '../Persona.types';\nimport { HighContrastSelector, getGlobalClassNames, IRawStyle, getHighContrastNoAdjustStyle } from '../../../Styling';\nimport { personaPresenceSize, presenceBoolean, sizeBoolean } from '../PersonaConsts';\n\nconst GlobalClassNames = {\n presence: 'ms-Persona-presence',\n presenceIcon: 'ms-Persona-presenceIcon',\n};\n\nexport const getStyles = (props: IPersonaPresenceStyleProps): IPersonaPresenceStyles => {\n const { theme, presenceColors } = props;\n const { semanticColors, fonts } = theme;\n\n const classNames = getGlobalClassNames(GlobalClassNames, theme);\n\n const size = sizeBoolean(props.size as PersonaSize);\n const presence = presenceBoolean(props.presence as PersonaPresence);\n\n // Presence colors\n const presenceColorAvailable = (presenceColors && presenceColors.available) || '#6BB700';\n const presenceColorAway = (presenceColors && presenceColors.away) || '#FFAA44';\n const presenceColorBusy = (presenceColors && presenceColors.busy) || '#C43148';\n const presenceColorDnd = (presenceColors && presenceColors.dnd) || '#C50F1F';\n const presenceColorOffline = (presenceColors && presenceColors.offline) || '#8A8886';\n const presenceColorOof = (presenceColors && presenceColors.oof) || '#B4009E';\n const presenceColorBackground = (presenceColors && presenceColors.background) || semanticColors.bodyBackground;\n\n const isOpenCirclePresence =\n presence.isOffline ||\n (props.isOutOfOffice && (presence.isAvailable || presence.isBusy || presence.isAway || presence.isDoNotDisturb));\n\n const borderSizeForSmallPersonas = '1px';\n const borderSizeForLargePersonas = '2px';\n\n const borderSize = size.isSize72 || size.isSize100 ? borderSizeForLargePersonas : borderSizeForSmallPersonas;\n\n return {\n presence: [\n classNames.presence,\n {\n position: 'absolute',\n height: personaPresenceSize.size12,\n width: personaPresenceSize.size12,\n borderRadius: '50%',\n top: 'auto',\n right: '-2px',\n bottom: '-2px',\n border: `2px solid ${presenceColorBackground}`,\n textAlign: 'center',\n boxSizing: 'content-box',\n backgroundClip: 'border-box',\n ...getHighContrastNoAdjustStyle(),\n\n selectors: {\n [HighContrastSelector]: {\n borderColor: 'Window',\n backgroundColor: 'WindowText',\n },\n },\n },\n\n (size.isSize8 || size.isSize10) && {\n right: 'auto',\n top: '7px',\n left: 0,\n border: 0,\n\n selectors: {\n [HighContrastSelector]: {\n top: '9px',\n border: '1px solid WindowText',\n },\n },\n },\n\n (size.isSize8 || size.isSize10 || size.isSize24 || size.isSize28 || size.isSize32) &&\n makeSizeStyle(personaPresenceSize.size8),\n\n (size.isSize40 || size.isSize48) && makeSizeStyle(personaPresenceSize.size12),\n\n size.isSize16 && {\n height: personaPresenceSize.size6,\n width: personaPresenceSize.size6,\n borderWidth: '1.5px',\n },\n\n size.isSize56 && makeSizeStyle(personaPresenceSize.size16),\n\n size.isSize72 && makeSizeStyle(personaPresenceSize.size20),\n\n size.isSize100 && makeSizeStyle(personaPresenceSize.size28),\n\n size.isSize120 && makeSizeStyle(personaPresenceSize.size32),\n\n presence.isAvailable && {\n backgroundColor: presenceColorAvailable,\n\n selectors: {\n [HighContrastSelector]: backgroundColor('Highlight'),\n },\n },\n\n presence.isAway && backgroundColor(presenceColorAway),\n\n presence.isBlocked && [\n {\n selectors: {\n // Only show :after at larger sizes\n ':after':\n size.isSize40 || size.isSize48 || size.isSize72 || size.isSize100\n ? {\n content: '\"\"',\n width: '100%',\n height: borderSize,\n backgroundColor: presenceColorBusy,\n transform: 'translateY(-50%) rotate(-45deg)',\n position: 'absolute',\n top: '50%',\n left: 0,\n }\n : undefined,\n\n [HighContrastSelector]: {\n selectors: {\n ':after': {\n width: `calc(100% - 4px)`,\n left: '2px',\n backgroundColor: 'Window',\n },\n },\n },\n },\n },\n ],\n\n presence.isBusy && backgroundColor(presenceColorBusy),\n\n presence.isDoNotDisturb && backgroundColor(presenceColorDnd),\n\n presence.isOffline && backgroundColor(presenceColorOffline),\n\n (isOpenCirclePresence || presence.isBlocked) && [\n {\n backgroundColor: presenceColorBackground,\n\n selectors: {\n ':before': {\n content: '\"\"',\n width: '100%',\n height: '100%',\n position: 'absolute',\n top: 0,\n left: 0,\n border: `${borderSize} solid ${presenceColorBusy}`,\n borderRadius: '50%',\n boxSizing: 'border-box',\n },\n [HighContrastSelector]: {\n backgroundColor: 'WindowText',\n\n selectors: {\n ':before': {\n width: `calc(100% - 2px)`,\n height: `calc(100% - 2px)`,\n top: '1px',\n left: '1px',\n borderColor: 'Window',\n },\n },\n },\n },\n },\n ],\n\n isOpenCirclePresence && presence.isAvailable && makeBeforeBorderStyle(borderSize, presenceColorAvailable),\n\n isOpenCirclePresence && presence.isBusy && makeBeforeBorderStyle(borderSize, presenceColorBusy),\n\n isOpenCirclePresence && presence.isAway && makeBeforeBorderStyle(borderSize, presenceColorOof),\n\n isOpenCirclePresence && presence.isDoNotDisturb && makeBeforeBorderStyle(borderSize, presenceColorDnd),\n\n isOpenCirclePresence && presence.isOffline && makeBeforeBorderStyle(borderSize, presenceColorOffline),\n\n isOpenCirclePresence &&\n presence.isOffline &&\n props.isOutOfOffice &&\n makeBeforeBorderStyle(borderSize, presenceColorOof),\n ],\n\n presenceIcon: [\n classNames.presenceIcon,\n {\n color: presenceColorBackground,\n fontSize: '6px', // exception case where we don't have an available theme.fonts variable to match it.\n lineHeight: personaPresenceSize.size12,\n verticalAlign: 'top',\n\n selectors: {\n [HighContrastSelector]: {\n color: 'Window',\n },\n },\n },\n\n size.isSize56 && {\n fontSize: '8px', // exception case where we don't have an available theme.fonts variable to match it.\n lineHeight: personaPresenceSize.size16,\n },\n\n size.isSize72 && {\n fontSize: fonts.small.fontSize,\n lineHeight: personaPresenceSize.size20,\n },\n\n size.isSize100 && {\n fontSize: fonts.medium.fontSize,\n lineHeight: personaPresenceSize.size28,\n },\n\n size.isSize120 && {\n fontSize: fonts.medium.fontSize,\n lineHeight: personaPresenceSize.size32,\n },\n\n presence.isAway && {\n position: 'relative',\n left: isOpenCirclePresence ? undefined : '1px',\n },\n\n isOpenCirclePresence && presence.isAvailable && makeOpenCircleIconStyle(presenceColorAvailable),\n\n isOpenCirclePresence && presence.isBusy && makeOpenCircleIconStyle(presenceColorBusy),\n\n isOpenCirclePresence && presence.isAway && makeOpenCircleIconStyle(presenceColorOof),\n\n isOpenCirclePresence && presence.isDoNotDisturb && makeOpenCircleIconStyle(presenceColorDnd),\n\n isOpenCirclePresence && presence.isOffline && makeOpenCircleIconStyle(presenceColorOffline),\n\n isOpenCirclePresence && presence.isOffline && props.isOutOfOffice && makeOpenCircleIconStyle(presenceColorOof),\n ],\n };\n};\n\nfunction makeOpenCircleIconStyle(color: string): IRawStyle {\n return {\n color,\n borderColor: color,\n };\n}\n\nfunction makeBeforeBorderStyle(borderSize: string, color: string): IRawStyle {\n return {\n selectors: {\n ':before': {\n border: `${borderSize} solid ${color}`,\n },\n },\n };\n}\n\nfunction makeSizeStyle(size: string): IRawStyle {\n return {\n height: size,\n width: size,\n };\n}\n\nfunction backgroundColor(color: string): IRawStyle {\n return { backgroundColor: color };\n}\n","import * as React from 'react';\nimport { styled } from '../../../Utilities';\nimport { IPersonaPresenceProps, IPersonaPresenceStyleProps, IPersonaPresenceStyles } from '../Persona.types';\nimport { PersonaPresenceBase } from './PersonaPresence.base';\nimport { getStyles } from './PersonaPresence.styles';\n\n/**\n * PersonaPresence is used to render an individual's presence.\n */\nexport const PersonaPresence: React.FunctionComponent = styled<\n IPersonaPresenceProps,\n IPersonaPresenceStyleProps,\n IPersonaPresenceStyles\n>(PersonaPresenceBase, getStyles, undefined, { scope: 'PersonaPresence' });\n","import { PersonaInitialsColor, IPersonaProps } from './Persona.types';\n\n/**\n * Following colors are considered reserved and can only be set with overrides, so they are excluded from this set:\n * - `gray` and `black` can result in offensive persona coins with some initials combinations\n * - `red` often has a special meaning\n * - `transparent` is not intended to be used with typical initials due to accessibility issues;\n * its primary use is for Facepile overflow buttons.\n */\nconst COLOR_SWATCHES_LOOKUP: PersonaInitialsColor[] = [\n PersonaInitialsColor.lightBlue,\n PersonaInitialsColor.blue,\n PersonaInitialsColor.darkBlue,\n PersonaInitialsColor.teal,\n PersonaInitialsColor.green,\n PersonaInitialsColor.darkGreen,\n PersonaInitialsColor.lightPink,\n PersonaInitialsColor.pink,\n PersonaInitialsColor.magenta,\n PersonaInitialsColor.purple,\n PersonaInitialsColor.orange,\n PersonaInitialsColor.lightRed,\n PersonaInitialsColor.darkRed,\n PersonaInitialsColor.violet,\n PersonaInitialsColor.gold,\n PersonaInitialsColor.burgundy,\n PersonaInitialsColor.warmGray,\n PersonaInitialsColor.cyan,\n PersonaInitialsColor.rust,\n PersonaInitialsColor.coolGray,\n];\n\nconst COLOR_SWATCHES_NUM_ENTRIES = COLOR_SWATCHES_LOOKUP.length;\n\nfunction getInitialsColorFromName(displayName: string | undefined): PersonaInitialsColor {\n let color = PersonaInitialsColor.blue;\n if (!displayName) {\n return color;\n }\n\n let hashCode = 0;\n for (let iLen: number = displayName.length - 1; iLen >= 0; iLen--) {\n const ch: number = displayName.charCodeAt(iLen);\n const shift: number = iLen % 8;\n // eslint-disable-next-line no-bitwise\n hashCode ^= (ch << shift) + (ch >> (8 - shift));\n }\n\n color = COLOR_SWATCHES_LOOKUP[hashCode % COLOR_SWATCHES_NUM_ENTRIES];\n\n return color;\n}\n\nfunction personaInitialsColorToHexCode(personaInitialsColor: PersonaInitialsColor): string {\n switch (personaInitialsColor) {\n case PersonaInitialsColor.lightBlue:\n return '#4F6BED';\n case PersonaInitialsColor.blue:\n return '#0078D4';\n case PersonaInitialsColor.darkBlue:\n return '#004E8C';\n case PersonaInitialsColor.teal:\n return '#038387';\n case PersonaInitialsColor.lightGreen:\n case PersonaInitialsColor.green:\n return '#498205';\n case PersonaInitialsColor.darkGreen:\n return '#0B6A0B';\n case PersonaInitialsColor.lightPink:\n return '#C239B3';\n case PersonaInitialsColor.pink:\n return '#E3008C';\n case PersonaInitialsColor.magenta:\n return '#881798';\n case PersonaInitialsColor.purple:\n return '#5C2E91';\n case PersonaInitialsColor.orange:\n return '#CA5010';\n // eslint-disable-next-line deprecation/deprecation\n case PersonaInitialsColor.red:\n return '#EE1111';\n case PersonaInitialsColor.lightRed:\n return '#D13438';\n case PersonaInitialsColor.darkRed:\n return '#A4262C';\n case PersonaInitialsColor.transparent:\n return 'transparent';\n case PersonaInitialsColor.violet:\n return '#8764B8';\n case PersonaInitialsColor.gold:\n return '#986F0B';\n case PersonaInitialsColor.burgundy:\n return '#750B1C';\n case PersonaInitialsColor.warmGray:\n return '#7A7574';\n case PersonaInitialsColor.cyan:\n return '#005B70';\n case PersonaInitialsColor.rust:\n return '#8E562E';\n case PersonaInitialsColor.coolGray:\n return '#69797E';\n // eslint-disable-next-line deprecation/deprecation\n case PersonaInitialsColor.black:\n return '#1D1D1D';\n case PersonaInitialsColor.gray:\n return '#393939';\n }\n}\n\n/** @deprecated Use `getPersonaInitialsColor` */\nexport function initialsColorPropToColorCode(props: IPersonaProps): string {\n return getPersonaInitialsColor(props);\n}\n\n/**\n * Gets the hex color string (prefixed with #) for the given persona props.\n * This is the logic used internally by the Persona control.\n * @param props - Current persona props\n * @returns Hex color string prefixed with #\n */\nexport function getPersonaInitialsColor(props: Pick): string {\n // eslint-disable-next-line deprecation/deprecation\n const { primaryText, text } = props;\n let { initialsColor } = props;\n let initialsColorCode: string;\n if (typeof initialsColor === 'string') {\n initialsColorCode = initialsColor;\n } else {\n initialsColor = initialsColor !== undefined ? initialsColor : getInitialsColorFromName(text || primaryText);\n initialsColorCode = personaInitialsColorToHexCode(initialsColor);\n }\n\n return initialsColorCode;\n}\n","import * as React from 'react';\nimport {\n classNamesFunction,\n divProperties,\n memoizeFunction,\n getInitials,\n getNativeProps,\n getRTL,\n getPropsWithDefaults,\n} from '../../../Utilities';\nimport { mergeStyles } from '../../../Styling';\nimport { PersonaPresence } from '../PersonaPresence/index';\nimport { Icon } from '../../../Icon';\nimport { Image, ImageFit, ImageLoadState } from '../../../Image';\nimport {\n IPersonaCoinProps,\n IPersonaCoinStyleProps,\n IPersonaCoinStyles,\n IPersonaPresenceProps,\n PersonaInitialsColor,\n PersonaPresence as PersonaPresenceEnum,\n PersonaSize,\n} from '../Persona.types';\nimport { getPersonaInitialsColor } from '../PersonaInitialsColor';\nimport { sizeToPixels } from '../PersonaConsts';\nimport { useWarnings } from '@fluentui/react-hooks';\n\nconst getClassNames = classNamesFunction({\n // There can be many PersonaCoin rendered with different sizes.\n // Therefore setting a larger cache size.\n cacheSize: 100,\n});\n\nconst getInitialsStyles = memoizeFunction(\n (\n className: string,\n initialsColor: PersonaInitialsColor | string | undefined,\n initialsTextColor: string | undefined,\n text: string | undefined,\n primaryText: string | undefined,\n showUnknownPersonaCoin: boolean | undefined,\n ) =>\n mergeStyles(\n className,\n !showUnknownPersonaCoin && {\n backgroundColor: getPersonaInitialsColor({ text, initialsColor, primaryText }),\n color: initialsTextColor,\n },\n ),\n);\n\nconst DEFAULT_PROPS = {\n size: PersonaSize.size48,\n presence: PersonaPresenceEnum.none,\n imageAlt: '',\n};\n\nfunction useDebugWarnings(props: IPersonaCoinProps) {\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks -- build-time conditional\n useWarnings({\n name: 'PersonaCoin',\n props,\n deprecations: { primaryText: 'text' },\n });\n }\n}\n\nfunction useImageLoadState({ onPhotoLoadingStateChange, imageUrl }: IPersonaCoinProps) {\n const [imageLoadState, setImageLoadstate] = React.useState(ImageLoadState.notLoaded);\n\n React.useEffect(() => {\n setImageLoadstate(ImageLoadState.notLoaded);\n }, [imageUrl]);\n\n const onLoadingStateChange = (loadState: ImageLoadState) => {\n setImageLoadstate(loadState);\n\n onPhotoLoadingStateChange?.(loadState);\n };\n\n return [imageLoadState, onLoadingStateChange] as const;\n}\n\n/**\n * PersonaCoin with no default styles.\n * [Use the `getStyles` API to add your own styles.](https://github.com/microsoft/fluentui/wiki/Styling)\n */\nexport const PersonaCoinBase: React.FunctionComponent = React.forwardRef<\n HTMLDivElement,\n IPersonaCoinProps\n>((propsWithoutDefaults, forwardedRef) => {\n const props = getPropsWithDefaults(DEFAULT_PROPS, propsWithoutDefaults);\n\n useDebugWarnings(props);\n\n const [imageLoadState, onLoadingStateChange] = useImageLoadState(props);\n\n const renderCoin = getCoinRenderer(onLoadingStateChange);\n\n const {\n className,\n coinProps,\n showUnknownPersonaCoin,\n coinSize,\n styles,\n imageUrl,\n initialsColor,\n initialsTextColor,\n isOutOfOffice,\n // eslint-disable-next-line deprecation/deprecation\n onRenderCoin = renderCoin,\n // eslint-disable-next-line deprecation/deprecation\n onRenderPersonaCoin = onRenderCoin,\n onRenderInitials = renderPersonaCoinInitials,\n presence,\n presenceTitle,\n presenceColors,\n // eslint-disable-next-line deprecation/deprecation\n primaryText,\n showInitialsUntilImageLoads,\n text,\n theme,\n size,\n } = props;\n\n const divProps = getNativeProps>(props, divProperties);\n const divCoinProps = getNativeProps>(coinProps || {}, divProperties);\n const coinSizeStyle = coinSize ? { width: coinSize, height: coinSize } : undefined;\n const hideImage = showUnknownPersonaCoin;\n\n const personaPresenceProps: IPersonaPresenceProps = {\n coinSize,\n isOutOfOffice,\n presence,\n presenceTitle,\n presenceColors,\n size,\n theme,\n };\n\n // Use getStyles from props, or fall back to getStyles from styles file.\n const classNames = getClassNames(styles, {\n theme: theme!,\n className: coinProps && coinProps.className ? coinProps.className : className,\n size,\n coinSize,\n showUnknownPersonaCoin,\n });\n\n const shouldRenderInitials = Boolean(\n imageLoadState !== ImageLoadState.loaded &&\n ((showInitialsUntilImageLoads && imageUrl) || !imageUrl || imageLoadState === ImageLoadState.error || hideImage),\n );\n\n return (\n
\n {\n // Render PersonaCoin if size is not size8. size10 and tiny need to removed after a deprecation cleanup.\n // eslint-disable-next-line deprecation/deprecation\n size !== PersonaSize.size8 && size !== PersonaSize.size10 && size !== PersonaSize.tiny ? (\n
\n {shouldRenderInitials && (\n \n {onRenderInitials(props, renderPersonaCoinInitials)}\n
\n )}\n {!hideImage && onRenderPersonaCoin(props, renderCoin)}\n \n
\n ) : // Otherwise, render just PersonaPresence.\n props.presence ? (\n \n ) : (\n // Just render Contact Icon if there isn't a Presence prop.\n \n )\n }\n {props.children}\n \n );\n});\nPersonaCoinBase.displayName = 'PersonaCoinBase';\n\nconst getCoinRenderer = (onLoadingStateChange: (loadState: ImageLoadState) => void) => ({\n coinSize,\n styles,\n imageUrl,\n imageAlt,\n imageShouldFadeIn,\n imageShouldStartVisible,\n theme,\n showUnknownPersonaCoin,\n size = DEFAULT_PROPS.size,\n}: IPersonaCoinProps): JSX.Element | null => {\n // Render the Image component only if an image URL is provided\n if (!imageUrl) {\n return null;\n }\n const classNames = getClassNames(styles, {\n theme: theme!,\n size,\n showUnknownPersonaCoin,\n });\n const dimension = coinSize || sizeToPixels[size];\n return (\n \n );\n};\n\nconst renderPersonaCoinInitials = ({\n imageInitials,\n allowPhoneInitials,\n showUnknownPersonaCoin,\n text,\n // eslint-disable-next-line deprecation/deprecation\n primaryText,\n theme,\n}: IPersonaCoinProps): JSX.Element => {\n if (showUnknownPersonaCoin) {\n return ;\n }\n\n const isRTL = getRTL(theme);\n\n imageInitials = imageInitials || getInitials(text || primaryText || '', isRTL, allowPhoneInitials);\n\n return imageInitials !== '' ? {imageInitials} : ;\n};\n","import * as React from 'react';\nimport { IStyle, ITheme } from '../../Styling';\nimport { IRefObject, IStyleFunctionOrObject } from '../../Utilities';\n\n/**\n * {@docCategory ResizeGroup}\n */\nexport enum ResizeGroupDirection {\n horizontal = 0,\n vertical = 1,\n}\n\n/**\n * {@docCategory ResizeGroup}\n */\nexport interface IResizeGroup {\n /**\n * Remeasures the available space.\n */\n remeasure(): void;\n}\n\n/**\n * {@docCategory ResizeGroup}\n */\nexport interface IResizeGroupProps extends React.HTMLAttributes, React.RefAttributes {\n /**\n * Optional callback to access the IResizeGroup interface. Use this instead of ref for accessing\n * the public methods and properties of the component.\n */\n componentRef?: IRefObject;\n\n /**\n * Call to provide customized styling that will layer on top of the variant rules\n * @deprecated Removed to reduce bundle size. Please use `className` and add css rules to `className` instead.\n */\n styles?: IStyleFunctionOrObject;\n\n /**\n * Theme provided by HOC.\n */\n theme?: ITheme;\n\n /**\n * Additional css class to apply to the Component\n * @defaultvalue undefined\n */\n className?: string;\n\n /**\n * Direction of this resize group, vertical or horizontal\n * @defaultvalue ResizeGroupDirection.horizontal\n */\n direction?: ResizeGroupDirection;\n\n /**\n * Initial data to be passed to the `onRenderData` function. When there is no `onGrowData` provided, this data should\n * represent what should be passed to the render function when the parent container of the ResizeGroup is at its\n * maximum supported width. A `cacheKey` property may optionally be included as part of the data. Two data objects\n * with the same `cacheKey` will be assumed to take up the same width and will prevent measurements.\n * The type of `cacheKey` is a string.\n */\n data: any;\n\n /**\n * Function to render the data. Called when rendering the contents to the screen and when\n * rendering in a hidden div to measure the size of the contents.\n */\n onRenderData: (data: any) => JSX.Element;\n\n /**\n * Function to be performed on the data in order to reduce its width and make it fit into the given space.\n * If there are no more scaling steps to apply, it should return undefined to prevent\n * an infinite render loop.\n */\n onReduceData: (prevData: any) => any;\n\n /**\n * Function to be performed on the data in order to increase its width. It is called in scenarios where the\n * container has more room than the previous render and we may be able to fit more content. If there are no more\n * scaling operations to perform on teh data, it should return undefined to prevent an infinite render loop.\n */\n onGrowData?: (prevData: any) => any;\n\n /**\n * Function to be called every time data is rendered. It provides the data that was actually rendered.\n * A use case would be adding telemetry when a particular control is shown in an overflow well or\n * dropped as a result of onReduceData or to count the number of renders that an implementation of\n * onReduceData triggers.\n */\n dataDidRender?: (renderedData: any) => void;\n}\n\n/**\n * {@docCategory ResizeGroup}\n */\nexport interface IResizeGroupStyleProps {\n /**\n * Accept theme prop.\n */\n theme: ITheme;\n\n /**\n * Accept custom classNames\n */\n className?: string;\n}\n\n/**\n * {@docCategory ResizeGroup}\n */\nexport interface IResizeGroupStyles {\n /**\n * Style for the root element.\n */\n root: IStyle;\n}\n","import { IPersonaCoinStyleProps, IPersonaCoinStyles, PersonaSize } from '../Persona.types';\nimport { HighContrastSelector, FontWeights, getGlobalClassNames, getHighContrastNoAdjustStyle } from '../../../Styling';\nimport { sizeBoolean, sizeToPixels } from '../PersonaConsts';\n\nconst GlobalClassNames = {\n coin: 'ms-Persona-coin',\n imageArea: 'ms-Persona-imageArea',\n image: 'ms-Persona-image',\n initials: 'ms-Persona-initials',\n size8: 'ms-Persona--size8',\n size10: 'ms-Persona--size10',\n size16: 'ms-Persona--size16',\n size24: 'ms-Persona--size24',\n size28: 'ms-Persona--size28',\n size32: 'ms-Persona--size32',\n size40: 'ms-Persona--size40',\n size48: 'ms-Persona--size48',\n size56: 'ms-Persona--size56',\n size72: 'ms-Persona--size72',\n size100: 'ms-Persona--size100',\n size120: 'ms-Persona--size120',\n};\n\nexport const getStyles = (props: IPersonaCoinStyleProps): IPersonaCoinStyles => {\n const { className, theme, coinSize } = props;\n\n const { palette, fonts } = theme;\n\n const size = sizeBoolean(props.size as PersonaSize);\n\n const classNames = getGlobalClassNames(GlobalClassNames, theme);\n\n // Static colors used when displaying 'unknown persona' coin\n const unknownPersonaBackgroundColor = 'rgb(234, 234, 234)';\n const unknownPersonaFontColor = 'rgb(168, 0, 0)';\n\n const dimension = coinSize || (props.size && sizeToPixels[props.size]) || 48;\n\n return {\n coin: [\n classNames.coin,\n fonts.medium,\n size.isSize8 && classNames.size8,\n size.isSize10 && classNames.size10,\n size.isSize16 && classNames.size16,\n size.isSize24 && classNames.size24,\n size.isSize28 && classNames.size28,\n size.isSize32 && classNames.size32,\n size.isSize40 && classNames.size40,\n size.isSize48 && classNames.size48,\n size.isSize56 && classNames.size56,\n size.isSize72 && classNames.size72,\n size.isSize100 && classNames.size100,\n size.isSize120 && classNames.size120,\n className,\n ],\n\n size10WithoutPresenceIcon: {\n fontSize: fonts.xSmall.fontSize,\n position: 'absolute',\n top: '5px',\n right: 'auto',\n left: 0,\n },\n\n imageArea: [\n classNames.imageArea,\n {\n position: 'relative',\n textAlign: 'center',\n flex: '0 0 auto',\n height: dimension,\n width: dimension,\n },\n\n dimension <= 10 && {\n overflow: 'visible',\n background: 'transparent',\n height: 0,\n width: 0,\n },\n ],\n\n image: [\n classNames.image,\n {\n marginRight: '10px',\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n border: 0,\n borderRadius: '50%',\n perspective: '1px',\n },\n\n dimension <= 10 && {\n overflow: 'visible',\n background: 'transparent',\n height: 0,\n width: 0,\n },\n\n dimension > 10 && {\n height: dimension,\n width: dimension,\n },\n ],\n\n initials: [\n classNames.initials,\n {\n borderRadius: '50%',\n color: props.showUnknownPersonaCoin ? unknownPersonaFontColor : palette.white,\n fontSize: fonts.large.fontSize,\n fontWeight: FontWeights.semibold,\n // copying the logic for the dimensions; defaulted to 46 for size48\n lineHeight: dimension === 48 ? 46 : dimension,\n height: dimension,\n\n selectors: {\n [HighContrastSelector]: {\n border: '1px solid WindowText',\n ...getHighContrastNoAdjustStyle(),\n color: 'WindowText',\n boxSizing: 'border-box',\n backgroundColor: 'Window !important',\n },\n i: {\n fontWeight: FontWeights.semibold,\n },\n },\n },\n\n props.showUnknownPersonaCoin && {\n backgroundColor: unknownPersonaBackgroundColor,\n },\n\n dimension < 32 && {\n fontSize: fonts.xSmall.fontSize,\n },\n\n dimension >= 32 &&\n dimension < 40 && {\n fontSize: fonts.medium.fontSize,\n },\n\n dimension >= 40 &&\n dimension < 56 && {\n fontSize: fonts.mediumPlus.fontSize,\n },\n\n dimension >= 56 &&\n dimension < 72 && {\n fontSize: fonts.xLarge.fontSize,\n },\n\n dimension >= 72 &&\n dimension < 100 && {\n fontSize: fonts.xxLarge.fontSize,\n },\n\n dimension >= 100 && {\n fontSize: fonts.superLarge.fontSize,\n },\n ],\n };\n};\n","import * as React from 'react';\nimport { styled } from '../../../Utilities';\nimport { IPersonaCoinProps, IPersonaCoinStyleProps, IPersonaCoinStyles } from '../Persona.types';\nimport { PersonaCoinBase } from './PersonaCoin.base';\nimport { getStyles } from './PersonaCoin.styles';\n\n/**\n * PersonaCoin is used to render an individual's avatar and presence.\n */\nexport const PersonaCoin: React.FunctionComponent = styled<\n IPersonaCoinProps,\n IPersonaCoinStyleProps,\n IPersonaCoinStyles\n>(PersonaCoinBase, getStyles, undefined, {\n scope: 'PersonaCoin',\n});\n","import * as React from 'react';\nimport { IActivityItemProps } from './ActivityItem.types';\nimport { IActivityItemClassNames, getClassNames } from './ActivityItem.classNames';\nimport { getStyles } from './ActivityItem.styles';\nimport { PersonaSize, PersonaCoin, IPersonaSharedProps, IPersonaCoinProps } from '../../Persona';\n\ntype OptionalReactKey = { key?: React.Key };\n\n/**\n * {@docCategory ActivityItem}\n */\nexport class ActivityItem extends React.Component {\n constructor(props: IActivityItemProps) {\n super(props);\n }\n\n public render(): JSX.Element {\n const {\n onRenderIcon = this._onRenderIcon,\n onRenderActivityDescription = this._onRenderActivityDescription,\n onRenderComments = this._onRenderComments,\n onRenderTimeStamp = this._onRenderTimeStamp,\n animateBeaconSignal,\n isCompact,\n } = this.props;\n\n const classNames = this._getClassNames(this.props);\n\n return (\n
\n {(this.props.activityPersonas || this.props.activityIcon || this.props.onRenderIcon) && (\n
\n {animateBeaconSignal && isCompact &&
}\n {onRenderIcon(this.props)}\n
\n )}\n\n
\n {onRenderActivityDescription(this.props, this._onRenderActivityDescription)}\n {onRenderComments(this.props, this._onRenderComments)}\n {onRenderTimeStamp(this.props, this._onRenderTimeStamp)}\n
\n
\n );\n }\n\n private _onRenderIcon = (props: IActivityItemProps): JSX.Element | React.ReactNode | null => {\n if (props.activityPersonas) {\n return this._onRenderPersonaArray(props);\n } else {\n return this.props.activityIcon;\n }\n };\n\n private _onRenderActivityDescription = (props: IActivityItemProps): JSX.Element | null => {\n const classNames = this._getClassNames(props);\n\n // eslint-disable-next-line deprecation/deprecation\n const activityDescription = props.activityDescription || props.activityDescriptionText;\n\n if (activityDescription) {\n return {activityDescription};\n }\n\n return null;\n };\n\n private _onRenderComments = (props: IActivityItemProps): JSX.Element | null => {\n const classNames = this._getClassNames(props);\n\n // eslint-disable-next-line deprecation/deprecation\n const comments = props.comments || props.commentText;\n\n if (!props.isCompact && comments) {\n return
{comments}
;\n }\n\n return null;\n };\n\n private _onRenderTimeStamp = (props: IActivityItemProps): JSX.Element | null => {\n const classNames = this._getClassNames(props);\n\n if (!props.isCompact && props.timeStamp) {\n return
{props.timeStamp}
;\n }\n\n return null;\n };\n\n // If activityPersonas is an array of persona props, build the persona cluster element.\n private _onRenderPersonaArray = (props: IActivityItemProps): JSX.Element | null => {\n const classNames = this._getClassNames(props);\n\n let personaElement: JSX.Element | null = null;\n const activityPersonas = props.activityPersonas as Array;\n if (activityPersonas[0].imageUrl || activityPersonas[0].imageInitials) {\n const personaList: Array = [];\n const showSize16Personas = activityPersonas.length > 1 || props.isCompact;\n const personaLimit = props.isCompact ? 3 : 4;\n let style: React.CSSProperties | undefined = undefined;\n if (props.isCompact) {\n style = {\n display: 'inline-block',\n width: '10px',\n minWidth: '10px',\n overflow: 'visible',\n };\n }\n activityPersonas\n .filter((person: IPersonaCoinProps & OptionalReactKey, index: number) => index < personaLimit)\n .forEach((person: IPersonaCoinProps & OptionalReactKey, index: number) => {\n personaList.push(\n ,\n );\n });\n personaElement =
{personaList}
;\n }\n return personaElement;\n };\n\n private _getClassNames(props: IActivityItemProps): IActivityItemClassNames {\n return getClassNames(\n getStyles(\n undefined,\n props.styles,\n props.animateBeaconSignal,\n props.beaconColorOne,\n props.beaconColorTwo,\n props.isCompact,\n ),\n props.className!,\n props.activityPersonas!,\n props.isCompact!,\n );\n }\n}\n","import * as React from 'react';\nimport { DelayedRender, classNamesFunction, getNativeProps, divProperties } from '../../Utilities';\nimport { IAnnouncedProps, IAnnouncedStyles } from './Announced.types';\n\nconst getClassNames = classNamesFunction<{}, IAnnouncedStyles>();\n\n/**\n * {@docCategory Announced}\n */\nexport class AnnouncedBase extends React.Component {\n public static defaultProps: Partial = {\n 'aria-live': 'polite',\n };\n\n public render(): JSX.Element {\n const { message, styles, as: Root = 'div', className } = this.props;\n\n const classNames = getClassNames(styles, { className });\n\n return (\n \n \n
{message}
\n
\n
\n );\n }\n}\n","import * as React from 'react';\nimport { styled } from '../../Utilities';\nimport { IAnnouncedProps, IAnnouncedStyles } from './Announced.types';\nimport { AnnouncedBase } from './Announced.base';\nimport { getStyles } from './Announced.styles';\n\nexport const Announced: React.FunctionComponent = styled(\n AnnouncedBase,\n getStyles,\n);\n","import { hiddenContentStyle } from '../../Styling';\nimport { IStyleFunction } from '../../Utilities';\nimport { IAnnouncedStyles, IAnnouncedStyleProps } from './Announced.types';\n\nexport const getStyles: IStyleFunction = props => {\n return {\n root: props.className,\n screenReaderText: hiddenContentStyle,\n };\n};\n","import * as React from 'react';\nimport { Async, divProperties, getNativeProps } from '../../Utilities';\nimport { IResizeGroupProps, ResizeGroupDirection } from './ResizeGroup.types';\nimport { useConst, useMergedRefs, useAsync, useOnEvent, useWarnings } from '@fluentui/react-hooks';\nimport { useWindow } from '../../WindowProvider';\n\nconst RESIZE_DELAY = 16;\n\nexport interface IResizeGroupState {\n /**\n * Final data used to render proper sized component\n */\n renderedData?: any;\n\n /**\n * Data to render in a hidden div for measurement\n */\n dataToMeasure?: any;\n\n /**\n * Set to true when the content container might have new dimensions and should\n * be remeasured.\n */\n measureContainer?: boolean;\n\n /**\n * Are we resizing to accommodate having more or less available space?\n * The 'grow' direction is when the container may have more room than the last render,\n * such as when a window resize occurs. This means we will try to fit more content in the window.\n * The 'shrink' direction is when the contents don't fit in the container and we need\n * to find a transformation of the data that makes everything fit.\n */\n resizeDirection?: 'grow' | 'shrink';\n}\n\n/**\n * Returns a simple object is able to store measurements with a given key.\n */\nexport const getMeasurementCache = () => {\n const measurementsCache: { [key: string]: number } = {};\n\n return {\n /**\n * Checks if the provided data has a cacheKey. If it has a cacheKey and there is a\n * corresponding entry in the measurementsCache, then it will return that value.\n * Returns undefined otherwise.\n */\n getCachedMeasurement: (data: any): number | undefined => {\n if (data && data.cacheKey && measurementsCache.hasOwnProperty(data.cacheKey)) {\n return measurementsCache[data.cacheKey];\n }\n\n return undefined;\n },\n /**\n * Should be called whenever there is a new measurement associated with a given data object.\n * If the data has a cacheKey, store that measurement in the measurementsCache.\n */\n addMeasurementToCache: (data: any, measurement: number): void => {\n if (data.cacheKey) {\n measurementsCache[data.cacheKey] = measurement;\n }\n },\n };\n};\n\n/**\n * Returns a function that is able to compute the next state for the ResizeGroup given the current\n * state and any measurement updates.\n */\nexport const getNextResizeGroupStateProvider = (measurementCache = getMeasurementCache()) => {\n const _measurementCache = measurementCache;\n let _containerDimension: number | undefined;\n\n /**\n * Gets the width/height of the data rendered in a hidden div.\n * @param measuredData - The data corresponding to the measurement we wish to take.\n * @param getElementToMeasureDimension - A function that returns the measurement of the rendered data.\n * Only called when the measurement is not in the cache.\n */\n function _getMeasuredDimension(measuredData: any, getElementToMeasureDimension: () => number): number {\n const cachedDimension = _measurementCache.getCachedMeasurement(measuredData);\n if (cachedDimension !== undefined) {\n return cachedDimension;\n }\n\n const measuredDimension = getElementToMeasureDimension();\n _measurementCache.addMeasurementToCache(measuredData, measuredDimension);\n return measuredDimension;\n }\n\n /**\n * Will get the next IResizeGroupState based on the current data while trying to shrink contents\n * to fit in the container.\n * @param data - The initial data point to start measuring.\n * @param onReduceData - Function that transforms the data into something that should render with less width/height.\n * @param getElementToMeasureDimension - A function that returns the measurement of the rendered data.\n * Only called when the measurement is not in the cache.\n */\n function _shrinkContentsUntilTheyFit(\n data: any,\n onReduceData: (prevData: any) => any,\n getElementToMeasureDimension: () => number,\n ): IResizeGroupState {\n let dataToMeasure = data;\n let measuredDimension: number | undefined = _getMeasuredDimension(data, getElementToMeasureDimension);\n\n while (measuredDimension > _containerDimension!) {\n const nextMeasuredData = onReduceData(dataToMeasure);\n\n // We don't want to get stuck in an infinite render loop when there are no more\n // scaling steps, so implementations of onReduceData should return undefined when\n // there are no more scaling states to apply.\n if (nextMeasuredData === undefined) {\n return {\n renderedData: dataToMeasure,\n resizeDirection: undefined,\n dataToMeasure: undefined,\n };\n }\n\n measuredDimension = _measurementCache.getCachedMeasurement(nextMeasuredData);\n\n // If the measurement isn't in the cache, we need to re-render with some data in a hidden div\n if (measuredDimension === undefined) {\n return {\n dataToMeasure: nextMeasuredData,\n resizeDirection: 'shrink',\n };\n }\n\n dataToMeasure = nextMeasuredData;\n }\n\n return {\n renderedData: dataToMeasure,\n resizeDirection: undefined,\n dataToMeasure: undefined,\n };\n }\n\n /**\n * This function should be called when the state changes in a manner that might allow for more content to fit\n * on the screen, such as the window width/height growing.\n * @param data - The initial data point to start measuring.\n * @param onGrowData - Function that transforms the data into something that may take up more space when rendering.\n * @param getElementToMeasureDimension - A function that returns the measurement of the rendered data.\n * Only called when the measurement is not in the cache.\n */\n function _growDataUntilItDoesNotFit(\n data: any,\n onGrowData: (prevData: any) => any,\n getElementToMeasureDimension: () => number,\n onReduceData: (prevData: any) => any,\n ): IResizeGroupState {\n let dataToMeasure = data;\n let measuredDimension: number | undefined = _getMeasuredDimension(data, getElementToMeasureDimension);\n\n while (measuredDimension < _containerDimension!) {\n const nextMeasuredData = onGrowData(dataToMeasure);\n\n // We don't want to get stuck in an infinite render loop when there are no more\n // scaling steps, so implementations of onGrowData should return undefined when\n // there are no more scaling states to apply.\n if (nextMeasuredData === undefined) {\n return {\n renderedData: dataToMeasure,\n resizeDirection: undefined,\n dataToMeasure: undefined,\n };\n }\n\n measuredDimension = _measurementCache.getCachedMeasurement(nextMeasuredData);\n // If the measurement isn't in the cache, we need to re-render with some data in a hidden div\n if (measuredDimension === undefined) {\n return {\n dataToMeasure: nextMeasuredData,\n };\n }\n\n dataToMeasure = nextMeasuredData;\n }\n\n // Once the loop is done, we should now shrink until the contents fit.\n return {\n resizeDirection: 'shrink',\n ..._shrinkContentsUntilTheyFit(dataToMeasure, onReduceData, getElementToMeasureDimension),\n };\n }\n\n /**\n * Handles an update to the container width/height.\n * Should only be called when we knew the previous container width/height.\n * @param newDimension - The new width/height of the container.\n * @param fullDimensionData - The initial data passed in as a prop to resizeGroup.\n * @param renderedData - The data that was rendered prior to the container size changing.\n * @param onGrowData - Set to true if the Resize group has an onGrowData function.\n */\n function _updateContainerDimension(\n newDimension: number,\n fullDimensionData: any,\n renderedData: any,\n onGrowData?: (prevData: any) => any,\n ): IResizeGroupState {\n let nextState: IResizeGroupState;\n if (newDimension > _containerDimension!) {\n if (onGrowData) {\n nextState = {\n resizeDirection: 'grow',\n dataToMeasure: onGrowData(renderedData),\n };\n } else {\n nextState = {\n resizeDirection: 'shrink',\n dataToMeasure: fullDimensionData,\n };\n }\n } else {\n nextState = {\n resizeDirection: 'shrink',\n dataToMeasure: renderedData,\n };\n }\n _containerDimension = newDimension;\n return { ...nextState, measureContainer: false };\n }\n\n function getNextState(\n props: IResizeGroupProps,\n currentState: IResizeGroupState,\n getElementToMeasureDimension: () => number,\n newContainerDimension?: number,\n ): IResizeGroupState | undefined {\n // If there is no new container width/height or data to measure, there is no need for a new state update\n if (newContainerDimension === undefined && currentState.dataToMeasure === undefined) {\n return undefined;\n }\n\n if (newContainerDimension) {\n // If we know the last container size and we rendered data at that width/height, we can do an optimized render\n if (_containerDimension && currentState.renderedData && !currentState.dataToMeasure) {\n return {\n ...currentState,\n ..._updateContainerDimension(newContainerDimension, props.data, currentState.renderedData, props.onGrowData),\n };\n }\n\n // If we are just setting the container width/height for the first time, we can't do any optimizations\n _containerDimension = newContainerDimension;\n }\n\n let nextState: IResizeGroupState = {\n ...currentState,\n measureContainer: false,\n };\n\n if (currentState.dataToMeasure) {\n if (currentState.resizeDirection === 'grow' && props.onGrowData) {\n nextState = {\n ...nextState,\n ..._growDataUntilItDoesNotFit(\n currentState.dataToMeasure,\n props.onGrowData,\n getElementToMeasureDimension,\n props.onReduceData,\n ),\n };\n } else {\n nextState = {\n ...nextState,\n ..._shrinkContentsUntilTheyFit(currentState.dataToMeasure, props.onReduceData, getElementToMeasureDimension),\n };\n }\n }\n\n return nextState;\n }\n\n /** Function that determines if we need to render content for measurement based on the measurement cache contents. */\n function shouldRenderDataForMeasurement(dataToMeasure: any | undefined): boolean {\n if (!dataToMeasure || _measurementCache.getCachedMeasurement(dataToMeasure) !== undefined) {\n return false;\n }\n\n return true;\n }\n\n function getInitialResizeGroupState(data: any): IResizeGroupState {\n return {\n dataToMeasure: { ...data },\n resizeDirection: 'grow',\n measureContainer: true,\n };\n }\n\n return {\n getNextState,\n shouldRenderDataForMeasurement,\n getInitialResizeGroupState,\n };\n};\n\n// Provides a context property that (if true) tells any child components that\n// they are only being used for measurement purposes and will not be visible.\nexport const MeasuredContext = React.createContext({ isMeasured: false });\n\n// Styles for the hidden div used for measurement\nconst hiddenDivStyles: React.CSSProperties = { position: 'fixed', visibility: 'hidden' };\nconst hiddenParentStyles: React.CSSProperties = { position: 'relative' };\nconst COMPONENT_NAME = 'ResizeGroup';\n\ntype ResizeDataAction = {\n type: 'resizeData' | keyof IResizeGroupState;\n value: IResizeGroupState[keyof IResizeGroupState] | IResizeGroupState;\n};\n\n/**\n * Use useReducer instead of userState because React is not batching the state updates\n * when state is set in callbacks of setTimeout or requestAnimationFrame.\n * See issue: https://github.com/facebook/react/issues/14259\n */\nfunction resizeDataReducer(state: IResizeGroupState, action: ResizeDataAction): IResizeGroupState {\n switch (action.type) {\n case 'resizeData':\n return { ...action.value };\n case 'dataToMeasure':\n return { ...state, dataToMeasure: action.value, resizeDirection: 'grow', measureContainer: true };\n default:\n return { ...state, [action.type]: action.value };\n }\n}\n\nfunction useResizeState(\n props: IResizeGroupProps,\n nextResizeGroupStateProvider: ReturnType,\n rootRef: React.RefObject,\n) {\n const initialStateData = useConst(() => nextResizeGroupStateProvider.getInitialResizeGroupState(props.data));\n const [resizeData, dispatchResizeDataAction] = React.useReducer(resizeDataReducer, initialStateData);\n\n // Reset state when new data is provided\n React.useEffect(() => {\n dispatchResizeDataAction({\n type: 'dataToMeasure',\n value: props.data,\n });\n }, [props.data]);\n\n // Because it's possible that we may force more than one re-render per animation frame, we\n // want to make sure that the RAF request is using the most recent data.\n const stateRef = React.useRef(initialStateData);\n stateRef.current = { ...resizeData };\n\n const updateResizeState = React.useCallback((nextState?: IResizeGroupState) => {\n if (nextState) {\n dispatchResizeDataAction({\n type: 'resizeData',\n value: nextState,\n });\n }\n }, []);\n\n const remeasure: () => void = React.useCallback(() => {\n if (rootRef.current) {\n dispatchResizeDataAction({\n type: 'measureContainer',\n value: true,\n });\n }\n }, [rootRef]);\n\n return [stateRef, updateResizeState, remeasure] as const;\n}\n\nfunction useResizingBehavior(props: IResizeGroupProps, rootRef: React.RefObject) {\n const nextResizeGroupStateProvider = useConst(getNextResizeGroupStateProvider);\n\n // A div that can be used for the initial measurement so that we can avoid mounting a second instance\n // of the component being measured for the initial render.\n const initialHiddenDiv = React.useRef(null);\n // A hidden div that is used for mounting a new instance of the component for measurement in a hidden\n // div without unmounting the currently visible content.\n const updateHiddenDiv = React.useRef(null);\n\n // Tracks if any content has been rendered to the user. This enables us to do some performance optimizations\n // for the initial render.\n const hasRenderedContent = React.useRef(false);\n\n const async: Async = useAsync();\n\n const [stateRef, updateResizeState, remeasure] = useResizeState(props, nextResizeGroupStateProvider, rootRef);\n\n React.useEffect(() => {\n if (stateRef.current.renderedData) {\n hasRenderedContent.current = true;\n props.dataDidRender?.(stateRef.current.renderedData);\n }\n });\n\n React.useEffect((): void => {\n async.requestAnimationFrame(() => {\n let containerDimension = undefined;\n if (stateRef.current.measureContainer && rootRef.current) {\n const boundingRect = rootRef.current.getBoundingClientRect();\n containerDimension =\n props.direction === ResizeGroupDirection.vertical ? boundingRect.height : boundingRect.width;\n }\n const nextState = nextResizeGroupStateProvider.getNextState(\n props,\n stateRef.current,\n () => {\n const refToMeasure = !hasRenderedContent.current ? initialHiddenDiv : updateHiddenDiv;\n if (!refToMeasure.current) {\n return 0;\n }\n return props.direction === ResizeGroupDirection.vertical\n ? refToMeasure.current.scrollHeight\n : refToMeasure.current.scrollWidth;\n },\n containerDimension,\n );\n\n updateResizeState(nextState);\n });\n });\n\n const win = useWindow();\n useOnEvent(win, 'resize', async.debounce(remeasure, RESIZE_DELAY, { leading: true }));\n\n const dataNeedsMeasuring = nextResizeGroupStateProvider.shouldRenderDataForMeasurement(\n stateRef.current.dataToMeasure,\n );\n\n const isInitialMeasure = !hasRenderedContent.current && dataNeedsMeasuring;\n\n return [\n stateRef.current.dataToMeasure,\n stateRef.current.renderedData,\n remeasure,\n initialHiddenDiv,\n updateHiddenDiv,\n dataNeedsMeasuring,\n isInitialMeasure,\n ] as const;\n}\n\nfunction useDebugWarnings(props: IResizeGroupProps) {\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks -- build-time conditional\n useWarnings({\n name: COMPONENT_NAME,\n props,\n deprecations: { styles: 'className' },\n });\n }\n}\n\nconst measuredContextValue = { isMeasured: true };\n\nexport const ResizeGroupBase: React.FunctionComponent = React.forwardRef<\n HTMLDivElement,\n IResizeGroupProps\n>((props, forwardedRef) => {\n const rootRef = React.useRef(null);\n // The root div which is the container inside of which we are trying to fit content.\n const mergedRootRef = useMergedRefs(rootRef, forwardedRef);\n\n const [\n dataToMeasure,\n renderedData,\n remeasure,\n initialHiddenDiv,\n updateHiddenDiv,\n dataNeedsMeasuring,\n isInitialMeasure,\n ] = useResizingBehavior(props, rootRef);\n\n React.useImperativeHandle(props.componentRef, () => ({ remeasure }), [remeasure]);\n\n useDebugWarnings(props);\n\n const { className, onRenderData } = props;\n const divProps = getNativeProps>(props, divProperties, ['data']);\n\n // We only ever render the final content to the user. All measurements are done in a hidden div.\n // For the initial render, we want this to be as fast as possible, so we need to make sure that we only mount one\n // version of the component for measurement and the final render. For renders that update what is on screen, we\n // want to make sure that there are no jarring effects such as the screen flashing as we apply scaling steps for\n // measurement. In the update case, we mount a second version of the component just for measurement purposes and\n // leave the rendered content untouched until we know the next state to show to the user.\n return (\n
\n
\n {dataNeedsMeasuring && !isInitialMeasure && (\n
\n \n {onRenderData(dataToMeasure)}\n \n
\n )}\n\n \n {isInitialMeasure ? onRenderData(dataToMeasure) : renderedData && onRenderData(renderedData)}\n
\n
\n
\n );\n});\nResizeGroupBase.displayName = 'ResizeGroupBase';\n","import * as React from 'react';\nimport { ResizeGroupBase } from './ResizeGroup.base';\nimport { IResizeGroupProps } from './ResizeGroup.types';\n\nexport const ResizeGroup: React.FunctionComponent = ResizeGroupBase;\n","import * as React from 'react';\nimport { TooltipHostBase } from './TooltipHost.base';\nimport { TooltipDelay, ITooltipProps } from './Tooltip.types';\nimport { ICalloutProps } from '../../Callout';\nimport { DirectionalHint } from '../../common/DirectionalHint';\nimport { IRefObject, IStyleFunctionOrObject } from '../../Utilities';\nimport { IStyle, ITheme } from '../../Styling';\n\n/**\n * {@docCategory Tooltip}\n */\nexport interface ITooltipHost {\n /**\n * Shows the tooltip.\n */\n show: () => void;\n\n /**\n * Dismisses the tooltip.\n */\n dismiss: () => void;\n}\n\n/**\n * {@docCategory Tooltip}\n */\nexport enum TooltipOverflowMode {\n /** Only show tooltip if parent DOM element is overflowing */\n Parent,\n\n /**\n * Only show tooltip if tooltip host's content is overflowing.\n * Note that this does not check the children for overflow, only the TooltipHost root.\n */\n Self,\n}\n\n/**\n * TooltipHost props. Note that native props (such as `id`, `className`, and `aria-` props) are\n * passed through to the Tooltip itself, rather than being used on the host element.\n * {@docCategory Tooltip}\n */\nexport interface ITooltipHostProps extends React.HTMLAttributes {\n /**\n * Optional callback to access the ITooltipHost interface. Use this instead of ref for accessing\n * the public methods and properties of the component.\n */\n componentRef?: IRefObject;\n\n /**\n * Additional properties to pass through for Callout.\n */\n calloutProps?: ICalloutProps;\n\n /**\n * Number of milliseconds to delay closing the tooltip, so that the user has time to hover over\n * the tooltip and interact with it. Hovering over the tooltip will count as hovering over the\n * host, so that the tooltip will stay open if the user is actively interacting with it.\n */\n closeDelay?: number;\n\n /**\n * Content to display in the Tooltip.\n */\n content?: string | JSX.Element | JSX.Element[];\n\n /**\n * Length of delay before showing the tooltip on hover.\n * @defaultvalue TooltipDelay.medium\n */\n delay?: TooltipDelay;\n\n /**\n * How the tooltip should be anchored to its `targetElement`.\n * @defaultvalue DirectionalHint.topCenter\n */\n directionalHint?: DirectionalHint;\n\n /**\n * How the element should be positioned in RTL layouts.\n * If not specified, a mirror of `directionalHint` will be used.\n */\n directionalHintForRTL?: DirectionalHint;\n\n /**\n * Class name to apply to tooltip host.\n */\n hostClassName?: string;\n\n /**\n * Class name to apply to the *tooltip itself*, not the host.\n * To apply a class to the host, use `hostClassName` or `styles.root`.\n */\n className?: string;\n\n /**\n * If this is unset (the default), the tooltip is always shown even if there's no overflow.\n *\n * If set, only show the tooltip if the specified element (`Self` or `Parent`) has overflow.\n * When set to `Parent`, the parent element is also used as the tooltip's target element.\n *\n * Note that even with `Self` mode, the TooltipHost *does not* check whether any children have overflow.\n */\n overflowMode?: TooltipOverflowMode;\n\n /**\n * Whether or not to mark the TooltipHost root element as described by the tooltip.\n * If not specified, the caller should pass an `id` to the TooltipHost (to be passed through to\n * the Tooltip) and mark the appropriate element as `aria-describedby` the `id`.\n * @defaultvalue true\n */\n setAriaDescribedBy?: boolean;\n\n /**\n * Additional properties to pass through for Tooltip.\n */\n tooltipProps?: ITooltipProps;\n\n /**\n * Optional ID to pass through to the tooltip (not used on the host itself).\n * Auto-generated if not provided.\n */\n id?: string;\n\n /**\n * Call to provide customized styling that will layer on top of the variant rules.\n */\n styles?: IStyleFunctionOrObject;\n\n /**\n * Theme provided by higher-order component.\n */\n theme?: ITheme;\n\n /**\n * Notifies when tooltip becomes visible or hidden, whatever the trigger was.\n */\n onTooltipToggle?(isTooltipVisible: boolean): void;\n}\n\n/**\n * {@docCategory Tooltip}\n */\nexport interface ITooltipHostStyleProps {\n theme: ITheme;\n className?: string;\n}\n\n/**\n * {@docCategory Tooltip}\n */\nexport interface ITooltipHostStyles {\n /**\n * Style for the host wrapper element.\n */\n root: IStyle;\n}\n","import * as React from 'react';\nimport { TooltipBase } from './Tooltip.base';\nimport { ICalloutProps } from '../../Callout';\nimport { IRenderFunction } from '../../Utilities';\nimport { DirectionalHint } from '../../common/DirectionalHint';\nimport { IStyle, ITheme } from '../../Styling';\nimport { IRefObject, IStyleFunctionOrObject } from '../../Utilities';\n\n/**\n * {@docCategory Tooltip}\n */\nexport interface ITooltip {}\n\n/**\n * {@docCategory Tooltip}\n */\nexport interface ITooltipProps extends React.HTMLAttributes {\n /**\n * Optional callback to access the ITooltip interface. Use this instead of ref for accessing\n * the public methods and properties of the component.\n */\n componentRef?: IRefObject;\n\n /**\n * Properties to pass through for Callout.\n * @defaultvalue `{ isBeakVisible: true, beakWidth: 16, gapSpace: 0, setInitialFocus: true, doNotLayer: false }`\n */\n calloutProps?: ICalloutProps;\n\n /**\n * Content to be passed to the tooltip\n */\n content?: string | JSX.Element | JSX.Element[];\n\n /**\n * Render function to populate tooltip content.\n */\n onRenderContent?: IRenderFunction;\n\n /**\n * Length of delay. Set to `TooltipDelay.zero` if you do not want a delay.\n * @defaultvalue TooltipDelay.medium\n */\n delay?: TooltipDelay;\n\n /**\n * Max width of tooltip\n * @defaultvalue 364px\n */\n maxWidth?: string | null;\n\n /**\n * Element to anchor the Tooltip to.\n */\n targetElement?: HTMLElement;\n\n /**\n * How the tooltip should be anchored to its `targetElement`.\n * @defaultvalue DirectionalHint.topCenter\n */\n directionalHint?: DirectionalHint;\n\n /**\n * How the element should be positioned in RTL layouts.\n * If not specified, a mirror of `directionalHint` will be used instead\n */\n directionalHintForRTL?: DirectionalHint;\n\n /**\n * Theme provided by higher-order component.\n */\n theme?: ITheme;\n\n /**\n * Call to provide customized styling that will layer on top of the variant rules.\n */\n styles?: IStyleFunctionOrObject;\n}\n\n/**\n * {@docCategory Tooltip}\n */\nexport enum TooltipDelay {\n zero = 0,\n /** 300 ms delay before showing the tooltip */\n medium = 1,\n /** 500 ms delay before showing the tooltip */\n long = 2,\n}\n\n/**\n * {@docCategory Tooltip}\n */\nexport interface ITooltipStyleProps {\n theme: ITheme;\n\n className?: string;\n\n /**\n * Delay before tooltip appears.\n * @deprecated Delay logic moved to TooltipHost vs relying on animation delay.\n */\n delay?: TooltipDelay;\n\n /**\n * Maximum width of tooltip.\n */\n maxWidth?: string;\n\n /**\n * The gap between the Callout and the target\n * @defaultvalue 0\n */\n gapSpace?: number;\n\n /**\n * The width of the Callout's beak\n * @defaultvalue 16\n */\n beakWidth?: number;\n}\n\n/**\n * {@docCategory Tooltip}\n */\nexport interface ITooltipStyles {\n /**\n * Style for the root element.\n */\n root: IStyle;\n\n /**\n * Style for the content element.\n */\n content: IStyle;\n\n /**\n * Style for the subtext element.\n */\n subText: IStyle;\n}\n","import * as React from 'react';\nimport { classNamesFunction, divProperties, getNativeProps } from '../../Utilities';\nimport { IProcessedStyleSet } from '../../Styling';\nimport { ITooltipProps, ITooltipStyleProps, ITooltipStyles } from './Tooltip.types';\nimport { Callout } from '../../Callout';\nimport { DirectionalHint } from '../../common/DirectionalHint';\n\nconst getClassNames = classNamesFunction();\n\nexport class TooltipBase extends React.Component {\n // Specify default props values\n public static defaultProps: Partial = {\n directionalHint: DirectionalHint.topCenter,\n maxWidth: '364px',\n calloutProps: {\n isBeakVisible: true,\n beakWidth: 16,\n gapSpace: 0,\n setInitialFocus: true,\n doNotLayer: false,\n },\n };\n\n private _classNames: IProcessedStyleSet;\n\n public render(): JSX.Element {\n const {\n className,\n calloutProps,\n directionalHint,\n directionalHintForRTL,\n styles,\n id,\n maxWidth,\n onRenderContent = this._onRenderContent,\n targetElement,\n theme,\n } = this.props;\n\n this._classNames = getClassNames(styles!, {\n theme: theme!,\n className: className || (calloutProps && calloutProps.className),\n beakWidth: calloutProps && calloutProps.beakWidth,\n gapSpace: calloutProps && calloutProps.gapSpace,\n maxWidth: maxWidth!,\n });\n\n return (\n \n \n {onRenderContent(this.props, this._onRenderContent)}\n \n \n );\n }\n\n private _onRenderContent = (props: ITooltipProps): JSX.Element => {\n if (typeof props.content === 'string') {\n return

{props.content}

;\n } else {\n return
{props.content}
;\n }\n };\n}\n","import * as React from 'react';\nimport { styled } from '../../Utilities';\nimport { TooltipBase } from './Tooltip.base';\nimport { ITooltipProps, ITooltipStyleProps, ITooltipStyles } from './Tooltip.types';\nimport { getStyles } from './Tooltip.styles';\n\nexport const Tooltip: React.FunctionComponent = styled<\n ITooltipProps,\n ITooltipStyleProps,\n ITooltipStyles\n>(TooltipBase, getStyles, undefined, {\n scope: 'Tooltip',\n});\n","import { ITooltipStyleProps, ITooltipStyles } from './Tooltip.types';\nimport { AnimationClassNames } from '../../Styling';\n\nexport const getStyles = (props: ITooltipStyleProps): ITooltipStyles => {\n const { className, beakWidth = 16, gapSpace = 0, maxWidth, theme } = props;\n const { semanticColors, fonts, effects } = theme;\n\n // The math here is done to account for the 45 degree rotation of the beak\n // and sub-pixel rounding that differs across browsers, which is more noticeable when\n // the device pixel ratio is larger\n const tooltipGapSpace = -(Math.sqrt((beakWidth * beakWidth) / 2) + gapSpace) + 1 / window.devicePixelRatio;\n\n return {\n root: [\n 'ms-Tooltip',\n theme.fonts.medium,\n AnimationClassNames.fadeIn200,\n {\n background: semanticColors.menuBackground,\n boxShadow: effects.elevation8,\n padding: '8px',\n maxWidth: maxWidth,\n selectors: {\n ':after': {\n content: `''`,\n position: 'absolute',\n bottom: tooltipGapSpace,\n left: tooltipGapSpace,\n right: tooltipGapSpace,\n top: tooltipGapSpace,\n zIndex: 0,\n },\n },\n },\n className,\n ],\n content: [\n 'ms-Tooltip-content',\n fonts.small,\n {\n position: 'relative',\n zIndex: 1,\n color: semanticColors.menuItemText,\n wordWrap: 'break-word',\n overflowWrap: 'break-word',\n overflow: 'hidden',\n },\n ],\n subText: [\n 'ms-Tooltip-subtext',\n {\n // Using inherit here to avoid unintentional global overrides of the

tag.\n fontSize: 'inherit',\n fontWeight: 'inherit',\n color: 'inherit',\n margin: 0,\n },\n ],\n };\n};\n","import * as React from 'react';\nimport { hiddenContentStyle } from '../../Styling';\nimport {\n initializeComponentRef,\n Async,\n divProperties,\n getNativeProps,\n getId,\n assign,\n hasOverflow,\n portalContainsElement,\n classNamesFunction,\n KeyCodes,\n} from '../../Utilities';\nimport {\n ITooltipHostProps,\n TooltipOverflowMode,\n ITooltipHostStyles,\n ITooltipHostStyleProps,\n ITooltipHost,\n} from './TooltipHost.types';\nimport { Tooltip } from './Tooltip';\nimport { TooltipDelay } from './Tooltip.types';\n\nexport interface ITooltipHostState {\n isAriaPlaceholderRendered: boolean;\n isTooltipVisible: boolean;\n}\n\nconst getClassNames = classNamesFunction();\n\nexport class TooltipHostBase extends React.Component implements ITooltipHost {\n public static defaultProps = {\n delay: TooltipDelay.medium,\n };\n\n private static _currentVisibleTooltip: ITooltipHost | undefined;\n\n // The wrapping div that gets the hover events\n private _tooltipHost = React.createRef();\n\n private _classNames: { [key in keyof ITooltipHostStyles]: string };\n private _async: Async;\n private _dismissTimerId: number;\n private _openTimerId: number;\n private _defaultTooltipId = getId('tooltip');\n\n // Constructor\n constructor(props: ITooltipHostProps) {\n super(props);\n\n initializeComponentRef(this);\n\n this.state = {\n isAriaPlaceholderRendered: false,\n isTooltipVisible: false,\n };\n\n this._async = new Async(this);\n }\n\n // Render\n public render(): JSX.Element {\n const {\n calloutProps,\n children,\n content,\n directionalHint,\n directionalHintForRTL,\n hostClassName: className,\n id,\n setAriaDescribedBy = true,\n tooltipProps,\n styles,\n theme,\n } = this.props;\n\n this._classNames = getClassNames(styles!, {\n theme: theme!,\n className,\n });\n\n const { isAriaPlaceholderRendered, isTooltipVisible } = this.state;\n const tooltipId = id || this._defaultTooltipId;\n const isContentPresent = !!(\n content ||\n (tooltipProps && tooltipProps.onRenderContent && tooltipProps.onRenderContent())\n );\n const showTooltip = isTooltipVisible && isContentPresent;\n const ariaDescribedBy = setAriaDescribedBy && isTooltipVisible && isContentPresent ? tooltipId : undefined;\n\n return (\n \n {children}\n {showTooltip && (\n \n )}\n {isAriaPlaceholderRendered && (\n

\n {content}\n
\n )}\n \n );\n }\n\n public componentWillUnmount(): void {\n if (TooltipHostBase._currentVisibleTooltip && TooltipHostBase._currentVisibleTooltip === this) {\n TooltipHostBase._currentVisibleTooltip = undefined;\n }\n\n this._async.dispose();\n }\n\n public show = (): void => {\n this._toggleTooltip(true);\n };\n\n public dismiss = (): void => {\n this._hideTooltip();\n };\n\n private _getTargetElement = (): HTMLElement | undefined => {\n if (!this._tooltipHost.current) {\n return undefined;\n }\n\n const { overflowMode } = this.props;\n\n // Select target element based on overflow mode. For parent mode, you want to position the tooltip relative\n // to the parent element, otherwise it might look off.\n if (overflowMode !== undefined) {\n switch (overflowMode) {\n case TooltipOverflowMode.Parent:\n return this._tooltipHost.current.parentElement!;\n\n case TooltipOverflowMode.Self:\n return this._tooltipHost.current;\n }\n }\n\n return this._tooltipHost.current;\n };\n\n // Show Tooltip\n private _onTooltipMouseEnter = (ev: any): void => {\n const { overflowMode, delay } = this.props;\n\n if (TooltipHostBase._currentVisibleTooltip && TooltipHostBase._currentVisibleTooltip !== this) {\n TooltipHostBase._currentVisibleTooltip.dismiss();\n }\n TooltipHostBase._currentVisibleTooltip = this;\n\n if (overflowMode !== undefined) {\n const overflowElement = this._getTargetElement();\n if (overflowElement && !hasOverflow(overflowElement)) {\n return;\n }\n }\n\n if (ev.target && portalContainsElement(ev.target as HTMLElement, this._getTargetElement())) {\n // Do not show tooltip when target is inside a portal relative to TooltipHost.\n return;\n }\n\n this._clearDismissTimer();\n this._clearOpenTimer();\n\n if (delay !== TooltipDelay.zero) {\n this.setState({ isAriaPlaceholderRendered: true });\n const delayTime = this._getDelayTime(delay!); // non-null assertion because we set it in `defaultProps`\n\n this._openTimerId = this._async.setTimeout(() => {\n this._toggleTooltip(true);\n }, delayTime);\n } else {\n this._toggleTooltip(true);\n }\n };\n\n // Hide Tooltip\n private _onTooltipMouseLeave = (ev: any): void => {\n const { closeDelay } = this.props;\n\n this._clearDismissTimer();\n this._clearOpenTimer();\n\n if (closeDelay) {\n this._dismissTimerId = this._async.setTimeout(() => {\n this._toggleTooltip(false);\n }, closeDelay);\n } else {\n this._toggleTooltip(false);\n }\n\n if (TooltipHostBase._currentVisibleTooltip === this) {\n TooltipHostBase._currentVisibleTooltip = undefined;\n }\n };\n\n private _onTooltipKeyDown = (ev: React.KeyboardEvent): void => {\n // eslint-disable-next-line deprecation/deprecation\n if ((ev.which === KeyCodes.escape || ev.ctrlKey) && this.state.isTooltipVisible) {\n this._hideTooltip();\n ev.stopPropagation();\n }\n };\n\n private _clearDismissTimer = (): void => {\n this._async.clearTimeout(this._dismissTimerId);\n };\n\n private _clearOpenTimer = (): void => {\n this._async.clearTimeout(this._openTimerId);\n };\n\n // Hide Tooltip\n private _hideTooltip = (): void => {\n this._clearOpenTimer();\n this._clearDismissTimer();\n this._toggleTooltip(false);\n };\n\n private _toggleTooltip = (isTooltipVisible: boolean): void => {\n if (this.state.isTooltipVisible !== isTooltipVisible) {\n this.setState(\n { isAriaPlaceholderRendered: false, isTooltipVisible },\n () => this.props.onTooltipToggle && this.props.onTooltipToggle(isTooltipVisible),\n );\n }\n };\n\n private _getDelayTime = (delay: TooltipDelay): number => {\n switch (delay) {\n case TooltipDelay.medium:\n return 300;\n case TooltipDelay.long:\n return 500;\n default:\n return 0;\n }\n };\n}\n","import { ITooltipHostStyleProps, ITooltipHostStyles } from './TooltipHost.types';\nimport { getGlobalClassNames } from '../../Styling';\n\nconst GlobalClassNames = {\n root: 'ms-TooltipHost',\n ariaPlaceholder: 'ms-TooltipHost-aria-placeholder',\n};\n\nexport const getStyles = (props: ITooltipHostStyleProps): ITooltipHostStyles => {\n const { className, theme } = props;\n const classNames = getGlobalClassNames(GlobalClassNames, theme);\n\n return {\n root: [\n classNames.root,\n {\n display: 'inline',\n },\n className,\n ],\n };\n};\n","import * as React from 'react';\nimport { styled } from '../../Utilities';\nimport { TooltipHostBase } from './TooltipHost.base';\nimport { ITooltipHostProps, ITooltipHostStyleProps, ITooltipHostStyles } from './TooltipHost.types';\nimport { getStyles } from './TooltipHost.styles';\n\nexport const TooltipHost: React.FunctionComponent = styled<\n ITooltipHostProps,\n ITooltipHostStyleProps,\n ITooltipHostStyles\n>(TooltipHostBase, getStyles, undefined, {\n scope: 'TooltipHost',\n});\n","import * as React from 'react';\nimport {\n initializeComponentRef,\n getRTL,\n classNamesFunction,\n getNativeProps,\n htmlElementProperties,\n} from '../../Utilities';\nimport { IProcessedStyleSet } from '../../Styling';\nimport { FocusZone, FocusZoneDirection } from '../../FocusZone';\nimport { Link } from '../../Link';\nimport { Icon } from '../../Icon';\nimport { IconButton } from '../../Button';\nimport { DirectionalHint } from '../../common/DirectionalHint';\nimport { ResizeGroup } from '../../ResizeGroup';\nimport { TooltipHost, TooltipOverflowMode } from '../../Tooltip';\nimport { IContextualMenuItem, IContextualMenuItemProps } from '../../ContextualMenu';\nimport {\n IBreadcrumbProps,\n IBreadcrumbItem,\n IDividerAsProps,\n IBreadcrumbData,\n IBreadcrumbStyleProps,\n IBreadcrumbStyles,\n} from './Breadcrumb.types';\n\n/** @deprecated Use IBreadcrumbData */\nexport type IBreadCrumbData = IBreadcrumbData;\n\nconst getClassNames = classNamesFunction();\n\nconst OVERFLOW_KEY = 'overflow';\nconst nullFunction = (): null => null;\n\nconst nonActionableItemProps: Partial = {\n styles: props => {\n const { theme } = props;\n return {\n root: {\n selectors: {\n '&.is-disabled': {\n color: theme.semanticColors.bodyText,\n },\n },\n },\n };\n },\n};\n\n/**\n * {@docCategory Breadcrumb}\n */\nexport class BreadcrumbBase extends React.Component {\n public static defaultProps: IBreadcrumbProps = {\n items: [],\n maxDisplayedItems: 999,\n overflowIndex: 0,\n };\n\n private _classNames: IProcessedStyleSet;\n private _focusZone = React.createRef();\n\n constructor(props: IBreadcrumbProps) {\n super(props);\n\n initializeComponentRef(this);\n this._validateProps(props);\n }\n\n /**\n * Sets focus to the first breadcrumb link.\n */\n public focus(): void {\n if (this._focusZone.current) {\n this._focusZone.current.focus();\n }\n }\n\n public render(): JSX.Element {\n this._validateProps(this.props);\n\n const {\n onReduceData = this._onReduceData,\n onGrowData = this._onGrowData,\n overflowIndex,\n maxDisplayedItems,\n items,\n className,\n theme,\n styles,\n } = this.props;\n const renderedItems = [...items];\n const renderedOverflowItems = renderedItems.splice(overflowIndex!, renderedItems.length - maxDisplayedItems!);\n const breadcrumbData: IBreadcrumbData = {\n props: this.props,\n renderedItems,\n renderedOverflowItems,\n };\n\n this._classNames = getClassNames(styles, {\n className,\n theme: theme!,\n });\n\n return (\n \n );\n }\n\n /**\n * Remove the first rendered item past the overlow point and put it and the end the overflow set.\n */\n private _onReduceData = (data: IBreadcrumbData): IBreadcrumbData | undefined => {\n let { renderedItems, renderedOverflowItems } = data;\n const { overflowIndex } = data.props;\n\n const movedItem = renderedItems[overflowIndex!];\n\n if (!movedItem) {\n return undefined;\n }\n\n renderedItems = [...renderedItems];\n renderedItems.splice(overflowIndex!, 1);\n\n renderedOverflowItems = [...renderedOverflowItems, movedItem];\n\n return { ...data, renderedItems, renderedOverflowItems };\n };\n\n /**\n * Remove the last item of the overflow set and insert the item as the start of the rendered set past the overflow\n * point.\n */\n private _onGrowData = (data: IBreadcrumbData): IBreadcrumbData | undefined => {\n let { renderedItems, renderedOverflowItems } = data;\n const { overflowIndex, maxDisplayedItems } = data.props;\n\n renderedOverflowItems = [...renderedOverflowItems];\n const movedItem = renderedOverflowItems.pop();\n\n if (!movedItem || renderedItems.length >= maxDisplayedItems!) {\n return undefined;\n }\n\n renderedItems = [...renderedItems];\n renderedItems.splice(overflowIndex!, 0, movedItem);\n\n return { ...data, renderedItems, renderedOverflowItems };\n };\n\n private _onRenderBreadcrumb = (data: IBreadcrumbData) => {\n const {\n ariaLabel,\n dividerAs: DividerType = Icon as React.ElementType,\n onRenderItem = this._onRenderItem,\n overflowAriaLabel,\n overflowIndex,\n onRenderOverflowIcon,\n overflowButtonAs,\n } = data.props;\n const { renderedOverflowItems, renderedItems } = data;\n\n const contextualItems = renderedOverflowItems.map(\n (item): IContextualMenuItem => {\n const isActionable = !!(item.onClick || item.href);\n return {\n text: item.text,\n name: item.text,\n key: item.key,\n onClick: item.onClick ? this._onBreadcrumbClicked.bind(this, item) : null,\n href: item.href,\n disabled: !isActionable,\n itemProps: isActionable ? undefined : nonActionableItemProps,\n };\n },\n );\n\n // Find index of last rendered item so the divider icon\n // knows not to render on that item\n const lastItemIndex = renderedItems.length - 1;\n const hasOverflowItems = renderedOverflowItems && renderedOverflowItems.length !== 0;\n\n const itemElements: JSX.Element[] = renderedItems.map((item, index) => (\n
  • \n {onRenderItem(item, this._onRenderItem)}\n {(index !== lastItemIndex || (hasOverflowItems && index === overflowIndex! - 1)) && (\n \n )}\n
  • \n ));\n\n if (hasOverflowItems) {\n const iconProps = !onRenderOverflowIcon ? { iconName: 'More' } : {};\n const onRenderMenuIcon = onRenderOverflowIcon ? onRenderOverflowIcon : nullFunction;\n const OverflowButton = overflowButtonAs ? overflowButtonAs : IconButton;\n\n itemElements.splice(\n overflowIndex!,\n 0,\n
  • \n \n {overflowIndex !== lastItemIndex + 1 && (\n \n )}\n
  • ,\n );\n }\n\n const nativeProps = getNativeProps>(this.props, htmlElementProperties, [\n 'className',\n ]);\n\n return (\n
    \n \n
      {itemElements}
    \n \n
    \n );\n };\n\n private _onRenderItem = (item: IBreadcrumbItem) => {\n const { as, href, onClick, isCurrentItem, text, ...additionalProps } = item;\n\n if (onClick || href) {\n return (\n \n \n {text}\n \n \n );\n } else {\n const Tag = as || 'span';\n return (\n \n \n {text}\n \n \n );\n }\n };\n\n private _onBreadcrumbClicked = (item: IBreadcrumbItem, ev: React.MouseEvent) => {\n if (item.onClick) {\n item.onClick(ev, item);\n }\n };\n\n /**\n * Validate incoming props\n * @param props - Props to validate\n */\n private _validateProps(props: IBreadcrumbProps): void {\n const { maxDisplayedItems, overflowIndex, items } = props;\n if (\n overflowIndex! < 0 ||\n (maxDisplayedItems! > 1 && overflowIndex! > maxDisplayedItems! - 1) ||\n (items.length > 0 && overflowIndex! > items.length - 1)\n ) {\n throw new Error('Breadcrumb: overflowIndex out of range');\n }\n }\n}\n","import {\n HighContrastSelector,\n IRawStyle,\n ScreenWidthMaxMedium,\n ScreenWidthMaxSmall,\n ScreenWidthMinMedium,\n getFocusStyle,\n getScreenSelector,\n getGlobalClassNames,\n FontWeights,\n getHighContrastNoAdjustStyle,\n} from '../../Styling';\nimport { IBreadcrumbStyleProps, IBreadcrumbStyles } from './Breadcrumb.types';\nimport { IsFocusVisibleClassName } from '../../Utilities';\n\nconst GlobalClassNames = {\n root: 'ms-Breadcrumb',\n list: 'ms-Breadcrumb-list',\n listItem: 'ms-Breadcrumb-listItem',\n chevron: 'ms-Breadcrumb-chevron',\n overflow: 'ms-Breadcrumb-overflow',\n overflowButton: 'ms-Breadcrumb-overflowButton',\n itemLink: 'ms-Breadcrumb-itemLink',\n item: 'ms-Breadcrumb-item',\n};\n\nconst SingleLineTextStyle: IRawStyle = {\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n};\n\nconst overflowButtonFontSize = 16;\nconst chevronSmallFontSize = 8;\nconst itemLineHeight = 36;\nconst itemFontSize = 18;\n\nconst MinimumScreenSelector = getScreenSelector(0, ScreenWidthMaxSmall);\nconst MediumScreenSelector = getScreenSelector(ScreenWidthMinMedium, ScreenWidthMaxMedium);\n\nexport const getStyles = (props: IBreadcrumbStyleProps): IBreadcrumbStyles => {\n const { className, theme } = props;\n const { palette, semanticColors, fonts } = theme;\n\n const classNames = getGlobalClassNames(GlobalClassNames, theme);\n\n // Tokens\n const itemBackgroundHoveredColor = semanticColors.menuItemBackgroundHovered;\n const itemBackgroundPressedColor = semanticColors.menuItemBackgroundPressed;\n const itemTextColor = palette.neutralSecondary;\n const itemTextFontWeight = FontWeights.regular;\n const itemTextHoveredOrPressedColor = palette.neutralPrimary;\n const itemLastChildTextColor = palette.neutralPrimary;\n const itemLastChildTextFontWeight = FontWeights.semibold;\n const chevronButtonColor = palette.neutralSecondary;\n const overflowButtonColor = palette.neutralSecondary;\n\n const lastChildItemStyles: IRawStyle = {\n fontWeight: itemLastChildTextFontWeight,\n color: itemLastChildTextColor,\n };\n\n const itemStateSelectors = {\n ':hover': {\n color: itemTextHoveredOrPressedColor,\n backgroundColor: itemBackgroundHoveredColor,\n cursor: 'pointer',\n selectors: {\n [HighContrastSelector]: {\n color: 'Highlight',\n },\n },\n },\n ':active': {\n backgroundColor: itemBackgroundPressedColor,\n color: itemTextHoveredOrPressedColor,\n },\n '&:active:hover': {\n color: itemTextHoveredOrPressedColor,\n backgroundColor: itemBackgroundPressedColor,\n },\n '&:active, &:hover, &:active:hover': {\n textDecoration: 'none',\n },\n };\n\n const commonItemStyles: IRawStyle = {\n color: itemTextColor,\n padding: '0 8px',\n lineHeight: itemLineHeight,\n fontSize: itemFontSize,\n fontWeight: itemTextFontWeight,\n };\n\n return {\n root: [\n classNames.root,\n fonts.medium,\n {\n margin: '11px 0 1px',\n },\n className,\n ],\n\n list: [\n classNames.list,\n {\n whiteSpace: 'nowrap',\n padding: 0,\n margin: 0,\n display: 'flex',\n alignItems: 'stretch',\n },\n ],\n\n listItem: [\n classNames.listItem,\n {\n listStyleType: 'none',\n margin: '0',\n padding: '0',\n display: 'flex',\n position: 'relative',\n alignItems: 'center',\n selectors: {\n '&:last-child .ms-Breadcrumb-itemLink': lastChildItemStyles,\n '&:last-child .ms-Breadcrumb-item': lastChildItemStyles,\n },\n },\n ],\n\n chevron: [\n classNames.chevron,\n {\n color: chevronButtonColor,\n fontSize: fonts.small.fontSize,\n selectors: {\n [HighContrastSelector]: {\n color: 'WindowText',\n ...getHighContrastNoAdjustStyle(),\n },\n [MediumScreenSelector]: {\n fontSize: chevronSmallFontSize,\n },\n [MinimumScreenSelector]: {\n fontSize: chevronSmallFontSize,\n },\n },\n },\n ],\n\n overflow: [\n classNames.overflow,\n {\n position: 'relative',\n display: 'flex',\n alignItems: 'center',\n },\n ],\n\n overflowButton: [\n classNames.overflowButton,\n getFocusStyle(theme),\n SingleLineTextStyle,\n {\n fontSize: overflowButtonFontSize,\n color: overflowButtonColor,\n height: '100%',\n cursor: 'pointer',\n selectors: {\n ...itemStateSelectors,\n [MinimumScreenSelector]: {\n padding: '4px 6px',\n },\n [MediumScreenSelector]: {\n fontSize: fonts.mediumPlus.fontSize,\n },\n },\n },\n ],\n\n itemLink: [\n classNames.itemLink,\n getFocusStyle(theme),\n SingleLineTextStyle,\n {\n ...commonItemStyles,\n selectors: {\n ':focus': {\n color: palette.neutralDark,\n },\n [`.${IsFocusVisibleClassName} &:focus`]: {\n outline: `none`,\n },\n ...itemStateSelectors,\n },\n },\n ],\n\n item: [\n classNames.item,\n {\n ...commonItemStyles,\n selectors: {\n ':hover': {\n cursor: 'default',\n },\n },\n },\n ],\n };\n};\n","import * as React from 'react';\nimport { styled } from '../../Utilities';\nimport { BreadcrumbBase } from './Breadcrumb.base';\nimport { getStyles } from './Breadcrumb.styles';\nimport { IBreadcrumbProps, IBreadcrumbStyleProps, IBreadcrumbStyles } from './Breadcrumb.types';\n\nexport const Breadcrumb: React.FunctionComponent = styled<\n IBreadcrumbProps,\n IBreadcrumbStyleProps,\n IBreadcrumbStyles\n>(BreadcrumbBase, getStyles, undefined, { scope: 'Breadcrumb' });\n","import * as React from 'react';\nimport { toMatrix, classNamesFunction, getNativeProps, htmlElementProperties } from '../../Utilities';\nimport { FocusZone } from '../../FocusZone';\nimport { IButtonGridProps, IButtonGridStyleProps, IButtonGridStyles } from './ButtonGrid.types';\nimport { useId } from '@fluentui/react-hooks';\n\nconst getClassNames = classNamesFunction();\n\nexport const ButtonGridBase: React.FunctionComponent = React.forwardRef<\n HTMLElement,\n IButtonGridProps\n>((props, forwardedRef) => {\n const id = useId(undefined, props.id);\n\n const {\n items,\n columnCount,\n onRenderItem,\n // eslint-disable-next-line deprecation/deprecation\n ariaPosInSet = props.positionInSet,\n // eslint-disable-next-line deprecation/deprecation\n ariaSetSize = props.setSize,\n styles,\n doNotContainWithinFocusZone,\n } = props;\n\n const htmlProps = getNativeProps>(\n props,\n htmlElementProperties,\n // avoid applying onBlur on the table if it's being used in the FocusZone\n doNotContainWithinFocusZone ? [] : ['onBlur'],\n );\n\n const classNames = getClassNames(styles!, { theme: props.theme! });\n\n // Array to store the cells in the correct row index\n const rowsOfItems: any[][] = toMatrix(items, columnCount);\n\n const content = (\n \n \n {rowsOfItems.map((rows, rowIndex) => {\n return (\n \n {rows.map((cell, cellIndex: number) => {\n return (\n \n {onRenderItem(cell, cellIndex)}\n \n );\n })}\n \n );\n })}\n \n \n );\n\n return doNotContainWithinFocusZone ? (\n content\n ) : (\n \n {content}\n
    \n );\n});\n","import * as React from 'react';\nimport { styled } from '../../Utilities';\nimport { ButtonGridBase } from './ButtonGrid.base';\nimport { IButtonGridProps, IButtonGridStyleProps, IButtonGridStyles } from './ButtonGrid.types';\nimport { getStyles } from './ButtonGrid.styles';\n\nexport const ButtonGrid: React.FunctionComponent = styled<\n IButtonGridProps,\n IButtonGridStyleProps,\n IButtonGridStyles,\n HTMLElement\n>(ButtonGridBase, getStyles);\nButtonGrid.displayName = 'ButtonGrid';\n","import { IButtonGridStyleProps, IButtonGridStyles } from './ButtonGrid.types';\n\nexport const getStyles = (props: IButtonGridStyleProps): IButtonGridStyles => {\n return {\n root: {\n padding: 2,\n outline: 'none',\n },\n tableCell: {\n padding: 0,\n },\n };\n};\n","/**\n * The days of the week\n * {@docCategory DateTimeUtilities}\n */\nexport enum DayOfWeek {\n Sunday = 0,\n Monday = 1,\n Tuesday = 2,\n Wednesday = 3,\n Thursday = 4,\n Friday = 5,\n Saturday = 6,\n}\n\n/**\n * The months\n * {@docCategory DateTimeUtilities}\n */\nexport enum MonthOfYear {\n January = 0,\n February = 1,\n March = 2,\n April = 3,\n May = 4,\n June = 5,\n July = 6,\n August = 7,\n September = 8,\n October = 9,\n November = 10,\n December = 11,\n}\n\n/**\n * First week of the year settings types\n * {@docCategory DateTimeUtilities}\n */\nexport enum FirstWeekOfYear {\n FirstDay = 0,\n FirstFullWeek = 1,\n FirstFourDayWeek = 2,\n}\n\n/**\n * The supported date range types\n * {@docCategory DateTimeUtilities}\n */\nexport enum DateRangeType {\n Day = 0,\n Week = 1,\n Month = 2,\n WorkWeek = 3,\n}\n\nexport const DAYS_IN_WEEK = 7;\n","import * as React from 'react';\nimport { css } from '../../Utilities';\nimport { IButtonGridCellProps } from './ButtonGridCell.types';\nimport { CommandButton } from '../../Button';\nimport { useId } from '@fluentui/react-hooks';\n\nexport const ButtonGridCell = >(props: IButtonGridCellProps) => {\n const defaultId = useId('gridCell');\n const {\n item,\n id = defaultId,\n className,\n role,\n selected,\n disabled = false,\n onRenderItem,\n cellDisabledStyle,\n cellIsSelectedStyle,\n index,\n label,\n getClassNames,\n onClick,\n onHover,\n onMouseMove,\n onMouseLeave,\n onMouseEnter,\n onFocus,\n } = props;\n\n const handleClick = React.useCallback((): void => {\n if (onClick && !disabled) {\n onClick(item);\n }\n }, [disabled, item, onClick]);\n\n const handleMouseEnter = React.useCallback(\n (ev: React.MouseEvent): void => {\n const didUpdateOnEnter = onMouseEnter && onMouseEnter(ev);\n\n if (!didUpdateOnEnter && onHover && !disabled) {\n onHover(item);\n }\n },\n [disabled, item, onHover, onMouseEnter],\n );\n\n const handleMouseMove = React.useCallback(\n (ev: React.MouseEvent): void => {\n const didUpdateOnMove = onMouseMove && onMouseMove(ev);\n\n if (!didUpdateOnMove && onHover && !disabled) {\n onHover(item);\n }\n },\n [disabled, item, onHover, onMouseMove],\n );\n\n const handleMouseLeave = React.useCallback(\n (ev: React.MouseEvent): void => {\n const didUpdateOnLeave = onMouseLeave && onMouseLeave(ev);\n\n if (!didUpdateOnLeave && onHover && !disabled) {\n onHover();\n }\n },\n [disabled, onHover, onMouseLeave],\n );\n\n const handleFocus = React.useCallback((): void => {\n if (onFocus && !disabled) {\n onFocus(item);\n }\n }, [disabled, item, onFocus]);\n\n return (\n \n {onRenderItem(item)}\n \n );\n};\n","import { IDateGridStrings, IDateFormatting, ICalendarStrings } from './dateFormatting.types';\n\n/**\n * Format date to a day string representation\n * @param date - input date to format\n */\nexport const formatDay = (date: Date) => date.getDate().toString();\n\n/**\n * Format date to a month-day-year string\n * @param date - input date to format\n * @param strings - localized strings\n */\nexport const formatMonthDayYear = (date: Date, strings: IDateGridStrings) =>\n strings.months[date.getMonth()] + ' ' + date.getDate() + ', ' + date.getFullYear();\n\n/**\n * Format date to a month-year string\n * @param date - input date to format\n * @param strings - localized strings\n */\nexport const formatMonthYear = (date: Date, strings: IDateGridStrings) =>\n strings.months[date.getMonth()] + ' ' + date.getFullYear();\n\n/**\n * Format date to a month string\n * @param date - input date to format\n * @param strings - localized strings\n */\nexport const formatMonth = (date: Date, strings: IDateGridStrings) => strings.months[date.getMonth()];\n\n/**\n * Format date to a year string representation\n * @param date - input date to format\n */\nexport const formatYear = (date: Date) => date.getFullYear().toString();\n\nexport const DEFAULT_DATE_GRID_STRINGS: IDateGridStrings = {\n months: [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December',\n ],\n shortMonths: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n days: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\n shortDays: ['S', 'M', 'T', 'W', 'T', 'F', 'S'],\n};\n\nexport const DEFAULT_DATE_FORMATTING: IDateFormatting = {\n formatDay,\n formatMonth,\n formatYear,\n formatMonthDayYear,\n formatMonthYear,\n};\n\nexport const DEFAULT_CALENDAR_STRINGS: ICalendarStrings = {\n ...DEFAULT_DATE_GRID_STRINGS,\n\n goToToday: 'Go to today',\n weekNumberFormatString: 'Week number {0}',\n prevMonthAriaLabel: 'Previous month',\n nextMonthAriaLabel: 'Next month',\n prevYearAriaLabel: 'Previous year',\n nextYearAriaLabel: 'Next year',\n prevYearRangeAriaLabel: 'Previous year range',\n nextYearRangeAriaLabel: 'Next year range',\n closeButtonAriaLabel: 'Close',\n selectedDateFormatString: 'Selected date {0}',\n todayDateFormatString: \"Today's date {0}\",\n monthPickerHeaderAriaLabel: '{0}, change year',\n yearPickerHeaderAriaLabel: '{0}, change month',\n dayMarkedAriaLabel: 'marked',\n};\n","export const TimeConstants = {\n MillisecondsInOneDay: 86400000,\n MillisecondsIn1Sec: 1000,\n MillisecondsIn1Min: 60000,\n MillisecondsIn30Mins: 1800000,\n MillisecondsIn1Hour: 3600000,\n MinutesInOneDay: 1440,\n MinutesInOneHour: 60,\n DaysInOneWeek: 7,\n MonthInOneYear: 12,\n HoursInOneDay: 24,\n};\n","import { DayOfWeek, MonthOfYear, FirstWeekOfYear, DateRangeType } from '../dateValues/dateValues';\nimport { TimeConstants } from '../dateValues/timeConstants';\n\n/**\n * Returns a date offset from the given date by the specified number of days.\n * @param date - The origin date\n * @param days - The number of days to offset. 'days' can be negative.\n * @returns A new Date object offset from the origin date by the given number of days\n */\nexport function addDays(date: Date, days: number): Date {\n const result = new Date(date.getTime());\n result.setDate(result.getDate() + days);\n return result;\n}\n\n/**\n * Returns a date offset from the given date by the specified number of weeks.\n * @param date - The origin date\n * @param weeks - The number of weeks to offset. 'weeks' can be negative.\n * @returns A new Date object offset from the origin date by the given number of weeks\n */\nexport function addWeeks(date: Date, weeks: number): Date {\n return addDays(date, weeks * TimeConstants.DaysInOneWeek);\n}\n\n/**\n * Returns a date offset from the given date by the specified number of months.\n * The method tries to preserve the day-of-month; however, if the new month does not have enough days\n * to contain the original day-of-month, we'll use the last day of the new month.\n * @param date - The origin date\n * @param months - The number of months to offset. 'months' can be negative.\n * @returns A new Date object offset from the origin date by the given number of months\n */\nexport function addMonths(date: Date, months: number): Date {\n let result = new Date(date.getTime());\n const newMonth = result.getMonth() + months;\n result.setMonth(newMonth);\n\n // We want to maintain the same day-of-month, but that may not be possible if the new month doesn't have enough days.\n // Loop until we back up to a day the new month has.\n // (Weird modulo math is due to Javascript's treatment of negative numbers in modulo)\n if (\n result.getMonth() !==\n ((newMonth % TimeConstants.MonthInOneYear) + TimeConstants.MonthInOneYear) % TimeConstants.MonthInOneYear\n ) {\n result = addDays(result, -result.getDate());\n }\n return result;\n}\n\n/**\n * Returns a date offset from the given date by the specified number of years.\n * The method tries to preserve the day-of-month; however, if the new month does not have enough days\n * to contain the original day-of-month, we'll use the last day of the new month.\n * @param date - The origin date\n * @param years - The number of years to offset. 'years' can be negative.\n * @returns A new Date object offset from the origin date by the given number of years\n */\nexport function addYears(date: Date, years: number): Date {\n let result = new Date(date.getTime());\n result.setFullYear(date.getFullYear() + years);\n\n // We want to maintain the same day-of-month, but that may not be possible if the new month doesn't have enough days.\n // Loop until we back up to a day the new month has.\n // (Weird modulo math is due to Javascript's treatment of negative numbers in modulo)\n if (\n result.getMonth() !==\n ((date.getMonth() % TimeConstants.MonthInOneYear) + TimeConstants.MonthInOneYear) % TimeConstants.MonthInOneYear\n ) {\n result = addDays(result, -result.getDate());\n }\n return result;\n}\n\n/**\n * Returns a date that is the first day of the month of the provided date.\n * @param date - The origin date\n * @returns A new Date object with the day set to the first day of the month.\n */\nexport function getMonthStart(date: Date): Date {\n return new Date(date.getFullYear(), date.getMonth(), 1, 0, 0, 0, 0);\n}\n\n/**\n * Returns a date that is the last day of the month of the provided date.\n * @param date - The origin date\n * @returns A new Date object with the day set to the last day of the month.\n */\nexport function getMonthEnd(date: Date): Date {\n return new Date(date.getFullYear(), date.getMonth() + 1, 0, 0, 0, 0, 0);\n}\n\n/**\n * Returns a date that is the first day of the year of the provided date.\n * @param date - The origin date\n * @returns A new Date object with the day set to the first day of the year.\n */\nexport function getYearStart(date: Date): Date {\n return new Date(date.getFullYear(), 0, 1, 0, 0, 0, 0);\n}\n\n/**\n * Returns a date that is the last day of the year of the provided date.\n * @param date - The origin date\n * @returns A new Date object with the day set to the last day of the year.\n */\nexport function getYearEnd(date: Date): Date {\n return new Date(date.getFullYear() + 1, 0, 0, 0, 0, 0, 0);\n}\n\n/**\n * Returns a date that is a copy of the given date, aside from the month changing to the given month.\n * The method tries to preserve the day-of-month; however, if the new month does not have enough days\n * to contain the original day-of-month, we'll use the last day of the new month.\n * @param date - The origin date\n * @param month - The 0-based index of the month to set on the date.\n * @returns A new Date object with the given month set.\n */\nexport function setMonth(date: Date, month: number): Date {\n return addMonths(date, month - date.getMonth());\n}\n\n/**\n * Compares two dates, and returns true if the two dates (not accounting for time-of-day) are equal.\n * @returns True if the two dates represent the same date (regardless of time-of-day), false otherwise.\n */\nexport function compareDates(date1: Date, date2: Date): boolean {\n if (!date1 && !date2) {\n return true;\n } else if (!date1 || !date2) {\n return false;\n } else {\n return (\n date1.getFullYear() === date2.getFullYear() &&\n date1.getMonth() === date2.getMonth() &&\n date1.getDate() === date2.getDate()\n );\n }\n}\n\n/**\n * Compare the date parts of two dates\n * @param date1 - The first date to compare\n * @param date2 - The second date to compare\n * @returns A negative value if date1 is earlier than date2, 0 if the dates are equal, or a positive value\n * if date1 is later than date2.\n */\nexport function compareDatePart(date1: Date, date2: Date): Number {\n return getDatePartHashValue(date1) - getDatePartHashValue(date2);\n}\n\n/**\n * Gets the date range array including the specified date. The date range array is calculated as the list\n * of dates accounting for the specified first day of the week and date range type.\n * @param date - The input date\n * @param dateRangeType - The desired date range type, i.e., day, week, month, etc.\n * @param firstDayOfWeek - The first day of the week.\n * @param workWeekDays - The allowed days in work week. If not provided, assumes all days are allowed.\n * @param daysToSelectInDayView - The number of days to include when using dateRangeType === DateRangeType.Day\n * for multiday view. Defaults to 1\n * @returns An array of dates representing the date range containing the specified date.\n */\nexport function getDateRangeArray(\n date: Date,\n dateRangeType: DateRangeType,\n firstDayOfWeek: DayOfWeek,\n workWeekDays?: DayOfWeek[],\n daysToSelectInDayView: number = 1,\n): Date[] {\n const datesArray: Date[] = [];\n let startDate: Date;\n let endDate = null;\n\n if (!workWeekDays) {\n workWeekDays = [DayOfWeek.Monday, DayOfWeek.Tuesday, DayOfWeek.Wednesday, DayOfWeek.Thursday, DayOfWeek.Friday];\n }\n\n daysToSelectInDayView = Math.max(daysToSelectInDayView, 1);\n\n switch (dateRangeType) {\n case DateRangeType.Day:\n startDate = getDatePart(date);\n endDate = addDays(startDate, daysToSelectInDayView);\n break;\n\n case DateRangeType.Week:\n case DateRangeType.WorkWeek:\n startDate = getStartDateOfWeek(getDatePart(date), firstDayOfWeek);\n endDate = addDays(startDate, TimeConstants.DaysInOneWeek);\n break;\n\n case DateRangeType.Month:\n startDate = new Date(date.getFullYear(), date.getMonth(), 1);\n endDate = addMonths(startDate, 1);\n break;\n\n default:\n throw new Error('Unexpected object: ' + dateRangeType);\n }\n\n // Populate the dates array with the dates in range\n let nextDate = startDate;\n\n do {\n if (dateRangeType !== DateRangeType.WorkWeek) {\n // push all days not in work week view\n datesArray.push(nextDate);\n } else if (workWeekDays.indexOf(nextDate.getDay()) !== -1) {\n datesArray.push(nextDate);\n }\n nextDate = addDays(nextDate, 1);\n } while (!compareDates(nextDate, endDate));\n\n return datesArray;\n}\n\n/**\n * Checks whether the specified date is in the given date range.\n * @param date - The origin date\n * @param dateRange - An array of dates to do the lookup on\n * @returns True if the date matches one of the dates in the specified array, false otherwise.\n */\nexport function isInDateRangeArray(date: Date, dateRange: Date[]): boolean {\n for (const dateInRange of dateRange) {\n if (compareDates(date, dateInRange)) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * Returns the week number for a date.\n * Week numbers are 1 - 52 (53) in a year\n * @param navigatedDate - A date to find the week number for.\n * @param firstDayOfWeek - The first day of the week (0-6, Sunday = 0)\n * @param firstWeekOfYear - The first week of the year (1-2)\n * @returns The weeks number array for the current month.\n */\nexport function getWeekNumbersInMonth(\n weeksInMonth: number,\n firstDayOfWeek: DayOfWeek,\n firstWeekOfYear: FirstWeekOfYear,\n navigatedDate: Date,\n): number[] {\n const selectedYear = navigatedDate.getFullYear();\n const selectedMonth = navigatedDate.getMonth();\n let dayOfMonth = 1;\n const fistDayOfMonth = new Date(selectedYear, selectedMonth, dayOfMonth);\n const endOfFirstWeek =\n dayOfMonth +\n (firstDayOfWeek + TimeConstants.DaysInOneWeek - 1) -\n adjustWeekDay(firstDayOfWeek, fistDayOfMonth.getDay());\n let endOfWeekRange = new Date(selectedYear, selectedMonth, endOfFirstWeek);\n dayOfMonth = endOfWeekRange.getDate();\n\n const weeksArray = [];\n for (let i = 0; i < weeksInMonth; i++) {\n // Get week number for end of week\n weeksArray.push(getWeekNumber(endOfWeekRange, firstDayOfWeek, firstWeekOfYear));\n dayOfMonth += TimeConstants.DaysInOneWeek;\n endOfWeekRange = new Date(selectedYear, selectedMonth, dayOfMonth);\n }\n return weeksArray;\n}\n\n/**\n * Returns the week number for a date.\n * Week numbers are 1 - 52 (53) in a year\n * @param date - A date to find the week number for.\n * @param firstDayOfWeek - The first day of the week (0-6, Sunday = 0)\n * @param firstWeekOfYear - The first week of the year (1-2)\n * @returns The week's number in the year.\n */\nexport function getWeekNumber(date: Date, firstDayOfWeek: DayOfWeek, firstWeekOfYear: FirstWeekOfYear): number {\n // First four-day week of the year - minumum days count\n const fourDayWeek = 4;\n\n switch (firstWeekOfYear) {\n case FirstWeekOfYear.FirstFullWeek:\n return getWeekOfYearFullDays(date, firstDayOfWeek, TimeConstants.DaysInOneWeek);\n\n case FirstWeekOfYear.FirstFourDayWeek:\n return getWeekOfYearFullDays(date, firstDayOfWeek, fourDayWeek);\n\n default:\n return getFirstDayWeekOfYear(date, firstDayOfWeek);\n }\n}\n\n/**\n * Gets the date for the first day of the week based on the given date assuming\n * the specified first day of the week.\n * @param date - The date to find the beginning of the week date for.\n * @returns A new date object representing the first day of the week containing the input date.\n */\nexport function getStartDateOfWeek(date: Date, firstDayOfWeek: DayOfWeek): Date {\n let daysOffset = firstDayOfWeek - date.getDay();\n if (daysOffset > 0) {\n // If first day of week is > date, go 1 week back, to ensure resulting date is in the past.\n daysOffset -= TimeConstants.DaysInOneWeek;\n }\n return addDays(date, daysOffset);\n}\n\n/**\n * Gets the date for the last day of the week based on the given date assuming\n * the specified first day of the week.\n * @param date - The date to find the beginning of the week date for.\n * @returns A new date object representing the first day of the week containing the input date.\n */\nexport function getEndDateOfWeek(date: Date, firstDayOfWeek: DayOfWeek): Date {\n const lastDayOfWeek = firstDayOfWeek - 1 >= 0 ? firstDayOfWeek - 1 : TimeConstants.DaysInOneWeek - 1;\n let daysOffset = lastDayOfWeek - date.getDay();\n if (daysOffset < 0) {\n // If last day of week is < date, go 1 week forward, to ensure resulting date is in the future.\n daysOffset += TimeConstants.DaysInOneWeek;\n }\n return addDays(date, daysOffset);\n}\n\n/**\n * Gets a new date with the time portion zeroed out, i.e., set to midnight\n * @param date - The origin date\n * @returns A new date with the time set to midnight\n */\nfunction getDatePart(date: Date): Date {\n return new Date(date.getFullYear(), date.getMonth(), date.getDate());\n}\n\n/**\n * Helper function to assist in date comparisons\n */\nexport function getDatePartHashValue(date: Date): number {\n // Generate date hash value created as sum of Date (up to 31 = 5 bits), Month (up to 11 = 4 bits) and Year.\n // eslint-disable-next-line no-bitwise\n return date.getDate() + (date.getMonth() << 5) + (date.getFullYear() << 9);\n}\n\n/**\n * Helper function for `getWeekNumber`.\n * Returns week number for a date.\n * @param date - current selected date.\n * @param firstDayOfWeek - The first day of week (0-6, Sunday = 0)\n * @param numberOfFullDays - week settings.\n * @returns The week's number in the year.\n */\nfunction getWeekOfYearFullDays(date: Date, firstDayOfWeek: DayOfWeek, numberOfFullDays: number): number {\n const dayOfYear = getDayOfYear(date) - 1;\n let num = date.getDay() - (dayOfYear % TimeConstants.DaysInOneWeek);\n\n const lastDayOfPrevYear = new Date(date.getFullYear() - 1, MonthOfYear.December, 31);\n const daysInYear = getDayOfYear(lastDayOfPrevYear) - 1;\n\n let num2 = (firstDayOfWeek - num + 2 * TimeConstants.DaysInOneWeek) % TimeConstants.DaysInOneWeek;\n if (num2 !== 0 && num2 >= numberOfFullDays) {\n num2 -= TimeConstants.DaysInOneWeek;\n }\n\n let num3 = dayOfYear - num2;\n if (num3 < 0) {\n num -= daysInYear % TimeConstants.DaysInOneWeek;\n num2 = (firstDayOfWeek - num + 2 * TimeConstants.DaysInOneWeek) % TimeConstants.DaysInOneWeek;\n if (num2 !== 0 && num2 + 1 >= numberOfFullDays) {\n num2 -= TimeConstants.DaysInOneWeek;\n }\n\n num3 = daysInYear - num2;\n }\n\n return Math.floor(num3 / TimeConstants.DaysInOneWeek + 1);\n}\n\n/**\n * Helper function for `getWeekNumber`.\n * Returns week number for a date.\n * @param date - current selected date.\n * @param firstDayOfWeek - The first day of week (0-6, Sunday = 0)\n * @returns The week's number in the year.\n */\nfunction getFirstDayWeekOfYear(date: Date, firstDayOfWeek: number): number {\n const num = getDayOfYear(date) - 1;\n const num2 = date.getDay() - (num % TimeConstants.DaysInOneWeek);\n const num3 = (num2 - firstDayOfWeek + 2 * TimeConstants.DaysInOneWeek) % TimeConstants.DaysInOneWeek;\n\n return Math.floor((num + num3) / TimeConstants.DaysInOneWeek + 1);\n}\n\n/**\n * Helper function for `getWeekNumber`.\n * Returns adjusted week day number when `firstDayOfWeek` is other than Sunday.\n * For Week Day Number comparison checks\n * @param firstDayOfWeek - The first day of week (0-6, Sunday = 0)\n * @param dateWeekDay - shifts number forward to 1 week in case passed as true\n * @returns The day of week adjusted to `firstDayOfWeek`; e.g. when `firstDayOfWeek` is Monday (1),\n * Sunday becomes 7.\n */\nfunction adjustWeekDay(firstDayOfWeek: DayOfWeek, dateWeekDay: DayOfWeek): number {\n return firstDayOfWeek !== DayOfWeek.Sunday && dateWeekDay < firstDayOfWeek\n ? dateWeekDay + TimeConstants.DaysInOneWeek\n : dateWeekDay;\n}\n\n/**\n * Returns the day number for a date in a year:\n * the number of days since January 1st in the particular year.\n * @param date - A date to find the day number for.\n * @returns The day's number in the year.\n */\nfunction getDayOfYear(date: Date): number {\n const month = date.getMonth();\n const year = date.getFullYear();\n let daysUntilDate = 0;\n\n for (let i = 0; i < month; i++) {\n daysUntilDate += daysInMonth(i + 1, year);\n }\n\n daysUntilDate += date.getDate();\n\n return daysUntilDate;\n}\n\n/**\n * Returns the number of days in the month\n * @param month - The month number to target (months 1-12).\n * @param year - The year to target.\n * @returns The number of days in the month.\n */\nfunction daysInMonth(month: number, year: number): number {\n return new Date(year, month, 0).getDate();\n}\n","import { DateRangeType, DayOfWeek } from '../dateValues/dateValues';\nimport { isContiguous } from './isContiguous';\n/**\n * Return corrected date range type, given `dateRangeType` and list of working days.\n * For non-contiguous working days and working week range type, returns general week range type.\n * For other cases returns input date range type.\n * @param dateRangeType - input type of range\n * @param workWeekDays - list of working days in a week\n */\nexport const getDateRangeTypeToUse = (\n dateRangeType: DateRangeType,\n workWeekDays: DayOfWeek[] | undefined,\n firstDayOfWeek: DayOfWeek,\n): DateRangeType => {\n if (workWeekDays && dateRangeType === DateRangeType.WorkWeek) {\n if (!isContiguous(workWeekDays, true, firstDayOfWeek) || workWeekDays.length === 0) {\n return DateRangeType.Week;\n }\n }\n\n return dateRangeType;\n};\n","import { DayOfWeek } from '../dateValues/dateValues';\n\n/**\n * Returns whether provided week days are contiguous.\n * @param days - list of days in a week\n * @param isSingleWeek - decides whether the contiguous logic applies across week boundaries or not\n * @param firstDayOfWeek - decides which day of week is the first one in the order.\n */\nexport const isContiguous = (days: DayOfWeek[], isSingleWeek: boolean, firstDayOfWeek: DayOfWeek): boolean => {\n const daySet = new Set(days);\n let amountOfNoNeighbors = 0;\n for (const day of days) {\n const nextDay = (day + 1) % 7;\n if (!(daySet.has(nextDay) && (!isSingleWeek || firstDayOfWeek !== nextDay))) {\n amountOfNoNeighbors++;\n }\n }\n\n // In case the full week is provided, then each day has a neighbor\n //, otherwise the last day does not have a neighbor.\n return amountOfNoNeighbors < 2;\n};\n","import { compareDatePart } from '../dateMath/dateMath';\n\n/**\n * Generates a list of dates, bounded by min and max dates\n * @param dateRange - input date range\n * @param minDate - min date to limit the range\n * @param maxDate - max date to limit the range\n */\nexport const getBoundedDateRange = (dateRange: Date[], minDate?: Date, maxDate?: Date): Date[] => {\n let boundedDateRange = [...dateRange];\n if (minDate) {\n boundedDateRange = boundedDateRange.filter((date: Date) => compareDatePart(date, minDate as Date) >= 0);\n }\n if (maxDate) {\n boundedDateRange = boundedDateRange.filter((date: Date) => compareDatePart(date, maxDate as Date) <= 0);\n }\n return boundedDateRange;\n};\n","import { IRestrictedDatesOptions } from './dateGrid.types';\nimport { compareDatePart } from '../dateMath/dateMath';\n\n/**\n * Checks if `date` happens earlier than min date\n * @param date - date to check\n * @param options - object with min date to check against\n */\nexport const isBeforeMinDate = (date: Date, options: IRestrictedDatesOptions): boolean => {\n const { minDate } = options;\n return minDate ? compareDatePart(minDate, date) >= 1 : false;\n};\n","import { IRestrictedDatesOptions } from './dateGrid.types';\nimport { compareDatePart } from '../dateMath/dateMath';\n\n/**\n * Checks if `date` happens later than max date\n * @param date - date to check\n * @param options - object with max date to check against\n */\nexport const isAfterMaxDate = (date: Date, options: IRestrictedDatesOptions): boolean => {\n const { maxDate } = options;\n return maxDate ? compareDatePart(date, maxDate) >= 1 : false;\n};\n","import { IRestrictedDatesOptions } from './dateGrid.types';\nimport { compareDates } from '../dateMath/dateMath';\nimport { isBeforeMinDate } from './isBeforeMinDate';\nimport { isAfterMaxDate } from './isAfterMaxDate';\n\n/**\n * Checks if `date` falls into the restricted `options`\n * @param date - date to check\n * @param options - restriction options (min date, max date and list of restricted dates)\n */\nexport const isRestrictedDate = (date: Date, options: IRestrictedDatesOptions): boolean => {\n const { restrictedDates, minDate, maxDate } = options;\n if (!restrictedDates && !minDate && !maxDate) {\n return false;\n }\n const inRestrictedDates = restrictedDates && restrictedDates.some((rd: Date) => compareDates(rd, date));\n return inRestrictedDates || isBeforeMinDate(date, options) || isAfterMaxDate(date, options);\n};\n","import * as React from 'react';\nimport { css, findIndex } from '@fluentui/utilities';\nimport { DAYS_IN_WEEK } from '@fluentui/date-time-utilities';\nimport { ICalendarDayGridProps, ICalendarDayGridStyles } from './CalendarDayGrid.types';\nimport { IProcessedStyleSet } from '@fluentui/style-utilities';\nimport { IDayInfo } from './CalendarDayGrid.base';\n\nexport interface ICalendarDayMonthHeaderRowProps extends ICalendarDayGridProps {\n weeks: IDayInfo[][];\n classNames: IProcessedStyleSet;\n}\n\nexport const CalendarMonthHeaderRow: React.FunctionComponent = props => {\n const { showWeekNumbers, strings, firstDayOfWeek, allFocusable, weeksToShow, weeks, classNames } = props;\n const dayLabels = strings.shortDays.slice();\n const firstOfMonthIndex = findIndex(weeks![1], (day: IDayInfo) => day.originalDate.getDate() === 1);\n if (weeksToShow === 1 && firstOfMonthIndex >= 0) {\n // if we only show one week, replace the header with short month name\n const firstOfMonthIndexOffset = (firstOfMonthIndex + firstDayOfWeek) % DAYS_IN_WEEK;\n dayLabels[firstOfMonthIndexOffset] = strings.shortMonths[weeks![1][firstOfMonthIndex].originalDate.getMonth()];\n }\n\n return (\n \n {showWeekNumbers && }\n {dayLabels.map((val: string, index: number) => {\n const i = (index + firstDayOfWeek) % DAYS_IN_WEEK;\n const label = index === firstOfMonthIndex ? strings.days[i] + ' ' + dayLabels[i] : strings.days[i];\n return (\n \n {dayLabels[i]}\n \n );\n })}\n \n );\n};\n","import { IAvailableDateOptions } from './dateGrid.types';\n\nimport { isRestrictedDate } from './isRestrictedDate';\n\nimport { isAfterMaxDate } from './isAfterMaxDate';\n\nimport { isBeforeMinDate } from './isBeforeMinDate';\nimport { compareDatePart, addDays } from '../dateMath/dateMath';\n\n/**\n * Returns closest available date given the restriction `options`, or undefined otherwise\n * @param options - list of search options\n */\nexport const findAvailableDate = (options: IAvailableDateOptions): Date | undefined => {\n const { targetDate, initialDate, direction, ...restrictedDateOptions } = options;\n let availableDate = targetDate;\n // if the target date is available, return it immediately\n if (!isRestrictedDate(targetDate, restrictedDateOptions)) {\n return targetDate;\n }\n\n while (\n compareDatePart(initialDate, availableDate) !== 0 &&\n isRestrictedDate(availableDate, restrictedDateOptions) &&\n !isAfterMaxDate(availableDate, restrictedDateOptions) &&\n !isBeforeMinDate(availableDate, restrictedDateOptions)\n ) {\n availableDate = addDays(availableDate, direction);\n }\n\n if (compareDatePart(initialDate, availableDate) !== 0 && !isRestrictedDate(availableDate, restrictedDateOptions)) {\n return availableDate;\n }\n\n return undefined;\n};\n","import * as React from 'react';\nimport { KeyCodes, css, getRTLSafeKeyCode } from '@fluentui/utilities';\nimport {\n addDays,\n addWeeks,\n compareDates,\n findAvailableDate,\n IAvailableDateOptions,\n DateRangeType,\n} from '@fluentui/date-time-utilities';\nimport { IDayInfo } from './CalendarDayGrid.base';\nimport { ICalendarGridRowProps } from './CalendarGridRow';\n\nexport interface ICalendarGridDayCellProps extends ICalendarGridRowProps {\n day: IDayInfo;\n dayIndex: number;\n}\n\nexport const CalendarGridDayCell: React.FunctionComponent = props => {\n const {\n navigatedDate,\n dateTimeFormatter,\n allFocusable,\n strings,\n activeDescendantId,\n navigatedDayRef,\n calculateRoundedStyles,\n weeks,\n classNames,\n day,\n dayIndex,\n weekIndex,\n weekCorners,\n ariaHidden,\n customDayCellRef,\n dateRangeType,\n daysToSelectInDayView,\n onSelectDate,\n restrictedDates,\n minDate,\n maxDate,\n onNavigateDate,\n getDayInfosInRangeOfDay,\n getRefsFromDayInfos,\n } = props;\n const cornerStyle = weekCorners?.[weekIndex + '_' + dayIndex] ?? '';\n const isNavigatedDate = compareDates(navigatedDate, day.originalDate);\n\n const navigateMonthEdge = (ev: React.KeyboardEvent, date: Date): void => {\n let targetDate: Date | undefined = undefined;\n let direction = 1; // by default search forward\n\n // eslint-disable-next-line deprecation/deprecation\n if (ev.which === KeyCodes.up) {\n targetDate = addWeeks(date, -1);\n direction = -1;\n // eslint-disable-next-line deprecation/deprecation\n } else if (ev.which === KeyCodes.down) {\n targetDate = addWeeks(date, 1);\n // eslint-disable-next-line deprecation/deprecation\n } else if (ev.which === getRTLSafeKeyCode(KeyCodes.left)) {\n targetDate = addDays(date, -1);\n direction = -1;\n // eslint-disable-next-line deprecation/deprecation\n } else if (ev.which === getRTLSafeKeyCode(KeyCodes.right)) {\n targetDate = addDays(date, 1);\n }\n\n if (!targetDate) {\n // if we couldn't find a target date at all, do nothing\n return;\n }\n\n const findAvailableDateOptions: IAvailableDateOptions = {\n initialDate: date,\n targetDate,\n direction,\n restrictedDates,\n minDate,\n maxDate,\n };\n\n // target date is restricted, search in whatever direction until finding the next possible date,\n // stopping at boundaries\n let nextDate = findAvailableDate(findAvailableDateOptions);\n\n if (!nextDate) {\n // if no dates available in initial direction, try going backwards\n findAvailableDateOptions.direction = -direction;\n nextDate = findAvailableDate(findAvailableDateOptions);\n }\n\n // if the nextDate is still inside the same focusZone area, let the focusZone handle setting the focus so we\n // don't jump the view unnecessarily\n const isInCurrentView =\n weeks &&\n nextDate &&\n weeks.slice(1, weeks.length - 1).some((week: IDayInfo[]) => {\n return week.some((dayToCompare: IDayInfo) => {\n return compareDates(dayToCompare.originalDate, nextDate!);\n });\n });\n if (isInCurrentView) {\n return;\n }\n\n // else, fire navigation on the date to change the view to show it\n if (nextDate) {\n onNavigateDate(nextDate, true);\n ev.preventDefault();\n }\n };\n\n const onMouseOverDay = (ev: React.MouseEvent) => {\n const dayInfos = getDayInfosInRangeOfDay(day);\n const dayRefs = getRefsFromDayInfos(dayInfos);\n\n dayRefs.forEach((dayRef: HTMLElement, index: number) => {\n if (dayRef) {\n dayRef.classList.add('ms-CalendarDay-hoverStyle');\n if (\n !dayInfos[index].isSelected &&\n dateRangeType === DateRangeType.Day &&\n daysToSelectInDayView &&\n daysToSelectInDayView > 1\n ) {\n // remove the static classes first to overwrite them\n dayRef.classList.remove(\n classNames.bottomLeftCornerDate!,\n classNames.bottomRightCornerDate!,\n classNames.topLeftCornerDate!,\n classNames.topRightCornerDate!,\n );\n\n const classNamesToAdd = calculateRoundedStyles(\n classNames,\n false,\n false,\n index > 0,\n index < dayRefs.length - 1,\n ).trim();\n if (classNamesToAdd) {\n dayRef.classList.add(...classNamesToAdd.split(' '));\n }\n }\n }\n });\n };\n\n const onMouseDownDay = (ev: React.MouseEvent) => {\n const dayInfos = getDayInfosInRangeOfDay(day);\n const dayRefs = getRefsFromDayInfos(dayInfos);\n\n dayRefs.forEach((dayRef: HTMLElement) => {\n if (dayRef) {\n dayRef.classList.add('ms-CalendarDay-pressedStyle');\n }\n });\n };\n\n const onMouseUpDay = (ev: React.MouseEvent) => {\n const dayInfos = getDayInfosInRangeOfDay(day);\n const dayRefs = getRefsFromDayInfos(dayInfos);\n\n dayRefs.forEach((dayRef: HTMLElement) => {\n if (dayRef) {\n dayRef.classList.remove('ms-CalendarDay-pressedStyle');\n }\n });\n };\n\n const onMouseOutDay = (ev: React.MouseEvent) => {\n const dayInfos = getDayInfosInRangeOfDay(day);\n const dayRefs = getRefsFromDayInfos(dayInfos);\n\n dayRefs.forEach((dayRef: HTMLElement, index: number) => {\n if (dayRef) {\n dayRef.classList.remove('ms-CalendarDay-hoverStyle');\n dayRef.classList.remove('ms-CalendarDay-pressedStyle');\n if (\n !dayInfos[index].isSelected &&\n dateRangeType === DateRangeType.Day &&\n daysToSelectInDayView &&\n daysToSelectInDayView > 1\n ) {\n const classNamesToAdd = calculateRoundedStyles(\n classNames,\n false,\n false,\n index > 0,\n index < dayRefs.length - 1,\n ).trim();\n if (classNamesToAdd) {\n dayRef.classList.remove(...classNamesToAdd.split(' '));\n }\n }\n }\n });\n };\n\n const onDayKeyDown = (ev: React.KeyboardEvent): void => {\n // eslint-disable-next-line deprecation/deprecation\n if (ev.which === KeyCodes.enter) {\n onSelectDate?.(day.originalDate);\n } else {\n navigateMonthEdge(ev, day.originalDate);\n }\n };\n\n let ariaLabel =\n day.originalDate.getDate() +\n ', ' +\n strings.months[day.originalDate.getMonth()] +\n ', ' +\n day.originalDate.getFullYear();\n\n if (day.isMarked) {\n ariaLabel = ariaLabel + ', ' + strings.dayMarkedAriaLabel;\n }\n\n return (\n {\n customDayCellRef?.(element, day.originalDate, classNames);\n day.setRef(element);\n }}\n aria-hidden={ariaHidden}\n onClick={day.isInBounds && !ariaHidden ? day.onSelected : undefined}\n onMouseOver={!ariaHidden ? onMouseOverDay : undefined}\n onMouseDown={!ariaHidden ? onMouseDownDay : undefined}\n onMouseUp={!ariaHidden ? onMouseUpDay : undefined}\n onMouseOut={!ariaHidden ? onMouseOutDay : undefined}\n role=\"presentation\" // the child \n \n );\n};\n","import * as React from 'react';\nimport { format } from '@fluentui/utilities';\nimport { getWeekNumbersInMonth } from '@fluentui/date-time-utilities';\nimport { ICalendarDayGridProps, ICalendarDayGridStyles } from './CalendarDayGrid.types';\nimport { IProcessedStyleSet } from '@fluentui/style-utilities';\nimport { CalendarGridDayCell } from './CalendarGridDayCell';\nimport { IDayInfo, IWeekCorners } from './CalendarDayGrid.base';\n\nexport interface ICalendarGridRowProps extends ICalendarDayGridProps {\n classNames: IProcessedStyleSet;\n weeks: IDayInfo[][];\n week: IDayInfo[];\n weekIndex: number;\n weekCorners?: IWeekCorners;\n ariaHidden?: boolean;\n rowClassName?: string;\n ariaRole?: string;\n navigatedDayRef: React.RefObject;\n activeDescendantId: string;\n calculateRoundedStyles(\n classNames: IProcessedStyleSet,\n above: boolean,\n below: boolean,\n left: boolean,\n right: boolean,\n ): string;\n getDayInfosInRangeOfDay(dayToCompare: IDayInfo): IDayInfo[];\n getRefsFromDayInfos(dayInfosInRange: IDayInfo[]): (HTMLElement | null)[];\n}\n\nexport const CalendarGridRow: React.FunctionComponent = props => {\n const {\n classNames,\n week,\n weeks,\n weekIndex,\n rowClassName,\n ariaRole,\n showWeekNumbers,\n firstDayOfWeek,\n firstWeekOfYear,\n navigatedDate,\n strings,\n } = props;\n const weekNumbers = showWeekNumbers\n ? getWeekNumbersInMonth(weeks!.length, firstDayOfWeek, firstWeekOfYear, navigatedDate)\n : null;\n\n const titleString = weekNumbers\n ? strings.weekNumberFormatString && format(strings.weekNumberFormatString, weekNumbers[weekIndex])\n : '';\n\n return (\n \n {showWeekNumbers && weekNumbers && (\n \n {weekNumbers[weekIndex]}\n \n )}\n {week.map((day: IDayInfo, dayIndex: number) => (\n \n ))}\n \n );\n};\n","import * as React from 'react';\nimport { getRTL, classNamesFunction } from '@fluentui/utilities';\nimport { FocusZone } from '../../FocusZone';\nimport {\n getDateRangeArray,\n getDayGrid,\n getBoundedDateRange,\n isRestrictedDate,\n IDay,\n DAYS_IN_WEEK,\n compareDates,\n DateRangeType,\n DayOfWeek,\n} from '@fluentui/date-time-utilities';\nimport { ICalendarDayGridProps, ICalendarDayGridStyleProps, ICalendarDayGridStyles } from './CalendarDayGrid.types';\nimport { IProcessedStyleSet } from '@fluentui/style-utilities';\nimport { usePrevious, useId } from '@fluentui/react-hooks';\nimport { CalendarMonthHeaderRow } from './CalendarMonthHeaderRow';\nimport { CalendarGridRow } from './CalendarGridRow';\n\nconst getClassNames = classNamesFunction();\n\nexport interface IWeekCorners {\n [key: string]: string;\n}\n\nexport interface IDayInfo extends IDay {\n onSelected: () => void;\n setRef(element: HTMLElement | null): void;\n}\n\nfunction useDayRefs() {\n const daysRef = React.useRef>({});\n\n const getSetRefCallback = (dayKey: string) => (element: HTMLElement | null) => {\n if (element === null) {\n delete daysRef.current[dayKey];\n } else {\n daysRef.current[dayKey] = element;\n }\n };\n\n return [daysRef, getSetRefCallback] as const;\n}\n\nfunction useWeeks(\n props: ICalendarDayGridProps,\n onSelectDate: (date: Date) => void,\n getSetRefCallback: (dayKey: string) => (element: HTMLElement | null) => void,\n): IDayInfo[][] {\n /**\n * Initial parsing of the given props to generate IDayInfo two dimensional array, which contains a representation\n * of every day in the grid. Convenient for helping with conversions between day refs and Date objects in callbacks.\n */\n const weeks = React.useMemo((): IDayInfo[][] => {\n const weeksGrid = getDayGrid(props);\n\n const firstVisibleDay = weeksGrid[1][0].originalDate;\n const lastVisibleDay = weeksGrid[weeksGrid.length - 1][6].originalDate;\n const markedDays = props.getMarkedDays?.(firstVisibleDay, lastVisibleDay) || [];\n\n /**\n * Weeks is a 2D array. Weeks[0] contains the last week of the prior range,\n * Weeks[weeks.length - 1] contains first week of next range. These are for transition states.\n *\n * Weeks[1... weeks.length - 2] contains the actual visible data\n */\n const returnValue: IDayInfo[][] = [];\n\n for (let weekIndex = 0; weekIndex < weeksGrid.length; weekIndex++) {\n const week: IDayInfo[] = [];\n for (let dayIndex = 0; dayIndex < DAYS_IN_WEEK; dayIndex++) {\n const day = weeksGrid[weekIndex][dayIndex];\n const dayInfo: IDayInfo = {\n onSelected: () => onSelectDate(day.originalDate),\n setRef: getSetRefCallback(day.key),\n ...day,\n isMarked: day.isMarked || markedDays?.some(markedDay => compareDates(day.originalDate, markedDay)),\n };\n\n week.push(dayInfo);\n }\n returnValue.push(week);\n }\n\n return returnValue;\n // TODO: this is missing deps on getSetRefCallback and onSelectDate (and depending on the entire\n // props object may not be a good idea due to likely frequent mutation). It would be easy to\n // fix getSetRefCallback to not mutate every render, but onSelectDate is passed down from\n // Calendar and trying to fix it requires a huge cascade of changes.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props]);\n\n return weeks;\n}\n\n/**\n * Hook to determine whether to animate the CalendarDayGrid forwards or backwards\n * @returns true if the grid should animate backwards; false otherwise\n */\nfunction useAnimateBackwards(weeks: IDayInfo[][]): boolean | undefined {\n const previousNavigatedDate = usePrevious(weeks[0][0].originalDate);\n\n if (!previousNavigatedDate || previousNavigatedDate.getTime() === weeks[0][0].originalDate.getTime()) {\n return undefined;\n } else if (previousNavigatedDate <= weeks[0][0].originalDate) {\n return false;\n } else {\n return true;\n }\n}\n\nfunction useWeekCornerStyles(props: ICalendarDayGridProps) {\n /**\n *\n * Section for setting the rounded corner styles on individual day cells. Individual day cells need different\n * corners to be rounded depending on which date range type and where the cell is located in the current grid.\n * If we just round all of the corners, there isn't a good overlap and we get gaps between contiguous day boxes\n * in Edge browser.\n *\n */\n const getWeekCornerStyles = (\n classNames: IProcessedStyleSet,\n initialWeeks: IDayInfo[][],\n ): IWeekCorners => {\n const weekCornersStyled: { [key: string]: string } = {};\n /* need to handle setting all of the corners on arbitrarily shaped blobs\n __\n __|A |\n |B |C |__\n |D |E |F |\n\n in this case, A needs top left rounded, top right rounded\n B needs top left rounded\n C doesn't need any rounding\n D needs bottom left rounded\n E doesn't need any rounding\n F needs top right rounding\n */\n\n // cut off the animation transition weeks\n const weeks = initialWeeks.slice(1, initialWeeks.length - 1);\n\n // if there's an item above, lose both top corners. Item below, lose both bottom corners, etc.\n weeks.forEach((week: IDayInfo[], weekIndex: number) => {\n week.forEach((day: IDayInfo, dayIndex: number) => {\n const above =\n weeks[weekIndex - 1] &&\n weeks[weekIndex - 1][dayIndex] &&\n isInSameHoverRange(\n weeks[weekIndex - 1][dayIndex].originalDate,\n day.originalDate,\n weeks[weekIndex - 1][dayIndex].isSelected,\n day.isSelected,\n );\n const below =\n weeks[weekIndex + 1] &&\n weeks[weekIndex + 1][dayIndex] &&\n isInSameHoverRange(\n weeks[weekIndex + 1][dayIndex].originalDate,\n day.originalDate,\n weeks[weekIndex + 1][dayIndex].isSelected,\n day.isSelected,\n );\n const left =\n weeks[weekIndex][dayIndex - 1] &&\n isInSameHoverRange(\n weeks[weekIndex][dayIndex - 1].originalDate,\n day.originalDate,\n weeks[weekIndex][dayIndex - 1].isSelected,\n day.isSelected,\n );\n const right =\n weeks[weekIndex][dayIndex + 1] &&\n isInSameHoverRange(\n weeks[weekIndex][dayIndex + 1].originalDate,\n day.originalDate,\n weeks[weekIndex][dayIndex + 1].isSelected,\n day.isSelected,\n );\n\n const style = calculateRoundedStyles(classNames, above, below, left, right);\n\n weekCornersStyled[weekIndex + '_' + dayIndex] = style;\n });\n });\n\n return weekCornersStyled;\n };\n\n const calculateRoundedStyles = (\n classNames: IProcessedStyleSet,\n above: boolean,\n below: boolean,\n left: boolean,\n right: boolean,\n ): string => {\n let style = '';\n const roundedTopLeft = !above && !left;\n const roundedTopRight = !above && !right;\n const roundedBottomLeft = !below && !left;\n const roundedBottomRight = !below && !right;\n\n if (roundedTopLeft) {\n style = getRTL()\n ? style.concat(classNames.topRightCornerDate + ' ')\n : style.concat(classNames.topLeftCornerDate + ' ');\n }\n if (roundedTopRight) {\n style = getRTL()\n ? style.concat(classNames.topLeftCornerDate + ' ')\n : style.concat(classNames.topRightCornerDate + ' ');\n }\n if (roundedBottomLeft) {\n style = getRTL()\n ? style.concat(classNames.bottomRightCornerDate + ' ')\n : style.concat(classNames.bottomLeftCornerDate + ' ');\n }\n if (roundedBottomRight) {\n style = getRTL()\n ? style.concat(classNames.bottomLeftCornerDate + ' ')\n : style.concat(classNames.bottomRightCornerDate + ' ');\n }\n\n return style;\n };\n\n const isInSameHoverRange = (date1: Date, date2: Date, date1Selected: boolean, date2Selected: boolean): boolean => {\n const { dateRangeType, firstDayOfWeek, workWeekDays } = props;\n\n // The hover state looks weird with non-contiguous days in work week view. In work week, show week hover state\n const dateRangeHoverType = dateRangeType === DateRangeType.WorkWeek ? DateRangeType.Week : dateRangeType;\n\n // we do not pass daysToSelectInDayView because we handle setting those styles dyanamically in onMouseOver\n const dateRange = getDateRangeArray(date1, dateRangeHoverType, firstDayOfWeek, workWeekDays);\n\n if (date1Selected !== date2Selected) {\n // if one is selected and the other is not, they can't be in the same range\n return false;\n } else if (date1Selected && date2Selected) {\n // if they're both selected at the same time they must be in the same range\n return true;\n }\n\n // otherwise, both must be unselected, so check the dateRange\n return dateRange.filter((date: Date) => date.getTime() === date2.getTime()).length > 0;\n };\n\n return [getWeekCornerStyles, calculateRoundedStyles] as const;\n}\n\nexport const CalendarDayGridBase: React.FunctionComponent = props => {\n const navigatedDayRef = React.useRef(null);\n\n const activeDescendantId = useId();\n\n const onSelectDate = (selectedDate: Date): void => {\n const { firstDayOfWeek, minDate, maxDate, workWeekDays, daysToSelectInDayView, restrictedDates } = props;\n const restrictedDatesOptions = { minDate, maxDate, restrictedDates };\n\n let dateRange = getDateRangeArray(selectedDate, dateRangeType, firstDayOfWeek, workWeekDays, daysToSelectInDayView);\n dateRange = getBoundedDateRange(dateRange, minDate, maxDate);\n\n dateRange = dateRange.filter((d: Date) => {\n return !isRestrictedDate(d, restrictedDatesOptions);\n });\n\n props.onSelectDate?.(selectedDate, dateRange);\n props.onNavigateDate?.(selectedDate, true);\n };\n\n const [daysRef, getSetRefCallback] = useDayRefs();\n\n const weeks = useWeeks(props, onSelectDate, getSetRefCallback);\n const animateBackwards = useAnimateBackwards(weeks);\n const [getWeekCornerStyles, calculateRoundedStyles] = useWeekCornerStyles(props);\n\n React.useImperativeHandle(\n props.componentRef,\n () => ({\n focus() {\n navigatedDayRef.current?.focus?.();\n },\n }),\n [],\n );\n\n /**\n *\n * Section for setting hover/pressed styles. Because we want arbitrary blobs of days to be selectable, to support\n * highlighting every day in the month for month view, css :hover style isn't enough, so we need mouse callbacks\n * to set classnames on all relevant child refs to apply the styling\n *\n */\n const getDayInfosInRangeOfDay = (dayToCompare: IDayInfo): IDayInfo[] => {\n // The hover state looks weird with non-contiguous days in work week view. In work week, show week hover state\n const dateRangeHoverType = getDateRangeTypeToUse(props.dateRangeType, props.workWeekDays);\n\n // gets all the dates for the given date range type that are in the same date range as the given day\n const dateRange = getDateRangeArray(\n dayToCompare.originalDate,\n dateRangeHoverType,\n props.firstDayOfWeek,\n props.workWeekDays,\n props.daysToSelectInDayView,\n ).map((date: Date) => date.getTime());\n\n // gets all the day refs for the given dates\n const dayInfosInRange = weeks.reduce((accumulatedValue: IDayInfo[], currentWeek: IDayInfo[]) => {\n return accumulatedValue.concat(\n currentWeek.filter((weekDay: IDayInfo) => dateRange.indexOf(weekDay.originalDate.getTime()) !== -1),\n );\n }, []);\n\n return dayInfosInRange;\n };\n\n const getRefsFromDayInfos = (dayInfosInRange: IDayInfo[]): (HTMLElement | null)[] => {\n let dayRefs: (HTMLElement | null)[] = [];\n dayRefs = dayInfosInRange.map((dayInfo: IDayInfo) => daysRef.current[dayInfo.key]);\n\n return dayRefs;\n };\n\n const {\n styles,\n theme,\n className,\n dateRangeType,\n showWeekNumbers,\n labelledBy,\n lightenDaysOutsideNavigatedMonth,\n animationDirection,\n } = props;\n\n const classNames = getClassNames(styles, {\n theme: theme!,\n className: className,\n dateRangeType: dateRangeType,\n showWeekNumbers: showWeekNumbers,\n lightenDaysOutsideNavigatedMonth:\n lightenDaysOutsideNavigatedMonth === undefined ? true : lightenDaysOutsideNavigatedMonth,\n animationDirection: animationDirection,\n animateBackwards: animateBackwards,\n });\n\n // When the month is highlighted get the corner dates so that styles can be added to them\n const weekCorners: IWeekCorners = getWeekCornerStyles(classNames, weeks!);\n const partialWeekProps = {\n weeks,\n navigatedDayRef,\n calculateRoundedStyles,\n activeDescendantId,\n classNames,\n weekCorners,\n getDayInfosInRangeOfDay,\n getRefsFromDayInfos,\n } as const;\n\n return (\n \n \n \n \n \n {weeks!.slice(1, weeks!.length - 1).map((week: IDayInfo[], weekIndex: number) => (\n \n ))}\n \n \n \n \n );\n};\nCalendarDayGridBase.displayName = 'CalendarDayGridBase';\n\n/**\n * When given work week, if the days are non-contiguous, the hover states look really weird. So for non-contiguous\n * work weeks, we'll just show week view instead.\n */\nfunction getDateRangeTypeToUse(dateRangeType: DateRangeType, workWeekDays: DayOfWeek[] | undefined): DateRangeType {\n if (workWeekDays && dateRangeType === DateRangeType.WorkWeek) {\n const sortedWWDays = workWeekDays.slice().sort();\n let isContiguous = true;\n for (let i = 1; i < sortedWWDays.length; i++) {\n if (sortedWWDays[i] !== sortedWWDays[i - 1] + 1) {\n isContiguous = false;\n break;\n }\n }\n\n if (!isContiguous || workWeekDays.length === 0) {\n return DateRangeType.Week;\n }\n }\n\n return dateRangeType;\n}\n","import { addDays, compareDates, getDateRangeArray, isInDateRangeArray } from '../dateMath/dateMath';\nimport { DAYS_IN_WEEK } from '../dateValues/dateValues';\nimport { IDay, IDayGridOptions } from './dateGrid.types';\nimport { getDateRangeTypeToUse } from './getDateRangeTypeToUse';\nimport { getBoundedDateRange } from './getBoundedDateRange';\nimport { isRestrictedDate } from './isRestrictedDate';\n\n/**\n * Generates a grid of days, given the `options`.\n * Returns one additional week at the begining from the previous range\n * and one at the end from the future range\n * @param options - parameters to specify date related restrictions for the resulting grid\n */\nexport const getDayGrid = (options: IDayGridOptions): IDay[][] => {\n const {\n selectedDate,\n dateRangeType,\n firstDayOfWeek,\n today,\n minDate,\n maxDate,\n weeksToShow,\n workWeekDays,\n daysToSelectInDayView,\n restrictedDates,\n markedDays,\n } = options;\n const restrictedDateOptions = { minDate, maxDate, restrictedDates };\n\n const todaysDate = today || new Date();\n\n const navigatedDate = options.navigatedDate ? options.navigatedDate : todaysDate;\n\n let date;\n if (weeksToShow && weeksToShow <= 4) {\n // if showing less than a full month, just use date == navigatedDate\n date = new Date(navigatedDate.getFullYear(), navigatedDate.getMonth(), navigatedDate.getDate());\n } else {\n date = new Date(navigatedDate.getFullYear(), navigatedDate.getMonth(), 1);\n }\n const weeks: IDay[][] = [];\n\n // Cycle the date backwards to get to the first day of the week.\n while (date.getDay() !== firstDayOfWeek) {\n date.setDate(date.getDate() - 1);\n }\n\n // add the transition week as last week of previous range\n date = addDays(date, -DAYS_IN_WEEK);\n\n // a flag to indicate whether all days of the week are outside the month\n let isAllDaysOfWeekOutOfMonth = false;\n\n // in work week view if the days aren't contiguous we use week view instead\n const selectedDateRangeType = getDateRangeTypeToUse(dateRangeType, workWeekDays, firstDayOfWeek);\n\n let selectedDates: Date[] = [];\n\n if (selectedDate) {\n selectedDates = getDateRangeArray(\n selectedDate,\n selectedDateRangeType,\n firstDayOfWeek,\n workWeekDays,\n daysToSelectInDayView,\n );\n selectedDates = getBoundedDateRange(selectedDates, minDate, maxDate);\n }\n\n let shouldGetWeeks = true;\n\n for (let weekIndex = 0; shouldGetWeeks; weekIndex++) {\n const week: IDay[] = [];\n\n isAllDaysOfWeekOutOfMonth = true;\n\n for (let dayIndex = 0; dayIndex < DAYS_IN_WEEK; dayIndex++) {\n const originalDate = new Date(date.getTime());\n const dayInfo: IDay = {\n key: date.toString(),\n date: date.getDate().toString(),\n originalDate: originalDate,\n isInMonth: date.getMonth() === navigatedDate.getMonth(),\n isToday: compareDates(todaysDate, date),\n isSelected: isInDateRangeArray(date, selectedDates),\n isInBounds: !isRestrictedDate(date, restrictedDateOptions),\n isMarked: markedDays?.some(markedDay => compareDates(originalDate, markedDay)) || false,\n };\n\n week.push(dayInfo);\n\n if (dayInfo.isInMonth) {\n isAllDaysOfWeekOutOfMonth = false;\n }\n\n date.setDate(date.getDate() + 1);\n }\n\n // We append the condition of the loop depending upon the showSixWeeksByDefault prop.\n shouldGetWeeks = weeksToShow ? weekIndex < weeksToShow + 1 : !isAllDaysOfWeekOutOfMonth || weekIndex === 0;\n\n // we don't check shouldGetWeeks before pushing because we want to add one extra week for transition state\n weeks.push(week);\n }\n\n return weeks;\n};\n","import * as React from 'react';\nimport { IRefObject, IBaseProps, IStyleFunctionOrObject } from '@fluentui/utilities';\nimport { IStyle, ITheme } from '@fluentui/style-utilities';\nimport { ICalendarDayProps } from './CalendarDay/CalendarDay.types';\nimport { ICalendarMonthProps } from './CalendarMonth/CalendarMonth.types';\nimport {\n DayOfWeek,\n FirstWeekOfYear,\n DateRangeType,\n ICalendarStrings,\n IDateFormatting,\n} from '@fluentui/date-time-utilities';\n\n/**\n * {@docCategory Calendar}\n */\nexport interface ICalendar {\n /** Sets focus to the selected date. */\n focus: () => void;\n}\n\n/**\n * {@docCategory Calendar}\n */\nexport interface ICalendarProps extends IBaseProps, React.RefAttributes {\n /**\n * Optional callback to access the ICalendar interface. Use this instead of ref for accessing\n * the public methods and properties of the component.\n */\n componentRef?: IRefObject;\n\n /**\n * Customized styles for the calendar component\n */\n styles?: IStyleFunctionOrObject;\n\n /**\n * Customized props for the calendar day\n */\n calendarDayProps?: Partial;\n\n /**\n * Customized props for the calendar month\n */\n calendarMonthProps?: Partial;\n\n /**\n * Theme provided by High-Order Component.\n */\n theme?: ITheme;\n\n /**\n * Optional class name to add to the root element.\n */\n className?: string;\n\n /**\n * Callback for when a date is selected\n * @param date - The date the user selected\n * @param selectedDateRangeArray - The resultant list of dates that are selected based on the date range type set\n * for the component.\n */\n onSelectDate?: (date: Date, selectedDateRangeArray?: Date[]) => void;\n\n /**\n * Callback for when calendar is closed\n */\n onDismiss?: () => void;\n\n /**\n * Default value of the Calendar, if any\n */\n value?: Date;\n\n /**\n * Value of today. If unspecified, current time in client machine will be used.\n */\n today?: Date;\n\n /**\n * The date range type indicating how many days should be selected as the user\n * selects days\n * @defaultValue DateRangeType.Day\n */\n dateRangeType?: DateRangeType;\n\n /**\n * The first day of the week for your locale.\n * @defaultvalue DayOfWeek.Sunday\n */\n firstDayOfWeek?: DayOfWeek;\n\n /**\n * Defines when the first week of the year should start.\n * @defaultvalue FirstWeekOfYear.FirstDay\n */\n firstWeekOfYear?: FirstWeekOfYear;\n\n /**\n * Whether the month picker is shown beside the day picker or hidden.\n * @defaultvalue true\n */\n isMonthPickerVisible?: boolean;\n\n /**\n * Whether the day picker is shown beside the month picker or hidden.\n * @defaultvalue true\n */\n isDayPickerVisible?: boolean;\n\n /**\n * Show month picker on top of date picker when visible.\n * @defaultvalue false\n */\n showMonthPickerAsOverlay?: boolean;\n\n /**\n * Whether the \"Go to today\" link should be shown or not\n */\n showGoToToday?: boolean;\n\n /**\n * Whether the calendar should show the week number (weeks 1 to 53) before each week row\n * @defaultvalue false\n */\n showWeekNumbers?: boolean;\n\n /**\n * Localized strings to use in the Calendar\n */\n strings?: ICalendarStrings;\n\n /**\n * Custom navigation icons.\n */\n navigationIcons?: ICalendarNavigationIcons;\n\n /**\n * Apply additional formatting to dates, for example localized date formatting.\n */\n dateTimeFormatter?: IDateFormatting;\n\n /**\n * If set the Calendar will not allow navigation to or selection of a date earlier than this value.\n */\n minDate?: Date;\n\n /**\n * If set the Calendar will not allow navigation to or selection of a date later than this value.\n */\n maxDate?: Date;\n\n /**\n * If set the Calendar will not allow selection of dates in this array.\n */\n restrictedDates?: Date[];\n\n /**\n * Whether the calendar should show 6 weeks by default.\n * @defaultvalue false\n */\n showSixWeeksByDefault?: boolean;\n\n /**\n * The days that are selectable when `dateRangeType` is `WorkWeek`.\n * If `dateRangeType` is not `WorkWeek` this property does nothing.\n * @defaultvalue [Monday,Tuesday,Wednesday,Thursday,Friday]\n */\n workWeekDays?: DayOfWeek[];\n\n /**\n * Whether the month picker should highlight the current month\n * @defaultvalue false\n */\n highlightCurrentMonth?: boolean;\n\n /**\n * Whether the month picker should highlight the selected month\n * @defaultvalue false\n */\n highlightSelectedMonth?: boolean;\n\n /**\n * Whether the close button should be shown or not\n * @defaultvalue false\n */\n showCloseButton?: boolean;\n\n /**\n * Allows all dates and buttons to be focused, including disabled ones\n * @defaultvalue false\n */\n allFocusable?: boolean;\n}\n\n/**\n * {@docCategory Calendar}\n */\nexport interface ICalendarNavigationIcons {\n /**\n * FabricMDL2Icons name for the left navigation icon. Previous default: ChevronLeft.\n * @defaultvalue 'Up'\n */\n leftNavigation?: string;\n\n /**\n * FabricMDL2Icons name for the right navigation icon. Previous default: ChevronRight.\n * @defaultvalue 'Down'\n */\n rightNavigation?: string;\n\n /**\n * Close icon\n * @defaultvalue 'CalculatorMultiply'\n */\n closeIcon?: string;\n}\n\n/**\n * @deprecated Use `ICalendarNavigationIcons`\n */\nexport type ICalendarIconStrings = ICalendarNavigationIcons;\n\n/**\n * @deprecated Use `IDateFormatting`\n */\nexport type ICalendarFormatDateCallbacks = IDateFormatting;\n\n/**\n * {@docCategory Calendar}\n */\nexport interface ICalendarStyleProps {\n /**\n * Theme provided by higher-order component.\n */\n theme: ITheme;\n\n /**\n * Custom CSS class for the calendar.\n */\n className?: string;\n\n /**\n * Whether the month picker is visible\n */\n isMonthPickerVisible?: boolean;\n\n /**\n * Whether the day picker is visible\n */\n isDayPickerVisible?: boolean;\n\n /**\n * Whether only month picker is shown\n */\n monthPickerOnly?: boolean;\n\n /**\n * Whether the month picker is overlaid on the day picker\n */\n showMonthPickerAsOverlay?: boolean;\n\n /**\n * @deprecated Use `overlaidWithButton`\n */\n overlayedWithButton?: boolean;\n\n /**\n * Whether the month and day picker are overlaid and the 'go to today' button is shown\n */\n overlaidWithButton?: boolean;\n\n /**\n * Whether the go to today button is shown\n */\n showGoToToday?: boolean;\n\n /**\n * Whether the week numbers are shown\n */\n showWeekNumbers?: boolean;\n}\n\n/**\n * {@docCategory Calendar}\n */\nexport interface ICalendarStyles {\n /**\n * Style for the root element.\n */\n root: IStyle;\n\n divider: IStyle;\n\n goTodayButton: IStyle;\n\n monthPickerWrapper: IStyle;\n\n liveRegion: IStyle;\n}\n\n/**\n * {@docCategory Calendar}\n */\nexport enum AnimationDirection {\n /**\n * Grid will transition out and in horizontally\n */\n Horizontal,\n\n /**\n * Grid will transition out and in vertically\n */\n Vertical,\n}\n","import { ICalendarDayGridStyleProps, ICalendarDayGridStyles } from './CalendarDayGrid.types';\nimport {\n FontSizes,\n FontWeights,\n getFocusStyle,\n getGlobalClassNames,\n AnimationStyles,\n IRawStyle,\n keyframes,\n HighContrastSelector,\n getHighContrastNoAdjustStyle,\n} from '@fluentui/style-utilities';\nimport { DateRangeType } from '@fluentui/date-time-utilities';\nimport { AnimationDirection } from '../Calendar/Calendar.types';\n\nconst GlobalClassNames = {\n hoverStyle: 'ms-CalendarDay-hoverStyle',\n pressedStyle: 'ms-CalendarDay-pressedStyle',\n dayIsTodayStyle: 'ms-CalendarDay-dayIsToday',\n daySelectedStyle: 'ms-CalendarDay-daySelected',\n};\n\nconst transitionRowDisappearance = keyframes({\n '100%': {\n width: 0,\n height: 0,\n overflow: 'hidden',\n },\n '99.9%': {\n width: '100%',\n height: 28,\n overflow: 'visible',\n },\n '0%': {\n width: '100%',\n height: 28,\n overflow: 'visible',\n },\n});\n\nexport const styles = (props: ICalendarDayGridStyleProps): ICalendarDayGridStyles => {\n const {\n theme,\n dateRangeType,\n showWeekNumbers,\n lightenDaysOutsideNavigatedMonth,\n animateBackwards,\n animationDirection,\n } = props;\n const { palette } = theme;\n\n const classNames = getGlobalClassNames(GlobalClassNames, theme);\n\n let rowAnimationStyle: IRawStyle = {};\n if (animateBackwards !== undefined) {\n if (animationDirection === AnimationDirection.Horizontal) {\n rowAnimationStyle = animateBackwards ? AnimationStyles.slideRightIn20 : AnimationStyles.slideLeftIn20;\n } else {\n rowAnimationStyle = animateBackwards ? AnimationStyles.slideDownIn20 : AnimationStyles.slideUpIn20;\n }\n }\n\n let firstTransitionRowAnimationStyle: IRawStyle = {};\n let lastTransitionRowAnimationStyle: IRawStyle = {};\n if (animateBackwards !== undefined) {\n if (animationDirection !== AnimationDirection.Horizontal) {\n firstTransitionRowAnimationStyle = animateBackwards ? { animationName: '' } : AnimationStyles.slideUpOut20;\n lastTransitionRowAnimationStyle = animateBackwards ? AnimationStyles.slideDownOut20 : { animationName: '' };\n }\n }\n\n const disabledStyle = {\n selectors: {\n '&, &:disabled, & button': {\n color: palette.neutralTertiaryAlt,\n pointerEvents: 'none',\n },\n },\n };\n\n return {\n wrapper: {\n paddingBottom: 10,\n },\n table: [\n {\n textAlign: 'center',\n borderCollapse: 'collapse',\n borderSpacing: '0',\n tableLayout: 'fixed',\n fontSize: 'inherit',\n marginTop: 4,\n width: 196,\n position: 'relative',\n paddingBottom: 10,\n },\n showWeekNumbers && {\n width: 226,\n },\n ],\n dayCell: {\n margin: 0,\n padding: 0,\n width: 28,\n height: 28,\n lineHeight: 28,\n fontSize: FontSizes.small,\n fontWeight: FontWeights.regular,\n color: palette.neutralPrimary,\n cursor: 'pointer',\n position: 'relative',\n selectors: {\n [HighContrastSelector]: {\n color: 'WindowText',\n backgroundColor: 'Window',\n zIndex: 0,\n ...getHighContrastNoAdjustStyle(),\n },\n ['&.' + classNames.hoverStyle]: {\n backgroundColor: palette.neutralLighter,\n selectors: {\n [HighContrastSelector]: {\n zIndex: 3,\n backgroundColor: 'Window',\n outline: '1px solid Highlight',\n },\n },\n },\n ['&.' + classNames.pressedStyle]: {\n backgroundColor: palette.neutralLight,\n selectors: {\n [HighContrastSelector]: {\n borderColor: 'Highlight',\n color: 'Highlight',\n backgroundColor: 'Window',\n },\n },\n },\n ['&.' + classNames.pressedStyle + '.' + classNames.hoverStyle]: {\n selectors: {\n [HighContrastSelector]: {\n backgroundColor: 'Window',\n outline: '1px solid Highlight',\n },\n },\n },\n },\n },\n daySelected: [\n dateRangeType !== DateRangeType.Month && {\n backgroundColor: palette.neutralLight + '!important',\n selectors: {\n ['&:hover, &.' + classNames.hoverStyle + ', &.' + classNames.pressedStyle]: {\n backgroundColor: palette.neutralLight + '!important',\n [HighContrastSelector]: {\n color: 'HighlightText!important',\n background: 'Highlight!important',\n },\n },\n [HighContrastSelector]: {\n background: 'Highlight!important',\n color: 'HighlightText!important',\n borderColor: 'Highlight!important',\n ...getHighContrastNoAdjustStyle(),\n },\n },\n },\n ],\n weekRow: rowAnimationStyle,\n weekDayLabelCell: AnimationStyles.fadeIn200,\n weekNumberCell: {\n margin: 0,\n padding: 0,\n borderRight: '1px solid',\n borderColor: palette.neutralLight,\n backgroundColor: palette.neutralLighterAlt,\n color: palette.neutralSecondary,\n boxSizing: 'border-box',\n width: 28,\n height: 28,\n fontWeight: FontWeights.regular,\n fontSize: FontSizes.small,\n },\n dayOutsideBounds: disabledStyle,\n dayOutsideNavigatedMonth: lightenDaysOutsideNavigatedMonth && {\n color: palette.neutralSecondary,\n fontWeight: FontWeights.regular,\n },\n dayButton: [\n getFocusStyle(theme, { inset: -2 }),\n {\n width: 24,\n height: 24,\n lineHeight: 24,\n fontSize: FontSizes.small,\n fontWeight: 'inherit',\n borderRadius: 2,\n border: 'none',\n padding: 0,\n color: 'inherit',\n backgroundColor: 'transparent',\n cursor: 'pointer',\n overflow: 'visible', // explicitly specify for IE11\n selectors: {\n span: {\n height: 'inherit',\n lineHeight: 'inherit',\n },\n },\n },\n ],\n dayIsToday: {\n backgroundColor: palette.themePrimary + '!important',\n borderRadius: '100%',\n color: palette.white + '!important',\n fontWeight: (FontWeights.semibold + '!important') as 'initial',\n selectors: {\n [HighContrastSelector]: {\n background: 'WindowText!important',\n color: 'Window!important',\n borderColor: 'WindowText!important',\n ...getHighContrastNoAdjustStyle(),\n },\n },\n },\n firstTransitionWeek: {\n position: 'absolute',\n opacity: 0,\n width: 0,\n height: 0,\n overflow: 'hidden',\n ...firstTransitionRowAnimationStyle,\n animationName: firstTransitionRowAnimationStyle.animationName + ',' + transitionRowDisappearance,\n },\n lastTransitionWeek: {\n position: 'absolute',\n opacity: 0,\n width: 0,\n height: 0,\n overflow: 'hidden',\n marginTop: -28,\n ...lastTransitionRowAnimationStyle,\n animationName: lastTransitionRowAnimationStyle.animationName + ',' + transitionRowDisappearance,\n },\n dayMarker: {\n width: 4,\n height: 4,\n backgroundColor: palette.neutralSecondary,\n borderRadius: '100%',\n bottom: 1,\n left: 0,\n right: 0,\n position: 'absolute',\n margin: 'auto',\n selectors: {\n ['.' + classNames.dayIsTodayStyle + ' &']: {\n backgroundColor: palette.white,\n selectors: {\n [HighContrastSelector]: {\n backgroundColor: 'Window',\n },\n },\n },\n ['.' + classNames.daySelectedStyle + ' &']: {\n selectors: {\n [HighContrastSelector]: {\n backgroundColor: 'HighlightText',\n },\n },\n },\n [HighContrastSelector]: {\n backgroundColor: 'WindowText',\n ...getHighContrastNoAdjustStyle(),\n },\n },\n },\n topRightCornerDate: {\n borderTopRightRadius: '2px',\n },\n topLeftCornerDate: {\n borderTopLeftRadius: '2px',\n },\n bottomRightCornerDate: {\n borderBottomRightRadius: '2px',\n },\n bottomLeftCornerDate: {\n borderBottomLeftRadius: '2px',\n },\n };\n};\n","import * as React from 'react';\nimport { CalendarDayGridBase } from './CalendarDayGrid.base';\nimport { styles } from './CalendarDayGrid.styles';\nimport { styled } from '../../Utilities';\nimport { ICalendarDayGridProps } from './CalendarDayGrid.types';\n\nexport const CalendarDayGrid: React.FunctionComponent = styled(\n CalendarDayGridBase,\n styles,\n undefined,\n { scope: 'CalendarDayGrid' },\n);\n","import * as React from 'react';\nimport { KeyCodes, css, classNamesFunction, format } from '@fluentui/utilities';\nimport { Icon } from '../../../Icon';\nimport { addMonths, compareDatePart, getMonthStart, getMonthEnd } from '@fluentui/date-time-utilities';\nimport { ICalendarDayProps, ICalendarDayStyleProps, ICalendarDayStyles } from './CalendarDay.types';\nimport { IProcessedStyleSet } from '@fluentui/style-utilities';\nimport { CalendarDayGrid } from '../../CalendarDayGrid/CalendarDayGrid';\nimport { ICalendarDayGrid } from '../../CalendarDayGrid/CalendarDayGrid.types';\nimport { useId } from '@fluentui/react-hooks';\n\nconst getClassNames = classNamesFunction();\n\nexport const CalendarDayBase: React.FunctionComponent = props => {\n const dayGrid = React.useRef(null);\n\n React.useImperativeHandle(\n props.componentRef,\n () => ({\n focus() {\n dayGrid.current?.focus?.();\n },\n }),\n [],\n );\n\n const {\n strings,\n navigatedDate,\n dateTimeFormatter,\n styles,\n theme,\n className,\n onHeaderSelect,\n showSixWeeksByDefault,\n minDate,\n maxDate,\n restrictedDates,\n onNavigateDate,\n showWeekNumbers,\n dateRangeType,\n animationDirection,\n } = props;\n const dayPickerId = useId();\n const monthAndYearId = useId();\n\n const classNames = getClassNames(styles, {\n theme: theme!,\n className: className,\n headerIsClickable: !!onHeaderSelect,\n showWeekNumbers: showWeekNumbers,\n animationDirection: animationDirection,\n });\n\n const monthAndYear = dateTimeFormatter.formatMonthYear(navigatedDate, strings);\n const HeaderButtonComponentType = onHeaderSelect ? 'button' : 'div';\n const headerAriaLabel = strings.yearPickerHeaderAriaLabel\n ? format(strings.yearPickerHeaderAriaLabel, monthAndYear)\n : monthAndYear;\n\n return (\n
    \n
    \n \n {monthAndYear}\n \n \n
    \n \n
    \n );\n};\nCalendarDayBase.displayName = 'CalendarDayBase';\n\ninterface ICalendarDayNavigationButtonsProps extends ICalendarDayProps {\n classNames: IProcessedStyleSet;\n dayPickerId: string;\n}\n\nconst CalendarDayNavigationButtons = (props: ICalendarDayNavigationButtonsProps): JSX.Element => {\n const {\n minDate,\n maxDate,\n navigatedDate,\n allFocusable,\n strings,\n navigationIcons,\n showCloseButton,\n classNames,\n dayPickerId,\n onNavigateDate,\n onDismiss,\n } = props;\n\n const onSelectNextMonth = (): void => {\n onNavigateDate(addMonths(navigatedDate, 1), false);\n };\n\n const onSelectPrevMonth = (): void => {\n onNavigateDate(addMonths(navigatedDate, -1), false);\n };\n const leftNavigationIcon = navigationIcons.leftNavigation;\n const rightNavigationIcon = navigationIcons.rightNavigation;\n const closeNavigationIcon = navigationIcons.closeIcon;\n\n // determine if previous/next months are in bounds\n const prevMonthInBounds = minDate ? compareDatePart(minDate, getMonthStart(navigatedDate)) < 0 : true;\n const nextMonthInBounds = maxDate ? compareDatePart(getMonthEnd(navigatedDate), maxDate) < 0 : true;\n\n // use aria-disabled instead of disabled so focus is not lost\n // when a prev/next button becomes disabled after being clicked\n return (\n
    \n \n \n \n \n \n \n {showCloseButton && (\n \n \n \n )}\n
    \n );\n};\nCalendarDayNavigationButtons.displayName = 'CalendarDayNavigationButtons';\n\nconst onButtonKeyDown = (\n callback?: () => void,\n): ((ev: React.KeyboardEvent) => void) => (\n ev: React.KeyboardEvent,\n) => {\n // eslint-disable-next-line deprecation/deprecation\n switch (ev.which) {\n case KeyCodes.enter:\n callback?.();\n break;\n }\n};\n","import * as React from 'react';\nimport { CalendarDayBase } from './CalendarDay.base';\nimport { styles } from './CalendarDay.styles';\nimport { styled } from '../../../Utilities';\nimport { ICalendarDayProps } from './CalendarDay.types';\n\nexport const CalendarDay: React.FunctionComponent = styled(CalendarDayBase, styles, undefined, {\n scope: 'CalendarDay',\n});\n","import { ICalendarDayStyleProps, ICalendarDayStyles } from './CalendarDay.types';\nimport { normalize, FontSizes, FontWeights, getFocusStyle, AnimationStyles } from '@fluentui/style-utilities';\n\nexport const styles = (props: ICalendarDayStyleProps): ICalendarDayStyles => {\n const { className, theme, headerIsClickable, showWeekNumbers } = props;\n const { palette } = theme;\n\n const disabledStyle = {\n selectors: {\n '&, &:disabled, & button': {\n color: palette.neutralTertiaryAlt,\n pointerEvents: 'none',\n },\n },\n };\n\n return {\n root: [\n normalize,\n {\n width: 196,\n padding: 12,\n boxSizing: 'content-box',\n },\n showWeekNumbers && {\n width: 226,\n },\n className,\n ],\n header: {\n position: 'relative',\n display: 'inline-flex',\n height: 28,\n lineHeight: 44,\n width: '100%',\n },\n monthAndYear: [\n getFocusStyle(theme, { inset: 1 }),\n {\n ...AnimationStyles.fadeIn200,\n alignItems: 'center',\n fontSize: FontSizes.medium,\n fontFamily: 'inherit',\n color: palette.neutralPrimary,\n display: 'inline-block',\n flexGrow: 1,\n fontWeight: FontWeights.semibold,\n padding: '0 4px 0 10px',\n border: 'none',\n backgroundColor: 'transparent',\n borderRadius: 2,\n lineHeight: 28,\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n textAlign: 'left',\n textOverflow: 'ellipsis',\n },\n headerIsClickable && {\n selectors: {\n '&:hover': {\n cursor: 'pointer',\n background: palette.neutralLight,\n color: palette.black,\n },\n },\n },\n ],\n monthComponents: {\n display: 'inline-flex',\n alignSelf: 'flex-end',\n },\n headerIconButton: [\n getFocusStyle(theme, { inset: -1 }),\n {\n width: 28,\n height: 28,\n display: 'block',\n textAlign: 'center',\n lineHeight: 28,\n fontSize: FontSizes.small,\n fontFamily: 'inherit',\n color: palette.neutralPrimary,\n borderRadius: 2,\n position: 'relative',\n backgroundColor: 'transparent',\n border: 'none',\n padding: 0,\n overflow: 'visible', // explicitly specify for IE11\n selectors: {\n '&:hover': {\n color: palette.neutralDark,\n backgroundColor: palette.neutralLight,\n cursor: 'pointer',\n outline: '1px solid transparent',\n },\n },\n },\n ],\n disabledStyle: disabledStyle,\n };\n};\n","import { ICalendarPickerStyleProps, ICalendarPickerStyles } from './CalendarPicker.types';\nimport {\n normalize,\n FontSizes,\n FontWeights,\n getFocusStyle,\n IRawStyle,\n AnimationStyles,\n HighContrastSelector,\n getHighContrastNoAdjustStyle,\n} from '@fluentui/style-utilities';\nimport { AnimationDirection } from '../Calendar.types';\n\nexport const getStyles = (props: ICalendarPickerStyleProps): ICalendarPickerStyles => {\n const {\n className,\n theme,\n hasHeaderClickCallback,\n highlightCurrent,\n highlightSelected,\n animateBackwards,\n animationDirection,\n } = props;\n const { palette } = theme;\n\n let animationStyle: IRawStyle = {};\n if (animateBackwards !== undefined) {\n if (animationDirection === AnimationDirection.Horizontal) {\n animationStyle = animateBackwards ? AnimationStyles.slideRightIn20 : AnimationStyles.slideLeftIn20;\n } else {\n animationStyle = animateBackwards ? AnimationStyles.slideDownIn20 : AnimationStyles.slideUpIn20;\n }\n }\n\n const headerAnimationStyle: IRawStyle = animateBackwards !== undefined ? AnimationStyles.fadeIn200 : {};\n\n return {\n root: [\n normalize,\n {\n width: 196,\n padding: 12,\n boxSizing: 'content-box',\n overflow: 'hidden',\n },\n className,\n ],\n headerContainer: {\n display: 'flex',\n },\n currentItemButton: [\n getFocusStyle(theme, { inset: -1 }),\n {\n ...headerAnimationStyle,\n fontSize: FontSizes.medium,\n fontWeight: FontWeights.semibold,\n fontFamily: 'inherit',\n textAlign: 'left',\n backgroundColor: 'transparent',\n flexGrow: 1,\n padding: '0 4px 0 10px',\n border: 'none',\n overflow: 'visible', // explicitly specify for IE11\n },\n hasHeaderClickCallback && {\n selectors: {\n '&:hover, &:active': {\n cursor: !hasHeaderClickCallback ? 'default' : 'pointer',\n color: palette.neutralDark,\n outline: '1px solid transparent',\n backgroundColor: palette.neutralLight,\n },\n },\n },\n ],\n navigationButtonsContainer: {\n display: 'flex',\n alignItems: 'center',\n },\n navigationButton: [\n getFocusStyle(theme, { inset: -1 }),\n {\n fontFamily: 'inherit',\n width: 28,\n minWidth: 28,\n height: 28,\n minHeight: 28,\n display: 'block',\n textAlign: 'center',\n lineHeight: 28,\n fontSize: FontSizes.small,\n color: palette.neutralPrimary,\n borderRadius: 2,\n position: 'relative',\n backgroundColor: 'transparent',\n border: 'none',\n padding: 0,\n overflow: 'visible', // explicitly specify for IE11\n selectors: {\n '&:hover': {\n color: palette.neutralDark,\n cursor: 'pointer',\n outline: '1px solid transparent',\n backgroundColor: palette.neutralLight,\n },\n },\n },\n ],\n gridContainer: {\n marginTop: 4,\n },\n buttonRow: {\n ...animationStyle,\n marginBottom: 16,\n selectors: {\n '&:nth-child(n + 3)': {\n marginBottom: 0,\n },\n },\n },\n itemButton: [\n getFocusStyle(theme, { inset: -1 }),\n {\n width: 40,\n height: 40,\n minWidth: 40,\n minHeight: 40,\n lineHeight: 40,\n fontSize: FontSizes.small,\n fontFamily: 'inherit',\n padding: 0,\n margin: '0 12px 0 0',\n color: palette.neutralPrimary,\n backgroundColor: 'transparent',\n border: 'none',\n borderRadius: 2,\n overflow: 'visible', // explicitly specify for IE11\n selectors: {\n '&:nth-child(4n + 4)': {\n marginRight: 0,\n },\n '&:nth-child(n + 9)': {\n marginBottom: 0,\n },\n '& div': {\n fontWeight: FontWeights.regular,\n },\n '&:hover': {\n color: palette.neutralDark,\n backgroundColor: palette.neutralLight,\n cursor: 'pointer',\n outline: '1px solid transparent',\n selectors: {\n [HighContrastSelector]: {\n background: 'Window',\n color: 'WindowText',\n outline: '1px solid Highlight',\n ...getHighContrastNoAdjustStyle(),\n },\n },\n },\n '&:active': {\n backgroundColor: palette.themeLight,\n selectors: {\n [HighContrastSelector]: {\n background: 'Window',\n color: 'Highlight',\n ...getHighContrastNoAdjustStyle(),\n },\n },\n },\n },\n },\n ],\n current: highlightCurrent\n ? {\n color: palette.white,\n backgroundColor: palette.themePrimary,\n selectors: {\n '& div': {\n fontWeight: FontWeights.semibold,\n },\n '&:hover': {\n backgroundColor: palette.themePrimary,\n selectors: {\n [HighContrastSelector]: {\n backgroundColor: 'WindowText',\n color: 'Window',\n ...getHighContrastNoAdjustStyle(),\n },\n },\n },\n [HighContrastSelector]: {\n backgroundColor: 'WindowText',\n color: 'Window',\n ...getHighContrastNoAdjustStyle(),\n },\n },\n }\n : {},\n selected: highlightSelected\n ? {\n color: palette.neutralPrimary,\n backgroundColor: palette.themeLight,\n fontWeight: FontWeights.semibold,\n selectors: {\n '& div': {\n fontWeight: FontWeights.semibold,\n },\n '&:hover, &:active': {\n backgroundColor: palette.themeLight,\n selectors: {\n [HighContrastSelector]: {\n color: 'Window',\n background: 'Highlight',\n ...getHighContrastNoAdjustStyle(),\n },\n },\n },\n [HighContrastSelector]: {\n background: 'Highlight',\n color: 'Window',\n ...getHighContrastNoAdjustStyle(),\n },\n },\n }\n : {},\n disabled: {\n selectors: {\n '&, &:disabled, & button': {\n color: palette.neutralTertiaryAlt,\n pointerEvents: 'none',\n },\n },\n },\n };\n};\n","import { ICalendarMonthStyleProps, ICalendarMonthStyles } from './CalendarMonth.types';\nimport { getStyles as getPickerStyles } from '../CalendarPicker/CalendarPicker.styles';\n\nexport const getStyles = (props: ICalendarMonthStyleProps): ICalendarMonthStyles => {\n /* Return styles from the base class.\n * If this component has extra styles not in the base, apply them here i.e.:\n * const myStyle: IStyle = {\n * display: \"block\"\n * }; *\n * return {...getPickerStyles(props), myStyle};\n */\n\n return getPickerStyles(props);\n};\n","import { ICalendarNavigationIcons } from './Calendar.types';\nimport { ICalendarStrings, DEFAULT_CALENDAR_STRINGS } from '@fluentui/date-time-utilities';\n\nexport const defaultCalendarStrings: ICalendarStrings = DEFAULT_CALENDAR_STRINGS;\n\n/**\n * @deprecated Use `defaultCalendarStrings`\n */\nexport const defaultDayPickerStrings = defaultCalendarStrings;\n\nexport const defaultCalendarNavigationIcons: ICalendarNavigationIcons = {\n leftNavigation: 'Up',\n rightNavigation: 'Down',\n closeIcon: 'CalculatorMultiply',\n};\n","import * as React from 'react';\nimport {\n ICalendarYearStrings,\n ICalendarYearProps,\n ICalendarYearRange,\n ICalendarYearHeaderProps,\n ICalendarYearStyleProps,\n ICalendarYearStyles,\n} from './CalendarYear.types';\nimport { KeyCodes, getRTL, classNamesFunction, css, format, IRefObject } from '../../../Utilities';\nimport { FocusZone } from '../../../FocusZone';\nimport { Icon } from '../../../Icon';\nimport { usePrevious } from '@fluentui/react-hooks';\nimport { defaultCalendarNavigationIcons } from '../defaults';\n\nconst getClassNames = classNamesFunction();\n\nconst CELL_COUNT = 12;\nconst CELLS_PER_ROW = 4;\n\nconst DefaultCalendarYearStrings: ICalendarYearStrings = {\n prevRangeAriaLabel: undefined,\n nextRangeAriaLabel: undefined,\n};\ninterface ICalendarYearGrid {\n focus(): void;\n}\n\ninterface ICalendarYearGridCellProps extends ICalendarYearProps {\n year: number;\n current?: boolean;\n selected?: boolean;\n disabled?: boolean;\n onSelectYear?: (year: number) => void;\n onRenderYear?: (year: number) => React.ReactNode;\n}\n\ninterface ICalendarYearGridProps extends ICalendarYearProps, ICalendarYearRange {\n selectedYear?: number;\n animateBackwards?: boolean;\n componentRef?: IRefObject;\n}\n\ninterface ICalendarYearGridCell {\n focus(): void;\n}\n\nconst CalendarYearGridCell: React.FunctionComponent = props => {\n const {\n styles,\n theme,\n className,\n highlightCurrentYear,\n highlightSelectedYear,\n year,\n selected,\n disabled,\n componentRef,\n onSelectYear,\n onRenderYear,\n } = props;\n\n const buttonRef = React.useRef(null);\n\n React.useImperativeHandle(\n componentRef,\n () => ({\n focus() {\n buttonRef.current?.focus?.();\n },\n }),\n [],\n );\n\n const onClick = () => {\n onSelectYear?.(year);\n };\n\n const onKeyDown = (ev: React.KeyboardEvent) => {\n // eslint-disable-next-line deprecation/deprecation\n if (ev.which === KeyCodes.enter) {\n onSelectYear?.(year);\n }\n };\n\n const classNames = getClassNames(styles, {\n theme: theme!,\n className: className,\n highlightCurrent: highlightCurrentYear,\n highlightSelected: highlightSelectedYear,\n });\n\n return (\n \n {onRenderYear?.(year) ?? year}\n \n );\n};\nCalendarYearGridCell.displayName = 'CalendarYearGridCell';\n\nconst CalendarYearGrid: React.FunctionComponent = props => {\n const {\n styles,\n theme,\n className,\n fromYear,\n toYear,\n animationDirection,\n animateBackwards,\n minYear,\n maxYear,\n onSelectYear,\n selectedYear,\n componentRef,\n } = props;\n\n const selectedCellRef = React.useRef(null);\n const currentCellRef = React.useRef(null);\n\n React.useImperativeHandle(\n componentRef,\n () => ({\n focus() {\n (selectedCellRef.current || currentCellRef.current)?.focus?.();\n },\n }),\n [],\n );\n\n const renderCell = (yearToRender: number): React.ReactNode => {\n const selected = yearToRender === selectedYear;\n const disabled =\n (minYear !== undefined && yearToRender < minYear) || (maxYear !== undefined && yearToRender > maxYear);\n const current = yearToRender === new Date().getFullYear();\n\n return (\n \n );\n };\n\n const classNames = getClassNames(styles, {\n theme: theme!,\n className: className,\n animateBackwards: animateBackwards,\n animationDirection: animationDirection,\n });\n\n const onRenderYear = (value: number) => {\n return props.onRenderYear?.(value) ?? value;\n };\n\n const gridAriaLabel = `${onRenderYear(fromYear)} - ${onRenderYear(toYear)}`;\n\n let year = fromYear;\n const cells: React.ReactNode[][] = [];\n\n for (let i = 0; i < (toYear - fromYear + 1) / CELLS_PER_ROW; i++) {\n cells.push([]);\n for (let j = 0; j < CELLS_PER_ROW; j++) {\n cells[i].push(renderCell(year));\n year++;\n }\n }\n\n return (\n \n
    \n {cells.map((cellRow: React.ReactNode[], index: number) => {\n return (\n
    \n {...cellRow}\n
    \n );\n })}\n
    \n
    \n );\n};\nCalendarYearGrid.displayName = 'CalendarYearGrid';\n\nconst enum CalendarYearNavDirection {\n Previous,\n Next,\n}\n\ninterface ICalendarYearNavArrowProps extends ICalendarYearHeaderProps {\n direction: CalendarYearNavDirection;\n}\n\nconst CalendarYearNavArrow: React.FunctionComponent = props => {\n const {\n styles,\n theme,\n className,\n navigationIcons = defaultCalendarNavigationIcons,\n strings = DefaultCalendarYearStrings,\n direction,\n onSelectPrev,\n onSelectNext,\n fromYear,\n toYear,\n maxYear,\n minYear,\n } = props;\n\n const classNames = getClassNames(styles, {\n theme: theme!,\n className: className,\n });\n\n const ariaLabel =\n direction === CalendarYearNavDirection.Previous ? strings.prevRangeAriaLabel : strings.nextRangeAriaLabel;\n const newRangeOffset = direction === CalendarYearNavDirection.Previous ? -CELL_COUNT : CELL_COUNT;\n const newRange = { fromYear: fromYear + newRangeOffset, toYear: toYear + newRangeOffset };\n const ariaLabelString = ariaLabel ? (typeof ariaLabel === 'string' ? ariaLabel : ariaLabel(newRange)) : undefined;\n const disabled =\n direction === CalendarYearNavDirection.Previous\n ? minYear !== undefined && fromYear < minYear\n : maxYear !== undefined && props.fromYear + CELL_COUNT > maxYear;\n\n const onNavigate = () => {\n direction === CalendarYearNavDirection.Previous ? onSelectPrev?.() : onSelectNext?.();\n };\n\n const onKeyDown = (ev: React.KeyboardEvent) => {\n // eslint-disable-next-line deprecation/deprecation\n if (ev.which === KeyCodes.enter) {\n onNavigate();\n }\n };\n\n // can be condensed, but leaving verbose for clarity due to regressions\n const isLeftNavigation = getRTL()\n ? direction === CalendarYearNavDirection.Next\n : direction === CalendarYearNavDirection.Previous;\n\n return (\n \n \n \n );\n};\nCalendarYearNavArrow.displayName = 'CalendarYearNavArrow';\n\nconst CalendarYearNav: React.FunctionComponent = props => {\n const { styles, theme, className } = props;\n\n const classNames = getClassNames(styles, {\n theme: theme!,\n className: className,\n });\n\n return (\n
    \n \n \n
    \n );\n};\nCalendarYearNav.displayName = 'CalendarYearNav';\n\nconst CalendarYearTitle: React.FunctionComponent = props => {\n const {\n styles,\n theme,\n className,\n fromYear,\n toYear,\n strings = DefaultCalendarYearStrings,\n animateBackwards,\n animationDirection,\n } = props;\n\n const onHeaderSelect = () => {\n props.onHeaderSelect?.(true);\n };\n\n const onHeaderKeyDown = (ev: React.KeyboardEvent) => {\n // eslint-disable-next-line deprecation/deprecation\n if (ev.which === KeyCodes.enter || ev.which === KeyCodes.space) {\n onHeaderSelect();\n }\n };\n\n const onRenderYear = (year: number) => {\n return props.onRenderYear?.(year) ?? year;\n };\n\n const classNames = getClassNames(styles, {\n theme: theme!,\n className: className,\n hasHeaderClickCallback: !!props.onHeaderSelect,\n animateBackwards: animateBackwards,\n animationDirection: animationDirection,\n });\n\n if (props.onHeaderSelect) {\n const rangeAriaLabel = strings.rangeAriaLabel;\n const headerAriaLabelFormatString = strings.headerAriaLabelFormatString;\n const currentDateRange = rangeAriaLabel\n ? typeof rangeAriaLabel === 'string'\n ? rangeAriaLabel\n : rangeAriaLabel(props)\n : undefined;\n\n const ariaLabel = headerAriaLabelFormatString\n ? format(headerAriaLabelFormatString, currentDateRange)\n : currentDateRange;\n\n return (\n \n {onRenderYear(fromYear)} - {onRenderYear(toYear)}\n \n );\n }\n\n return (\n
    \n {onRenderYear(fromYear)} - {onRenderYear(toYear)}\n
    \n );\n};\nCalendarYearTitle.displayName = 'CalendarYearTitle';\n\nconst CalendarYearHeader: React.FunctionComponent = props => {\n const { styles, theme, className, animateBackwards, animationDirection, onRenderTitle } = props;\n\n const classNames = getClassNames(styles, {\n theme: theme!,\n className: className,\n hasHeaderClickCallback: !!props.onHeaderSelect,\n animateBackwards: animateBackwards,\n animationDirection: animationDirection,\n });\n\n return (\n
    \n {onRenderTitle?.(props) ?? }\n \n
    \n );\n};\nCalendarYearHeader.displayName = 'CalendarYearHeader';\n\nfunction useAnimateBackwards({ selectedYear, navigatedYear }: ICalendarYearProps) {\n const rangeYear = selectedYear || navigatedYear || new Date().getFullYear();\n const fromYear = Math.floor(rangeYear / 10) * 10;\n\n const previousFromYear = usePrevious(fromYear);\n\n if (!previousFromYear || previousFromYear === fromYear) {\n return undefined;\n } else if (previousFromYear > fromYear) {\n return true;\n } else {\n return false;\n }\n}\n\nconst enum NavigationDirection {\n Previous,\n Next,\n}\n\nfunction useYearRangeState({ selectedYear, navigatedYear }: ICalendarYearProps) {\n const [fromYear, navigate] = React.useReducer(\n (state: number, action: NavigationDirection): number => {\n return state + (action === NavigationDirection.Next ? CELL_COUNT : -CELL_COUNT);\n },\n undefined,\n () => {\n const rangeYear = selectedYear || navigatedYear || new Date().getFullYear();\n return Math.floor(rangeYear / 10) * 10;\n },\n );\n const toYear = fromYear + CELL_COUNT - 1;\n\n const onNavNext = () => navigate(NavigationDirection.Next);\n const onNavPrevious = () => navigate(NavigationDirection.Previous);\n\n return [fromYear, toYear, onNavNext, onNavPrevious] as const;\n}\n\nexport const CalendarYearBase: React.FunctionComponent = props => {\n const animateBackwards = useAnimateBackwards(props);\n const [fromYear, toYear, onNavNext, onNavPrevious] = useYearRangeState(props);\n\n const gridRef = React.useRef(null);\n\n React.useImperativeHandle(props.componentRef, () => ({\n focus() {\n gridRef.current?.focus?.();\n },\n }));\n\n const { styles, theme, className } = props;\n\n const classNames = getClassNames(styles, {\n theme: theme!,\n className: className,\n });\n\n return (\n
    \n \n \n
    \n );\n};\nCalendarYearBase.displayName = 'CalendarYearBase';\n","import * as React from 'react';\nimport { getStyles } from './CalendarYear.styles';\nimport { styled } from '../../../Utilities';\nimport { CalendarYearBase } from './CalendarYear.base';\nimport { ICalendarYearProps } from './CalendarYear.types';\n\nexport const CalendarYear: React.FunctionComponent = styled(\n CalendarYearBase,\n getStyles,\n undefined,\n { scope: 'CalendarYear' },\n);\n","import { ICalendarYearStyleProps, ICalendarYearStyles } from './CalendarYear.types';\nimport { getStyles as getPickerStyles } from '../CalendarPicker/CalendarPicker.styles';\n\nexport const getStyles = (props: ICalendarYearStyleProps): ICalendarYearStyles => {\n /* Return styles from the base class.\n * If this component has extra styles not in the base, apply them here i.e.:\n * const myStyle: IStyle = {\n * display: \"block\"\n * };\n * return {...getPickerStyles(props), myStyle};\n */\n\n return getPickerStyles(props);\n};\n","import * as React from 'react';\nimport { FocusZone } from '../../../FocusZone';\nimport {\n addYears,\n setMonth,\n getYearStart,\n getYearEnd,\n getMonthStart,\n getMonthEnd,\n compareDatePart,\n DEFAULT_DATE_FORMATTING,\n} from '@fluentui/date-time-utilities';\nimport { Icon } from '../../../Icon';\nimport { ICalendarMonthProps, ICalendarMonthStyles, ICalendarMonthStyleProps } from './CalendarMonth.types';\nimport { getStyles } from './CalendarMonth.styles';\nimport { css, getRTL, classNamesFunction, KeyCodes, format, getPropsWithDefaults } from '@fluentui/utilities';\nimport { ICalendarYear, ICalendarYearRange } from '../CalendarYear/CalendarYear.types';\nimport { CalendarYear } from '../CalendarYear/CalendarYear';\nimport { usePrevious } from '@fluentui/react-hooks';\nimport { defaultCalendarNavigationIcons } from '../defaults';\n\nconst MONTHS_PER_ROW = 4;\n\nconst getClassNames = classNamesFunction();\n\nconst DEFAULT_PROPS: Readonly> = {\n styles: getStyles,\n strings: undefined,\n navigationIcons: defaultCalendarNavigationIcons,\n dateTimeFormatter: DEFAULT_DATE_FORMATTING,\n yearPickerHidden: false,\n};\n\nfunction useAnimateBackwards({ navigatedDate }: ICalendarMonthProps) {\n const currentYear = navigatedDate.getFullYear();\n const previousYear = usePrevious(currentYear);\n\n if (previousYear === undefined || previousYear === currentYear) {\n return undefined;\n } else {\n return previousYear > currentYear;\n }\n}\n\nfunction useFocusLogic({ componentRef }: ICalendarMonthProps) {\n const navigatedMonthRef = React.useRef(null);\n const calendarYearRef = React.useRef(null);\n const focusOnUpdate = React.useRef(false);\n\n const focus = React.useCallback(() => {\n if (calendarYearRef.current) {\n calendarYearRef.current.focus();\n } else if (navigatedMonthRef.current) {\n navigatedMonthRef.current.focus();\n }\n }, []);\n\n React.useImperativeHandle(componentRef, () => ({ focus }), [focus]);\n\n React.useEffect(() => {\n if (focusOnUpdate.current) {\n focus();\n focusOnUpdate.current = false;\n }\n });\n\n const focusOnNextUpdate = () => {\n focusOnUpdate.current = true;\n };\n\n return [navigatedMonthRef, calendarYearRef, focusOnNextUpdate] as const;\n}\n\nexport const CalendarMonthBase: React.FunctionComponent = propsWithoutDefaults => {\n const props = getPropsWithDefaults(DEFAULT_PROPS, propsWithoutDefaults);\n const [navigatedMonthRef, calendarYearRef, focusOnNextUpdate] = useFocusLogic(props);\n const [isYearPickerVisible, setIsYearPickerVisible] = React.useState(false);\n\n const animateBackwards = useAnimateBackwards(props);\n\n const {\n navigatedDate,\n selectedDate,\n strings,\n today = new Date(),\n navigationIcons,\n dateTimeFormatter,\n minDate,\n maxDate,\n theme,\n styles,\n className,\n allFocusable,\n highlightCurrentMonth,\n highlightSelectedMonth,\n animationDirection,\n yearPickerHidden,\n onNavigateDate,\n } = props;\n\n const selectMonthCallback = (newMonth: number): (() => void) => {\n return () => onSelectMonth(newMonth);\n };\n\n const onSelectNextYear = (): void => {\n onNavigateDate(addYears(navigatedDate, 1), false);\n };\n\n const onSelectPrevYear = (): void => {\n onNavigateDate(addYears(navigatedDate, -1), false);\n };\n\n const onSelectMonth = (newMonth: number): void => {\n // If header is clickable the calendars are overlayed, switch back to day picker when month is clicked\n props.onHeaderSelect?.();\n onNavigateDate(setMonth(navigatedDate, newMonth), true);\n };\n\n const onHeaderSelect = (): void => {\n if (!yearPickerHidden) {\n focusOnNextUpdate();\n setIsYearPickerVisible(true);\n } else {\n props.onHeaderSelect?.();\n }\n };\n\n const onSelectYear = (selectedYear: number) => {\n focusOnNextUpdate();\n const navYear = navigatedDate.getFullYear();\n if (navYear !== selectedYear) {\n let newNavigationDate = new Date(navigatedDate.getTime());\n newNavigationDate.setFullYear(selectedYear);\n // for min and max dates, adjust the new navigation date - perhaps this should be\n // checked on the master navigation date handler (i.e. in Calendar)\n if (maxDate && newNavigationDate > maxDate) {\n newNavigationDate = setMonth(newNavigationDate, maxDate.getMonth());\n } else if (minDate && newNavigationDate < minDate) {\n newNavigationDate = setMonth(newNavigationDate, minDate.getMonth());\n }\n onNavigateDate(newNavigationDate, true);\n }\n setIsYearPickerVisible(false);\n };\n\n const onYearPickerHeaderSelect = (focus: boolean): void => {\n focusOnNextUpdate();\n setIsYearPickerVisible(false);\n };\n\n // navigationIcons has a default value in defaultProps, but typescript doesn't recognize this\n const leftNavigationIcon = navigationIcons!.leftNavigation;\n const rightNavigationIcon = navigationIcons!.rightNavigation;\n const dateFormatter = dateTimeFormatter!;\n\n // determine if previous/next years are in bounds\n const isPrevYearInBounds = minDate ? compareDatePart(minDate, getYearStart(navigatedDate)) < 0 : true;\n const isNextYearInBounds = maxDate ? compareDatePart(getYearEnd(navigatedDate), maxDate) < 0 : true;\n\n const classNames = getClassNames(styles, {\n theme: theme!,\n className: className,\n hasHeaderClickCallback: !!props.onHeaderSelect || !yearPickerHidden,\n highlightCurrent: highlightCurrentMonth,\n highlightSelected: highlightSelectedMonth,\n animateBackwards: animateBackwards,\n animationDirection: animationDirection,\n });\n\n if (isYearPickerVisible) {\n const [onRenderYear, yearStrings] = getYearStrings(props);\n // use navigated date for the year picker\n return (\n \n );\n }\n\n const rowIndexes = [];\n for (let i = 0; i < strings.shortMonths.length / MONTHS_PER_ROW; i++) {\n rowIndexes.push(i);\n }\n\n const yearString = dateFormatter.formatYear(navigatedDate);\n const headerAriaLabel = strings.monthPickerHeaderAriaLabel\n ? format(strings.monthPickerHeaderAriaLabel, yearString)\n : yearString;\n\n return (\n
    \n
    \n \n {yearString}\n \n
    \n \n \n \n \n \n \n
    \n
    \n \n
    \n {rowIndexes.map((rowNum: number) => {\n const monthsForRow = strings.shortMonths.slice(rowNum * MONTHS_PER_ROW, (rowNum + 1) * MONTHS_PER_ROW);\n return (\n
    \n {monthsForRow.map((month: string, index: number) => {\n const monthIndex = rowNum * MONTHS_PER_ROW + index;\n const indexedMonth = setMonth(navigatedDate, monthIndex);\n const isNavigatedMonth = navigatedDate.getMonth() === monthIndex;\n const isSelectedMonth = selectedDate.getMonth() === monthIndex;\n const isSelectedYear = selectedDate.getFullYear() === navigatedDate.getFullYear();\n const isInBounds =\n (minDate ? compareDatePart(minDate, getMonthEnd(indexedMonth)) < 1 : true) &&\n (maxDate ? compareDatePart(getMonthStart(indexedMonth), maxDate) < 1 : true);\n\n return (\n \n {month}\n \n );\n })}\n
    \n );\n })}\n
    \n
    \n
    \n );\n};\nCalendarMonthBase.displayName = 'CalendarMonthBase';\n\nfunction getYearStrings({ strings, navigatedDate, dateTimeFormatter }: ICalendarMonthProps) {\n const yearToString = (year: number) => {\n if (dateTimeFormatter) {\n // create a date based on the current nav date\n const yearFormattingDate = new Date(navigatedDate.getTime());\n yearFormattingDate.setFullYear(year);\n return dateTimeFormatter.formatYear(yearFormattingDate);\n }\n return String(year);\n };\n\n const yearRangeToString = (yearRange: ICalendarYearRange) => {\n return `${yearToString(yearRange.fromYear)} - ${yearToString(yearRange.toYear)}`;\n };\n\n const yearRangeToNextDecadeLabel = (yearRange: ICalendarYearRange) => {\n return strings.nextYearRangeAriaLabel ? `${strings.nextYearRangeAriaLabel} ${yearRangeToString(yearRange)}` : '';\n };\n\n const yearRangeToPrevDecadeLabel = (yearRange: ICalendarYearRange) => {\n return strings.prevYearRangeAriaLabel ? `${strings.prevYearRangeAriaLabel} ${yearRangeToString(yearRange)}` : '';\n };\n\n return [\n yearToString,\n {\n rangeAriaLabel: yearRangeToString,\n prevRangeAriaLabel: yearRangeToPrevDecadeLabel,\n nextRangeAriaLabel: yearRangeToNextDecadeLabel,\n headerAriaLabelFormatString: strings.yearPickerHeaderAriaLabel,\n } as const,\n ] as const;\n}\n\nfunction isCurrentMonth(month: number, year: number, today: Date): boolean {\n return today.getFullYear() === year && today.getMonth() === month;\n}\n\nfunction onButtonKeyDown(callback: () => void): (ev: React.KeyboardEvent) => void {\n return (ev: React.KeyboardEvent) => {\n // eslint-disable-next-line deprecation/deprecation\n switch (ev.which) {\n case KeyCodes.enter:\n callback();\n break;\n }\n };\n}\n","import * as React from 'react';\nimport { CalendarMonthBase } from './CalendarMonth.base';\nimport { getStyles } from './CalendarMonth.styles';\nimport { styled } from '../../../Utilities';\nimport { ICalendarMonthProps } from './CalendarMonth.types';\n\nexport const CalendarMonth: React.FunctionComponent = styled(\n CalendarMonthBase,\n getStyles,\n undefined,\n { scope: 'CalendarMonth' },\n);\n","import * as React from 'react';\nimport { ICalendarProps, ICalendarStyleProps, ICalendarStyles } from './Calendar.types';\nimport {\n DayOfWeek,\n FirstWeekOfYear,\n DateRangeType,\n addMonths,\n addYears,\n DEFAULT_CALENDAR_STRINGS,\n DEFAULT_DATE_FORMATTING,\n} from '@fluentui/date-time-utilities';\nimport { CalendarDay } from './CalendarDay/CalendarDay';\nimport { CalendarMonth } from './CalendarMonth/CalendarMonth';\nimport { ICalendarDay } from './CalendarDay/CalendarDay.types';\nimport { ICalendarMonth } from './CalendarMonth/CalendarMonth.types';\nimport {\n css,\n KeyCodes,\n classNamesFunction,\n focusAsync,\n format,\n FocusRects,\n getPropsWithDefaults,\n getWindow,\n} from '@fluentui/utilities';\nimport { useControllableValue } from '@fluentui/react-hooks';\nimport { defaultCalendarNavigationIcons } from './defaults';\n\nconst MIN_SIZE_FORCE_OVERLAY = 440;\n\nconst getClassNames = classNamesFunction();\n\nconst defaultWorkWeekDays: DayOfWeek[] = [\n DayOfWeek.Monday,\n DayOfWeek.Tuesday,\n DayOfWeek.Wednesday,\n DayOfWeek.Thursday,\n DayOfWeek.Friday,\n];\n\nconst DEFAULT_PROPS: Partial = {\n isMonthPickerVisible: true,\n isDayPickerVisible: true,\n showMonthPickerAsOverlay: false,\n today: new Date(),\n firstDayOfWeek: DayOfWeek.Sunday,\n dateRangeType: DateRangeType.Day,\n showGoToToday: true,\n strings: DEFAULT_CALENDAR_STRINGS,\n highlightCurrentMonth: false,\n highlightSelectedMonth: false,\n navigationIcons: defaultCalendarNavigationIcons,\n showWeekNumbers: false,\n firstWeekOfYear: FirstWeekOfYear.FirstDay,\n dateTimeFormatter: DEFAULT_DATE_FORMATTING,\n showSixWeeksByDefault: false,\n workWeekDays: defaultWorkWeekDays,\n showCloseButton: false,\n allFocusable: false,\n};\n\nfunction useDateState({ value, today = new Date(), onSelectDate }: ICalendarProps) {\n /** The currently selected date in the calendar */\n const [selectedDate = today, setSelectedDate] = useControllableValue(value, today);\n\n /** The currently focused date in the day picker, but not necessarily selected */\n const [navigatedDay = today, setNavigatedDay] = React.useState(value);\n\n /** The currently focused date in the month picker, but not necessarily selected */\n const [navigatedMonth = today, setNavigatedMonth] = React.useState(value);\n\n /** If using a controlled value, when that value changes, navigate to that date */\n const [lastSelectedDate = today, setLastSelectedDate] = React.useState(value);\n if (value && lastSelectedDate.valueOf() !== value.valueOf()) {\n setNavigatedDay(value);\n setNavigatedMonth(value);\n setLastSelectedDate(value);\n }\n\n const navigateMonth = (date: Date) => {\n setNavigatedMonth(date);\n };\n\n const navigateDay = (date: Date) => {\n setNavigatedMonth(date);\n setNavigatedDay(date);\n };\n\n const onDateSelected = (date: Date, selectedDateRangeArray?: Date[]) => {\n setNavigatedMonth(date);\n setNavigatedDay(date);\n setSelectedDate(date);\n onSelectDate?.(date, selectedDateRangeArray);\n };\n\n return [selectedDate, navigatedDay, navigatedMonth, onDateSelected, navigateDay, navigateMonth] as const;\n}\n\nfunction useVisibilityState(props: ICalendarProps) {\n /** State used to show/hide month picker */\n const [isMonthPickerVisible = true, setIsMonthPickerVisible] = useControllableValue(\n getShowMonthPickerAsOverlay(props) ? undefined : props.isMonthPickerVisible,\n false,\n );\n /** State used to show/hide day picker */\n const [isDayPickerVisible = true, setIsDayPickerVisible] = useControllableValue(\n getShowMonthPickerAsOverlay(props) ? undefined : props.isDayPickerVisible,\n true,\n );\n\n const toggleDayMonthPickerVisibility = () => {\n setIsMonthPickerVisible(!isMonthPickerVisible);\n setIsDayPickerVisible(!isDayPickerVisible);\n };\n\n return [isMonthPickerVisible, isDayPickerVisible, toggleDayMonthPickerVisibility] as const;\n}\n\nfunction useFocusLogic({ componentRef }: ICalendarProps, isDayPickerVisible: boolean, isMonthPickerVisible: boolean) {\n const dayPicker = React.useRef(null);\n const monthPicker = React.useRef(null);\n const focusOnUpdate = React.useRef(false);\n\n const focus = React.useCallback(() => {\n if (isDayPickerVisible && dayPicker.current) {\n focusAsync(dayPicker.current);\n } else if (isMonthPickerVisible && monthPicker.current) {\n focusAsync(monthPicker.current);\n }\n }, [isDayPickerVisible, isMonthPickerVisible]);\n\n React.useImperativeHandle(componentRef, () => ({ focus }), [focus]);\n\n React.useEffect(() => {\n if (focusOnUpdate.current) {\n focus();\n focusOnUpdate.current = false;\n }\n });\n\n const focusOnNextUpdate = () => {\n focusOnUpdate.current = true;\n };\n\n return [dayPicker, monthPicker, focusOnNextUpdate] as const;\n}\n\nexport const CalendarBase: React.FunctionComponent = React.forwardRef(\n (propsWithoutDefaults, forwardedRef) => {\n const props = getPropsWithDefaults(DEFAULT_PROPS, propsWithoutDefaults);\n\n const [selectedDate, navigatedDay, navigatedMonth, onDateSelected, navigateDay, navigateMonth] = useDateState(\n props,\n );\n const [isMonthPickerVisible, isDayPickerVisible, toggleDayMonthPickerVisibility] = useVisibilityState(props);\n const [dayPicker, monthPicker, focusOnNextUpdate] = useFocusLogic(props, isDayPickerVisible, isMonthPickerVisible);\n\n const renderGoToTodayButton = () => {\n let goTodayEnabled = showGoToToday;\n\n if (goTodayEnabled && today) {\n goTodayEnabled =\n navigatedDay.getFullYear() !== today.getFullYear() ||\n navigatedDay.getMonth() !== today.getMonth() ||\n navigatedMonth.getFullYear() !== today.getFullYear() ||\n navigatedMonth.getMonth() !== today.getMonth();\n }\n\n return (\n showGoToToday && (\n \n {strings!.goToToday}\n \n )\n );\n };\n\n const onNavigateDayDate = (date: Date, focusOnNavigatedDay: boolean): void => {\n navigateDay(date);\n if (focusOnNavigatedDay) {\n focusOnNextUpdate();\n }\n };\n\n const onNavigateMonthDate = (date: Date, focusOnNavigatedDay: boolean): void => {\n if (focusOnNavigatedDay) {\n focusOnNextUpdate();\n }\n\n if (!focusOnNavigatedDay) {\n navigateMonth(date);\n return;\n }\n\n if (monthPickerOnly) {\n onDateSelected(date);\n }\n\n navigateDay(date);\n };\n\n const onHeaderSelect = getShowMonthPickerAsOverlay(props)\n ? (): void => {\n toggleDayMonthPickerVisibility();\n\n focusOnNextUpdate();\n }\n : undefined;\n\n const onGotoToday = (): void => {\n navigateDay(today!);\n focusOnNextUpdate();\n };\n\n const onButtonKeyDown = (callback: () => void): ((ev: React.KeyboardEvent) => void) => {\n return (ev: React.KeyboardEvent) => {\n // eslint-disable-next-line deprecation/deprecation\n switch (ev.which) {\n case KeyCodes.enter:\n case KeyCodes.space:\n callback();\n break;\n }\n };\n };\n\n const onDatePickerPopupKeyDown = (ev: React.KeyboardEvent): void => {\n // eslint-disable-next-line deprecation/deprecation\n switch (ev.which) {\n case KeyCodes.enter:\n ev.preventDefault();\n break;\n\n case KeyCodes.backspace:\n ev.preventDefault();\n break;\n\n case KeyCodes.escape:\n props.onDismiss?.();\n break;\n\n case KeyCodes.pageUp:\n if (ev.ctrlKey) {\n // go to next year\n navigateDay(addYears(navigatedDay, 1));\n } else {\n // go to next month\n navigateDay(addMonths(navigatedDay, 1));\n }\n ev.preventDefault();\n break;\n case KeyCodes.pageDown:\n if (ev.ctrlKey) {\n // go to previous year\n navigateDay(addYears(navigatedDay, -1));\n } else {\n // go to previous month\n navigateDay(addMonths(navigatedDay, -1));\n }\n ev.preventDefault();\n break;\n default:\n break;\n }\n };\n const rootClass = 'ms-DatePicker';\n const {\n firstDayOfWeek,\n dateRangeType,\n strings,\n showGoToToday,\n highlightCurrentMonth,\n highlightSelectedMonth,\n navigationIcons,\n minDate,\n maxDate,\n restrictedDates,\n className,\n showCloseButton,\n allFocusable,\n styles,\n showWeekNumbers,\n theme,\n calendarDayProps,\n calendarMonthProps,\n dateTimeFormatter,\n today = new Date(),\n } = props;\n\n const showMonthPickerAsOverlay = getShowMonthPickerAsOverlay(props);\n\n const monthPickerOnly = !showMonthPickerAsOverlay && !isDayPickerVisible;\n const overlaidWithButton = showMonthPickerAsOverlay && showGoToToday;\n\n const classes = getClassNames(styles, {\n theme: theme!,\n className,\n isMonthPickerVisible: isMonthPickerVisible,\n isDayPickerVisible: isDayPickerVisible,\n monthPickerOnly: monthPickerOnly,\n showMonthPickerAsOverlay: showMonthPickerAsOverlay,\n overlaidWithButton: overlaidWithButton,\n overlayedWithButton: overlaidWithButton,\n showGoToToday: showGoToToday,\n showWeekNumbers: showWeekNumbers,\n });\n\n let todayDateString: string = '';\n let selectedDateString: string = '';\n if (dateTimeFormatter && strings!.todayDateFormatString) {\n todayDateString = format(strings!.todayDateFormatString, dateTimeFormatter.formatMonthDayYear(today, strings!));\n }\n if (dateTimeFormatter && strings!.selectedDateFormatString) {\n selectedDateString = format(\n strings!.selectedDateFormatString,\n dateTimeFormatter.formatMonthDayYear(selectedDate, strings!),\n );\n }\n const selectionAndTodayString = selectedDateString + ', ' + todayDateString;\n\n return (\n \n
    \n {selectedDateString}\n
    \n {isDayPickerVisible && (\n \n )}\n {isDayPickerVisible && isMonthPickerVisible &&
    }\n {isMonthPickerVisible ? (\n
    \n \n {renderGoToTodayButton()}\n
    \n ) : (\n renderGoToTodayButton()\n )}\n \n
    \n );\n },\n);\nCalendarBase.displayName = 'CalendarBase';\n\nfunction getShowMonthPickerAsOverlay(props: ICalendarProps) {\n const win = getWindow();\n return props.showMonthPickerAsOverlay || (win && win.innerWidth <= MIN_SIZE_FORCE_OVERLAY);\n}\n","import { ICalendarStyleProps, ICalendarStyles } from './Calendar.types';\nimport { normalize, FontSizes, getFocusStyle } from '@fluentui/style-utilities';\n\nexport const styles = (props: ICalendarStyleProps): ICalendarStyles => {\n const { className, theme, isDayPickerVisible, isMonthPickerVisible, showWeekNumbers } = props;\n const { palette } = theme;\n\n let totalWidth = isDayPickerVisible && isMonthPickerVisible ? 440 : 220;\n if (showWeekNumbers && isDayPickerVisible) {\n totalWidth += 30;\n }\n\n return {\n root: [\n normalize,\n {\n display: 'flex',\n width: totalWidth,\n },\n !isMonthPickerVisible && {\n flexDirection: 'column',\n },\n className,\n ],\n divider: {\n top: 0,\n borderRight: '1px solid',\n borderColor: palette.neutralLight,\n },\n monthPickerWrapper: [\n {\n display: 'flex',\n flexDirection: 'column',\n },\n ],\n goTodayButton: [\n getFocusStyle(theme, { inset: -1 }),\n {\n bottom: 0,\n color: palette.neutralPrimary,\n height: 30,\n lineHeight: 30,\n backgroundColor: 'transparent',\n border: 'none',\n boxSizing: 'content-box',\n padding: '0 4px',\n alignSelf: 'flex-end',\n marginRight: 16,\n marginTop: 3,\n fontSize: FontSizes.small,\n fontFamily: 'inherit',\n overflow: 'visible', // explicitly specify for IE11\n selectors: {\n '& div': {\n fontSize: FontSizes.small,\n },\n '&:hover': {\n color: palette.themePrimary,\n backgroundColor: 'transparent',\n cursor: 'pointer',\n },\n '&:active': {\n color: palette.themeDark,\n },\n '&:disabled': {\n color: palette.neutralTertiaryAlt,\n pointerEvents: 'none',\n },\n },\n },\n ],\n liveRegion: {\n border: 0,\n height: '1px',\n margin: '-1px',\n overflow: 'hidden',\n padding: 0,\n width: '1px',\n position: 'absolute',\n },\n };\n};\n","import * as React from 'react';\nimport { styled } from '@fluentui/utilities';\nimport { CalendarBase } from './Calendar.base';\nimport { styles } from './Calendar.styles';\nimport { ICalendarProps } from './Calendar.types';\n\nexport const Calendar: React.FunctionComponent = styled(CalendarBase, styles, undefined, {\n scope: 'Calendar',\n});\n","import { keyframes, PulsingBeaconAnimationStyles, HighContrastSelector } from '../../Styling';\nimport { ICoachmarkStyleProps, ICoachmarkStyles } from './Coachmark.types';\nimport { getRTL, IsFocusVisibleClassName, memoizeFunction } from '../../Utilities';\n\nexport const COACHMARK_WIDTH = 32;\nexport const COACHMARK_HEIGHT = 32;\n\nexport const translateOne = memoizeFunction(() =>\n keyframes({\n '0%': {\n transform: 'translate(0, 0)', // orig 25\n animationTimingFunction: 'linear',\n },\n '78.57%': {\n transform: 'translate(0, 0)', // orig 25\n animationTimingFunction: 'cubic-bezier(0.62, 0, 0.56, 1)',\n },\n '82.14%': {\n transform: 'translate(0, -5px)', // orig 20\n animationTimingFunction: 'cubic-bezier(0.58, 0, 0, 1)',\n },\n '84.88%': {\n transform: 'translate(0, 9px)', // 34\n animationTimingFunction: 'cubic-bezier(1, 0, 0.56, 1)',\n },\n '88.1%': {\n transform: 'translate(0, -2px)', // orig 23\n animationTimingFunction: 'cubic-bezier(0.58, 0, 0.67, 1)',\n },\n '90.12%': {\n transform: 'translate(0, 0)',\n animationTimingFunction: 'linear',\n },\n '100%': {\n transform: 'translate(0, 0)',\n },\n }),\n);\n\nexport const scaleOne = memoizeFunction(() =>\n keyframes({\n '0%': {\n transform: ' scale(0)',\n animationTimingFunction: 'linear',\n },\n '14.29%': {\n transform: 'scale(0)',\n animationTimingFunction: 'cubic-bezier(0.84, 0, 0.52, 0.99)',\n },\n '16.67%': {\n transform: 'scale(1.15)',\n animationTimingFunction: 'cubic-bezier(0.48, -0.01, 0.52, 1.01)',\n },\n '19.05%': {\n transform: 'scale(0.95)',\n animationTimingFunction: 'cubic-bezier(0.48, 0.02, 0.52, 0.98)',\n },\n '21.43%': {\n transform: 'scale(1)',\n animationTimingFunction: 'linear',\n },\n '42.86%': {\n transform: 'scale(1)',\n animationTimingFunction: 'cubic-bezier(0.48, -0.02, 0.52, 1.02)',\n },\n '45.71%': {\n transform: 'scale(0.8)',\n animationTimingFunction: 'cubic-bezier(0.48, 0.01, 0.52, 0.99)',\n },\n '50%': {\n transform: 'scale(1)',\n animationTimingFunction: 'linear',\n },\n '90.12%': {\n transform: 'scale(1)',\n animationTimingFunction: 'cubic-bezier(0.48, -0.02, 0.52, 1.02)',\n },\n '92.98%': {\n transform: 'scale(0.8)',\n animationTimingFunction: 'cubic-bezier(0.48, 0.01, 0.52, 0.99)',\n },\n '97.26%': {\n transform: 'scale(1)',\n animationTimingFunction: 'linear',\n },\n '100%': {\n transform: 'scale(1)',\n },\n }),\n);\n\nexport const rotateOne = memoizeFunction(() =>\n keyframes({\n '0%': {\n transform: 'rotate(0deg)',\n animationTimingFunction: 'linear',\n },\n '83.33%': {\n transform: ' rotate(0deg)',\n animationTimingFunction: 'cubic-bezier(0.33, 0, 0.67, 1)',\n },\n '83.93%': {\n transform: 'rotate(15deg)',\n animationTimingFunction: 'cubic-bezier(0.33, 0, 0.67, 1)',\n },\n '84.52%': {\n transform: 'rotate(-15deg)',\n animationTimingFunction: 'cubic-bezier(0.33, 0, 0.67, 1)',\n },\n '85.12%': {\n transform: 'rotate(15deg)',\n animationTimingFunction: 'cubic-bezier(0.33, 0, 0.67, 1)',\n },\n '85.71%': {\n transform: 'rotate(-15deg)',\n animationTimingFunction: 'cubic-bezier(0.33, 0, 0.67, 1)',\n },\n '86.31%': {\n transform: 'rotate(0deg)',\n animationTimingFunction: 'linear',\n },\n '100%': {\n transform: 'rotate(0deg)',\n },\n }),\n);\n\nexport function getStyles(props: ICoachmarkStyleProps): ICoachmarkStyles {\n const {\n theme,\n className,\n color,\n beaconColorOne,\n beaconColorTwo,\n delayBeforeCoachmarkAnimation,\n isCollapsed,\n isMeasuring,\n entityHostHeight,\n entityHostWidth,\n transformOrigin,\n } = props;\n\n if (!theme) {\n throw new Error('theme is undefined or null in base Dropdown getStyles function.');\n }\n\n const animationInnerDimension = '35px';\n const animationOuterDimension = '150px';\n const animationBorderWidth = '10px';\n\n const ContinuousPulse: string = PulsingBeaconAnimationStyles.continuousPulseAnimationDouble(\n beaconColorOne ? beaconColorOne : theme.palette.themePrimary,\n beaconColorTwo ? beaconColorTwo : theme.palette.themeTertiary,\n animationInnerDimension,\n animationOuterDimension,\n animationBorderWidth,\n );\n\n const ContinuousPulseAnimation = PulsingBeaconAnimationStyles.createDefaultAnimation(\n ContinuousPulse,\n delayBeforeCoachmarkAnimation,\n );\n\n return {\n root: [\n theme.fonts.medium,\n {\n position: 'relative',\n },\n className,\n ],\n pulsingBeacon: [\n {\n position: 'absolute',\n top: '50%',\n left: '50%',\n transform: getRTL(theme) ? 'translate(50%, -50%)' : 'translate(-50%, -50%)',\n width: '0px',\n height: '0px',\n borderRadius: '225px',\n borderStyle: 'solid',\n opacity: '0',\n },\n isCollapsed && ContinuousPulseAnimation,\n ],\n // Translate Animation Layer\n translateAnimationContainer: [\n {\n width: '100%',\n height: '100%',\n },\n isCollapsed && {\n animationDuration: '14s',\n animationTimingFunction: 'linear',\n animationDirection: 'normal',\n animationIterationCount: '1',\n animationDelay: '0s',\n animationFillMode: 'forwards',\n animationName: translateOne(),\n transition: 'opacity 0.5s ease-in-out',\n },\n !isCollapsed && {\n opacity: '1',\n },\n ],\n // Scale Animation Layer\n scaleAnimationLayer: [\n {\n width: '100%',\n height: '100%',\n },\n isCollapsed && {\n animationDuration: '14s',\n animationTimingFunction: 'linear',\n animationDirection: 'normal',\n animationIterationCount: '1',\n animationDelay: '0s',\n animationFillMode: 'forwards',\n animationName: scaleOne(),\n },\n ],\n // Rotate Animation Layer\n rotateAnimationLayer: [\n {\n width: '100%',\n height: '100%',\n },\n isCollapsed && {\n animationDuration: '14s',\n animationTimingFunction: 'linear',\n animationDirection: 'normal',\n animationIterationCount: '1',\n animationDelay: '0s',\n animationFillMode: 'forwards',\n animationName: rotateOne(),\n },\n !isCollapsed && {\n opacity: '1',\n },\n ],\n // Layer Host, defaults to collapsed\n entityHost: [\n {\n position: 'relative',\n outline: 'none',\n overflow: 'hidden',\n backgroundColor: color,\n borderRadius: COACHMARK_WIDTH,\n transition: 'border-radius 250ms, width 500ms, height 500ms cubic-bezier(0.5, 0, 0, 1)',\n visibility: 'hidden',\n selectors: {\n [HighContrastSelector]: {\n backgroundColor: 'Window',\n border: '2px solid WindowText',\n },\n [`.${IsFocusVisibleClassName} &:focus`]: {\n outline: `1px solid ${theme.palette.themeTertiary}`,\n },\n },\n },\n !isMeasuring &&\n isCollapsed && {\n width: COACHMARK_WIDTH,\n height: COACHMARK_HEIGHT,\n },\n !isMeasuring && {\n visibility: 'visible',\n },\n !isCollapsed && {\n borderRadius: '1px',\n opacity: '1',\n width: entityHostWidth,\n height: entityHostHeight,\n },\n ],\n entityInnerHost: [\n {\n transition: 'transform 500ms cubic-bezier(0.5, 0, 0, 1)',\n transformOrigin: transformOrigin,\n transform: 'scale(0)',\n },\n !isCollapsed && {\n width: entityHostWidth,\n height: entityHostHeight,\n transform: 'scale(1)',\n },\n !isMeasuring && {\n visibility: 'visible',\n },\n ],\n childrenContainer: [\n {\n display: !isMeasuring && isCollapsed ? 'none' : 'block',\n },\n ],\n ariaContainer: {\n position: 'fixed',\n opacity: 0,\n height: 0,\n width: 0,\n pointerEvents: 'none',\n },\n };\n}\n","import { memoizeFunction } from '../../../Utilities';\nimport { mergeStyleSets, focusClear, IStyle, HighContrastSelector } from '../../../Styling';\n\nexport interface IPositioningContainerStyles {\n /**\n * Style for the root element in the default enabled/unchecked state.\n */\n root?: IStyle;\n}\n\nexport interface IPositioningContainerNames {\n /**\n * Root html container for this component.\n */\n root: string;\n container: string;\n main: string;\n overFlowYHidden: string;\n beak?: string;\n beakCurtain?: string;\n}\n\nexport const getClassNames = memoizeFunction(\n (): IPositioningContainerNames => {\n return mergeStyleSets({\n root: [\n {\n position: 'absolute',\n boxSizing: 'border-box',\n border: '1px solid ${}',\n selectors: {\n [HighContrastSelector]: {\n border: '1px solid WindowText',\n },\n },\n },\n focusClear(),\n ],\n container: {\n position: 'relative',\n },\n main: {\n backgroundColor: '#ffffff',\n overflowX: 'hidden',\n overflowY: 'hidden',\n position: 'relative',\n },\n overFlowYHidden: {\n overflowY: 'hidden',\n },\n });\n },\n);\n","import * as React from 'react';\nimport { IPositioningContainerProps } from './PositioningContainer.types';\nimport { getClassNames } from './PositioningContainer.styles';\nimport { ZIndexes } from '../../../Styling';\nimport { Layer } from '../../../Layer';\n\n// Utilites/Helpers\nimport { DirectionalHint } from '../../../common/DirectionalHint';\nimport {\n Point,\n IRectangle,\n css,\n elementContains,\n focusFirstChild,\n EventGroup,\n getPropsWithDefaults,\n} from '../../../Utilities';\n\nimport {\n getMaxHeight,\n positionElement,\n IPositionedData,\n IPositionProps,\n IPosition,\n RectangleEdge,\n} from '../../../Positioning';\n\nimport { AnimationClassNames, mergeStyles } from '../../../Styling';\nimport { useMergedRefs, useAsync, useTarget } from '@fluentui/react-hooks';\n\nconst OFF_SCREEN_STYLE = { opacity: 0 };\n\n// In order for some of the max height logic to work properly we need to set the border.\n// The value is arbitrary.\nconst BORDER_WIDTH = 1;\nconst SLIDE_ANIMATIONS = {\n [RectangleEdge.top]: 'slideUpIn20',\n [RectangleEdge.bottom]: 'slideDownIn20',\n [RectangleEdge.left]: 'slideLeftIn20',\n [RectangleEdge.right]: 'slideRightIn20',\n} as const;\n\nconst DEFAULT_PROPS = {\n preventDismissOnScroll: false,\n offsetFromTarget: 0,\n minPagePadding: 8,\n directionalHint: DirectionalHint.bottomAutoEdge,\n};\n\nfunction useCachedBounds(props: IPositioningContainerProps, targetWindow: Window | undefined) {\n /** The bounds used when determining if and where the PositioningContainer should be placed. */\n const positioningBounds = React.useRef();\n\n const getCachedBounds = (): IRectangle => {\n if (!positioningBounds.current) {\n let currentBounds = props.bounds;\n\n if (!currentBounds) {\n currentBounds = {\n top: 0 + props.minPagePadding!,\n left: 0 + props.minPagePadding!,\n right: targetWindow!.innerWidth - props.minPagePadding!,\n bottom: targetWindow!.innerHeight - props.minPagePadding!,\n width: targetWindow!.innerWidth - props.minPagePadding! * 2,\n height: targetWindow!.innerHeight - props.minPagePadding! * 2,\n };\n }\n positioningBounds.current = currentBounds;\n }\n return positioningBounds.current;\n };\n\n return getCachedBounds;\n}\n\nfunction usePositionState(\n props: IPositioningContainerProps,\n positionedHost: React.RefObject,\n contentHost: React.RefObject,\n targetRef: React.RefObject,\n getCachedBounds: () => IRectangle,\n) {\n const async = useAsync();\n /**\n * Current set of calculated positions for the outermost parent container.\n */\n const [positions, setPositions] = React.useState();\n const positionAttempts = React.useRef(0);\n\n const updateAsyncPosition = (): void => {\n async.requestAnimationFrame(() => updatePosition());\n };\n\n const updatePosition = (): void => {\n const { offsetFromTarget, onPositioned } = props;\n const hostElement = positionedHost.current;\n const positioningContainerElement = contentHost.current;\n\n if (hostElement && positioningContainerElement) {\n const currentProps: IPositionProps = { ...props } as IPositionProps;\n currentProps!.bounds = getCachedBounds();\n currentProps!.target = targetRef.current!;\n const { target } = currentProps;\n\n if (target) {\n // Check if the target is an Element or a MouseEvent and the document contains it\n // or don't check anything else if the target is a Point or Rectangle\n if (\n (!(target as Element).getBoundingClientRect && !(target as MouseEvent).preventDefault) ||\n document.body.contains(target as Node)\n ) {\n currentProps!.gapSpace = offsetFromTarget;\n const newPositions: IPositionedData = positionElement(\n currentProps!,\n hostElement,\n positioningContainerElement,\n );\n // Set the new position only when the positions are not exists or one of the new positioningContainer\n // positions are different. The position should not change if the position is within 2 decimal places.\n if (\n (!positions && newPositions) ||\n (positions && newPositions && !arePositionsEqual(positions, newPositions) && positionAttempts.current < 5)\n ) {\n // We should not reposition the positioningContainer more than a few times, if it is then the content is\n // likely resizing and we should stop trying to reposition to prevent a stack overflow.\n positionAttempts.current++;\n setPositions(newPositions);\n onPositioned?.(newPositions);\n } else {\n positionAttempts.current = 0;\n onPositioned?.(newPositions);\n }\n } else if (positions !== undefined) {\n setPositions(undefined);\n }\n } else if (positions !== undefined) {\n setPositions(undefined);\n }\n }\n };\n\n React.useEffect(updateAsyncPosition);\n\n return [positions, updateAsyncPosition] as const;\n}\n\nfunction useSetInitialFocus(\n { setInitialFocus }: IPositioningContainerProps,\n contentHost: React.RefObject,\n positions: IPositionedData | undefined,\n) {\n const didSetInitialFocus = React.useRef(false);\n\n React.useEffect((): void => {\n if (!didSetInitialFocus.current && contentHost.current && setInitialFocus && positions) {\n didSetInitialFocus.current = true;\n focusFirstChild(contentHost.current);\n }\n });\n}\n\nfunction useMaxHeight(\n { directionalHintFixed, offsetFromTarget, directionalHint, target }: IPositioningContainerProps,\n targetRef: React.RefObject,\n getCachedBounds: () => IRectangle,\n) {\n /**\n * The maximum height the PositioningContainer can grow to\n * without going beyond the window or target bounds\n */\n const maxHeight = React.useRef();\n\n // If the target element changed, reset the max height. If we are tracking\n // target with class name, always reset because we do not know if\n // fabric has rendered a new element and disposed the old element.\n if (typeof target === 'string') {\n maxHeight.current = undefined;\n }\n React.useEffect(() => {\n maxHeight.current = undefined;\n }, [target, offsetFromTarget]);\n\n /**\n * Return the maximum height the container can grow to\n * without going out of the specified bounds\n */\n const getCachedMaxHeight = (): number => {\n if (!maxHeight.current) {\n if (directionalHintFixed && targetRef.current) {\n const gapSpace = offsetFromTarget ? offsetFromTarget : 0;\n maxHeight.current = getMaxHeight(targetRef.current, directionalHint!, gapSpace, getCachedBounds());\n } else {\n maxHeight.current = getCachedBounds().height! - BORDER_WIDTH * 2;\n }\n }\n return maxHeight.current!;\n };\n\n return getCachedMaxHeight;\n}\n\nfunction useAutoDismissEvents(\n { onDismiss, preventDismissOnScroll }: IPositioningContainerProps,\n positionedHost: React.RefObject,\n targetWindow: Window | undefined,\n targetRef: React.RefObject,\n positions: IPositionedData | undefined,\n updateAsyncPosition: () => void,\n) {\n const async = useAsync();\n\n const onResize = (ev?: Event | React.MouseEvent | React.KeyboardEvent): void => {\n if (onDismiss) {\n onDismiss(ev);\n } else {\n updateAsyncPosition();\n }\n };\n\n const dismissOnScroll = (ev: Event): void => {\n if (positions && !preventDismissOnScroll) {\n dismissOnLostFocus(ev);\n }\n };\n\n const dismissOnLostFocus = (ev: Event): void => {\n const target = ev.target as HTMLElement;\n const clickedOutsideCallout = positionedHost.current && !elementContains(positionedHost.current, target);\n\n if (\n (!targetRef.current && clickedOutsideCallout) ||\n (ev.target !== targetWindow &&\n clickedOutsideCallout &&\n ((targetRef.current as MouseEvent).stopPropagation ||\n !targetRef.current ||\n (target !== targetRef.current && !elementContains(targetRef.current as HTMLElement, target))))\n ) {\n onResize(ev);\n }\n };\n\n React.useEffect(() => {\n const events = new EventGroup({});\n // This is added so the positioningContainer will dismiss when the window is scrolled\n // but not when something inside the positioningContainer 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 positioningContainer.\n async.setTimeout(() => {\n events.on(targetWindow, 'scroll', async.throttle(dismissOnScroll, 10), true);\n events.on(targetWindow, 'resize', async.throttle(onResize, 10), true);\n events.on(targetWindow?.document?.body, 'focus', dismissOnLostFocus, true);\n events.on(targetWindow?.document?.body, 'click', dismissOnLostFocus, true);\n }, 0);\n\n return () => events.dispose();\n // eslint-disable-next-line react-hooks/exhaustive-deps -- should only run on mount\n }, []);\n}\n\nexport function useHeightOffset(\n { finalHeight }: IPositioningContainerProps,\n contentHost: React.RefObject,\n) {\n /**\n * Tracks the current height offset and updates during\n * the height animation when props.finalHeight is specified.\n */\n const [heightOffset, setHeightOffset] = React.useState(0);\n const async = useAsync();\n const setHeightOffsetTimer = React.useRef(0);\n\n /** Animates the height if finalHeight was given. */\n const setHeightOffsetEveryFrame = (): void => {\n if (contentHost && finalHeight) {\n setHeightOffsetTimer.current = async.requestAnimationFrame(() => {\n if (!contentHost.current) {\n return;\n }\n\n const positioningContainerMainElem = contentHost.current.lastChild as HTMLElement;\n const cardScrollHeight: number = positioningContainerMainElem.scrollHeight;\n const cardCurrHeight: number = positioningContainerMainElem.offsetHeight;\n const scrollDiff: number = cardScrollHeight - cardCurrHeight;\n\n setHeightOffset(heightOffset + scrollDiff);\n\n if (positioningContainerMainElem.offsetHeight < finalHeight) {\n setHeightOffsetEveryFrame();\n } else {\n async.cancelAnimationFrame(setHeightOffsetTimer.current);\n }\n });\n }\n };\n\n // eslint-disable-next-line react-hooks/exhaustive-deps -- should only re-run if finalHeight changes\n React.useEffect(setHeightOffsetEveryFrame, [finalHeight]);\n\n return heightOffset;\n}\n\nexport const PositioningContainer: React.FunctionComponent = React.forwardRef<\n HTMLDivElement,\n IPositioningContainerProps\n>((propsWithoutDefaults, forwardedRef) => {\n const props = getPropsWithDefaults(DEFAULT_PROPS, propsWithoutDefaults);\n\n // @TODO rename to reflect the name of this class\n const contentHost = React.useRef(null);\n /**\n * The primary positioned div.\n */\n const positionedHost = React.useRef(null);\n const rootRef = useMergedRefs(forwardedRef, positionedHost);\n\n const [targetRef, targetWindow] = useTarget(props.target, positionedHost);\n const getCachedBounds = useCachedBounds(props, targetWindow);\n const [positions, updateAsyncPosition] = usePositionState(\n props,\n positionedHost,\n contentHost,\n targetRef,\n getCachedBounds,\n );\n const getCachedMaxHeight = useMaxHeight(props, targetRef, getCachedBounds);\n const heightOffset = useHeightOffset(props, contentHost);\n\n useSetInitialFocus(props, contentHost, positions);\n useAutoDismissEvents(props, positionedHost, targetWindow, targetRef, positions, updateAsyncPosition);\n\n // eslint-disable-next-line react-hooks/exhaustive-deps -- should only run on initial render\n React.useEffect(() => props.onLayerMounted?.(), []);\n\n // If there is no target window then we are likely in server side rendering and we should not render anything.\n if (!targetWindow) {\n return null;\n }\n\n const { className, doNotLayer, positioningContainerWidth, positioningContainerMaxHeight, children } = props;\n\n const styles = getClassNames();\n\n const directionalClassName =\n positions && positions.targetEdge ? AnimationClassNames[SLIDE_ANIMATIONS[positions.targetEdge]] : '';\n\n const getContentMaxHeight: number = getCachedMaxHeight() + heightOffset!;\n const contentMaxHeight: number =\n positioningContainerMaxHeight! && positioningContainerMaxHeight! > getContentMaxHeight\n ? getContentMaxHeight\n : positioningContainerMaxHeight!;\n const content = (\n
    \n \n {children}\n {\n // @TODO apply to the content container\n contentMaxHeight\n }\n
    \n \n );\n\n return doNotLayer ? content : {content};\n});\nPositioningContainer.displayName = 'PositioningContainer';\n\nfunction arePositionsEqual(positions: IPositionedData, newPosition: IPositionedData): boolean {\n return comparePositions(positions.elementPosition, newPosition.elementPosition);\n}\n\nfunction comparePositions(oldPositions: IPosition, newPositions: IPosition): boolean {\n for (const key in newPositions) {\n if (newPositions.hasOwnProperty(key)) {\n const oldPositionEdge = oldPositions[key];\n const newPositionEdge = newPositions[key];\n\n if (oldPositionEdge && newPositionEdge) {\n if (oldPositionEdge.toFixed(2) !== newPositionEdge.toFixed(2)) {\n return false;\n }\n }\n }\n }\n return true;\n}\n","import { IStyle, HighContrastSelector } from '../../../Styling';\nimport { IBeakStylesProps } from './Beak.types';\n\nexport interface IBeakStyles {\n /**\n * Style for the root element in the default enabled/unchecked state.\n */\n root?: IStyle;\n beak?: IStyle;\n}\n\nexport function getStyles(props: IBeakStylesProps): IBeakStyles {\n return {\n root: [\n {\n position: 'absolute',\n boxShadow: 'inherit',\n border: 'none',\n boxSizing: 'border-box',\n transform: props.transform,\n width: props.width,\n height: props.height,\n left: props.left,\n top: props.top,\n right: props.right,\n bottom: props.bottom,\n },\n ],\n beak: {\n fill: props.color,\n display: 'block',\n selectors: {\n [HighContrastSelector]: {\n fill: 'windowtext',\n },\n },\n },\n };\n}\n","import * as React from 'react';\nimport { classNamesFunction } from '../../../Utilities';\nimport { IBeakProps } from './Beak.types';\nimport { getStyles, IBeakStyles } from './Beak.styles';\nimport { IBeakStylesProps } from './Beak.types';\nimport { RectangleEdge } from '../../../Positioning';\n\nexport const BEAK_HEIGHT = 10;\nexport const BEAK_WIDTH = 18;\n\nexport const Beak: React.FunctionComponent = React.forwardRef(\n (props, forwardedRef) => {\n const { left, top, bottom, right, color, direction = RectangleEdge.top } = props;\n\n let svgHeight: number;\n let svgWidth: number;\n\n if (direction === RectangleEdge.top || direction === RectangleEdge.bottom) {\n svgHeight = BEAK_HEIGHT;\n svgWidth = BEAK_WIDTH;\n } else {\n svgHeight = BEAK_WIDTH;\n svgWidth = BEAK_HEIGHT;\n }\n\n let pointOne: string;\n let pointTwo: string;\n let pointThree: string;\n let transform: string;\n\n switch (direction) {\n case RectangleEdge.top:\n default:\n pointOne = `${BEAK_WIDTH / 2}, 0`;\n pointTwo = `${BEAK_WIDTH}, ${BEAK_HEIGHT}`;\n pointThree = `0, ${BEAK_HEIGHT}`;\n transform = 'translateY(-100%)';\n break;\n case RectangleEdge.right:\n pointOne = `0, 0`;\n pointTwo = `${BEAK_HEIGHT}, ${BEAK_HEIGHT}`;\n pointThree = `0, ${BEAK_WIDTH}`;\n transform = 'translateX(100%)';\n break;\n case RectangleEdge.bottom:\n pointOne = `0, 0`;\n pointTwo = `${BEAK_WIDTH}, 0`;\n pointThree = `${BEAK_WIDTH / 2}, ${BEAK_HEIGHT}`;\n transform = 'translateY(100%)';\n break;\n case RectangleEdge.left:\n pointOne = `${BEAK_HEIGHT}, 0`;\n pointTwo = `0, ${BEAK_HEIGHT}`;\n pointThree = `${BEAK_HEIGHT}, ${BEAK_WIDTH}`;\n transform = 'translateX(-100%)';\n break;\n }\n\n const getClassNames = classNamesFunction();\n const classNames = getClassNames(getStyles, {\n left,\n top,\n bottom,\n right,\n height: `${svgHeight}px`,\n width: `${svgWidth}px`,\n transform: transform,\n color,\n });\n\n return (\n
    \n \n \n \n
    \n );\n },\n);\nBeak.displayName = 'Beak';\n","// Utilities\nimport * as React from 'react';\nimport {\n classNamesFunction,\n elementContains,\n focusFirstChild,\n getDocument,\n IRectangle,\n KeyCodes,\n getRTL,\n EventGroup,\n getPropsWithDefaults,\n} from '../../Utilities';\nimport { IPositionedData, RectangleEdge, getOppositeEdge } from '../../Positioning';\n\n// Component Dependencies\nimport { PositioningContainer } from './PositioningContainer/index';\nimport { Beak, BEAK_HEIGHT, BEAK_WIDTH } from './Beak/Beak';\nimport { DirectionalHint } from '../../common/DirectionalHint';\n\n// Coachmark\nimport { ICoachmarkProps, ICoachmarkStyles, ICoachmarkStyleProps } from './Coachmark.types';\nimport { COACHMARK_HEIGHT, COACHMARK_WIDTH } from './Coachmark.styles';\nimport { FocusTrapZone } from '../../FocusTrapZone';\nimport { useAsync, useOnEvent, useSetTimeout, useWarnings } from '@fluentui/react-hooks';\nimport { IBeakProps } from './Beak/Beak.types';\n\nconst getClassNames = classNamesFunction();\n\nexport const COACHMARK_ATTRIBUTE_NAME = 'data-coachmarkid';\n\n/**\n * An interface for the cached dimensions of entity inner host.\n */\nexport interface IEntityRect {\n width?: number;\n height?: number;\n}\n\ntype BeakPosition = Pick;\n\nconst DEFAULT_PROPS: Partial = {\n isCollapsed: true,\n mouseProximityOffset: 10,\n delayBeforeMouseOpen: 3600, // The approximate time the coachmark shows up\n delayBeforeCoachmarkAnimation: 0,\n isPositionForced: true,\n positioningContainerProps: {\n directionalHint: DirectionalHint.bottomAutoEdge,\n },\n};\n\nfunction useCollapsedState(props: ICoachmarkProps, entityInnerHostElementRef: React.RefObject) {\n const { isCollapsed: propsIsCollapsed, onAnimationOpenStart, onAnimationOpenEnd } = props;\n\n /** Is the Coachmark currently collapsed into a tear drop shape */\n const [isCollapsed, setIsCollapsed] = React.useState(!!propsIsCollapsed);\n const { setTimeout } = useSetTimeout();\n\n // Rather than pushing out logic elsewhere to prevent openCoachmark from being called repeatedly,\n // we'll track it here and only invoke the logic once. We do this with a ref, rather than just the state,\n // because the openCoachmark callback can be captured in scope for an effect\n const hasCoachmarkBeenOpened = React.useRef(!isCollapsed);\n\n const openCoachmark = React.useCallback(() => {\n if (!hasCoachmarkBeenOpened.current) {\n setIsCollapsed(false);\n\n onAnimationOpenStart?.();\n\n entityInnerHostElementRef.current?.addEventListener?.('transitionend', (): void => {\n // Need setTimeout to trigger narrator\n setTimeout(() => {\n if (entityInnerHostElementRef.current) {\n focusFirstChild(entityInnerHostElementRef.current);\n }\n }, 1000);\n\n onAnimationOpenEnd?.();\n });\n hasCoachmarkBeenOpened.current = true;\n }\n }, [entityInnerHostElementRef, onAnimationOpenEnd, onAnimationOpenStart, setTimeout]);\n\n React.useEffect(() => {\n if (!propsIsCollapsed) {\n openCoachmark();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps -- should only run if isCollapsed changes\n }, [propsIsCollapsed]);\n\n return [isCollapsed, openCoachmark] as const;\n}\n\nfunction usePositionedData() {\n const async = useAsync();\n\n /**\n * Alignment edge of callout in relation to target\n */\n const [targetAlignment, setTargetAlignment] = React.useState();\n /**\n * Position of Coachmark/TeachingBubble in relation to target\n */\n const [targetPosition, setTargetPosition] = React.useState();\n\n const onPositioned = ({ alignmentEdge, targetEdge }: IPositionedData) =>\n async.requestAnimationFrame(() => {\n setTargetAlignment(alignmentEdge);\n setTargetPosition(targetEdge);\n });\n\n return [targetAlignment, targetPosition, onPositioned] as const;\n}\n\nfunction useBeakPosition(\n props: ICoachmarkProps,\n targetAlignment: RectangleEdge | undefined,\n targetPosition: RectangleEdge | undefined,\n) {\n const isRTL = getRTL(props.theme);\n\n return React.useMemo(() => {\n const beakDirection = targetPosition === undefined ? RectangleEdge.bottom : getOppositeEdge(targetPosition);\n\n const beakPosition: BeakPosition = { direction: beakDirection };\n\n let transformOriginX: string;\n let transformOriginY: string;\n\n const distanceAdjustment = '3px'; // Adjustment distance for Beak to shift towards Coachmark bubble.\n\n switch (beakDirection) {\n // If Beak is pointing Up or Down\n case RectangleEdge.top:\n case RectangleEdge.bottom:\n // If there is no target alignment, then beak is X-axis centered in callout\n if (!targetAlignment) {\n beakPosition.left = `calc(50% - ${BEAK_WIDTH / 2}px)`;\n transformOriginX = 'center';\n } else {\n // Beak is aligned to the left of target\n if (targetAlignment === RectangleEdge.left) {\n beakPosition.left = `${COACHMARK_WIDTH / 2 - BEAK_WIDTH / 2}px`;\n transformOriginX = 'left';\n } else {\n // Beak is aligned to the right of target\n beakPosition.right = `${COACHMARK_WIDTH / 2 - BEAK_WIDTH / 2}px`;\n transformOriginX = 'right';\n }\n }\n\n if (beakDirection === RectangleEdge.top) {\n beakPosition.top = distanceAdjustment;\n transformOriginY = 'top';\n } else {\n beakPosition.bottom = distanceAdjustment;\n transformOriginY = 'bottom';\n }\n break;\n // If Beak is pointing Left or Right\n case RectangleEdge.left:\n case RectangleEdge.right:\n // If there is no target alignment, then beak is Y-axis centered in callout\n if (!targetAlignment) {\n beakPosition.top = `calc(50% - ${BEAK_WIDTH / 2}px)`;\n transformOriginY = `center`;\n } else {\n // Beak is aligned to the top of target\n if (targetAlignment === RectangleEdge.top) {\n beakPosition.top = `${COACHMARK_WIDTH / 2 - BEAK_WIDTH / 2}px`;\n transformOriginY = `top`;\n } else {\n // Beak is aligned to the bottom of target\n beakPosition.bottom = `${COACHMARK_WIDTH / 2 - BEAK_WIDTH / 2}px`;\n transformOriginY = `bottom`;\n }\n }\n\n if (beakDirection === RectangleEdge.left) {\n if (isRTL) {\n beakPosition.right = distanceAdjustment;\n } else {\n beakPosition.left = distanceAdjustment;\n }\n transformOriginX = 'left';\n } else {\n if (isRTL) {\n beakPosition.left = distanceAdjustment;\n } else {\n beakPosition.right = distanceAdjustment;\n }\n transformOriginX = 'right';\n }\n break;\n }\n\n return [beakPosition as Readonly, `${transformOriginX} ${transformOriginY}`] as const;\n }, [targetAlignment, targetPosition, isRTL]);\n}\n\nfunction useListeners(\n props: ICoachmarkProps,\n translateAnimationContainer: React.RefObject,\n openCoachmark: () => void,\n) {\n const document = getDocument()?.documentElement;\n\n useOnEvent(\n document,\n 'keydown',\n (e: KeyboardEvent) => {\n // Open coachmark if user presses ALT + C (arbitrary keypress for now)\n if (\n // eslint-disable-next-line deprecation/deprecation\n (e.altKey && e.which === KeyCodes.c) ||\n // eslint-disable-next-line deprecation/deprecation\n (e.which === KeyCodes.enter && translateAnimationContainer.current?.contains?.(e.target as Node))\n ) {\n openCoachmark();\n }\n },\n true,\n );\n\n const dismissOnLostFocus = (ev: Event) => {\n if (props.preventDismissOnLostFocus) {\n const clickTarget = ev.target as HTMLElement;\n const clickedOutsideCallout =\n translateAnimationContainer.current && !elementContains(translateAnimationContainer.current, clickTarget);\n\n const { target } = props;\n\n if (clickedOutsideCallout && clickTarget !== target && !elementContains(target as HTMLElement, clickTarget)) {\n props.onDismiss?.(ev);\n }\n }\n };\n\n useOnEvent(document, 'click', dismissOnLostFocus, true);\n useOnEvent(document, 'focus', dismissOnLostFocus, true);\n}\n\nfunction useProximityHandlers(\n props: ICoachmarkProps,\n translateAnimationContainer: React.RefObject,\n openCoachmark: () => void,\n) {\n const { setTimeout, clearTimeout } = useSetTimeout();\n\n /** The target element the mouse would be in proximity to */\n const targetElementRect = React.useRef();\n\n React.useEffect(() => {\n const setTargetElementRect = (): void => {\n if (translateAnimationContainer.current) {\n targetElementRect.current = translateAnimationContainer.current.getBoundingClientRect();\n }\n };\n\n const events = new EventGroup({});\n\n // We don't want the user to immediately trigger the Coachmark when it's opened\n setTimeout(() => {\n const { mouseProximityOffset = 0 } = props;\n\n /** Cached ids returned when setTimeout runs during the window resize event trigger. */\n const timeoutIds: number[] = [];\n\n // Take the initial measure out of the initial render to prevent an unnecessary render.\n setTimeout(() => {\n setTargetElementRect();\n\n // When the window resizes we want to async get the bounding client rectangle.\n // Every time the event is triggered we want to setTimeout and then clear any previous\n // instances of setTimeout.\n events.on(window, 'resize', (): void => {\n timeoutIds.forEach((value: number): void => {\n clearTimeout(value);\n });\n timeoutIds.splice(0, timeoutIds.length); // clear array\n\n timeoutIds.push(\n setTimeout((): void => {\n setTargetElementRect();\n }, 100),\n );\n });\n }, 10);\n\n // Every time the document's mouse move is triggered, we want to check if inside of an element\n // and set the state with the result.\n events.on(document, 'mousemove', (e: MouseEvent) => {\n const mouseY = e.clientY;\n const mouseX = e.clientX;\n setTargetElementRect();\n\n if (isInsideElement(targetElementRect.current!, mouseX, mouseY, mouseProximityOffset)) {\n openCoachmark();\n }\n\n props.onMouseMove?.(e);\n });\n }, props.delayBeforeMouseOpen!);\n\n return () => events.dispose();\n // eslint-disable-next-line react-hooks/exhaustive-deps -- should only run on mount\n }, []);\n}\n\nfunction useComponentRef(props: ICoachmarkProps) {\n const { onDismiss } = props;\n React.useImperativeHandle(\n props.componentRef,\n (ev?: Event | React.MouseEvent | React.KeyboardEvent) => ({\n dismiss() {\n onDismiss?.(ev);\n },\n }),\n [onDismiss],\n );\n}\n\nfunction useAriaAlert({ ariaAlertText }: ICoachmarkProps) {\n const async = useAsync();\n\n /** ARIA alert text to read aloud with Narrator once the Coachmark is mounted */\n const [alertText, setAlertText] = React.useState();\n\n React.useEffect(() => {\n // Need to add RAF to have narrator read change in alert container\n async.requestAnimationFrame(() => {\n setAlertText(ariaAlertText);\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps -- should only run on mount\n }, []);\n\n return alertText;\n}\n\nfunction useAutoFocus({ preventFocusOnMount }: ICoachmarkProps) {\n const { setTimeout } = useSetTimeout();\n\n /**\n * The cached HTMLElement reference to the Entity Inner Host\n * element.\n */\n const entityHost = React.useRef(null);\n\n React.useEffect(() => {\n if (!preventFocusOnMount) {\n setTimeout(() => entityHost.current?.focus(), 1000);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps -- should only run on mount\n }, []);\n\n return entityHost;\n}\n\nfunction useEntityHostMeasurements(props: ICoachmarkProps, entityInnerHostElementRef: React.RefObject) {\n /** Is the teaching bubble currently retrieving the original dimensions of the hosted entity. */\n const [isMeasuring, setIsMeasuring] = React.useState(!!props.isCollapsed);\n /** Cached width and height of _entityInnerHostElement */\n const [entityInnerHostRect, setEntityInnerHostRect] = React.useState(\n props.isCollapsed ? { width: 0, height: 0 } : {},\n );\n const async = useAsync();\n\n React.useEffect(() => {\n async.requestAnimationFrame(() => {\n if (entityInnerHostElementRef.current) {\n setEntityInnerHostRect({\n width: entityInnerHostElementRef.current.offsetWidth,\n height: entityInnerHostElementRef.current.offsetHeight,\n });\n setIsMeasuring(false);\n }\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps -- should only run on mount\n }, []);\n\n return [isMeasuring, entityInnerHostRect] as const;\n}\n\nfunction useDeprecationWarning(props: ICoachmarkProps) {\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks -- build-time conditional\n useWarnings({\n name: COMPONENT_NAME,\n props,\n deprecations: {\n teachingBubbleRef: undefined,\n collapsed: 'isCollapsed',\n beakWidth: undefined,\n beakHeight: undefined,\n width: undefined,\n height: undefined,\n },\n });\n }\n}\n\nconst COMPONENT_NAME = 'CoachmarkBase';\n\nexport const CoachmarkBase: React.FunctionComponent = React.forwardRef<\n HTMLDivElement,\n ICoachmarkProps\n>((propsWithoutDefaults, forwardedRef) => {\n const props = getPropsWithDefaults(DEFAULT_PROPS, propsWithoutDefaults);\n\n const entityInnerHostElementRef = React.useRef(null);\n const translateAnimationContainer = React.useRef(null);\n\n const [targetAlignment, targetPosition, onPositioned] = usePositionedData();\n const [isCollapsed, openCoachmark] = useCollapsedState(props, entityInnerHostElementRef);\n const [beakPositioningProps, transformOrigin] = useBeakPosition(props, targetAlignment, targetPosition);\n const [isMeasuring, entityInnerHostRect] = useEntityHostMeasurements(props, entityInnerHostElementRef);\n const alertText = useAriaAlert(props);\n const entityHost = useAutoFocus(props);\n\n useListeners(props, translateAnimationContainer, openCoachmark);\n useComponentRef(props);\n useProximityHandlers(props, translateAnimationContainer, openCoachmark);\n useDeprecationWarning(props);\n\n const {\n beaconColorOne,\n beaconColorTwo,\n children,\n target,\n color,\n positioningContainerProps,\n ariaDescribedBy,\n ariaDescribedByText,\n ariaLabelledBy,\n ariaLabelledByText,\n ariaAlertText,\n delayBeforeCoachmarkAnimation,\n styles,\n theme,\n className,\n persistentBeak,\n } = props;\n\n // Defaulting the main background before passing it to the styles because it is used for `Beak` too.\n let defaultColor = color;\n if (!defaultColor && theme) {\n defaultColor = theme.semanticColors.primaryButtonBackground;\n }\n\n const classNames = getClassNames(styles, {\n theme,\n beaconColorOne,\n beaconColorTwo,\n className,\n isCollapsed,\n isMeasuring,\n color: defaultColor,\n transformOrigin,\n entityHostHeight: entityInnerHostRect.height === undefined ? undefined : `${entityInnerHostRect.height}px`,\n entityHostWidth: entityInnerHostRect.width === undefined ? undefined : `${entityInnerHostRect.width}px`,\n width: `${COACHMARK_WIDTH}px`,\n height: `${COACHMARK_HEIGHT}px`,\n delayBeforeCoachmarkAnimation: `${delayBeforeCoachmarkAnimation}ms`,\n });\n\n const finalHeight: number | undefined = isCollapsed ? COACHMARK_HEIGHT : entityInnerHostRect.height;\n\n return (\n \n
    \n {ariaAlertText && (\n
    \n {alertText}\n
    \n )}\n
    \n
    \n
    \n
    \n {(isCollapsed || persistentBeak) && }\n \n {isCollapsed && [\n ariaLabelledBy && (\n

    \n {ariaLabelledByText}\n

    \n ),\n ariaDescribedBy && (\n

    \n {ariaDescribedByText}\n

    \n ),\n ]}\n \n
    \n
    \n {children}\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n );\n});\nCoachmarkBase.displayName = COMPONENT_NAME;\n\nfunction getBounds({ isPositionForced, positioningContainerProps }: ICoachmarkProps): IRectangle | undefined {\n if (isPositionForced) {\n // If directionalHint direction is the top or bottom auto edge, then we want to set the left/right bounds\n // to the window x-axis to have auto positioning work correctly.\n if (\n positioningContainerProps &&\n (positioningContainerProps.directionalHint === DirectionalHint.topAutoEdge ||\n positioningContainerProps.directionalHint === DirectionalHint.bottomAutoEdge)\n ) {\n return {\n left: 0,\n top: -Infinity,\n bottom: Infinity,\n right: window.innerWidth,\n width: window.innerWidth,\n height: Infinity,\n };\n } else {\n return {\n left: -Infinity,\n top: -Infinity,\n bottom: Infinity,\n right: Infinity,\n width: Infinity,\n height: Infinity,\n };\n }\n } else {\n return undefined;\n }\n}\n\nfunction isInsideElement(\n targetElementRect: ClientRect,\n mouseX: number,\n mouseY: number,\n mouseProximityOffset: number = 0,\n): boolean {\n return (\n mouseX > targetElementRect.left - mouseProximityOffset &&\n mouseX < targetElementRect.left + targetElementRect.width + mouseProximityOffset &&\n mouseY > targetElementRect.top - mouseProximityOffset &&\n mouseY < targetElementRect.top + targetElementRect.height + mouseProximityOffset\n );\n}\n","import * as React from 'react';\nimport { styled } from '../../Utilities';\nimport { ICoachmarkProps, ICoachmarkStyleProps, ICoachmarkStyles } from './Coachmark.types';\nimport { getStyles } from './Coachmark.styles';\nimport { CoachmarkBase } from './Coachmark.base';\n\nexport const Coachmark: React.FunctionComponent = styled<\n ICoachmarkProps,\n ICoachmarkStyleProps,\n ICoachmarkStyles\n>(CoachmarkBase, getStyles, undefined, {\n scope: 'Coachmark',\n});\n","export const MAX_COLOR_SATURATION = 100;\nexport const MAX_COLOR_HUE = 359;\nexport const MAX_COLOR_VALUE = 100;\nexport const MAX_COLOR_RGB = 255;\n/** @deprecated Use MAX_COLOR_RGB (255) or MAX_COLOR_ALPHA (100) */\nexport const MAX_COLOR_RGBA = MAX_COLOR_RGB;\nexport const MAX_COLOR_ALPHA = 100;\n\n/** Minimum length for a hexadecimal color string (not including the #) */\nexport const MIN_HEX_LENGTH = 3;\n/** Maximum length for a hexadecimal color string (not including the #) */\nexport const MAX_HEX_LENGTH = 6;\n/** Minimum length for a string of an RGBA color component */\nexport const MIN_RGBA_LENGTH = 1;\n/** Maximum length for a string of an RGBA color component */\nexport const MAX_RGBA_LENGTH = 3;\n\n/** Regular expression matching only valid hexadecimal chars */\nexport const HEX_REGEX = /^[\\da-f]{0,6}$/i;\n/** Regular expression matching only numbers */\nexport const RGBA_REGEX = /^\\d{0,3}$/;\n","import { IHSV } from './interfaces';\n\n/** Converts HSL components to an HSV color. */\nexport function hsl2hsv(h: number, s: number, l: number): IHSV {\n s *= (l < 50 ? l : 100 - l) / 100;\n const v = l + s;\n\n return {\n h: h,\n s: v === 0 ? 0 : ((2 * s) / v) * 100,\n v: v,\n };\n}\n","import { IRGB } from './interfaces';\nimport { MAX_COLOR_RGB } from './consts';\n\n/** Converts HSV components to an RGB color. Does not set the alpha value. */\nexport function hsv2rgb(h: number, s: number, v: number): IRGB {\n s = s / 100;\n v = v / 100;\n\n let rgb: number[] = [];\n\n const c = v * s;\n const hh = h / 60;\n const x = c * (1 - Math.abs((hh % 2) - 1));\n const m = v - c;\n\n switch (Math.floor(hh)) {\n case 0:\n rgb = [c, x, 0];\n break;\n\n case 1:\n rgb = [x, c, 0];\n break;\n\n case 2:\n rgb = [0, c, x];\n break;\n\n case 3:\n rgb = [0, x, c];\n break;\n\n case 4:\n rgb = [x, 0, c];\n break;\n\n case 5:\n rgb = [c, 0, x];\n break;\n }\n\n return {\n r: Math.round(MAX_COLOR_RGB * (rgb[0] + m)),\n g: Math.round(MAX_COLOR_RGB * (rgb[1] + m)),\n b: Math.round(MAX_COLOR_RGB * (rgb[2] + m)),\n };\n}\n","import { IRGB } from './interfaces';\nimport { hsl2hsv } from './hsl2hsv';\nimport { hsv2rgb } from './hsv2rgb';\n\n/** Converts HSL components to an RGB color. Does not set the alpha value. */\nexport function hsl2rgb(h: number, s: number, l: number): IRGB {\n const hsv = hsl2hsv(h, s, l);\n\n return hsv2rgb(hsv.h, hsv.s, hsv.v);\n}\n","import { IRGB } from './interfaces';\nimport { MAX_COLOR_ALPHA } from './consts';\nimport { hsl2rgb } from './hsl2rgb';\n\n/**\n * Converts a valid CSS color string to an RGB color.\n * Note that hex colors *must* be prefixed with # to be considered valid.\n * Alpha in returned color defaults to 100.\n * Four and eight digit hex values (with alpha) are supported if the current browser supports them.\n */\nexport function cssColor(color?: string): IRGB | undefined {\n if (!color) {\n return undefined;\n }\n\n // Need to check the following valid color formats: RGB(A), HSL(A), hex, named color\n\n // First check for well formatted RGB(A), HSL(A), and hex formats at the start.\n // This is for perf (no creating an element) and catches the intentional \"transparent\" color\n // case early on.\n const easyColor: IRGB | undefined = _rgba(color) || _hex6(color) || _hex3(color) || _hsla(color);\n if (easyColor) {\n return easyColor;\n }\n\n // if the above fails, do the more expensive catch-all\n return _browserCompute(color);\n}\n\n/**\n * Uses the browser's getComputedStyle() to determine what the passed-in color is.\n * This assumes _rgba, _hex6, _hex3, and _hsla have already been tried and all failed.\n * This works by attaching an element to the DOM, which may fail in server-side rendering\n * or with headless browsers.\n */\nfunction _browserCompute(str: string): IRGB | undefined {\n if (typeof document === 'undefined') {\n // don't throw an error when used server-side\n return undefined;\n }\n const elem = document.createElement('div');\n elem.style.backgroundColor = str;\n // This element must be attached to the DOM for getComputedStyle() to have a value\n elem.style.position = 'absolute';\n elem.style.top = '-9999px';\n elem.style.left = '-9999px';\n elem.style.height = '1px';\n elem.style.width = '1px';\n document.body.appendChild(elem);\n const eComputedStyle = getComputedStyle(elem);\n const computedColor = eComputedStyle && eComputedStyle.backgroundColor;\n document.body.removeChild(elem);\n // computedColor is always an RGB(A) string, except for invalid colors in IE/Edge which return 'transparent'\n\n // browsers return one of these if the color string is invalid,\n // so need to differentiate between an actual error and intentionally passing in this color\n if (computedColor === 'rgba(0, 0, 0, 0)' || computedColor === 'transparent') {\n switch (str.trim()) {\n // RGB and HSL were already checked at the start of the function\n case 'transparent':\n case '#0000':\n case '#00000000':\n return { r: 0, g: 0, b: 0, a: 0 };\n }\n return undefined;\n }\n\n return _rgba(computedColor);\n}\n\n/**\n * If `str` is in valid `rgb()` or `rgba()` format, returns an RGB color (alpha defaults to 100).\n * Otherwise returns undefined.\n */\nfunction _rgba(str?: string | null): IRGB | undefined {\n if (!str) {\n return undefined;\n }\n\n const match = str.match(/^rgb(a?)\\(([\\d., ]+)\\)$/);\n if (match) {\n const hasAlpha = !!match[1];\n const expectedPartCount = hasAlpha ? 4 : 3;\n const parts = match[2].split(/ *, */).map(Number);\n\n if (parts.length === expectedPartCount) {\n return {\n r: parts[0],\n g: parts[1],\n b: parts[2],\n a: hasAlpha ? parts[3] * 100 : MAX_COLOR_ALPHA,\n };\n }\n }\n}\n\n/**\n * If `str` is in `hsl()` or `hsla()` format, returns an RGB color (alpha defaults to 100).\n * Otherwise returns undefined.\n */\nfunction _hsla(str: string): IRGB | undefined {\n const match = str.match(/^hsl(a?)\\(([\\d., ]+)\\)$/);\n if (match) {\n const hasAlpha = !!match[1];\n const expectedPartCount = hasAlpha ? 4 : 3;\n const parts = match[2].split(/ *, */).map(Number);\n\n if (parts.length === expectedPartCount) {\n const rgba = hsl2rgb(parts[0], parts[1], parts[2]);\n rgba.a = hasAlpha ? parts[3] * 100 : MAX_COLOR_ALPHA;\n return rgba;\n }\n }\n}\n\n/**\n * If `str` is in valid 6-digit hex format *with* # prefix, returns an RGB color (with alpha 100).\n * Otherwise returns undefined.\n */\nfunction _hex6(str: string): IRGB | undefined {\n if (str[0] === '#' && str.length === 7 && /^#[\\da-fA-F]{6}$/.test(str)) {\n return {\n r: parseInt(str.slice(1, 3), 16),\n g: parseInt(str.slice(3, 5), 16),\n b: parseInt(str.slice(5, 7), 16),\n a: MAX_COLOR_ALPHA,\n };\n }\n}\n\n/**\n * If `str` is in valid 3-digit hex format *with* # prefix, returns an RGB color (with alpha 100).\n * Otherwise returns undefined.\n */\nfunction _hex3(str: string): IRGB | undefined {\n if (str[0] === '#' && str.length === 4 && /^#[\\da-fA-F]{3}$/.test(str)) {\n return {\n r: parseInt(str[1] + str[1], 16),\n g: parseInt(str[2] + str[2], 16),\n b: parseInt(str[3] + str[3], 16),\n a: MAX_COLOR_ALPHA,\n };\n }\n}\n","/** Clamp a value to ensure it falls within a given range. */\nexport function clamp(value: number, max: number, min = 0): number {\n return value < min ? min : value > max ? max : value;\n}\n","import { MAX_COLOR_RGB } from './consts';\nimport { clamp } from './clamp';\n\n/** Converts RGB components to a hex color string (without # prefix). */\nexport function rgb2hex(r: number, g: number, b: number): string {\n return [_rgbToPaddedHex(r), _rgbToPaddedHex(g), _rgbToPaddedHex(b)].join('');\n}\n\n/** Converts an RGB component to a 0-padded hex component of length 2. */\nfunction _rgbToPaddedHex(num: number): string {\n num = clamp(num, MAX_COLOR_RGB);\n const hex = num.toString(16);\n\n return hex.length === 1 ? '0' + hex : hex;\n}\n","import { hsv2rgb } from './hsv2rgb';\nimport { rgb2hex } from './rgb2hex';\n\n/** Converts HSV components to a hex color string (without # prefix). */\nexport function hsv2hex(h: number, s: number, v: number): string {\n const { r, g, b } = hsv2rgb(h, s, v);\n\n return rgb2hex(r, g, b);\n}\n","import { IHSV } from './interfaces';\nimport { MAX_COLOR_RGB } from './consts';\n\n/** Converts RGB components to an HSV color. */\nexport function rgb2hsv(r: number, g: number, b: number): IHSV {\n let h = NaN;\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n const delta = max - min;\n\n // hue\n if (delta === 0) {\n h = 0;\n } else if (r === max) {\n h = ((g - b) / delta) % 6;\n } else if (g === max) {\n h = (b - r) / delta + 2;\n } else if (b === max) {\n h = (r - g) / delta + 4;\n }\n\n h = Math.round(h * 60);\n\n if (h < 0) {\n h += 360;\n }\n\n // saturation\n const s = Math.round((max === 0 ? 0 : delta / max) * 100);\n\n // value\n const v = Math.round((max / MAX_COLOR_RGB) * 100);\n\n return { h, s, v };\n}\n","import { IHSL } from './interfaces';\nimport { MAX_COLOR_SATURATION, MAX_COLOR_VALUE } from './consts';\n\n/** Converts HSV components to an HSL color. */\nexport function hsv2hsl(h: number, s: number, v: number): IHSL {\n s /= MAX_COLOR_SATURATION;\n v /= MAX_COLOR_VALUE;\n\n let l = (2 - s) * v;\n let sl = s * v;\n sl /= l <= 1 ? l : 2 - l;\n sl = sl || 0;\n l /= 2;\n\n return { h: h, s: sl * 100, l: l * 100 };\n}\n","import { MAX_COLOR_ALPHA } from './consts';\n\n/**\n * @internal\n * Get a CSS color string from some color components.\n * If `a` is specified and not 100, returns an `rgba()` string.\n * Otherwise returns `hex` prefixed with #.\n */\nexport function _rgbaOrHexString(r: number, g: number, b: number, a: number | undefined, hex: string): string {\n return a === MAX_COLOR_ALPHA || typeof a !== 'number' ? `#${hex}` : `rgba(${r}, ${g}, ${b}, ${a / MAX_COLOR_ALPHA})`;\n}\n","import { IRGB, IColor } from './interfaces';\nimport { MAX_COLOR_ALPHA } from './consts';\nimport { rgb2hsv } from './rgb2hsv';\nimport { rgb2hex } from './rgb2hex';\nimport { _rgbaOrHexString } from './_rgbaOrHexString';\n\n/** Converts an RGBA color to a color object (alpha defaults to 100). */\nexport function getColorFromRGBA(rgba: IRGB): IColor {\n const { a = MAX_COLOR_ALPHA, b, g, r } = rgba;\n const { h, s, v } = rgb2hsv(r, g, b);\n const hex = rgb2hex(r, g, b);\n const str = _rgbaOrHexString(r, g, b, a, hex);\n const t = MAX_COLOR_ALPHA - a;\n\n return { a, b, g, h, hex, r, s, str, v, t };\n}\n","import { IColor } from './interfaces';\nimport { cssColor } from './cssColor';\nimport { getColorFromRGBA } from './getColorFromRGBA';\n\n/**\n * Converts a CSS color string to a color object.\n * Note that hex colors *must* be prefixed with # to be considered valid.\n *\n * `inputColor` will be used unmodified as the `str` property of the returned object.\n * Alpha defaults to 100 if not specified in `inputColor`.\n * Returns undefined if the color string is invalid/not recognized.\n */\nexport function getColorFromString(inputColor: string): IColor | undefined {\n const color = cssColor(inputColor);\n\n if (!color) {\n return;\n }\n\n return {\n ...getColorFromRGBA(color!),\n str: inputColor,\n };\n}\n","import { IHSV, IColor } from './interfaces';\nimport { MAX_COLOR_ALPHA } from './consts';\nimport { hsv2rgb } from './hsv2rgb';\nimport { hsv2hex } from './hsv2hex';\nimport { _rgbaOrHexString } from './_rgbaOrHexString';\n\n/**\n * Converts an HSV color (and optional alpha value) to a color object.\n * If `a` is not given, a default of 100 is used.\n * Hex in the returned value will *not* be prefixed with #.\n * If `a` is unspecified or 100, the result's `str` property will contain a hex value\n * (*not* prefixed with #)\n */\nexport function getColorFromHSV(hsv: IHSV, a?: number): IColor {\n const { h, s, v } = hsv;\n a = typeof a === 'number' ? a : MAX_COLOR_ALPHA;\n\n const { r, g, b } = hsv2rgb(h, s, v);\n const hex = hsv2hex(h, s, v);\n const str = _rgbaOrHexString(r, g, b, a, hex);\n const t = MAX_COLOR_ALPHA - a;\n\n return { a, b, g, h, hex, r, s, str, v, t };\n}\n","import { IColor } from './interfaces';\nimport { MAX_COLOR_SATURATION, MAX_COLOR_VALUE } from './consts';\nimport { hsv2hex } from './hsv2hex';\n\n/**\n * Converts a color hue to an HTML color string (with # prefix).\n * This implementation ignores all components of `color` except hue.\n */\nexport function getFullColorString(color: IColor): string {\n return `#${hsv2hex(color.h, MAX_COLOR_SATURATION, MAX_COLOR_VALUE)}`;\n}\n","import { IColor } from './interfaces';\nimport { hsv2rgb } from './hsv2rgb';\nimport { rgb2hex } from './rgb2hex';\nimport { _rgbaOrHexString } from './_rgbaOrHexString';\n\n/**\n * Gets a color with the same hue as `color` and other components updated to match the given\n * saturation and value.\n *\n * Does not modify the original `color` and does not supply a default alpha value.\n */\nexport function updateSV(color: IColor, s: number, v: number): IColor {\n const { r, g, b } = hsv2rgb(color.h, s, v);\n const hex = rgb2hex(r, g, b);\n\n return {\n ...color,\n s,\n v,\n r,\n g,\n b,\n hex,\n str: _rgbaOrHexString(r, g, b, color.a, hex),\n };\n}\n","import { IColor } from './interfaces';\nimport { hsv2rgb } from './hsv2rgb';\nimport { rgb2hex } from './rgb2hex';\nimport { _rgbaOrHexString } from './_rgbaOrHexString';\n\n/**\n * Gets a color with the same saturation and value as `color` and the other components updated\n * to match the given hue.\n *\n * Does not modify the original `color` and does not supply a default alpha value.\n */\nexport function updateH(color: IColor, h: number): IColor {\n const { r, g, b } = hsv2rgb(h, color.s, color.v);\n const hex = rgb2hex(r, g, b);\n\n return {\n ...color,\n h,\n r,\n g,\n b,\n hex,\n str: _rgbaOrHexString(r, g, b, color.a, hex),\n };\n}\n","import { IColor, IRGB } from './interfaces';\nimport { getColorFromRGBA } from './getColorFromRGBA';\n\n/**\n * Gets a color with a single RGBA component updated to a new value.\n * Does not modify the original `color`. Alpha defaults to 100 if not set.\n */\nexport function updateRGB(color: IColor, component: keyof IRGB, value: number): IColor {\n return getColorFromRGBA({\n r: color.r,\n g: color.g,\n b: color.b,\n a: color.a,\n [component]: value,\n });\n}\n","import { IColor } from './interfaces';\nimport { _rgbaOrHexString } from './_rgbaOrHexString';\nimport { MAX_COLOR_ALPHA } from './consts';\n\n/**\n * Gets a color with the given alpha value and the same other components as `color`.\n * Does not modify the original color.\n */\nexport function updateA(color: IColor, a: number): IColor {\n return {\n ...color,\n a,\n t: MAX_COLOR_ALPHA - a,\n str: _rgbaOrHexString(color.r, color.g, color.b, a, color.hex),\n };\n}\n","import { IRGB } from './interfaces';\nimport { MAX_COLOR_ALPHA, MAX_COLOR_RGB } from './consts';\nimport { clamp } from './clamp';\n\n/** Corrects an RGB color to fall within the valid range. */\nexport function correctRGB(color: IRGB): IRGB {\n return {\n r: clamp(color.r, MAX_COLOR_RGB),\n g: clamp(color.g, MAX_COLOR_RGB),\n b: clamp(color.b, MAX_COLOR_RGB),\n a: typeof color.a === 'number' ? clamp(color.a, MAX_COLOR_ALPHA) : color.a,\n };\n}\n","import { IHSV } from './interfaces';\nimport { MAX_COLOR_HUE, MAX_COLOR_SATURATION, MAX_COLOR_VALUE } from './consts';\nimport { clamp } from './clamp';\n\n/** Corrects an HSV color to fall within the valid range. */\nexport function correctHSV(color: IHSV): IHSV {\n return {\n h: clamp(color.h, MAX_COLOR_HUE),\n s: clamp(color.s, MAX_COLOR_SATURATION),\n v: clamp(color.v, MAX_COLOR_VALUE),\n };\n}\n","import { MIN_HEX_LENGTH, MAX_HEX_LENGTH } from './consts';\n\n/**\n * Corrects a hex color to have length 3 or 6. Defaults to white if too short.\n * Does NOT check anything besides the length (such as valid characters) and does NOT handle\n * hex values starting with # sign.\n */\nexport function correctHex(hex: string): string {\n if (!hex || hex.length < MIN_HEX_LENGTH) {\n return 'ffffff'; // not a valid color--default to white\n }\n if (hex.length >= MAX_HEX_LENGTH) {\n return hex.substring(0, MAX_HEX_LENGTH);\n }\n return hex.substring(0, MIN_HEX_LENGTH);\n}\n","// Technically this should be shades and tints, but for simplicity we'll call everything a shade.\n/*\n * This utility module is used with theming. Given a color to shade, whether the theme is inverted\n * (i.e. is a dark color), and the desired shade enum, this will return an appropriate shade of that color.\n */\nimport { IHSV, IColor } from './interfaces';\nimport { MAX_COLOR_RGB } from './consts';\nimport { assign } from '../../Utilities';\nimport { clamp } from './clamp';\nimport { getColorFromRGBA } from './getColorFromRGBA';\nimport { hsv2hsl } from './hsv2hsl';\nimport { hsv2rgb } from './hsv2rgb';\n\n// Soften: to get closer to the background color's luminance\n// (softening with a white background would be lightening, with black it'd be darkening)\n// Strongen: opposite of soften\n\n// Luminance multiplier constants for generating shades of a given color\nconst WhiteShadeTableBG = [0.027, 0.043, 0.082, 0.145, 0.184, 0.216, 0.349, 0.537]; // white bg\nconst BlackTintTableBG = [0.537, 0.45, 0.349, 0.216, 0.184, 0.145, 0.082, 0.043]; // black bg\nconst WhiteShadeTable = [0.537, 0.349, 0.216, 0.184, 0.145, 0.082, 0.043, 0.027]; // white fg\nconst BlackTintTable = [0.537, 0.45, 0.349, 0.216, 0.184, 0.145, 0.082, 0.043]; // black fg\nconst LumTintTable = [0.88, 0.77, 0.66, 0.55, 0.44, 0.33, 0.22, 0.11]; // light (strongen all)\nconst LumShadeTable = [0.11, 0.22, 0.33, 0.44, 0.55, 0.66, 0.77, 0.88]; // dark (soften all)\nconst ColorTintTable = [0.96, 0.84, 0.7, 0.4, 0.12]; // default soften\nconst ColorShadeTable = [0.1, 0.24, 0.44]; // default strongen\n\n// If the given shade's luminance is below/above these values, we'll swap to using the White/Black tables above\nconst LowLuminanceThreshold = 0.2;\nconst HighLuminanceThreshold = 0.8;\n\n/** Shades of a given color, from softest to strongest. */\nexport enum Shade {\n Unshaded = 0,\n Shade1 = 1,\n Shade2 = 2,\n Shade3 = 3,\n Shade4 = 4,\n Shade5 = 5,\n Shade6 = 6,\n Shade7 = 7,\n Shade8 = 8,\n // remember to update isValidShade()!\n}\n\n/**\n * Returns true if the argument is a valid Shade value\n * @param shade - The Shade value to validate.\n */\nexport function isValidShade(shade?: Shade): boolean {\n return typeof shade === 'number' && shade >= Shade.Unshaded && shade <= Shade.Shade8;\n}\n\nfunction _isBlack(color: IColor): boolean {\n return color.r === 0 && color.g === 0 && color.b === 0;\n}\n\nfunction _isWhite(color: IColor): boolean {\n return color.r === MAX_COLOR_RGB && color.g === MAX_COLOR_RGB && color.b === MAX_COLOR_RGB;\n}\n\nfunction _darken(hsv: IHSV, factor: number): IHSV {\n return {\n h: hsv.h,\n s: hsv.s,\n v: clamp(hsv.v - hsv.v * factor, 100, 0),\n };\n}\n\nfunction _lighten(hsv: IHSV, factor: number): IHSV {\n return {\n h: hsv.h,\n s: clamp(hsv.s - hsv.s * factor, 100, 0),\n v: clamp(hsv.v + (100 - hsv.v) * factor, 100, 0),\n };\n}\n\nexport function isDark(color: IColor): boolean {\n return hsv2hsl(color.h, color.s, color.v).l < 50;\n}\n\n/**\n * Given a color and a shade specification, generates the requested shade of the color.\n * Logic:\n * if white\n * darken via tables defined above\n * if black\n * lighten\n * if light\n * strongen\n * if dark\n * soften\n * else default\n * soften or strongen depending on shade#\n * @param color - The base color whose shade is to be computed\n * @param shade - The shade of the base color to compute\n * @param isInverted - Default false. Whether the given theme is inverted (reverse strongen/soften logic)\n */\nexport function getShade(color: IColor, shade: Shade, isInverted: boolean = false): IColor | null {\n if (!color) {\n return null;\n }\n\n if (shade === Shade.Unshaded || !isValidShade(shade)) {\n return color;\n }\n\n const hsl = hsv2hsl(color.h, color.s, color.v);\n let hsv = { h: color.h, s: color.s, v: color.v };\n const tableIndex = shade - 1;\n let _soften = _lighten;\n let _strongen = _darken;\n if (isInverted) {\n _soften = _darken;\n _strongen = _lighten;\n }\n if (_isWhite(color)) {\n // white\n hsv = _darken(hsv, WhiteShadeTable[tableIndex]);\n } else if (_isBlack(color)) {\n // black\n hsv = _lighten(hsv, BlackTintTable[tableIndex]);\n } else if (hsl.l / 100 > HighLuminanceThreshold) {\n // light\n hsv = _strongen(hsv, LumShadeTable[tableIndex]);\n } else if (hsl.l / 100 < LowLuminanceThreshold) {\n // dark\n hsv = _soften(hsv, LumTintTable[tableIndex]);\n } else {\n // default\n if (tableIndex < ColorTintTable.length) {\n hsv = _soften(hsv, ColorTintTable[tableIndex]);\n } else {\n hsv = _strongen(hsv, ColorShadeTable[tableIndex - ColorTintTable.length]);\n }\n }\n\n return getColorFromRGBA(assign(hsv2rgb(hsv.h, hsv.s, hsv.v), { a: color.a }));\n}\n\n// Background shades/tints are generated differently. The provided color will be guaranteed\n// to be the darkest or lightest one. If it is <50% luminance, it will always be the darkest,\n// otherwise it will always be the lightest.\nexport function getBackgroundShade(color: IColor, shade: Shade, isInverted: boolean = false): IColor | null {\n if (!color) {\n return null;\n }\n\n if (shade === Shade.Unshaded || !isValidShade(shade)) {\n return color;\n }\n\n let hsv = { h: color.h, s: color.s, v: color.v };\n const tableIndex = shade - 1;\n if (!isInverted) {\n // lightish\n hsv = _darken(hsv, WhiteShadeTableBG[tableIndex]);\n } else {\n // default: if (hsl.l / 100 < .5) { // darkish\n hsv = _lighten(hsv, BlackTintTableBG[BlackTintTable.length - 1 - tableIndex]);\n }\n\n return getColorFromRGBA(assign(hsv2rgb(hsv.h, hsv.s, hsv.v), { a: color.a }));\n}\n\n/* Calculates the contrast ratio between two colors. Used for verifying\n * color pairs meet minimum accessibility requirements.\n * See: https://www.w3.org/TR/WCAG20/ section 1.4.3\n */\nexport function getContrastRatio(color1: IColor, color2: IColor): number {\n // Formula defined by: http://www.w3.org/TR/UNDERSTANDING-WCAG20/visual-audio-contrast-contrast.html#contrast-ratiodef\n // relative luminance: http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef\n\n /* calculate the intermediate value needed to calculating relative luminance */\n function _getThing(x: number): number {\n if (x <= 0.03928) {\n return x / 12.92;\n } else {\n return Math.pow((x + 0.055) / 1.055, 2.4);\n }\n }\n\n const r1 = _getThing(color1.r / MAX_COLOR_RGB);\n const g1 = _getThing(color1.g / MAX_COLOR_RGB);\n const b1 = _getThing(color1.b / MAX_COLOR_RGB);\n let L1 = 0.2126 * r1 + 0.7152 * g1 + 0.0722 * b1; // relative luminance of first color\n L1 += 0.05;\n\n const r2 = _getThing(color2.r / MAX_COLOR_RGB);\n const g2 = _getThing(color2.g / MAX_COLOR_RGB);\n const b2 = _getThing(color2.b / MAX_COLOR_RGB);\n let L2 = 0.2126 * r2 + 0.7152 * g2 + 0.0722 * b2; // relative luminance of second color\n L2 += 0.05;\n\n // return the lighter color divided by darker\n return L1 / L2 > 1 ? L1 / L2 : L2 / L1;\n}\n","import { IColor } from './interfaces';\nimport { _rgbaOrHexString } from './_rgbaOrHexString';\nimport { MAX_COLOR_ALPHA } from './consts';\n\n/**\n * Gets a color with the given transparency value and the same other components as `color`.\n * Does not modify the original color.\n */\nexport function updateT(color: IColor, t: number): IColor {\n const a = MAX_COLOR_ALPHA - t;\n return {\n ...color,\n t,\n a,\n str: _rgbaOrHexString(color.r, color.g, color.b, a, color.hex),\n };\n}\n","import * as React from 'react';\nimport { classNamesFunction, on, initializeComponentRef, KeyCodes, getId } from '../../../Utilities';\nimport {\n IColorRectangleProps,\n IColorRectangleStyleProps,\n IColorRectangleStyles,\n IColorRectangle,\n} from './ColorRectangle.types';\n\n// These imports are separated to help with bundling\nimport { IColor } from '../../../utilities/color/interfaces';\nimport { MAX_COLOR_SATURATION, MAX_COLOR_VALUE } from '../../../utilities/color/consts';\nimport { getFullColorString } from '../../../utilities/color/getFullColorString';\nimport { updateSV } from '../../../utilities/color/updateSV';\nimport { clamp } from '../../../utilities/color/clamp';\n\nconst getClassNames = classNamesFunction();\n\nexport interface IColorRectangleState {\n color: IColor;\n}\n\n/**\n * {@docCategory ColorPicker}\n */\nexport class ColorRectangleBase\n extends React.Component\n implements IColorRectangle {\n public static defaultProps: Partial = {\n minSize: 220,\n ariaLabel: 'Saturation and brightness',\n ariaValueFormat: 'Saturation {0} brightness {1}',\n ariaDescription: 'Use left and right arrow keys to set saturation. Use up and down arrow keys to set brightness.',\n };\n\n private _disposables: (() => void)[] = [];\n private _root = React.createRef();\n private _isAdjustingSaturation: boolean = true;\n private _descriptionId = getId('ColorRectangle-description');\n\n constructor(props: IColorRectangleProps) {\n super(props);\n\n initializeComponentRef(this);\n\n this.state = { color: props.color };\n }\n\n public get color(): IColor {\n return this.state.color;\n }\n\n public componentDidUpdate(\n prevProps: Readonly,\n prevState: Readonly,\n ): void {\n // if props changed (as opposed to a state update), set the value\n // TODO: switch to strict controlled pattern instead\n if (prevProps !== this.props && this.props.color) {\n this.setState({ color: this.props.color });\n }\n }\n\n public componentWillUnmount() {\n this._disposeListeners();\n }\n\n public render(): JSX.Element {\n const { minSize, theme, className, styles, ariaValueFormat, ariaLabel, ariaDescription } = this.props;\n const { color } = this.state;\n\n const classNames = getClassNames(styles!, {\n theme: theme!,\n className,\n minSize,\n });\n\n const valueText = ariaValueFormat!.replace('{0}', String(color.s)).replace('{1}', String(color.v));\n\n return (\n \n
    \n {ariaDescription}\n
    \n
    \n
    \n \n
    \n );\n }\n\n private _onKeyDown = (ev: React.KeyboardEvent): void => {\n const { color } = this.state;\n let { s, v } = color;\n\n const increment = ev.shiftKey ? 10 : 1;\n\n // Intentionally DO NOT flip the color picker in RTL: its orientation is not very meaningful,\n // and getting all the math and styles flipped correctly is tricky\n // eslint-disable-next-line deprecation/deprecation\n switch (ev.which) {\n case KeyCodes.up: {\n this._isAdjustingSaturation = false;\n v += increment; // V = 100 (lightest) is at the top\n break;\n }\n case KeyCodes.down: {\n this._isAdjustingSaturation = false;\n v -= increment; // V = 0 (darkest) is at the bottom\n break;\n }\n case KeyCodes.left: {\n this._isAdjustingSaturation = true;\n s -= increment;\n break;\n }\n case KeyCodes.right: {\n this._isAdjustingSaturation = true;\n s += increment;\n break;\n }\n default:\n return;\n }\n\n this._updateColor(ev, updateSV(color, clamp(s, MAX_COLOR_SATURATION), clamp(v, MAX_COLOR_VALUE)));\n };\n\n private _updateColor(ev: MouseEvent | KeyboardEvent | React.MouseEvent | React.KeyboardEvent, color: IColor): void {\n const { onChange } = this.props;\n\n const oldColor = this.state.color;\n if (color.s === oldColor.s && color.v === oldColor.v) {\n return; // no change\n }\n\n if (onChange) {\n onChange(ev as React.MouseEvent | React.KeyboardEvent, color);\n }\n\n if (!ev.defaultPrevented) {\n this.setState({ color });\n ev.preventDefault();\n }\n }\n\n private _onMouseDown = (ev: React.MouseEvent): void => {\n this._disposables.push(\n on(window, 'mousemove', this._onMouseMove as (ev: MouseEvent) => void, true),\n on(window, 'mouseup', this._disposeListeners, true),\n );\n\n this._onMouseMove(ev);\n };\n\n private _onMouseMove = (ev: MouseEvent | React.MouseEvent): void => {\n if (!this._root.current) {\n return;\n }\n\n // Leaving the following commented code which is sometimes necessary for debugging:\n // If the primary button (1) isn't pressed, the user is no longer dragging, so turn off\n // the event handlers and exit.\n // if (!(ev.buttons & 1)) {\n // this._disposeListeners();\n // return;\n // }\n\n const newColor = _getNewColor(ev, this.state.color, this._root.current);\n if (newColor) {\n this._updateColor(ev, newColor);\n }\n };\n\n private _disposeListeners = (): void => {\n this._disposables.forEach(dispose => dispose());\n this._disposables = [];\n };\n}\n\n/**\n * Exported for testing only.\n * @internal\n */\nexport function _getNewColor(\n ev: MouseEvent | React.MouseEvent,\n prevColor: IColor,\n root: HTMLElement,\n): IColor | undefined {\n const rectSize = root.getBoundingClientRect();\n\n const sPercentage = (ev.clientX - rectSize.left) / rectSize.width;\n const vPercentage = (ev.clientY - rectSize.top) / rectSize.height;\n\n return updateSV(\n prevColor,\n clamp(Math.round(sPercentage * MAX_COLOR_SATURATION), MAX_COLOR_SATURATION),\n clamp(Math.round(MAX_COLOR_VALUE - vPercentage * MAX_COLOR_VALUE), MAX_COLOR_VALUE),\n );\n}\n","import { IColorRectangleStyleProps, IColorRectangleStyles } from './ColorRectangle.types';\nimport { HighContrastSelector, getHighContrastNoAdjustStyle } from '../../../Styling';\nimport { IsFocusVisibleClassName } from '../../../Utilities';\nimport { hiddenContentStyle } from '@fluentui/style-utilities';\n\nexport const getStyles = (props: IColorRectangleStyleProps): IColorRectangleStyles => {\n const { className, theme, minSize } = props;\n const { palette, effects } = theme;\n\n return {\n root: [\n 'ms-ColorPicker-colorRect',\n {\n position: 'relative',\n marginBottom: 8,\n border: `1px solid ${palette.neutralLighter}`,\n borderRadius: effects.roundedCorner2,\n minWidth: minSize,\n minHeight: minSize,\n outline: 'none',\n\n selectors: {\n [HighContrastSelector]: {\n ...getHighContrastNoAdjustStyle(),\n },\n\n [`.${IsFocusVisibleClassName} &:focus`]: {\n outline: `1px solid ${palette.neutralSecondary}`,\n },\n },\n },\n className,\n ],\n light: [\n 'ms-ColorPicker-light',\n {\n position: 'absolute',\n left: 0,\n right: 0,\n top: 0,\n bottom: 0,\n // Intentionally DO NOT flip the color picker in RTL: its orientation is not very meaningful,\n // and getting all the math and styles flipped correctly is tricky\n background: 'linear-gradient(to right, white 0%, transparent 100%) /*@noflip*/',\n },\n ],\n dark: [\n 'ms-ColorPicker-dark',\n {\n position: 'absolute',\n left: 0,\n right: 0,\n top: 0,\n bottom: 0,\n background: 'linear-gradient(to bottom, transparent 0, #000 100%)',\n },\n ],\n thumb: [\n 'ms-ColorPicker-thumb',\n {\n position: 'absolute',\n width: 20,\n height: 20,\n background: 'white',\n border: `1px solid ${palette.neutralSecondaryAlt}`,\n borderRadius: '50%',\n boxShadow: effects.elevation8,\n transform: 'translate(-50%, -50%)',\n selectors: {\n ':before': {\n position: 'absolute',\n left: 0,\n right: 0,\n top: 0,\n bottom: 0,\n border: `2px solid ${palette.white}`,\n borderRadius: '50%',\n boxSizing: 'border-box',\n content: '\"\"',\n },\n },\n },\n ],\n description: hiddenContentStyle,\n };\n};\n","import * as React from 'react';\nimport { styled } from '../../../Utilities';\nimport { ColorRectangleBase } from './ColorRectangle.base';\nimport { getStyles } from './ColorRectangle.styles';\nimport { IColorRectangleProps, IColorRectangleStyles, IColorRectangleStyleProps } from './ColorRectangle.types';\n\nexport const ColorRectangle: React.FunctionComponent = styled<\n IColorRectangleProps,\n IColorRectangleStyleProps,\n IColorRectangleStyles\n>(ColorRectangleBase, getStyles, undefined, { scope: 'ColorRectangle' });\n","import * as React from 'react';\nimport {\n classNamesFunction,\n initializeComponentRef,\n on,\n KeyCodes,\n getWindow,\n warnDeprecations,\n warn,\n} from '../../../Utilities';\nimport { IColorSliderProps, IColorSliderStyleProps, IColorSliderStyles, IColorSlider } from './ColorSlider.types';\nimport { clamp } from '../../../utilities/color/clamp';\nimport { MAX_COLOR_HUE, MAX_COLOR_ALPHA } from '../../../utilities/color/consts';\n\nconst getClassNames = classNamesFunction();\n\nexport interface IColorSliderState {\n currentValue: number;\n}\n\n/**\n * {@docCategory ColorPicker}\n */\nexport class ColorSliderBase extends React.Component implements IColorSlider {\n public static defaultProps: Partial = {\n value: 0,\n };\n\n private _disposables: (() => void)[] = [];\n private _root = React.createRef();\n\n constructor(props: IColorSliderProps) {\n super(props);\n\n initializeComponentRef(this);\n\n warnDeprecations('ColorSlider', props, {\n thumbColor: 'styles.sliderThumb',\n overlayStyle: 'overlayColor',\n isAlpha: 'type',\n maxValue: 'type',\n minValue: 'type',\n });\n // eslint-disable-next-line deprecation/deprecation\n if (this._type !== 'hue' && !(props.overlayColor || props.overlayStyle)) {\n warn(`ColorSlider: 'overlayColor' is required when 'type' is \"alpha\" or \"transparency\"`);\n }\n\n this.state = {\n currentValue: props.value || 0,\n };\n }\n\n public get value(): number {\n return this.state.currentValue;\n }\n\n public componentDidUpdate(prevProps: Readonly, prevState: Readonly): void {\n // if props changed (as opposed to a state update), set the value\n // TODO: switch to strict controlled pattern instead\n if (prevProps !== this.props && this.props.value !== undefined) {\n this.setState({ currentValue: this.props.value });\n }\n }\n\n public componentWillUnmount() {\n this._disposeListeners();\n }\n\n public render(): JSX.Element {\n const type = this._type;\n const maxValue = this._maxValue;\n const {\n // eslint-disable-next-line deprecation/deprecation\n overlayStyle,\n overlayColor,\n theme,\n className,\n styles,\n ariaLabel = type,\n } = this.props;\n const currentValue = this.value;\n\n const classNames = getClassNames(styles!, {\n theme: theme!,\n className,\n type,\n });\n\n const currentPercentage = (100 * currentValue) / maxValue;\n\n return (\n \n {!!(overlayColor || overlayStyle) && (\n \n )}\n
    \n
    \n );\n }\n\n private get _type(): IColorSliderProps['type'] {\n // eslint-disable-next-line deprecation/deprecation\n const { isAlpha, type = isAlpha ? 'alpha' : 'hue' } = this.props;\n return type;\n }\n\n private get _maxValue(): number {\n return this._type === 'hue' ? MAX_COLOR_HUE : MAX_COLOR_ALPHA;\n }\n\n private _onKeyDown = (ev: React.KeyboardEvent): void => {\n let currentValue = this.value;\n const maxValue = this._maxValue;\n const increment = ev.shiftKey ? 10 : 1;\n\n // Intentionally DO NOT flip the color picker in RTL: its orientation is not very meaningful,\n // and getting all the math and styles flipped correctly is tricky\n // eslint-disable-next-line deprecation/deprecation\n switch (ev.which) {\n case KeyCodes.left: {\n currentValue -= increment;\n break;\n }\n case KeyCodes.right: {\n currentValue += increment;\n break;\n }\n case KeyCodes.home: {\n currentValue = 0;\n break;\n }\n case KeyCodes.end: {\n currentValue = maxValue;\n break;\n }\n default: {\n return;\n }\n }\n\n this._updateValue(ev, clamp(currentValue, maxValue));\n };\n\n private _onMouseDown = (ev: React.MouseEvent): void => {\n const win = getWindow(this as any);\n\n if (win) {\n this._disposables.push(\n on(win, 'mousemove', this._onMouseMove as (ev: MouseEvent) => void, true),\n on(win, 'mouseup', this._disposeListeners, true),\n );\n }\n\n this._onMouseMove(ev);\n };\n\n private _onMouseMove = (ev: MouseEvent | React.MouseEvent): void => {\n if (!this._root.current) {\n return;\n }\n\n const maxValue = this._maxValue;\n const rectSize = this._root.current.getBoundingClientRect();\n\n const currentPercentage = (ev.clientX - rectSize.left) / rectSize.width;\n const newValue = clamp(Math.round(currentPercentage * maxValue), maxValue);\n\n this._updateValue(ev, newValue);\n };\n\n private _disposeListeners = (): void => {\n this._disposables.forEach(dispose => dispose());\n this._disposables = [];\n };\n\n private _updateValue(ev: MouseEvent | KeyboardEvent | React.MouseEvent | React.KeyboardEvent, newValue: number) {\n if (newValue === this.value) {\n return;\n }\n\n const { onChange } = this.props;\n\n if (onChange) {\n onChange(ev as React.MouseEvent | React.KeyboardEvent, newValue);\n }\n\n if (!ev.defaultPrevented) {\n this.setState({\n currentValue: newValue,\n });\n ev.preventDefault();\n }\n }\n}\n","import { IColorSliderStyleProps, IColorSliderStyles } from './ColorSlider.types';\nimport { IsFocusVisibleClassName } from '../../../Utilities';\n\nconst hueStyle = {\n background: `linear-gradient(${[\n 'to left',\n 'red 0',\n '#f09 10%',\n '#cd00ff 20%',\n '#3200ff 30%',\n '#06f 40%',\n '#00fffd 50%',\n '#0f6 60%',\n '#35ff00 70%',\n '#cdff00 80%',\n '#f90 90%',\n 'red 100%',\n ].join(',')})`,\n};\n\nconst alphaStyle = {\n backgroundImage:\n 'url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAJUlEQVQYV2N89erVfwY0ICYmxoguxjgUFKI7GsTH5m4M3w1ChQC1/Ca8i2n1WgAAAABJRU5ErkJggg==)',\n};\n\nexport const getStyles = (props: IColorSliderStyleProps): IColorSliderStyles => {\n // eslint-disable-next-line deprecation/deprecation\n const { theme, className, type = 'hue', isAlpha: useAlphaBackground = type !== 'hue' } = props;\n const { palette, effects } = theme;\n\n return {\n root: [\n 'ms-ColorPicker-slider',\n {\n position: 'relative',\n height: 20,\n marginBottom: 8,\n border: `1px solid ${palette.neutralLight}`,\n borderRadius: effects.roundedCorner2,\n boxSizing: 'border-box',\n outline: 'none',\n\n selectors: {\n [`.${IsFocusVisibleClassName} &:focus`]: {\n outline: `1px solid ${palette.neutralSecondary}`,\n },\n },\n },\n useAlphaBackground ? alphaStyle : hueStyle,\n className,\n ],\n sliderOverlay: [\n 'ms-ColorPicker-sliderOverlay',\n {\n content: '',\n position: 'absolute',\n left: 0,\n right: 0,\n top: 0,\n bottom: 0,\n },\n ],\n sliderThumb: [\n 'ms-ColorPicker-thumb',\n 'is-slider',\n {\n position: 'absolute',\n width: 20,\n height: 20,\n background: 'white',\n border: `1px solid ${palette.neutralSecondaryAlt}`,\n borderRadius: '50%',\n boxShadow: effects.elevation8,\n transform: 'translate(-50%, -50%)',\n top: '50%',\n },\n ],\n };\n};\n","import * as React from 'react';\nimport { styled } from '../../../Utilities';\nimport { ColorSliderBase } from './ColorSlider.base';\nimport { getStyles } from './ColorSlider.styles';\nimport { IColorSliderProps, IColorSliderStyleProps, IColorSliderStyles } from './ColorSlider.types';\n\nexport const ColorSlider: React.FunctionComponent = styled<\n IColorSliderProps,\n IColorSliderStyleProps,\n IColorSliderStyles\n>(ColorSliderBase, getStyles, undefined, { scope: 'ColorSlider' });\n","import * as React from 'react';\nimport { classNamesFunction, initializeComponentRef, warnDeprecations, warn } from '../../Utilities';\nimport {\n IColorPickerProps,\n IColorPickerStyleProps,\n IColorPickerStyles,\n IColorPicker,\n IColorPickerStrings,\n} from './ColorPicker.types';\nimport { TextField } from '../../TextField';\nimport { ColorRectangle } from './ColorRectangle/ColorRectangle';\nimport { ColorSlider } from './ColorSlider/ColorSlider';\nimport {\n MAX_COLOR_ALPHA,\n MAX_COLOR_RGB,\n MAX_HEX_LENGTH,\n MAX_RGBA_LENGTH,\n MIN_HEX_LENGTH,\n MIN_RGBA_LENGTH,\n HEX_REGEX,\n RGBA_REGEX,\n} from '../../utilities/color/consts';\n// These imports are separated to help with bundling\nimport { IColor, IRGB } from '../../utilities/color/interfaces';\nimport { getColorFromString } from '../../utilities/color/getColorFromString';\nimport { getColorFromRGBA } from '../../utilities/color/getColorFromRGBA';\nimport { clamp } from '../../utilities/color/clamp';\nimport { updateA } from '../../utilities/color/updateA';\nimport { updateT } from '../../utilities/color/updateT';\nimport { updateH } from '../../utilities/color/updateH';\nimport { correctRGB } from '../../utilities/color/correctRGB';\nimport { correctHex } from '../../utilities/color/correctHex';\nimport { ColorRectangleBase } from './ColorRectangle/ColorRectangle.base';\n\ntype ColorComponent = keyof Pick;\n\nexport interface IColorPickerState {\n /** Most recently selected color */\n color: IColor;\n /** Color component currently being edited via a text field (if intermediate value is invalid) */\n editingColor?: {\n /** Which color component is being edited */\n component: ColorComponent;\n /** Currently entered value, which is not valid */\n value: string;\n };\n}\n\nconst getClassNames = classNamesFunction();\n\nconst allColorComponents: ColorComponent[] = ['hex', 'r', 'g', 'b', 'a', 't'];\n\n/**\n * {@docCategory ColorPicker}\n */\nexport class ColorPickerBase extends React.Component implements IColorPicker {\n public static defaultProps: Partial = {\n alphaType: 'alpha',\n strings: {\n rootAriaLabelFormat: 'Color picker, {0} selected.',\n hex: 'Hex',\n red: 'Red',\n green: 'Green',\n blue: 'Blue',\n alpha: 'Alpha',\n transparency: 'Transparency',\n hueAriaLabel: 'Hue',\n svAriaLabel: ColorRectangleBase.defaultProps.ariaLabel!,\n svAriaValueFormat: ColorRectangleBase.defaultProps.ariaValueFormat!,\n svAriaDescription: ColorRectangleBase.defaultProps.ariaDescription!,\n },\n };\n\n private _textChangeHandlers: {\n [K in ColorComponent]: (event: React.FormEvent, newValue?: string) => void;\n };\n /**\n * Strings displayed in the UI as text field labels (these are in a separate object for convenient\n * indexing by short color component name).\n */\n private _textLabels: { [K in ColorComponent]: string };\n\n /** Strings besides red/green/blue/alpha/hex, with defaults for all values except the deprecated `hue` */\n private _strings: Required> & Pick;\n\n constructor(props: IColorPickerProps) {\n super(props);\n\n initializeComponentRef(this);\n\n const strings = props.strings!; // always defined since it's in defaultProps\n\n warnDeprecations('ColorPicker', props, {\n hexLabel: 'strings.hex',\n redLabel: 'strings.red',\n greenLabel: 'strings.green',\n blueLabel: 'strings.blue',\n alphaLabel: 'strings.alpha',\n alphaSliderHidden: 'alphaType',\n });\n\n // eslint-disable-next-line deprecation/deprecation\n if (strings.hue) {\n // warnDeprecations can't handle nested deprecated props\n warn(\"ColorPicker property 'strings.hue' was used but has been deprecated. Use 'strings.hueAriaLabel' instead.\");\n }\n\n this.state = {\n color: _getColorFromProps(props) || getColorFromString('#ffffff')!,\n };\n\n this._textChangeHandlers = {} as any;\n for (const component of allColorComponents) {\n this._textChangeHandlers[component] = this._onTextChange.bind(this, component);\n }\n\n const defaultStrings = ColorPickerBase.defaultProps.strings as Required;\n\n this._textLabels = {\n /* eslint-disable deprecation/deprecation */\n r: props.redLabel || strings.red || defaultStrings.red,\n g: props.greenLabel || strings.green || defaultStrings.green,\n b: props.blueLabel || strings.blue || defaultStrings.blue,\n a: props.alphaLabel || strings.alpha || defaultStrings.alpha,\n hex: props.hexLabel || strings.hex || defaultStrings.hex,\n t: strings.transparency || defaultStrings.transparency,\n /* eslint-enable deprecation/deprecation */\n };\n\n this._strings = {\n ...defaultStrings,\n // these aria labels default to the visible labels\n alphaAriaLabel: this._textLabels.a,\n transparencyAriaLabel: this._textLabels.t,\n ...strings,\n };\n }\n\n public get color(): IColor {\n return this.state.color;\n }\n\n public componentDidUpdate(prevProps: Readonly, prevState: Readonly): void {\n // if props changed (as opposed to a state update), update the color\n if (prevProps !== this.props) {\n const color = _getColorFromProps(this.props);\n if (color) {\n this._updateColor(undefined, color);\n }\n }\n }\n\n public render(): JSX.Element {\n const props = this.props;\n const strings = this._strings;\n const textLabels = this._textLabels;\n const {\n theme,\n className,\n styles,\n alphaType,\n // eslint-disable-next-line deprecation/deprecation\n alphaSliderHidden = alphaType === 'none',\n } = props;\n const { color } = this.state;\n const useTransparency = alphaType === 'transparency';\n const colorComponents = ['hex', 'r', 'g', 'b', useTransparency ? 't' : 'a'];\n const atValue = useTransparency ? color.t : color.a;\n const atLabel = useTransparency ? textLabels.t : textLabels.a;\n\n const classNames = getClassNames(styles!, {\n theme: theme!,\n className,\n alphaType,\n });\n\n const selectedColorAriaParts = [textLabels.r, color.r, textLabels.g, color.g, textLabels.b, color.b];\n if (!alphaSliderHidden && typeof atValue === 'number') {\n selectedColorAriaParts.push(atLabel, `${atValue}%`);\n }\n const ariaLabel = strings.rootAriaLabelFormat.replace('{0}', selectedColorAriaParts.join(' '));\n\n return (\n
    \n
    \n \n
    \n
    \n \n {!alphaSliderHidden && (\n \n )}\n
    \n {props.showPreview && (\n
    \n \n
    \n )}\n
    \n\n {/* Give the table role=group to prevent it from being read as a table (ideally we should\n just get rid of the table, but this has the potential of breaking consumers) */}\n \n \n \n \n \n \n \n {!alphaSliderHidden && }\n \n \n \n \n {colorComponents.map((comp: ColorComponent) => {\n if ((comp === 'a' || comp === 't') && alphaSliderHidden) {\n return null;\n }\n return (\n \n );\n })}\n \n \n
    {textLabels.hex}{textLabels.r}{textLabels.g}{textLabels.b}{atLabel}
    \n \n
    \n
    \n
    \n );\n }\n\n private _getDisplayValue(component: ColorComponent): string {\n const { color, editingColor } = this.state;\n if (editingColor && editingColor.component === component) {\n return editingColor.value;\n }\n if (component === 'hex') {\n return color[component] || '';\n } else if (typeof color[component] === 'number' && !isNaN(color[component] as number)) {\n return String(color[component]);\n }\n return '';\n }\n\n private _onSVChanged = (ev: React.MouseEvent, color: IColor): void => {\n this._updateColor(ev, color);\n };\n\n private _onHChanged = (ev: React.MouseEvent, h: number): void => {\n this._updateColor(ev, updateH(this.state.color, h));\n };\n\n /** Callback for when the alpha/transparency slider changes */\n private _onATChanged = (ev: React.MouseEvent, value: number): void => {\n const updater = this.props.alphaType === 'transparency' ? updateT : updateA;\n this._updateColor(ev, updater(this.state.color, Math.round(value)));\n };\n\n private _onTextChange(component: ColorComponent, event: React.FormEvent, newValue?: string): void {\n const color = this.state.color;\n const isHex = component === 'hex';\n const isAlpha = component === 'a';\n const isTransparency = component === 't';\n newValue = (newValue || '').substr(0, isHex ? MAX_HEX_LENGTH : MAX_RGBA_LENGTH);\n\n // Ignore what the user typed if it contains invalid characters\n const validCharsRegex = isHex ? HEX_REGEX : RGBA_REGEX;\n if (!validCharsRegex.test(newValue)) {\n return;\n }\n\n // Determine if the entry is valid (different methods for hex, alpha, and RGB)\n let isValid: boolean;\n if (newValue === '') {\n // Empty string is obviously not valid\n isValid = false;\n } else if (isHex) {\n // Technically hex values of length 3 are also valid, but committing the value here would\n // cause it to be automatically converted to a value of length 6, which may not be what the\n // user wanted if they're not finished typing. (Values of length 3 will be committed on blur.)\n isValid = newValue.length === MAX_HEX_LENGTH;\n } else if (isAlpha || isTransparency) {\n isValid = Number(newValue) <= MAX_COLOR_ALPHA;\n } else {\n isValid = Number(newValue) <= MAX_COLOR_RGB;\n }\n\n if (!isValid) {\n // If the new value is an empty string or other invalid value, save that to display.\n // (if the user still hasn't entered anything on blur, the last value is restored)\n this.setState({ editingColor: { component, value: newValue } });\n } else if (String(color[component]) === newValue) {\n // If the new value is the same as the current value, mostly ignore it.\n // Exception is that if the user was previously editing the value (but hadn't yet entered\n // a new valid value), we should clear the intermediate value.\n if (this.state.editingColor) {\n this.setState({ editingColor: undefined });\n }\n } else {\n // Should be a valid color. Update the value.\n const newColor = isHex\n ? getColorFromString('#' + newValue)\n : isTransparency\n ? updateT(color, Number(newValue))\n : getColorFromRGBA({\n ...color,\n // Overwrite whichever key is being updated with the new value\n [component]: Number(newValue),\n });\n this._updateColor(event, newColor);\n }\n }\n\n private _onBlur = (event: React.FocusEvent) => {\n const { color, editingColor } = this.state;\n if (!editingColor) {\n return;\n }\n\n // If there was an intermediate incorrect value (such as too large or empty), correct it.\n const { value, component } = editingColor;\n const isHex = component === 'hex';\n const isAlpha = component === 'a';\n const isTransparency = component === 't';\n const minLength = isHex ? MIN_HEX_LENGTH : MIN_RGBA_LENGTH;\n if (value.length >= minLength && (isHex || !isNaN(Number(value)))) {\n // Real value. Clamp to appropriate length (hex) or range (rgba).\n let newColor: IColor | undefined;\n if (isHex) {\n newColor = getColorFromString('#' + correctHex(value));\n } else if (isAlpha || isTransparency) {\n const updater = isAlpha ? updateA : updateT;\n newColor = updater(color, clamp(Number(value), MAX_COLOR_ALPHA));\n } else {\n newColor = getColorFromRGBA(\n correctRGB({\n ...color,\n [component]: Number(value),\n } as IRGB),\n );\n }\n\n // Update state and call onChange\n this._updateColor(event, newColor);\n } else {\n // Intermediate value was an empty string or too short (hex only).\n // Just clear the intermediate state and revert to the previous value.\n this.setState({ editingColor: undefined });\n }\n };\n\n /**\n * Update the displayed color and call change handlers if appropriate.\n * @param ev - Event if call was triggered by an event (undefined if triggered by props change)\n * @param newColor - Updated color\n */\n private _updateColor(ev: React.SyntheticEvent | undefined, newColor: IColor | undefined): void {\n if (!newColor) {\n return;\n }\n\n const { color, editingColor } = this.state;\n // For black or white, the hue can change without changing the string.\n const isDifferentColor = newColor.h !== color.h || newColor.str !== color.str;\n\n if (isDifferentColor || editingColor) {\n // If ev is undefined, it's an update from props (which should be unconditionally respected\n // and not call onChange).\n if (ev && this.props.onChange) {\n this.props.onChange(ev, newColor);\n if (ev.defaultPrevented) {\n return;\n }\n }\n this.setState({ color: newColor, editingColor: undefined });\n }\n }\n}\n\nfunction _getColorFromProps(props: IColorPickerProps): IColor | undefined {\n const { color } = props;\n return typeof color === 'string' ? getColorFromString(color) : color;\n}\n","import { IColorPickerStyleProps, IColorPickerStyles } from './ColorPicker.types';\n\nexport const getStyles = (props: IColorPickerStyleProps): IColorPickerStyles => {\n const { className, theme, alphaType } = props;\n\n return {\n root: [\n 'ms-ColorPicker',\n theme.fonts.medium,\n {\n position: 'relative',\n maxWidth: 300,\n },\n className,\n ],\n panel: [\n 'ms-ColorPicker-panel',\n {\n padding: '16px',\n },\n ],\n table: [\n 'ms-ColorPicker-table',\n {\n tableLayout: 'fixed',\n width: '100%',\n selectors: {\n 'tbody td:last-of-type .ms-ColorPicker-input': {\n paddingRight: 0,\n },\n },\n },\n ],\n tableHeader: [\n theme.fonts.small,\n {\n selectors: {\n td: {\n paddingBottom: 4,\n },\n },\n },\n ],\n tableHexCell: {\n width: '25%',\n },\n // Account for \"Transparency\" being a longer word\n tableAlphaCell: alphaType === 'transparency' && {\n width: '22%',\n },\n colorSquare: [\n 'ms-ColorPicker-colorSquare',\n {\n width: 48,\n height: 48,\n margin: '0 0 0 8px',\n border: '1px solid #c8c6c4',\n },\n ],\n flexContainer: {\n display: 'flex',\n },\n flexSlider: {\n flexGrow: '1',\n },\n flexPreviewBox: {\n flexGrow: '0',\n },\n input: [\n 'ms-ColorPicker-input',\n {\n width: '100%',\n border: 'none',\n boxSizing: 'border-box',\n height: 30,\n selectors: {\n '&.ms-TextField': {\n paddingRight: 4,\n },\n '& .ms-TextField-field': {\n minWidth: 'auto',\n padding: 5,\n textOverflow: 'clip',\n },\n },\n },\n ],\n };\n};\n","import * as React from 'react';\nimport { styled } from '../../Utilities';\nimport { ColorPickerBase } from './ColorPicker.base';\nimport { getStyles } from './ColorPicker.styles';\nimport { IColorPickerProps, IColorPickerStyles, IColorPickerStyleProps } from './ColorPicker.types';\n\nexport const ColorPicker: React.FunctionComponent = styled<\n IColorPickerProps,\n IColorPickerStyleProps,\n IColorPickerStyles\n>(ColorPickerBase, getStyles, undefined, { scope: 'ColorPicker' });\n","import * as React from 'react';\nimport { ComboBox } from './ComboBox';\nimport { IComboBoxProps, IComboBox, IComboBoxOption } from './ComboBox.types';\nimport { IList, List } from '../../List';\nimport { ISelectableOption } from '../../SelectableOption';\nimport { initializeComponentRef } from '../../Utilities';\n\nexport class VirtualizedComboBox extends React.Component implements IComboBox {\n /** The combo box element */\n private _comboBox = React.createRef();\n /** The virtualized list element */\n private _list = React.createRef();\n\n constructor(props: IComboBoxProps) {\n super(props);\n\n initializeComponentRef(this);\n }\n\n /**\n * All selected options\n */\n public get selectedOptions(): IComboBoxOption[] {\n if (this._comboBox.current) {\n return this._comboBox.current.selectedOptions;\n }\n return [];\n }\n\n public dismissMenu(): void {\n if (this._comboBox.current) {\n return this._comboBox.current.dismissMenu();\n }\n }\n\n public focus(shouldOpenOnFocus?: boolean, useFocusAsync?: boolean) {\n if (this._comboBox.current) {\n this._comboBox.current.focus(shouldOpenOnFocus, useFocusAsync);\n return true;\n }\n\n return false;\n }\n\n public render(): JSX.Element {\n return (\n \n );\n }\n\n protected _onRenderList = (props: IComboBoxProps): JSX.Element => {\n const { id, onRenderItem } = props;\n\n // Render virtualized list\n return (\n onRenderItem(item) : () => null}\n />\n );\n };\n\n protected _onScrollToItem = (itemIndex: number): void => {\n // We are using the List component, call scrollToIndex\n this._list.current && this._list.current.scrollToIndex(itemIndex);\n };\n}\n","import * as React from 'react';\nimport { KeytipManager } from '../../utilities/keytips/KeytipManager';\nimport { IKeytipProps } from '../../Keytip';\nimport { IOverflowSetItemProps, IOverflowSetProps } from './OverflowSet.types';\nimport { useConst } from '@fluentui/react-hooks';\n\nconst useKeytipRegistrations = (\n persistedKeytips: { [uniqueID: string]: IKeytipProps },\n keytipManager: KeytipManager,\n) => {\n React.useEffect(() => {\n Object.keys(persistedKeytips).forEach((keytipId: string) => {\n const keytip = persistedKeytips[keytipId];\n const uniqueID = keytipManager.register(keytip!, true);\n // Update map\n persistedKeytips[uniqueID] = keytip;\n delete persistedKeytips[keytipId];\n });\n return () => {\n // Delete all persisted keytips saved\n Object.keys(persistedKeytips).forEach((uniqueID: string) => {\n keytipManager.unregister(persistedKeytips[uniqueID]!, uniqueID, true);\n delete persistedKeytips[uniqueID];\n });\n };\n }, [persistedKeytips, keytipManager]);\n};\n\nexport const OverflowButton = (props: IOverflowSetProps) => {\n const keytipManager: KeytipManager = KeytipManager.getInstance();\n const { className, overflowItems, keytipSequences, itemSubMenuProvider, onRenderOverflowButton } = props;\n const persistedKeytips = useConst<{ [uniqueID: string]: IKeytipProps }>({});\n\n // Gets the subMenu for an overflow item\n const getSubMenuForItem = React.useCallback(\n (item: IOverflowSetItemProps) => {\n // Checks if itemSubMenuProvider has been defined, if not defaults to subMenuProps\n if (itemSubMenuProvider) {\n return itemSubMenuProvider(item);\n }\n if (item.subMenuProps) {\n return item.subMenuProps.items;\n }\n return undefined;\n },\n [itemSubMenuProvider],\n );\n\n const newOverflowItems = React.useMemo(() => {\n let currentOverflowItems: IOverflowSetItemProps[] | undefined = [];\n\n if (keytipSequences) {\n overflowItems?.forEach(overflowItem => {\n const keytip = (overflowItem as IOverflowSetItemProps).keytipProps;\n\n if (keytip) {\n // Create persisted keytip\n const persistedKeytip: IKeytipProps = {\n content: keytip.content,\n keySequences: keytip.keySequences,\n disabled: keytip.disabled || !!(overflowItem.disabled || overflowItem.isDisabled),\n hasDynamicChildren: keytip.hasDynamicChildren,\n hasMenu: keytip.hasMenu,\n };\n\n if (keytip.hasDynamicChildren || getSubMenuForItem(overflowItem)) {\n // If the keytip has a submenu or children nodes, change onExecute to persistedKeytipExecute\n persistedKeytip.onExecute = keytipManager.menuExecute.bind(\n keytipManager,\n keytipSequences,\n overflowItem?.keytipProps?.keySequences,\n );\n } else {\n // If the keytip doesn't have a submenu, just execute the original function\n persistedKeytip.onExecute = keytip.onExecute;\n }\n\n // Add this persisted keytip to our internal list, use a temporary uniqueID (its content)\n // uniqueID will get updated on register\n persistedKeytips[persistedKeytip.content] = persistedKeytip;\n\n // Add the overflow sequence to this item\n const newOverflowItem = {\n ...overflowItem,\n keytipProps: {\n ...keytip,\n overflowSetSequence: keytipSequences,\n },\n };\n currentOverflowItems?.push(newOverflowItem);\n } else {\n // Nothing to change, add overflowItem to list\n currentOverflowItems?.push(overflowItem);\n }\n });\n } else {\n currentOverflowItems = overflowItems!;\n }\n return currentOverflowItems;\n }, [overflowItems, getSubMenuForItem, keytipManager, keytipSequences, persistedKeytips]);\n\n useKeytipRegistrations(persistedKeytips, keytipManager);\n\n return
    {onRenderOverflowButton(newOverflowItems)}
    ;\n};\n","import * as React from 'react';\nimport { useMergedRefs } from '@fluentui/react-hooks';\nimport { IProcessedStyleSet } from '../../Styling';\nimport { IOverflowSetProps, IOverflowSetStyles, IOverflowSetStyleProps, IOverflowSet } from './OverflowSet.types';\nimport { classNamesFunction, divProperties, elementContains, getNativeProps, focusFirstChild } from '../../Utilities';\nimport { OverflowButton } from './OverflowButton';\n\nconst getClassNames = classNamesFunction();\nconst COMPONENT_NAME = 'OverflowSet';\n\nconst useComponentRef = (props: IOverflowSetProps, divContainer: React.RefObject) => {\n React.useImperativeHandle(\n props.componentRef,\n (): IOverflowSet => ({\n focus: (): boolean => {\n let focusSucceeded = false;\n if (divContainer.current) {\n focusSucceeded = focusFirstChild(divContainer.current);\n }\n return focusSucceeded;\n },\n focusElement: (childElement?: HTMLElement) => {\n let focusSucceeded = false;\n if (!childElement) {\n return false;\n }\n if (divContainer.current && elementContains(divContainer.current, childElement)) {\n childElement.focus();\n focusSucceeded = document.activeElement === childElement;\n }\n return focusSucceeded;\n },\n }),\n [divContainer],\n );\n};\n\nexport const OverflowSetBase: React.FunctionComponent = React.forwardRef<\n HTMLDivElement,\n IOverflowSetProps\n>((props, forwardedRef) => {\n const divContainer = React.useRef(null);\n const mergedRef = useMergedRefs(divContainer, forwardedRef);\n useComponentRef(props, divContainer);\n\n const { items, overflowItems, className, styles, vertical, role, overflowSide = 'end', onRenderItem } = props;\n\n const classNames: IProcessedStyleSet = getClassNames(styles, { className, vertical });\n\n const showOverflow = !!overflowItems && overflowItems.length > 0;\n\n return (\n >(props, divProperties)}\n role={role || 'group'}\n aria-orientation={role === 'menubar' ? (vertical === true ? 'vertical' : 'horizontal') : undefined}\n className={classNames.root}\n ref={mergedRef}\n >\n {overflowSide === 'start' && showOverflow && }\n {items &&\n items.map((item, i) => (\n
    \n {onRenderItem(item)}\n
    \n ))}\n {overflowSide === 'end' && showOverflow && }\n
    \n );\n});\nOverflowSetBase.displayName = COMPONENT_NAME;\n","import { IOverflowSetStyles, IOverflowSetStyleProps } from './OverflowSet.types';\nimport { IStyleFunction } from '../../Utilities';\nimport { IStyle } from '../../Styling';\n\nconst overflowItemStyle: IStyle = {\n flexShrink: 0,\n display: 'inherit',\n};\n\nexport const getStyles: IStyleFunction = props => {\n const { className, vertical } = props;\n return {\n root: [\n 'ms-OverflowSet',\n {\n position: 'relative',\n display: 'flex',\n flexWrap: 'nowrap',\n },\n vertical && { flexDirection: 'column' },\n className,\n ],\n item: ['ms-OverflowSet-item', overflowItemStyle],\n overflowButton: ['ms-OverflowSet-overflowButton', overflowItemStyle],\n };\n};\n","import * as React from 'react';\nimport { styled } from '../../Utilities';\nimport { OverflowSetBase } from './OverflowSet.base';\nimport { getStyles } from './OverflowSet.styles';\nimport { IOverflowSetProps } from './OverflowSet.types';\n\nexport const OverflowSet: React.FunctionComponent = styled(OverflowSetBase, getStyles, undefined, {\n scope: 'OverflowSet',\n});\n","import { ICommandBarStyleProps, ICommandBarStyles } from './CommandBar.types';\nimport { IButtonStyles } from '../../Button';\nimport { memoizeFunction } from '../../Utilities';\nimport { IStyle } from '../../Styling';\n\nconst COMMAND_BAR_HEIGHT = 44;\n\nexport const getStyles = (props: ICommandBarStyleProps): ICommandBarStyles => {\n const { className, theme } = props;\n const { semanticColors } = theme;\n\n return {\n root: [\n theme.fonts.medium,\n 'ms-CommandBar',\n {\n display: 'flex',\n backgroundColor: semanticColors.bodyBackground,\n padding: '0 14px 0 24px',\n height: COMMAND_BAR_HEIGHT,\n },\n className,\n ],\n primarySet: [\n 'ms-CommandBar-primaryCommand',\n {\n flexGrow: '1',\n display: 'flex',\n alignItems: 'stretch',\n },\n ],\n secondarySet: [\n 'ms-CommandBar-secondaryCommand',\n {\n flexShrink: '0',\n display: 'flex',\n alignItems: 'stretch',\n },\n ],\n };\n};\n\nexport const getCommandButtonStyles = memoizeFunction(\n (customStyles: IButtonStyles | undefined): IButtonStyles => {\n const rootStyles: IStyle = {\n height: '100%',\n };\n const labelStyles: IStyle = {\n whiteSpace: 'nowrap',\n };\n\n const { root, label, ...restCustomStyles } = customStyles || {};\n\n return {\n ...restCustomStyles,\n root: root ? [rootStyles, root] : rootStyles,\n label: label ? [labelStyles, label] : labelStyles,\n };\n },\n);\n","import * as React from 'react';\nimport {\n classNamesFunction,\n css,\n nullRender,\n IComponentAs,\n getNativeProps,\n divProperties,\n composeComponentAs,\n initializeComponentRef,\n} from '../../Utilities';\nimport {\n ICommandBar,\n ICommandBarItemProps,\n ICommandBarProps,\n ICommandBarStyleProps,\n ICommandBarStyles,\n} from './CommandBar.types';\nimport { IOverflowSet, OverflowSet } from '../../OverflowSet';\nimport { IResizeGroup, ResizeGroup } from '../../ResizeGroup';\nimport { FocusZone, FocusZoneDirection } from '../../FocusZone';\nimport { CommandBarButton, IButtonProps } from '../../Button';\nimport { TooltipHost } from '../../Tooltip';\nimport { getCommandButtonStyles } from './CommandBar.styles';\n\nconst getClassNames = classNamesFunction();\n\nexport interface ICommandBarData {\n /**\n * Items being rendered in the primary region\n */\n primaryItems: ICommandBarItemProps[];\n /**\n * Items being rendered in the overflow\n */\n overflowItems: ICommandBarItemProps[];\n /**\n * Items being rendered on the far side\n */\n farItems: ICommandBarItemProps[] | undefined;\n /**\n * Length of original overflowItems to ensure that they are not moved into primary region on resize\n */\n minimumOverflowItems: number;\n /**\n * Unique string used to cache the width of the command bar\n */\n cacheKey: string;\n}\n\nexport class CommandBarBase extends React.Component implements ICommandBar {\n public static defaultProps: ICommandBarProps = {\n items: [],\n overflowItems: [],\n };\n\n private _overflowSet = React.createRef();\n private _resizeGroup = React.createRef();\n private _classNames: { [key in keyof ICommandBarStyles]: string };\n\n constructor(props: ICommandBarProps) {\n super(props);\n\n initializeComponentRef(this);\n }\n\n public render(): JSX.Element {\n const {\n items,\n overflowItems,\n farItems,\n styles,\n theme,\n dataDidRender,\n onReduceData = this._onReduceData,\n onGrowData = this._onGrowData,\n resizeGroupAs: ResizeGroupAs = ResizeGroup,\n } = this.props;\n\n const commandBarData: ICommandBarData = {\n primaryItems: [...items],\n overflowItems: [...overflowItems!],\n minimumOverflowItems: [...overflowItems!].length, // for tracking\n farItems,\n cacheKey: this._computeCacheKey({\n primaryItems: [...items],\n overflow: overflowItems && overflowItems.length > 0,\n }),\n };\n\n this._classNames = getClassNames(styles!, { theme: theme! });\n\n // ResizeGroup will render these attributes to the root
    .\n // TODO We may need to elevate classNames from into ?\n const nativeProps = getNativeProps>(this.props, divProperties);\n\n return (\n \n );\n }\n\n public focus(): void {\n const { current: overflowSet } = this._overflowSet;\n\n overflowSet && overflowSet.focus();\n }\n\n public remeasure(): void {\n this._resizeGroup.current && this._resizeGroup.current.remeasure();\n }\n\n private _onRenderData = (data: ICommandBarData): JSX.Element => {\n return (\n \n {/*Primary Items*/}\n \n\n {/*Secondary Items*/}\n {data.farItems && data.farItems.length > 0 && (\n \n )}\n \n );\n };\n\n private _onRenderItem = (item: ICommandBarItemProps): JSX.Element | React.ReactNode => {\n if (item.onRender) {\n // These are the top level items, there is no relevant menu dismissing function to\n // provide for the IContextualMenuItem onRender function. Pass in a no op function instead.\n return item.onRender(item, () => undefined);\n }\n\n // eslint-disable-next-line deprecation/deprecation\n const itemText = item.text || item.name;\n const commandButtonProps: ICommandBarItemProps = {\n allowDisabledFocus: true,\n role: 'menuitem',\n ...item,\n styles: getCommandButtonStyles(item.buttonStyles),\n className: css('ms-CommandBarItem-link', item.className),\n text: !item.iconOnly ? itemText : undefined,\n menuProps: item.subMenuProps,\n onClick: this._onButtonClick(item),\n };\n\n if (item.iconOnly && (itemText !== undefined || item.tooltipHostProps)) {\n return (\n \n {this._commandButton(item, commandButtonProps)}\n \n );\n }\n\n return this._commandButton(item, commandButtonProps);\n };\n\n private _commandButton = (item: ICommandBarItemProps, props: ICommandBarItemProps): JSX.Element => {\n const ButtonAs = this.props.buttonAs as IComponentAs | undefined;\n const CommandBarButtonAs = item.commandBarButtonAs as IComponentAs | undefined;\n const DefaultButtonAs = (CommandBarButton as {}) as IComponentAs;\n\n // The prop types between these three possible implementations overlap enough that a force-cast is safe.\n let Type = DefaultButtonAs;\n\n if (CommandBarButtonAs) {\n Type = composeComponentAs(CommandBarButtonAs, Type);\n }\n\n if (ButtonAs) {\n Type = composeComponentAs(ButtonAs, Type);\n }\n\n // Always pass the default implementation to the override so it may be composed.\n return ;\n };\n\n private _onButtonClick(item: ICommandBarItemProps): (ev: React.MouseEvent) => void {\n return ev => {\n // inactive is deprecated. remove check in 7.0\n // eslint-disable-next-line deprecation/deprecation\n if (item.inactive) {\n return;\n }\n if (item.onClick) {\n item.onClick(ev, item);\n }\n };\n }\n\n private _onRenderOverflowButton = (overflowItems: ICommandBarItemProps[]): JSX.Element => {\n const {\n overflowButtonProps = {}, // assure that props is not empty\n } = this.props;\n\n const combinedOverflowItems: ICommandBarItemProps[] = [\n ...(overflowButtonProps.menuProps ? overflowButtonProps.menuProps.items : []),\n ...overflowItems,\n ];\n\n const overflowProps: IButtonProps = {\n role: 'menuitem',\n ...overflowButtonProps,\n styles: { menuIcon: { fontSize: '17px' }, ...overflowButtonProps.styles },\n className: css('ms-CommandBar-overflowButton', overflowButtonProps.className),\n menuProps: { ...overflowButtonProps.menuProps, items: combinedOverflowItems },\n menuIconProps: { iconName: 'More', ...overflowButtonProps.menuIconProps },\n };\n\n const OverflowButtonType = this.props.overflowButtonAs\n ? composeComponentAs(this.props.overflowButtonAs, CommandBarButton)\n : CommandBarButton;\n\n return ;\n };\n\n private _computeCacheKey(data: { primaryItems?: ICommandBarItemProps[]; overflow?: boolean }): string {\n const { primaryItems, overflow } = data;\n const returnKey = (acc: string, current: ICommandBarItemProps): string => {\n const { cacheKey = current.key } = current;\n return acc + cacheKey;\n };\n\n const primaryKey = primaryItems && primaryItems.reduce(returnKey, '');\n const overflowKey = overflow ? 'overflow' : '';\n\n return [primaryKey, overflowKey].join('');\n }\n\n private _onReduceData = (data: ICommandBarData): ICommandBarData | undefined => {\n const { shiftOnReduce, onDataReduced } = this.props;\n let { primaryItems, overflowItems, cacheKey } = data;\n\n // Use first item if shiftOnReduce, otherwise use last item\n const movedItem = primaryItems[shiftOnReduce ? 0 : primaryItems.length - 1];\n\n if (movedItem !== undefined) {\n movedItem.renderedInOverflow = true;\n\n overflowItems = [movedItem, ...overflowItems];\n primaryItems = shiftOnReduce ? primaryItems.slice(1) : primaryItems.slice(0, -1);\n\n const newData = { ...data, primaryItems, overflowItems };\n cacheKey = this._computeCacheKey({ primaryItems, overflow: overflowItems.length > 0 });\n\n if (onDataReduced) {\n onDataReduced(movedItem);\n }\n\n newData.cacheKey = cacheKey;\n return newData;\n }\n\n return undefined;\n };\n\n private _onGrowData = (data: ICommandBarData): ICommandBarData | undefined => {\n const { shiftOnReduce, onDataGrown } = this.props;\n const { minimumOverflowItems } = data;\n let { primaryItems, overflowItems, cacheKey } = data;\n const movedItem = overflowItems[0];\n\n // Make sure that moved item exists and is not one of the original overflow items\n if (movedItem !== undefined && overflowItems.length > minimumOverflowItems) {\n movedItem.renderedInOverflow = false;\n\n overflowItems = overflowItems.slice(1);\n // if shiftOnReduce, movedItem goes first, otherwise, last.\n primaryItems = shiftOnReduce ? [movedItem, ...primaryItems] : [...primaryItems, movedItem];\n\n const newData = { ...data, primaryItems, overflowItems };\n cacheKey = this._computeCacheKey({ primaryItems, overflow: overflowItems.length > 0 });\n\n if (onDataGrown) {\n onDataGrown(movedItem);\n }\n\n newData.cacheKey = cacheKey;\n return newData;\n }\n\n return undefined;\n };\n}\n","import * as React from 'react';\nimport { styled } from '../../Utilities';\nimport { ICommandBarProps, ICommandBarStyleProps, ICommandBarStyles } from './CommandBar.types';\nimport { CommandBarBase } from './CommandBar.base';\nimport { getStyles } from './CommandBar.styles';\n\n// Create a CommandBar variant which uses these default styles and this styled subcomponent.\nexport const CommandBar: React.FunctionComponent = styled<\n ICommandBarProps,\n ICommandBarStyleProps,\n ICommandBarStyles\n>(CommandBarBase, getStyles, undefined, {\n scope: 'CommandBar',\n});\n","import { IDatePickerStrings } from './DatePicker.types';\nimport { defaultCalendarStrings } from '../../Calendar';\n\nexport const defaultDatePickerStrings: IDatePickerStrings = {\n ...defaultCalendarStrings,\n prevMonthAriaLabel: 'Go to previous month',\n nextMonthAriaLabel: 'Go to next month',\n prevYearAriaLabel: 'Go to previous year',\n nextYearAriaLabel: 'Go to next year',\n closeButtonAriaLabel: 'Close date picker',\n isRequiredErrorMessage: 'Field is required',\n invalidInputErrorMessage: 'Invalid date format',\n isResetStatusMessage: 'Invalid entry \"{0}\", date reset to \"{1}\"',\n};\n","import * as React from 'react';\nimport { IDatePickerProps, IDatePickerStyleProps, IDatePickerStyles } from './DatePicker.types';\nimport {\n KeyCodes,\n classNamesFunction,\n getNativeProps,\n divProperties,\n css,\n format,\n getPropsWithDefaults,\n IRenderFunction,\n} from '@fluentui/utilities';\nimport { Calendar, ICalendar } from '../../Calendar';\nimport { FirstWeekOfYear, getDatePartHashValue, compareDatePart, DayOfWeek } from '@fluentui/date-time-utilities';\nimport { Callout, DirectionalHint } from '../../Callout';\nimport { TextField, ITextField, ITextFieldProps } from '../../TextField';\nimport { FocusTrapZone } from '../../FocusTrapZone';\nimport { useId, useAsync, useControllableValue } from '@fluentui/react-hooks';\nimport { defaultDatePickerStrings } from './defaults';\n\nconst getClassNames = classNamesFunction();\n\nconst DEFAULT_PROPS: IDatePickerProps = {\n allowTextInput: false,\n formatDate: (date: Date) => (date ? date.toDateString() : ''),\n parseDateFromString: (dateStr: string) => {\n const date = Date.parse(dateStr);\n return date ? new Date(date) : null;\n },\n firstDayOfWeek: DayOfWeek.Sunday,\n initialPickerDate: new Date(),\n isRequired: false,\n isMonthPickerVisible: true,\n showMonthPickerAsOverlay: false,\n strings: defaultDatePickerStrings,\n highlightCurrentMonth: false,\n highlightSelectedMonth: false,\n borderless: false,\n pickerAriaLabel: 'Calendar',\n showWeekNumbers: false,\n firstWeekOfYear: FirstWeekOfYear.FirstDay,\n showGoToToday: true,\n showCloseButton: false,\n underlined: false,\n allFocusable: false,\n};\n\nfunction useFocusLogic() {\n const textFieldRef = React.useRef(null);\n const preventFocusOpeningPicker = React.useRef(false);\n\n const focus = () => {\n textFieldRef.current?.focus?.();\n };\n\n const preventNextFocusOpeningPicker = () => {\n preventFocusOpeningPicker.current = true;\n };\n\n return [textFieldRef, focus, preventFocusOpeningPicker, preventNextFocusOpeningPicker] as const;\n}\n\nfunction useCalendarVisibility({ allowTextInput, onAfterMenuDismiss }: IDatePickerProps, focus: () => void) {\n const [isCalendarShown, setIsCalendarShown] = React.useState(false);\n const isMounted = React.useRef(false);\n const async = useAsync();\n\n React.useEffect(() => {\n if (isMounted.current && !isCalendarShown) {\n // In browsers like IE, textfield gets unfocused when datepicker is collapsed\n if (allowTextInput) {\n async.requestAnimationFrame(focus);\n }\n\n // If DatePicker's menu (Calendar) is closed, run onAfterMenuDismiss\n onAfterMenuDismiss?.();\n }\n isMounted.current = true;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isCalendarShown]);\n\n return [isCalendarShown, setIsCalendarShown] as const;\n}\n\nfunction useSelectedDate({ formatDate, value, onSelectDate }: IDatePickerProps) {\n const [selectedDate, setSelectedDateState] = useControllableValue(value, undefined, (ev, newValue) =>\n onSelectDate?.(newValue),\n );\n const [formattedDate, setFormattedDate] = React.useState(() => (value && formatDate ? formatDate(value) : ''));\n\n const setSelectedDate = (newDate: Date | undefined) => {\n setSelectedDateState(newDate);\n setFormattedDate(newDate && formatDate ? formatDate(newDate) : '');\n };\n\n React.useEffect(() => {\n setFormattedDate(value && formatDate ? formatDate(value) : '');\n }, [formatDate, value]);\n\n return [selectedDate, formattedDate, setSelectedDate, setFormattedDate] as const;\n}\n\nfunction useErrorMessage(\n {\n isRequired,\n allowTextInput,\n strings,\n parseDateFromString,\n onSelectDate,\n formatDate,\n minDate,\n maxDate,\n }: IDatePickerProps,\n selectedDate: Date | undefined,\n setSelectedDate: (date: Date | undefined) => void,\n inputValue: string,\n isCalendarShown: boolean,\n) {\n const [errorMessage, setErrorMessage] = React.useState();\n const [statusMessage, setStatusMessage] = React.useState();\n\n const validateTextInput = (date: Date | null = null): void => {\n if (allowTextInput) {\n if (inputValue || date) {\n // Don't parse if the selected date has the same formatted string as what we're about to parse.\n // The formatted string might be ambiguous (ex: \"1/2/3\" or \"New Year Eve\") and the parser might\n // not be able to come up with the exact same date.\n if (selectedDate && !errorMessage && formatDate && formatDate(date ?? selectedDate) === inputValue) {\n return;\n }\n date = date || parseDateFromString!(inputValue);\n\n // Check if date is null, or date is Invalid Date\n if (!date || isNaN(date.getTime())) {\n // Reset invalid input field, if formatting is available\n setSelectedDate(selectedDate);\n // default the newer isResetStatusMessage string to invalidInputErrorMessage for legacy support\n const selectedText = formatDate ? formatDate(selectedDate) : '';\n const statusText = strings!.isResetStatusMessage\n ? format(strings!.isResetStatusMessage, inputValue, selectedText)\n : strings!.invalidInputErrorMessage || '';\n setStatusMessage(statusText);\n } else {\n // Check against optional date boundaries\n if (isDateOutOfBounds(date, minDate, maxDate)) {\n setErrorMessage(strings!.isOutOfBoundsErrorMessage || ' ');\n } else {\n setSelectedDate(date);\n setErrorMessage(undefined);\n setStatusMessage(undefined);\n }\n }\n } else {\n // Only show error for empty inputValue if it is a required field\n setErrorMessage(isRequired ? strings!.isRequiredErrorMessage || ' ' : undefined);\n\n // If no input date string or input date string is invalid\n // date variable will be null, callback should expect null value for this case\n onSelectDate?.(date);\n }\n } else if (isRequired && !inputValue) {\n // Check when DatePicker is a required field but has NO input value\n setErrorMessage(strings!.isRequiredErrorMessage || ' ');\n } else {\n // Cleanup the error message and status message\n setErrorMessage(undefined);\n setStatusMessage(undefined);\n }\n };\n\n React.useEffect(() => {\n if (isRequired && !selectedDate) {\n setErrorMessage(strings!.isRequiredErrorMessage || ' ');\n } else if (selectedDate && isDateOutOfBounds(selectedDate, minDate, maxDate)) {\n setErrorMessage(strings!.isOutOfBoundsErrorMessage || ' ');\n } else {\n setErrorMessage(undefined);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n // We don't want to compare the date itself, since two instances of date at the same time are not equal\n // eslint-disable-next-line react-hooks/exhaustive-deps\n minDate && getDatePartHashValue(minDate),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n maxDate && getDatePartHashValue(maxDate),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n selectedDate && getDatePartHashValue(selectedDate),\n isRequired,\n ]);\n\n return [\n isCalendarShown ? undefined : errorMessage,\n validateTextInput,\n setErrorMessage,\n isCalendarShown ? undefined : statusMessage,\n setStatusMessage,\n ] as const;\n}\n\nexport const DatePickerBase: React.FunctionComponent = React.forwardRef<\n HTMLDivElement,\n IDatePickerProps\n>((propsWithoutDefaults, forwardedRef) => {\n const props = getPropsWithDefaults(DEFAULT_PROPS, propsWithoutDefaults);\n\n const {\n firstDayOfWeek,\n strings,\n label,\n theme,\n className,\n styles,\n initialPickerDate,\n isRequired,\n disabled,\n ariaLabel,\n pickerAriaLabel,\n placeholder,\n allowTextInput,\n borderless,\n minDate,\n maxDate,\n showCloseButton,\n calendarProps,\n calloutProps,\n textField: textFieldProps,\n underlined,\n allFocusable,\n calendarAs: CalendarType = Calendar,\n tabIndex,\n disableAutoFocus = true,\n } = props;\n\n const id = useId('DatePicker', props.id);\n const calloutId = useId('DatePicker-Callout');\n\n const calendar = React.useRef(null);\n const datePickerDiv = React.useRef(null);\n\n const [textFieldRef, focus, preventFocusOpeningPicker, preventNextFocusOpeningPicker] = useFocusLogic();\n const [isCalendarShown, setIsCalendarShown] = useCalendarVisibility(props, focus);\n const [selectedDate, formattedDate, setSelectedDate, setFormattedDate] = useSelectedDate(props);\n const [errorMessage, validateTextInput, setErrorMessage, statusMessage, setStatusMessage] = useErrorMessage(\n props,\n selectedDate,\n setSelectedDate,\n formattedDate,\n isCalendarShown,\n );\n\n const showDatePickerPopup = React.useCallback((): void => {\n if (!isCalendarShown) {\n preventNextFocusOpeningPicker();\n setIsCalendarShown(true);\n }\n }, [isCalendarShown, preventNextFocusOpeningPicker, setIsCalendarShown]);\n\n React.useImperativeHandle(\n props.componentRef,\n () => ({\n focus,\n reset() {\n setIsCalendarShown(false);\n setSelectedDate(undefined);\n setErrorMessage(undefined);\n setStatusMessage(undefined);\n },\n showDatePickerPopup,\n }),\n [focus, setErrorMessage, setIsCalendarShown, setSelectedDate, setStatusMessage, showDatePickerPopup],\n );\n\n const onTextFieldFocus = (): void => {\n if (disableAutoFocus) {\n return;\n }\n\n if (!allowTextInput) {\n if (!preventFocusOpeningPicker.current) {\n showDatePickerPopup();\n }\n preventFocusOpeningPicker.current = false;\n }\n };\n\n const onSelectDate = (date: Date): void => {\n if (props.calendarProps && props.calendarProps.onSelectDate) {\n props.calendarProps.onSelectDate(date);\n }\n\n calendarDismissed(date);\n };\n\n const onCalloutPositioned = (): void => {\n let shouldFocus = true;\n // If the user has specified that the callout shouldn't use initial focus, then respect\n // that and don't attempt to set focus. That will default to true within the callout\n // so we need to check if it's undefined here.\n if (props.calloutProps && props.calloutProps.setInitialFocus !== undefined) {\n shouldFocus = props.calloutProps.setInitialFocus;\n }\n if (calendar.current && shouldFocus) {\n calendar.current.focus();\n }\n };\n\n const onTextFieldBlur = (ev: React.FocusEvent): void => {\n validateTextInput();\n };\n\n const onTextFieldChanged = (ev: React.FormEvent, newValue: string): void => {\n const { textField } = props;\n\n if (allowTextInput) {\n if (isCalendarShown) {\n dismissDatePickerPopup();\n }\n\n setFormattedDate(newValue);\n }\n\n textField?.onChange?.(ev, newValue);\n };\n\n const onTextFieldKeyDown = (ev: React.KeyboardEvent): void => {\n // eslint-disable-next-line deprecation/deprecation\n switch (ev.which) {\n case KeyCodes.enter:\n ev.preventDefault();\n ev.stopPropagation();\n if (!isCalendarShown) {\n validateTextInput();\n showDatePickerPopup();\n } else {\n // When DatePicker allows input date string directly,\n // it is expected to hit another enter to close the popup\n if (props.allowTextInput) {\n dismissDatePickerPopup();\n }\n }\n break;\n\n case KeyCodes.escape:\n handleEscKey(ev);\n break;\n\n case KeyCodes.down:\n if (ev.altKey && !isCalendarShown) {\n showDatePickerPopup();\n }\n break;\n\n default:\n break;\n }\n };\n\n const onTextFieldClick = (ev: React.MouseEvent): void => {\n // default openOnClick to !props.disableAutoFocus for legacy support of disableAutoFocus behavior\n const openOnClick = props.openOnClick || !props.disableAutoFocus;\n if (openOnClick && !isCalendarShown && !props.disabled) {\n showDatePickerPopup();\n return;\n }\n if (props.allowTextInput) {\n dismissDatePickerPopup();\n }\n };\n\n const onIconClick = (ev: React.MouseEvent): void => {\n ev.stopPropagation();\n if (!isCalendarShown && !props.disabled) {\n showDatePickerPopup();\n } else if (props.allowTextInput) {\n dismissDatePickerPopup();\n }\n };\n\n const dismissDatePickerPopup = (newlySelectedDate?: Date): void => {\n if (isCalendarShown) {\n setIsCalendarShown(false);\n\n validateTextInput(newlySelectedDate);\n if (!allowTextInput && newlySelectedDate) {\n setSelectedDate(newlySelectedDate);\n }\n }\n };\n\n const renderTextfieldDescription = (inputProps: ITextFieldProps, defaultRender: IRenderFunction) => {\n return (\n <>\n {inputProps.description ? defaultRender(inputProps) : null}\n
    \n {statusMessage}\n
    \n \n );\n };\n\n /**\n * Callback for closing the calendar callout\n */\n const calendarDismissed = (newlySelectedDate?: Date): void => {\n preventNextFocusOpeningPicker();\n dismissDatePickerPopup(newlySelectedDate);\n // don't need to focus the text box, if necessary the focusTrapZone will do it\n };\n\n const calloutDismissed = (ev: React.MouseEvent): void => {\n calendarDismissed();\n };\n\n const handleEscKey = (ev: React.KeyboardEvent): void => {\n ev.stopPropagation();\n calendarDismissed();\n };\n\n const classNames = getClassNames(styles, {\n theme: theme!,\n className,\n disabled,\n label: !!label,\n isDatePickerShown: isCalendarShown,\n });\n\n const nativeProps = getNativeProps>(props, divProperties, ['value']);\n const iconProps = textFieldProps && textFieldProps.iconProps;\n const textFieldId =\n textFieldProps && textFieldProps.id && textFieldProps.id !== id ? textFieldProps.id : id + '-label';\n\n return (\n
    \n
    \n \n
    \n {isCalendarShown && (\n \n \n \n \n \n )}\n
    \n );\n});\nDatePickerBase.displayName = 'DatePickerBase';\n\nfunction isDateOutOfBounds(date: Date, minDate?: Date, maxDate?: Date): boolean {\n return (!!minDate && compareDatePart(minDate!, date) > 0) || (!!maxDate && compareDatePart(maxDate!, date) < 0);\n}\n","import { IDatePickerStyleProps, IDatePickerStyles } from './DatePicker.types';\nimport { IStyle, normalize, getGlobalClassNames, FontSizes } from '@fluentui/style-utilities';\n\nconst GlobalClassNames = {\n root: 'ms-DatePicker',\n callout: 'ms-DatePicker-callout',\n withLabel: 'ms-DatePicker-event--with-label',\n withoutLabel: 'ms-DatePicker-event--without-label',\n disabled: 'msDatePickerDisabled ',\n};\n\nexport const styles = (props: IDatePickerStyleProps): IDatePickerStyles => {\n const { className, theme, disabled, label, isDatePickerShown } = props;\n const { palette, semanticColors, fonts } = theme;\n const classNames = getGlobalClassNames(GlobalClassNames, theme);\n\n const DatePickerIcon: IStyle = {\n color: palette.neutralSecondary,\n fontSize: FontSizes.icon,\n lineHeight: '18px',\n pointerEvents: 'none',\n position: 'absolute',\n right: '4px',\n padding: '5px',\n };\n\n return {\n root: [classNames.root, theme.fonts.large, isDatePickerShown && 'is-open', normalize, className],\n textField: [\n {\n position: 'relative',\n selectors: {\n '& input[readonly]': {\n cursor: 'pointer',\n },\n input: {\n selectors: {\n '::-ms-clear': {\n display: 'none',\n },\n },\n },\n },\n },\n disabled && {\n selectors: {\n '& input[readonly]': {\n cursor: 'default',\n },\n },\n },\n ],\n callout: [classNames.callout],\n icon: [\n DatePickerIcon,\n label ? classNames.withLabel : classNames.withoutLabel,\n { paddingTop: '7px' },\n !disabled && [\n classNames.disabled,\n {\n pointerEvents: 'initial',\n cursor: 'pointer',\n },\n ],\n disabled && {\n color: semanticColors.disabledText,\n cursor: 'default',\n },\n ],\n statusMessage: [\n fonts.small,\n {\n color: semanticColors.errorText,\n marginTop: 5,\n },\n ],\n };\n};\n","import * as React from 'react';\nimport { DialogContentBase } from './DialogContent.base';\nimport { IButtonProps } from '../../Button';\nimport { ResponsiveMode } from '../../ResponsiveMode';\nimport { IStyle, ITheme } from '../../Styling';\nimport { IRefObject, IStyleFunctionOrObject } from '../../Utilities';\n\n/**\n * {@docCategory Dialog}\n */\nexport interface IDialogContent {}\n\n/**\n * {@docCategory Dialog}\n */\nexport interface IDialogContentProps extends React.ClassAttributes {\n /**\n * Optional callback to access the IDialogContent interface. Use this instead of ref for accessing\n * the public methods and properties of the component.\n */\n componentRef?: IRefObject;\n\n /**\n * Call to provide customized styling that will layer on top of the variant rules\n */\n styles?: IStyleFunctionOrObject;\n\n /**\n * Theme provided by HOC.\n */\n theme?: ITheme;\n\n /**\n * Is inside a multiline wrapper\n */\n isMultiline?: boolean;\n\n /**\n * Show an 'x' close button in the upper-right corner\n */\n showCloseButton?: boolean;\n\n /**\n * Other top buttons that will show up next to the close button\n */\n topButtonsProps?: IButtonProps[];\n\n /**\n * Optional override class name\n */\n className?: string;\n\n /**\n * Callback for when the Dialog is dismissed from the close button or light dismiss, before the animation completes.\n */\n onDismiss?: (ev?: React.MouseEvent) => any;\n\n /**\n * The Id for subText container\n */\n subTextId?: string;\n\n /**\n * The subtext to display in the dialog\n */\n subText?: string;\n\n /**\n * The Id for title container\n *\n * @deprecated use the `id` attribute in `titleProps` instead.\n */\n titleId?: string;\n\n /**\n * The title text to display at the top of the dialog.\n */\n title?: string | JSX.Element;\n\n /**\n * The props for title container.\n */\n titleProps?: React.HTMLAttributes;\n\n /**\n * Responsive mode passed in from decorator.\n */\n responsiveMode?: ResponsiveMode;\n\n /**\n * Label to be passed to to aria-label of close button\n * @defaultvalue Close\n */\n closeButtonAriaLabel?: string;\n\n /**\n * The type of Dialog to display.\n * @defaultvalue DialogType.normal\n */\n type?: DialogType;\n\n /**\n * The classname for when the header is draggable\n */\n draggableHeaderClassName?: string;\n}\n\n/**\n * {@docCategory Dialog}\n */\nexport enum DialogType {\n /** Standard dialog */\n normal = 0,\n /** Dialog with large header banner */\n largeHeader = 1,\n /** Dialog with an 'x' close button in the upper-right corner */\n close = 2,\n}\n\n/**\n * {@docCategory Dialog}\n */\nexport interface IDialogContentStyleProps {\n /**\n * Accept theme prop.\n */\n theme: ITheme;\n\n /**\n * Accept custom classNames\n */\n className?: string;\n\n isLargeHeader?: boolean;\n isClose?: boolean;\n hidden?: boolean;\n\n /**\n * Is inside a multiline wrapper\n */\n isMultiline?: boolean;\n\n /**\n * The classname for when the header is draggable\n */\n draggableHeaderClassName?: string;\n}\n\n/**\n * {@docCategory Dialog}\n */\nexport interface IDialogContentStyles {\n /**\n * Style for the content element.\n */\n content: IStyle;\n subText: IStyle;\n header: IStyle;\n button: IStyle;\n inner: IStyle;\n innerContent: IStyle;\n title: IStyle;\n topButton: IStyle;\n}\n","import * as React from 'react';\nimport { styled } from '@fluentui/utilities';\nimport { DatePickerBase } from './DatePicker.base';\nimport { styles } from './DatePicker.styles';\nimport { IDatePickerProps } from './DatePicker.types';\n\nexport const DatePicker: React.FunctionComponent = styled(DatePickerBase, styles, undefined, {\n scope: 'DatePicker',\n});\n","import * as React from 'react';\nimport { IDialogFooterProps, IDialogFooterStyleProps, IDialogFooterStyles } from './DialogFooter.types';\nimport { classNamesFunction, initializeComponentRef } from '../../Utilities';\nimport { IProcessedStyleSet } from '../../Styling';\n\nconst getClassNames = classNamesFunction();\n\nexport class DialogFooterBase extends React.Component {\n private _classNames: IProcessedStyleSet;\n\n constructor(props: IDialogFooterProps) {\n super(props);\n\n initializeComponentRef(this);\n }\n\n public render(): JSX.Element {\n const { className, styles, theme } = this.props;\n\n this._classNames = getClassNames(styles!, {\n theme: theme!,\n className,\n });\n\n return (\n
    \n
    {this._renderChildrenAsActions()}
    \n
    \n );\n }\n\n private _renderChildrenAsActions(): (JSX.Element | null)[] | null | undefined {\n return React.Children.map(this.props.children, child =>\n child ? {child} : null,\n );\n }\n}\n","import { IDialogFooterStyleProps, IDialogFooterStyles } from './DialogFooter.types';\nimport { getGlobalClassNames } from '../../Styling';\n\nconst GlobalClassNames = {\n actions: 'ms-Dialog-actions',\n action: 'ms-Dialog-action',\n actionsRight: 'ms-Dialog-actionsRight',\n};\n\nexport const getStyles = (props: IDialogFooterStyleProps): IDialogFooterStyles => {\n const { className, theme } = props;\n\n const classNames = getGlobalClassNames(GlobalClassNames, theme);\n\n return {\n actions: [\n classNames.actions,\n {\n position: 'relative',\n width: '100%',\n minHeight: '24px',\n lineHeight: '24px',\n margin: '16px 0 0',\n fontSize: '0',\n\n selectors: {\n '.ms-Button': {\n lineHeight: 'normal',\n },\n },\n },\n className,\n ],\n\n action: [\n classNames.action,\n {\n margin: '0 4px',\n },\n ],\n\n actionsRight: [\n classNames.actionsRight,\n {\n textAlign: 'right',\n marginRight: '-4px',\n fontSize: '0',\n },\n ],\n };\n};\n","import * as React from 'react';\nimport { styled } from '../../Utilities';\nimport { IDialogFooterProps, IDialogFooterStyleProps, IDialogFooterStyles } from './DialogFooter.types';\nimport { DialogFooterBase } from './DialogFooter.base';\nimport { getStyles } from './DialogFooter.styles';\n\nexport const DialogFooter: React.FunctionComponent = styled<\n IDialogFooterProps,\n IDialogFooterStyleProps,\n IDialogFooterStyles\n>(DialogFooterBase, getStyles, undefined, { scope: 'DialogFooter' });\n","import * as React from 'react';\nimport { classNamesFunction, css, warnDeprecations, initializeComponentRef } from '../../Utilities';\nimport { DialogType, IDialogContentProps, IDialogContentStyleProps, IDialogContentStyles } from './DialogContent.types';\nimport { IconButton } from '../../Button';\nimport { DialogFooter } from './DialogFooter';\nimport { IDialogFooterProps } from './DialogFooter.types';\nimport { withResponsiveMode } from '../../ResponsiveMode';\n\nconst getClassNames = classNamesFunction();\n\nconst DialogFooterType = (() as React.ReactElement).type;\n\nconst COMPONENT_NAME = 'DialogContent';\n\n// eslint-disable-next-line deprecation/deprecation\n@withResponsiveMode\nexport class DialogContentBase extends React.Component {\n public static defaultProps: IDialogContentProps = {\n showCloseButton: false,\n className: '',\n topButtonsProps: [],\n closeButtonAriaLabel: 'Close',\n };\n\n constructor(props: IDialogContentProps) {\n super(props);\n\n initializeComponentRef(this);\n warnDeprecations(COMPONENT_NAME, props, {\n titleId: 'titleProps.id',\n });\n }\n\n public render(): JSX.Element {\n const {\n showCloseButton,\n className,\n closeButtonAriaLabel,\n onDismiss,\n subTextId,\n subText,\n titleProps = {},\n // eslint-disable-next-line deprecation/deprecation\n titleId,\n title,\n type,\n styles,\n theme,\n draggableHeaderClassName,\n } = this.props;\n\n const classNames = getClassNames(styles!, {\n theme: theme!,\n className,\n isLargeHeader: type === DialogType.largeHeader,\n isClose: type === DialogType.close,\n draggableHeaderClassName,\n });\n\n const groupings = this._groupChildren();\n let subTextContent;\n if (subText) {\n subTextContent = (\n

    \n {subText}\n

    \n );\n }\n\n return (\n
    \n
    \n \n {title}\n
    \n
    \n {this.props.topButtonsProps!.map((props, index) => (\n \n ))}\n {(type === DialogType.close || (showCloseButton && type !== DialogType.largeHeader)) && (\n \n )}\n
    \n
    \n
    \n
    \n {subTextContent}\n {groupings.contents}\n
    \n {groupings.footers}\n
    \n
    \n );\n }\n\n // @TODO - typing the footers as an array of DialogFooter is difficult because\n // casing \"child as DialogFooter\" causes a problem because\n // \"Neither type 'ReactElement' nor type 'DialogFooter' is assignable to the other.\"\n private _groupChildren(): { footers: any[]; contents: any[] } {\n const groupings: { footers: any[]; contents: any[] } = {\n footers: [],\n contents: [],\n };\n\n React.Children.map(this.props.children, child => {\n if (typeof child === 'object' && child !== null && (child as any).type === DialogFooterType) {\n groupings.footers.push(child);\n } else {\n groupings.contents.push(child);\n }\n });\n\n return groupings;\n }\n}\n","import { IDialogContentStyleProps, IDialogContentStyles } from './DialogContent.types';\nimport {\n FontWeights,\n getGlobalClassNames,\n IconFontSizes,\n ScreenWidthMinSmall,\n ScreenWidthMaxSmall,\n} from '../../Styling';\n\nconst GlobalClassNames = {\n contentLgHeader: 'ms-Dialog-lgHeader',\n close: 'ms-Dialog--close',\n subText: 'ms-Dialog-subText',\n header: 'ms-Dialog-header',\n headerLg: 'ms-Dialog--lgHeader',\n button: 'ms-Dialog-button ms-Dialog-button--close',\n inner: 'ms-Dialog-inner',\n content: 'ms-Dialog-content',\n title: 'ms-Dialog-title',\n};\n\nexport const getStyles = (props: IDialogContentStyleProps): IDialogContentStyles => {\n const { className, theme, isLargeHeader, isClose, hidden, isMultiline, draggableHeaderClassName } = props;\n\n const { palette, fonts, effects, semanticColors } = theme;\n\n const classNames = getGlobalClassNames(GlobalClassNames, theme);\n\n return {\n content: [\n isLargeHeader && [\n classNames.contentLgHeader,\n {\n borderTop: `4px solid ${palette.themePrimary}`,\n },\n ],\n isClose && classNames.close,\n {\n flexGrow: 1,\n overflowY: 'hidden', // required for allowScrollOnElement\n },\n className,\n ],\n\n subText: [\n classNames.subText,\n fonts.medium,\n {\n margin: '0 0 24px 0',\n color: semanticColors.bodySubtext,\n lineHeight: '1.5',\n wordWrap: 'break-word',\n fontWeight: FontWeights.regular,\n },\n ],\n\n header: [\n classNames.header,\n {\n position: 'relative',\n width: '100%',\n boxSizing: 'border-box',\n },\n isClose && classNames.close,\n draggableHeaderClassName && [\n draggableHeaderClassName,\n {\n cursor: 'move',\n },\n ],\n ],\n\n button: [\n classNames.button,\n hidden && {\n selectors: {\n '.ms-Icon.ms-Icon--Cancel': {\n color: semanticColors.buttonText,\n fontSize: IconFontSizes.medium,\n },\n },\n },\n ],\n\n inner: [\n classNames.inner,\n {\n padding: '0 24px 24px',\n selectors: {\n [`@media (min-width: ${ScreenWidthMinSmall}px) and (max-width: ${ScreenWidthMaxSmall}px)`]: {\n padding: '0 16px 16px',\n },\n },\n },\n ],\n\n innerContent: [\n classNames.content,\n {\n position: 'relative',\n width: '100%',\n },\n ],\n\n title: [\n classNames.title,\n fonts.xLarge,\n {\n color: semanticColors.bodyText,\n margin: '0',\n minHeight: fonts.xLarge.fontSize,\n padding: '16px 46px 20px 24px',\n lineHeight: 'normal',\n selectors: {\n [`@media (min-width: ${ScreenWidthMinSmall}px) and (max-width: ${ScreenWidthMaxSmall}px)`]: {\n padding: '16px 46px 16px 16px',\n },\n },\n },\n isLargeHeader && {\n color: semanticColors.menuHeader,\n },\n isMultiline && { fontSize: fonts.xxLarge.fontSize },\n ],\n\n topButton: [\n {\n display: 'flex',\n flexDirection: 'row',\n flexWrap: 'nowrap',\n position: 'absolute',\n top: '0',\n right: '0',\n padding: '15px 15px 0 0',\n selectors: {\n '> *': {\n flex: '0 0 auto',\n },\n '.ms-Dialog-button': {\n color: semanticColors.buttonText,\n },\n '.ms-Dialog-button:hover': {\n color: semanticColors.buttonTextHovered,\n borderRadius: effects.roundedCorner2,\n },\n [`@media (min-width: ${ScreenWidthMinSmall}px) and (max-width: ${ScreenWidthMaxSmall}px)`]: {\n padding: '15px 8px 0 0',\n },\n },\n },\n ],\n };\n};\n","import * as React from 'react';\nimport { styled } from '../../Utilities';\nimport { IDialogContentProps, IDialogContentStyleProps, IDialogContentStyles } from './DialogContent.types';\nimport { DialogContentBase } from './DialogContent.base';\nimport { getStyles } from './DialogContent.styles';\n\nexport const DialogContent: React.FunctionComponent = styled<\n IDialogContentProps,\n IDialogContentStyleProps,\n IDialogContentStyles\n>(DialogContentBase, getStyles, undefined, { scope: 'DialogContent' });\n","import * as React from 'react';\nimport { warnDeprecations, classNamesFunction, getId } from '../../Utilities';\nimport { IDialogProps, IDialogStyleProps, IDialogStyles } from './Dialog.types';\nimport { DialogType, IDialogContentProps } from './DialogContent.types';\nimport { Modal, IModalProps, IDragOptions } from '../../Modal';\nimport { ILayerProps } from '../../Layer';\nimport { withResponsiveMode } from '../../ResponsiveMode';\n\nconst getClassNames = classNamesFunction();\n\nimport { DialogContent } from './DialogContent';\n\nconst DefaultModalProps: IModalProps = {\n isDarkOverlay: false,\n isBlocking: false,\n className: '',\n containerClassName: '',\n topOffsetFixed: false,\n};\n\nconst DefaultDialogContentProps: IDialogContentProps = {\n type: DialogType.normal,\n className: '',\n topButtonsProps: [],\n};\n\n// eslint-disable-next-line deprecation/deprecation\n@withResponsiveMode\nexport class DialogBase extends React.Component {\n public static defaultProps: IDialogProps = {\n hidden: true,\n };\n\n private _id: string;\n private _defaultTitleTextId: string;\n private _defaultSubTextId: string;\n\n constructor(props: IDialogProps) {\n super(props);\n\n this._id = getId('Dialog');\n this._defaultTitleTextId = this._id + '-title';\n this._defaultSubTextId = this._id + '-subText';\n\n if (process.env.NODE_ENV !== 'production') {\n warnDeprecations('Dialog', props, {\n isOpen: 'hidden',\n type: 'dialogContentProps.type',\n subText: 'dialogContentProps.subText',\n contentClassName: 'dialogContentProps.className',\n topButtonsProps: 'dialogContentProps.topButtonsProps',\n className: 'modalProps.className',\n isDarkOverlay: 'modalProps.isDarkOverlay',\n isBlocking: 'modalProps.isBlocking',\n containerClassName: 'modalProps.containerClassName',\n onDismissed: 'modalProps.onDismissed',\n onLayerDidMount: 'modalProps.layerProps.onLayerDidMount',\n ariaDescribedById: 'modalProps.subtitleAriaId',\n ariaLabelledById: 'modalProps.titleAriaId',\n });\n }\n }\n\n public render(): JSX.Element {\n const {\n /* eslint-disable deprecation/deprecation */\n className,\n containerClassName,\n contentClassName,\n elementToFocusOnDismiss,\n firstFocusableSelector,\n forceFocusInsideTrap,\n styles,\n hidden,\n ignoreExternalFocusing,\n isBlocking,\n isClickableOutsideFocusTrap,\n isDarkOverlay,\n isOpen,\n onDismiss,\n onDismissed,\n onLayerDidMount,\n responsiveMode,\n subText,\n theme,\n title,\n topButtonsProps,\n type,\n /* eslint-enable deprecation/deprecation */\n minWidth,\n maxWidth,\n modalProps,\n } = this.props;\n\n const mergedLayerProps: ILayerProps = {\n ...(modalProps ? modalProps.layerProps : { onLayerDidMount }),\n };\n if (onLayerDidMount && !mergedLayerProps.onLayerDidMount) {\n mergedLayerProps.onLayerDidMount = onLayerDidMount;\n }\n\n let dialogDraggableClassName: string | undefined;\n let dragOptions: IDragOptions | undefined;\n\n // if we are draggable, make sure we are using the correct\n // draggable classname and selectors\n if (modalProps && modalProps.dragOptions && !modalProps.dragOptions.dragHandleSelector) {\n dialogDraggableClassName = 'ms-Dialog-draggable-header';\n dragOptions = {\n ...modalProps.dragOptions,\n dragHandleSelector: `.${dialogDraggableClassName}`,\n };\n } else {\n dragOptions = modalProps && modalProps.dragOptions;\n }\n\n const mergedModalProps = {\n ...DefaultModalProps,\n className,\n containerClassName,\n isBlocking,\n isDarkOverlay,\n onDismissed,\n ...modalProps,\n layerProps: mergedLayerProps,\n dragOptions,\n };\n\n const dialogContentProps: IDialogContentProps = {\n className: contentClassName,\n subText,\n title,\n topButtonsProps,\n type,\n ...DefaultDialogContentProps,\n ...this.props.dialogContentProps,\n draggableHeaderClassName: dialogDraggableClassName,\n titleProps: {\n // eslint-disable-next-line deprecation/deprecation\n id: this.props.dialogContentProps?.titleId || this._defaultTitleTextId,\n ...this.props.dialogContentProps?.titleProps,\n },\n };\n\n const classNames = getClassNames(styles!, {\n theme: theme!,\n className: mergedModalProps.className,\n containerClassName: mergedModalProps.containerClassName,\n hidden,\n dialogDefaultMinWidth: minWidth,\n dialogDefaultMaxWidth: maxWidth,\n });\n\n return (\n \n \n {this.props.children}\n \n \n );\n }\n\n private _getSubTextId = (): string | undefined => {\n // eslint-disable-next-line deprecation/deprecation\n const { ariaDescribedById, modalProps, dialogContentProps, subText } = this.props;\n let id = (modalProps && modalProps.subtitleAriaId) || ariaDescribedById;\n\n if (!id) {\n id = ((dialogContentProps && dialogContentProps.subText) || subText) && this._defaultSubTextId;\n }\n\n return id;\n };\n\n private _getTitleTextId = (): string | undefined => {\n // eslint-disable-next-line deprecation/deprecation\n const { ariaLabelledById, modalProps, dialogContentProps, title } = this.props;\n let id = (modalProps && modalProps.titleAriaId) || ariaLabelledById;\n\n if (!id) {\n id = ((dialogContentProps && dialogContentProps.title) || title) && this._defaultTitleTextId;\n }\n\n return id;\n };\n}\n","import { IDialogStyleProps, IDialogStyles } from './Dialog.types';\nimport { ScreenWidthMinMedium, getGlobalClassNames } from '../../Styling';\n\nconst GlobalClassNames = {\n root: 'ms-Dialog',\n};\n\nexport const getStyles = (props: IDialogStyleProps): IDialogStyles => {\n const {\n className,\n containerClassName, // eslint-disable-line deprecation/deprecation\n dialogDefaultMinWidth = '288px',\n dialogDefaultMaxWidth = '340px',\n hidden,\n theme,\n } = props;\n\n const classNames = getGlobalClassNames(GlobalClassNames, theme);\n\n return {\n root: [classNames.root, theme.fonts.medium, className],\n\n main: [\n {\n width: dialogDefaultMinWidth,\n outline: '3px solid transparent',\n\n selectors: {\n [`@media (min-width: ${ScreenWidthMinMedium}px)`]: {\n width: 'auto',\n maxWidth: dialogDefaultMaxWidth,\n minWidth: dialogDefaultMinWidth,\n },\n },\n },\n !hidden && { display: 'flex' },\n containerClassName,\n ],\n };\n};\n","import * as React from 'react';\nimport { styled } from '../../Utilities';\nimport { IDialogProps, IDialogStyleProps, IDialogStyles } from './Dialog.types';\nimport { DialogBase } from './Dialog.base';\nimport { getStyles } from './Dialog.styles';\n\nexport const Dialog: React.FunctionComponent = styled(\n DialogBase,\n getStyles,\n undefined,\n { scope: 'Dialog' },\n);\nDialog.displayName = 'Dialog';\n","import * as React from 'react';\nimport { IStyle, ITheme } from '../../Styling';\nimport { IBaseProps, IRefObject, IStyleFunctionOrObject } from '../../Utilities';\n\n/**\n * {@docCategory DocumentCard}\n */\nexport interface IDocumentCard {\n /**\n * Sets focus to the DocumentCard.\n */\n focus: () => void;\n}\n\n/**\n * {@docCategory DocumentCard}\n */\nexport interface IDocumentCardProps extends IBaseProps, React.HTMLAttributes {\n /**\n * Optional callback to access the IDocumentCard interface. Use this instead of ref for accessing\n * the public methods and properties of the component.\n */\n componentRef?: IRefObject;\n\n /**\n * The type of DocumentCard to display.\n * @defaultvalue DocumentCardType.normal\n */\n type?: DocumentCardType;\n\n /**\n * Function to call when the card is clicked or keyboard Enter/Space is pushed.\n */\n onClick?: (ev?: React.SyntheticEvent) => void;\n\n /**\n * A URL to navigate to when the card is clicked. If a function has also been provided,\n * it will be used instead of the URL.\n */\n onClickHref?: string;\n\n /**\n * A target browser context for opening the link. If not specified, will open in the same tab/window.\n */\n onClickTarget?: string;\n\n /**\n * Aria role assigned to the documentCard (Eg. button, link).\n * Use this to override the default assignment.\n * @defaultvalue When `onClick` is provided, default role will be 'button'.\n * When `onClickHref` is provided, default role will be 'link'.\n */\n role?: string;\n\n /**\n * Hex color value of the line below the card, which should correspond to the document type.\n * This should only be supplied when using the 'compact' card layout.\n *\n * @deprecated To be removed at \\>= v5.0.0.\n */\n accentColor?: string;\n\n /**\n * Child components to render within the card.\n */\n children?: React.ReactNode;\n\n /**\n * Call to provide customized styling that will layer on top of the variant rules\n */\n styles?: IStyleFunctionOrObject;\n\n /**\n * Theme provided by HOC.\n */\n theme?: ITheme;\n\n /**\n * Optional override class name\n */\n className?: string;\n}\n\n/**\n * {@docCategory DocumentCard}\n */\nexport enum DocumentCardType {\n /**\n * Standard DocumentCard.\n */\n normal = 0,\n /**\n * Compact layout. Displays the preview beside the details, rather than above.\n */\n compact = 1,\n}\n\n/**\n * {@docCategory DocumentCard}\n */\nexport interface IDocumentCardStyleProps {\n /**\n * Accept theme prop.\n */\n theme: ITheme;\n\n /**\n * Optional override class name\n */\n className?: string;\n\n /**\n * True when the card has a click action.\n */\n actionable?: boolean;\n\n /**\n * Compact variant of the card.\n */\n compact?: boolean;\n}\n\n/**\n * {@docCategory DocumentCard}\n */\nexport interface IDocumentCardStyles {\n root: IStyle;\n}\n","import * as React from 'react';\nimport { IProcessedStyleSet } from '../../Styling';\nimport {\n classNamesFunction,\n KeyCodes,\n getNativeProps,\n divProperties,\n warnDeprecations,\n initializeComponentRef,\n} from '../../Utilities';\nimport {\n DocumentCardType,\n IDocumentCard,\n IDocumentCardProps,\n IDocumentCardStyleProps,\n IDocumentCardStyles,\n} from './DocumentCard.types';\n\nconst getClassNames = classNamesFunction();\n\nconst COMPONENT_NAME = 'DocumentCard';\n\n/**\n * {@docCategory DocumentCard}\n */\nexport class DocumentCardBase extends React.Component implements IDocumentCard {\n public static defaultProps: IDocumentCardProps = {\n type: DocumentCardType.normal,\n };\n\n private _rootElement = React.createRef();\n private _classNames: IProcessedStyleSet;\n\n constructor(props: IDocumentCardProps) {\n super(props);\n\n initializeComponentRef(this);\n warnDeprecations(COMPONENT_NAME, props, {\n accentColor: undefined,\n });\n }\n\n public render(): JSX.Element {\n // eslint-disable-next-line deprecation/deprecation\n const { onClick, onClickHref, children, type, accentColor, styles, theme, className } = this.props;\n const nativeProps = getNativeProps>(this.props, divProperties, [\n 'className',\n 'onClick',\n 'type',\n 'role',\n ]);\n const actionable = onClick || onClickHref ? true : false;\n\n this._classNames = getClassNames(styles!, {\n theme: theme!,\n className,\n actionable,\n compact: type === DocumentCardType.compact ? true : false,\n });\n\n // Override the border color if an accent color was provided (compact card only)\n let style;\n if (type === DocumentCardType.compact && accentColor) {\n style = {\n borderBottomColor: accentColor,\n };\n }\n\n // if this element is actionable it should have an aria role\n const role = this.props.role || (actionable ? (onClick ? 'button' : 'link') : undefined);\n const tabIndex = actionable ? 0 : undefined;\n\n return (\n \n {children}\n \n );\n }\n\n public focus(): void {\n if (this._rootElement.current) {\n this._rootElement.current.focus();\n }\n }\n\n private _onClick = (ev: React.MouseEvent): void => {\n this._onAction(ev);\n };\n\n private _onKeyDown = (ev: React.KeyboardEvent): void => {\n // eslint-disable-next-line deprecation/deprecation\n if (ev.which === KeyCodes.enter || ev.which === KeyCodes.space) {\n this._onAction(ev);\n }\n };\n\n private _onAction = (ev: React.SyntheticEvent): void => {\n const { onClick, onClickHref, onClickTarget } = this.props;\n\n if (onClick) {\n onClick(ev);\n } else if (!onClick && onClickHref) {\n // If no onClick Function was provided and we do have an onClickHref, redirect to the onClickHref\n if (onClickTarget) {\n window.open(onClickHref, onClickTarget, 'noreferrer noopener nofollow');\n } else {\n window.location.href = onClickHref;\n }\n\n ev.preventDefault();\n ev.stopPropagation();\n }\n };\n}\n","import { getFocusStyle, getGlobalClassNames, HighContrastSelector } from '../../Styling';\nimport { IsFocusVisibleClassName } from '../../Utilities';\nimport { IDocumentCardPreviewStyleProps, IDocumentCardPreviewStyles } from './DocumentCardPreview.types';\n\nexport const DocumentCardPreviewGlobalClassNames = {\n root: 'ms-DocumentCardPreview',\n icon: 'ms-DocumentCardPreview-icon',\n iconContainer: 'ms-DocumentCardPreview-iconContainer',\n};\n\nexport const getStyles = (props: IDocumentCardPreviewStyleProps): IDocumentCardPreviewStyles => {\n const { theme, className, isFileList } = props;\n const { palette, fonts } = theme;\n\n const classNames = getGlobalClassNames(DocumentCardPreviewGlobalClassNames, theme);\n\n return {\n root: [\n classNames.root,\n fonts.small,\n {\n backgroundColor: isFileList ? palette.white : palette.neutralLighterAlt,\n borderBottom: `1px solid ${palette.neutralLight}`,\n overflow: `hidden`,\n position: 'relative',\n },\n className,\n ],\n previewIcon: [\n classNames.iconContainer,\n {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n height: '100%',\n },\n ],\n icon: [\n classNames.icon,\n {\n left: '10px',\n bottom: '10px',\n position: 'absolute',\n },\n ],\n fileList: {\n padding: '16px 16px 0 16px',\n listStyleType: 'none',\n margin: 0,\n selectors: {\n li: {\n height: '16px',\n lineHeight: '16px',\n marginBottom: '8px',\n overflow: 'hidden',\n },\n },\n },\n fileListIcon: {\n display: 'inline-block',\n marginRight: '8px',\n },\n fileListLink: [\n getFocusStyle(theme, {\n highContrastStyle: {\n border: '1px solid WindowText',\n outline: 'none',\n },\n }),\n {\n boxSizing: 'border-box',\n color: palette.neutralDark,\n overflow: 'hidden',\n display: 'inline-block',\n textDecoration: 'none',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n width: 'calc(100% - 24px)',\n selectors: {\n ':hover': {\n color: palette.themePrimary,\n },\n [`.${IsFocusVisibleClassName} &:focus`]: {\n selectors: {\n [HighContrastSelector]: {\n outline: 'none',\n },\n },\n },\n },\n },\n ],\n fileListOverflowText: {\n padding: '0px 16px 8px 16px',\n display: 'block',\n },\n };\n};\n","import { getGlobalClassNames, FontWeights } from '../../Styling';\nimport { IDocumentCardActivityStyleProps, IDocumentCardActivityStyles } from './DocumentCardActivity.types';\n\nconst VERTICAL_PADDING = 8;\nconst HORIZONTAL_PADDING = 16;\nconst IMAGE_SIZE = 32;\nconst PERSONA_TEXT_GUTTER = 8;\n\nexport const DocumentCardActivityGlobalClassNames = {\n root: 'ms-DocumentCardActivity',\n multiplePeople: 'ms-DocumentCardActivity--multiplePeople',\n details: 'ms-DocumentCardActivity-details',\n name: 'ms-DocumentCardActivity-name',\n activity: 'ms-DocumentCardActivity-activity',\n avatars: 'ms-DocumentCardActivity-avatars',\n avatar: 'ms-DocumentCardActivity-avatar',\n};\n\nexport const getStyles = (props: IDocumentCardActivityStyleProps): IDocumentCardActivityStyles => {\n const { theme, className, multiplePeople } = props;\n const { palette, fonts } = theme;\n\n const classNames = getGlobalClassNames(DocumentCardActivityGlobalClassNames, theme);\n\n return {\n root: [\n classNames.root,\n multiplePeople && classNames.multiplePeople,\n {\n padding: `${VERTICAL_PADDING}px ${HORIZONTAL_PADDING}px`,\n position: 'relative',\n },\n className,\n ],\n avatars: [\n classNames.avatars,\n {\n marginLeft: '-2px', // Avatars sit outside of the usual padding for visual balance\n height: '32px',\n },\n ],\n avatar: [\n classNames.avatar,\n {\n display: 'inline-block',\n verticalAlign: 'top',\n position: 'relative',\n textAlign: 'center',\n width: IMAGE_SIZE,\n height: IMAGE_SIZE,\n\n selectors: {\n '&:after': {\n content: '\" \"',\n position: 'absolute',\n left: '-1px',\n top: '-1px',\n right: '-1px',\n bottom: '-1px',\n border: `2px solid ${palette.white}`, // Match the background of the card\n borderRadius: '50%',\n },\n ':nth-of-type(2)': multiplePeople && {\n marginLeft: '-16px',\n },\n },\n },\n ],\n details: [\n classNames.details,\n {\n left: multiplePeople\n ? `${HORIZONTAL_PADDING + IMAGE_SIZE * 1.5 + PERSONA_TEXT_GUTTER}px`\n : `${HORIZONTAL_PADDING + IMAGE_SIZE + PERSONA_TEXT_GUTTER}px`,\n height: IMAGE_SIZE,\n position: 'absolute',\n top: VERTICAL_PADDING,\n width: `calc(100% - ${HORIZONTAL_PADDING + IMAGE_SIZE + PERSONA_TEXT_GUTTER + HORIZONTAL_PADDING}px)`,\n },\n ],\n name: [\n classNames.name,\n {\n display: 'block',\n fontSize: fonts.small.fontSize,\n lineHeight: '15px',\n height: '15px',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n color: palette.neutralPrimary,\n fontWeight: FontWeights.semibold,\n },\n ],\n activity: [\n classNames.activity,\n {\n display: 'block',\n fontSize: fonts.small.fontSize,\n lineHeight: '15px',\n height: '15px',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n color: palette.neutralSecondary,\n },\n ],\n };\n};\n","import { getGlobalClassNames } from '../../Styling';\nimport { IDocumentCardTitleStyleProps, IDocumentCardTitleStyles } from './DocumentCardTitle.types';\n\nexport const DocumentCardTitleGlobalClassNames = {\n root: 'ms-DocumentCardTitle',\n};\n\nexport const getStyles = (props: IDocumentCardTitleStyleProps): IDocumentCardTitleStyles => {\n const { theme, className, showAsSecondaryTitle } = props;\n const { palette, fonts } = theme;\n\n const classNames = getGlobalClassNames(DocumentCardTitleGlobalClassNames, theme);\n\n return {\n root: [\n classNames.root,\n showAsSecondaryTitle ? fonts.medium : fonts.large,\n {\n padding: '8px 16px',\n display: 'block',\n overflow: 'hidden',\n wordWrap: 'break-word',\n height: showAsSecondaryTitle ? '45px' : '38px',\n lineHeight: showAsSecondaryTitle ? '18px' : '21px',\n color: showAsSecondaryTitle ? palette.neutralSecondary : palette.neutralPrimary,\n },\n className,\n ],\n };\n};\n","import { getGlobalClassNames, FontWeights } from '../../Styling';\nimport { IDocumentCardLocationStyleProps, IDocumentCardLocationStyles } from './DocumentCardLocation.types';\n\nexport const DocumentCardLocationGlobalClassNames = {\n root: 'ms-DocumentCardLocation',\n};\n\nexport const getStyles = (props: IDocumentCardLocationStyleProps): IDocumentCardLocationStyles => {\n const { theme, className } = props;\n const { palette, fonts } = theme;\n\n const classNames = getGlobalClassNames(DocumentCardLocationGlobalClassNames, theme);\n\n return {\n root: [\n classNames.root,\n fonts.small,\n {\n color: palette.themePrimary,\n display: 'block',\n fontWeight: FontWeights.semibold,\n overflow: 'hidden',\n padding: '8px 16px',\n position: 'relative',\n textDecoration: 'none',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n\n selectors: {\n ':hover': {\n color: palette.themePrimary,\n cursor: 'pointer',\n },\n },\n },\n className,\n ],\n };\n};\n","import { getGlobalClassNames, getInputFocusStyle } from '../../Styling';\nimport { IsFocusVisibleClassName } from '../../Utilities';\nimport { IDocumentCardStyleProps, IDocumentCardStyles } from './DocumentCard.types';\nimport { DocumentCardPreviewGlobalClassNames as previewClassNames } from './DocumentCardPreview.styles';\nimport { DocumentCardActivityGlobalClassNames as activityClassNames } from './DocumentCardActivity.styles';\nimport { DocumentCardTitleGlobalClassNames as titleClassNames } from './DocumentCardTitle.styles';\nimport { DocumentCardLocationGlobalClassNames as locationClassNames } from './DocumentCardLocation.styles';\n\nconst GlobalClassNames = {\n root: 'ms-DocumentCard',\n rootActionable: 'ms-DocumentCard--actionable',\n rootCompact: 'ms-DocumentCard--compact',\n};\n\nexport const getStyles = (props: IDocumentCardStyleProps): IDocumentCardStyles => {\n const { className, theme, actionable, compact } = props;\n const { palette, fonts, effects } = theme;\n\n const classNames = getGlobalClassNames(GlobalClassNames, theme);\n\n return {\n root: [\n classNames.root,\n {\n WebkitFontSmoothing: 'antialiased',\n backgroundColor: palette.white,\n border: `1px solid ${palette.neutralLight}`,\n maxWidth: '320px',\n minWidth: '206px',\n userSelect: 'none',\n position: 'relative',\n selectors: {\n ':focus': {\n outline: '0px solid',\n },\n [`.${IsFocusVisibleClassName} &:focus`]: getInputFocusStyle(palette.neutralSecondary, effects.roundedCorner2),\n [`.${locationClassNames.root} + .${titleClassNames.root}`]: {\n paddingTop: '4px',\n },\n },\n },\n actionable && [\n classNames.rootActionable,\n {\n selectors: {\n ':hover': {\n cursor: 'pointer',\n borderColor: palette.neutralTertiaryAlt,\n },\n ':hover:after': {\n content: '\" \"',\n position: 'absolute',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n border: `1px solid ${palette.neutralTertiaryAlt}`,\n pointerEvents: 'none',\n },\n },\n },\n ],\n compact && [\n classNames.rootCompact,\n {\n display: 'flex',\n maxWidth: '480px',\n height: '108px',\n selectors: {\n [`.${previewClassNames.root}`]: {\n borderRight: `1px solid ${palette.neutralLight}`,\n borderBottom: 0, // Remove the usual border from the preview\n maxHeight: '106px',\n maxWidth: '144px',\n },\n [`.${previewClassNames.icon}`]: {\n maxHeight: '32px',\n maxWidth: '32px',\n },\n [`.${activityClassNames.root}`]: {\n paddingBottom: '12px',\n },\n [`.${titleClassNames.root}`]: {\n paddingBottom: '12px 16px 8px 16px',\n fontSize: fonts.mediumPlus.fontSize,\n lineHeight: '16px',\n },\n },\n },\n ],\n className,\n ],\n };\n};\n","import * as React from 'react';\nimport { styled } from '../../Utilities';\nimport { DocumentCardBase } from './DocumentCard.base';\nimport { getStyles } from './DocumentCard.styles';\nimport { IDocumentCardProps, IDocumentCardStyleProps, IDocumentCardStyles } from './DocumentCard.types';\n\nexport const DocumentCard: React.FunctionComponent = styled<\n IDocumentCardProps,\n IDocumentCardStyleProps,\n IDocumentCardStyles\n>(DocumentCardBase, getStyles, undefined, { scope: 'DocumentCard' });\n","import * as React from 'react';\nimport { classNamesFunction, initializeComponentRef } from '../../Utilities';\nimport { Icon } from '../../Icon';\nimport {\n IDocumentCardActionsProps,\n IDocumentCardActionsStyleProps,\n IDocumentCardActionsStyles,\n} from './DocumentCardActions.types';\nimport { IconButton } from '../../Button';\nimport { IProcessedStyleSet } from '../../Styling';\n\nconst getClassNames = classNamesFunction();\n\n/**\n * {@docCategory DocumentCard}\n */\nexport class DocumentCardActionsBase extends React.Component {\n private _classNames: IProcessedStyleSet;\n\n constructor(props: IDocumentCardActionsProps) {\n super(props);\n\n initializeComponentRef(this);\n }\n\n public render(): JSX.Element {\n const { actions, views, styles, theme, className } = this.props;\n\n this._classNames = getClassNames(styles!, {\n theme: theme!,\n className,\n });\n\n return (\n
    \n {actions &&\n actions.map((action, index) => {\n return (\n
    \n \n
    \n );\n })}\n\n {views! > 0 && (\n
    \n \n {views}\n
    \n )}\n
    \n );\n }\n}\n","import { getGlobalClassNames } from '../../Styling';\nimport { IDocumentCardActionsStyleProps, IDocumentCardActionsStyles } from './DocumentCardActions.types';\n\nconst ACTION_SIZE = 34;\nconst HORIZONTAL_PADDING = 12;\nconst VERTICAL_PADDING = 4;\n\nconst GlobalClassNames = {\n root: 'ms-DocumentCardActions',\n action: 'ms-DocumentCardActions-action',\n views: 'ms-DocumentCardActions-views',\n};\n\nexport const getStyles = (props: IDocumentCardActionsStyleProps): IDocumentCardActionsStyles => {\n const { className, theme } = props;\n const { palette, fonts } = theme;\n\n const classNames = getGlobalClassNames(GlobalClassNames, theme);\n\n return {\n root: [\n classNames.root,\n {\n height: `${ACTION_SIZE}px`,\n padding: `${VERTICAL_PADDING}px ${HORIZONTAL_PADDING}px`,\n position: 'relative',\n },\n className,\n ],\n action: [\n classNames.action,\n {\n float: 'left',\n marginRight: '4px',\n color: palette.neutralSecondary,\n cursor: 'pointer',\n\n selectors: {\n '.ms-Button': {\n fontSize: fonts.mediumPlus.fontSize,\n height: ACTION_SIZE,\n width: ACTION_SIZE,\n },\n '.ms-Button:hover .ms-Button-icon': {\n color: theme.semanticColors.buttonText,\n cursor: 'pointer',\n },\n },\n },\n ],\n views: [\n classNames.views,\n {\n textAlign: 'right',\n lineHeight: ACTION_SIZE,\n },\n ],\n viewsIcon: {\n marginRight: '8px',\n fontSize: fonts.medium.fontSize,\n verticalAlign: 'top',\n },\n };\n};\n","import * as React from 'react';\nimport { styled } from '../../Utilities';\nimport { DocumentCardActionsBase } from './DocumentCardActions.base';\nimport { getStyles } from './DocumentCardActions.styles';\nimport {\n IDocumentCardActionsProps,\n IDocumentCardActionsStyleProps,\n IDocumentCardActionsStyles,\n} from './DocumentCardActions.types';\n\nexport const DocumentCardActions: React.FunctionComponent = styled<\n IDocumentCardActionsProps,\n IDocumentCardActionsStyleProps,\n IDocumentCardActionsStyles\n>(DocumentCardActionsBase, getStyles, undefined, { scope: 'DocumentCardActions' });\n","import * as React from 'react';\nimport { classNamesFunction, initializeComponentRef } from '../../Utilities';\nimport {\n IDocumentCardActivityProps,\n IDocumentCardActivityPerson,\n IDocumentCardActivityStyleProps,\n IDocumentCardActivityStyles,\n} from './DocumentCardActivity.types';\nimport { IProcessedStyleSet } from '../../Styling';\nimport { PersonaSize } from '../../Persona';\nimport { PersonaCoin } from '../../PersonaCoin';\n\nconst getClassNames = classNamesFunction();\n\n/**\n * {@docCategory DocumentCard}\n */\nexport class DocumentCardActivityBase extends React.Component {\n private _classNames: IProcessedStyleSet;\n\n constructor(props: IDocumentCardActivityProps) {\n super(props);\n\n initializeComponentRef(this);\n }\n\n public render(): JSX.Element | null {\n const { activity, people, styles, theme, className } = this.props;\n\n this._classNames = getClassNames(styles!, {\n theme: theme!,\n className,\n multiplePeople: people.length > 1,\n });\n\n if (!people || people.length === 0) {\n return null;\n }\n\n return (\n
    \n {this._renderAvatars(people)}\n
    \n {this._getNameString(people)}\n {activity}\n
    \n
    \n );\n }\n\n private _renderAvatars(people: IDocumentCardActivityPerson[]): React.ReactElement<{}> {\n return (\n
    \n {people.length > 1 ? this._renderAvatar(people[1]) : null}\n {this._renderAvatar(people[0])}\n
    \n );\n }\n\n private _renderAvatar(person: IDocumentCardActivityPerson): JSX.Element {\n return (\n
    \n \n
    \n );\n }\n\n private _getNameString(people: IDocumentCardActivityPerson[]): string {\n let nameString = people[0].name;\n\n if (people.length >= 2) {\n nameString += ' +' + (people.length - 1);\n }\n\n return nameString;\n }\n}\n","import * as React from 'react';\nimport { styled } from '../../Utilities';\nimport { DocumentCardActivityBase } from './DocumentCardActivity.base';\nimport { getStyles } from './DocumentCardActivity.styles';\nimport {\n IDocumentCardActivityProps,\n IDocumentCardActivityStyleProps,\n IDocumentCardActivityStyles,\n} from './DocumentCardActivity.types';\n\nexport const DocumentCardActivity: React.FunctionComponent = styled<\n IDocumentCardActivityProps,\n IDocumentCardActivityStyleProps,\n IDocumentCardActivityStyles\n>(DocumentCardActivityBase, getStyles, undefined, { scope: 'DocumentCardActivity' });\n","import * as React from 'react';\nimport { classNamesFunction, initializeComponentRef } from '../../Utilities';\nimport {\n IDocumentCardDetailsProps,\n IDocumentCardDetailsStyleProps,\n IDocumentCardDetailsStyles,\n} from './DocumentCardDetails.types';\nimport { IProcessedStyleSet } from '../../Styling';\n\nconst getClassNames = classNamesFunction();\n\n/**\n * {@docCategory DocumentCard}\n */\nexport class DocumentCardDetailsBase extends React.Component {\n private _classNames: IProcessedStyleSet;\n\n constructor(props: IDocumentCardDetailsProps) {\n super(props);\n\n initializeComponentRef(this);\n }\n\n public render(): JSX.Element {\n const { children, styles, theme, className } = this.props;\n\n this._classNames = getClassNames(styles!, {\n theme: theme!,\n className,\n });\n\n return
    {children}
    ;\n }\n}\n","import { getGlobalClassNames } from '../../Styling';\nimport { IDocumentCardStatusStyleProps, IDocumentCardStatusStyles } from './DocumentCardStatus.types';\n\nconst GlobalClassNames = {\n root: 'ms-DocumentCardDetails',\n};\n\nexport const getStyles = (props: IDocumentCardStatusStyleProps): IDocumentCardStatusStyles => {\n const { className, theme } = props;\n\n const classNames = getGlobalClassNames(GlobalClassNames, theme);\n\n return {\n root: [\n classNames.root,\n {\n display: 'flex',\n flexDirection: 'column',\n flex: 1,\n justifyContent: 'space-between',\n overflow: 'hidden',\n },\n className,\n ],\n };\n};\n","import * as React from 'react';\nimport { styled } from '../../Utilities';\nimport { DocumentCardDetailsBase } from './DocumentCardDetails.base';\nimport { getStyles } from './DocumentCardDetails.styles';\nimport {\n IDocumentCardDetailsProps,\n IDocumentCardDetailsStyleProps,\n IDocumentCardDetailsStyles,\n} from './DocumentCardDetails.types';\n\nexport const DocumentCardDetails: React.FunctionComponent = styled<\n IDocumentCardDetailsProps,\n IDocumentCardDetailsStyleProps,\n IDocumentCardDetailsStyles\n>(DocumentCardDetailsBase, getStyles, undefined, { scope: 'DocumentCardDetails' });\n","import * as React from 'react';\nimport { IProcessedStyleSet } from '../../Styling';\nimport { classNamesFunction, initializeComponentRef } from '../../Utilities';\nimport {\n IDocumentCardLocationProps,\n IDocumentCardLocationStyleProps,\n IDocumentCardLocationStyles,\n} from './DocumentCardLocation.types';\n\nconst getClassNames = classNamesFunction();\n\n/**\n * {@docCategory DocumentCard}\n */\nexport class DocumentCardLocationBase extends React.Component {\n private _classNames: IProcessedStyleSet;\n\n constructor(props: IDocumentCardLocationProps) {\n super(props);\n\n initializeComponentRef(this);\n }\n\n public render(): JSX.Element {\n const { location, locationHref, ariaLabel, onClick, styles, theme, className } = this.props;\n\n this._classNames = getClassNames(styles!, {\n theme: theme!,\n className,\n });\n\n return (\n \n {location}\n \n );\n }\n}\n","import * as React from 'react';\nimport { styled } from '../../Utilities';\nimport { DocumentCardLocationBase } from './DocumentCardLocation.base';\nimport { getStyles } from './DocumentCardLocation.styles';\nimport {\n IDocumentCardLocationProps,\n IDocumentCardLocationStyleProps,\n IDocumentCardLocationStyles,\n} from './DocumentCardLocation.types';\n\nexport const DocumentCardLocation: React.FunctionComponent = styled<\n IDocumentCardLocationProps,\n IDocumentCardLocationStyleProps,\n IDocumentCardLocationStyles\n>(DocumentCardLocationBase, getStyles, undefined, { scope: 'DocumentCardLocation' });\n","import * as React from 'react';\nimport { Icon } from '../../Icon';\nimport { Image } from '../../Image';\nimport { Link } from '../../Link';\nimport { IProcessedStyleSet } from '../../Styling';\nimport { classNamesFunction, css, initializeComponentRef } from '../../Utilities';\nimport {\n IDocumentCardPreviewImage,\n IDocumentCardPreviewProps,\n IDocumentCardPreviewStyleProps,\n IDocumentCardPreviewStyles,\n} from './DocumentCardPreview.types';\n\nconst DEFAULT_DISPLAY_COUNT = 3;\nconst getClassNames = classNamesFunction();\n\n/**\n * {@docCategory DocumentCard}\n */\nexport class DocumentCardPreviewBase extends React.Component {\n private _classNames: IProcessedStyleSet;\n\n constructor(props: IDocumentCardPreviewProps) {\n super(props);\n\n initializeComponentRef(this);\n }\n\n public render(): JSX.Element {\n const { previewImages, styles, theme, className } = this.props;\n let style: React.CSSProperties | undefined;\n let preview: React.ReactNode;\n const isFileList = previewImages.length > 1;\n\n this._classNames = getClassNames(styles!, {\n theme: theme!,\n className,\n isFileList,\n });\n\n if (previewImages.length > 1) {\n // Render a list of files\n preview = this._renderPreviewList(previewImages);\n } else if (previewImages.length === 1) {\n // Render a single preview\n preview = this._renderPreviewImage(previewImages[0]);\n\n // Override the border color if an accent color was provided\n /* eslint-disable deprecation/deprecation */\n if (previewImages[0].accentColor) {\n style = {\n borderBottomColor: previewImages[0].accentColor,\n };\n }\n /* eslint-enable deprecation/deprecation */\n }\n\n return (\n
    \n {preview}\n
    \n );\n }\n\n private _renderPreviewImage(\n previewImage: IDocumentCardPreviewImage,\n ): React.ReactElement> {\n const { width, height, imageFit, previewIconProps, previewIconContainerClass } = previewImage;\n\n if (previewIconProps) {\n return (\n \n \n \n );\n }\n\n const image = (\n \n );\n\n let icon;\n if (previewImage.iconSrc) {\n icon = \"\";\n }\n\n return (\n
    \n {image}\n {icon}\n
    \n );\n }\n\n private _renderPreviewList = (\n previewImages: IDocumentCardPreviewImage[],\n ): React.ReactElement> => {\n const { getOverflowDocumentCountText, maxDisplayCount = DEFAULT_DISPLAY_COUNT } = this.props;\n\n // Determine how many documents we won't be showing\n const overflowDocumentCount = previewImages.length - maxDisplayCount;\n\n // Determine the overflow text that will be rendered after the preview list.\n const overflowText = overflowDocumentCount\n ? getOverflowDocumentCountText\n ? getOverflowDocumentCountText(overflowDocumentCount)\n : '+' + overflowDocumentCount\n : null;\n\n // Create list items for the documents to be shown\n const fileListItems = previewImages.slice(0, maxDisplayCount).map((file, fileIndex) => (\n
  • \n \n \n {file.name}\n \n
  • \n ));\n\n return (\n
    \n
      {fileListItems}
    \n {overflowText && {overflowText}}\n
    \n );\n };\n}\n","import * as React from 'react';\nimport { styled } from '../../Utilities';\nimport { DocumentCardPreviewBase } from './DocumentCardPreview.base';\nimport { getStyles } from './DocumentCardPreview.styles';\nimport {\n IDocumentCardPreviewProps,\n IDocumentCardPreviewStyleProps,\n IDocumentCardPreviewStyles,\n} from './DocumentCardPreview.types';\n\nexport const DocumentCardPreview: React.FunctionComponent = styled<\n IDocumentCardPreviewProps,\n IDocumentCardPreviewStyleProps,\n IDocumentCardPreviewStyles\n>(DocumentCardPreviewBase, getStyles, undefined, { scope: 'DocumentCardPreview' });\n","import * as React from 'react';\nimport { Icon } from '../../Icon';\nimport { Image } from '../../Image';\nimport { IProcessedStyleSet } from '../../Styling';\nimport { classNamesFunction, initializeComponentRef } from '../../Utilities';\nimport {\n IDocumentCardImageProps,\n IDocumentCardImageStyleProps,\n IDocumentCardImageStyles,\n} from './DocumentCardImage.types';\n\nexport interface IDocumentCardImageState {\n readonly imageHasLoaded: boolean;\n}\n\nconst getClassNames = classNamesFunction();\n\n/**\n * {@docCategory DocumentCard}\n */\nexport class DocumentCardImageBase extends React.Component {\n private _classNames: IProcessedStyleSet;\n\n constructor(props: IDocumentCardImageProps) {\n super(props);\n\n initializeComponentRef(this);\n this.state = { imageHasLoaded: false };\n }\n\n public render(): JSX.Element {\n const { styles, width, height, imageFit, imageSrc } = this.props;\n\n this._classNames = getClassNames(styles!, this.props);\n\n return (\n
    \n {imageSrc && (\n \n )}\n {this.state.imageHasLoaded ? this._renderCornerIcon() : this._renderCenterIcon()}\n
    \n );\n }\n\n private _onImageLoad = () => {\n this.setState({ imageHasLoaded: true });\n };\n\n private _renderCenterIcon(): JSX.Element {\n const { iconProps } = this.props;\n return (\n
    \n \n
    \n );\n }\n\n private _renderCornerIcon(): JSX.Element {\n const { iconProps } = this.props;\n return ;\n }\n}\n","import * as React from 'react';\nimport { styled } from '../../Utilities';\nimport { DocumentCardImageBase } from './DocumentCardImage.base';\nimport { getStyles } from './DocumentCardImage.styles';\nimport {\n IDocumentCardImageProps,\n IDocumentCardImageStyleProps,\n IDocumentCardImageStyles,\n} from './DocumentCardImage.types';\n\nexport const DocumentCardImage: React.FunctionComponent = styled<\n IDocumentCardImageProps,\n IDocumentCardImageStyleProps,\n IDocumentCardImageStyles\n>(DocumentCardImageBase, getStyles, undefined, { scope: 'DocumentCardImage' });\n","import { IDocumentCardImageStyleProps, IDocumentCardImageStyles } from './DocumentCardImage.types';\n\nconst centeredIconSize = '42px';\nconst cornerIconSize = '32px';\n\nexport const getStyles = (props: IDocumentCardImageStyleProps): IDocumentCardImageStyles => {\n const { theme, className, height, width } = props;\n const { palette } = theme!;\n\n return {\n root: [\n {\n borderBottom: `1px solid ${palette.neutralLight}`,\n position: 'relative',\n backgroundColor: palette.neutralLighterAlt,\n overflow: `hidden`,\n height: height && `${height}px`,\n width: width && `${width}px`,\n },\n className,\n ],\n centeredIcon: [\n {\n height: centeredIconSize,\n width: centeredIconSize,\n fontSize: centeredIconSize,\n },\n ],\n centeredIconWrapper: [\n {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n height: '100%',\n width: '100%',\n position: 'absolute',\n top: 0,\n left: 0,\n },\n ],\n cornerIcon: [\n {\n left: '10px',\n bottom: '10px',\n height: cornerIconSize,\n width: cornerIconSize,\n fontSize: cornerIconSize,\n position: 'absolute',\n overflow: 'visible',\n },\n ],\n };\n};\n","import * as React from 'react';\n\nimport { Async, EventGroup, classNamesFunction } from '../../Utilities';\nimport {\n IDocumentCardTitleProps,\n IDocumentCardTitleStyleProps,\n IDocumentCardTitleStyles,\n} from './DocumentCardTitle.types';\nimport { IProcessedStyleSet } from '../../Styling';\nimport { initializeComponentRef } from '@fluentui/utilities';\n\nconst getClassNames = classNamesFunction();\n\nexport interface IDocumentCardTitleState {\n truncatedTitleFirstPiece?: string;\n truncatedTitleSecondPiece?: string;\n}\n\nconst TRUNCATION_VERTICAL_OVERFLOW_THRESHOLD = 5;\n\n/**\n * {@docCategory DocumentCard}\n */\nexport class DocumentCardTitleBase extends React.Component {\n private _titleElement = React.createRef();\n private _classNames: IProcessedStyleSet;\n private _async: Async;\n private _events: EventGroup;\n private _clientWidth: number | undefined;\n private _timerId: number | undefined;\n\n constructor(props: IDocumentCardTitleProps) {\n super(props);\n\n initializeComponentRef(this);\n this._async = new Async(this);\n this._events = new EventGroup(this);\n this._clientWidth = undefined;\n\n this.state = {\n truncatedTitleFirstPiece: undefined,\n truncatedTitleSecondPiece: undefined,\n };\n }\n\n public componentDidUpdate(prevProps: IDocumentCardTitleProps): void {\n if (this.props.title !== prevProps.title) {\n this.setState({\n truncatedTitleFirstPiece: undefined,\n truncatedTitleSecondPiece: undefined,\n });\n }\n\n if (prevProps.shouldTruncate !== this.props.shouldTruncate) {\n if (this.props.shouldTruncate) {\n this._truncateTitle();\n this._async.requestAnimationFrame(this._shrinkTitle);\n this._events.on(window, 'resize', this._updateTruncation);\n } else {\n this._events.off(window, 'resize', this._updateTruncation);\n }\n } else if (this._needMeasurement) {\n this._async.requestAnimationFrame(() => {\n this._truncateWhenInAnimation();\n this._shrinkTitle();\n });\n }\n }\n\n public componentDidMount(): void {\n if (this.props.shouldTruncate) {\n this._truncateTitle();\n this._events.on(window, 'resize', this._updateTruncation);\n }\n }\n\n public componentWillUnmount(): void {\n this._events.dispose();\n this._async.dispose();\n }\n\n public render(): JSX.Element {\n const { title, shouldTruncate, showAsSecondaryTitle, styles, theme, className } = this.props;\n const { truncatedTitleFirstPiece, truncatedTitleSecondPiece } = this.state;\n\n this._classNames = getClassNames(styles!, {\n theme: theme!,\n className,\n showAsSecondaryTitle,\n });\n\n if (shouldTruncate && truncatedTitleFirstPiece && truncatedTitleSecondPiece) {\n return (\n
    \n {truncatedTitleFirstPiece}\n …\n {truncatedTitleSecondPiece}\n
    \n );\n } else {\n return (\n \n {title}\n \n );\n }\n }\n\n /**\n * In measuring, it will render a same style text with whiteSpace: 'nowrap', to get overflow rate.\n * So that the logic can predict truncated text well.\n */\n private get _needMeasurement(): boolean {\n return !!this.props.shouldTruncate && this._clientWidth === undefined;\n }\n\n // Truncate logic here way can't handle the case that chars with different widths are mixed very well.\n // Let _shrinkTitle take care of that.\n private _truncateTitle = (): void => {\n if (!this._needMeasurement) {\n return;\n }\n\n this._async.requestAnimationFrame(this._truncateWhenInAnimation);\n };\n\n private _truncateWhenInAnimation: () => void = () => {\n const originalTitle = this.props.title;\n const element: HTMLDivElement | null = this._titleElement.current;\n\n if (element) {\n const style: CSSStyleDeclaration = getComputedStyle(element);\n if (style.width && style.lineHeight && style.height) {\n const { clientWidth, scrollWidth } = element;\n\n this._clientWidth = clientWidth;\n\n const lines: number = Math.floor(\n (parseInt(style.height, 10) + TRUNCATION_VERTICAL_OVERFLOW_THRESHOLD) / parseInt(style.lineHeight, 10),\n );\n\n element.style.whiteSpace = '';\n\n // Use overflow to predict truncated length.\n // Take an example.The text is: A text with A very long text that need to be truncated.ppt\n // if container is like\n // |A text with A very| long text that need to be truncated.ppt\n // The scroll width is 58, (take two | out of length)\n // The client width is 18\n // the overflow rate is scrollWidth/clientWidth which should be close to length(overflowText)/length(visualText)\n // And the length of remaining text should be truncated is (original Length)/(58/18) -3 = 15.\n // So that the logic can predict truncated text well.\n // first piece will be `A text `, * second piece will be `ated.ppt`\n // |A text ...ated.ppt|\n const overFlowRate: number = scrollWidth / (parseInt(style.width, 10) * lines);\n\n if (overFlowRate > 1) {\n const truncatedLength: number = originalTitle.length / overFlowRate - 3; /** Saved for separator */\n return this.setState({\n truncatedTitleFirstPiece: originalTitle.slice(0, truncatedLength / 2),\n truncatedTitleSecondPiece: originalTitle.slice(originalTitle.length - truncatedLength / 2),\n });\n }\n }\n }\n };\n\n private _shrinkTitle: () => void = () => {\n const { truncatedTitleFirstPiece, truncatedTitleSecondPiece } = this.state;\n if (truncatedTitleFirstPiece && truncatedTitleSecondPiece) {\n const titleElement = this._titleElement.current;\n\n if (!titleElement) {\n return;\n }\n\n if (\n titleElement.scrollHeight > titleElement.clientHeight + TRUNCATION_VERTICAL_OVERFLOW_THRESHOLD ||\n titleElement.scrollWidth > titleElement.clientWidth\n ) {\n this.setState({\n truncatedTitleFirstPiece: truncatedTitleFirstPiece.slice(0, truncatedTitleFirstPiece.length - 1),\n truncatedTitleSecondPiece: truncatedTitleSecondPiece.slice(1),\n });\n }\n }\n };\n\n private _updateTruncation(): void {\n if (this._timerId) {\n return;\n }\n\n this._timerId = this._async.setTimeout(() => {\n delete this._timerId;\n this._clientWidth = undefined;\n this.setState({\n truncatedTitleFirstPiece: undefined,\n truncatedTitleSecondPiece: undefined,\n });\n }, 250);\n }\n}\n","import * as React from 'react';\nimport { styled } from '../../Utilities';\nimport { DocumentCardTitleBase } from './DocumentCardTitle.base';\nimport { getStyles } from './DocumentCardTitle.styles';\nimport {\n IDocumentCardTitleProps,\n IDocumentCardTitleStyleProps,\n IDocumentCardTitleStyles,\n} from './DocumentCardTitle.types';\n\nexport const DocumentCardTitle: React.FunctionComponent = styled<\n IDocumentCardTitleProps,\n IDocumentCardTitleStyleProps,\n IDocumentCardTitleStyles\n>(DocumentCardTitleBase, getStyles, undefined, { scope: 'DocumentCardTitle' });\n","import * as React from 'react';\nimport { Icon } from '../../Icon';\nimport { IProcessedStyleSet } from '../../Styling';\nimport { classNamesFunction, initializeComponentRef } from '../../Utilities';\nimport { IDocumentCardLogoProps, IDocumentCardLogoStyleProps, IDocumentCardLogoStyles } from './DocumentCardLogo.types';\n\nconst getClassNames = classNamesFunction();\n\n/**\n * {@docCategory DocumentCard}\n */\nexport class DocumentCardLogoBase extends React.Component {\n private _classNames: IProcessedStyleSet;\n\n constructor(props: IDocumentCardLogoProps) {\n super(props);\n\n initializeComponentRef(this);\n }\n\n public render() {\n const { logoIcon, styles, theme, className } = this.props;\n\n this._classNames = getClassNames(styles!, {\n theme: theme!,\n className,\n });\n\n return (\n
    \n \n
    \n );\n }\n}\n","import { getGlobalClassNames } from '../../Styling';\nimport { IDocumentCardLogoStyleProps, IDocumentCardLogoStyles } from './DocumentCardLogo.types';\n\nconst GlobalClassNames = {\n root: 'ms-DocumentCardLogo',\n};\n\nexport const getStyles = (props: IDocumentCardLogoStyleProps): IDocumentCardLogoStyles => {\n const { theme, className } = props;\n const { palette, fonts } = theme;\n\n const classNames = getGlobalClassNames(GlobalClassNames, theme);\n\n return {\n root: [\n classNames.root,\n {\n // eslint-disable-next-line deprecation/deprecation\n fontSize: fonts.xxLargePlus.fontSize,\n color: palette.themePrimary,\n display: 'block',\n padding: '16px 16px 0 16px',\n },\n className,\n ],\n };\n};\n","import * as React from 'react';\nimport { styled } from '../../Utilities';\nimport { DocumentCardLogoBase } from './DocumentCardLogo.base';\nimport { getStyles } from './DocumentCardLogo.styles';\nimport { IDocumentCardLogoProps, IDocumentCardLogoStyleProps, IDocumentCardLogoStyles } from './DocumentCardLogo.types';\n\nexport const DocumentCardLogo: React.FunctionComponent = styled<\n IDocumentCardLogoProps,\n IDocumentCardLogoStyleProps,\n IDocumentCardLogoStyles\n>(DocumentCardLogoBase, getStyles, undefined, { scope: 'DocumentCardLogo' });\n","import * as React from 'react';\n\nimport { classNamesFunction, initializeComponentRef } from '../../Utilities';\nimport {\n IDocumentCardStatusProps,\n IDocumentCardStatusStyleProps,\n IDocumentCardStatusStyles,\n} from './DocumentCardStatus.types';\nimport { Icon } from '../../Icon';\nimport { IProcessedStyleSet } from '../../Styling';\n\nconst getClassNames = classNamesFunction();\n\n/**\n * {@docCategory DocumentCard}\n */\nexport class DocumentCardStatusBase extends React.Component {\n private _classNames: IProcessedStyleSet;\n\n constructor(props: IDocumentCardStatusProps) {\n super(props);\n\n initializeComponentRef(this);\n }\n\n public render(): JSX.Element {\n const { statusIcon, status, styles, theme, className } = this.props;\n const iconProps = {\n iconName: statusIcon,\n styles: {\n root: { padding: '8px' },\n },\n };\n\n this._classNames = getClassNames(styles!, {\n theme: theme!,\n className,\n });\n\n return (\n
    \n {statusIcon && }\n {status}\n
    \n );\n }\n}\n","import { getGlobalClassNames } from '../../Styling';\nimport { IDocumentCardStatusStyleProps, IDocumentCardStatusStyles } from './DocumentCardStatus.types';\n\nconst GlobalClassNames = {\n root: 'ms-DocumentCardStatus',\n};\n\nexport const getStyles = (props: IDocumentCardStatusStyleProps): IDocumentCardStatusStyles => {\n const { className, theme } = props;\n const { palette, fonts } = theme;\n\n const classNames = getGlobalClassNames(GlobalClassNames, theme);\n\n return {\n root: [\n classNames.root,\n fonts.medium,\n {\n margin: '8px 16px',\n color: palette.neutralPrimary,\n backgroundColor: palette.neutralLighter,\n height: '32px',\n },\n className,\n ],\n };\n};\n","import * as React from 'react';\nimport { styled } from '../../Utilities';\nimport { DocumentCardStatusBase } from './DocumentCardStatus.base';\nimport { getStyles } from './DocumentCardStatus.styles';\nimport {\n IDocumentCardStatusProps,\n IDocumentCardStatusStyleProps,\n IDocumentCardStatusStyles,\n} from './DocumentCardStatus.types';\n\nexport const DocumentCardStatus: React.FunctionComponent = styled<\n IDocumentCardStatusProps,\n IDocumentCardStatusStyleProps,\n IDocumentCardStatusStyles\n>(DocumentCardStatusBase, getStyles, undefined, { scope: 'DocumentCardStatus' });\n","/* eslint-disable */\nimport { loadStyles } from '@microsoft/load-themed-styles';\nloadStyles([{\"rawString\":\".pickerText_563e5672{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid \"},{\"theme\":\"neutralTertiary\",\"defaultValue\":\"#a19f9d\"},{\"rawString\":\";min-width:180px;padding:1px;min-height:32px}.pickerText_563e5672:hover{border-color:\"},{\"theme\":\"themeLight\",\"defaultValue\":\"#c7e0f4\"},{\"rawString\":\"}.pickerInput_563e5672{height:34px;border:none;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;outline:0;padding:0 6px 0;margin:1px}.pickerInput_563e5672::-ms-clear{display:none}\"}]);\nexport const pickerText = \"pickerText_563e5672\";\nexport const pickerInput = \"pickerInput_563e5672\";","import * as React from 'react';\nimport { KeyCodes, css, initializeComponentRef } from '../../Utilities';\nimport { Autofill } from '../../Autofill';\nimport { IInputProps } from '../../Pickers';\nimport * as stylesImport from './BaseExtendedPicker.scss';\nimport { IBaseExtendedPickerProps, IBaseExtendedPicker } from './BaseExtendedPicker.types';\nimport { IBaseFloatingPickerProps, BaseFloatingPicker } from '../../FloatingPicker';\nimport { BaseSelectedItemsList, IBaseSelectedItemsListProps } from '../../SelectedItemsList';\nimport { FocusZone, FocusZoneDirection } from '../../FocusZone';\nimport { Selection, SelectionMode, SelectionZone } from '../../Selection';\n\nconst styles: any = stylesImport;\n\nexport interface IBaseExtendedPickerState {\n queryString: string | null;\n}\n\nexport class BaseExtendedPicker>\n extends React.Component>\n implements IBaseExtendedPicker {\n public floatingPicker = React.createRef>>();\n public selectedItemsList = React.createRef>>();\n\n protected root = React.createRef();\n protected input = React.createRef();\n protected selection: Selection;\n\n constructor(basePickerProps: P) {\n super(basePickerProps);\n\n initializeComponentRef(this);\n this.selection = new Selection({ onSelectionChanged: () => this.onSelectionChange() });\n\n this.state = {\n queryString: '',\n };\n }\n\n public get items(): any {\n return this.props.selectedItems ?? this.selectedItemsList.current?.items ?? this.props.defaultSelectedItems ?? null;\n }\n\n public componentDidMount(): void {\n this.forceUpdate();\n }\n\n public focus(): void {\n if (this.input.current) {\n this.input.current.focus();\n }\n }\n\n public clearInput(): void {\n if (this.input.current) {\n this.input.current.clear();\n }\n }\n\n public get inputElement(): HTMLInputElement | null {\n return this.input.current && this.input.current.inputElement;\n }\n\n public get highlightedItems(): T[] {\n return this.selectedItemsList.current ? this.selectedItemsList.current.highlightedItems() : [];\n }\n\n public render(): JSX.Element {\n const { className, inputProps, disabled, focusZoneProps } = this.props;\n const activeDescendant =\n this.floatingPicker.current && this.floatingPicker.current.currentSelectedSuggestionIndex !== -1\n ? 'sug-' + this.floatingPicker.current.currentSelectedSuggestionIndex\n : undefined;\n const isExpanded = this.floatingPicker.current ? this.floatingPicker.current.isSuggestionsShown : false;\n\n return (\n \n \n \n
    \n {this.props.headerComponent}\n {this.renderSelectedItemsList()}\n {this.canAddItems() && (\n \n )}\n
    \n
    \n
    \n {this.renderFloatingPicker()}\n \n );\n }\n protected get floatingPickerProps(): IBaseFloatingPickerProps {\n return this.props.floatingPickerProps;\n }\n\n protected get selectedItemsListProps(): IBaseSelectedItemsListProps {\n return this.props.selectedItemsListProps;\n }\n\n protected onSelectionChange = (): void => {\n this.forceUpdate();\n };\n\n protected canAddItems(): boolean {\n const { itemLimit } = this.props;\n return itemLimit === undefined || this.items.length < itemLimit;\n }\n\n protected renderFloatingPicker(): JSX.Element {\n const FloatingPicker: React.ComponentType> = this.props.onRenderFloatingPicker;\n return (\n \n );\n }\n\n protected renderSelectedItemsList(): JSX.Element {\n const SelectedItems: React.ComponentType> = this.props.onRenderSelectedItems;\n return (\n \n );\n }\n\n protected onInputChange = (value: string, composing?: boolean): void => {\n // We don't want to update the picker's suggestions when the input is still being composed\n if (!composing) {\n this.setState({ queryString: value });\n if (this.floatingPicker.current) {\n this.floatingPicker.current.onQueryStringChanged(value);\n }\n }\n };\n\n protected onInputFocus = (ev: React.FocusEvent): void => {\n if (this.selectedItemsList.current) {\n this.selectedItemsList.current.unselectAll();\n }\n\n if (this.props.inputProps && this.props.inputProps.onFocus) {\n this.props.inputProps.onFocus(ev as React.FocusEvent);\n }\n };\n\n protected onInputClick = (ev: React.MouseEvent): void => {\n if (this.selectedItemsList.current) {\n this.selectedItemsList.current.unselectAll();\n }\n\n if (this.floatingPicker.current && this.inputElement) {\n // Update the value if the input value is empty or is different than the current inputText from the floatingPicker\n const shoudUpdateValue =\n this.inputElement.value === '' || this.inputElement.value !== this.floatingPicker.current.inputText;\n this.floatingPicker.current.showPicker(shoudUpdateValue);\n }\n };\n\n // This is protected because we may expect the backspace key to work differently in a different kind of picker.\n // This lets the subclass override it and provide it's own onBackspace. For an example see the BasePickerListBelow\n protected onBackspace = (ev: React.KeyboardEvent): void => {\n // eslint-disable-next-line deprecation/deprecation\n if (ev.which !== KeyCodes.backspace) {\n return;\n }\n\n if (this.selectedItemsList.current && this.items.length) {\n if (\n this.input.current &&\n !this.input.current.isValueSelected &&\n this.input.current.inputElement === document.activeElement &&\n (this.input.current as Autofill).cursorLocation === 0\n ) {\n if (this.floatingPicker.current) {\n this.floatingPicker.current.hidePicker();\n }\n ev.preventDefault();\n this.selectedItemsList.current.removeItemAt(this.items.length - 1);\n this._onSelectedItemsChanged();\n } else if (this.selectedItemsList.current.hasSelectedItems()) {\n if (this.floatingPicker.current) {\n this.floatingPicker.current.hidePicker();\n }\n ev.preventDefault();\n this.selectedItemsList.current.removeSelectedItems();\n this._onSelectedItemsChanged();\n }\n }\n };\n\n protected onCopy = (ev: React.ClipboardEvent): void => {\n if (this.selectedItemsList.current) {\n // Pass it down into the selected items list\n this.selectedItemsList.current.onCopy(ev);\n }\n };\n\n protected onPaste = (ev: React.ClipboardEvent): void => {\n if (this.props.onPaste) {\n const inputText = ev.clipboardData.getData('Text');\n ev.preventDefault();\n this.props.onPaste(inputText);\n }\n };\n\n protected _onSuggestionSelected = (item: T): void => {\n const currentRenderedQueryString = this.props.currentRenderedQueryString;\n const queryString = this.state.queryString;\n if (currentRenderedQueryString === undefined || currentRenderedQueryString === queryString) {\n const processedItem: T | PromiseLike | null = this.props.onItemSelected\n ? (this.props.onItemSelected as any)(item)\n : item;\n\n if (processedItem === null) {\n return;\n }\n\n const processedItemObject: T = processedItem as T;\n const processedItemPromiseLike: PromiseLike = processedItem as PromiseLike;\n\n let newItem: T;\n if (processedItemPromiseLike && processedItemPromiseLike.then) {\n processedItemPromiseLike.then((resolvedProcessedItem: T) => {\n newItem = resolvedProcessedItem;\n this._addProcessedItem(newItem);\n });\n } else {\n newItem = processedItemObject;\n this._addProcessedItem(newItem);\n }\n }\n };\n\n protected _onSelectedItemsChanged = (): void => {\n this.focus();\n };\n\n /**\n * The floating picker is the source of truth for if the menu has been opened or not.\n *\n * Because this isn't tracked inside the state of this component, we need to\n * force an update here to keep the rendered output that depends on the picker being open\n * in sync with the state\n *\n * Called when the suggestions is shown or closed\n */\n private _onSuggestionsShownOrHidden = () => {\n this.forceUpdate();\n };\n\n private _addProcessedItem(newItem: T) {\n // If this is a controlled component, call the on item selected callback\n // Otherwise add it to the selectedItemsList\n if (this.props.onItemAdded) {\n this.props.onItemAdded(newItem);\n }\n\n if (this.selectedItemsList.current) {\n this.selectedItemsList.current.addItems([newItem]);\n }\n\n if (this.input.current) {\n this.input.current.clear();\n }\n\n if (this.floatingPicker.current) {\n this.floatingPicker.current.hidePicker();\n }\n\n this.focus();\n }\n}\n","/* eslint-disable */\nimport { loadStyles } from '@microsoft/load-themed-styles';\nloadStyles([{\"rawString\":\".resultContent_aea8678f{display:table-row}.resultContent_aea8678f .resultItem_aea8678f{display:table-cell;vertical-align:bottom}.peoplePickerPersona_aea8678f{width:180px}.peoplePickerPersona_aea8678f .ms-Persona-details{width:100%}.peoplePicker_aea8678f .ms-BasePicker-text{min-height:40px}.peoplePickerPersonaContent_aea8678f{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center}\"}]);\nexport const resultContent = \"resultContent_aea8678f\";\nexport const resultItem = \"resultItem_aea8678f\";\nexport const peoplePickerPersona = \"peoplePickerPersona_aea8678f\";\nexport const peoplePicker = \"peoplePicker_aea8678f\";\nexport const peoplePickerPersonaContent = \"peoplePickerPersonaContent_aea8678f\";","import * as React from 'react';\nimport { FacepileBase } from './Facepile.base';\nimport { IStyle, ITheme } from '../../Styling';\nimport { IRefObject, IRenderFunction, IStyleFunctionOrObject } from '../../Utilities';\nimport { IButtonProps } from '../../Button';\nimport { IPersonaSharedProps, PersonaInitialsColor, PersonaSize } from '../../Persona';\nimport { IKeytipProps } from '../../Keytip';\n\n/**\n * {@docCategory Facepile}\n */\nexport interface IFacepile {}\n\n/**\n * {@docCategory Facepile}\n */\nexport interface IFacepileProps extends React.ClassAttributes {\n /**\n * Optional callback to access the IFacepile interface. Use this instead of ref for accessing\n * the public methods and properties of the component.\n */\n componentRef?: IRefObject;\n\n /**\n * Call to provide customized styling that will layer on top of the variant rules.\n */\n styles?: IStyleFunctionOrObject;\n\n /**\n * Theme provided by High-Order Component.\n */\n theme?: ITheme;\n\n /**\n * Additional css class to apply to the Facepile\n * @defaultvalue undefined\n */\n className?: string;\n\n /**\n * Array of IPersonaProps that define each Persona.\n */\n personas: IFacepilePersona[];\n\n /**\n * Personas to place in the overflow\n */\n overflowPersonas?: IFacepilePersona[];\n\n /** Maximum number of personas to show */\n maxDisplayablePersonas?: number;\n\n /** Size to display the personas */\n personaSize?: PersonaSize;\n\n /** ARIA label for persona list */\n ariaDescription?: string;\n\n /**\n * Defines the aria label that the screen readers use when focus goes on a list of personas.\n */\n ariaLabel?: string;\n\n /** Show add person button */\n showAddButton?: boolean;\n\n /** Button properties for the add face button */\n addButtonProps?: IButtonProps;\n\n /**\n * Deprecated at v0.70, use `overflowButtonProps` instead.\n * @deprecated Use `overflowButtonProps` instead.\n */\n chevronButtonProps?: IButtonProps;\n\n /** Properties for the overflow icon */\n overflowButtonProps?: IButtonProps;\n\n /** Type of overflow icon to use */\n overflowButtonType?: OverflowButtonType;\n\n /** Optional custom renderer for the persona, gets called when there is one persona in personas array*/\n onRenderPersona?: IRenderFunction;\n\n /** Optional custom renderer for the persona coins, gets called when there are multiple persona in personas array*/\n onRenderPersonaCoin?: IRenderFunction;\n\n /** Method to access properties on the underlying Persona control */\n getPersonaProps?: (persona: IFacepilePersona) => IPersonaSharedProps;\n}\n\n/**\n * {@docCategory Facepile}\n */\nexport interface IFacepilePersona extends React.ButtonHTMLAttributes {\n /**\n * Name of the person.\n */\n personaName?: string;\n\n /**\n * Url to the image to use, should be a square aspect ratio and big enough to fit in the image area.\n */\n imageUrl?: string;\n\n /**\n * The user's initials to display in the image area when there is no image.\n * @defaultvalue Derived from `personaName`\n */\n imageInitials?: string;\n\n /**\n * Whether initials are calculated for phone numbers and number sequences.\n * Example: Set property to true to get initials for project names consisting of numbers only.\n * @defaultvalue false\n */\n allowPhoneInitials?: boolean;\n\n /**\n * The background color when the user's initials are displayed.\n * @defaultvalue Derived from `personaName`\n */\n initialsColor?: PersonaInitialsColor;\n\n /**\n * If provided, persona will be rendered with cursor:pointer and the handler will be\n * called on click.\n */\n onClick?: (ev?: React.MouseEvent, persona?: IFacepilePersona) => void;\n\n /**\n * If provided, the handler will be called on mouse move.\n */\n onMouseMove?: (ev?: React.MouseEvent, persona?: IFacepilePersona) => void;\n\n /**\n * If provided, the handler will be called when mouse moves out of the component.\n */\n onMouseOut?: (ev?: React.MouseEvent, persona?: IFacepilePersona) => void;\n\n /**\n * Extra data - not used directly but can be handy for passing additional data to custom event\n * handlers.\n */\n data?: any;\n\n /**\n * Optional keytip for this button that is only added when 'onClick' is defined for the persona\n */\n keytipProps?: IKeytipProps;\n}\n\n/**\n * {@docCategory Facepile}\n */\nexport enum OverflowButtonType {\n /** No overflow */\n none = 0,\n /** +1 overflow icon */\n descriptive = 1,\n /** More overflow icon */\n more = 2,\n /** Chevron overflow icon */\n downArrow = 3,\n}\n\n/**\n * {@docCategory Facepile}\n */\nexport interface IFacepileStyleProps {\n /**\n * Theme provided by High-Order Component.\n */\n theme: ITheme;\n\n /**\n * Accept custom classNames\n */\n className?: string;\n\n /**\n * Pixel value for spacing around button. Number value set in pixels\n */\n spacingAroundItemButton?: number;\n}\n\n/**\n * {@docCategory Facepile}\n */\nexport interface IFacepileStyles {\n /**\n * Style for the root element.\n */\n root: IStyle;\n addButton: IStyle;\n descriptiveOverflowButton: IStyle;\n itemContainer: IStyle;\n itemButton: IStyle;\n members: IStyle;\n member: IStyle;\n overflowButton: IStyle;\n overflowInitialsIcon: IStyle;\n screenReaderOnly: IStyle;\n}\n","import { IPickerItemProps } from '../../../Pickers';\n\nimport { IExtendedPersonaProps } from '../../../SelectedItemsList';\nimport { IPersonaProps } from '../../../Persona';\nimport './ExtendedPeoplePicker.scss';\nimport { BaseExtendedPicker } from '../BaseExtendedPicker';\nimport { IBaseExtendedPickerProps } from '../BaseExtendedPicker.types';\n\n/**\n * {@docCategory ExtendedPeoplePicker}\n */\nexport interface IPeoplePickerItemProps extends IPickerItemProps {}\n\n/**\n * {@docCategory ExtendedPeoplePicker}\n */\nexport interface IExtendedPeoplePickerProps extends IBaseExtendedPickerProps {}\n\n/**\n * {@docCategory ExtendedPeoplePicker}\n */\nexport class BaseExtendedPeoplePicker extends BaseExtendedPicker {}\n\n/**\n * {@docCategory ExtendedPeoplePicker}\n */\nexport class ExtendedPeoplePicker extends BaseExtendedPeoplePicker {}\n","import { ITheme, concatStyleSets } from '../../Styling';\nimport { memoizeFunction } from '../../Utilities';\nimport { IButtonStyles } from '../../Button';\nimport { getStyles as getBaseButtonStyles } from '../Button/BaseButton.styles';\n\nexport const getStyles = memoizeFunction(\n (theme: ITheme, className?: string, customStyles?: IButtonStyles): IButtonStyles => {\n const baseButtonStyles: IButtonStyles = getBaseButtonStyles(theme);\n\n const customButtonStyles = concatStyleSets(baseButtonStyles, customStyles)!;\n\n return {\n ...customButtonStyles,\n root: [baseButtonStyles.root, className, theme.fonts.medium, customStyles && customStyles.root],\n } as IButtonStyles;\n },\n);\n","import * as React from 'react';\nimport { BaseButton, IButtonProps } from '../../Button';\nimport { customizable, nullRender } from '../../Utilities';\nimport { getStyles } from './FacepileButton.styles';\n\n@customizable('FacepileButton', ['theme', 'styles'], true)\nexport class FacepileButton extends React.Component {\n public render(): JSX.Element {\n const { className, styles, ...rest } = this.props;\n\n const customStyles = getStyles(this.props.theme!, className, styles);\n\n return (\n \n );\n }\n}\n","import * as React from 'react';\nimport {\n classNamesFunction,\n divProperties,\n getNativeProps,\n IRenderFunction,\n getPropsWithDefaults,\n} from '../../Utilities';\nimport { TooltipHost, TooltipOverflowMode } from '../../Tooltip';\nimport { PersonaCoin } from './PersonaCoin/PersonaCoin';\nimport {\n IPersonaProps,\n IPersonaStyleProps,\n IPersonaStyles,\n PersonaPresence as PersonaPresenceEnum,\n PersonaSize,\n IPersonaCoinProps,\n} from './Persona.types';\nimport { useWarnings, useMergedRefs } from '@fluentui/react-hooks';\nimport { DirectionalHint } from '../../common/DirectionalHint';\n\nconst getClassNames = classNamesFunction();\n\nconst DEFAULT_PROPS = {\n size: PersonaSize.size48,\n presence: PersonaPresenceEnum.none,\n imageAlt: '',\n showOverflowTooltip: true,\n};\n\nfunction useDebugWarnings(props: IPersonaProps) {\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks -- build-time conditional\n useWarnings({\n name: 'Persona',\n props,\n deprecations: { primaryText: 'text' },\n });\n }\n}\n\n/**\n * Persona with no default styles.\n * [Use the `styles` API to add your own styles.](https://github.com/microsoft/fluentui/wiki/Styling)\n */\nexport const PersonaBase: React.FunctionComponent = React.forwardRef(\n (propsWithoutDefaults, forwardedRef) => {\n const props = getPropsWithDefaults(DEFAULT_PROPS, propsWithoutDefaults);\n\n useDebugWarnings(props);\n const rootRef = React.useRef(null);\n const mergedRootRef = useMergedRefs(forwardedRef, rootRef);\n\n /**\n * Deprecation helper for getting text.\n */\n const getText = (): string => {\n // eslint-disable-next-line deprecation/deprecation\n return props.text || props.primaryText || '';\n };\n\n /**\n * Renders various types of Text (primaryText, secondaryText, etc)\n * based on the classNames passed\n * @param elementClassNames - element className\n * @param renderFunction - render function\n * @param defaultRenderFunction - default render function\n */\n const renderElement = (\n elementClassNames: string,\n renderFunction: IRenderFunction | undefined,\n defaultRenderFunction: IRenderFunction | undefined,\n ): JSX.Element => {\n return (\n
    \n {renderFunction && renderFunction(props, defaultRenderFunction)}\n
    \n );\n };\n\n /**\n * using closure to wrap the default render behavior\n * to make it independent of the type of text passed\n * @param text - text to render\n */\n const onRenderText = (text: string | undefined, tooltip = true): IRenderFunction | undefined => {\n // return default render behavior for valid text or undefined\n return text\n ? tooltip\n ? (): JSX.Element => {\n // default onRender behavior\n return (\n \n {text}\n \n );\n }\n : () => <>{text}\n : undefined;\n };\n\n const onInternalRenderPersonaCoin = (providedCoinProps: IPersonaCoinProps): JSX.Element | null => {\n return ;\n };\n\n // wrapping default render behavior based on various props properties\n const onInternalRenderPrimaryText = onRenderText(getText(), props.showOverflowTooltip);\n const onInternalRenderSecondaryText = onRenderText(props.secondaryText, props.showOverflowTooltip);\n const onInternalRenderTertiaryText = onRenderText(props.tertiaryText, props.showOverflowTooltip);\n const onInternalRenderOptionalText = onRenderText(props.optionalText, props.showOverflowTooltip);\n\n const {\n hidePersonaDetails,\n onRenderOptionalText = onInternalRenderOptionalText,\n onRenderPrimaryText = onInternalRenderPrimaryText,\n onRenderSecondaryText = onInternalRenderSecondaryText,\n onRenderTertiaryText = onInternalRenderTertiaryText,\n onRenderPersonaCoin = onInternalRenderPersonaCoin,\n } = props;\n const size = props.size as PersonaSize;\n\n // These properties are to be explicitly passed into PersonaCoin because they are the only props directly used\n const {\n allowPhoneInitials,\n className,\n coinProps,\n showUnknownPersonaCoin,\n coinSize,\n styles,\n imageAlt,\n imageInitials,\n imageShouldFadeIn,\n imageShouldStartVisible,\n imageUrl,\n initialsColor,\n initialsTextColor,\n isOutOfOffice,\n onPhotoLoadingStateChange,\n // eslint-disable-next-line deprecation/deprecation\n onRenderCoin,\n onRenderInitials,\n presence,\n presenceTitle,\n presenceColors,\n showInitialsUntilImageLoads,\n showSecondaryText,\n theme,\n } = props;\n\n const personaCoinProps: IPersonaCoinProps = {\n allowPhoneInitials,\n showUnknownPersonaCoin,\n coinSize,\n imageAlt,\n imageInitials,\n imageShouldFadeIn,\n imageShouldStartVisible,\n imageUrl,\n initialsColor,\n initialsTextColor,\n onPhotoLoadingStateChange,\n onRenderCoin,\n onRenderInitials,\n presence,\n presenceTitle,\n showInitialsUntilImageLoads,\n size,\n text: getText(),\n isOutOfOffice,\n presenceColors,\n ...coinProps,\n };\n\n const classNames = getClassNames(styles, {\n theme: theme!,\n className,\n showSecondaryText,\n presence,\n size,\n });\n\n const divProps = getNativeProps>(props, divProperties);\n const personaDetails = (\n
    \n {renderElement(classNames.primaryText, onRenderPrimaryText, onInternalRenderPrimaryText)}\n {renderElement(classNames.secondaryText, onRenderSecondaryText, onInternalRenderSecondaryText)}\n {renderElement(classNames.tertiaryText, onRenderTertiaryText, onInternalRenderTertiaryText)}\n {renderElement(classNames.optionalText, onRenderOptionalText, onInternalRenderOptionalText)}\n {props.children}\n
    \n );\n return (\n \n {onRenderPersonaCoin(personaCoinProps, onRenderPersonaCoin)}\n {\n /* eslint-disable deprecation/deprecation */\n\n (!hidePersonaDetails ||\n size === PersonaSize.size8 ||\n size === PersonaSize.size10 ||\n size === PersonaSize.tiny) &&\n personaDetails\n /* eslint-enable deprecation/deprecation */\n }\n \n );\n },\n);\nPersonaBase.displayName = 'PersonaBase';\n","import { IPersonaStyleProps, IPersonaStyles, PersonaPresence, PersonaSize } from './Persona.types';\nimport { FontWeights, IStyle, normalize, noWrap, getGlobalClassNames } from '../../Styling';\nimport { personaSize, presenceBoolean, sizeBoolean } from './PersonaConsts';\n\nconst GlobalClassNames = {\n root: 'ms-Persona',\n size8: 'ms-Persona--size8',\n size10: 'ms-Persona--size10',\n size16: 'ms-Persona--size16',\n size24: 'ms-Persona--size24',\n size28: 'ms-Persona--size28',\n size32: 'ms-Persona--size32',\n size40: 'ms-Persona--size40',\n size48: 'ms-Persona--size48',\n size56: 'ms-Persona--size56',\n size72: 'ms-Persona--size72',\n size100: 'ms-Persona--size100',\n size120: 'ms-Persona--size120',\n available: 'ms-Persona--online',\n away: 'ms-Persona--away',\n blocked: 'ms-Persona--blocked',\n busy: 'ms-Persona--busy',\n doNotDisturb: 'ms-Persona--donotdisturb',\n offline: 'ms-Persona--offline',\n details: 'ms-Persona-details',\n primaryText: 'ms-Persona-primaryText',\n secondaryText: 'ms-Persona-secondaryText',\n tertiaryText: 'ms-Persona-tertiaryText',\n optionalText: 'ms-Persona-optionalText',\n textContent: 'ms-Persona-textContent',\n};\n\nexport const getStyles = (props: IPersonaStyleProps): IPersonaStyles => {\n const { className, showSecondaryText, theme } = props;\n\n const { semanticColors, fonts } = theme;\n\n const classNames = getGlobalClassNames(GlobalClassNames, theme);\n\n const size = sizeBoolean(props.size as PersonaSize);\n const presence = presenceBoolean(props.presence as PersonaPresence);\n\n const showSecondaryTextDefaultHeight = '16px';\n\n const sharedTextStyles: IStyle = {\n color: semanticColors.bodySubtext,\n fontWeight: FontWeights.regular,\n fontSize: fonts.small.fontSize,\n };\n\n return {\n root: [\n classNames.root,\n theme.fonts.medium,\n normalize,\n {\n color: semanticColors.bodyText,\n position: 'relative',\n height: personaSize.size48,\n minWidth: personaSize.size48,\n display: 'flex',\n alignItems: 'center',\n\n selectors: {\n '.contextualHost': {\n display: 'none',\n },\n },\n },\n\n size.isSize8 && [\n classNames.size8,\n {\n height: personaSize.size8,\n minWidth: personaSize.size8,\n },\n ],\n\n // TODO: Deprecated size and needs to be removed in a future major release.\n size.isSize10 && [\n classNames.size10,\n {\n height: personaSize.size10,\n minWidth: personaSize.size10,\n },\n ],\n\n // TODO: Deprecated size and needs to be removed in a future major release.\n size.isSize16 && [\n classNames.size16,\n {\n height: personaSize.size16,\n minWidth: personaSize.size16,\n },\n ],\n\n size.isSize24 && [\n classNames.size24,\n {\n height: personaSize.size24,\n minWidth: personaSize.size24,\n },\n ],\n\n size.isSize24 &&\n showSecondaryText && {\n height: '36px',\n },\n\n // TODO: Deprecated size and needs to be removed in a future major release.\n size.isSize28 && [\n classNames.size28,\n {\n height: personaSize.size28,\n minWidth: personaSize.size28,\n },\n ],\n\n size.isSize28 &&\n showSecondaryText && {\n height: '32px',\n },\n\n size.isSize32 && [\n classNames.size32,\n {\n height: personaSize.size32,\n minWidth: personaSize.size32,\n },\n ],\n\n size.isSize40 && [\n classNames.size40,\n {\n height: personaSize.size40,\n minWidth: personaSize.size40,\n },\n ],\n\n size.isSize48 && classNames.size48,\n\n size.isSize56 && [\n classNames.size56,\n {\n height: personaSize.size56,\n minWidth: personaSize.size56,\n },\n ],\n\n size.isSize72 && [\n classNames.size72,\n {\n height: personaSize.size72,\n minWidth: personaSize.size72,\n },\n ],\n\n size.isSize100 && [\n classNames.size100,\n {\n height: personaSize.size100,\n minWidth: personaSize.size100,\n },\n ],\n\n size.isSize120 && [\n classNames.size120,\n {\n height: personaSize.size120,\n minWidth: personaSize.size120,\n },\n ],\n\n /**\n * Modifiers: presence\n */\n presence.isAvailable && classNames.available,\n presence.isAway && classNames.away,\n presence.isBlocked && classNames.blocked,\n presence.isBusy && classNames.busy,\n presence.isDoNotDisturb && classNames.doNotDisturb,\n presence.isOffline && classNames.offline,\n className,\n ],\n\n details: [\n classNames.details,\n {\n padding: '0 24px 0 16px',\n minWidth: 0,\n width: '100%',\n textAlign: 'left',\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'space-around',\n },\n\n (size.isSize8 || size.isSize10) && {\n paddingLeft: 17, // increased padding because we don't render a coin at this size\n },\n\n (size.isSize24 || size.isSize28 || size.isSize32) && {\n padding: '0 8px',\n },\n\n (size.isSize40 || size.isSize48) && {\n padding: '0 12px',\n },\n ],\n\n primaryText: [\n classNames.primaryText,\n noWrap,\n {\n color: semanticColors.bodyText,\n fontWeight: FontWeights.regular,\n fontSize: fonts.medium.fontSize,\n selectors: {\n ':hover': {\n color: semanticColors.inputTextHovered,\n },\n },\n },\n\n showSecondaryText && {\n height: showSecondaryTextDefaultHeight,\n lineHeight: showSecondaryTextDefaultHeight,\n overflowX: 'hidden',\n },\n\n (size.isSize8 || size.isSize10) && {\n fontSize: fonts.small.fontSize,\n lineHeight: personaSize.size8,\n },\n\n size.isSize16 && {\n lineHeight: personaSize.size28,\n },\n\n (size.isSize24 || size.isSize28 || size.isSize32 || size.isSize40 || size.isSize48) &&\n showSecondaryText && {\n height: 18,\n },\n\n (size.isSize56 || size.isSize72 || size.isSize100 || size.isSize120) && {\n fontSize: fonts.xLarge.fontSize,\n },\n\n (size.isSize56 || size.isSize72 || size.isSize100 || size.isSize120) &&\n showSecondaryText && {\n height: 22,\n },\n ],\n\n secondaryText: [\n classNames.secondaryText,\n noWrap,\n sharedTextStyles,\n\n (size.isSize8 || size.isSize10 || size.isSize16 || size.isSize24 || size.isSize28 || size.isSize32) && {\n display: 'none',\n },\n\n showSecondaryText && {\n display: 'block',\n height: showSecondaryTextDefaultHeight,\n lineHeight: showSecondaryTextDefaultHeight,\n overflowX: 'hidden',\n },\n\n size.isSize24 &&\n showSecondaryText && {\n height: 18,\n },\n\n (size.isSize56 || size.isSize72 || size.isSize100 || size.isSize120) && {\n fontSize: fonts.medium.fontSize,\n },\n\n (size.isSize56 || size.isSize72 || size.isSize100 || size.isSize120) &&\n showSecondaryText && {\n height: 18,\n },\n ],\n\n tertiaryText: [\n classNames.tertiaryText,\n noWrap,\n sharedTextStyles,\n {\n display: 'none',\n fontSize: fonts.medium.fontSize,\n },\n\n (size.isSize72 || size.isSize100 || size.isSize120) && {\n display: 'block',\n },\n ],\n\n optionalText: [\n classNames.optionalText,\n noWrap,\n sharedTextStyles,\n {\n display: 'none',\n fontSize: fonts.medium.fontSize,\n },\n\n (size.isSize100 || size.isSize120) && {\n display: 'block',\n },\n ],\n\n textContent: [classNames.textContent, noWrap],\n };\n};\n","import * as React from 'react';\nimport { styled } from '../../Utilities';\nimport { IPersonaProps, IPersonaStyleProps, IPersonaStyles } from './Persona.types';\nimport { PersonaBase } from './Persona.base';\nimport { getStyles } from './Persona.styles';\n\n/**\n * Personas are used for rendering an individual's avatar, presence and details.\n * They are used within the PeoplePicker components.\n */\nexport const Persona: React.FunctionComponent = styled<\n IPersonaProps,\n IPersonaStyleProps,\n IPersonaStyles\n>(PersonaBase, getStyles, undefined, {\n scope: 'Persona',\n});\n","import * as React from 'react';\nimport { buttonProperties, classNamesFunction, getId, getNativeProps, initializeComponentRef } from '../../Utilities';\nimport {\n IFacepileProps,\n IFacepilePersona,\n IFacepileStyleProps,\n IFacepileStyles,\n OverflowButtonType,\n} from './Facepile.types';\nimport { FacepileButton } from './FacepileButton';\nimport { Icon } from '../../Icon';\nimport { Persona, IPersonaStyles } from '../../Persona';\nimport { PersonaCoin, PersonaSize, PersonaInitialsColor } from '../../PersonaCoin';\nimport { IButtonProps } from '../../Button';\n\nconst getClassNames = classNamesFunction();\n\n/**\n * FacePile with no default styles.\n * [Use the `styles` API to add your own styles.](https://github.com/microsoft/fluentui/wiki/Component-Styling)\n */\nexport class FacepileBase extends React.Component {\n public static defaultProps: IFacepileProps = {\n maxDisplayablePersonas: 5,\n personas: [],\n overflowPersonas: [],\n personaSize: PersonaSize.size32,\n };\n\n private _ariaDescriptionId: string;\n\n private _classNames = getClassNames(this.props.styles, {\n theme: this.props.theme!,\n className: this.props.className,\n });\n\n constructor(props: IFacepileProps) {\n super(props);\n\n initializeComponentRef(this);\n this._ariaDescriptionId = getId();\n }\n\n public render(): JSX.Element {\n let { overflowButtonProps } = this.props;\n const {\n chevronButtonProps, // eslint-disable-line deprecation/deprecation\n maxDisplayablePersonas,\n personas,\n overflowPersonas,\n showAddButton,\n ariaLabel,\n } = this.props;\n\n const { _classNames } = this;\n\n // Add a check to make sure maxDisplayalePersonas is defined to cover the edge case of it being 0.\n const numPersonasToShow: number =\n typeof maxDisplayablePersonas === 'number' ? Math.min(personas.length, maxDisplayablePersonas) : personas.length;\n\n // Added for deprecating chevronButtonProps. Can remove after v1.0\n if (chevronButtonProps && !overflowButtonProps) {\n overflowButtonProps = chevronButtonProps;\n }\n\n const hasOverflowPersonas = overflowPersonas && overflowPersonas.length > 0;\n const personasPrimary: IFacepilePersona[] = hasOverflowPersonas ? personas : personas.slice(0, numPersonasToShow);\n const personasOverflow: IFacepilePersona[] =\n (hasOverflowPersonas ? overflowPersonas : personas.slice(numPersonasToShow)) || [];\n\n return (\n
    \n {this.onRenderAriaDescription()}\n
    \n {showAddButton ? this._getAddNewElement() : null}\n
      \n {this._onRenderVisiblePersonas(personasPrimary, personasOverflow.length === 0 && personas.length === 1)}\n
    \n {overflowButtonProps ? this._getOverflowElement(personasOverflow) : null}\n
    \n
    \n );\n }\n\n protected onRenderAriaDescription() {\n const { ariaDescription } = this.props;\n\n const { _classNames } = this;\n\n // If ariaDescription is given, descriptionId will be assigned to ariaDescriptionSpan,\n // otherwise it will be assigned to descriptionSpan.\n return (\n ariaDescription && (\n \n {ariaDescription}\n \n )\n );\n }\n\n private _onRenderVisiblePersonas(personas: IFacepilePersona[], singlePersona: boolean): JSX.Element[] {\n const { onRenderPersona = this._getPersonaControl, onRenderPersonaCoin = this._getPersonaCoinControl } = this.props;\n return personas.map((persona: IFacepilePersona, index: number) => {\n const personaControl: JSX.Element | null = singlePersona\n ? onRenderPersona(persona, this._getPersonaControl)\n : onRenderPersonaCoin(persona, this._getPersonaCoinControl);\n return (\n
  • \n {persona.onClick\n ? this._getElementWithOnClickEvent(personaControl, persona, index)\n : this._getElementWithoutOnClickEvent(personaControl, persona, index)}\n
  • \n );\n });\n }\n\n private _getPersonaControl = (persona: IFacepilePersona): JSX.Element | null => {\n const { getPersonaProps, personaSize } = this.props;\n const personaStyles: Partial = {\n details: {\n flex: '1 0 auto',\n },\n };\n\n return (\n \n );\n };\n\n private _getPersonaCoinControl = (persona: IFacepilePersona): JSX.Element | null => {\n const { getPersonaProps, personaSize } = this.props;\n return (\n \n );\n };\n\n private _getElementWithOnClickEvent(\n personaControl: JSX.Element | null,\n persona: IFacepilePersona,\n index: number,\n ): JSX.Element {\n const { keytipProps } = persona;\n return (\n \n {personaControl}\n \n );\n }\n\n private _getElementWithoutOnClickEvent(\n personaControl: JSX.Element | null,\n persona: IFacepilePersona,\n index: number,\n ): JSX.Element {\n return (\n
    \n {personaControl}\n
    \n );\n }\n\n private _getElementProps(\n persona: IFacepilePersona,\n index: number,\n ): { key: React.Key; ['data-is-focusable']: boolean } & React.HTMLAttributes {\n const { _classNames } = this;\n\n return {\n key: (persona.imageUrl ? 'i' : '') + index,\n 'data-is-focusable': true,\n className: _classNames.itemButton,\n title: persona.personaName,\n onMouseMove: this._onPersonaMouseMove.bind(this, persona),\n onMouseOut: this._onPersonaMouseOut.bind(this, persona),\n };\n }\n\n private _getOverflowElement(personasOverflow: IFacepilePersona[]): JSX.Element | null {\n switch (this.props.overflowButtonType) {\n case OverflowButtonType.descriptive:\n return this._getDescriptiveOverflowElement(personasOverflow);\n case OverflowButtonType.downArrow:\n return this._getIconElement('ChevronDown');\n case OverflowButtonType.more:\n return this._getIconElement('More');\n default:\n return null;\n }\n }\n\n private _getDescriptiveOverflowElement(personasOverflow: IFacepilePersona[]): JSX.Element | null {\n const { personaSize } = this.props;\n if (!personasOverflow || personasOverflow.length < 1) {\n return null;\n }\n\n const personaNames: string = personasOverflow.map((p: IFacepilePersona) => p.personaName).join(', ');\n const overflowButtonProps: IButtonProps = { ...{ title: personaNames }, ...this.props.overflowButtonProps };\n const numPersonasNotPictured: number = Math.max(personasOverflow.length, 0);\n\n const { _classNames } = this;\n\n return (\n \n \n \n );\n }\n\n private _getIconElement(icon: string): JSX.Element {\n const { overflowButtonProps, personaSize } = this.props;\n const overflowInitialsIcon = true;\n\n const { _classNames } = this;\n\n return (\n \n \n \n );\n }\n private _getAddNewElement(): JSX.Element {\n const { addButtonProps, personaSize } = this.props;\n\n const { _classNames } = this;\n\n return (\n \n \n \n );\n }\n\n private _onPersonaClick(persona: IFacepilePersona, ev?: React.MouseEvent): void {\n persona.onClick!(ev, persona);\n ev!.preventDefault();\n ev!.stopPropagation();\n }\n\n private _onPersonaMouseMove(persona: IFacepilePersona, ev?: React.MouseEvent): void {\n if (persona.onMouseMove) {\n persona.onMouseMove(ev, persona);\n }\n }\n\n private _onPersonaMouseOut(persona: IFacepilePersona, ev?: React.MouseEvent): void {\n if (persona.onMouseOut) {\n persona.onMouseOut(ev, persona);\n }\n }\n\n private _renderInitials(iconName: string, overflowButton?: boolean): () => JSX.Element {\n const { _classNames } = this;\n\n return (): JSX.Element => {\n return ;\n };\n }\n\n private _renderInitialsNotPictured(numPersonasNotPictured: number): () => JSX.Element {\n const { _classNames } = this;\n\n return (): JSX.Element => {\n return (\n \n {numPersonasNotPictured < 100 ? '+' + numPersonasNotPictured : '99+'}\n \n );\n };\n }\n}\n","import { IFacepileStyleProps, IFacepileStyles } from './Facepile.types';\n\nimport { IStyle, hiddenContentStyle, HighContrastSelector, getFocusStyle, getGlobalClassNames } from '../../Styling';\n\nconst GlobalClassNames = {\n root: 'ms-Facepile',\n addButton: 'ms-Facepile-addButton ms-Facepile-itemButton',\n descriptiveOverflowButton: 'ms-Facepile-descriptiveOverflowButton ms-Facepile-itemButton',\n itemButton: 'ms-Facepile-itemButton ms-Facepile-person',\n itemContainer: 'ms-Facepile-itemContainer',\n members: 'ms-Facepile-members',\n member: 'ms-Facepile-member',\n overflowButton: 'ms-Facepile-overflowButton ms-Facepile-itemButton',\n};\n\nexport const styles = (props: IFacepileStyleProps): IFacepileStyles => {\n const { className, theme, spacingAroundItemButton = 2 } = props;\n\n const { palette, fonts } = theme;\n const classNames = getGlobalClassNames(GlobalClassNames, theme);\n\n const ItemButtonStyles: IStyle = {\n textAlign: 'center',\n padding: 0,\n borderRadius: '50%',\n verticalAlign: 'top',\n display: 'inline',\n backgroundColor: 'transparent',\n border: 'none',\n selectors: {\n '&::-moz-focus-inner': {\n padding: 0,\n border: 0,\n },\n },\n };\n\n return {\n root: [\n classNames.root,\n theme.fonts.medium,\n {\n width: 'auto',\n },\n className,\n ],\n\n addButton: [\n classNames.addButton,\n getFocusStyle(theme, { inset: -1 }),\n ItemButtonStyles,\n {\n fontSize: fonts.medium.fontSize,\n color: palette.white,\n backgroundColor: palette.themePrimary,\n marginRight: spacingAroundItemButton * 2 + 'px',\n selectors: {\n '&:hover': {\n backgroundColor: palette.themeDark,\n },\n '&:focus': {\n backgroundColor: palette.themeDark,\n },\n '&:active': {\n backgroundColor: palette.themeDarker,\n },\n '&:disabled': {\n backgroundColor: palette.neutralTertiaryAlt,\n },\n },\n },\n ],\n\n descriptiveOverflowButton: [\n classNames.descriptiveOverflowButton,\n getFocusStyle(theme, { inset: -1 }),\n ItemButtonStyles,\n {\n fontSize: fonts.small.fontSize,\n color: palette.neutralSecondary,\n backgroundColor: palette.neutralLighter,\n marginLeft: `${spacingAroundItemButton * 2}px`,\n },\n ],\n\n itemButton: [classNames.itemButton, ItemButtonStyles],\n\n itemContainer: [\n classNames.itemContainer,\n {\n display: 'flex',\n },\n ],\n\n members: [\n classNames.members,\n {\n display: 'flex',\n overflow: 'hidden',\n listStyleType: 'none',\n padding: 0,\n margin: `-${spacingAroundItemButton}px`,\n },\n ],\n\n member: [\n classNames.member,\n {\n display: 'inline-flex',\n flex: '0 0 auto',\n margin: `${spacingAroundItemButton}px`,\n },\n ],\n\n overflowButton: [\n classNames.overflowButton,\n getFocusStyle(theme, { inset: -1 }),\n ItemButtonStyles,\n {\n fontSize: fonts.medium.fontSize,\n color: palette.neutralSecondary,\n backgroundColor: palette.neutralLighter,\n marginLeft: `${spacingAroundItemButton * 2}px`,\n },\n ],\n\n overflowInitialsIcon: [\n {\n color: palette.neutralPrimary,\n selectors: {\n [HighContrastSelector]: {\n color: 'WindowText',\n },\n },\n },\n ],\n\n screenReaderOnly: hiddenContentStyle,\n };\n};\n","import * as React from 'react';\nimport { styled } from '../../Utilities';\nimport { IFacepileProps, IFacepileStyleProps, IFacepileStyles } from './Facepile.types';\nimport { FacepileBase } from './Facepile.base';\nimport { styles } from './Facepile.styles';\n\n/**\n * The Facepile shows a list of faces or initials in a horizontal lockup. Each circle represents a person.\n */\nexport const Facepile: React.FunctionComponent = styled<\n IFacepileProps,\n IFacepileStyleProps,\n IFacepileStyles\n>(FacepileBase, styles, undefined, {\n scope: 'Facepile',\n});\n","/* eslint-disable */\nimport { loadStyles } from '@microsoft/load-themed-styles';\nloadStyles([{\"rawString\":\".callout_48a4edb6 .ms-Suggestions-itemButton{padding:0;border:none}.callout_48a4edb6 .ms-Suggestions{min-width:300px}\"}]);\nexport const callout = \"callout_48a4edb6\";","/* eslint-disable */\nimport { loadStyles } from '@microsoft/load-themed-styles';\nloadStyles([{\"rawString\":\".root_07ff8c4c{min-width:260px}.suggestionsItem_07ff8c4c{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;position:relative;overflow:hidden}.suggestionsItem_07ff8c4c:hover{background:\"},{\"theme\":\"neutralLighter\",\"defaultValue\":\"#f3f2f1\"},{\"rawString\":\"}.suggestionsItem_07ff8c4c:hover .closeButton_07ff8c4c{display:block}.suggestionsItem_07ff8c4c.suggestionsItemIsSuggested_07ff8c4c{background:\"},{\"theme\":\"neutralLight\",\"defaultValue\":\"#edebe9\"},{\"rawString\":\"}.suggestionsItem_07ff8c4c.suggestionsItemIsSuggested_07ff8c4c:hover{background:\"},{\"theme\":\"neutralTertiaryAlt\",\"defaultValue\":\"#c8c6c4\"},{\"rawString\":\"}@media screen and (-ms-high-contrast:active){.suggestionsItem_07ff8c4c.suggestionsItemIsSuggested_07ff8c4c:hover{background:Highlight;color:HighlightText}}@media screen and (-ms-high-contrast:active){.suggestionsItem_07ff8c4c.suggestionsItemIsSuggested_07ff8c4c{background:Highlight;color:HighlightText;-ms-high-contrast-adjust:none}}.suggestionsItem_07ff8c4c.suggestionsItemIsSuggested_07ff8c4c .closeButton_07ff8c4c:hover{background:\"},{\"theme\":\"neutralTertiary\",\"defaultValue\":\"#a19f9d\"},{\"rawString\":\";color:\"},{\"theme\":\"neutralPrimary\",\"defaultValue\":\"#323130\"},{\"rawString\":\"}@media screen and (-ms-high-contrast:active){.suggestionsItem_07ff8c4c.suggestionsItemIsSuggested_07ff8c4c .itemButton_07ff8c4c{color:HighlightText}}.suggestionsItem_07ff8c4c .closeButton_07ff8c4c{display:none;color:\"},{\"theme\":\"neutralSecondary\",\"defaultValue\":\"#605e5c\"},{\"rawString\":\"}.suggestionsItem_07ff8c4c .closeButton_07ff8c4c:hover{background:\"},{\"theme\":\"neutralLight\",\"defaultValue\":\"#edebe9\"},{\"rawString\":\"}.actionButton_07ff8c4c{background-color:transparent;border:0;cursor:pointer;margin:0;position:relative;border-top:1px solid \"},{\"theme\":\"neutralLight\",\"defaultValue\":\"#edebe9\"},{\"rawString\":\";height:40px;width:100%;font-size:12px}[dir=ltr] .actionButton_07ff8c4c{padding-left:8px}[dir=rtl] .actionButton_07ff8c4c{padding-right:8px}html[dir=ltr] .actionButton_07ff8c4c{text-align:left}html[dir=rtl] .actionButton_07ff8c4c{text-align:right}.actionButton_07ff8c4c:hover{background-color:\"},{\"theme\":\"neutralLight\",\"defaultValue\":\"#edebe9\"},{\"rawString\":\";cursor:pointer}.actionButton_07ff8c4c:active,.actionButton_07ff8c4c:focus{background-color:\"},{\"theme\":\"themeLight\",\"defaultValue\":\"#c7e0f4\"},{\"rawString\":\"}.actionButton_07ff8c4c .ms-Button-icon{font-size:16px;width:25px}.actionButton_07ff8c4c .ms-Button-label{margin:0 4px 0 9px}html[dir=rtl] .actionButton_07ff8c4c .ms-Button-label{margin:0 9px 0 4px}.buttonSelected_07ff8c4c{background-color:\"},{\"theme\":\"themeLight\",\"defaultValue\":\"#c7e0f4\"},{\"rawString\":\"}.suggestionsTitle_07ff8c4c{padding:0 12px;color:\"},{\"theme\":\"themePrimary\",\"defaultValue\":\"#0078d4\"},{\"rawString\":\";font-size:12px;line-height:40px;border-bottom:1px solid \"},{\"theme\":\"neutralLight\",\"defaultValue\":\"#edebe9\"},{\"rawString\":\"}.suggestionsContainer_07ff8c4c{overflow-y:auto;overflow-x:hidden;max-height:300px;border-bottom:1px solid \"},{\"theme\":\"neutralLight\",\"defaultValue\":\"#edebe9\"},{\"rawString\":\"}.suggestionsNone_07ff8c4c{text-align:center;color:#797775;font-size:12px;line-height:30px}.suggestionsSpinner_07ff8c4c{margin:5px 0;white-space:nowrap;line-height:20px;font-size:12px}html[dir=ltr] .suggestionsSpinner_07ff8c4c{padding-left:14px}html[dir=rtl] .suggestionsSpinner_07ff8c4c{padding-right:14px}html[dir=ltr] .suggestionsSpinner_07ff8c4c{text-align:left}html[dir=rtl] .suggestionsSpinner_07ff8c4c{text-align:right}.suggestionsSpinner_07ff8c4c .ms-Spinner-circle{display:inline-block;vertical-align:middle}.suggestionsSpinner_07ff8c4c .ms-Spinner-label{display:inline-block;margin:0 10px 0 16px;vertical-align:middle}html[dir=rtl] .suggestionsSpinner_07ff8c4c .ms-Spinner-label{margin:0 16px 0 10px}.itemButton_07ff8c4c.itemButton_07ff8c4c{width:100%;padding:0;min-width:0;height:100%}@media screen and (-ms-high-contrast:active){.itemButton_07ff8c4c.itemButton_07ff8c4c{color:WindowText}}.itemButton_07ff8c4c.itemButton_07ff8c4c:hover{color:\"},{\"theme\":\"neutralDark\",\"defaultValue\":\"#201f1e\"},{\"rawString\":\"}.closeButton_07ff8c4c.closeButton_07ff8c4c{padding:0 4px;height:auto;width:32px}@media screen and (-ms-high-contrast:active){.closeButton_07ff8c4c.closeButton_07ff8c4c{color:WindowText}}.closeButton_07ff8c4c.closeButton_07ff8c4c:hover{background:\"},{\"theme\":\"neutralTertiaryAlt\",\"defaultValue\":\"#c8c6c4\"},{\"rawString\":\";color:\"},{\"theme\":\"neutralDark\",\"defaultValue\":\"#201f1e\"},{\"rawString\":\"}.suggestionsAvailable_07ff8c4c{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}\"}]);\nexport const root = \"root_07ff8c4c\";\nexport const suggestionsItem = \"suggestionsItem_07ff8c4c\";\nexport const closeButton = \"closeButton_07ff8c4c\";\nexport const suggestionsItemIsSuggested = \"suggestionsItemIsSuggested_07ff8c4c\";\nexport const itemButton = \"itemButton_07ff8c4c\";\nexport const actionButton = \"actionButton_07ff8c4c\";\nexport const buttonSelected = \"buttonSelected_07ff8c4c\";\nexport const suggestionsTitle = \"suggestionsTitle_07ff8c4c\";\nexport const suggestionsContainer = \"suggestionsContainer_07ff8c4c\";\nexport const suggestionsNone = \"suggestionsNone_07ff8c4c\";\nexport const suggestionsSpinner = \"suggestionsSpinner_07ff8c4c\";\nexport const suggestionsAvailable = \"suggestionsAvailable_07ff8c4c\";","import * as React from 'react';\n\nimport { classNamesFunction, css, initializeComponentRef } from '../../../Utilities';\nimport { IProcessedStyleSet } from '../../../Styling';\nimport { CommandButton, IconButton } from '../../../Button';\nimport { ISuggestionItemProps, ISuggestionsItemStyleProps, ISuggestionsItemStyles } from './SuggestionsItem.types';\n\nimport * as stylesImport from './Suggestions.scss';\nconst legacyStyles: any = stylesImport;\n\nconst getClassNames = classNamesFunction();\n\n/**\n * {@docCategory Pickers}\n */\nexport class SuggestionsItem extends React.Component, {}> {\n constructor(props: ISuggestionItemProps) {\n super(props);\n\n initializeComponentRef(this);\n }\n\n public render(): JSX.Element {\n const {\n suggestionModel,\n RenderSuggestion,\n onClick,\n className,\n id,\n onRemoveItem,\n isSelectedOverride,\n removeButtonAriaLabel,\n styles,\n theme,\n } = this.props;\n\n // TODO\n // Clean this up by leaving only the first part after removing support for SASS.\n // Currently we can not remove the SASS styles from SuggestionsItem class because it\n // might be used by consumers separately from pickers extending from BasePicker\n // and have not used the new 'styles' prop. Because it's expecting a type parameter,\n // we can not use the 'styled' function without adding some helpers which can break\n // downstream consumers who did not use the new helpers.\n // We check for 'styles' prop which is going to be injected by the 'styled' HOC\n // in Suggestions when the typed SuggestionsItem class is ready to be rendered. If the\n // check passes we can use the CSS-in-JS styles. If the check fails (ex: custom picker),\n // then we just use the old SASS styles instead.\n const classNames: Partial> = styles\n ? getClassNames(styles, {\n theme: theme!,\n className,\n suggested: suggestionModel.selected || isSelectedOverride,\n })\n : {\n root: css(\n 'ms-Suggestions-item',\n legacyStyles.suggestionsItem,\n {\n ['is-suggested ' + legacyStyles.suggestionsItemIsSuggested]:\n suggestionModel.selected || isSelectedOverride,\n },\n className,\n ),\n itemButton: css('ms-Suggestions-itemButton', legacyStyles.itemButton),\n closeButton: css('ms-Suggestions-closeButton', legacyStyles.closeButton),\n };\n\n return (\n
    \n \n {RenderSuggestion(suggestionModel.item, this.props)}\n \n {this.props.showRemoveButton ? (\n \n ) : null}\n
    \n );\n }\n}\n","/* eslint-disable */\nimport { loadStyles } from '@microsoft/load-themed-styles';\nloadStyles([{\"rawString\":\".suggestionsContainer_f38d2867{overflow-y:auto;overflow-x:hidden;max-height:300px}.suggestionsContainer_f38d2867 .ms-Suggestion-item:hover{background-color:\"},{\"theme\":\"neutralLighter\",\"defaultValue\":\"#f3f2f1\"},{\"rawString\":\";cursor:pointer}.suggestionsContainer_f38d2867 .is-suggested{background-color:\"},{\"theme\":\"themeLighter\",\"defaultValue\":\"#deecf9\"},{\"rawString\":\"}.suggestionsContainer_f38d2867 .is-suggested:hover{background-color:\"},{\"theme\":\"themeLight\",\"defaultValue\":\"#c7e0f4\"},{\"rawString\":\";cursor:pointer}\"}]);\nexport const suggestionsContainer = \"suggestionsContainer_f38d2867\";","import * as React from 'react';\nimport { initializeComponentRef, css } from '../../../Utilities';\nimport { ISuggestionItemProps, SuggestionsItem, ISuggestionModel } from '../../../Pickers';\nimport { ISuggestionsCoreProps } from './Suggestions.types';\nimport * as stylesImport from './SuggestionsCore.scss';\n\nconst styles: any = stylesImport;\n\n/**\n * Class when used with SuggestionsStore, renders a basic suggestions control\n */\nexport class SuggestionsCore extends React.Component, {}> {\n public currentIndex: number;\n public currentSuggestion: ISuggestionModel | undefined;\n protected _selectedElement = React.createRef();\n private SuggestionsItemOfProperType: new (props: ISuggestionItemProps) => SuggestionsItem = SuggestionsItem;\n\n constructor(suggestionsProps: ISuggestionsCoreProps) {\n super(suggestionsProps);\n\n initializeComponentRef(this);\n this.currentIndex = -1;\n }\n\n /**\n * Increments the selected suggestion index\n */\n public nextSuggestion(): boolean {\n const { suggestions } = this.props;\n\n if (suggestions && suggestions.length > 0) {\n if (this.currentIndex === -1) {\n this.setSelectedSuggestion(0);\n return true;\n } else if (this.currentIndex < suggestions.length - 1) {\n this.setSelectedSuggestion(this.currentIndex + 1);\n return true;\n } else if (this.props.shouldLoopSelection && this.currentIndex === suggestions.length - 1) {\n this.setSelectedSuggestion(0);\n return true;\n }\n }\n\n return false;\n }\n\n /**\n * Decrements the selected suggestion index\n */\n public previousSuggestion(): boolean {\n const { suggestions } = this.props;\n\n if (suggestions && suggestions.length > 0) {\n if (this.currentIndex === -1) {\n this.setSelectedSuggestion(suggestions.length - 1);\n return true;\n } else if (this.currentIndex > 0) {\n this.setSelectedSuggestion(this.currentIndex - 1);\n return true;\n } else if (this.props.shouldLoopSelection && this.currentIndex === 0) {\n this.setSelectedSuggestion(suggestions.length - 1);\n return true;\n }\n }\n\n return false;\n }\n\n public get selectedElement(): HTMLDivElement | undefined {\n return this._selectedElement.current || undefined;\n }\n\n public getCurrentItem(): ISuggestionModel {\n return this.props.suggestions[this.currentIndex];\n }\n\n public getSuggestionAtIndex(index: number): ISuggestionModel {\n return this.props.suggestions[index];\n }\n\n public hasSuggestionSelected(): boolean {\n return this.currentIndex !== -1 && this.currentIndex < this.props.suggestions.length;\n }\n\n public removeSuggestion(index: number): void {\n this.props.suggestions.splice(index, 1);\n }\n\n public deselectAllSuggestions(): void {\n if (this.currentIndex > -1 && this.props.suggestions[this.currentIndex]) {\n this.props.suggestions[this.currentIndex].selected = false;\n this.currentIndex = -1;\n this.forceUpdate();\n }\n }\n\n public setSelectedSuggestion(index: number): void {\n const { suggestions } = this.props;\n\n if (index > suggestions.length - 1 || index < 0) {\n this.currentIndex = 0;\n this.currentSuggestion!.selected = false;\n this.currentSuggestion = suggestions[0];\n this.currentSuggestion.selected = true;\n } else {\n if (this.currentIndex > -1 && suggestions[this.currentIndex]) {\n suggestions[this.currentIndex].selected = false;\n }\n suggestions[index].selected = true;\n this.currentIndex = index;\n this.currentSuggestion = suggestions[index];\n }\n\n this.forceUpdate();\n }\n\n public componentDidUpdate(): void {\n this.scrollSelected();\n }\n\n public render(): JSX.Element {\n const {\n onRenderSuggestion,\n suggestionsItemClassName,\n resultsMaximumNumber,\n showRemoveButtons,\n suggestionsContainerAriaLabel,\n } = this.props;\n const TypedSuggestionsItem = this.SuggestionsItemOfProperType;\n let { suggestions } = this.props;\n\n if (resultsMaximumNumber) {\n suggestions = suggestions.slice(0, resultsMaximumNumber);\n }\n\n return (\n \n {suggestions.map((suggestion: ISuggestionModel, index: number) => (\n \n \n \n ))}\n \n );\n }\n\n // TODO get the element to scroll into view properly regardless of direction.\n public scrollSelected(): void {\n if (this._selectedElement.current?.scrollIntoView !== undefined) {\n this._selectedElement.current.scrollIntoView(false);\n }\n }\n\n private _onClickTypedSuggestionsItem = (item: T, index: number): ((ev: React.MouseEvent) => void) => {\n return (ev: React.MouseEvent): void => {\n this.props.onSuggestionClick(ev, item, index);\n };\n };\n\n private _onRemoveTypedSuggestionsItem = (item: T, index: number): ((ev: React.MouseEvent) => void) => {\n return (ev: React.MouseEvent): void => {\n const onSuggestionRemove = this.props.onSuggestionRemove!;\n onSuggestionRemove(ev, item, index);\n ev.stopPropagation();\n };\n };\n}\n","/* eslint-disable */\nimport { loadStyles } from '@microsoft/load-themed-styles';\nloadStyles([{\"rawString\":\".root_8aef8ec2{min-width:260px}.actionButton_8aef8ec2{background:0 0;background-color:transparent;border:0;cursor:pointer;margin:0;padding:0;position:relative;width:100%;font-size:12px}html[dir=ltr] .actionButton_8aef8ec2{text-align:left}html[dir=rtl] .actionButton_8aef8ec2{text-align:right}.actionButton_8aef8ec2:hover{background-color:\"},{\"theme\":\"neutralLighter\",\"defaultValue\":\"#f3f2f1\"},{\"rawString\":\";cursor:pointer}.actionButton_8aef8ec2:active,.actionButton_8aef8ec2:focus{background-color:\"},{\"theme\":\"themeLight\",\"defaultValue\":\"#c7e0f4\"},{\"rawString\":\"}.actionButton_8aef8ec2 .ms-Button-icon{font-size:16px;width:25px}.actionButton_8aef8ec2 .ms-Button-label{margin:0 4px 0 9px}html[dir=rtl] .actionButton_8aef8ec2 .ms-Button-label{margin:0 9px 0 4px}.buttonSelected_8aef8ec2{background-color:\"},{\"theme\":\"themeLighter\",\"defaultValue\":\"#deecf9\"},{\"rawString\":\"}.buttonSelected_8aef8ec2:hover{background-color:\"},{\"theme\":\"themeLight\",\"defaultValue\":\"#c7e0f4\"},{\"rawString\":\";cursor:pointer}@media screen and (-ms-high-contrast:active){.buttonSelected_8aef8ec2:hover{background-color:Highlight;color:HighlightText}}@media screen and (-ms-high-contrast:active){.buttonSelected_8aef8ec2{background-color:Highlight;color:HighlightText;-ms-high-contrast-adjust:none}}.suggestionsTitle_8aef8ec2{font-size:12px}.suggestionsSpinner_8aef8ec2{margin:5px 0;white-space:nowrap;line-height:20px;font-size:12px}html[dir=ltr] .suggestionsSpinner_8aef8ec2{padding-left:14px}html[dir=rtl] .suggestionsSpinner_8aef8ec2{padding-right:14px}html[dir=ltr] .suggestionsSpinner_8aef8ec2{text-align:left}html[dir=rtl] .suggestionsSpinner_8aef8ec2{text-align:right}.suggestionsSpinner_8aef8ec2 .ms-Spinner-circle{display:inline-block;vertical-align:middle}.suggestionsSpinner_8aef8ec2 .ms-Spinner-label{display:inline-block;margin:0 10px 0 16px;vertical-align:middle}html[dir=rtl] .suggestionsSpinner_8aef8ec2 .ms-Spinner-label{margin:0 16px 0 10px}.itemButton_8aef8ec2{height:100%;width:100%;padding:7px 12px}@media screen and (-ms-high-contrast:active){.itemButton_8aef8ec2{color:WindowText}}.screenReaderOnly_8aef8ec2{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}\"}]);\nexport const root = \"root_8aef8ec2\";\nexport const actionButton = \"actionButton_8aef8ec2\";\nexport const buttonSelected = \"buttonSelected_8aef8ec2\";\nexport const suggestionsTitle = \"suggestionsTitle_8aef8ec2\";\nexport const suggestionsSpinner = \"suggestionsSpinner_8aef8ec2\";\nexport const itemButton = \"itemButton_8aef8ec2\";\nexport const screenReaderOnly = \"screenReaderOnly_8aef8ec2\";","import * as React from 'react';\nimport { css, KeyCodes, initializeComponentRef } from '../../../Utilities';\nimport { IButton } from '../../../Button';\nimport { ISuggestionModel } from '../../../Pickers';\nimport {\n ISuggestionsHeaderFooterItemProps,\n ISuggestionsControlProps,\n ISuggestionsCoreProps,\n ISuggestionsHeaderFooterProps,\n} from './Suggestions.types';\nimport { SuggestionsCore } from './SuggestionsCore';\nimport * as stylesImport from './SuggestionsControl.scss';\nimport { hiddenContentStyle, mergeStyles } from '../../../Styling';\n\nconst styles: any = stylesImport;\n\nexport enum SuggestionItemType {\n header,\n suggestion,\n footer,\n}\n\nexport interface ISuggestionsControlState {\n selectedHeaderIndex: number;\n selectedFooterIndex: number;\n suggestions: ISuggestionModel[];\n}\n\nexport class SuggestionsHeaderFooterItem extends React.Component {\n constructor(props: ISuggestionsHeaderFooterItemProps) {\n super(props);\n\n initializeComponentRef(this);\n }\n\n public render(): JSX.Element {\n const { renderItem, onExecute, isSelected, id, className } = this.props;\n return onExecute ? (\n \n {renderItem()}\n \n ) : (\n
    \n {renderItem()}\n
    \n );\n }\n}\n\n/**\n * Class when used with SuggestionsStore, renders a suggestions control with customizable headers and footers\n */\nexport class SuggestionsControl extends React.Component, ISuggestionsControlState> {\n protected _forceResolveButton: IButton;\n protected _searchForMoreButton: IButton;\n protected _selectedElement = React.createRef();\n protected _suggestions = React.createRef>();\n private SuggestionsOfProperType: new (\n props: ISuggestionsCoreProps,\n ) => SuggestionsCore = SuggestionsCore as new (props: ISuggestionsCoreProps) => SuggestionsCore;\n\n constructor(suggestionsProps: ISuggestionsControlProps) {\n super(suggestionsProps);\n\n initializeComponentRef(this);\n this.state = {\n selectedHeaderIndex: -1,\n selectedFooterIndex: -1,\n suggestions: suggestionsProps.suggestions,\n };\n }\n\n public componentDidMount(): void {\n this.resetSelectedItem();\n }\n\n public componentDidUpdate(oldProps: ISuggestionsControlProps): void {\n this.scrollSelected();\n if (oldProps.suggestions && oldProps.suggestions !== this.props.suggestions) {\n this.setState({ suggestions: this.props.suggestions }, () => {\n this.resetSelectedItem();\n });\n }\n }\n\n public componentWillUnmount(): void {\n this._suggestions.current?.deselectAllSuggestions();\n }\n\n public render(): JSX.Element {\n const { className, headerItemsProps, footerItemsProps, suggestionsAvailableAlertText } = this.props;\n\n const screenReaderTextStyles = mergeStyles(hiddenContentStyle);\n const shouldAlertSuggestionsAvailableText =\n this.state.suggestions && this.state.suggestions.length > 0 && suggestionsAvailableAlertText;\n\n return (\n
    \n {headerItemsProps && this.renderHeaderItems()}\n {this._renderSuggestions()}\n {footerItemsProps && this.renderFooterItems()}\n {shouldAlertSuggestionsAvailableText ? (\n \n {suggestionsAvailableAlertText}\n \n ) : null}\n
    \n );\n }\n\n public get currentSuggestion(): ISuggestionModel | undefined {\n return this._suggestions.current?.getCurrentItem() || undefined;\n }\n\n public get currentSuggestionIndex(): number {\n return this._suggestions.current ? this._suggestions.current.currentIndex : -1;\n }\n\n public get selectedElement(): HTMLDivElement | undefined {\n return this._selectedElement.current ? this._selectedElement.current : this._suggestions.current?.selectedElement;\n }\n\n public hasSuggestionSelected(): boolean {\n return this._suggestions.current?.hasSuggestionSelected() || false;\n }\n\n public hasSelection(): boolean {\n const { selectedHeaderIndex, selectedFooterIndex } = this.state;\n return selectedHeaderIndex !== -1 || this.hasSuggestionSelected() || selectedFooterIndex !== -1;\n }\n\n public executeSelectedAction(): void {\n const { headerItemsProps, footerItemsProps } = this.props;\n const { selectedHeaderIndex, selectedFooterIndex } = this.state;\n\n if (headerItemsProps && selectedHeaderIndex !== -1 && selectedHeaderIndex < headerItemsProps.length) {\n const selectedHeaderItem = headerItemsProps[selectedHeaderIndex];\n if (selectedHeaderItem.onExecute) {\n selectedHeaderItem.onExecute();\n }\n } else if (this._suggestions.current?.hasSuggestionSelected()) {\n this.props.completeSuggestion();\n } else if (footerItemsProps && selectedFooterIndex !== -1 && selectedFooterIndex < footerItemsProps.length) {\n const selectedFooterItem = footerItemsProps[selectedFooterIndex];\n if (selectedFooterItem.onExecute) {\n selectedFooterItem.onExecute();\n }\n }\n }\n\n public removeSuggestion(index?: number): void {\n this._suggestions.current?.removeSuggestion(index ? index : this._suggestions.current?.currentIndex);\n }\n\n /**\n * Handles the key down, returns true, if the event was handled, false otherwise\n * @param keyCode - The keyCode to handle\n */\n public handleKeyDown(keyCode: number): boolean {\n const { selectedHeaderIndex, selectedFooterIndex } = this.state;\n let isKeyDownHandled = false;\n if (keyCode === KeyCodes.down) {\n if (\n selectedHeaderIndex === -1 &&\n !this._suggestions.current?.hasSuggestionSelected() &&\n selectedFooterIndex === -1\n ) {\n this.selectFirstItem();\n } else if (selectedHeaderIndex !== -1) {\n this.selectNextItem(SuggestionItemType.header);\n isKeyDownHandled = true;\n } else if (this._suggestions.current?.hasSuggestionSelected()) {\n this.selectNextItem(SuggestionItemType.suggestion);\n isKeyDownHandled = true;\n } else if (selectedFooterIndex !== -1) {\n this.selectNextItem(SuggestionItemType.footer);\n isKeyDownHandled = true;\n }\n } else if (keyCode === KeyCodes.up) {\n if (\n selectedHeaderIndex === -1 &&\n !this._suggestions.current?.hasSuggestionSelected() &&\n selectedFooterIndex === -1\n ) {\n this.selectLastItem();\n } else if (selectedHeaderIndex !== -1) {\n this.selectPreviousItem(SuggestionItemType.header);\n isKeyDownHandled = true;\n } else if (this._suggestions.current?.hasSuggestionSelected()) {\n this.selectPreviousItem(SuggestionItemType.suggestion);\n isKeyDownHandled = true;\n } else if (selectedFooterIndex !== -1) {\n this.selectPreviousItem(SuggestionItemType.footer);\n isKeyDownHandled = true;\n }\n } else if (keyCode === KeyCodes.enter || keyCode === KeyCodes.tab) {\n if (this.hasSelection()) {\n this.executeSelectedAction();\n isKeyDownHandled = true;\n }\n }\n\n return isKeyDownHandled;\n }\n\n // TODO get the element to scroll into view properly regardless of direction.\n public scrollSelected(): void {\n if (this._selectedElement.current) {\n this._selectedElement.current.scrollIntoView(false);\n }\n }\n\n protected renderHeaderItems(): JSX.Element | null {\n const { headerItemsProps, suggestionsHeaderContainerAriaLabel } = this.props;\n const { selectedHeaderIndex } = this.state;\n\n return headerItemsProps ? (\n \n {headerItemsProps.map((headerItemProps: ISuggestionsHeaderFooterProps, index: number) => {\n const isSelected = selectedHeaderIndex !== -1 && selectedHeaderIndex === index;\n return headerItemProps.shouldShow() ? (\n \n \n \n ) : null;\n })}\n \n ) : null;\n }\n\n protected renderFooterItems(): JSX.Element | null {\n const { footerItemsProps, suggestionsFooterContainerAriaLabel } = this.props;\n const { selectedFooterIndex } = this.state;\n return footerItemsProps ? (\n \n {footerItemsProps.map((footerItemProps: ISuggestionsHeaderFooterProps, index: number) => {\n const isSelected = selectedFooterIndex !== -1 && selectedFooterIndex === index;\n return footerItemProps.shouldShow() ? (\n \n \n \n ) : null;\n })}\n \n ) : null;\n }\n\n protected _renderSuggestions(): JSX.Element {\n const TypedSuggestions = this.SuggestionsOfProperType;\n\n return ;\n }\n\n /**\n * Selects the next selectable item\n */\n protected selectNextItem(itemType: SuggestionItemType, originalItemType?: SuggestionItemType): void {\n // If the recursive calling has not found a selectable item in the other suggestion item type groups\n // And the method is being called again with the original item type,\n // Select the first selectable item of this suggestion item type group (could be the currently selected item)\n if (itemType === originalItemType) {\n this._selectNextItemOfItemType(itemType);\n return;\n }\n\n const startedItemType = originalItemType !== undefined ? originalItemType : itemType;\n\n // Try to set the selection to the next selectable item, of the same suggestion item type group\n // If this is the original item type, use the current index\n const selectionChanged = this._selectNextItemOfItemType(\n itemType,\n startedItemType === itemType ? this._getCurrentIndexForType(itemType) : undefined,\n );\n\n // If the selection did not change, try to select from the next suggestion type group\n if (!selectionChanged) {\n this.selectNextItem(this._getNextItemSectionType(itemType), startedItemType);\n }\n }\n\n /**\n * Selects the previous selectable item\n */\n protected selectPreviousItem(itemType: SuggestionItemType, originalItemType?: SuggestionItemType): void {\n // If the recursive calling has not found a selectable item in the other suggestion item type groups\n // And the method is being called again with the original item type,\n // Select the last selectable item of this suggestion item type group (could be the currently selected item)\n if (itemType === originalItemType) {\n this._selectPreviousItemOfItemType(itemType);\n return;\n }\n\n const startedItemType = originalItemType !== undefined ? originalItemType : itemType;\n\n // Try to set the selection to the previous selectable item, of the same suggestion item type group\n const selectionChanged = this._selectPreviousItemOfItemType(\n itemType,\n startedItemType === itemType ? this._getCurrentIndexForType(itemType) : undefined,\n );\n\n // If the selection did not change, try to select from the previous suggestion type group\n if (!selectionChanged) {\n this.selectPreviousItem(this._getPreviousItemSectionType(itemType), startedItemType);\n }\n }\n\n /**\n * Resets the selected state and selects the first selectable item\n */\n protected resetSelectedItem(): void {\n this.setState({ selectedHeaderIndex: -1, selectedFooterIndex: -1 });\n this._suggestions.current?.deselectAllSuggestions();\n\n // Select the first item if the shouldSelectFirstItem prop is not set or it is set and it returns true\n if (this.props.shouldSelectFirstItem === undefined || this.props.shouldSelectFirstItem()) {\n this.selectFirstItem();\n }\n }\n\n /**\n * Selects the first item\n */\n protected selectFirstItem(): void {\n if (this._selectNextItemOfItemType(SuggestionItemType.header)) {\n return;\n }\n\n if (this._selectNextItemOfItemType(SuggestionItemType.suggestion)) {\n return;\n }\n\n this._selectNextItemOfItemType(SuggestionItemType.footer);\n }\n\n /**\n * Selects the last item\n */\n protected selectLastItem(): void {\n if (this._selectPreviousItemOfItemType(SuggestionItemType.footer)) {\n return;\n }\n\n if (this._selectPreviousItemOfItemType(SuggestionItemType.suggestion)) {\n return;\n }\n\n this._selectPreviousItemOfItemType(SuggestionItemType.header);\n }\n\n /**\n * Selects the next item in the suggestion item type group, given the current index\n * If none is able to be selected, returns false, otherwise returns true\n * @param itemType - The suggestion item type\n * @param currentIndex - The current index, default is -1\n */\n private _selectNextItemOfItemType(itemType: SuggestionItemType, currentIndex: number = -1): boolean {\n if (itemType === SuggestionItemType.suggestion) {\n if (this.state.suggestions.length > currentIndex + 1) {\n this._suggestions.current?.setSelectedSuggestion(currentIndex + 1);\n this.setState({ selectedHeaderIndex: -1, selectedFooterIndex: -1 });\n return true;\n }\n } else {\n const isHeader = itemType === SuggestionItemType.header;\n const itemProps = isHeader ? this.props.headerItemsProps : this.props.footerItemsProps;\n\n if (itemProps && itemProps.length > currentIndex + 1) {\n for (let i = currentIndex + 1; i < itemProps.length; i++) {\n const item = itemProps[i];\n if (item.onExecute && item.shouldShow()) {\n this.setState({ selectedHeaderIndex: isHeader ? i : -1 });\n this.setState({ selectedFooterIndex: isHeader ? -1 : i });\n this._suggestions.current?.deselectAllSuggestions();\n return true;\n }\n }\n }\n }\n\n return false;\n }\n\n /**\n * Selects the previous item in the suggestion item type group, given the current index\n * If none is able to be selected, returns false, otherwise returns true\n * @param itemType - The suggestion item type\n * @param currentIndex - The current index. If none is provided, the default is the items length of specified type\n */\n private _selectPreviousItemOfItemType(itemType: SuggestionItemType, currentIndex?: number): boolean {\n if (itemType === SuggestionItemType.suggestion) {\n const index = currentIndex !== undefined ? currentIndex : this.state.suggestions.length;\n if (index > 0) {\n this._suggestions.current?.setSelectedSuggestion(index - 1);\n this.setState({ selectedHeaderIndex: -1, selectedFooterIndex: -1 });\n return true;\n }\n } else {\n const isHeader = itemType === SuggestionItemType.header;\n const itemProps = isHeader ? this.props.headerItemsProps : this.props.footerItemsProps;\n if (itemProps) {\n const index = currentIndex !== undefined ? currentIndex : itemProps.length;\n if (index > 0) {\n for (let i = index - 1; i >= 0; i--) {\n const item = itemProps[i];\n if (item.onExecute && item.shouldShow()) {\n this.setState({ selectedHeaderIndex: isHeader ? i : -1 });\n this.setState({ selectedFooterIndex: isHeader ? -1 : i });\n this._suggestions.current?.deselectAllSuggestions();\n return true;\n }\n }\n }\n }\n }\n\n return false;\n }\n\n private _getCurrentIndexForType(itemType: SuggestionItemType): number {\n switch (itemType) {\n case SuggestionItemType.header:\n return this.state.selectedHeaderIndex;\n case SuggestionItemType.suggestion:\n return this._suggestions.current!.currentIndex;\n case SuggestionItemType.footer:\n return this.state.selectedFooterIndex;\n }\n }\n\n private _getNextItemSectionType(itemType: SuggestionItemType): SuggestionItemType {\n switch (itemType) {\n case SuggestionItemType.header:\n return SuggestionItemType.suggestion;\n case SuggestionItemType.suggestion:\n return SuggestionItemType.footer;\n case SuggestionItemType.footer:\n return SuggestionItemType.header;\n }\n }\n\n private _getPreviousItemSectionType(itemType: SuggestionItemType): SuggestionItemType {\n switch (itemType) {\n case SuggestionItemType.header:\n return SuggestionItemType.footer;\n case SuggestionItemType.suggestion:\n return SuggestionItemType.header;\n case SuggestionItemType.footer:\n return SuggestionItemType.suggestion;\n }\n }\n}\n","import * as React from 'react';\nimport * as stylesImport from './BaseFloatingPicker.scss';\nimport { Async, initializeComponentRef, css, KeyCodes } from '../../Utilities';\nimport { DirectionalHint } from '../../common/DirectionalHint';\nimport { Callout } from '../../Callout';\nimport { IBaseFloatingPicker, IBaseFloatingPickerProps } from './BaseFloatingPicker.types';\nimport { ISuggestionModel } from '../../Pickers';\nimport { ISuggestionsControlProps } from './Suggestions/Suggestions.types';\nimport { SuggestionsControl } from './Suggestions/SuggestionsControl';\nimport { SuggestionsStore } from './Suggestions/SuggestionsStore';\n\nconst styles: any = stylesImport;\n\nexport interface IBaseFloatingPickerState {\n queryString: string;\n suggestionsVisible?: boolean;\n didBind: boolean;\n}\n\nexport class BaseFloatingPicker>\n extends React.Component\n implements IBaseFloatingPicker {\n protected selection: Selection;\n\n protected root = React.createRef();\n protected suggestionStore: SuggestionsStore;\n protected suggestionsControl: React.RefObject> = React.createRef();\n protected SuggestionsControlOfProperType: new (\n props: ISuggestionsControlProps,\n ) => SuggestionsControl = SuggestionsControl as new (props: ISuggestionsControlProps) => SuggestionsControl;\n protected currentPromise: PromiseLike;\n protected isComponentMounted: boolean = false;\n\n private _async: Async;\n constructor(basePickerProps: P) {\n super(basePickerProps);\n\n this._async = new Async(this);\n initializeComponentRef(this);\n\n this.suggestionStore = basePickerProps.suggestionsStore;\n this.state = {\n queryString: '',\n didBind: false,\n };\n }\n\n public get inputText(): string {\n return this.state.queryString;\n }\n\n public get suggestions(): any[] {\n return this.suggestionStore.suggestions;\n }\n\n public forceResolveSuggestion(): void {\n if (this.suggestionsControl.current && this.suggestionsControl.current.hasSuggestionSelected()) {\n this.completeSuggestion();\n } else {\n this._onValidateInput();\n }\n }\n\n public get currentSelectedSuggestionIndex(): number {\n return this.suggestionsControl.current ? this.suggestionsControl.current.currentSuggestionIndex : -1;\n }\n\n public get isSuggestionsShown(): boolean {\n return this.state.suggestionsVisible === undefined ? false : this.state.suggestionsVisible;\n }\n\n public onQueryStringChanged = (queryString: string): void => {\n if (queryString !== this.state.queryString) {\n this.setState({\n queryString: queryString,\n });\n\n if (this.props.onInputChanged) {\n (this.props.onInputChanged as (filter: string) => void)(queryString);\n }\n\n this.updateValue(queryString);\n }\n };\n\n public hidePicker = (): void => {\n const wasShownBeforeUpdate = this.isSuggestionsShown;\n\n this.setState({\n suggestionsVisible: false,\n });\n\n if (this.props.onSuggestionsHidden && wasShownBeforeUpdate) {\n this.props.onSuggestionsHidden();\n }\n };\n\n public showPicker = (updateValue: boolean = false): void => {\n const wasShownBeforeUpdate = this.isSuggestionsShown;\n this.setState({\n suggestionsVisible: true,\n });\n\n // Update the suggestions if updateValue == true\n const value = this.props.inputElement ? this.props.inputElement.value : '';\n if (updateValue) {\n this.updateValue(value);\n }\n\n if (this.props.onSuggestionsShown && !wasShownBeforeUpdate) {\n this.props.onSuggestionsShown();\n }\n };\n\n public componentDidMount(): void {\n this._bindToInputElement();\n this.isComponentMounted = true;\n\n this._onResolveSuggestions = this._async.debounce(this._onResolveSuggestions, this.props.resolveDelay);\n }\n\n public componentDidUpdate(): void {\n this._bindToInputElement();\n }\n\n public componentWillUnmount(): void {\n this._unbindFromInputElement();\n this.isComponentMounted = false;\n }\n\n public completeSuggestion = (): void => {\n if (this.suggestionsControl.current && this.suggestionsControl.current.hasSuggestionSelected()) {\n this.onChange(this.suggestionsControl.current.currentSuggestion!.item);\n }\n };\n\n public updateSuggestions(suggestions: T[], forceUpdate: boolean = false): void {\n this.suggestionStore.updateSuggestions(suggestions);\n\n if (forceUpdate) {\n this.forceUpdate();\n }\n }\n\n public render(): JSX.Element {\n const { className } = this.props;\n return (\n
    \n {this.renderSuggestions()}\n
    \n );\n }\n\n protected renderSuggestions(): JSX.Element | null {\n const TypedSuggestionsControl = this.SuggestionsControlOfProperType;\n\n if (this.props.suggestionItems) {\n this.suggestionStore.updateSuggestions(this.props.suggestionItems!);\n }\n\n return this.state.suggestionsVisible ? (\n \n \n \n ) : null;\n }\n\n protected onSelectionChange(): void {\n this.forceUpdate();\n }\n\n protected updateValue(updatedValue: string): void {\n if (updatedValue === '') {\n this.updateSuggestionWithZeroState();\n } else {\n this._onResolveSuggestions(updatedValue);\n }\n }\n\n protected updateSuggestionWithZeroState(): void {\n if (this.props.onZeroQuerySuggestion) {\n const onEmptyInputFocus = this.props.onZeroQuerySuggestion as (selectedItems?: T[]) => T[] | PromiseLike;\n const suggestions: T[] | PromiseLike = onEmptyInputFocus(this.props.selectedItems);\n this.updateSuggestionsList(suggestions);\n } else {\n this.hidePicker();\n }\n }\n\n protected updateSuggestionsList(suggestions: T[] | PromiseLike): void {\n const suggestionsArray: T[] = suggestions as T[];\n const suggestionsPromiseLike: PromiseLike = suggestions as PromiseLike;\n\n // Check to see if the returned value is an array, if it is then just pass it into the next function.\n // If the returned value is not an array then check to see if it's a promise or PromiseLike.\n // If it is then resolve it asynchronously.\n if (Array.isArray(suggestionsArray)) {\n this.updateSuggestions(suggestionsArray, true /*forceUpdate*/);\n } else if (suggestionsPromiseLike && suggestionsPromiseLike.then) {\n // Ensure that the promise will only use the callback if it was the most recent one.\n const promise: PromiseLike = (this.currentPromise = suggestionsPromiseLike);\n promise.then((newSuggestions: T[]) => {\n // Only update if the next promise has not yet resolved and\n // the floating picker is still mounted.\n if (promise === this.currentPromise && this.isComponentMounted) {\n this.updateSuggestions(newSuggestions, true /*forceUpdate*/);\n }\n });\n }\n }\n\n protected onChange(item: T): void {\n if (this.props.onChange) {\n (this.props.onChange as (items: T) => void)(item);\n }\n }\n\n protected onSuggestionClick = (ev: React.MouseEvent, item: T, index: number): void => {\n this.onChange(item);\n this._updateSuggestionsVisible(false /*shouldShow*/);\n };\n\n protected onSuggestionRemove = (ev: React.MouseEvent, item: T, index: number): void => {\n if (this.props.onRemoveSuggestion) {\n (this.props.onRemoveSuggestion as (item: T) => void)(item);\n }\n\n if (this.suggestionsControl.current) {\n this.suggestionsControl.current.removeSuggestion(index);\n }\n };\n\n protected onKeyDown = (ev: MouseEvent): void => {\n if (\n !this.state.suggestionsVisible ||\n (this.props.inputElement && !(this.props.inputElement as HTMLElement).contains(ev.target as HTMLElement))\n ) {\n return;\n }\n // eslint-disable-next-line deprecation/deprecation\n const keyCode = ev.which;\n switch (keyCode) {\n case KeyCodes.escape:\n this.hidePicker();\n ev.preventDefault();\n ev.stopPropagation();\n break;\n\n case KeyCodes.tab:\n case KeyCodes.enter:\n if (\n !ev.shiftKey &&\n !ev.ctrlKey &&\n this.suggestionsControl.current &&\n this.suggestionsControl.current.handleKeyDown(keyCode)\n ) {\n ev.preventDefault();\n ev.stopPropagation();\n } else {\n this._onValidateInput();\n }\n break;\n\n case KeyCodes.del:\n if (\n this.props.onRemoveSuggestion &&\n this.suggestionsControl.current &&\n this.suggestionsControl.current.hasSuggestionSelected &&\n this.suggestionsControl.current.currentSuggestion &&\n ev.shiftKey\n ) {\n (this.props.onRemoveSuggestion as (item: T) => void)(this.suggestionsControl.current.currentSuggestion!.item);\n\n this.suggestionsControl.current.removeSuggestion();\n this.forceUpdate();\n ev.stopPropagation();\n }\n break;\n\n case KeyCodes.up:\n if (this.suggestionsControl.current && this.suggestionsControl.current.handleKeyDown(keyCode)) {\n ev.preventDefault();\n ev.stopPropagation();\n this._updateActiveDescendant();\n }\n break;\n\n case KeyCodes.down:\n if (this.suggestionsControl.current && this.suggestionsControl.current.handleKeyDown(keyCode)) {\n ev.preventDefault();\n ev.stopPropagation();\n this._updateActiveDescendant();\n }\n break;\n }\n };\n\n private _updateActiveDescendant(): void {\n if (this.props.inputElement && this.suggestionsControl.current && this.suggestionsControl.current.selectedElement) {\n const selectedElId = this.suggestionsControl.current.selectedElement.getAttribute('id');\n if (selectedElId) {\n this.props.inputElement.setAttribute('aria-activedescendant', selectedElId as string);\n }\n }\n }\n\n private _onResolveSuggestions(updatedValue: string): void {\n const suggestions: T[] | PromiseLike | null = this.props.onResolveSuggestions(\n updatedValue,\n this.props.selectedItems,\n );\n\n this._updateSuggestionsVisible(true /*shouldShow*/);\n if (suggestions !== null) {\n this.updateSuggestionsList(suggestions);\n }\n }\n\n private _onValidateInput = (): void => {\n if (this.state.queryString && this.props.onValidateInput && this.props.createGenericItem) {\n const itemToConvert: ISuggestionModel = (this.props.createGenericItem as (\n input: string,\n isValid: boolean,\n ) => ISuggestionModel)(\n this.state.queryString,\n (this.props.onValidateInput as (input: string) => boolean)(this.state.queryString),\n );\n const convertedItems = this.suggestionStore.convertSuggestionsToSuggestionItems([itemToConvert]);\n this.onChange(convertedItems[0].item);\n }\n };\n\n private _updateSuggestionsVisible(shouldShow: boolean): void {\n if (shouldShow) {\n this.showPicker();\n } else {\n this.hidePicker();\n }\n }\n\n private _bindToInputElement(): void {\n if (this.props.inputElement && !this.state.didBind) {\n this.props.inputElement.addEventListener('keydown', this.onKeyDown);\n this.setState({ didBind: true });\n }\n }\n\n private _unbindFromInputElement(): void {\n if (this.props.inputElement && this.state.didBind) {\n this.props.inputElement.removeEventListener('keydown', this.onKeyDown);\n this.setState({ didBind: false });\n }\n }\n}\n","/* eslint-disable */\nimport { loadStyles } from '@microsoft/load-themed-styles';\nloadStyles([{\"rawString\":\".resultContent_4c5c5043{display:table-row}.resultContent_4c5c5043 .resultItem_4c5c5043{display:table-cell;vertical-align:bottom}.peoplePickerPersona_4c5c5043{width:180px}.peoplePickerPersona_4c5c5043 .ms-Persona-details{width:100%}.peoplePicker_4c5c5043 .ms-BasePicker-text{min-height:40px}.peoplePickerPersonaContent_4c5c5043{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:7px 12px}\"}]);\nexport const resultContent = \"resultContent_4c5c5043\";\nexport const resultItem = \"resultItem_4c5c5043\";\nexport const peoplePickerPersona = \"peoplePickerPersona_4c5c5043\";\nexport const peoplePicker = \"peoplePicker_4c5c5043\";\nexport const peoplePickerPersonaContent = \"peoplePickerPersonaContent_4c5c5043\";","import { getRTL, getInitials } from '../../../Utilities';\nimport { BaseFloatingPicker } from '../BaseFloatingPicker';\nimport { IBaseFloatingPickerProps } from '../BaseFloatingPicker.types';\nimport { SuggestionItemNormal } from './PeoplePickerItems/SuggestionItemDefault';\nimport { IPersonaProps } from '../../../Persona';\nimport './PeoplePicker.scss';\nimport { IBasePickerSuggestionsProps, ISuggestionModel } from '../../../Pickers';\n\n/**\n * {@docCategory FloatingPeoplePicker}\n */\nexport interface IPeopleFloatingPickerProps extends IBaseFloatingPickerProps {}\n\n/**\n * {@docCategory FloatingPeoplePicker}\n */\nexport class BaseFloatingPeoplePicker extends BaseFloatingPicker {}\n\nexport class FloatingPeoplePicker extends BaseFloatingPeoplePicker {\n public static defaultProps: any = {\n onRenderSuggestionsItem: (props: IPersonaProps, itemProps?: IBasePickerSuggestionsProps) =>\n SuggestionItemNormal({ ...props }, { ...itemProps }),\n createGenericItem: createItem,\n };\n}\n\nexport function createItem(name: string, isValid: boolean): ISuggestionModel {\n const personaToConvert: any = {\n key: name,\n primaryText: name,\n imageInitials: '!',\n isValid: isValid,\n };\n\n if (!isValid) {\n personaToConvert.imageInitials = getInitials(name, getRTL());\n }\n\n return personaToConvert;\n}\n","import * as React from 'react';\nimport { css } from '../../../../Utilities';\nimport { Persona, PersonaSize, IPersonaProps, PersonaPresence } from '../../../../Persona';\nimport { IBasePickerSuggestionsProps, ISuggestionItemProps } from '../../../../Pickers';\nimport * as stylesImport from '../PeoplePicker.scss';\n\nexport const SuggestionItemNormal: (\n persona: IPersonaProps,\n suggestionProps?: IBasePickerSuggestionsProps,\n) => JSX.Element = (personaProps: IPersonaProps, suggestionItemProps?: ISuggestionItemProps) => {\n return (\n
    \n \n
    \n );\n};\n","import { ISuggestionModel, ITag } from '../../../Pickers';\nimport { IPersonaProps } from '../../../Persona';\n\nexport type SuggestionsStoreOptions = {\n getAriaLabel?: (item: T) => string;\n};\n\nexport class SuggestionsStore {\n public suggestions: ISuggestionModel[];\n private getAriaLabel?: (item: T) => string;\n\n constructor(options?: SuggestionsStoreOptions) {\n this.suggestions = [];\n this.getAriaLabel = options && options.getAriaLabel;\n }\n\n public updateSuggestions(newSuggestions: T[]): void {\n if (newSuggestions && newSuggestions.length > 0) {\n this.suggestions = this.convertSuggestionsToSuggestionItems(newSuggestions);\n } else {\n this.suggestions = [];\n }\n }\n\n public getSuggestions(): ISuggestionModel[] {\n return this.suggestions;\n }\n\n public getSuggestionAtIndex(index: number): ISuggestionModel {\n return this.suggestions[index];\n }\n\n public removeSuggestion(index: number): void {\n this.suggestions.splice(index, 1);\n }\n\n public convertSuggestionsToSuggestionItems(suggestions: Array | T>): ISuggestionModel[] {\n return Array.isArray(suggestions) ? suggestions.map(this._ensureSuggestionModel) : [];\n }\n\n private _isSuggestionModel = (value: ISuggestionModel | T): value is ISuggestionModel => {\n return (>value).item !== undefined;\n };\n\n private _ensureSuggestionModel = (suggestion: ISuggestionModel | T): ISuggestionModel => {\n if (this._isSuggestionModel(suggestion)) {\n return suggestion;\n } else {\n return {\n item: suggestion,\n selected: false,\n ariaLabel:\n this.getAriaLabel !== undefined\n ? this.getAriaLabel(suggestion)\n : ((suggestion as any) as ITag).name ||\n (suggestion).text ||\n // eslint-disable-next-line deprecation/deprecation\n (suggestion).primaryText,\n };\n }\n };\n}\n","import * as React from 'react';\n\nimport { IExpandingCardProps } from './ExpandingCard.types';\nimport { IStyle, ITheme } from '../../Styling';\nimport { IRefObject, IStyleFunctionOrObject, KeyCodes } from '../../Utilities';\nimport { IPlainCardProps } from './PlainCard/PlainCard.types';\n\n/**\n * {@docCategory HoverCard}\n */\nexport interface IHoverCard {\n /**\n * Public `dismiss` method to be used through `componentRef` of the HoverCard.\n * Boolean argument controls if the dismiss happens with a timeout delay.\n */\n dismiss: (withTimeOut?: boolean) => void;\n}\n\n/**\n * HoverCard component props.\n * {@docCategory HoverCard}\n */\nexport interface IHoverCardProps extends React.HTMLAttributes {\n /**\n * Optional callback to access the IHoverCardHost interface. Use this instead of ref for accessing\n * the public methods and properties of the component.\n */\n componentRef?: IRefObject;\n\n /**\n * Additional CSS class(es) to apply to the HoverCard root element.\n */\n className?: string;\n\n /**\n * Length of card dismiss delay. A min number is necessary for pointer to hop between target and card\n * @defaultvalue 100\n */\n cardDismissDelay?: number;\n\n /**\n * Length of compact card delay\n * @defaultvalue 500\n */\n cardOpenDelay?: number;\n\n /**\n * Time in ms when expanded card should open after compact card\n * @defaultvalue 1500\n */\n expandedCardOpenDelay?: number;\n\n /**\n * Additional ExpandingCard props to pass through HoverCard like renderers, target. gapSpace etc.\n * Used along with 'type' prop set to HoverCardType.expanding.\n * Reference detail properties in ICardProps and IExpandingCardProps.\n */\n expandingCardProps?: IExpandingCardProps;\n\n /**\n * Enables instant open of the full card upon click\n * @defaultvalue false\n */\n instantOpenOnClick?: boolean;\n\n /**\n * Callback when card becomes visible\n */\n onCardVisible?: () => void;\n\n /**\n * Callback when card hides\n */\n onCardHide?: () => void;\n\n /**\n * HotKey used for opening the HoverCard when tabbed to target.\n * @defaultvalue 'KeyCodes.c'\n */\n openHotKey?: KeyCodes;\n\n /**\n * Additional PlainCard props to pass through HoverCard like renderers, target, gapSpace etc.\n * Used along with 'type' prop set to HoverCardType.plain.\n * See for more details ICardProps and IPlainCardProps interfaces.\n */\n plainCardProps?: IPlainCardProps;\n\n /**\n * Whether or not to mark the container as described by the hover card.\n * If not specified, the caller should mark as element as described by the hover card id.\n */\n setAriaDescribedBy?: boolean;\n\n /**\n * Callback when visible card is expanded.\n */\n onCardExpand?: () => void;\n\n /**\n * Set to true to set focus on the first focusable element in the card. Works in pair with the 'trapFocus' prop.\n * @defaultvalue false\n */\n setInitialFocus?: boolean;\n\n /**\n * Should block hover card or not\n */\n shouldBlockHoverCard?: () => void;\n\n /**\n * If true disables Card dismiss upon mouse leave, so that card sticks around.\n * @defaultvalue false\n */\n sticky?: boolean;\n\n /**\n * Custom styles for this component\n */\n styles?: IStyleFunctionOrObject;\n\n /**\n * Optional target element to tag hover card on. If not provided and using HoverCard as a wrapper, don't set the\n * 'data-is-focusable=true' attribute to the root of the wrapped child.\n * If no target is given, HoverCard will use its root as a target and become the focusable element with a\n * focus listener attached to it.\n */\n target?: HTMLElement | string | null;\n\n /**\n * This prop is to separate the target to anchor hover card from the target to attach event listener.\n * If set, this prop separates the target to anchor the hover card from the target to attach the event listener.\n * When no `eventListenerTarget` given, HoverCard will use `target` prop or its root to set event listener.\n */\n eventListenerTarget?: HTMLElement | string | null;\n\n /**\n * Theme provided by higher order component.\n */\n theme?: ITheme;\n\n /**\n * Set to true if you want to render the content of the HoverCard in a FocusTrapZone for accessibility reasons.\n * Optionally 'setInitialFocus' prop can be set to true to move focus inside the FocusTrapZone.\n */\n trapFocus?: boolean;\n\n /**\n * Type of the hover card to render.\n * @defaultvalue HoverCardType.expanding\n */\n type?: HoverCardType;\n}\n\n/**\n * {@docCategory HoverCard}\n */\nexport enum OpenCardMode {\n /**\n * Open card by hover\n */\n hover = 0,\n\n /**\n * Open card by hot key\n */\n hotKey = 1,\n}\n\n/**\n * {@docCategory HoverCard}\n */\nexport enum HoverCardType {\n /**\n * Plain card consisting of one part responsive to the size of content.\n */\n plain = 'PlainCard',\n\n /**\n * File card consisting of two parts: compact and expanded. Has some default sizes if not specified.\n */\n expanding = 'ExpandingCard',\n}\n\n/**\n * {@docCategory HoverCard}\n */\nexport interface IHoverCardStyleProps {\n /**\n * Theme provided by High-Order Component.\n */\n theme: ITheme;\n\n /**\n * Optional className(s) for the host div of HoverCard.\n */\n className?: string;\n}\n\n/**\n * {@docCategory HoverCard}\n */\nexport interface IHoverCardStyles {\n /**\n * Style for the host element in the default enabled, non-toggled state.\n */\n host?: IStyle;\n}\n","import { getGlobalClassNames } from '../../Styling';\nimport { IHoverCardStyles, IHoverCardStyleProps } from './HoverCard.types';\n\nconst GlobalClassNames = {\n host: 'ms-HoverCard-host',\n};\n\nexport function getStyles(props: IHoverCardStyleProps): IHoverCardStyles {\n const { className, theme } = props;\n\n const classNames = getGlobalClassNames(GlobalClassNames, theme);\n\n return {\n host: [classNames.host, className],\n };\n}\n","import { getGlobalClassNames, HighContrastSelector } from '../../Styling';\nimport { IExpandingCardStyles, IExpandingCardStyleProps } from './ExpandingCard.types';\n\nconst GlobalClassNames = {\n root: 'ms-ExpandingCard-root',\n compactCard: 'ms-ExpandingCard-compactCard',\n expandedCard: 'ms-ExpandingCard-expandedCard',\n expandedCardScroll: 'ms-ExpandingCard-expandedCardScrollRegion',\n};\n\nexport function getStyles(props: IExpandingCardStyleProps): IExpandingCardStyles {\n const {\n theme,\n needsScroll,\n expandedCardFirstFrameRendered,\n compactCardHeight,\n expandedCardHeight,\n className,\n } = props;\n\n const { palette } = theme;\n const classNames = getGlobalClassNames(GlobalClassNames, theme);\n\n return {\n root: [\n classNames.root,\n {\n width: 320,\n pointerEvents: 'none',\n selectors: {\n [HighContrastSelector]: {\n border: '1px solid WindowText',\n },\n },\n },\n className,\n ],\n compactCard: [\n classNames.compactCard,\n {\n pointerEvents: 'auto',\n position: 'relative',\n height: compactCardHeight,\n },\n ],\n expandedCard: [\n classNames.expandedCard,\n {\n height: 1,\n overflowY: 'hidden',\n pointerEvents: 'auto',\n transition: 'height 0.467s cubic-bezier(0.5, 0, 0, 1)',\n selectors: {\n ':before': {\n content: '\"\"',\n position: 'relative',\n display: 'block',\n top: 0,\n left: 24,\n width: 272,\n height: 1,\n backgroundColor: palette.neutralLighter,\n },\n },\n },\n expandedCardFirstFrameRendered && {\n height: expandedCardHeight,\n },\n ],\n expandedCardScroll: [\n classNames.expandedCardScroll,\n needsScroll && {\n height: '100%',\n boxSizing: 'border-box',\n overflowY: 'auto',\n },\n ],\n };\n}\n","import { IBaseCardProps, IBaseCardStyles, IBaseCardStyleProps } from './BaseCard.types';\nimport { IRenderFunction } from '../../Utilities';\nimport { IStyle } from '../../Styling';\n\n/**\n * {@docCategory HoverCard}\n */\nexport interface IExpandingCard {}\n\n/**\n * ExpandingCard component props.\n * {@docCategory HoverCard}\n */\nexport interface IExpandingCardProps\n extends IBaseCardProps {\n /**\n * Height of compact card\n * @defaultvalue 156\n */\n compactCardHeight?: number;\n\n /**\n * Height of expanded card\n * @defaultvalue 384\n */\n expandedCardHeight?: number;\n\n /**\n * Use to open the card in expanded format and not wait for the delay\n * @defaultvalue ExpandingCardMode.compact\n */\n mode?: ExpandingCardMode;\n\n /**\n * Render function to populate compact content area\n */\n onRenderCompactCard?: IRenderFunction;\n\n /**\n * Render function to populate expanded content area\n */\n onRenderExpandedCard?: IRenderFunction;\n}\n\n/**\n * {@docCategory HoverCard}\n */\nexport enum ExpandingCardMode {\n /**\n * To have top compact card only\n */\n compact = 0,\n\n /**\n * To have both top compact and bottom expanded card\n */\n expanded = 1,\n}\n\n/**\n * {@docCategory HoverCard}\n */\nexport interface IExpandingCardStyleProps extends IBaseCardStyleProps {\n /**\n * Height of the compact section of the card.\n */\n compactCardHeight?: number;\n\n /**\n * Boolean flag that expanded card is in Expanded.mode === expanded && first frame was rendered.\n */\n expandedCardFirstFrameRendered?: boolean;\n\n /**\n * Height of the expanded section of the card.\n */\n expandedCardHeight?: number;\n\n /**\n * Whether the content of the expanded card overflows vertically.\n */\n needsScroll?: boolean;\n}\n\n/**\n * {@docCategory HoverCard}\n */\nexport interface IExpandingCardStyles extends IBaseCardStyles {\n /**\n * Style for the main card element.\n */\n compactCard?: IStyle;\n\n /**\n * Base Style for the expanded card content.\n */\n expandedCard?: IStyle;\n\n /**\n * Style for the expanded card scroll content.\n */\n expandedCardScroll?: IStyle;\n}\n","import * as React from 'react';\n\nimport { divProperties, getNativeProps } from '../../../Utilities';\nimport { DirectionalHint } from '../../../common/DirectionalHint';\nimport { IBaseCardProps } from '../BaseCard.types';\nimport { Callout, FocusTrapCallout, ICalloutProps } from '../../../Callout';\n\nexport interface ICardCalloutProps extends IBaseCardProps<{}, {}, {}> {\n finalHeight?: number;\n content?: JSX.Element;\n}\n\nexport const CardCallout = (props: ICardCalloutProps) => {\n const {\n gapSpace = 0,\n directionalHint = DirectionalHint.bottomLeftEdge,\n directionalHintFixed,\n targetElement,\n firstFocus,\n trapFocus,\n onLeave,\n className,\n finalHeight,\n content,\n calloutProps,\n } = props;\n\n const mergedCalloutProps: ICalloutProps = {\n ...getNativeProps(props, divProperties),\n className: className,\n target: targetElement,\n isBeakVisible: false,\n directionalHint: directionalHint,\n directionalHintFixed: directionalHintFixed,\n finalHeight: finalHeight,\n minPagePadding: 24,\n onDismiss: onLeave,\n gapSpace: gapSpace,\n ...calloutProps,\n };\n\n return (\n <>\n {trapFocus ? (\n \n {content}\n \n ) : (\n {content}\n )}\n \n );\n};\n","import * as React from 'react';\nimport { classNamesFunction, KeyCodes, Async, initializeComponentRef } from '../../Utilities';\nimport {\n ExpandingCardMode,\n IExpandingCardProps,\n IExpandingCardStyles,\n IExpandingCardStyleProps,\n} from './ExpandingCard.types';\nimport { CardCallout } from './CardCallout/CardCallout';\n\nconst getClassNames = classNamesFunction();\n\nexport interface IExpandingCardState {\n firstFrameRendered: boolean;\n needsScroll: boolean;\n}\n\nexport class ExpandingCardBase extends React.Component {\n public static defaultProps = {\n compactCardHeight: 156,\n expandedCardHeight: 384,\n directionalHintFixed: true,\n };\n\n private _classNames: { [key in keyof IExpandingCardStyles]: string };\n private _expandedElem = React.createRef();\n private _async: Async;\n\n constructor(props: IExpandingCardProps) {\n super(props);\n\n this._async = new Async(this);\n initializeComponentRef(this);\n\n this.state = {\n firstFrameRendered: false,\n needsScroll: false,\n };\n }\n\n public componentDidMount(): void {\n this._checkNeedsScroll();\n }\n\n public componentWillUnmount(): void {\n this._async.dispose();\n }\n\n public render(): JSX.Element {\n const { styles, compactCardHeight, expandedCardHeight, theme, mode, className } = this.props;\n const { needsScroll, firstFrameRendered } = this.state;\n\n const finalHeight = compactCardHeight! + expandedCardHeight!;\n\n this._classNames = getClassNames(styles!, {\n theme: theme!,\n compactCardHeight,\n className,\n expandedCardHeight,\n needsScroll: needsScroll,\n expandedCardFirstFrameRendered: mode === ExpandingCardMode.expanded && firstFrameRendered,\n });\n\n const content: JSX.Element = (\n
    \n {this._onRenderCompactCard()}\n {this._onRenderExpandedCard()}\n
    \n );\n\n return (\n \n );\n }\n\n private _onKeyDown = (ev: React.KeyboardEvent): void => {\n // eslint-disable-next-line deprecation/deprecation\n if (ev.which === KeyCodes.escape) {\n this.props.onLeave && this.props.onLeave(ev);\n }\n };\n\n private _onRenderCompactCard = (): JSX.Element => {\n return
    {this.props.onRenderCompactCard!(this.props.renderData)}
    ;\n };\n\n private _onRenderExpandedCard = (): JSX.Element => {\n // firstFrameRendered helps in initially setting height of expanded card to 1px, even if mode prop is set to\n // ExpandingCardMode.expanded on first render. This is to make sure transition animation takes place.\n !this.state.firstFrameRendered &&\n this._async.requestAnimationFrame(() => {\n this.setState({\n firstFrameRendered: true,\n });\n });\n\n return (\n
    \n
    \n {this.props.onRenderExpandedCard && this.props.onRenderExpandedCard(this.props.renderData)}\n
    \n
    \n );\n };\n\n private _checkNeedsScroll = (): void => {\n const { expandedCardHeight } = this.props;\n this._async.requestAnimationFrame(() => {\n if (this._expandedElem.current && this._expandedElem.current.scrollHeight >= expandedCardHeight!) {\n this.setState({\n needsScroll: true,\n });\n }\n });\n };\n}\n","import * as React from 'react';\nimport { styled } from '../../Utilities';\nimport { IExpandingCardProps, IExpandingCardStyles, IExpandingCardStyleProps } from './ExpandingCard.types';\nimport { getStyles } from './ExpandingCard.styles';\nimport { ExpandingCardBase } from './ExpandingCard.base';\n\nexport const ExpandingCard: React.FunctionComponent = styled<\n IExpandingCardProps,\n IExpandingCardStyleProps,\n IExpandingCardStyles\n>(ExpandingCardBase, getStyles, undefined, {\n scope: 'ExpandingCard',\n});\n","import { getGlobalClassNames, HighContrastSelector } from '../../../Styling';\nimport { IPlainCardStyles, IPlainCardStyleProps } from './PlainCard.types';\n\nconst GlobalClassNames = {\n root: 'ms-PlainCard-root',\n};\n\nexport function getStyles(props: IPlainCardStyleProps): IPlainCardStyles {\n const { theme, className } = props;\n\n const classNames = getGlobalClassNames(GlobalClassNames, theme);\n\n return {\n root: [\n classNames.root,\n {\n pointerEvents: 'auto',\n selectors: {\n [HighContrastSelector]: {\n border: '1px solid WindowText',\n },\n },\n },\n className,\n ],\n };\n}\n","import * as React from 'react';\n\nimport { classNamesFunction, initializeComponentRef, KeyCodes } from '../../../Utilities';\nimport { IPlainCardProps, IPlainCardStyles, IPlainCardStyleProps } from './PlainCard.types';\nimport { CardCallout } from '../CardCallout/CardCallout';\n\nconst getClassNames = classNamesFunction();\n\nexport class PlainCardBase extends React.Component {\n private _classNames: { [key in keyof IPlainCardStyles]: string };\n\n constructor(props: IPlainCardProps) {\n super(props);\n\n initializeComponentRef(this);\n }\n\n public render(): JSX.Element {\n const { styles, theme, className } = this.props;\n\n this._classNames = getClassNames(styles!, {\n theme: theme!,\n className,\n });\n\n const content: JSX.Element = (\n
    \n {this.props.onRenderPlainCard!(this.props.renderData)}\n
    \n );\n\n return ;\n }\n\n private _onKeyDown = (ev: React.KeyboardEvent): void => {\n // eslint-disable-next-line deprecation/deprecation\n if (ev.which === KeyCodes.escape) {\n this.props.onLeave && this.props.onLeave(ev);\n }\n };\n}\n","import * as React from 'react';\nimport { styled } from '../../../Utilities';\nimport { IPlainCardProps, IPlainCardStyles, IPlainCardStyleProps } from './PlainCard.types';\nimport { getStyles } from './PlainCard.styles';\nimport { PlainCardBase } from './PlainCard.base';\n\nexport const PlainCard: React.FunctionComponent = styled<\n IPlainCardProps,\n IPlainCardStyleProps,\n IPlainCardStyles\n>(PlainCardBase, getStyles, undefined, {\n scope: 'PlainCard',\n});\n","import * as React from 'react';\n\nimport {\n divProperties,\n getNativeProps,\n getId,\n KeyCodes,\n getDocument,\n classNamesFunction,\n initializeComponentRef,\n EventGroup,\n Async,\n} from '../../Utilities';\nimport {\n IHoverCardProps,\n IHoverCardStyles,\n IHoverCardStyleProps,\n OpenCardMode,\n HoverCardType,\n IHoverCard,\n} from './HoverCard.types';\nimport { ExpandingCard } from './ExpandingCard';\nimport { ExpandingCardMode, IExpandingCardProps } from './ExpandingCard.types';\nimport { PlainCard } from './PlainCard/PlainCard';\nimport { IPlainCardProps } from './PlainCard/PlainCard.types';\n\nconst getClassNames = classNamesFunction();\n\nexport interface IHoverCardState {\n isHoverCardVisible?: boolean;\n mode?: ExpandingCardMode;\n openMode?: OpenCardMode;\n}\n\nexport class HoverCardBase extends React.Component implements IHoverCard {\n public static defaultProps = {\n cardOpenDelay: 500,\n cardDismissDelay: 100,\n expandedCardOpenDelay: 1500,\n instantOpenOnClick: false,\n setInitialFocus: false,\n openHotKey: KeyCodes.c as KeyCodes,\n type: HoverCardType.expanding,\n };\n\n // The wrapping div that gets the hover events\n private _hoverCard = React.createRef();\n private _dismissTimerId: number;\n private _openTimerId: number;\n private _currentMouseTarget: EventTarget | null;\n\n private _nativeDismissEvent: (ev?: any) => void;\n private _childDismissEvent: (ev?: any) => void;\n\n private _classNames: { [key in keyof IHoverCardStyles]: string };\n\n private _async: Async;\n private _events: EventGroup;\n\n // Constructor\n constructor(props: IHoverCardProps) {\n super(props);\n\n initializeComponentRef(this);\n this._async = new Async(this);\n this._events = new EventGroup(this);\n\n this._nativeDismissEvent = this._cardDismiss.bind(this, true);\n this._childDismissEvent = this._cardDismiss.bind(this, false);\n\n this.state = {\n isHoverCardVisible: false,\n mode: ExpandingCardMode.compact,\n openMode: OpenCardMode.hover,\n };\n }\n\n public componentDidMount(): void {\n this._setEventListeners();\n }\n\n public componentWillUnmount(): void {\n this._async.dispose();\n this._events.dispose();\n }\n\n public componentDidUpdate(prevProps: IHoverCardProps, prevState: IHoverCardState) {\n if (prevProps.target !== this.props.target) {\n this._events.off();\n this._setEventListeners();\n }\n\n if (prevState.isHoverCardVisible !== this.state.isHoverCardVisible) {\n if (this.state.isHoverCardVisible) {\n this._async.setTimeout(() => {\n this.setState(\n {\n mode: ExpandingCardMode.expanded,\n },\n () => {\n this.props.onCardExpand && this.props.onCardExpand();\n },\n );\n }, this.props.expandedCardOpenDelay!);\n this.props.onCardVisible && this.props.onCardVisible();\n } else {\n this.setState({\n mode: ExpandingCardMode.compact,\n });\n this.props.onCardHide && this.props.onCardHide();\n }\n }\n }\n\n public dismiss = (withTimeOut?: boolean): void => {\n this._async.clearTimeout(this._openTimerId);\n this._async.clearTimeout(this._dismissTimerId);\n if (!withTimeOut) {\n this._setDismissedState();\n } else {\n this._dismissTimerId = this._async.setTimeout(() => {\n this._setDismissedState();\n }, this.props.cardDismissDelay!);\n }\n };\n\n // Render\n public render(): JSX.Element {\n const {\n expandingCardProps,\n children,\n id,\n setAriaDescribedBy = true,\n styles: customStyles,\n theme,\n className,\n type,\n plainCardProps,\n trapFocus,\n setInitialFocus,\n } = this.props;\n const { isHoverCardVisible, mode, openMode } = this.state;\n const hoverCardId = id || getId('hoverCard');\n\n this._classNames = getClassNames(customStyles, {\n theme: theme!,\n className,\n });\n\n // Common props for both card types.\n const commonCardProps = {\n ...getNativeProps>(this.props, divProperties),\n id: hoverCardId,\n trapFocus: !!trapFocus,\n firstFocus: setInitialFocus || openMode === OpenCardMode.hotKey,\n targetElement: this._getTargetElement(this.props.target),\n onEnter: this._cardOpen,\n onLeave: this._childDismissEvent,\n };\n\n const finalExpandedCardProps: IExpandingCardProps = { ...expandingCardProps, ...commonCardProps, mode };\n const finalPlainCardProps: IPlainCardProps = { ...plainCardProps, ...commonCardProps };\n\n return (\n \n {children}\n {isHoverCardVisible &&\n (type === HoverCardType.expanding ? (\n \n ) : (\n \n ))}\n \n );\n }\n\n private _getTargetElement(target?: HTMLElement | string | null): HTMLElement | undefined {\n switch (typeof target) {\n case 'string':\n return getDocument()!.querySelector(target as string) as HTMLElement;\n\n case 'object':\n return target as HTMLElement;\n\n default:\n return this._hoverCard.current || undefined;\n }\n }\n\n private _shouldBlockHoverCard(): boolean {\n return !!(this.props.shouldBlockHoverCard && this.props.shouldBlockHoverCard());\n }\n\n // Show HoverCard\n private _cardOpen = (ev: MouseEvent): void => {\n // eslint-disable-next-line deprecation/deprecation\n if (this._shouldBlockHoverCard() || (ev.type === 'keydown' && !(ev.which === this.props.openHotKey))) {\n return;\n }\n this._async.clearTimeout(this._dismissTimerId);\n if (ev.type === 'mouseenter') {\n this._currentMouseTarget = ev.currentTarget;\n }\n\n this._executeCardOpen(ev);\n };\n\n private _executeCardOpen = (ev: MouseEvent): void => {\n this._async.clearTimeout(this._openTimerId);\n this._openTimerId = this._async.setTimeout(() => {\n this.setState((prevState: IHoverCardState) => {\n if (!prevState.isHoverCardVisible) {\n return {\n isHoverCardVisible: true,\n mode: ExpandingCardMode.compact,\n openMode: ev.type === 'keydown' ? OpenCardMode.hotKey : OpenCardMode.hover,\n };\n }\n\n return prevState;\n });\n }, this.props.cardOpenDelay!);\n };\n\n /**\n * Hide HoverCard\n * How we dismiss the card depends on where the callback is coming from.\n * This is provided by the `isNativeEvent` argument.\n * true: Event is coming from event listeners set up in componentDidMount.\n * false: Event is coming from the `onLeave` prop from the HoverCard component.\n */\n private _cardDismiss = (\n isNativeEvent: boolean,\n ev: MouseEvent | React.MouseEvent | React.KeyboardEvent,\n ) => {\n if (isNativeEvent) {\n // We expect these to be MouseEvents, If not, return.\n if (!(ev instanceof MouseEvent)) {\n return;\n }\n\n // eslint-disable-next-line deprecation/deprecation\n if (ev.type === 'keydown' && ev.which !== KeyCodes.escape) {\n return;\n }\n\n // Dismiss if not sticky and currentTarget is the same element that mouse last entered\n // eslint-disable-next-line deprecation/deprecation\n if (!this.props.sticky && (this._currentMouseTarget === ev.currentTarget || ev.which === KeyCodes.escape)) {\n this.dismiss(true);\n }\n } else {\n // If this is a mouseleave event and the component is sticky, do not dismiss.\n if (\n this.props.sticky &&\n !(ev instanceof MouseEvent) &&\n ev.nativeEvent instanceof MouseEvent &&\n ev.type === 'mouseleave'\n ) {\n return;\n }\n\n this.dismiss(true);\n }\n };\n\n private _setDismissedState = () => {\n this.setState({\n isHoverCardVisible: false,\n mode: ExpandingCardMode.compact,\n openMode: OpenCardMode.hover,\n });\n };\n\n private _instantOpenAsExpanded = (ev: React.MouseEvent): void => {\n this._async.clearTimeout(this._dismissTimerId);\n\n this.setState((prevState: IHoverCardState) => {\n if (!prevState.isHoverCardVisible) {\n return {\n isHoverCardVisible: true,\n mode: ExpandingCardMode.expanded,\n };\n }\n\n return prevState;\n });\n };\n\n private _setEventListeners = (): void => {\n const { trapFocus, instantOpenOnClick, eventListenerTarget } = this.props;\n const target = eventListenerTarget\n ? this._getTargetElement(eventListenerTarget)\n : this._getTargetElement(this.props.target);\n const nativeEventDismiss = this._nativeDismissEvent;\n\n // target can be undefined if ref isn't available, only assign\n // events when defined to avoid throwing exception.\n if (target) {\n this._events.on(target, 'mouseenter', this._cardOpen);\n this._events.on(target, 'mouseleave', nativeEventDismiss);\n if (trapFocus) {\n this._events.on(target, 'keydown', this._cardOpen);\n } else {\n this._events.on(target, 'focus', this._cardOpen);\n this._events.on(target, 'blur', nativeEventDismiss);\n }\n if (instantOpenOnClick) {\n this._events.on(target, 'click', this._instantOpenAsExpanded);\n } else {\n this._events.on(target, 'mousedown', nativeEventDismiss);\n this._events.on(target, 'keydown', nativeEventDismiss);\n }\n }\n };\n}\n","import * as React from 'react';\nimport { styled } from '../../Utilities';\nimport { IHoverCardProps, IHoverCardStyles, IHoverCardStyleProps } from './HoverCard.types';\nimport { getStyles } from './HoverCard.styles';\nimport { HoverCardBase } from './HoverCard.base';\n\nexport const HoverCard: React.FunctionComponent = styled<\n IHoverCardProps,\n IHoverCardStyleProps,\n IHoverCardStyles\n>(HoverCardBase, getStyles, undefined, {\n scope: 'HoverCard',\n});\n","// Your use of the content in the files referenced here is subject to the terms of the license at https://aka.ms/fluentui-assets-license\n\nimport { IIconOptions, IIconSubset, registerIcons } from '@fluentui/style-utilities';\n\nexport function initializeIcons(baseUrl: string = '', options?: IIconOptions): void {\n const subset: IIconSubset = {\n style: {\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontStyle: 'normal',\n fontWeight: 'normal',\n speak: 'none',\n },\n fontFace: {\n fontFamily: `\"FabricMDL2Icons\"`,\n src: `url('${baseUrl}fabric-icons-a13498cf.woff') format('woff')`,\n },\n icons: {\n GlobalNavButton: '\\uE700',\n ChevronDown: '\\uE70D',\n ChevronUp: '\\uE70E',\n Edit: '\\uE70F',\n Add: '\\uE710',\n Cancel: '\\uE711',\n More: '\\uE712',\n Settings: '\\uE713',\n Mail: '\\uE715',\n Filter: '\\uE71C',\n Search: '\\uE721',\n Share: '\\uE72D',\n BlockedSite: '\\uE72F',\n FavoriteStar: '\\uE734',\n FavoriteStarFill: '\\uE735',\n CheckMark: '\\uE73E',\n Delete: '\\uE74D',\n ChevronLeft: '\\uE76B',\n ChevronRight: '\\uE76C',\n Calendar: '\\uE787',\n Megaphone: '\\uE789',\n Undo: '\\uE7A7',\n Flag: '\\uE7C1',\n Page: '\\uE7C3',\n Pinned: '\\uE840',\n View: '\\uE890',\n Clear: '\\uE894',\n Download: '\\uE896',\n Upload: '\\uE898',\n Folder: '\\uE8B7',\n Sort: '\\uE8CB',\n AlignRight: '\\uE8E2',\n AlignLeft: '\\uE8E4',\n Tag: '\\uE8EC',\n AddFriend: '\\uE8FA',\n Info: '\\uE946',\n SortLines: '\\uE9D0',\n List: '\\uEA37',\n CircleRing: '\\uEA3A',\n Heart: '\\uEB51',\n HeartFill: '\\uEB52',\n Tiles: '\\uECA5',\n Embed: '\\uECCE',\n Glimmer: '\\uECF4',\n Ascending: '\\uEDC0',\n Descending: '\\uEDC1',\n SortUp: '\\uEE68',\n SortDown: '\\uEE69',\n SyncToPC: '\\uEE6E',\n LargeGrid: '\\uEECB',\n SkypeCheck: '\\uEF80',\n SkypeClock: '\\uEF81',\n SkypeMinus: '\\uEF82',\n ClearFilter: '\\uEF8F',\n Flow: '\\uEF90',\n StatusCircleCheckmark: '\\uF13E',\n MoreVertical: '\\uF2BC',\n },\n };\n\n registerIcons(subset, options);\n}\n"," // Your use of the content in the files referenced here is subject to the terms of the license at https://aka.ms/fluentui-assets-license\n\nimport {\n IIconOptions,\n IIconSubset,\n registerIcons\n} from '@fluentui/style-utilities';\n\nexport function initializeIcons(\n baseUrl: string = '',\n options?: IIconOptions\n): void {\n const subset: IIconSubset = {\n style: {\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontStyle: 'normal',\n fontWeight: 'normal',\n speak: 'none'\n },\n fontFace: {\n fontFamily: `\"FabricMDL2Icons-0\"`,\n src: `url('${baseUrl}fabric-icons-0-467ee27f.woff') format('woff')`\n },\n icons: {\n 'PageLink': '\\uE302',\n 'CommentSolid': '\\uE30E',\n 'ChangeEntitlements': '\\uE310',\n 'Installation': '\\uE311',\n 'WebAppBuilderModule': '\\uE313',\n 'WebAppBuilderFragment': '\\uE314',\n 'WebAppBuilderSlot': '\\uE315',\n 'BullseyeTargetEdit': '\\uE319',\n 'WebAppBuilderFragmentCreate': '\\uE31B',\n 'PageData': '\\uE31C',\n 'PageHeaderEdit': '\\uE31D',\n 'ProductList': '\\uE31E',\n 'UnpublishContent': '\\uE31F',\n 'DependencyAdd': '\\uE344',\n 'DependencyRemove': '\\uE345',\n 'EntitlementPolicy': '\\uE346',\n 'EntitlementRedemption': '\\uE347',\n 'SchoolDataSyncLogo': '\\uE34C',\n 'PinSolid12': '\\uE352',\n 'PinSolidOff12': '\\uE353',\n 'AddLink': '\\uE35E',\n 'SharepointAppIcon16': '\\uE365',\n 'DataflowsLink': '\\uE366',\n 'TimePicker': '\\uE367',\n 'UserWarning': '\\uE368',\n 'ComplianceAudit': '\\uE369',\n 'InternetSharing': '\\uE704',\n 'Brightness': '\\uE706',\n 'MapPin': '\\uE707',\n 'Airplane': '\\uE709',\n 'Tablet': '\\uE70A',\n 'QuickNote': '\\uE70B',\n 'Video': '\\uE714',\n 'People': '\\uE716',\n 'Phone': '\\uE717',\n 'Pin': '\\uE718',\n 'Shop': '\\uE719',\n 'Stop': '\\uE71A',\n 'Link': '\\uE71B',\n 'AllApps': '\\uE71D',\n 'Zoom': '\\uE71E',\n 'ZoomOut': '\\uE71F',\n 'Microphone': '\\uE720',\n 'Camera': '\\uE722',\n 'Attach': '\\uE723',\n 'Send': '\\uE724',\n 'FavoriteList': '\\uE728',\n 'PageSolid': '\\uE729',\n 'Forward': '\\uE72A',\n 'Back': '\\uE72B',\n 'Refresh': '\\uE72C',\n 'Lock': '\\uE72E',\n 'ReportHacked': '\\uE730',\n 'EMI': '\\uE731',\n 'MiniLink': '\\uE732',\n 'Blocked': '\\uE733',\n 'ReadingMode': '\\uE736',\n 'Favicon': '\\uE737',\n 'Remove': '\\uE738',\n 'Checkbox': '\\uE739',\n 'CheckboxComposite': '\\uE73A',\n 'CheckboxFill': '\\uE73B',\n 'CheckboxIndeterminate': '\\uE73C',\n 'CheckboxCompositeReversed': '\\uE73D',\n 'BackToWindow': '\\uE73F',\n 'FullScreen': '\\uE740',\n 'Print': '\\uE749',\n 'Up': '\\uE74A',\n 'Down': '\\uE74B',\n 'OEM': '\\uE74C',\n 'Save': '\\uE74E',\n 'ReturnKey': '\\uE751',\n 'Cloud': '\\uE753',\n 'Flashlight': '\\uE754',\n 'CommandPrompt': '\\uE756',\n 'Sad': '\\uE757',\n 'RealEstate': '\\uE758',\n 'SIPMove': '\\uE759',\n 'EraseTool': '\\uE75C',\n 'GripperTool': '\\uE75E',\n 'Dialpad': '\\uE75F',\n 'PageLeft': '\\uE760',\n 'PageRight': '\\uE761',\n 'MultiSelect': '\\uE762',\n 'KeyboardClassic': '\\uE765',\n 'Play': '\\uE768',\n 'Pause': '\\uE769',\n 'InkingTool': '\\uE76D',\n 'Emoji2': '\\uE76E',\n 'GripperBarHorizontal': '\\uE76F',\n 'System': '\\uE770',\n 'Personalize': '\\uE771',\n 'SearchAndApps': '\\uE773',\n 'Globe': '\\uE774',\n 'EaseOfAccess': '\\uE776',\n 'ContactInfo': '\\uE779',\n 'Unpin': '\\uE77A',\n 'Contact': '\\uE77B',\n 'Memo': '\\uE77C',\n 'IncomingCall': '\\uE77E'\n }\n };\n\n registerIcons(subset, options);\n}\n"," // Your use of the content in the files referenced here is subject to the terms of the license at https://aka.ms/fluentui-assets-license\n\nimport {\n IIconOptions,\n IIconSubset,\n registerIcons\n} from '@fluentui/style-utilities';\n\nexport function initializeIcons(\n baseUrl: string = '',\n options?: IIconOptions\n): void {\n const subset: IIconSubset = {\n style: {\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontStyle: 'normal',\n fontWeight: 'normal',\n speak: 'none'\n },\n fontFace: {\n fontFamily: `\"FabricMDL2Icons-1\"`,\n src: `url('${baseUrl}fabric-icons-1-4d521695.woff') format('woff')`\n },\n icons: {\n 'Paste': '\\uE77F',\n 'WindowsLogo': '\\uE782',\n 'Error': '\\uE783',\n 'GripperBarVertical': '\\uE784',\n 'Unlock': '\\uE785',\n 'Slideshow': '\\uE786',\n 'Trim': '\\uE78A',\n 'AutoEnhanceOn': '\\uE78D',\n 'AutoEnhanceOff': '\\uE78E',\n 'Color': '\\uE790',\n 'SaveAs': '\\uE792',\n 'Light': '\\uE793',\n 'Filters': '\\uE795',\n 'AspectRatio': '\\uE799',\n 'Contrast': '\\uE7A1',\n 'Redo': '\\uE7A6',\n 'Crop': '\\uE7A8',\n 'PhotoCollection': '\\uE7AA',\n 'Album': '\\uE7AB',\n 'Rotate': '\\uE7AD',\n 'PanoIndicator': '\\uE7B0',\n 'Translate': '\\uE7B2',\n 'RedEye': '\\uE7B3',\n 'ViewOriginal': '\\uE7B4',\n 'ThumbnailView': '\\uE7B6',\n 'Package': '\\uE7B8',\n 'Telemarketer': '\\uE7B9',\n 'Warning': '\\uE7BA',\n 'Financial': '\\uE7BB',\n 'Education': '\\uE7BE',\n 'ShoppingCart': '\\uE7BF',\n 'Train': '\\uE7C0',\n 'Move': '\\uE7C2',\n 'TouchPointer': '\\uE7C9',\n 'Merge': '\\uE7D5',\n 'TurnRight': '\\uE7DB',\n 'Ferry': '\\uE7E3',\n 'Highlight': '\\uE7E6',\n 'PowerButton': '\\uE7E8',\n 'Tab': '\\uE7E9',\n 'Admin': '\\uE7EF',\n 'TVMonitor': '\\uE7F4',\n 'Speakers': '\\uE7F5',\n 'Game': '\\uE7FC',\n 'HorizontalTabKey': '\\uE7FD',\n 'UnstackSelected': '\\uE7FE',\n 'StackIndicator': '\\uE7FF',\n 'Nav2DMapView': '\\uE800',\n 'StreetsideSplitMinimize': '\\uE802',\n 'Car': '\\uE804',\n 'Bus': '\\uE806',\n 'EatDrink': '\\uE807',\n 'SeeDo': '\\uE808',\n 'LocationCircle': '\\uE80E',\n 'Home': '\\uE80F',\n 'SwitcherStartEnd': '\\uE810',\n 'ParkingLocation': '\\uE811',\n 'IncidentTriangle': '\\uE814',\n 'Touch': '\\uE815',\n 'MapDirections': '\\uE816',\n 'CaretHollow': '\\uE817',\n 'CaretSolid': '\\uE818',\n 'History': '\\uE81C',\n 'Location': '\\uE81D',\n 'MapLayers': '\\uE81E',\n 'SearchNearby': '\\uE820',\n 'Work': '\\uE821',\n 'Recent': '\\uE823',\n 'Hotel': '\\uE824',\n 'Bank': '\\uE825',\n 'LocationDot': '\\uE827',\n 'Dictionary': '\\uE82D',\n 'ChromeBack': '\\uE830',\n 'FolderOpen': '\\uE838',\n 'PinnedFill': '\\uE842',\n 'RevToggleKey': '\\uE845',\n 'USB': '\\uE88E',\n 'Previous': '\\uE892',\n 'Next': '\\uE893',\n 'Sync': '\\uE895',\n 'Help': '\\uE897',\n 'Emoji': '\\uE899',\n 'MailForward': '\\uE89C',\n 'ClosePane': '\\uE89F',\n 'OpenPane': '\\uE8A0',\n 'PreviewLink': '\\uE8A1',\n 'ZoomIn': '\\uE8A3',\n 'Bookmarks': '\\uE8A4',\n 'Document': '\\uE8A5',\n 'ProtectedDocument': '\\uE8A6',\n 'OpenInNewWindow': '\\uE8A7',\n 'MailFill': '\\uE8A8',\n 'ViewAll': '\\uE8A9',\n 'Switch': '\\uE8AB',\n 'Rename': '\\uE8AC',\n 'Go': '\\uE8AD',\n 'Remote': '\\uE8AF',\n 'SelectAll': '\\uE8B3',\n 'Orientation': '\\uE8B4',\n 'Import': '\\uE8B5'\n }\n };\n\n registerIcons(subset, options);\n}\n"," // Your use of the content in the files referenced here is subject to the terms of the license at https://aka.ms/fluentui-assets-license\n\nimport {\n IIconOptions,\n IIconSubset,\n registerIcons\n} from '@fluentui/style-utilities';\n\nexport function initializeIcons(\n baseUrl: string = '',\n options?: IIconOptions\n): void {\n const subset: IIconSubset = {\n style: {\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontStyle: 'normal',\n fontWeight: 'normal',\n speak: 'none'\n },\n fontFace: {\n fontFamily: `\"FabricMDL2Icons-2\"`,\n src: `url('${baseUrl}fabric-icons-2-63c99abf.woff') format('woff')`\n },\n icons: {\n 'Picture': '\\uE8B9',\n 'ChromeClose': '\\uE8BB',\n 'ShowResults': '\\uE8BC',\n 'Message': '\\uE8BD',\n 'CalendarDay': '\\uE8BF',\n 'CalendarWeek': '\\uE8C0',\n 'MailReplyAll': '\\uE8C2',\n 'Read': '\\uE8C3',\n 'Cut': '\\uE8C6',\n 'PaymentCard': '\\uE8C7',\n 'Copy': '\\uE8C8',\n 'Important': '\\uE8C9',\n 'MailReply': '\\uE8CA',\n 'GotoToday': '\\uE8D1',\n 'Font': '\\uE8D2',\n 'FontColor': '\\uE8D3',\n 'FolderFill': '\\uE8D5',\n 'Permissions': '\\uE8D7',\n 'DisableUpdates': '\\uE8D8',\n 'Unfavorite': '\\uE8D9',\n 'Italic': '\\uE8DB',\n 'Underline': '\\uE8DC',\n 'Bold': '\\uE8DD',\n 'MoveToFolder': '\\uE8DE',\n 'Dislike': '\\uE8E0',\n 'Like': '\\uE8E1',\n 'AlignCenter': '\\uE8E3',\n 'OpenFile': '\\uE8E5',\n 'ClearSelection': '\\uE8E6',\n 'FontDecrease': '\\uE8E7',\n 'FontIncrease': '\\uE8E8',\n 'FontSize': '\\uE8E9',\n 'CellPhone': '\\uE8EA',\n 'RepeatOne': '\\uE8ED',\n 'RepeatAll': '\\uE8EE',\n 'Calculator': '\\uE8EF',\n 'Library': '\\uE8F1',\n 'PostUpdate': '\\uE8F3',\n 'NewFolder': '\\uE8F4',\n 'CalendarReply': '\\uE8F5',\n 'UnsyncFolder': '\\uE8F6',\n 'SyncFolder': '\\uE8F7',\n 'BlockContact': '\\uE8F8',\n 'Accept': '\\uE8FB',\n 'BulletedList': '\\uE8FD',\n 'Preview': '\\uE8FF',\n 'News': '\\uE900',\n 'Chat': '\\uE901',\n 'Group': '\\uE902',\n 'World': '\\uE909',\n 'Comment': '\\uE90A',\n 'DockLeft': '\\uE90C',\n 'DockRight': '\\uE90D',\n 'Repair': '\\uE90F',\n 'Accounts': '\\uE910',\n 'Street': '\\uE913',\n 'RadioBullet': '\\uE915',\n 'Stopwatch': '\\uE916',\n 'Clock': '\\uE917',\n 'WorldClock': '\\uE918',\n 'AlarmClock': '\\uE919',\n 'Photo': '\\uE91B',\n 'ActionCenter': '\\uE91C',\n 'Hospital': '\\uE91D',\n 'Timer': '\\uE91E',\n 'FullCircleMask': '\\uE91F',\n 'LocationFill': '\\uE920',\n 'ChromeMinimize': '\\uE921',\n 'ChromeRestore': '\\uE923',\n 'Annotation': '\\uE924',\n 'Fingerprint': '\\uE928',\n 'Handwriting': '\\uE929',\n 'ChromeFullScreen': '\\uE92D',\n 'Completed': '\\uE930',\n 'Label': '\\uE932',\n 'FlickDown': '\\uE935',\n 'FlickUp': '\\uE936',\n 'FlickLeft': '\\uE937',\n 'FlickRight': '\\uE938',\n 'MiniExpand': '\\uE93A',\n 'MiniContract': '\\uE93B',\n 'Streaming': '\\uE93E',\n 'MusicInCollection': '\\uE940',\n 'OneDriveLogo': '\\uE941',\n 'CompassNW': '\\uE942',\n 'Code': '\\uE943',\n 'LightningBolt': '\\uE945',\n 'CalculatorMultiply': '\\uE947',\n 'CalculatorAddition': '\\uE948',\n 'CalculatorSubtract': '\\uE949',\n 'CalculatorPercentage': '\\uE94C',\n 'CalculatorEqualTo': '\\uE94E',\n 'PrintfaxPrinterFile': '\\uE956',\n 'StorageOptical': '\\uE958',\n 'Communications': '\\uE95A',\n 'Headset': '\\uE95B',\n 'Health': '\\uE95E',\n 'Webcam2': '\\uE960',\n 'FrontCamera': '\\uE96B',\n 'ChevronUpSmall': '\\uE96D'\n }\n };\n\n registerIcons(subset, options);\n}\n"," // Your use of the content in the files referenced here is subject to the terms of the license at https://aka.ms/fluentui-assets-license\n\nimport {\n IIconOptions,\n IIconSubset,\n registerIcons\n} from '@fluentui/style-utilities';\n\nexport function initializeIcons(\n baseUrl: string = '',\n options?: IIconOptions\n): void {\n const subset: IIconSubset = {\n style: {\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontStyle: 'normal',\n fontWeight: 'normal',\n speak: 'none'\n },\n fontFace: {\n fontFamily: `\"FabricMDL2Icons-3\"`,\n src: `url('${baseUrl}fabric-icons-3-089e217a.woff') format('woff')`\n },\n icons: {\n 'ChevronDownSmall': '\\uE96E',\n 'ChevronLeftSmall': '\\uE96F',\n 'ChevronRightSmall': '\\uE970',\n 'ChevronUpMed': '\\uE971',\n 'ChevronDownMed': '\\uE972',\n 'ChevronLeftMed': '\\uE973',\n 'ChevronRightMed': '\\uE974',\n 'Devices2': '\\uE975',\n 'PC1': '\\uE977',\n 'PresenceChickletVideo': '\\uE979',\n 'Reply': '\\uE97A',\n 'HalfAlpha': '\\uE97E',\n 'ConstructionCone': '\\uE98F',\n 'DoubleChevronLeftMed': '\\uE991',\n 'Volume0': '\\uE992',\n 'Volume1': '\\uE993',\n 'Volume2': '\\uE994',\n 'Volume3': '\\uE995',\n 'Chart': '\\uE999',\n 'Robot': '\\uE99A',\n 'Manufacturing': '\\uE99C',\n 'LockSolid': '\\uE9A2',\n 'FitPage': '\\uE9A6',\n 'FitWidth': '\\uE9A7',\n 'BidiLtr': '\\uE9AA',\n 'BidiRtl': '\\uE9AB',\n 'RightDoubleQuote': '\\uE9B1',\n 'Sunny': '\\uE9BD',\n 'CloudWeather': '\\uE9BE',\n 'Cloudy': '\\uE9BF',\n 'PartlyCloudyDay': '\\uE9C0',\n 'PartlyCloudyNight': '\\uE9C1',\n 'ClearNight': '\\uE9C2',\n 'RainShowersDay': '\\uE9C3',\n 'Rain': '\\uE9C4',\n 'Thunderstorms': '\\uE9C6',\n 'RainSnow': '\\uE9C7',\n 'Snow': '\\uE9C8',\n 'BlowingSnow': '\\uE9C9',\n 'Frigid': '\\uE9CA',\n 'Fog': '\\uE9CB',\n 'Squalls': '\\uE9CC',\n 'Duststorm': '\\uE9CD',\n 'Unknown': '\\uE9CE',\n 'Precipitation': '\\uE9CF',\n 'Ribbon': '\\uE9D1',\n 'AreaChart': '\\uE9D2',\n 'Assign': '\\uE9D3',\n 'FlowChart': '\\uE9D4',\n 'CheckList': '\\uE9D5',\n 'Diagnostic': '\\uE9D9',\n 'Generate': '\\uE9DA',\n 'LineChart': '\\uE9E6',\n 'Equalizer': '\\uE9E9',\n 'BarChartHorizontal': '\\uE9EB',\n 'BarChartVertical': '\\uE9EC',\n 'Freezing': '\\uE9EF',\n 'FunnelChart': '\\uE9F1',\n 'Processing': '\\uE9F5',\n 'Quantity': '\\uE9F8',\n 'ReportDocument': '\\uE9F9',\n 'StackColumnChart': '\\uE9FC',\n 'SnowShowerDay': '\\uE9FD',\n 'HailDay': '\\uEA00',\n 'WorkFlow': '\\uEA01',\n 'HourGlass': '\\uEA03',\n 'StoreLogoMed20': '\\uEA04',\n 'TimeSheet': '\\uEA05',\n 'TriangleSolid': '\\uEA08',\n 'UpgradeAnalysis': '\\uEA0B',\n 'VideoSolid': '\\uEA0C',\n 'RainShowersNight': '\\uEA0F',\n 'SnowShowerNight': '\\uEA11',\n 'Teamwork': '\\uEA12',\n 'HailNight': '\\uEA13',\n 'PeopleAdd': '\\uEA15',\n 'Glasses': '\\uEA16',\n 'DateTime2': '\\uEA17',\n 'Shield': '\\uEA18',\n 'Header1': '\\uEA19',\n 'PageAdd': '\\uEA1A',\n 'NumberedList': '\\uEA1C',\n 'PowerBILogo': '\\uEA1E',\n 'Info2': '\\uEA1F',\n 'MusicInCollectionFill': '\\uEA36',\n 'Asterisk': '\\uEA38',\n 'ErrorBadge': '\\uEA39',\n 'CircleFill': '\\uEA3B',\n 'Record2': '\\uEA3F',\n 'AllAppsMirrored': '\\uEA40',\n 'BookmarksMirrored': '\\uEA41',\n 'BulletedListMirrored': '\\uEA42',\n 'CaretHollowMirrored': '\\uEA45',\n 'CaretSolidMirrored': '\\uEA46',\n 'ChromeBackMirrored': '\\uEA47',\n 'ClearSelectionMirrored': '\\uEA48',\n 'ClosePaneMirrored': '\\uEA49',\n 'DockLeftMirrored': '\\uEA4C',\n 'DoubleChevronLeftMedMirrored': '\\uEA4D',\n 'GoMirrored': '\\uEA4F'\n }\n };\n\n registerIcons(subset, options);\n}\n"," // Your use of the content in the files referenced here is subject to the terms of the license at https://aka.ms/fluentui-assets-license\n\nimport {\n IIconOptions,\n IIconSubset,\n registerIcons\n} from '@fluentui/style-utilities';\n\nexport function initializeIcons(\n baseUrl: string = '',\n options?: IIconOptions\n): void {\n const subset: IIconSubset = {\n style: {\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontStyle: 'normal',\n fontWeight: 'normal',\n speak: 'none'\n },\n fontFace: {\n fontFamily: `\"FabricMDL2Icons-4\"`,\n src: `url('${baseUrl}fabric-icons-4-a656cc0a.woff') format('woff')`\n },\n icons: {\n 'HelpMirrored': '\\uEA51',\n 'ImportMirrored': '\\uEA52',\n 'ImportAllMirrored': '\\uEA53',\n 'ListMirrored': '\\uEA55',\n 'MailForwardMirrored': '\\uEA56',\n 'MailReplyMirrored': '\\uEA57',\n 'MailReplyAllMirrored': '\\uEA58',\n 'MiniContractMirrored': '\\uEA59',\n 'MiniExpandMirrored': '\\uEA5A',\n 'OpenPaneMirrored': '\\uEA5B',\n 'ParkingLocationMirrored': '\\uEA5E',\n 'SendMirrored': '\\uEA63',\n 'ShowResultsMirrored': '\\uEA65',\n 'ThumbnailViewMirrored': '\\uEA67',\n 'Media': '\\uEA69',\n 'Devices3': '\\uEA6C',\n 'Focus': '\\uEA6F',\n 'VideoLightOff': '\\uEA74',\n 'Lightbulb': '\\uEA80',\n 'StatusTriangle': '\\uEA82',\n 'VolumeDisabled': '\\uEA85',\n 'Puzzle': '\\uEA86',\n 'EmojiNeutral': '\\uEA87',\n 'EmojiDisappointed': '\\uEA88',\n 'HomeSolid': '\\uEA8A',\n 'Ringer': '\\uEA8F',\n 'PDF': '\\uEA90',\n 'HeartBroken': '\\uEA92',\n 'StoreLogo16': '\\uEA96',\n 'MultiSelectMirrored': '\\uEA98',\n 'Broom': '\\uEA99',\n 'AddToShoppingList': '\\uEA9A',\n 'Cocktails': '\\uEA9D',\n 'Wines': '\\uEABF',\n 'Articles': '\\uEAC1',\n 'Cycling': '\\uEAC7',\n 'DietPlanNotebook': '\\uEAC8',\n 'Pill': '\\uEACB',\n 'ExerciseTracker': '\\uEACC',\n 'HandsFree': '\\uEAD0',\n 'Medical': '\\uEAD4',\n 'Running': '\\uEADA',\n 'Weights': '\\uEADB',\n 'Trackers': '\\uEADF',\n 'AddNotes': '\\uEAE3',\n 'AllCurrency': '\\uEAE4',\n 'BarChart4': '\\uEAE7',\n 'CirclePlus': '\\uEAEE',\n 'Coffee': '\\uEAEF',\n 'Cotton': '\\uEAF3',\n 'Market': '\\uEAFC',\n 'Money': '\\uEAFD',\n 'PieDouble': '\\uEB04',\n 'PieSingle': '\\uEB05',\n 'RemoveFilter': '\\uEB08',\n 'Savings': '\\uEB0B',\n 'Sell': '\\uEB0C',\n 'StockDown': '\\uEB0F',\n 'StockUp': '\\uEB11',\n 'Lamp': '\\uEB19',\n 'Source': '\\uEB1B',\n 'MSNVideos': '\\uEB1C',\n 'Cricket': '\\uEB1E',\n 'Golf': '\\uEB1F',\n 'Baseball': '\\uEB20',\n 'Soccer': '\\uEB21',\n 'MoreSports': '\\uEB22',\n 'AutoRacing': '\\uEB24',\n 'CollegeHoops': '\\uEB25',\n 'CollegeFootball': '\\uEB26',\n 'ProFootball': '\\uEB27',\n 'ProHockey': '\\uEB28',\n 'Rugby': '\\uEB2D',\n 'SubstitutionsIn': '\\uEB31',\n 'Tennis': '\\uEB33',\n 'Arrivals': '\\uEB34',\n 'Design': '\\uEB3C',\n 'Website': '\\uEB41',\n 'Drop': '\\uEB42',\n 'HistoricalWeather': '\\uEB43',\n 'SkiResorts': '\\uEB45',\n 'Snowflake': '\\uEB46',\n 'BusSolid': '\\uEB47',\n 'FerrySolid': '\\uEB48',\n 'AirplaneSolid': '\\uEB4C',\n 'TrainSolid': '\\uEB4D',\n 'Ticket': '\\uEB54',\n 'WifiWarning4': '\\uEB63',\n 'Devices4': '\\uEB66',\n 'AzureLogo': '\\uEB6A',\n 'BingLogo': '\\uEB6B',\n 'MSNLogo': '\\uEB6C',\n 'OutlookLogoInverse': '\\uEB6D',\n 'OfficeLogo': '\\uEB6E',\n 'SkypeLogo': '\\uEB6F',\n 'Door': '\\uEB75',\n 'EditMirrored': '\\uEB7E',\n 'GiftCard': '\\uEB8E',\n 'DoubleBookmark': '\\uEB8F',\n 'StatusErrorFull': '\\uEB90'\n }\n };\n\n registerIcons(subset, options);\n}\n"," // Your use of the content in the files referenced here is subject to the terms of the license at https://aka.ms/fluentui-assets-license\n\nimport {\n IIconOptions,\n IIconSubset,\n registerIcons\n} from '@fluentui/style-utilities';\n\nexport function initializeIcons(\n baseUrl: string = '',\n options?: IIconOptions\n): void {\n const subset: IIconSubset = {\n style: {\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontStyle: 'normal',\n fontWeight: 'normal',\n speak: 'none'\n },\n fontFace: {\n fontFamily: `\"FabricMDL2Icons-5\"`,\n src: `url('${baseUrl}fabric-icons-5-f95ba260.woff') format('woff')`\n },\n icons: {\n 'Certificate': '\\uEB95',\n 'FastForward': '\\uEB9D',\n 'Rewind': '\\uEB9E',\n 'Photo2': '\\uEB9F',\n 'OpenSource': '\\uEBC2',\n 'Movers': '\\uEBCD',\n 'CloudDownload': '\\uEBD3',\n 'Family': '\\uEBDA',\n 'WindDirection': '\\uEBE6',\n 'Bug': '\\uEBE8',\n 'SiteScan': '\\uEBEC',\n 'BrowserScreenShot': '\\uEBED',\n 'F12DevTools': '\\uEBEE',\n 'CSS': '\\uEBEF',\n 'JS': '\\uEBF0',\n 'DeliveryTruck': '\\uEBF4',\n 'ReminderPerson': '\\uEBF7',\n 'ReminderGroup': '\\uEBF8',\n 'ReminderTime': '\\uEBF9',\n 'TabletMode': '\\uEBFC',\n 'Umbrella': '\\uEC04',\n 'NetworkTower': '\\uEC05',\n 'CityNext': '\\uEC06',\n 'CityNext2': '\\uEC07',\n 'Section': '\\uEC0C',\n 'OneNoteLogoInverse': '\\uEC0D',\n 'ToggleFilled': '\\uEC11',\n 'ToggleBorder': '\\uEC12',\n 'SliderThumb': '\\uEC13',\n 'ToggleThumb': '\\uEC14',\n 'Documentation': '\\uEC17',\n 'Badge': '\\uEC1B',\n 'Giftbox': '\\uEC1F',\n 'VisualStudioLogo': '\\uEC22',\n 'HomeGroup': '\\uEC26',\n 'ExcelLogoInverse': '\\uEC28',\n 'WordLogoInverse': '\\uEC29',\n 'PowerPointLogoInverse': '\\uEC2A',\n 'Cafe': '\\uEC32',\n 'SpeedHigh': '\\uEC4A',\n 'Commitments': '\\uEC4D',\n 'ThisPC': '\\uEC4E',\n 'MusicNote': '\\uEC4F',\n 'MicOff': '\\uEC54',\n 'PlaybackRate1x': '\\uEC57',\n 'EdgeLogo': '\\uEC60',\n 'CompletedSolid': '\\uEC61',\n 'AlbumRemove': '\\uEC62',\n 'MessageFill': '\\uEC70',\n 'TabletSelected': '\\uEC74',\n 'MobileSelected': '\\uEC75',\n 'LaptopSelected': '\\uEC76',\n 'TVMonitorSelected': '\\uEC77',\n 'DeveloperTools': '\\uEC7A',\n 'Shapes': '\\uEC7C',\n 'InsertTextBox': '\\uEC7D',\n 'LowerBrightness': '\\uEC8A',\n 'WebComponents': '\\uEC8B',\n 'OfflineStorage': '\\uEC8C',\n 'DOM': '\\uEC8D',\n 'CloudUpload': '\\uEC8E',\n 'ScrollUpDown': '\\uEC8F',\n 'DateTime': '\\uEC92',\n 'Event': '\\uECA3',\n 'Cake': '\\uECA4',\n 'Org': '\\uECA6',\n 'PartyLeader': '\\uECA7',\n 'DRM': '\\uECA8',\n 'CloudAdd': '\\uECA9',\n 'AppIconDefault': '\\uECAA',\n 'Photo2Add': '\\uECAB',\n 'Photo2Remove': '\\uECAC',\n 'Calories': '\\uECAD',\n 'POI': '\\uECAF',\n 'AddTo': '\\uECC8',\n 'RadioBtnOff': '\\uECCA',\n 'RadioBtnOn': '\\uECCB',\n 'ExploreContent': '\\uECCD',\n 'Product': '\\uECDC',\n 'ProgressLoopInner': '\\uECDE',\n 'ProgressLoopOuter': '\\uECDF',\n 'Blocked2': '\\uECE4',\n 'FangBody': '\\uECEB',\n 'Toolbox': '\\uECED',\n 'PageHeader': '\\uECEE',\n 'ChatInviteFriend': '\\uECFE',\n 'Brush': '\\uECFF',\n 'Shirt': '\\uED00',\n 'Crown': '\\uED01',\n 'Diamond': '\\uED02',\n 'ScaleUp': '\\uED09',\n 'QRCode': '\\uED14',\n 'Feedback': '\\uED15',\n 'SharepointLogoInverse': '\\uED18',\n 'YammerLogo': '\\uED19',\n 'Hide': '\\uED1A',\n 'Uneditable': '\\uED1D',\n 'ReturnToSession': '\\uED24',\n 'OpenFolderHorizontal': '\\uED25',\n 'CalendarMirrored': '\\uED28'\n }\n };\n\n registerIcons(subset, options);\n}\n"," // Your use of the content in the files referenced here is subject to the terms of the license at https://aka.ms/fluentui-assets-license\n\nimport {\n IIconOptions,\n IIconSubset,\n registerIcons\n} from '@fluentui/style-utilities';\n\nexport function initializeIcons(\n baseUrl: string = '',\n options?: IIconOptions\n): void {\n const subset: IIconSubset = {\n style: {\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontStyle: 'normal',\n fontWeight: 'normal',\n speak: 'none'\n },\n fontFace: {\n fontFamily: `\"FabricMDL2Icons-6\"`,\n src: `url('${baseUrl}fabric-icons-6-ef6fd590.woff') format('woff')`\n },\n icons: {\n 'SwayLogoInverse': '\\uED29',\n 'OutOfOffice': '\\uED34',\n 'Trophy': '\\uED3F',\n 'ReopenPages': '\\uED50',\n 'EmojiTabSymbols': '\\uED58',\n 'AADLogo': '\\uED68',\n 'AccessLogo': '\\uED69',\n 'AdminALogoInverse32': '\\uED6A',\n 'AdminCLogoInverse32': '\\uED6B',\n 'AdminDLogoInverse32': '\\uED6C',\n 'AdminELogoInverse32': '\\uED6D',\n 'AdminLLogoInverse32': '\\uED6E',\n 'AdminMLogoInverse32': '\\uED6F',\n 'AdminOLogoInverse32': '\\uED70',\n 'AdminPLogoInverse32': '\\uED71',\n 'AdminSLogoInverse32': '\\uED72',\n 'AdminYLogoInverse32': '\\uED73',\n 'DelveLogoInverse': '\\uED76',\n 'ExchangeLogoInverse': '\\uED78',\n 'LyncLogo': '\\uED79',\n 'OfficeVideoLogoInverse': '\\uED7A',\n 'SocialListeningLogo': '\\uED7C',\n 'VisioLogoInverse': '\\uED7D',\n 'Balloons': '\\uED7E',\n 'Cat': '\\uED7F',\n 'MailAlert': '\\uED80',\n 'MailCheck': '\\uED81',\n 'MailLowImportance': '\\uED82',\n 'MailPause': '\\uED83',\n 'MailRepeat': '\\uED84',\n 'SecurityGroup': '\\uED85',\n 'Table': '\\uED86',\n 'VoicemailForward': '\\uED87',\n 'VoicemailReply': '\\uED88',\n 'Waffle': '\\uED89',\n 'RemoveEvent': '\\uED8A',\n 'EventInfo': '\\uED8B',\n 'ForwardEvent': '\\uED8C',\n 'WipePhone': '\\uED8D',\n 'AddOnlineMeeting': '\\uED8E',\n 'JoinOnlineMeeting': '\\uED8F',\n 'RemoveLink': '\\uED90',\n 'PeopleBlock': '\\uED91',\n 'PeopleRepeat': '\\uED92',\n 'PeopleAlert': '\\uED93',\n 'PeoplePause': '\\uED94',\n 'TransferCall': '\\uED95',\n 'AddPhone': '\\uED96',\n 'UnknownCall': '\\uED97',\n 'NoteReply': '\\uED98',\n 'NoteForward': '\\uED99',\n 'NotePinned': '\\uED9A',\n 'RemoveOccurrence': '\\uED9B',\n 'Timeline': '\\uED9C',\n 'EditNote': '\\uED9D',\n 'CircleHalfFull': '\\uED9E',\n 'Room': '\\uED9F',\n 'Unsubscribe': '\\uEDA0',\n 'Subscribe': '\\uEDA1',\n 'HardDrive': '\\uEDA2',\n 'RecurringTask': '\\uEDB2',\n 'TaskManager': '\\uEDB7',\n 'TaskManagerMirrored': '\\uEDB8',\n 'Combine': '\\uEDBB',\n 'Split': '\\uEDBC',\n 'DoubleChevronUp': '\\uEDBD',\n 'DoubleChevronLeft': '\\uEDBE',\n 'DoubleChevronRight': '\\uEDBF',\n 'TextBox': '\\uEDC2',\n 'TextField': '\\uEDC3',\n 'NumberField': '\\uEDC4',\n 'Dropdown': '\\uEDC5',\n 'PenWorkspace': '\\uEDC6',\n 'BookingsLogo': '\\uEDC7',\n 'ClassNotebookLogoInverse': '\\uEDC8',\n 'DelveAnalyticsLogo': '\\uEDCA',\n 'DocsLogoInverse': '\\uEDCB',\n 'Dynamics365Logo': '\\uEDCC',\n 'DynamicSMBLogo': '\\uEDCD',\n 'OfficeAssistantLogo': '\\uEDCE',\n 'OfficeStoreLogo': '\\uEDCF',\n 'OneNoteEduLogoInverse': '\\uEDD0',\n 'PlannerLogo': '\\uEDD1',\n 'PowerApps': '\\uEDD2',\n 'Suitcase': '\\uEDD3',\n 'ProjectLogoInverse': '\\uEDD4',\n 'CaretLeft8': '\\uEDD5',\n 'CaretRight8': '\\uEDD6',\n 'CaretUp8': '\\uEDD7',\n 'CaretDown8': '\\uEDD8',\n 'CaretLeftSolid8': '\\uEDD9',\n 'CaretRightSolid8': '\\uEDDA',\n 'CaretUpSolid8': '\\uEDDB',\n 'CaretDownSolid8': '\\uEDDC',\n 'ClearFormatting': '\\uEDDD',\n 'Superscript': '\\uEDDE',\n 'Subscript': '\\uEDDF',\n 'Strikethrough': '\\uEDE0',\n 'Export': '\\uEDE1',\n 'ExportMirrored': '\\uEDE2'\n }\n };\n\n registerIcons(subset, options);\n}\n"," // Your use of the content in the files referenced here is subject to the terms of the license at https://aka.ms/fluentui-assets-license\n\nimport {\n IIconOptions,\n IIconSubset,\n registerIcons\n} from '@fluentui/style-utilities';\n\nexport function initializeIcons(\n baseUrl: string = '',\n options?: IIconOptions\n): void {\n const subset: IIconSubset = {\n style: {\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontStyle: 'normal',\n fontWeight: 'normal',\n speak: 'none'\n },\n fontFace: {\n fontFamily: `\"FabricMDL2Icons-7\"`,\n src: `url('${baseUrl}fabric-icons-7-2b97bb99.woff') format('woff')`\n },\n icons: {\n 'SingleBookmark': '\\uEDFF',\n 'SingleBookmarkSolid': '\\uEE00',\n 'DoubleChevronDown': '\\uEE04',\n 'FollowUser': '\\uEE05',\n 'ReplyAll': '\\uEE0A',\n 'WorkforceManagement': '\\uEE0F',\n 'RecruitmentManagement': '\\uEE12',\n 'Questionnaire': '\\uEE19',\n 'ManagerSelfService': '\\uEE23',\n 'ProductionFloorManagement': '\\uEE29',\n 'ProductRelease': '\\uEE2E',\n 'ProductVariant': '\\uEE30',\n 'ReplyMirrored': '\\uEE35',\n 'ReplyAllMirrored': '\\uEE36',\n 'Medal': '\\uEE38',\n 'AddGroup': '\\uEE3D',\n 'QuestionnaireMirrored': '\\uEE4B',\n 'CloudImportExport': '\\uEE55',\n 'TemporaryUser': '\\uEE58',\n 'CaretSolid16': '\\uEE62',\n 'GroupedDescending': '\\uEE66',\n 'GroupedAscending': '\\uEE67',\n 'AwayStatus': '\\uEE6A',\n 'MyMoviesTV': '\\uEE6C',\n 'GenericScan': '\\uEE6F',\n 'AustralianRules': '\\uEE70',\n 'WifiEthernet': '\\uEE77',\n 'TrackersMirrored': '\\uEE92',\n 'DateTimeMirrored': '\\uEE93',\n 'StopSolid': '\\uEE95',\n 'DoubleChevronUp12': '\\uEE96',\n 'DoubleChevronDown12': '\\uEE97',\n 'DoubleChevronLeft12': '\\uEE98',\n 'DoubleChevronRight12': '\\uEE99',\n 'CalendarAgenda': '\\uEE9A',\n 'ConnectVirtualMachine': '\\uEE9D',\n 'AddEvent': '\\uEEB5',\n 'AssetLibrary': '\\uEEB6',\n 'DataConnectionLibrary': '\\uEEB7',\n 'DocLibrary': '\\uEEB8',\n 'FormLibrary': '\\uEEB9',\n 'FormLibraryMirrored': '\\uEEBA',\n 'ReportLibrary': '\\uEEBB',\n 'ReportLibraryMirrored': '\\uEEBC',\n 'ContactCard': '\\uEEBD',\n 'CustomList': '\\uEEBE',\n 'CustomListMirrored': '\\uEEBF',\n 'IssueTracking': '\\uEEC0',\n 'IssueTrackingMirrored': '\\uEEC1',\n 'PictureLibrary': '\\uEEC2',\n 'OfficeAddinsLogo': '\\uEEC7',\n 'OfflineOneDriveParachute': '\\uEEC8',\n 'OfflineOneDriveParachuteDisabled': '\\uEEC9',\n 'TriangleSolidUp12': '\\uEECC',\n 'TriangleSolidDown12': '\\uEECD',\n 'TriangleSolidLeft12': '\\uEECE',\n 'TriangleSolidRight12': '\\uEECF',\n 'TriangleUp12': '\\uEED0',\n 'TriangleDown12': '\\uEED1',\n 'TriangleLeft12': '\\uEED2',\n 'TriangleRight12': '\\uEED3',\n 'ArrowUpRight8': '\\uEED4',\n 'ArrowDownRight8': '\\uEED5',\n 'DocumentSet': '\\uEED6',\n 'GoToDashboard': '\\uEEED',\n 'DelveAnalytics': '\\uEEEE',\n 'ArrowUpRightMirrored8': '\\uEEEF',\n 'ArrowDownRightMirrored8': '\\uEEF0',\n 'CompanyDirectory': '\\uEF0D',\n 'OpenEnrollment': '\\uEF1C',\n 'CompanyDirectoryMirrored': '\\uEF2B',\n 'OneDriveAdd': '\\uEF32',\n 'ProfileSearch': '\\uEF35',\n 'Header2': '\\uEF36',\n 'Header3': '\\uEF37',\n 'Header4': '\\uEF38',\n 'RingerSolid': '\\uEF3A',\n 'Eyedropper': '\\uEF3C',\n 'MarketDown': '\\uEF42',\n 'CalendarWorkWeek': '\\uEF51',\n 'SidePanel': '\\uEF52',\n 'GlobeFavorite': '\\uEF53',\n 'CaretTopLeftSolid8': '\\uEF54',\n 'CaretTopRightSolid8': '\\uEF55',\n 'ViewAll2': '\\uEF56',\n 'DocumentReply': '\\uEF57',\n 'PlayerSettings': '\\uEF58',\n 'ReceiptForward': '\\uEF59',\n 'ReceiptReply': '\\uEF5A',\n 'ReceiptCheck': '\\uEF5B',\n 'Fax': '\\uEF5C',\n 'RecurringEvent': '\\uEF5D',\n 'ReplyAlt': '\\uEF5E',\n 'ReplyAllAlt': '\\uEF5F',\n 'EditStyle': '\\uEF60',\n 'EditMail': '\\uEF61',\n 'Lifesaver': '\\uEF62',\n 'LifesaverLock': '\\uEF63',\n 'InboxCheck': '\\uEF64',\n 'FolderSearch': '\\uEF65'\n }\n };\n\n registerIcons(subset, options);\n}\n"," // Your use of the content in the files referenced here is subject to the terms of the license at https://aka.ms/fluentui-assets-license\n\nimport {\n IIconOptions,\n IIconSubset,\n registerIcons\n} from '@fluentui/style-utilities';\n\nexport function initializeIcons(\n baseUrl: string = '',\n options?: IIconOptions\n): void {\n const subset: IIconSubset = {\n style: {\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontStyle: 'normal',\n fontWeight: 'normal',\n speak: 'none'\n },\n fontFace: {\n fontFamily: `\"FabricMDL2Icons-8\"`,\n src: `url('${baseUrl}fabric-icons-8-6fdf1528.woff') format('woff')`\n },\n icons: {\n 'CollapseMenu': '\\uEF66',\n 'ExpandMenu': '\\uEF67',\n 'Boards': '\\uEF68',\n 'SunAdd': '\\uEF69',\n 'SunQuestionMark': '\\uEF6A',\n 'LandscapeOrientation': '\\uEF6B',\n 'DocumentSearch': '\\uEF6C',\n 'PublicCalendar': '\\uEF6D',\n 'PublicContactCard': '\\uEF6E',\n 'PublicEmail': '\\uEF6F',\n 'PublicFolder': '\\uEF70',\n 'WordDocument': '\\uEF71',\n 'PowerPointDocument': '\\uEF72',\n 'ExcelDocument': '\\uEF73',\n 'GroupedList': '\\uEF74',\n 'ClassroomLogo': '\\uEF75',\n 'Sections': '\\uEF76',\n 'EditPhoto': '\\uEF77',\n 'Starburst': '\\uEF78',\n 'ShareiOS': '\\uEF79',\n 'AirTickets': '\\uEF7A',\n 'PencilReply': '\\uEF7B',\n 'Tiles2': '\\uEF7C',\n 'SkypeCircleCheck': '\\uEF7D',\n 'SkypeCircleClock': '\\uEF7E',\n 'SkypeCircleMinus': '\\uEF7F',\n 'SkypeMessage': '\\uEF83',\n 'ClosedCaption': '\\uEF84',\n 'ATPLogo': '\\uEF85',\n 'OfficeFormsLogoInverse': '\\uEF86',\n 'RecycleBin': '\\uEF87',\n 'EmptyRecycleBin': '\\uEF88',\n 'Hide2': '\\uEF89',\n 'Breadcrumb': '\\uEF8C',\n 'BirthdayCake': '\\uEF8D',\n 'TimeEntry': '\\uEF95',\n 'CRMProcesses': '\\uEFB1',\n 'PageEdit': '\\uEFB6',\n 'PageArrowRight': '\\uEFB8',\n 'PageRemove': '\\uEFBA',\n 'Database': '\\uEFC7',\n 'DataManagementSettings': '\\uEFC8',\n 'CRMServices': '\\uEFD2',\n 'EditContact': '\\uEFD3',\n 'ConnectContacts': '\\uEFD4',\n 'AppIconDefaultAdd': '\\uEFDA',\n 'AppIconDefaultList': '\\uEFDE',\n 'ActivateOrders': '\\uEFE0',\n 'DeactivateOrders': '\\uEFE1',\n 'ProductCatalog': '\\uEFE8',\n 'ScatterChart': '\\uEFEB',\n 'AccountActivity': '\\uEFF4',\n 'DocumentManagement': '\\uEFFC',\n 'CRMReport': '\\uEFFE',\n 'KnowledgeArticle': '\\uF000',\n 'Relationship': '\\uF003',\n 'HomeVerify': '\\uF00E',\n 'ZipFolder': '\\uF012',\n 'SurveyQuestions': '\\uF01B',\n 'TextDocument': '\\uF029',\n 'TextDocumentShared': '\\uF02B',\n 'PageCheckedOut': '\\uF02C',\n 'PageShared': '\\uF02D',\n 'SaveAndClose': '\\uF038',\n 'Script': '\\uF03A',\n 'Archive': '\\uF03F',\n 'ActivityFeed': '\\uF056',\n 'Compare': '\\uF057',\n 'EventDate': '\\uF059',\n 'ArrowUpRight': '\\uF069',\n 'CaretRight': '\\uF06B',\n 'SetAction': '\\uF071',\n 'ChatBot': '\\uF08B',\n 'CaretSolidLeft': '\\uF08D',\n 'CaretSolidDown': '\\uF08E',\n 'CaretSolidRight': '\\uF08F',\n 'CaretSolidUp': '\\uF090',\n 'PowerAppsLogo': '\\uF091',\n 'PowerApps2Logo': '\\uF092',\n 'SearchIssue': '\\uF09A',\n 'SearchIssueMirrored': '\\uF09B',\n 'FabricAssetLibrary': '\\uF09C',\n 'FabricDataConnectionLibrary': '\\uF09D',\n 'FabricDocLibrary': '\\uF09E',\n 'FabricFormLibrary': '\\uF09F',\n 'FabricFormLibraryMirrored': '\\uF0A0',\n 'FabricReportLibrary': '\\uF0A1',\n 'FabricReportLibraryMirrored': '\\uF0A2',\n 'FabricPublicFolder': '\\uF0A3',\n 'FabricFolderSearch': '\\uF0A4',\n 'FabricMovetoFolder': '\\uF0A5',\n 'FabricUnsyncFolder': '\\uF0A6',\n 'FabricSyncFolder': '\\uF0A7',\n 'FabricOpenFolderHorizontal': '\\uF0A8',\n 'FabricFolder': '\\uF0A9',\n 'FabricFolderFill': '\\uF0AA',\n 'FabricNewFolder': '\\uF0AB',\n 'FabricPictureLibrary': '\\uF0AC',\n 'PhotoVideoMedia': '\\uF0B1',\n 'AddFavorite': '\\uF0C8'\n }\n };\n\n registerIcons(subset, options);\n}\n"," // Your use of the content in the files referenced here is subject to the terms of the license at https://aka.ms/fluentui-assets-license\n\nimport {\n IIconOptions,\n IIconSubset,\n registerIcons\n} from '@fluentui/style-utilities';\n\nexport function initializeIcons(\n baseUrl: string = '',\n options?: IIconOptions\n): void {\n const subset: IIconSubset = {\n style: {\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontStyle: 'normal',\n fontWeight: 'normal',\n speak: 'none'\n },\n fontFace: {\n fontFamily: `\"FabricMDL2Icons-9\"`,\n src: `url('${baseUrl}fabric-icons-9-c6162b42.woff') format('woff')`\n },\n icons: {\n 'AddFavoriteFill': '\\uF0C9',\n 'BufferTimeBefore': '\\uF0CF',\n 'BufferTimeAfter': '\\uF0D0',\n 'BufferTimeBoth': '\\uF0D1',\n 'PublishContent': '\\uF0D4',\n 'ClipboardList': '\\uF0E3',\n 'ClipboardListMirrored': '\\uF0E4',\n 'CannedChat': '\\uF0F2',\n 'SkypeForBusinessLogo': '\\uF0FC',\n 'TabCenter': '\\uF100',\n 'PageCheckedin': '\\uF104',\n 'PageList': '\\uF106',\n 'ReadOutLoud': '\\uF112',\n 'CaretBottomLeftSolid8': '\\uF121',\n 'CaretBottomRightSolid8': '\\uF122',\n 'FolderHorizontal': '\\uF12B',\n 'MicrosoftStaffhubLogo': '\\uF130',\n 'GiftboxOpen': '\\uF133',\n 'StatusCircleOuter': '\\uF136',\n 'StatusCircleInner': '\\uF137',\n 'StatusCircleRing': '\\uF138',\n 'StatusTriangleOuter': '\\uF139',\n 'StatusTriangleInner': '\\uF13A',\n 'StatusTriangleExclamation': '\\uF13B',\n 'StatusCircleExclamation': '\\uF13C',\n 'StatusCircleErrorX': '\\uF13D',\n 'StatusCircleInfo': '\\uF13F',\n 'StatusCircleBlock': '\\uF140',\n 'StatusCircleBlock2': '\\uF141',\n 'StatusCircleQuestionMark': '\\uF142',\n 'StatusCircleSync': '\\uF143',\n 'Toll': '\\uF160',\n 'ExploreContentSingle': '\\uF164',\n 'CollapseContent': '\\uF165',\n 'CollapseContentSingle': '\\uF166',\n 'InfoSolid': '\\uF167',\n 'GroupList': '\\uF168',\n 'ProgressRingDots': '\\uF16A',\n 'CaloriesAdd': '\\uF172',\n 'BranchFork': '\\uF173',\n 'MuteChat': '\\uF17A',\n 'AddHome': '\\uF17B',\n 'AddWork': '\\uF17C',\n 'MobileReport': '\\uF18A',\n 'ScaleVolume': '\\uF18C',\n 'HardDriveGroup': '\\uF18F',\n 'FastMode': '\\uF19A',\n 'ToggleLeft': '\\uF19E',\n 'ToggleRight': '\\uF19F',\n 'TriangleShape': '\\uF1A7',\n 'RectangleShape': '\\uF1A9',\n 'CubeShape': '\\uF1AA',\n 'Trophy2': '\\uF1AE',\n 'BucketColor': '\\uF1B6',\n 'BucketColorFill': '\\uF1B7',\n 'Taskboard': '\\uF1C2',\n 'SingleColumn': '\\uF1D3',\n 'DoubleColumn': '\\uF1D4',\n 'TripleColumn': '\\uF1D5',\n 'ColumnLeftTwoThirds': '\\uF1D6',\n 'ColumnRightTwoThirds': '\\uF1D7',\n 'AccessLogoFill': '\\uF1DB',\n 'AnalyticsLogo': '\\uF1DE',\n 'AnalyticsQuery': '\\uF1DF',\n 'NewAnalyticsQuery': '\\uF1E0',\n 'AnalyticsReport': '\\uF1E1',\n 'WordLogo': '\\uF1E3',\n 'WordLogoFill': '\\uF1E4',\n 'ExcelLogo': '\\uF1E5',\n 'ExcelLogoFill': '\\uF1E6',\n 'OneNoteLogo': '\\uF1E7',\n 'OneNoteLogoFill': '\\uF1E8',\n 'OutlookLogo': '\\uF1E9',\n 'OutlookLogoFill': '\\uF1EA',\n 'PowerPointLogo': '\\uF1EB',\n 'PowerPointLogoFill': '\\uF1EC',\n 'PublisherLogo': '\\uF1ED',\n 'PublisherLogoFill': '\\uF1EE',\n 'ScheduleEventAction': '\\uF1EF',\n 'FlameSolid': '\\uF1F3',\n 'ServerProcesses': '\\uF1FE',\n 'Server': '\\uF201',\n 'SaveAll': '\\uF203',\n 'LinkedInLogo': '\\uF20A',\n 'Decimals': '\\uF218',\n 'SidePanelMirrored': '\\uF221',\n 'ProtectRestrict': '\\uF22A',\n 'Blog': '\\uF22B',\n 'UnknownMirrored': '\\uF22E',\n 'PublicContactCardMirrored': '\\uF230',\n 'GridViewSmall': '\\uF232',\n 'GridViewMedium': '\\uF233',\n 'GridViewLarge': '\\uF234',\n 'Step': '\\uF241',\n 'StepInsert': '\\uF242',\n 'StepShared': '\\uF243',\n 'StepSharedAdd': '\\uF244',\n 'StepSharedInsert': '\\uF245',\n 'ViewDashboard': '\\uF246',\n 'ViewList': '\\uF247'\n }\n };\n\n registerIcons(subset, options);\n}\n"," // Your use of the content in the files referenced here is subject to the terms of the license at https://aka.ms/fluentui-assets-license\n\nimport {\n IIconOptions,\n IIconSubset,\n registerIcons\n} from '@fluentui/style-utilities';\n\nexport function initializeIcons(\n baseUrl: string = '',\n options?: IIconOptions\n): void {\n const subset: IIconSubset = {\n style: {\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontStyle: 'normal',\n fontWeight: 'normal',\n speak: 'none'\n },\n fontFace: {\n fontFamily: `\"FabricMDL2Icons-10\"`,\n src: `url('${baseUrl}fabric-icons-10-c4ded8e4.woff') format('woff')`\n },\n icons: {\n 'ViewListGroup': '\\uF248',\n 'ViewListTree': '\\uF249',\n 'TriggerAuto': '\\uF24A',\n 'TriggerUser': '\\uF24B',\n 'PivotChart': '\\uF24C',\n 'StackedBarChart': '\\uF24D',\n 'StackedLineChart': '\\uF24E',\n 'BuildQueue': '\\uF24F',\n 'BuildQueueNew': '\\uF250',\n 'UserFollowed': '\\uF25C',\n 'ContactLink': '\\uF25F',\n 'Stack': '\\uF26F',\n 'Bullseye': '\\uF272',\n 'VennDiagram': '\\uF273',\n 'FiveTileGrid': '\\uF274',\n 'FocalPoint': '\\uF277',\n 'Insert': '\\uF278',\n 'RingerRemove': '\\uF279',\n 'TeamsLogoInverse': '\\uF27A',\n 'TeamsLogo': '\\uF27B',\n 'TeamsLogoFill': '\\uF27C',\n 'SkypeForBusinessLogoFill': '\\uF27D',\n 'SharepointLogo': '\\uF27E',\n 'SharepointLogoFill': '\\uF27F',\n 'DelveLogo': '\\uF280',\n 'DelveLogoFill': '\\uF281',\n 'OfficeVideoLogo': '\\uF282',\n 'OfficeVideoLogoFill': '\\uF283',\n 'ExchangeLogo': '\\uF284',\n 'ExchangeLogoFill': '\\uF285',\n 'Signin': '\\uF286',\n 'DocumentApproval': '\\uF28B',\n 'CloneToDesktop': '\\uF28C',\n 'InstallToDrive': '\\uF28D',\n 'Blur': '\\uF28E',\n 'Build': '\\uF28F',\n 'ProcessMetaTask': '\\uF290',\n 'BranchFork2': '\\uF291',\n 'BranchLocked': '\\uF292',\n 'BranchCommit': '\\uF293',\n 'BranchCompare': '\\uF294',\n 'BranchMerge': '\\uF295',\n 'BranchPullRequest': '\\uF296',\n 'BranchSearch': '\\uF297',\n 'BranchShelveset': '\\uF298',\n 'RawSource': '\\uF299',\n 'MergeDuplicate': '\\uF29A',\n 'RowsGroup': '\\uF29B',\n 'RowsChild': '\\uF29C',\n 'Deploy': '\\uF29D',\n 'Redeploy': '\\uF29E',\n 'ServerEnviroment': '\\uF29F',\n 'VisioDiagram': '\\uF2A0',\n 'HighlightMappedShapes': '\\uF2A1',\n 'TextCallout': '\\uF2A2',\n 'IconSetsFlag': '\\uF2A4',\n 'VisioLogo': '\\uF2A7',\n 'VisioLogoFill': '\\uF2A8',\n 'VisioDocument': '\\uF2A9',\n 'TimelineProgress': '\\uF2AA',\n 'TimelineDelivery': '\\uF2AB',\n 'Backlog': '\\uF2AC',\n 'TeamFavorite': '\\uF2AD',\n 'TaskGroup': '\\uF2AE',\n 'TaskGroupMirrored': '\\uF2AF',\n 'ScopeTemplate': '\\uF2B0',\n 'AssessmentGroupTemplate': '\\uF2B1',\n 'NewTeamProject': '\\uF2B2',\n 'CommentAdd': '\\uF2B3',\n 'CommentNext': '\\uF2B4',\n 'CommentPrevious': '\\uF2B5',\n 'ShopServer': '\\uF2B6',\n 'LocaleLanguage': '\\uF2B7',\n 'QueryList': '\\uF2B8',\n 'UserSync': '\\uF2B9',\n 'UserPause': '\\uF2BA',\n 'StreamingOff': '\\uF2BB',\n 'ArrowTallUpLeft': '\\uF2BD',\n 'ArrowTallUpRight': '\\uF2BE',\n 'ArrowTallDownLeft': '\\uF2BF',\n 'ArrowTallDownRight': '\\uF2C0',\n 'FieldEmpty': '\\uF2C1',\n 'FieldFilled': '\\uF2C2',\n 'FieldChanged': '\\uF2C3',\n 'FieldNotChanged': '\\uF2C4',\n 'RingerOff': '\\uF2C5',\n 'PlayResume': '\\uF2C6',\n 'BulletedList2': '\\uF2C7',\n 'BulletedList2Mirrored': '\\uF2C8',\n 'ImageCrosshair': '\\uF2C9',\n 'GitGraph': '\\uF2CA',\n 'Repo': '\\uF2CB',\n 'RepoSolid': '\\uF2CC',\n 'FolderQuery': '\\uF2CD',\n 'FolderList': '\\uF2CE',\n 'FolderListMirrored': '\\uF2CF',\n 'LocationOutline': '\\uF2D0',\n 'POISolid': '\\uF2D1',\n 'CalculatorNotEqualTo': '\\uF2D2',\n 'BoxSubtractSolid': '\\uF2D3'\n }\n };\n\n registerIcons(subset, options);\n}\n"," // Your use of the content in the files referenced here is subject to the terms of the license at https://aka.ms/fluentui-assets-license\n\nimport {\n IIconOptions,\n IIconSubset,\n registerIcons\n} from '@fluentui/style-utilities';\n\nexport function initializeIcons(\n baseUrl: string = '',\n options?: IIconOptions\n): void {\n const subset: IIconSubset = {\n style: {\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontStyle: 'normal',\n fontWeight: 'normal',\n speak: 'none'\n },\n fontFace: {\n fontFamily: `\"FabricMDL2Icons-11\"`,\n src: `url('${baseUrl}fabric-icons-11-2a8393d6.woff') format('woff')`\n },\n icons: {\n 'BoxAdditionSolid': '\\uF2D4',\n 'BoxMultiplySolid': '\\uF2D5',\n 'BoxPlaySolid': '\\uF2D6',\n 'BoxCheckmarkSolid': '\\uF2D7',\n 'CirclePauseSolid': '\\uF2D8',\n 'CirclePause': '\\uF2D9',\n 'MSNVideosSolid': '\\uF2DA',\n 'CircleStopSolid': '\\uF2DB',\n 'CircleStop': '\\uF2DC',\n 'NavigateBack': '\\uF2DD',\n 'NavigateBackMirrored': '\\uF2DE',\n 'NavigateForward': '\\uF2DF',\n 'NavigateForwardMirrored': '\\uF2E0',\n 'UnknownSolid': '\\uF2E1',\n 'UnknownMirroredSolid': '\\uF2E2',\n 'CircleAddition': '\\uF2E3',\n 'CircleAdditionSolid': '\\uF2E4',\n 'FilePDB': '\\uF2E5',\n 'FileTemplate': '\\uF2E6',\n 'FileSQL': '\\uF2E7',\n 'FileJAVA': '\\uF2E8',\n 'FileASPX': '\\uF2E9',\n 'FileCSS': '\\uF2EA',\n 'FileSass': '\\uF2EB',\n 'FileLess': '\\uF2EC',\n 'FileHTML': '\\uF2ED',\n 'JavaScriptLanguage': '\\uF2EE',\n 'CSharpLanguage': '\\uF2EF',\n 'CSharp': '\\uF2F0',\n 'VisualBasicLanguage': '\\uF2F1',\n 'VB': '\\uF2F2',\n 'CPlusPlusLanguage': '\\uF2F3',\n 'CPlusPlus': '\\uF2F4',\n 'FSharpLanguage': '\\uF2F5',\n 'FSharp': '\\uF2F6',\n 'TypeScriptLanguage': '\\uF2F7',\n 'PythonLanguage': '\\uF2F8',\n 'PY': '\\uF2F9',\n 'CoffeeScript': '\\uF2FA',\n 'MarkDownLanguage': '\\uF2FB',\n 'FullWidth': '\\uF2FE',\n 'FullWidthEdit': '\\uF2FF',\n 'Plug': '\\uF300',\n 'PlugSolid': '\\uF301',\n 'PlugConnected': '\\uF302',\n 'PlugDisconnected': '\\uF303',\n 'UnlockSolid': '\\uF304',\n 'Variable': '\\uF305',\n 'Parameter': '\\uF306',\n 'CommentUrgent': '\\uF307',\n 'Storyboard': '\\uF308',\n 'DiffInline': '\\uF309',\n 'DiffSideBySide': '\\uF30A',\n 'ImageDiff': '\\uF30B',\n 'ImagePixel': '\\uF30C',\n 'FileBug': '\\uF30D',\n 'FileCode': '\\uF30E',\n 'FileComment': '\\uF30F',\n 'BusinessHoursSign': '\\uF310',\n 'FileImage': '\\uF311',\n 'FileSymlink': '\\uF312',\n 'AutoFillTemplate': '\\uF313',\n 'WorkItem': '\\uF314',\n 'WorkItemBug': '\\uF315',\n 'LogRemove': '\\uF316',\n 'ColumnOptions': '\\uF317',\n 'Packages': '\\uF318',\n 'BuildIssue': '\\uF319',\n 'AssessmentGroup': '\\uF31A',\n 'VariableGroup': '\\uF31B',\n 'FullHistory': '\\uF31C',\n 'Wheelchair': '\\uF31F',\n 'SingleColumnEdit': '\\uF321',\n 'DoubleColumnEdit': '\\uF322',\n 'TripleColumnEdit': '\\uF323',\n 'ColumnLeftTwoThirdsEdit': '\\uF324',\n 'ColumnRightTwoThirdsEdit': '\\uF325',\n 'StreamLogo': '\\uF329',\n 'PassiveAuthentication': '\\uF32A',\n 'AlertSolid': '\\uF331',\n 'MegaphoneSolid': '\\uF332',\n 'TaskSolid': '\\uF333',\n 'ConfigurationSolid': '\\uF334',\n 'BugSolid': '\\uF335',\n 'CrownSolid': '\\uF336',\n 'Trophy2Solid': '\\uF337',\n 'QuickNoteSolid': '\\uF338',\n 'ConstructionConeSolid': '\\uF339',\n 'PageListSolid': '\\uF33A',\n 'PageListMirroredSolid': '\\uF33B',\n 'StarburstSolid': '\\uF33C',\n 'ReadingModeSolid': '\\uF33D',\n 'SadSolid': '\\uF33E',\n 'HealthSolid': '\\uF33F',\n 'ShieldSolid': '\\uF340',\n 'GiftBoxSolid': '\\uF341',\n 'ShoppingCartSolid': '\\uF342',\n 'MailSolid': '\\uF343',\n 'ChatSolid': '\\uF344',\n 'RibbonSolid': '\\uF345'\n }\n };\n\n registerIcons(subset, options);\n}\n"," // Your use of the content in the files referenced here is subject to the terms of the license at https://aka.ms/fluentui-assets-license\n\nimport {\n IIconOptions,\n IIconSubset,\n registerIcons\n} from '@fluentui/style-utilities';\n\nexport function initializeIcons(\n baseUrl: string = '',\n options?: IIconOptions\n): void {\n const subset: IIconSubset = {\n style: {\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontStyle: 'normal',\n fontWeight: 'normal',\n speak: 'none'\n },\n fontFace: {\n fontFamily: `\"FabricMDL2Icons-12\"`,\n src: `url('${baseUrl}fabric-icons-12-7e945a1e.woff') format('woff')`\n },\n icons: {\n 'FinancialSolid': '\\uF346',\n 'FinancialMirroredSolid': '\\uF347',\n 'HeadsetSolid': '\\uF348',\n 'PermissionsSolid': '\\uF349',\n 'ParkingSolid': '\\uF34A',\n 'ParkingMirroredSolid': '\\uF34B',\n 'DiamondSolid': '\\uF34C',\n 'AsteriskSolid': '\\uF34D',\n 'OfflineStorageSolid': '\\uF34E',\n 'BankSolid': '\\uF34F',\n 'DecisionSolid': '\\uF350',\n 'Parachute': '\\uF351',\n 'ParachuteSolid': '\\uF352',\n 'FiltersSolid': '\\uF353',\n 'ColorSolid': '\\uF354',\n 'ReviewSolid': '\\uF355',\n 'ReviewRequestSolid': '\\uF356',\n 'ReviewRequestMirroredSolid': '\\uF357',\n 'ReviewResponseSolid': '\\uF358',\n 'FeedbackRequestSolid': '\\uF359',\n 'FeedbackRequestMirroredSolid': '\\uF35A',\n 'FeedbackResponseSolid': '\\uF35B',\n 'WorkItemBar': '\\uF35C',\n 'WorkItemBarSolid': '\\uF35D',\n 'Separator': '\\uF35E',\n 'NavigateExternalInline': '\\uF35F',\n 'PlanView': '\\uF360',\n 'TimelineMatrixView': '\\uF361',\n 'EngineeringGroup': '\\uF362',\n 'ProjectCollection': '\\uF363',\n 'CaretBottomRightCenter8': '\\uF364',\n 'CaretBottomLeftCenter8': '\\uF365',\n 'CaretTopRightCenter8': '\\uF366',\n 'CaretTopLeftCenter8': '\\uF367',\n 'DonutChart': '\\uF368',\n 'ChevronUnfold10': '\\uF369',\n 'ChevronFold10': '\\uF36A',\n 'DoubleChevronDown8': '\\uF36B',\n 'DoubleChevronUp8': '\\uF36C',\n 'DoubleChevronLeft8': '\\uF36D',\n 'DoubleChevronRight8': '\\uF36E',\n 'ChevronDownEnd6': '\\uF36F',\n 'ChevronUpEnd6': '\\uF370',\n 'ChevronLeftEnd6': '\\uF371',\n 'ChevronRightEnd6': '\\uF372',\n 'ContextMenu': '\\uF37C',\n 'AzureAPIManagement': '\\uF37F',\n 'AzureServiceEndpoint': '\\uF380',\n 'VSTSLogo': '\\uF381',\n 'VSTSAltLogo1': '\\uF382',\n 'VSTSAltLogo2': '\\uF383',\n 'FileTypeSolution': '\\uF387',\n 'WordLogoInverse16': '\\uF390',\n 'WordLogo16': '\\uF391',\n 'WordLogoFill16': '\\uF392',\n 'PowerPointLogoInverse16': '\\uF393',\n 'PowerPointLogo16': '\\uF394',\n 'PowerPointLogoFill16': '\\uF395',\n 'ExcelLogoInverse16': '\\uF396',\n 'ExcelLogo16': '\\uF397',\n 'ExcelLogoFill16': '\\uF398',\n 'OneNoteLogoInverse16': '\\uF399',\n 'OneNoteLogo16': '\\uF39A',\n 'OneNoteLogoFill16': '\\uF39B',\n 'OutlookLogoInverse16': '\\uF39C',\n 'OutlookLogo16': '\\uF39D',\n 'OutlookLogoFill16': '\\uF39E',\n 'PublisherLogoInverse16': '\\uF39F',\n 'PublisherLogo16': '\\uF3A0',\n 'PublisherLogoFill16': '\\uF3A1',\n 'VisioLogoInverse16': '\\uF3A2',\n 'VisioLogo16': '\\uF3A3',\n 'VisioLogoFill16': '\\uF3A4',\n 'TestBeaker': '\\uF3A5',\n 'TestBeakerSolid': '\\uF3A6',\n 'TestExploreSolid': '\\uF3A7',\n 'TestAutoSolid': '\\uF3A8',\n 'TestUserSolid': '\\uF3A9',\n 'TestImpactSolid': '\\uF3AA',\n 'TestPlan': '\\uF3AB',\n 'TestStep': '\\uF3AC',\n 'TestParameter': '\\uF3AD',\n 'TestSuite': '\\uF3AE',\n 'TestCase': '\\uF3AF',\n 'Sprint': '\\uF3B0',\n 'SignOut': '\\uF3B1',\n 'TriggerApproval': '\\uF3B2',\n 'Rocket': '\\uF3B3',\n 'AzureKeyVault': '\\uF3B4',\n 'Onboarding': '\\uF3BA',\n 'Transition': '\\uF3BC',\n 'LikeSolid': '\\uF3BF',\n 'DislikeSolid': '\\uF3C0',\n 'CRMCustomerInsightsApp': '\\uF3C8',\n 'EditCreate': '\\uF3C9',\n 'PlayReverseResume': '\\uF3E4',\n 'PlayReverse': '\\uF3E5',\n 'SearchData': '\\uF3F1',\n 'UnSetColor': '\\uF3F9',\n 'DeclineCall': '\\uF405'\n }\n };\n\n registerIcons(subset, options);\n}\n"," // Your use of the content in the files referenced here is subject to the terms of the license at https://aka.ms/fluentui-assets-license\n\nimport {\n IIconOptions,\n IIconSubset,\n registerIcons\n} from '@fluentui/style-utilities';\n\nexport function initializeIcons(\n baseUrl: string = '',\n options?: IIconOptions\n): void {\n const subset: IIconSubset = {\n style: {\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontStyle: 'normal',\n fontWeight: 'normal',\n speak: 'none'\n },\n fontFace: {\n fontFamily: `\"FabricMDL2Icons-13\"`,\n src: `url('${baseUrl}fabric-icons-13-c3989a02.woff') format('woff')`\n },\n icons: {\n 'RectangularClipping': '\\uF407',\n 'TeamsLogo16': '\\uF40A',\n 'TeamsLogoFill16': '\\uF40B',\n 'Spacer': '\\uF40D',\n 'SkypeLogo16': '\\uF40E',\n 'SkypeForBusinessLogo16': '\\uF40F',\n 'SkypeForBusinessLogoFill16': '\\uF410',\n 'FilterSolid': '\\uF412',\n 'MailUndelivered': '\\uF415',\n 'MailTentative': '\\uF416',\n 'MailTentativeMirrored': '\\uF417',\n 'MailReminder': '\\uF418',\n 'ReceiptUndelivered': '\\uF419',\n 'ReceiptTentative': '\\uF41A',\n 'ReceiptTentativeMirrored': '\\uF41B',\n 'Inbox': '\\uF41C',\n 'IRMReply': '\\uF41D',\n 'IRMReplyMirrored': '\\uF41E',\n 'IRMForward': '\\uF41F',\n 'IRMForwardMirrored': '\\uF420',\n 'VoicemailIRM': '\\uF421',\n 'EventAccepted': '\\uF422',\n 'EventTentative': '\\uF423',\n 'EventTentativeMirrored': '\\uF424',\n 'EventDeclined': '\\uF425',\n 'IDBadge': '\\uF427',\n 'BackgroundColor': '\\uF42B',\n 'OfficeFormsLogoInverse16': '\\uF433',\n 'OfficeFormsLogo': '\\uF434',\n 'OfficeFormsLogoFill': '\\uF435',\n 'OfficeFormsLogo16': '\\uF436',\n 'OfficeFormsLogoFill16': '\\uF437',\n 'OfficeFormsLogoInverse24': '\\uF43A',\n 'OfficeFormsLogo24': '\\uF43B',\n 'OfficeFormsLogoFill24': '\\uF43C',\n 'PageLock': '\\uF43F',\n 'NotExecuted': '\\uF440',\n 'NotImpactedSolid': '\\uF441',\n 'FieldReadOnly': '\\uF442',\n 'FieldRequired': '\\uF443',\n 'BacklogBoard': '\\uF444',\n 'ExternalBuild': '\\uF445',\n 'ExternalTFVC': '\\uF446',\n 'ExternalXAML': '\\uF447',\n 'IssueSolid': '\\uF448',\n 'DefectSolid': '\\uF449',\n 'LadybugSolid': '\\uF44A',\n 'NugetLogo': '\\uF44C',\n 'TFVCLogo': '\\uF44D',\n 'ProjectLogo32': '\\uF47E',\n 'ProjectLogoFill32': '\\uF47F',\n 'ProjectLogo16': '\\uF480',\n 'ProjectLogoFill16': '\\uF481',\n 'SwayLogo32': '\\uF482',\n 'SwayLogoFill32': '\\uF483',\n 'SwayLogo16': '\\uF484',\n 'SwayLogoFill16': '\\uF485',\n 'ClassNotebookLogo32': '\\uF486',\n 'ClassNotebookLogoFill32': '\\uF487',\n 'ClassNotebookLogo16': '\\uF488',\n 'ClassNotebookLogoFill16': '\\uF489',\n 'ClassNotebookLogoInverse32': '\\uF48A',\n 'ClassNotebookLogoInverse16': '\\uF48B',\n 'StaffNotebookLogo32': '\\uF48C',\n 'StaffNotebookLogoFill32': '\\uF48D',\n 'StaffNotebookLogo16': '\\uF48E',\n 'StaffNotebookLogoFill16': '\\uF48F',\n 'StaffNotebookLogoInverted32': '\\uF490',\n 'StaffNotebookLogoInverted16': '\\uF491',\n 'KaizalaLogo': '\\uF492',\n 'TaskLogo': '\\uF493',\n 'ProtectionCenterLogo32': '\\uF494',\n 'GallatinLogo': '\\uF496',\n 'Globe2': '\\uF49A',\n 'Guitar': '\\uF49B',\n 'Breakfast': '\\uF49C',\n 'Brunch': '\\uF49D',\n 'BeerMug': '\\uF49E',\n 'Vacation': '\\uF49F',\n 'Teeth': '\\uF4A0',\n 'Taxi': '\\uF4A1',\n 'Chopsticks': '\\uF4A2',\n 'SyncOccurence': '\\uF4A3',\n 'UnsyncOccurence': '\\uF4A4',\n 'GIF': '\\uF4A9',\n 'PrimaryCalendar': '\\uF4AE',\n 'SearchCalendar': '\\uF4AF',\n 'VideoOff': '\\uF4B0',\n 'MicrosoftFlowLogo': '\\uF4B1',\n 'BusinessCenterLogo': '\\uF4B2',\n 'ToDoLogoBottom': '\\uF4B3',\n 'ToDoLogoTop': '\\uF4B4',\n 'EditSolid12': '\\uF4B5',\n 'EditSolidMirrored12': '\\uF4B6',\n 'UneditableSolid12': '\\uF4B7',\n 'UneditableSolidMirrored12': '\\uF4B8',\n 'UneditableMirrored': '\\uF4B9',\n 'AdminALogo32': '\\uF4BA',\n 'AdminALogoFill32': '\\uF4BB',\n 'ToDoLogoInverse': '\\uF4BC'\n }\n };\n\n registerIcons(subset, options);\n}\n"," // Your use of the content in the files referenced here is subject to the terms of the license at https://aka.ms/fluentui-assets-license\n\nimport {\n IIconOptions,\n IIconSubset,\n registerIcons\n} from '@fluentui/style-utilities';\n\nexport function initializeIcons(\n baseUrl: string = '',\n options?: IIconOptions\n): void {\n const subset: IIconSubset = {\n style: {\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontStyle: 'normal',\n fontWeight: 'normal',\n speak: 'none'\n },\n fontFace: {\n fontFamily: `\"FabricMDL2Icons-14\"`,\n src: `url('${baseUrl}fabric-icons-14-5cf58db8.woff') format('woff')`\n },\n icons: {\n 'Snooze': '\\uF4BD',\n 'WaffleOffice365': '\\uF4E0',\n 'ImageSearch': '\\uF4E8',\n 'NewsSearch': '\\uF4E9',\n 'VideoSearch': '\\uF4EA',\n 'R': '\\uF4EB',\n 'FontColorA': '\\uF4EC',\n 'FontColorSwatch': '\\uF4ED',\n 'LightWeight': '\\uF4EE',\n 'NormalWeight': '\\uF4EF',\n 'SemiboldWeight': '\\uF4F0',\n 'GroupObject': '\\uF4F1',\n 'UngroupObject': '\\uF4F2',\n 'AlignHorizontalLeft': '\\uF4F3',\n 'AlignHorizontalCenter': '\\uF4F4',\n 'AlignHorizontalRight': '\\uF4F5',\n 'AlignVerticalTop': '\\uF4F6',\n 'AlignVerticalCenter': '\\uF4F7',\n 'AlignVerticalBottom': '\\uF4F8',\n 'HorizontalDistributeCenter': '\\uF4F9',\n 'VerticalDistributeCenter': '\\uF4FA',\n 'Ellipse': '\\uF4FB',\n 'Line': '\\uF4FC',\n 'Octagon': '\\uF4FD',\n 'Hexagon': '\\uF4FE',\n 'Pentagon': '\\uF4FF',\n 'RightTriangle': '\\uF500',\n 'HalfCircle': '\\uF501',\n 'QuarterCircle': '\\uF502',\n 'ThreeQuarterCircle': '\\uF503',\n '6PointStar': '\\uF504',\n '12PointStar': '\\uF505',\n 'ArrangeBringToFront': '\\uF506',\n 'ArrangeSendToBack': '\\uF507',\n 'ArrangeSendBackward': '\\uF508',\n 'ArrangeBringForward': '\\uF509',\n 'BorderDash': '\\uF50A',\n 'BorderDot': '\\uF50B',\n 'LineStyle': '\\uF50C',\n 'LineThickness': '\\uF50D',\n 'WindowEdit': '\\uF50E',\n 'HintText': '\\uF50F',\n 'MediaAdd': '\\uF510',\n 'AnchorLock': '\\uF511',\n 'AutoHeight': '\\uF512',\n 'ChartSeries': '\\uF513',\n 'ChartXAngle': '\\uF514',\n 'ChartYAngle': '\\uF515',\n 'Combobox': '\\uF516',\n 'LineSpacing': '\\uF517',\n 'Padding': '\\uF518',\n 'PaddingTop': '\\uF519',\n 'PaddingBottom': '\\uF51A',\n 'PaddingLeft': '\\uF51B',\n 'PaddingRight': '\\uF51C',\n 'NavigationFlipper': '\\uF51D',\n 'AlignJustify': '\\uF51E',\n 'TextOverflow': '\\uF51F',\n 'VisualsFolder': '\\uF520',\n 'VisualsStore': '\\uF521',\n 'PictureCenter': '\\uF522',\n 'PictureFill': '\\uF523',\n 'PicturePosition': '\\uF524',\n 'PictureStretch': '\\uF525',\n 'PictureTile': '\\uF526',\n 'Slider': '\\uF527',\n 'SliderHandleSize': '\\uF528',\n 'DefaultRatio': '\\uF529',\n 'NumberSequence': '\\uF52A',\n 'GUID': '\\uF52B',\n 'ReportAdd': '\\uF52C',\n 'DashboardAdd': '\\uF52D',\n 'MapPinSolid': '\\uF52E',\n 'WebPublish': '\\uF52F',\n 'PieSingleSolid': '\\uF530',\n 'BlockedSolid': '\\uF531',\n 'DrillDown': '\\uF532',\n 'DrillDownSolid': '\\uF533',\n 'DrillExpand': '\\uF534',\n 'DrillShow': '\\uF535',\n 'SpecialEvent': '\\uF536',\n 'OneDriveFolder16': '\\uF53B',\n 'FunctionalManagerDashboard': '\\uF542',\n 'BIDashboard': '\\uF543',\n 'CodeEdit': '\\uF544',\n 'RenewalCurrent': '\\uF545',\n 'RenewalFuture': '\\uF546',\n 'SplitObject': '\\uF547',\n 'BulkUpload': '\\uF548',\n 'DownloadDocument': '\\uF549',\n 'GreetingCard': '\\uF54B',\n 'Flower': '\\uF54E',\n 'WaitlistConfirm': '\\uF550',\n 'WaitlistConfirmMirrored': '\\uF551',\n 'LaptopSecure': '\\uF552',\n 'DragObject': '\\uF553',\n 'EntryView': '\\uF554',\n 'EntryDecline': '\\uF555',\n 'ContactCardSettings': '\\uF556',\n 'ContactCardSettingsMirrored': '\\uF557'\n }\n };\n\n registerIcons(subset, options);\n}\n"," // Your use of the content in the files referenced here is subject to the terms of the license at https://aka.ms/fluentui-assets-license\n\nimport {\n IIconOptions,\n IIconSubset,\n registerIcons\n} from '@fluentui/style-utilities';\n\nexport function initializeIcons(\n baseUrl: string = '',\n options?: IIconOptions\n): void {\n const subset: IIconSubset = {\n style: {\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontStyle: 'normal',\n fontWeight: 'normal',\n speak: 'none'\n },\n fontFace: {\n fontFamily: `\"FabricMDL2Icons-15\"`,\n src: `url('${baseUrl}fabric-icons-15-3807251b.woff') format('woff')`\n },\n icons: {\n 'CalendarSettings': '\\uF558',\n 'CalendarSettingsMirrored': '\\uF559',\n 'HardDriveLock': '\\uF55A',\n 'HardDriveUnlock': '\\uF55B',\n 'AccountManagement': '\\uF55C',\n 'ReportWarning': '\\uF569',\n 'TransitionPop': '\\uF5B2',\n 'TransitionPush': '\\uF5B3',\n 'TransitionEffect': '\\uF5B4',\n 'LookupEntities': '\\uF5B5',\n 'ExploreData': '\\uF5B6',\n 'AddBookmark': '\\uF5B7',\n 'SearchBookmark': '\\uF5B8',\n 'DrillThrough': '\\uF5B9',\n 'MasterDatabase': '\\uF5BA',\n 'CertifiedDatabase': '\\uF5BB',\n 'MaximumValue': '\\uF5BC',\n 'MinimumValue': '\\uF5BD',\n 'VisualStudioIDELogo32': '\\uF5D0',\n 'PasteAsText': '\\uF5D5',\n 'PasteAsCode': '\\uF5D6',\n 'BrowserTab': '\\uF5D7',\n 'BrowserTabScreenshot': '\\uF5D8',\n 'DesktopScreenshot': '\\uF5D9',\n 'FileYML': '\\uF5DA',\n 'ClipboardSolid': '\\uF5DC',\n 'FabricUserFolder': '\\uF5E5',\n 'FabricNetworkFolder': '\\uF5E6',\n 'BullseyeTarget': '\\uF5F0',\n 'AnalyticsView': '\\uF5F1',\n 'Video360Generic': '\\uF609',\n 'Untag': '\\uF60B',\n 'Leave': '\\uF627',\n 'Trending12': '\\uF62D',\n 'Blocked12': '\\uF62E',\n 'Warning12': '\\uF62F',\n 'CheckedOutByOther12': '\\uF630',\n 'CheckedOutByYou12': '\\uF631',\n 'CircleShapeSolid': '\\uF63C',\n 'SquareShapeSolid': '\\uF63D',\n 'TriangleShapeSolid': '\\uF63E',\n 'DropShapeSolid': '\\uF63F',\n 'RectangleShapeSolid': '\\uF640',\n 'ZoomToFit': '\\uF649',\n 'InsertColumnsLeft': '\\uF64A',\n 'InsertColumnsRight': '\\uF64B',\n 'InsertRowsAbove': '\\uF64C',\n 'InsertRowsBelow': '\\uF64D',\n 'DeleteColumns': '\\uF64E',\n 'DeleteRows': '\\uF64F',\n 'DeleteRowsMirrored': '\\uF650',\n 'DeleteTable': '\\uF651',\n 'AccountBrowser': '\\uF652',\n 'VersionControlPush': '\\uF664',\n 'StackedColumnChart2': '\\uF666',\n 'TripleColumnWide': '\\uF66E',\n 'QuadColumn': '\\uF66F',\n 'WhiteBoardApp16': '\\uF673',\n 'WhiteBoardApp32': '\\uF674',\n 'PinnedSolid': '\\uF676',\n 'InsertSignatureLine': '\\uF677',\n 'ArrangeByFrom': '\\uF678',\n 'Phishing': '\\uF679',\n 'CreateMailRule': '\\uF67A',\n 'PublishCourse': '\\uF699',\n 'DictionaryRemove': '\\uF69A',\n 'UserRemove': '\\uF69B',\n 'UserEvent': '\\uF69C',\n 'Encryption': '\\uF69D',\n 'PasswordField': '\\uF6AA',\n 'OpenInNewTab': '\\uF6AB',\n 'Hide3': '\\uF6AC',\n 'VerifiedBrandSolid': '\\uF6AD',\n 'MarkAsProtected': '\\uF6AE',\n 'AuthenticatorApp': '\\uF6B1',\n 'WebTemplate': '\\uF6B2',\n 'DefenderTVM': '\\uF6B3',\n 'MedalSolid': '\\uF6B9',\n 'D365TalentLearn': '\\uF6BB',\n 'D365TalentInsight': '\\uF6BC',\n 'D365TalentHRCore': '\\uF6BD',\n 'BacklogList': '\\uF6BF',\n 'ButtonControl': '\\uF6C0',\n 'TableGroup': '\\uF6D9',\n 'MountainClimbing': '\\uF6DB',\n 'TagUnknown': '\\uF6DF',\n 'TagUnknownMirror': '\\uF6E0',\n 'TagUnknown12': '\\uF6E1',\n 'TagUnknown12Mirror': '\\uF6E2',\n 'Link12': '\\uF6E3',\n 'Presentation': '\\uF6E4',\n 'Presentation12': '\\uF6E5',\n 'Lock12': '\\uF6E6',\n 'BuildDefinition': '\\uF6E9',\n 'ReleaseDefinition': '\\uF6EA',\n 'SaveTemplate': '\\uF6EC',\n 'UserGauge': '\\uF6ED',\n 'BlockedSiteSolid12': '\\uF70A',\n 'TagSolid': '\\uF70E',\n 'OfficeChat': '\\uF70F'\n }\n };\n\n registerIcons(subset, options);\n}\n"," // Your use of the content in the files referenced here is subject to the terms of the license at https://aka.ms/fluentui-assets-license\n\nimport {\n IIconOptions,\n IIconSubset,\n registerIcons\n} from '@fluentui/style-utilities';\n\nexport function initializeIcons(\n baseUrl: string = '',\n options?: IIconOptions\n): void {\n const subset: IIconSubset = {\n style: {\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontStyle: 'normal',\n fontWeight: 'normal',\n speak: 'none'\n },\n fontFace: {\n fontFamily: `\"FabricMDL2Icons-16\"`,\n src: `url('${baseUrl}fabric-icons-16-9cf93f3b.woff') format('woff')`\n },\n icons: {\n 'OfficeChatSolid': '\\uF710',\n 'MailSchedule': '\\uF72E',\n 'WarningSolid': '\\uF736',\n 'Blocked2Solid': '\\uF737',\n 'SkypeCircleArrow': '\\uF747',\n 'SkypeArrow': '\\uF748',\n 'SyncStatus': '\\uF751',\n 'SyncStatusSolid': '\\uF752',\n 'ProjectDocument': '\\uF759',\n 'ToDoLogoOutline': '\\uF75B',\n 'VisioOnlineLogoFill32': '\\uF75F',\n 'VisioOnlineLogo32': '\\uF760',\n 'VisioOnlineLogoCloud32': '\\uF761',\n 'VisioDiagramSync': '\\uF762',\n 'Event12': '\\uF763',\n 'EventDateMissed12': '\\uF764',\n 'UserOptional': '\\uF767',\n 'ResponsesMenu': '\\uF768',\n 'DoubleDownArrow': '\\uF769',\n 'DistributeDown': '\\uF76A',\n 'BookmarkReport': '\\uF76B',\n 'FilterSettings': '\\uF76C',\n 'GripperDotsVertical': '\\uF772',\n 'MailAttached': '\\uF774',\n 'AddIn': '\\uF775',\n 'LinkedDatabase': '\\uF779',\n 'TableLink': '\\uF77A',\n 'PromotedDatabase': '\\uF77D',\n 'BarChartVerticalFilter': '\\uF77E',\n 'BarChartVerticalFilterSolid': '\\uF77F',\n 'MicOff2': '\\uF781',\n 'MicrosoftTranslatorLogo': '\\uF782',\n 'ShowTimeAs': '\\uF787',\n 'FileRequest': '\\uF789',\n 'WorkItemAlert': '\\uF78F',\n 'PowerBILogo16': '\\uF790',\n 'PowerBILogoBackplate16': '\\uF791',\n 'BulletedListText': '\\uF792',\n 'BulletedListBullet': '\\uF793',\n 'BulletedListTextMirrored': '\\uF794',\n 'BulletedListBulletMirrored': '\\uF795',\n 'NumberedListText': '\\uF796',\n 'NumberedListNumber': '\\uF797',\n 'NumberedListTextMirrored': '\\uF798',\n 'NumberedListNumberMirrored': '\\uF799',\n 'RemoveLinkChain': '\\uF79A',\n 'RemoveLinkX': '\\uF79B',\n 'FabricTextHighlight': '\\uF79C',\n 'ClearFormattingA': '\\uF79D',\n 'ClearFormattingEraser': '\\uF79E',\n 'Photo2Fill': '\\uF79F',\n 'IncreaseIndentText': '\\uF7A0',\n 'IncreaseIndentArrow': '\\uF7A1',\n 'DecreaseIndentText': '\\uF7A2',\n 'DecreaseIndentArrow': '\\uF7A3',\n 'IncreaseIndentTextMirrored': '\\uF7A4',\n 'IncreaseIndentArrowMirrored': '\\uF7A5',\n 'DecreaseIndentTextMirrored': '\\uF7A6',\n 'DecreaseIndentArrowMirrored': '\\uF7A7',\n 'CheckListText': '\\uF7A8',\n 'CheckListCheck': '\\uF7A9',\n 'CheckListTextMirrored': '\\uF7AA',\n 'CheckListCheckMirrored': '\\uF7AB',\n 'NumberSymbol': '\\uF7AC',\n 'Coupon': '\\uF7BC',\n 'VerifiedBrand': '\\uF7BD',\n 'ReleaseGate': '\\uF7BE',\n 'ReleaseGateCheck': '\\uF7BF',\n 'ReleaseGateError': '\\uF7C0',\n 'M365InvoicingLogo': '\\uF7C1',\n 'RemoveFromShoppingList': '\\uF7D5',\n 'ShieldAlert': '\\uF7D7',\n 'FabricTextHighlightComposite': '\\uF7DA',\n 'Dataflows': '\\uF7DD',\n 'GenericScanFilled': '\\uF7DE',\n 'DiagnosticDataBarTooltip': '\\uF7DF',\n 'SaveToMobile': '\\uF7E0',\n 'Orientation2': '\\uF7E1',\n 'ScreenCast': '\\uF7E2',\n 'ShowGrid': '\\uF7E3',\n 'SnapToGrid': '\\uF7E4',\n 'ContactList': '\\uF7E5',\n 'NewMail': '\\uF7EA',\n 'EyeShadow': '\\uF7EB',\n 'FabricFolderConfirm': '\\uF7FF',\n 'InformationBarriers': '\\uF803',\n 'CommentActive': '\\uF804',\n 'ColumnVerticalSectionEdit': '\\uF806',\n 'WavingHand': '\\uF807',\n 'ShakeDevice': '\\uF80A',\n 'SmartGlassRemote': '\\uF80B',\n 'Rotate90Clockwise': '\\uF80D',\n 'Rotate90CounterClockwise': '\\uF80E',\n 'CampaignTemplate': '\\uF811',\n 'ChartTemplate': '\\uF812',\n 'PageListFilter': '\\uF813',\n 'SecondaryNav': '\\uF814',\n 'ColumnVerticalSection': '\\uF81E',\n 'SkypeCircleSlash': '\\uF825',\n 'SkypeSlash': '\\uF826'\n }\n };\n\n registerIcons(subset, options);\n}\n"," // Your use of the content in the files referenced here is subject to the terms of the license at https://aka.ms/fluentui-assets-license\n\nimport {\n IIconOptions,\n IIconSubset,\n registerIcons\n} from '@fluentui/style-utilities';\n\nexport function initializeIcons(\n baseUrl: string = '',\n options?: IIconOptions\n): void {\n const subset: IIconSubset = {\n style: {\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontStyle: 'normal',\n fontWeight: 'normal',\n speak: 'none'\n },\n fontFace: {\n fontFamily: `\"FabricMDL2Icons-17\"`,\n src: `url('${baseUrl}fabric-icons-17-0c4ed701.woff') format('woff')`\n },\n icons: {\n 'CustomizeToolbar': '\\uF828',\n 'DuplicateRow': '\\uF82A',\n 'RemoveFromTrash': '\\uF82B',\n 'MailOptions': '\\uF82C',\n 'Childof': '\\uF82D',\n 'Footer': '\\uF82E',\n 'Header': '\\uF82F',\n 'BarChartVerticalFill': '\\uF830',\n 'StackedColumnChart2Fill': '\\uF831',\n 'PlainText': '\\uF834',\n 'AccessibiltyChecker': '\\uF835',\n 'DatabaseSync': '\\uF842',\n 'ReservationOrders': '\\uF845',\n 'TabOneColumn': '\\uF849',\n 'TabTwoColumn': '\\uF84A',\n 'TabThreeColumn': '\\uF84B',\n 'BulletedTreeList': '\\uF84C',\n 'MicrosoftTranslatorLogoGreen': '\\uF852',\n 'MicrosoftTranslatorLogoBlue': '\\uF853',\n 'InternalInvestigation': '\\uF854',\n 'AddReaction': '\\uF85D',\n 'ContactHeart': '\\uF862',\n 'VisuallyImpaired': '\\uF866',\n 'EventToDoLogo': '\\uF869',\n 'Variable2': '\\uF86D',\n 'ModelingView': '\\uF871',\n 'DisconnectVirtualMachine': '\\uF873',\n 'ReportLock': '\\uF875',\n 'Uneditable2': '\\uF876',\n 'Uneditable2Mirrored': '\\uF877',\n 'BarChartVerticalEdit': '\\uF89D',\n 'GlobalNavButtonActive': '\\uF89F',\n 'PollResults': '\\uF8A0',\n 'Rerun': '\\uF8A1',\n 'QandA': '\\uF8A2',\n 'QandAMirror': '\\uF8A3',\n 'BookAnswers': '\\uF8A4',\n 'AlertSettings': '\\uF8B6',\n 'TrimStart': '\\uF8BB',\n 'TrimEnd': '\\uF8BC',\n 'TableComputed': '\\uF8F5',\n 'DecreaseIndentLegacy': '\\uE290',\n 'IncreaseIndentLegacy': '\\uE291',\n 'SizeLegacy': '\\uE2B2'\n }\n };\n\n registerIcons(subset, options);\n}\n","import { registerIconAlias } from '@fluentui/style-utilities';\n\nexport const registerIconAliases = () => {\n registerIconAlias('trash', 'delete');\n registerIconAlias('onedrive', 'onedrivelogo');\n registerIconAlias('alertsolid12', 'eventdatemissed12');\n registerIconAlias('sixpointstar', '6pointstar');\n registerIconAlias('twelvepointstar', '12pointstar');\n registerIconAlias('toggleon', 'toggleleft');\n registerIconAlias('toggleoff', 'toggleright');\n};\n\nexport default registerIconAliases;\n","import * as React from 'react';\nimport { classNamesFunction } from '../../Utilities';\nimport { IKeytipProps, IKeytipStyleProps, IKeytipStyles } from './Keytip.types';\n\n/**\n * A component corresponding the content rendered inside the callout of the keytip component.\n * {@docCategory Keytips}\n */\nexport class KeytipContentBase extends React.Component {\n public render(): JSX.Element {\n const { content, styles, theme, disabled, visible } = this.props;\n\n const getClassNames = classNamesFunction();\n const classNames = getClassNames(styles!, {\n theme: theme!,\n disabled,\n visible,\n });\n\n return (\n
    \n {content}\n
    \n );\n }\n}\n","import { IKeytipStyleProps, IKeytipStyles } from './Keytip.types';\nimport { ICalloutContentStyleProps, ICalloutContentStyles } from '../../Callout';\nimport { IStyleFunction, Point } from '../../Utilities';\nimport { mergeStyleSets, HighContrastSelector } from '../../Styling';\n\nexport const getStyles = (props: IKeytipStyleProps): IKeytipStyles => {\n const { theme, disabled, visible } = props;\n return {\n container: [\n {\n backgroundColor: theme.palette.neutralDark,\n },\n disabled && {\n opacity: 0.5,\n selectors: {\n [HighContrastSelector]: {\n color: 'GrayText',\n opacity: 1,\n },\n },\n },\n !visible && {\n visibility: 'hidden',\n },\n ],\n root: [\n theme.fonts.medium,\n {\n textAlign: 'center',\n paddingLeft: '3px',\n paddingRight: '3px',\n backgroundColor: theme.palette.neutralDark,\n color: theme.palette.neutralLight,\n minWidth: '11px',\n lineHeight: '17px',\n height: '17px',\n display: 'inline-block',\n },\n disabled && {\n color: theme.palette.neutralTertiaryAlt,\n },\n ],\n };\n};\n\nexport const getCalloutStyles = (props: ICalloutContentStyleProps): ICalloutContentStyles => {\n return {\n container: [],\n root: [\n {\n border: 'none',\n boxShadow: 'none',\n },\n ],\n beak: [],\n beakCurtain: [],\n calloutMain: [\n {\n backgroundColor: 'transparent',\n },\n ],\n };\n};\n\nexport const getCalloutOffsetStyles = (\n offset: Point,\n): IStyleFunction => {\n return (props: ICalloutContentStyleProps): ICalloutContentStyles => {\n return mergeStyleSets(getCalloutStyles(props), {\n root: [\n {\n // eslint-disable-next-line deprecation/deprecation\n marginLeft: offset.left || offset.x,\n // eslint-disable-next-line deprecation/deprecation\n marginTop: offset.top || offset.y,\n },\n ],\n });\n };\n};\n","import * as React from 'react';\nimport { styled } from '../../Utilities';\nimport { IKeytipProps, IKeytipStyleProps, IKeytipStyles } from './Keytip.types';\nimport { KeytipContentBase } from './KeytipContent.base';\nimport { getStyles } from './Keytip.styles';\n\nexport const KeytipContent: React.FunctionComponent = styled<\n IKeytipProps,\n IKeytipStyleProps,\n IKeytipStyles\n>(KeytipContentBase, getStyles, undefined, {\n scope: 'KeytipContent',\n});\n","import * as React from 'react';\nimport { mergeOverflows, ktpTargetFromSequences } from '../../utilities/keytips/KeytipUtils';\nimport { Callout } from '../../Callout';\nimport { DirectionalHint } from '../../ContextualMenu';\nimport { IKeytipProps } from './Keytip.types';\nimport { KeytipContent } from './KeytipContent';\nimport { getCalloutStyles, getCalloutOffsetStyles } from './Keytip.styles';\n\n/**\n * A callout corresponding to another Fabric component to describe a key sequence that will activate that component\n */\nexport class Keytip extends React.Component {\n public render(): JSX.Element {\n const { keySequences, offset, overflowSetSequence } = this.props;\n let { calloutProps } = this.props;\n\n let keytipTarget: string;\n // Take into consideration the overflow sequence\n if (overflowSetSequence) {\n keytipTarget = ktpTargetFromSequences(mergeOverflows(keySequences, overflowSetSequence));\n } else {\n keytipTarget = ktpTargetFromSequences(keySequences);\n }\n\n if (offset) {\n // Set callout to top-left corner, will be further positioned in\n // getCalloutOffsetStyles\n calloutProps = {\n ...calloutProps,\n coverTarget: true,\n directionalHint: DirectionalHint.topLeftEdge,\n };\n }\n\n if (!calloutProps || calloutProps.directionalHint === undefined) {\n // Default callout directional hint to BottomCenter\n calloutProps = {\n ...calloutProps,\n directionalHint: DirectionalHint.bottomCenter,\n };\n }\n\n return (\n \n \n \n );\n }\n}\n","import * as React from 'react';\nimport { KeytipDataOptions } from './KeytipData.types';\nimport { DATAKTP_TARGET, DATAKTP_EXECUTE_TARGET, DATAKTP_ARIA_TARGET } from '../../utilities/keytips/index';\nimport { useKeytipData } from './useKeytipData';\n\n/**\n * Hook that creates a ref which is used for passing to Keytip target element.\n * The ref will handle setting the attributes needed for Keytip to work.\n */\nexport function useKeytipRef(\n options: KeytipDataOptions,\n): React.Ref {\n const { keytipId, ariaDescribedBy } = useKeytipData(options);\n\n const contentRef: React.Ref = React.useCallback(\n (contentElement: TElement | null): void => {\n if (!contentElement) {\n return;\n }\n\n const targetElement = findFirstElement(contentElement, DATAKTP_TARGET) || contentElement;\n const executeElement = findFirstElement(contentElement, DATAKTP_EXECUTE_TARGET) || targetElement;\n const ariaElement = findFirstElement(contentElement, DATAKTP_ARIA_TARGET) || executeElement;\n\n setAttribute(targetElement, DATAKTP_TARGET, keytipId);\n setAttribute(executeElement, DATAKTP_EXECUTE_TARGET, keytipId);\n setAttribute(ariaElement, 'aria-describedby', ariaDescribedBy, true);\n },\n [keytipId, ariaDescribedBy],\n );\n\n return contentRef;\n}\n\nexport function setAttribute(\n element: HTMLElement | null,\n attributeName: string,\n attributeValue: string | undefined,\n append: boolean = false,\n): void {\n if (element && attributeValue) {\n let value = attributeValue;\n if (append) {\n const currentValue = element.getAttribute(attributeName);\n if (currentValue && currentValue.indexOf(attributeValue) === -1) {\n value = `${currentValue} ${attributeValue}`;\n }\n }\n\n element.setAttribute(attributeName, value);\n }\n}\n\nfunction findFirstElement(rootElement: HTMLElement, dataAttribute: string): HTMLElement | null {\n return rootElement.querySelector(`[${dataAttribute}]`);\n}\n","import { ILayerStyles, ILayerStyleProps } from '../../Layer';\nimport { IKeytipLayerStyleProps, IKeytipLayerStyles } from './KeytipLayer.types';\nimport { ZIndexes } from '../../Styling';\n\nexport const getLayerStyles = (props: ILayerStyleProps): ILayerStyles => {\n return {\n root: [\n {\n // Prioritize the Keytips above all other Layers\n zIndex: ZIndexes.KeytipLayer,\n },\n ],\n };\n};\n\nexport const getStyles = (props: IKeytipLayerStyleProps): IKeytipLayerStyles => {\n return {\n innerContent: [\n {\n position: 'absolute',\n width: 0,\n height: 0,\n margin: 0,\n padding: 0,\n border: 0,\n overflow: 'hidden',\n visibility: 'hidden',\n },\n ],\n };\n};\n","import * as React from 'react';\nimport { ActionButton } from '../../Button';\nimport { buttonStyles } from './Nav.styles';\nimport { classNamesFunction, divProperties, getNativeProps, getWindow, initializeComponentRef } from '../../Utilities';\nimport { FocusZone, FocusZoneDirection, IFocusZone } from '../../FocusZone';\nimport { Icon } from '../../Icon';\nimport {\n INav,\n INavLink,\n INavLinkGroup,\n INavProps,\n INavStyleProps,\n INavStyles,\n IRenderGroupHeaderProps,\n} from './Nav.types';\nimport { composeComponentAs, composeRenderFunction } from '@fluentui/utilities';\n\n// The number pixels per indentation level for Nav links.\nconst _indentationSize = 14;\n\n// The number of pixels of left margin\nconst _baseIndent = 3;\n\n// global var used in _isLinkSelectedKey\nlet _urlResolver: HTMLAnchorElement | undefined;\n\nexport function isRelativeUrl(url: string): boolean {\n // A URL is relative if it has no protocol.\n return !!url && !/^[a-z0-9+-.]+:\\/\\//i.test(url);\n}\n\nconst getClassNames = classNamesFunction();\n\nexport interface INavState {\n isGroupCollapsed: { [key: string]: boolean };\n isLinkExpandStateChanged?: boolean;\n selectedKey?: string;\n}\n\nexport class NavBase extends React.Component implements INav {\n public static defaultProps: INavProps = {\n groups: null,\n };\n\n private _focusZone = React.createRef();\n constructor(props: INavProps) {\n super(props);\n initializeComponentRef(this);\n this.state = {\n isGroupCollapsed: {},\n // TODO: consider removing\n // eslint-disable-next-line react/no-unused-state\n isLinkExpandStateChanged: false,\n selectedKey: props.initialSelectedKey || props.selectedKey,\n };\n }\n\n public render(): JSX.Element | null {\n const { styles, groups, className, isOnTop, theme } = this.props;\n\n if (!groups) {\n return null;\n }\n\n const groupElements: React.ReactElement<{}>[] = groups.map(this._renderGroup);\n\n const classNames = getClassNames(styles!, { theme: theme!, className, isOnTop, groups });\n\n return (\n \n \n \n );\n }\n\n public get selectedKey(): string | undefined {\n return this.state.selectedKey;\n }\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 public focus(forceIntoFirstElement: boolean = false): boolean {\n if (this._focusZone && this._focusZone.current) {\n return this._focusZone.current.focus(forceIntoFirstElement);\n }\n return false;\n }\n\n private _onRenderLink = (link: INavLink): JSX.Element => {\n const { styles, groups, theme } = this.props;\n const classNames = getClassNames(styles!, { theme: theme!, groups });\n return
    {link.name}
    ;\n };\n\n private _renderNavLink(link: INavLink, linkIndex: number, nestingLevel: number): JSX.Element {\n const { styles, groups, theme } = this.props;\n const isLinkWithIcon = link.icon || link.iconProps;\n const isSelectedLink = this._isLinkSelected(link);\n const { ariaCurrent = 'page' } = link;\n const classNames = getClassNames(styles!, {\n theme: theme!,\n isSelected: isSelectedLink,\n isDisabled: link.disabled,\n isButtonEntry: link.onClick && !link.forceAnchor,\n leftPadding: _indentationSize * nestingLevel + _baseIndent + (isLinkWithIcon ? 0 : 24),\n groups,\n });\n\n // Prevent hijacking of the parent window if link.target is defined\n const rel = link.url && link.target && !isRelativeUrl(link.url) ? 'noopener noreferrer' : undefined;\n\n const LinkAs = this.props.linkAs ? composeComponentAs(this.props.linkAs, ActionButton) : ActionButton;\n const onRenderLink = this.props.onRenderLink\n ? composeRenderFunction(this.props.onRenderLink, this._onRenderLink)\n : this._onRenderLink;\n\n return (\n \n {onRenderLink(link)}\n \n );\n }\n\n private _renderCompositeLink(link: INavLink, linkIndex: number, nestingLevel: number): React.ReactElement<{}> {\n const divProps: React.HTMLProps = { ...getNativeProps(link, divProperties, ['onClick']) };\n // eslint-disable-next-line deprecation/deprecation\n const { expandButtonAriaLabel, styles, groups, theme } = this.props;\n const classNames = getClassNames(styles!, {\n theme: theme!,\n isExpanded: !!link.isExpanded,\n isSelected: this._isLinkSelected(link),\n isLink: true,\n isDisabled: link.disabled,\n position: _indentationSize * nestingLevel + 1,\n groups,\n });\n\n let finalExpandBtnAriaLabel = '';\n if (link.links && link.links.length > 0) {\n if (link.collapseAriaLabel || link.expandAriaLabel) {\n finalExpandBtnAriaLabel = link.isExpanded ? link.collapseAriaLabel! : link.expandAriaLabel!;\n } else {\n // TODO remove when `expandButtonAriaLabel` is removed. This is not an ideal concatenation for localization.\n finalExpandBtnAriaLabel = expandButtonAriaLabel ? `${link.name} ${expandButtonAriaLabel}` : link.name;\n }\n }\n\n return (\n
    \n {link.links && link.links.length > 0 ? (\n \n \n \n ) : null}\n {this._renderNavLink(link, linkIndex, nestingLevel)}\n
    \n );\n }\n\n private _renderLink(link: INavLink, linkIndex: number, nestingLevel: number): React.ReactElement<{}> {\n const { styles, groups, theme } = this.props;\n const classNames = getClassNames(styles!, { theme: theme!, groups });\n\n return (\n
  • \n {this._renderCompositeLink(link, linkIndex, nestingLevel)}\n {link.isExpanded ? this._renderLinks(link.links, ++nestingLevel) : null}\n
  • \n );\n }\n\n private _renderLinks(links: INavLink[] | undefined, nestingLevel: number): React.ReactElement<{}> | null {\n if (!links || !links.length) {\n return null;\n }\n const linkElements: React.ReactElement<{}>[] = links.map((link: INavLink, linkIndex: number) =>\n this._renderLink(link, linkIndex, nestingLevel),\n );\n\n const { styles, groups, theme } = this.props;\n const classNames = getClassNames(styles!, { theme: theme!, groups });\n\n return (\n
      \n {linkElements}\n
    \n );\n }\n\n private _renderGroup = (group: INavLinkGroup, groupIndex: number): React.ReactElement<{}> => {\n const { styles, groups, theme, onRenderGroupHeader = this._renderGroupHeader } = this.props;\n\n const isExpanded = this._isGroupExpanded(group);\n\n const classNames = getClassNames(styles!, {\n theme: theme!,\n isGroup: true,\n isExpanded,\n groups,\n });\n\n const finalOnHeaderClick = (\n ev?: React.MouseEvent | undefined,\n isCollapsing?: boolean | undefined,\n ) => {\n this._onGroupHeaderClicked(group, ev);\n };\n\n const groupProps: IRenderGroupHeaderProps = {\n ...group,\n isExpanded,\n onHeaderClick: finalOnHeaderClick,\n };\n\n return (\n
    \n {groupProps.name ? onRenderGroupHeader(groupProps, this._renderGroupHeader) : null}\n
    {this._renderLinks(groupProps.links, 0 /* nestingLevel */)}
    \n
    \n );\n };\n\n private _renderGroupHeader = (group: IRenderGroupHeaderProps): React.ReactElement<{}> => {\n // eslint-disable-next-line deprecation/deprecation\n const { styles, groups, theme, expandButtonAriaLabel } = this.props;\n\n const { isExpanded } = group;\n\n const classNames = getClassNames(styles!, {\n theme: theme!,\n isGroup: true,\n isExpanded,\n groups,\n });\n\n const label = (isExpanded ? group.collapseAriaLabel : group.expandAriaLabel) || expandButtonAriaLabel;\n\n const { onHeaderClick } = group;\n\n const onClick = onHeaderClick\n ? (ev?: React.MouseEvent | undefined) => {\n onHeaderClick(ev, isExpanded);\n }\n : undefined;\n\n return (\n \n );\n };\n\n private _onGroupHeaderClicked(group: INavLinkGroup, ev?: React.MouseEvent): void {\n if (group.onHeaderClick) {\n group.onHeaderClick(ev, this._isGroupExpanded(group));\n }\n\n this._toggleCollapsed(group);\n\n if (ev) {\n ev.preventDefault();\n ev.stopPropagation();\n }\n }\n\n private _onLinkExpandClicked(link: INavLink, ev: React.MouseEvent): void {\n const { onLinkExpandClick } = this.props;\n\n if (onLinkExpandClick) {\n onLinkExpandClick(ev, link);\n }\n\n if (!ev.defaultPrevented) {\n link.isExpanded = !link.isExpanded;\n // eslint-disable-next-line react/no-unused-state\n this.setState({ isLinkExpandStateChanged: true });\n }\n\n ev.preventDefault();\n ev.stopPropagation();\n }\n\n private _preventBounce(link: INavLink, ev: React.MouseEvent): void {\n if (!link.url && link.forceAnchor) {\n ev.preventDefault();\n }\n }\n\n private _onNavAnchorLinkClicked(link: INavLink, ev: React.MouseEvent): void {\n // If the href is \"#\" we should call preventDefault to prevent scrolling to the top of the page\n this._preventBounce(link, ev);\n\n if (this.props.onLinkClick) {\n this.props.onLinkClick(ev, link);\n }\n if (!link.url && link.links && link.links.length > 0) {\n this._onLinkExpandClicked(link, ev);\n }\n\n this.setState({ selectedKey: link.key });\n }\n\n private _onNavButtonLinkClicked(link: INavLink, ev: React.MouseEvent): void {\n // If the href is \"#\" we should call preventDefault to prevent scrolling to the top of the page\n this._preventBounce(link, ev);\n\n if (link.onClick) {\n link.onClick(ev, link);\n }\n if (!link.url && link.links && link.links.length > 0) {\n this._onLinkExpandClicked(link, ev);\n }\n\n this.setState({ selectedKey: link.key });\n }\n\n private _isLinkSelected(link: INavLink): boolean {\n // if caller passes in selectedKey, use it as first choice or\n // if current state.selectedKey (from addressbar) is match to the link or\n // check if URL is matching location.href (if link.url exists)\n if (this.props.selectedKey !== undefined) {\n return link.key === this.props.selectedKey;\n } else if (this.state.selectedKey !== undefined) {\n return link.key === this.state.selectedKey;\n } else if (typeof getWindow() === 'undefined' || !link.url) {\n // resolve is not supported for ssr\n return false;\n } else {\n // If selectedKey is undefined in props and state, then check URL\n _urlResolver = _urlResolver || document.createElement('a');\n\n _urlResolver.href = link.url || '';\n const target: string = _urlResolver.href;\n\n if (location.href === target) {\n return true;\n }\n\n // If selectedKey is not defined in state, then check URL to determine link selected status\n if (location.protocol + '//' + location.host + location.pathname === target) {\n return true;\n }\n\n if (location.hash) {\n // Match the hash to the url.\n if (location.hash === link.url) {\n return true;\n }\n\n // Match a rebased url. (e.g. #foo becomes http://hostname/foo)\n _urlResolver.href = location.hash.substring(1);\n\n return _urlResolver.href === target;\n }\n }\n\n return false;\n }\n\n private _isGroupExpanded(group: INavLinkGroup): boolean {\n if (group.name && this.state.isGroupCollapsed.hasOwnProperty(group.name)) {\n return !this.state.isGroupCollapsed[group.name];\n }\n if (group.collapseByDefault !== undefined) {\n return !group.collapseByDefault;\n }\n return true;\n }\n\n private _toggleCollapsed(group: INavLinkGroup): void {\n if (group.name) {\n const newGroupCollapsed = {\n ...this.state.isGroupCollapsed, // Make a copy in order to not modify state\n [group.name]: this._isGroupExpanded(group), // sic - presently open will be collapsed after setState\n };\n this.setState({ isGroupCollapsed: newGroupCollapsed });\n }\n }\n}\n","import { find, values } from '../../Utilities';\nimport { IKeytipProps } from '../../Keytip';\nimport { IKeytipTreeNode } from './IKeytipTreeNode';\nimport { mergeOverflows, sequencesToID } from '../../utilities/keytips/KeytipUtils';\nimport { KTP_LAYER_ID } from '../../utilities/keytips/KeytipConstants';\n\n/**\n * This class is responsible for handling the parent/child relationships between keytips\n */\nexport class KeytipTree {\n public currentKeytip?: IKeytipTreeNode;\n public root: IKeytipTreeNode;\n public nodeMap: { [nodeId: string]: IKeytipTreeNode } = {};\n\n /**\n * KeytipTree constructor\n */\n constructor() {\n // Root has no keytipSequence\n this.root = {\n id: KTP_LAYER_ID,\n children: [],\n parent: '',\n keySequences: [],\n };\n this.nodeMap[this.root.id] = this.root;\n }\n\n /**\n * Add a keytip node to this KeytipTree\n *\n * @param keytipProps - Keytip to add to the Tree\n * @param uniqueID - Unique ID for this keytip\n * @param persisted - T/F if this keytip should be marked as persisted\n */\n public addNode(keytipProps: IKeytipProps, uniqueID: string, persisted?: boolean): void {\n const fullSequence = this._getFullSequence(keytipProps);\n const nodeID = sequencesToID(fullSequence);\n\n // Take off the last item to calculate the parent sequence\n fullSequence.pop();\n // Parent ID is the root if there aren't any more sequences\n const parentID = this._getParentID(fullSequence);\n\n // Create node and add to map\n const node = this._createNode(nodeID, parentID, [], keytipProps, persisted);\n this.nodeMap[uniqueID] = node;\n\n // Try to add self to parents children, if they exist\n const parent = this.getNode(parentID);\n if (parent) {\n parent.children.push(nodeID);\n }\n }\n\n /**\n * Updates a node in the tree\n *\n * @param keytipProps - Keytip props to update\n * @param uniqueID - Unique ID for this keytip\n */\n public updateNode(keytipProps: IKeytipProps, uniqueID: string): void {\n const fullSequence = this._getFullSequence(keytipProps);\n const nodeID = sequencesToID(fullSequence);\n\n // Take off the last item to calculate the parent sequence\n fullSequence.pop();\n // Parent ID is the root if there aren't any more sequences\n const parentID = this._getParentID(fullSequence);\n const node = this.nodeMap[uniqueID];\n const prevParent = node.parent;\n const prevParentNode = this.getNode(prevParent);\n const parent = this.getNode(parentID);\n if (node) {\n if (prevParentNode && prevParent !== parentID) {\n // If parent has changed, remove child from old parent\n const childIndex = prevParentNode.children.indexOf(node.id);\n if (childIndex >= 0) {\n prevParentNode.children.splice(childIndex, 1);\n }\n }\n // If the ID of the node has changed, update node's parent's array of children with new ID\n if (parent && node.id !== nodeID) {\n const index = parent.children.indexOf(node.id);\n if (index >= 0) {\n parent.children[index] = nodeID;\n } else {\n parent.children.push(nodeID);\n }\n }\n // Update values\n node.id = nodeID;\n node.keySequences = keytipProps.keySequences;\n node.overflowSetSequence = keytipProps.overflowSetSequence;\n node.onExecute = keytipProps.onExecute;\n node.onReturn = keytipProps.onReturn;\n node.hasDynamicChildren = keytipProps.hasDynamicChildren;\n node.hasMenu = keytipProps.hasMenu;\n node.parent = parentID;\n node.disabled = keytipProps.disabled;\n }\n }\n\n /**\n * Removes a node from the KeytipTree\n *\n * @param sequence - full string of the node to remove\n */\n public removeNode(keytipProps: IKeytipProps, uniqueID: string): void {\n const fullSequence = this._getFullSequence(keytipProps);\n const nodeID = sequencesToID(fullSequence);\n\n // Take off the last sequence to calculate the parent ID\n fullSequence.pop();\n\n // Parent ID is the root if there aren't any more sequences\n const parentID = this._getParentID(fullSequence);\n const parent = this.getNode(parentID);\n if (parent) {\n // Remove node from its parent's children\n parent.children.splice(parent.children.indexOf(nodeID), 1);\n }\n\n if (this.nodeMap[uniqueID]) {\n // Remove the node from the nodeMap\n delete this.nodeMap[uniqueID];\n }\n }\n\n /**\n * Searches the currentKeytip's children to exactly match a sequence. Will not match disabled nodes but\n * will match persisted nodes\n *\n * @param keySequence - string to match\n * @param currentKeytip - The keytip whose children will try to match\n * @returns The node that exactly matched the keySequence, or undefined if none matched\n */\n public getExactMatchedNode(keySequence: string, currentKeytip: IKeytipTreeNode): IKeytipTreeNode | undefined {\n const possibleNodes = this.getNodes(currentKeytip.children);\n return find(possibleNodes, (node: IKeytipTreeNode) => {\n return this._getNodeSequence(node) === keySequence && !node.disabled;\n });\n }\n\n /**\n * Searches the currentKeytip's children to find nodes that start with the given sequence. Will not match\n * disabled nodes but will match persisted nodes\n *\n * @param keySequence - string to partially match\n * @param currentKeytip - The keytip whose children will try to partially match\n * @returns List of tree nodes that partially match the given sequence\n */\n public getPartiallyMatchedNodes(keySequence: string, currentKeytip: IKeytipTreeNode): IKeytipTreeNode[] {\n // Get children that are persisted\n const possibleNodes = this.getNodes(currentKeytip.children);\n return possibleNodes.filter((node: IKeytipTreeNode) => {\n return this._getNodeSequence(node).indexOf(keySequence) === 0 && !node.disabled;\n });\n }\n\n /**\n * Get the non-persisted children of the give node\n * If no node is given, will use the 'currentKeytip'\n *\n * @param node - Node to get the children for\n * @returns List of node IDs that are the children of the node\n */\n public getChildren(node?: IKeytipTreeNode): string[] {\n if (!node) {\n node = this.currentKeytip;\n if (!node) {\n return [];\n }\n }\n const children = node.children;\n return Object.keys(this.nodeMap).reduce((nodes: string[], key: string): string[] => {\n if (children.indexOf(this.nodeMap[key].id) >= 0 && !this.nodeMap[key].persisted) {\n nodes.push(this.nodeMap[key].id);\n }\n return nodes;\n }, []);\n }\n\n /**\n * Gets all nodes from their IDs\n *\n * @param ids - List of keytip IDs\n * @returns Array of nodes that match the given IDs, can be empty\n */\n public getNodes(ids: string[]): IKeytipTreeNode[] {\n return Object.keys(this.nodeMap).reduce((nodes: IKeytipTreeNode[], key: string): IKeytipTreeNode[] => {\n if (ids.indexOf(this.nodeMap[key].id) >= 0) {\n nodes.push(this.nodeMap[key]);\n }\n return nodes;\n }, []);\n }\n\n /**\n * Gets a single node from its ID\n *\n * @param id - ID of the node to get\n * @returns Node with the given ID, if found\n */\n public getNode(id: string): IKeytipTreeNode | undefined {\n const nodeMapValues = values(this.nodeMap);\n return find(nodeMapValues, (node: IKeytipTreeNode): boolean => {\n return node.id === id;\n });\n }\n\n /**\n * Tests if the currentKeytip in this.keytipTree is the parent of 'keytipProps'\n *\n * @param keytipProps - Keytip to test the parent for\n * @returns T/F if the currentKeytip is this keytipProps' parent\n */\n public isCurrentKeytipParent(keytipProps: IKeytipProps): boolean {\n if (this.currentKeytip) {\n let fullSequence = [...keytipProps.keySequences];\n if (keytipProps.overflowSetSequence) {\n fullSequence = mergeOverflows(fullSequence, keytipProps.overflowSetSequence);\n }\n // Take off the last sequence to calculate the parent ID\n fullSequence.pop();\n // Parent ID is the root if there aren't any more sequences\n const parentID = fullSequence.length === 0 ? this.root.id : sequencesToID(fullSequence);\n let matchesCurrWithoutOverflow = false;\n if (this.currentKeytip.overflowSetSequence) {\n const currKeytipIdWithoutOverflow = sequencesToID(this.currentKeytip.keySequences);\n matchesCurrWithoutOverflow = currKeytipIdWithoutOverflow === parentID;\n }\n return matchesCurrWithoutOverflow || this.currentKeytip.id === parentID;\n }\n return false;\n }\n\n private _getParentID(fullSequence: string[]): string {\n return fullSequence.length === 0 ? this.root.id : sequencesToID(fullSequence);\n }\n\n private _getFullSequence(keytipProps: IKeytipProps): string[] {\n let fullSequence = [...keytipProps.keySequences];\n if (keytipProps.overflowSetSequence) {\n fullSequence = mergeOverflows(fullSequence, keytipProps.overflowSetSequence);\n }\n return fullSequence;\n }\n\n private _getNodeSequence(node: IKeytipTreeNode): string {\n let fullSequence = [...node.keySequences];\n if (node.overflowSetSequence) {\n fullSequence = mergeOverflows(fullSequence, node.overflowSetSequence);\n }\n return fullSequence[fullSequence.length - 1];\n }\n\n private _createNode(\n id: string,\n parentId: string,\n children: string[],\n keytipProps: IKeytipProps,\n persisted?: boolean,\n ): IKeytipTreeNode {\n const {\n keySequences,\n hasDynamicChildren,\n overflowSetSequence,\n hasMenu,\n onExecute,\n onReturn,\n disabled,\n } = keytipProps;\n const node = {\n id,\n keySequences,\n overflowSetSequence,\n parent: parentId,\n children,\n onExecute,\n onReturn,\n hasDynamicChildren,\n hasMenu,\n disabled,\n persisted,\n };\n node.children = Object.keys(this.nodeMap).reduce((array: string[], nodeMapKey: string): string[] => {\n if (this.nodeMap[nodeMapKey].parent === id) {\n array.push(this.nodeMap[nodeMapKey].id);\n }\n return array;\n }, []);\n return node;\n }\n}\n","import * as React from 'react';\nimport { IKeytipLayerProps, IKeytipLayerStyles, IKeytipLayerStyleProps } from './KeytipLayer.types';\nimport { getLayerStyles } from './KeytipLayer.styles';\nimport { Keytip, IKeytipProps } from '../../Keytip';\nimport { Layer } from '../../Layer';\nimport {\n classNamesFunction,\n getDocument,\n arraysEqual,\n warn,\n isMac,\n EventGroup,\n Async,\n initializeComponentRef,\n KeyCodes,\n} from '../../Utilities';\nimport { KeytipManager } from '../../utilities/keytips/KeytipManager';\nimport { KeytipTree } from './KeytipTree';\nimport { IKeytipTreeNode } from './IKeytipTreeNode';\nimport {\n ktpTargetFromId,\n ktpTargetFromSequences,\n sequencesToID,\n mergeOverflows,\n} from '../../utilities/keytips/KeytipUtils';\nimport {\n transitionKeysContain,\n KeytipTransitionModifier,\n IKeytipTransitionKey,\n} from '../../utilities/keytips/IKeytipTransitionKey';\nimport { KeytipEvents, KTP_LAYER_ID, KTP_ARIA_SEPARATOR } from '../../utilities/keytips/KeytipConstants';\n\nexport interface IKeytipLayerState {\n inKeytipMode: boolean;\n keytips: IKeytipProps[];\n visibleKeytips: IKeytipProps[];\n}\n\n// Default sequence is Alt-Windows (Alt-Meta) in Windows, Option-Control (Alt-Control) in Mac\nconst defaultStartSequence: IKeytipTransitionKey = {\n key: isMac() ? 'Control' : 'Meta',\n modifierKeys: [KeyCodes.alt],\n};\n\n// Default exit sequence is the same as the start sequence\nconst defaultExitSequence: IKeytipTransitionKey = defaultStartSequence;\n\n// Default return sequence is Escape\nconst defaultReturnSequence: IKeytipTransitionKey = {\n key: 'Escape',\n};\n\nconst getClassNames = classNamesFunction();\n\n/**\n * A layer that holds all keytip items\n * {@docCategory Keytips}\n */\nexport class KeytipLayerBase extends React.Component {\n public static defaultProps: IKeytipLayerProps = {\n keytipStartSequences: [defaultStartSequence],\n keytipExitSequences: [defaultExitSequence],\n keytipReturnSequences: [defaultReturnSequence],\n content: '',\n };\n\n private _events: EventGroup;\n private _async: Async;\n\n private _keytipTree: KeytipTree;\n\n private _keytipManager: KeytipManager = KeytipManager.getInstance();\n private _classNames: { [key in keyof IKeytipLayerStyles]: string };\n private _currentSequence: string;\n private _newCurrentKeytipSequences?: string[];\n\n private _delayedKeytipQueue: string[] = [];\n private _delayedQueueTimeout: number;\n\n private _keyHandled = false;\n\n constructor(props: IKeytipLayerProps, context: any) {\n super(props, context);\n\n initializeComponentRef(this);\n this._events = new EventGroup(this);\n this._async = new Async(this);\n\n const keytips = this._keytipManager.getKeytips();\n\n this.state = {\n inKeytipMode: false,\n keytips,\n visibleKeytips: this._getVisibleKeytips(keytips),\n };\n\n this._buildTree();\n\n this._currentSequence = '';\n\n // Add keytip listeners\n this._events.on(this._keytipManager, KeytipEvents.KEYTIP_ADDED, this._onKeytipAdded);\n this._events.on(this._keytipManager, KeytipEvents.KEYTIP_UPDATED, this._onKeytipUpdated);\n this._events.on(this._keytipManager, KeytipEvents.KEYTIP_REMOVED, this._onKeytipRemoved);\n this._events.on(this._keytipManager, KeytipEvents.PERSISTED_KEYTIP_ADDED, this._onPersistedKeytipAdded);\n this._events.on(this._keytipManager, KeytipEvents.PERSISTED_KEYTIP_REMOVED, this._onPersistedKeytipRemoved);\n this._events.on(this._keytipManager, KeytipEvents.PERSISTED_KEYTIP_EXECUTE, this._onPersistedKeytipExecute);\n }\n\n public render(): JSX.Element {\n const { content, styles } = this.props;\n\n const { keytips, visibleKeytips } = this.state;\n\n this._classNames = getClassNames(styles, {});\n\n return (\n \n {`${content}${KTP_ARIA_SEPARATOR}`}\n {keytips &&\n keytips.map((keytipProps: IKeytipProps, index: number) => {\n return (\n \n {keytipProps.keySequences.join(KTP_ARIA_SEPARATOR)}\n \n );\n })}\n {visibleKeytips &&\n visibleKeytips.map((visibleKeytipProps: IKeytipProps) => {\n return ;\n })}\n \n );\n }\n\n public componentDidMount(): void {\n // Add window listeners\n this._events.on(window, 'mouseup', this._onDismiss, true /* useCapture */);\n this._events.on(window, 'pointerup', this._onDismiss, true /* useCapture */);\n this._events.on(window, 'resize', this._onDismiss);\n this._events.on(window, 'keydown', this._onKeyDown, true /* useCapture */);\n this._events.on(window, 'keypress', this._onKeyPress, true /* useCapture */);\n this._events.on(window, 'scroll', this._onDismiss, true /* useCapture */);\n\n // Add keytip listeners\n this._events.on(this._keytipManager, KeytipEvents.ENTER_KEYTIP_MODE, this._enterKeytipMode);\n this._events.on(this._keytipManager, KeytipEvents.EXIT_KEYTIP_MODE, this._exitKeytipMode);\n }\n\n public componentWillUnmount(): void {\n this._async.dispose();\n this._events.dispose();\n }\n\n // The below public functions are only public for testing purposes\n // They are not intended to be used in app code by using a KeytipLayer reference\n\n public getCurrentSequence(): string {\n return this._currentSequence;\n }\n\n public getKeytipTree(): KeytipTree {\n return this._keytipTree;\n }\n\n /**\n * Processes an IKeytipTransitionKey entered by the user\n *\n * @param transitionKey - IKeytipTransitionKey received by the layer to process\n */\n public processTransitionInput(transitionKey: IKeytipTransitionKey, ev?: React.KeyboardEvent): void {\n const currKtp = this._keytipTree.currentKeytip;\n if (transitionKeysContain(this.props.keytipExitSequences!, transitionKey) && currKtp) {\n // If key sequence is in 'exit sequences', exit keytip mode\n this._keyHandled = true;\n this._exitKeytipMode(ev);\n } else if (transitionKeysContain(this.props.keytipReturnSequences!, transitionKey)) {\n // If key sequence is in return sequences, move currentKeytip to parent (or if currentKeytip is the root, exit)\n if (currKtp) {\n this._keyHandled = true;\n if (currKtp.id === this._keytipTree.root.id) {\n // We are at the root, exit keytip mode\n this._exitKeytipMode(ev);\n } else {\n // If this keytip has a onReturn prop, we execute the func.\n if (currKtp.onReturn) {\n currKtp.onReturn(this._getKtpExecuteTarget(currKtp), this._getKtpTarget(currKtp));\n }\n\n // Reset currentSequence\n this._currentSequence = '';\n // Return pointer to its parent\n this._keytipTree.currentKeytip = this._keytipTree.getNode(currKtp.parent);\n // Show children keytips of the new currentKeytip\n this.showKeytips(this._keytipTree.getChildren());\n this._warnIfDuplicateKeytips();\n }\n }\n } else if (transitionKeysContain(this.props.keytipStartSequences!, transitionKey) && !currKtp) {\n // If key sequence is in 'entry sequences' and currentKeytip is null, we enter keytip mode\n this._keyHandled = true;\n this._enterKeytipMode();\n this._warnIfDuplicateKeytips();\n }\n }\n\n /**\n * Processes inputs from the document listener and traverse the keytip tree\n *\n * @param key - Key pressed by the user\n */\n public processInput(key: string, ev?: React.KeyboardEvent): void {\n // Concat the input key with the current sequence\n const currSequence: string = this._currentSequence + key;\n let currKtp = this._keytipTree.currentKeytip;\n\n // currentKeytip must be defined, otherwise we haven't entered keytip mode yet\n if (currKtp) {\n const node = this._keytipTree.getExactMatchedNode(currSequence, currKtp);\n if (node) {\n this._keytipTree.currentKeytip = currKtp = node;\n const currKtpChildren = this._keytipTree.getChildren();\n\n // Execute this node's onExecute if defined\n if (currKtp.onExecute) {\n currKtp.onExecute(this._getKtpExecuteTarget(currKtp), this._getKtpTarget(currKtp));\n // Reset currKtp, this might have changed from the onExecute\n currKtp = this._keytipTree.currentKeytip;\n }\n\n // To exit keytipMode after executing the keytip it must not have a menu or have dynamic children\n if (currKtpChildren.length === 0 && !(currKtp.hasDynamicChildren || currKtp.hasMenu)) {\n this._exitKeytipMode(ev);\n } else {\n // Show all children keytips\n this.showKeytips(currKtpChildren);\n this._warnIfDuplicateKeytips();\n }\n\n // Clear currentSequence\n this._currentSequence = '';\n return;\n }\n\n const partialNodes = this._keytipTree.getPartiallyMatchedNodes(currSequence, currKtp);\n if (partialNodes.length > 0) {\n // We found nodes that partially match the sequence, so we show only those\n // Omit showing persisted nodes here\n const ids = partialNodes\n .filter((partialNode: IKeytipTreeNode) => {\n return !partialNode.persisted;\n })\n .map((partialNode: IKeytipTreeNode) => {\n return partialNode.id;\n });\n this.showKeytips(ids);\n\n // Save currentSequence\n this._currentSequence = currSequence;\n }\n }\n }\n\n /**\n * Show the given keytips and hide all others\n *\n * @param ids - Keytip IDs to show\n */\n public showKeytips(ids: string[]): void {\n // Update the visible prop in the manager\n for (const keytip of this._keytipManager.getKeytips()) {\n let keytipId = sequencesToID(keytip.keySequences);\n if (keytip.overflowSetSequence) {\n // Check if the ID with the overflow is the keytip we're looking for\n keytipId = sequencesToID(mergeOverflows(keytip.keySequences, keytip.overflowSetSequence));\n }\n if (ids.indexOf(keytipId) >= 0) {\n keytip.visible = true;\n } else {\n keytip.visible = false;\n }\n }\n // Apply the manager changes to the Layer state\n this._setKeytips();\n }\n\n /**\n * Enters keytip mode for this layer\n */\n private _enterKeytipMode(): void {\n if (this._keytipManager.shouldEnterKeytipMode) {\n if (this._keytipManager.delayUpdatingKeytipChange) {\n this._buildTree();\n this._setKeytips();\n }\n this._keytipTree.currentKeytip = this._keytipTree.root;\n // Show children of root\n this.showKeytips(this._keytipTree.getChildren());\n\n this._setInKeytipMode(true /* inKeytipMode */);\n\n if (this.props.onEnterKeytipMode) {\n this.props.onEnterKeytipMode();\n }\n }\n }\n\n private _buildTree(): void {\n this._keytipTree = new KeytipTree();\n // Add regular and persisted keytips to the tree\n for (const id of Object.keys(this._keytipManager.keytips)) {\n const uniqueKeytip = this._keytipManager.keytips[id];\n this._keytipTree.addNode(uniqueKeytip.keytip, uniqueKeytip.uniqueID);\n }\n\n for (const id of Object.keys(this._keytipManager.persistedKeytips)) {\n const uniqueKeytip = this._keytipManager.persistedKeytips[id];\n this._keytipTree.addNode(uniqueKeytip.keytip, uniqueKeytip.uniqueID);\n }\n }\n\n /**\n * Exits keytip mode for this layer\n */\n private _exitKeytipMode(ev?: React.KeyboardEvent | React.MouseEvent): void {\n this._keytipTree.currentKeytip = undefined;\n this._currentSequence = '';\n // Hide all keytips\n this.showKeytips([]);\n\n // Reset the delayed keytips if any\n this._delayedQueueTimeout && this._async.clearTimeout(this._delayedQueueTimeout);\n this._delayedKeytipQueue = [];\n\n this._setInKeytipMode(false /* inKeytipMode */);\n\n if (this.props.onExitKeytipMode) {\n this.props.onExitKeytipMode(ev);\n }\n }\n\n /**\n * Sets the keytips state property\n *\n * @param keytipProps - Keytips to set in this layer\n */\n private _setKeytips(keytipProps: IKeytipProps[] = this._keytipManager.getKeytips()) {\n this.setState({ keytips: keytipProps, visibleKeytips: this._getVisibleKeytips(keytipProps) });\n }\n\n /**\n * Callback function to use for persisted keytips\n *\n * @param overflowButtonSequences - The overflow button sequence to execute\n * @param keytipSequences - The keytip that should become the 'currentKeytip' when it is registered\n */\n private _persistedKeytipExecute(overflowButtonSequences: string[], keytipSequences: string[]) {\n // Save newCurrentKeytip for later\n this._newCurrentKeytipSequences = keytipSequences;\n\n // Execute the overflow button's onExecute\n const overflowKeytipNode = this._keytipTree.getNode(sequencesToID(overflowButtonSequences));\n if (overflowKeytipNode && overflowKeytipNode.onExecute) {\n overflowKeytipNode.onExecute(\n this._getKtpExecuteTarget(overflowKeytipNode),\n this._getKtpTarget(overflowKeytipNode),\n );\n }\n }\n\n private _getVisibleKeytips(keytips: IKeytipProps[]): IKeytipProps[] {\n // Filter out non-visible keytips and duplicates\n const seenIds: { [childSequence: string]: number } = {};\n return keytips.filter(keytip => {\n let keytipId = sequencesToID(keytip.keySequences);\n if (keytip.overflowSetSequence) {\n // Account for overflow set sequences when checking for duplicates\n keytipId = sequencesToID(mergeOverflows(keytip.keySequences, keytip.overflowSetSequence));\n }\n seenIds[keytipId] = seenIds[keytipId] ? seenIds[keytipId] + 1 : 1;\n return keytip.visible && seenIds[keytipId] === 1;\n });\n }\n\n private _onDismiss = (ev?: React.MouseEvent): void => {\n // if we are in keytip mode, then exit keytip mode\n if (this.state.inKeytipMode) {\n this._exitKeytipMode(ev);\n }\n };\n\n private _onKeyDown = (ev: React.KeyboardEvent): void => {\n this._keyHandled = false;\n // using key since which has been deprecated and key is now widely suporrted.\n // See: https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/which\n let key = ev.key;\n switch (key) {\n case 'Tab':\n case 'Enter':\n case 'Spacebar':\n case ' ':\n case 'ArrowUp':\n case 'Up':\n case 'ArrowDown':\n case 'Down':\n case 'ArrowLeft':\n case 'Left':\n case 'ArrowRight':\n case 'Right':\n if (this.state.inKeytipMode) {\n this._keyHandled = true;\n this._exitKeytipMode(ev);\n }\n break;\n default:\n // Special cases for browser-specific keys that are not at standard\n // (according to http://www.w3.org/TR/uievents-key/#keys-navigation)\n if (key === 'Esc') {\n // Edge: https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/5290772/\n key = 'Escape';\n } else if (key === 'OS' || key === 'Win') {\n // Firefox: https://bugzilla.mozilla.org/show_bug.cgi?id=1232918\n // Edge: https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/8860571/\n // and https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/16424492/\n key = 'Meta';\n }\n const transitionKey: IKeytipTransitionKey = { key };\n transitionKey.modifierKeys = this._getModifierKey(key, ev);\n this.processTransitionInput(transitionKey, ev);\n break;\n }\n };\n\n /**\n * Gets the ModifierKeyCodes based on the keyboard event\n *\n * @param ev - React.KeyboardEvent\n * @returns List of ModifierKeyCodes that were pressed\n */\n private _getModifierKey(key: string, ev: React.KeyboardEvent): KeytipTransitionModifier[] | undefined {\n const modifierKeys: KeytipTransitionModifier[] = [];\n if (ev.altKey && key !== 'Alt') {\n modifierKeys.push(KeyCodes.alt);\n }\n if (ev.ctrlKey && key !== 'Control') {\n modifierKeys.push(KeyCodes.ctrl);\n }\n if (ev.shiftKey && key !== 'Shift') {\n modifierKeys.push(KeyCodes.shift);\n }\n if (ev.metaKey && key !== 'Meta') {\n modifierKeys.push(KeyCodes.leftWindow);\n }\n return modifierKeys.length ? modifierKeys : undefined;\n }\n\n private _onKeyPress = (ev: React.KeyboardEvent): void => {\n if (this.state.inKeytipMode && !this._keyHandled) {\n // Call processInput\n this.processInput(ev.key.toLocaleLowerCase(), ev);\n ev.preventDefault();\n ev.stopPropagation();\n }\n };\n\n private _onKeytipAdded = (eventArgs: any) => {\n const keytipProps = eventArgs.keytip;\n const uniqueID = eventArgs.uniqueID;\n\n this._keytipTree.addNode(keytipProps, uniqueID);\n this._setKeytips();\n\n // Add the keytip to the queue to show later\n if (this._keytipTree.isCurrentKeytipParent(keytipProps)) {\n // Ensure existing children are still shown.\n this._delayedKeytipQueue = this._delayedKeytipQueue.concat(this._keytipTree.currentKeytip?.children || []);\n\n this._addKeytipToQueue(sequencesToID(keytipProps.keySequences));\n\n // Ensure the child of currentKeytip is successfully added to currentKeytip's children and update it if not.\n // Note: Added this condition because KeytipTree.addNode was not always reflecting updates made to a parent node\n // in currentKeytip when that parent is the currentKeytip.\n if (\n this._keytipTree.currentKeytip &&\n this._keytipTree.currentKeytip.hasDynamicChildren &&\n this._keytipTree.currentKeytip.children.indexOf(keytipProps.id) < 0\n ) {\n const currNode = this._keytipTree.getNode(this._keytipTree.currentKeytip.id);\n if (currNode) {\n this._keytipTree.currentKeytip = currNode;\n }\n }\n }\n\n this._persistedKeytipChecks(keytipProps);\n };\n\n private _onKeytipUpdated = (eventArgs: any) => {\n const keytipProps = eventArgs.keytip;\n const uniqueID = eventArgs.uniqueID;\n this._keytipTree.updateNode(keytipProps, uniqueID);\n this._setKeytips();\n if (this._keytipTree.isCurrentKeytipParent(keytipProps)) {\n // Ensure existing children are still shown.\n this._delayedKeytipQueue = this._delayedKeytipQueue.concat(this._keytipTree.currentKeytip?.children || []);\n this._addKeytipToQueue(sequencesToID(keytipProps.keySequences));\n }\n\n this._persistedKeytipChecks(keytipProps);\n };\n\n /**\n * Helper function to do checks related to persisted/overflow keytips\n * Done on keytip added and keytip updated\n *\n * @param keytipProps - Keytip props\n */\n private _persistedKeytipChecks = (keytipProps: IKeytipProps) => {\n if (this._newCurrentKeytipSequences && arraysEqual(keytipProps.keySequences, this._newCurrentKeytipSequences)) {\n this._triggerKeytipImmediately(keytipProps);\n }\n\n if (this._isCurrentKeytipAnAlias(keytipProps)) {\n let keytipSequence = keytipProps.keySequences;\n if (keytipProps.overflowSetSequence) {\n keytipSequence = mergeOverflows(keytipSequence, keytipProps.overflowSetSequence);\n }\n this._keytipTree.currentKeytip = this._keytipTree.getNode(sequencesToID(keytipSequence));\n }\n };\n\n private _onKeytipRemoved = (eventArgs: any) => {\n const keytipProps = eventArgs.keytip;\n const uniqueID = eventArgs.uniqueID;\n\n // Remove keytip from the delayed queue\n this._removeKeytipFromQueue(sequencesToID(keytipProps.keySequences));\n\n // Remove the node from the Tree\n this._keytipTree.removeNode(keytipProps, uniqueID);\n this._setKeytips();\n };\n\n private _onPersistedKeytipAdded = (eventArgs: any) => {\n const keytipProps = eventArgs.keytip;\n const uniqueID = eventArgs.uniqueID;\n this._keytipTree.addNode(keytipProps, uniqueID, true);\n };\n\n private _onPersistedKeytipRemoved = (eventArgs: any) => {\n const keytipProps = eventArgs.keytip;\n const uniqueID = eventArgs.uniqueID;\n this._keytipTree.removeNode(keytipProps, uniqueID);\n };\n\n private _onPersistedKeytipExecute = (eventArgs: any) => {\n this._persistedKeytipExecute(eventArgs.overflowButtonSequences, eventArgs.keytipSequences);\n };\n\n /**\n * Trigger a keytip immediately and set it as the current keytip\n *\n * @param keytipProps - Keytip to trigger immediately\n */\n private _triggerKeytipImmediately(keytipProps: IKeytipProps) {\n // This keytip should become the currentKeytip and should execute right away\n let keytipSequence = [...keytipProps.keySequences];\n if (keytipProps.overflowSetSequence) {\n keytipSequence = mergeOverflows(keytipSequence, keytipProps.overflowSetSequence);\n }\n\n // Set currentKeytip\n this._keytipTree.currentKeytip = this._keytipTree.getNode(sequencesToID(keytipSequence));\n if (this._keytipTree.currentKeytip) {\n // Show all children keytips if any\n const children = this._keytipTree.getChildren();\n if (children.length) {\n this.showKeytips(children);\n }\n\n if (this._keytipTree.currentKeytip.onExecute) {\n this._keytipTree.currentKeytip.onExecute(\n this._getKtpExecuteTarget(this._keytipTree.currentKeytip),\n this._getKtpTarget(this._keytipTree.currentKeytip),\n );\n }\n }\n\n // Unset _newCurrKtpSequences\n this._newCurrentKeytipSequences = undefined;\n }\n\n private _addKeytipToQueue(keytipID: string) {\n // Add keytip\n this._delayedKeytipQueue.push(keytipID);\n // Clear timeout\n this._delayedQueueTimeout && this._async.clearTimeout(this._delayedQueueTimeout);\n // Reset timeout\n this._delayedQueueTimeout = this._async.setTimeout(() => {\n if (this._delayedKeytipQueue.length) {\n this.showKeytips(this._delayedKeytipQueue);\n this._delayedKeytipQueue = [];\n }\n }, 300);\n }\n\n private _removeKeytipFromQueue(keytipID: string) {\n const index = this._delayedKeytipQueue.indexOf(keytipID);\n if (index >= 0) {\n // Remove keytip\n this._delayedKeytipQueue.splice(index, 1);\n // Clear timeout\n this._delayedQueueTimeout && this._async.clearTimeout(this._delayedQueueTimeout);\n // Reset timeout\n this._delayedQueueTimeout = this._async.setTimeout(() => {\n if (this._delayedKeytipQueue.length) {\n this.showKeytips(this._delayedKeytipQueue);\n this._delayedKeytipQueue = [];\n }\n }, 300);\n }\n }\n\n private _getKtpExecuteTarget(currKtp: IKeytipTreeNode): HTMLElement | null {\n return getDocument()!.querySelector(ktpTargetFromId(currKtp.id));\n }\n\n private _getKtpTarget(currKtp: IKeytipTreeNode): HTMLElement | null {\n return getDocument()!.querySelector(ktpTargetFromSequences(currKtp.keySequences));\n }\n\n /**\n * Returns T/F if the keytipProps keySequences match the currentKeytip, and the currentKeytip is in an overflow well\n * This will make 'keytipProps' the new currentKeytip\n *\n * @param keytipProps - Keytip props to check\n * @returns - T/F if this keytip should become the currentKeytip\n */\n private _isCurrentKeytipAnAlias(keytipProps: IKeytipProps): boolean {\n const currKtp = this._keytipTree.currentKeytip;\n if (\n currKtp &&\n (currKtp.overflowSetSequence || currKtp.persisted) &&\n arraysEqual(keytipProps.keySequences, currKtp.keySequences)\n ) {\n return true;\n }\n return false;\n }\n\n /**\n * Sets if we are in keytip mode.\n * Note, this sets both the state for the layer as well as\n * the value that the manager will expose externally.\n * @param inKeytipMode - Boolean so set whether we are in keytip mode or not\n */\n private _setInKeytipMode = (inKeytipMode: boolean): void => {\n this.setState({ inKeytipMode: inKeytipMode });\n this._keytipManager.inKeytipMode = inKeytipMode;\n };\n\n /**\n * Emits a warning if duplicate keytips are found for the children of the current keytip\n */\n private _warnIfDuplicateKeytips = (): void => {\n const duplicateKeytips = this._getDuplicateIds(this._keytipTree.getChildren());\n if (duplicateKeytips.length) {\n warn('Duplicate keytips found for ' + duplicateKeytips.join(', '));\n }\n };\n\n /**\n * Returns duplicates among keytip IDs.\n * If the returned array is empty, no duplicates were found.\n *\n * @param keytipIds - Array of keytip IDs to find duplicates for\n * @returns - Array of duplicates that were found. Each duplicate will only be added once to this array.\n */\n private _getDuplicateIds = (keytipIds: string[]): string[] => {\n const seenIds: { [id: string]: number } = {};\n return keytipIds.filter(keytipId => {\n seenIds[keytipId] = seenIds[keytipId] ? seenIds[keytipId] + 1 : 1;\n // Only add the first duplicate keytip seen\n return seenIds[keytipId] === 2;\n });\n };\n}\n","import * as React from 'react';\nimport { styled } from '../../Utilities';\nimport { IKeytipLayerProps, IKeytipLayerStyleProps, IKeytipLayerStyles } from './KeytipLayer.types';\nimport { KeytipLayerBase } from './KeytipLayer.base';\nimport { getStyles } from './KeytipLayer.styles';\n\nexport const KeytipLayer: React.FunctionComponent = styled<\n IKeytipLayerProps,\n IKeytipLayerStyleProps,\n IKeytipLayerStyles\n>(KeytipLayerBase, getStyles, undefined, {\n scope: 'KeytipLayer',\n});\n","import { INavStyleProps, INavStyles } from './Nav.types';\nimport { IButtonStyles } from '../../Button';\nimport {\n AnimationClassNames,\n getFocusStyle,\n ZIndexes,\n getGlobalClassNames,\n HighContrastSelector,\n FontWeights,\n} from '../../Styling';\n\nconst GlobalClassNames = {\n root: 'ms-Nav',\n linkText: 'ms-Nav-linkText',\n compositeLink: 'ms-Nav-compositeLink',\n link: 'ms-Nav-link',\n chevronButton: 'ms-Nav-chevronButton',\n chevronIcon: 'ms-Nav-chevron',\n navItem: 'ms-Nav-navItem',\n navItems: 'ms-Nav-navItems',\n group: 'ms-Nav-group',\n groupContent: 'ms-Nav-groupContent',\n};\n\nexport const buttonStyles: IButtonStyles = {\n textContainer: {\n overflow: 'hidden',\n },\n label: {\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n },\n};\n\nexport const getStyles = (props: INavStyleProps): INavStyles => {\n const {\n className,\n theme,\n isOnTop,\n isExpanded,\n isGroup,\n isLink,\n isSelected,\n isDisabled,\n isButtonEntry,\n navHeight = 44,\n position,\n leftPadding = 20,\n leftPaddingExpanded = 28,\n rightPadding = 20,\n } = props;\n\n const { palette, semanticColors, fonts } = theme;\n\n const classNames = getGlobalClassNames(GlobalClassNames, theme);\n\n return {\n root: [\n classNames.root,\n className,\n fonts.medium,\n {\n overflowY: 'auto',\n userSelect: 'none',\n WebkitOverflowScrolling: 'touch',\n },\n isOnTop && [\n {\n position: 'absolute',\n },\n AnimationClassNames.slideRightIn40,\n ],\n ],\n linkText: [\n classNames.linkText,\n {\n margin: '0 4px',\n overflow: 'hidden',\n verticalAlign: 'middle',\n textAlign: 'left',\n textOverflow: 'ellipsis',\n },\n ],\n compositeLink: [\n classNames.compositeLink,\n {\n display: 'block',\n position: 'relative',\n color: semanticColors.bodyText,\n },\n isExpanded && 'is-expanded',\n isSelected && 'is-selected',\n isDisabled && 'is-disabled',\n isDisabled && {\n color: semanticColors.disabledText,\n },\n ],\n link: [\n classNames.link,\n getFocusStyle(theme),\n {\n display: 'block',\n position: 'relative',\n height: navHeight,\n width: '100%',\n lineHeight: `${navHeight}px`,\n textDecoration: 'none',\n cursor: 'pointer',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n paddingLeft: leftPadding,\n paddingRight: rightPadding,\n color: semanticColors.bodyText,\n selectors: {\n [HighContrastSelector]: {\n border: 0,\n selectors: {\n ':focus': {\n border: '1px solid WindowText',\n },\n },\n },\n },\n },\n !isDisabled && {\n selectors: {\n '.ms-Nav-compositeLink:hover &': {\n backgroundColor: semanticColors.bodyBackgroundHovered,\n },\n },\n },\n isSelected && {\n color: semanticColors.bodyTextChecked,\n fontWeight: FontWeights.semibold, // todo: get from theme\n backgroundColor: semanticColors.bodyBackgroundChecked,\n selectors: {\n '&:after': {\n borderLeft: `2px solid ${palette.themePrimary}`,\n content: '\"\"',\n position: 'absolute',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n pointerEvents: 'none',\n },\n },\n },\n isDisabled && {\n color: semanticColors.disabledText,\n },\n isButtonEntry && {\n color: palette.themePrimary,\n },\n ],\n chevronButton: [\n classNames.chevronButton,\n getFocusStyle(theme),\n fonts.small,\n {\n display: 'block',\n textAlign: 'left',\n lineHeight: `${navHeight}px`,\n margin: '5px 0',\n padding: `0px, ${rightPadding}px, 0px, ${leftPaddingExpanded}px`,\n border: 'none',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n cursor: 'pointer',\n color: semanticColors.bodyText,\n backgroundColor: 'transparent',\n selectors: {\n '&:visited': {\n color: semanticColors.bodyText,\n },\n },\n },\n isGroup && {\n fontSize: fonts.large.fontSize,\n width: '100%',\n height: navHeight,\n borderBottom: `1px solid ${semanticColors.bodyDivider}`,\n },\n isLink && {\n display: 'block',\n width: leftPaddingExpanded - 2,\n height: navHeight - 2,\n position: 'absolute',\n top: '1px',\n left: `${position}px`,\n zIndex: ZIndexes.Nav,\n padding: 0,\n margin: 0,\n },\n isSelected && {\n color: palette.themePrimary,\n backgroundColor: palette.neutralLighterAlt,\n selectors: {\n '&:after': {\n borderLeft: `2px solid ${palette.themePrimary}`,\n content: '\"\"',\n position: 'absolute',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n pointerEvents: 'none',\n },\n },\n },\n ],\n chevronIcon: [\n classNames.chevronIcon,\n {\n position: 'absolute',\n left: '8px',\n height: navHeight,\n // inline-flex prevents the chevron from shifting with custom line height styles\n display: 'inline-flex',\n alignItems: 'center',\n lineHeight: `${navHeight}px`,\n fontSize: fonts.small.fontSize,\n transition: 'transform .1s linear',\n },\n isExpanded && {\n transform: 'rotate(-180deg)',\n },\n isLink && {\n top: 0,\n },\n ],\n navItem: [\n classNames.navItem,\n {\n padding: 0,\n },\n ],\n navItems: [\n classNames.navItems,\n {\n listStyleType: 'none',\n padding: 0,\n margin: 0, // remove default
      styles\n },\n ],\n group: [classNames.group, isExpanded && 'is-expanded'],\n groupContent: [\n classNames.groupContent,\n {\n display: 'none',\n marginBottom: '40px',\n },\n AnimationClassNames.slideDownIn20,\n isExpanded && {\n display: 'block',\n },\n ],\n };\n};\n","import * as React from 'react';\n\nimport { IRefObject, IRenderFunction, KeyCodes, IStyleFunctionOrObject } from '../../../Utilities';\nimport { IPersonaProps } from '../../Persona/Persona.types';\nimport { IStyle, ITheme } from '../../../Styling';\nimport { ISpinnerStyleProps } from '../../Spinner/Spinner.types';\nimport { ISuggestionItemProps } from './SuggestionsItem.types';\n\n/**\n * Suggestions component.\n * {@docCategory Pickers}\n */\nexport interface ISuggestions {\n /** Execute the action selected. Can be SearchMore or ForceResolve actions. */\n executeSelectedAction: () => void;\n\n /** Focus on the ForceResolve action above the suggestions. If not available then focus on SearchMore action. */\n focusAboveSuggestions: () => void;\n\n /** Focus on the SearchMore action below the suggestions. If not available then focus on ForceResolve action. */\n focusBelowSuggestions: () => void;\n\n /** Focus the SearchMore action button. */\n focusSearchForMoreButton: () => void;\n\n /** Whether it has any suggested actions like ForceResolve or SearchMore. */\n hasSuggestedAction: () => boolean;\n\n /** Whether any of the suggested actions (ForceResolve or SearchMore) is selected. */\n hasSuggestedActionSelected: () => boolean;\n\n /** Returns true if the event was handled, false otherwise. */\n tryHandleKeyDown: (keyCode: number, currentSuggestionIndex: number) => boolean;\n}\n\n/**\n * Suggestions props interface. Refers to the entire container holding all the suggestions.\n * Type T is the type of the items that are displayed.\n * {@docCategory Pickers}\n */\n// eslint-disable-next-line deprecation/deprecation\nexport interface ISuggestionsProps extends React.Props {\n /**\n * Optional callback to access the ISuggestions interface. Use this instead of ref for accessing\n * the public methods and properties of the component.\n */\n componentRef?: IRefObject>;\n\n /**\n * How the suggestion should look in the suggestion list.\n */\n onRenderSuggestion: (props: T, suggestionItemProps: ISuggestionItemProps) => JSX.Element;\n\n /**\n * What should occur when a suggestion is clicked\n */\n onSuggestionClick: (ev?: React.MouseEvent, item?: any, index?: number) => void;\n\n /**\n * The list of Suggestions that will be displayed\n */\n suggestions: ISuggestionModel[];\n\n /**\n * How the \"no result found\" should look in the suggestion list.\n */\n onRenderNoResultFound?: IRenderFunction;\n\n /**\n * The text that appears at the top of the suggestions list.\n */\n suggestionsHeaderText?: string;\n\n /**\n * The text that should appear at the top of the most recently used box.\n */\n mostRecentlyUsedHeaderText?: string;\n\n /**\n * The text that appears indicating to the user that they can search for more results.\n */\n searchForMoreText?: string;\n\n /**\n * The callback that should be called when the user attempts to get more results\n */\n onGetMoreResults?: () => void;\n\n /**\n * The text that appears indicating to the use to force resolve the input\n */\n forceResolveText?: string;\n\n /**\n * The callback that should be called to see if the force resolve command should be shown\n */\n showForceResolve?: () => boolean;\n\n /**\n * The callback that should be called when the user attempts to use the input text as as item\n */\n createGenericItem?: () => void;\n\n /**\n * The CSS className of the suggestions root.\n */\n className?: string;\n\n /**\n * The CSS className of the suggestions list\n */\n suggestionsClassName?: string;\n\n /**\n * The text that should appear if there is a search error.\n *\n * @deprecated Use noResultsFoundText instead.\n */\n searchErrorText?: string;\n\n /**\n * The text that should appear if no results are found when searching.\n */\n noResultsFoundText?: string;\n\n /**\n * The className of the suggestion item.\n */\n suggestionsItemClassName?: string;\n\n /**\n * Used to indicate whether or not the user can request more suggestions.\n * Dictates whether or not the searchForMore button is displayed.\n */\n moreSuggestionsAvailable?: boolean;\n\n /**\n * Used to indicate whether or not the suggestions are loading.\n */\n isLoading?: boolean;\n\n /**\n * Used to indicate whether or not the component is searching for more results.\n */\n isSearching?: boolean;\n\n /**\n * The text to display while the results are loading.\n */\n loadingText?: string;\n\n /**\n * The text to display while searching for more results in a limited suggestions list.\n */\n searchingText?: string;\n\n /**\n * Indicates if a short list of recent suggestions should be shown.\n */\n isMostRecentlyUsedVisible?: boolean;\n\n /**\n * Function to fire when one of the optional remove buttons on a suggestion is clicked.\n *\n * TODO (adjective-object) remove IPersonaprops before the next major version bump\n */\n onSuggestionRemove?: (ev?: React.MouseEvent, item?: T | IPersonaProps, index?: number) => void;\n\n /**\n * Indicates if the text in resultsFooter or resultsFooterFull should be shown at the end of the suggestion list.\n * @defaultvalue true\n */\n isResultsFooterVisible?: boolean;\n\n /**\n * Maximum number of suggestions to show in the full suggestion list.\n */\n resultsMaximumNumber?: number;\n\n /**\n * A renderer that adds an element at the end of the suggestions list it has more items than resultsMaximumNumber.\n */\n resultsFooterFull?: (props: ISuggestionsProps) => JSX.Element;\n\n /**\n * A renderer that adds an element at the end of the suggestions list it has fewer items than resultsMaximumNumber.\n */\n resultsFooter?: (props: ISuggestionsProps) => JSX.Element;\n\n /**\n * Indicates whether to show a button with each suggestion to remove that suggestion.\n */\n showRemoveButtons?: boolean;\n\n /**\n * Screen reader message to read when there are suggestions available.\n */\n suggestionsAvailableAlertText?: string;\n\n /**\n * A function that resets focus to the expected item in the suggestion list\n */\n refocusSuggestions?: (keyCode: KeyCodes) => void;\n\n /**\n * An ARIA label for the container that is the parent of the suggestions.\n */\n suggestionsContainerAriaLabel?: string;\n\n /**\n * An ARIA label to use for the buttons to remove individual suggestions.\n */\n removeSuggestionAriaLabel?: string;\n\n /**\n * The string that will be used as the suggestionsListId.\n * Will be used by the BasePicker to keep track of the list for aria.\n */\n suggestionsListId?: string;\n\n /** Call to provide customized styling that will layer on top of the variant rules. */\n styles?: IStyleFunctionOrObject;\n\n /** Theme provided by High-Order Component. */\n theme?: ITheme;\n}\n\n/**\n * The props needed to construct Suggestions styles.\n * {@docCategory Pickers}\n */\nexport type ISuggestionsStyleProps = Required, 'theme'>> &\n Pick, 'className' | 'suggestionsClassName'> & {\n /** Whether the forceResolve actionButton is selected. */\n forceResolveButtonSelected?: boolean;\n\n /** Whether the searchForMore actionButton is selected. */\n searchForMoreButtonSelected?: boolean;\n };\n\n/**\n * Represents the stylable areas of the Suggestions.\n * {@docCategory Pickers}\n */\nexport interface ISuggestionsStyles {\n /** Root element of the suggestions outer wrapper. */\n root: IStyle;\n\n /** Refers to the suggestions container. */\n suggestionsContainer: IStyle;\n\n /** Refers to the title rendered for suggestions container header and/or footer (if provided). */\n title: IStyle;\n\n /** Refers to the 'Force resolve' actionButton. */\n forceResolveButton: IStyle;\n\n /** Refers to the 'Search for more' actionButton. */\n searchForMoreButton: IStyle;\n\n /** Refers to the text rendered when no suggestions are found. */\n noSuggestions: IStyle;\n\n /** Refers to the text displaying if more suggestions available. */\n suggestionsAvailable: IStyle;\n\n /** SubComponents (Spinner) styles. */\n subComponentStyles: ISuggestionsSubComponentStyles;\n}\n\n/**\n * Styles interface of the SubComponents rendered within PeoplePickerItemSelected.\n * {@docCategory Pickers}\n */\nexport interface ISuggestionsSubComponentStyles {\n /** Refers to the Spinner rendered within the Suggestions when searching or loading suggestions. */\n spinner: IStyleFunctionOrObject;\n}\n\n/**\n * SuggestionModel interface.\n * Type T is the type of the item that is suggested (Persona, Tag or any other custom picker).\n * {@docCategory Pickers}\n */\nexport interface ISuggestionModel {\n /** The suggested item of the type T */\n item: T;\n\n /** Whether the suggested item is selected or not. */\n selected: boolean;\n\n /** Aria-label string for each suggested item. */\n ariaLabel?: string;\n}\n\n/**\n * Enum to help identify which suggestions action button is selected.\n * {@docCategory Pickers}\n */\nexport enum SuggestionActionType {\n /** None of the actions is selected. */\n none,\n\n /** ForceResolve action is selected. */\n forceResolve,\n\n /** SearchMore action is selected. */\n searchMore,\n}\n","import * as React from 'react';\nimport { styled } from '../../Utilities';\nimport { INavProps, INavStyleProps, INavStyles } from './Nav.types';\nimport { NavBase } from './Nav.base';\nimport { getStyles } from './Nav.styles';\n\nexport const Nav: React.FunctionComponent = styled(\n NavBase,\n getStyles,\n undefined,\n {\n scope: 'Nav',\n },\n);\n","import { getGlobalClassNames, HighContrastSelector, getHighContrastNoAdjustStyle } from '../../../Styling';\nimport { ISuggestionsItemStyleProps, ISuggestionsItemStyles } from './SuggestionsItem.types';\nimport { IsFocusVisibleClassName } from '../../../Utilities';\n\nexport const SuggestionsItemGlobalClassNames = {\n root: 'ms-Suggestions-item',\n itemButton: 'ms-Suggestions-itemButton',\n closeButton: 'ms-Suggestions-closeButton',\n isSuggested: 'is-suggested',\n};\n\nexport function getStyles(props: ISuggestionsItemStyleProps): ISuggestionsItemStyles {\n const { className, theme, suggested } = props;\n\n const { palette, semanticColors } = theme;\n\n const classNames = getGlobalClassNames(SuggestionsItemGlobalClassNames, theme);\n\n return {\n root: [\n classNames.root,\n {\n display: 'flex',\n alignItems: 'stretch',\n boxSizing: 'border-box',\n width: '100%',\n position: 'relative',\n selectors: {\n '&:hover': {\n background: semanticColors.menuItemBackgroundHovered,\n },\n '&:hover .ms-Suggestions-closeButton': {\n display: 'block',\n },\n },\n },\n suggested && {\n selectors: {\n [`.${IsFocusVisibleClassName} &`]: {\n selectors: {\n [`.${classNames.closeButton}`]: {\n display: 'block',\n background: semanticColors.menuItemBackgroundPressed,\n },\n },\n },\n ':after': {\n pointerEvents: 'none',\n content: '\"\"',\n position: 'absolute',\n left: 0,\n top: 0,\n bottom: 0,\n right: 0,\n border: `1px solid ${theme.semanticColors.focusBorder}`,\n },\n },\n },\n className,\n ],\n itemButton: [\n classNames.itemButton,\n {\n width: '100%',\n padding: 0,\n border: 'none',\n height: '100%',\n // Force the item button to be collapsible so it can always shrink\n // to accommodate the close button as a peer in its flex container.\n minWidth: 0,\n // Require for IE11 to truncate the component.\n overflow: 'hidden',\n selectors: {\n [HighContrastSelector]: {\n color: 'WindowText',\n selectors: {\n ':hover': {\n background: 'Highlight',\n color: 'HighlightText',\n ...getHighContrastNoAdjustStyle(),\n },\n },\n },\n ':hover': {\n color: semanticColors.menuItemTextHovered,\n },\n },\n },\n suggested && [\n classNames.isSuggested,\n {\n background: semanticColors.menuItemBackgroundPressed,\n selectors: {\n ':hover': {\n background: semanticColors.menuDivider,\n },\n [HighContrastSelector]: {\n background: 'Highlight',\n color: 'HighlightText',\n ...getHighContrastNoAdjustStyle(),\n },\n },\n },\n ],\n ],\n closeButton: [\n classNames.closeButton,\n {\n display: 'none',\n color: palette.neutralSecondary,\n padding: '0 4px',\n height: 'auto',\n width: 32,\n selectors: {\n ':hover, :active': {\n background: palette.neutralTertiaryAlt,\n color: palette.neutralDark,\n },\n [HighContrastSelector]: {\n color: 'WindowText',\n },\n },\n },\n suggested && {\n [`.${IsFocusVisibleClassName} &`]: {\n selectors: {\n ':hover, :active': {\n background: palette.neutralTertiary,\n },\n },\n },\n selectors: {\n ':hover, :active': {\n background: palette.neutralTertiary,\n color: palette.neutralPrimary,\n },\n },\n },\n ],\n };\n}\n","import * as React from 'react';\n\nimport {\n initializeComponentRef,\n KeyCodes,\n classNamesFunction,\n IStyleFunctionOrObject,\n css,\n styled,\n} from '../../../Utilities';\nimport { IProcessedStyleSet } from '../../../Styling';\nimport { CommandButton, IButton } from '../../../Button';\nimport { Spinner, ISpinnerStyleProps, ISpinnerStyles } from '../../../Spinner';\nimport { Announced } from '../../../Announced';\nimport {\n ISuggestionsProps,\n SuggestionActionType,\n ISuggestionsStyleProps,\n ISuggestionsStyles,\n} from './Suggestions.types';\nimport { SuggestionsItem } from './SuggestionsItem';\nimport { getStyles as suggestionsItemStyles } from './SuggestionsItem.styles';\nimport { ISuggestionItemProps, ISuggestionsItemStyleProps, ISuggestionsItemStyles } from './SuggestionsItem.types';\n\nimport * as stylesImport from './Suggestions.scss';\nconst legacyStyles: any = stylesImport;\n\nconst getClassNames = classNamesFunction();\n\nexport interface ISuggestionsState {\n selectedActionType: SuggestionActionType;\n}\n\nconst StyledSuggestionsItem = styled, ISuggestionsItemStyleProps, ISuggestionsItemStyles>(\n SuggestionsItem,\n suggestionsItemStyles,\n undefined,\n { scope: 'SuggestionItem' },\n);\n\n/**\n * {@docCategory Pickers}\n */\nexport class Suggestions extends React.Component, ISuggestionsState> {\n protected _forceResolveButton = React.createRef();\n protected _searchForMoreButton = React.createRef();\n protected _selectedElement = React.createRef();\n protected _scrollContainer = React.createRef();\n private activeSelectedElement: HTMLDivElement | null;\n private _classNames: Partial>;\n\n constructor(suggestionsProps: ISuggestionsProps) {\n super(suggestionsProps);\n\n initializeComponentRef(this);\n\n this.state = {\n selectedActionType: SuggestionActionType.none,\n };\n }\n\n public componentDidMount(): void {\n this.scrollSelected();\n this.activeSelectedElement = this._selectedElement ? this._selectedElement.current : null;\n }\n\n public componentDidUpdate(): void {\n // Only scroll to selected element if the selected element has changed. Otherwise do nothing.\n // This prevents some odd behavior where scrolling the active element out of view and clicking on a selected element\n // will trigger a focus event and not give the clicked element the click.\n if (this._selectedElement.current && this.activeSelectedElement !== this._selectedElement.current) {\n this.scrollSelected();\n this.activeSelectedElement = this._selectedElement.current;\n }\n }\n\n public render(): JSX.Element {\n const {\n forceResolveText,\n mostRecentlyUsedHeaderText,\n searchForMoreText,\n className,\n moreSuggestionsAvailable,\n noResultsFoundText,\n suggestions,\n isLoading,\n isSearching,\n loadingText,\n onRenderNoResultFound,\n searchingText,\n isMostRecentlyUsedVisible,\n resultsMaximumNumber,\n resultsFooterFull,\n resultsFooter,\n isResultsFooterVisible = true,\n suggestionsHeaderText,\n suggestionsClassName,\n theme,\n styles,\n suggestionsListId,\n } = this.props;\n\n // TODO\n // Clean this up by leaving only the first part after removing support for SASS.\n // Currently we can not remove the SASS styles from Suggestions class because it\n // might be used by consumers separately from pickers extending from BasePicker\n // and have not used the new 'styles' prop. Because it's expecting a type parameter,\n // we can not use the 'styled' function without adding some helpers which can break\n // downstream consumers who did not use the new helpers.\n // We check for 'styles' prop which is going to be injected by the 'styled' HOC\n // in BasePicker when the typed Suggestions class is ready to be rendered. If the check\n // passes we can use the CSS-in-JS styles. If the check fails (ex: custom picker),\n // then we just use the old SASS styles instead.\n this._classNames = styles\n ? getClassNames(styles, {\n theme: theme!,\n className,\n suggestionsClassName,\n forceResolveButtonSelected: this.state.selectedActionType === SuggestionActionType.forceResolve,\n searchForMoreButtonSelected: this.state.selectedActionType === SuggestionActionType.searchMore,\n })\n : {\n root: css('ms-Suggestions', className, legacyStyles.root),\n title: css('ms-Suggestions-title', legacyStyles.suggestionsTitle),\n searchForMoreButton: css('ms-SearchMore-button', legacyStyles.actionButton, {\n ['is-selected ' + legacyStyles.buttonSelected]:\n this.state.selectedActionType === SuggestionActionType.searchMore,\n }),\n forceResolveButton: css('ms-forceResolve-button', legacyStyles.actionButton, {\n ['is-selected ' + legacyStyles.buttonSelected]:\n this.state.selectedActionType === SuggestionActionType.forceResolve,\n }),\n suggestionsAvailable: css('ms-Suggestions-suggestionsAvailable', legacyStyles.suggestionsAvailable),\n suggestionsContainer: css(\n 'ms-Suggestions-container',\n legacyStyles.suggestionsContainer,\n suggestionsClassName,\n ),\n noSuggestions: css('ms-Suggestions-none', legacyStyles.suggestionsNone),\n };\n\n const spinnerStyles = this._classNames.subComponentStyles\n ? (this._classNames.subComponentStyles.spinner as IStyleFunctionOrObject)\n : undefined;\n\n // TODO: cleanup after refactor of pickers to composition pattern and remove SASS support.\n const spinnerClassNameOrStyles = styles\n ? { styles: spinnerStyles }\n : { className: css('ms-Suggestions-spinner', legacyStyles.suggestionsSpinner) };\n\n const noResults = () => {\n return noResultsFoundText ?
      {noResultsFoundText}
      : null;\n };\n\n // MostRecently Used text should supercede the header text if it's there and available.\n let headerText: string | undefined = suggestionsHeaderText;\n if (isMostRecentlyUsedVisible && mostRecentlyUsedHeaderText) {\n headerText = mostRecentlyUsedHeaderText;\n }\n\n let footerTitle: ((props: ISuggestionsProps) => JSX.Element) | undefined = undefined;\n if (isResultsFooterVisible) {\n footerTitle = suggestions.length >= (resultsMaximumNumber as number) ? resultsFooterFull : resultsFooter;\n }\n\n const hasNoSuggestions = (!suggestions || !suggestions.length) && !isLoading;\n const divProps: React.HtmlHTMLAttributes =\n hasNoSuggestions || isLoading ? { role: 'dialog', id: suggestionsListId } : {};\n\n const forceResolveId =\n this.state.selectedActionType === SuggestionActionType.forceResolve ? 'sug-selectedAction' : undefined;\n const searchForMoreId =\n this.state.selectedActionType === SuggestionActionType.searchMore ? 'sug-selectedAction' : undefined;\n\n return (\n
      \n \n\n {headerText ?
      {headerText}
      : null}\n {forceResolveText && this._shouldShowForceResolve() && (\n \n {forceResolveText}\n \n )}\n {isLoading && }\n {hasNoSuggestions\n ? onRenderNoResultFound\n ? onRenderNoResultFound(undefined, noResults)\n : noResults()\n : this._renderSuggestions()}\n {searchForMoreText && moreSuggestionsAvailable && (\n \n {searchForMoreText}\n \n )}\n {isSearching ? : null}\n {footerTitle && !moreSuggestionsAvailable && !isMostRecentlyUsedVisible && !isSearching ? (\n
      {footerTitle(this.props)}
      \n ) : null}\n
      \n );\n }\n\n /**\n * Returns true if the event was handled, false otherwise\n */\n public tryHandleKeyDown = (keyCode: number, currentSuggestionIndex: number): boolean => {\n let isEventHandled = false;\n let newSelectedActionType = null;\n const currentSelectedAction = this.state.selectedActionType;\n const suggestionLength = this.props.suggestions.length;\n if (keyCode === KeyCodes.down) {\n switch (currentSelectedAction) {\n case SuggestionActionType.forceResolve:\n if (suggestionLength > 0) {\n this._refocusOnSuggestions(keyCode);\n newSelectedActionType = SuggestionActionType.none;\n } else if (this._searchForMoreButton.current) {\n newSelectedActionType = SuggestionActionType.searchMore;\n } else {\n newSelectedActionType = SuggestionActionType.forceResolve;\n }\n break;\n case SuggestionActionType.searchMore:\n if (this._forceResolveButton.current) {\n newSelectedActionType = SuggestionActionType.forceResolve;\n } else if (suggestionLength > 0) {\n this._refocusOnSuggestions(keyCode);\n newSelectedActionType = SuggestionActionType.none;\n } else {\n newSelectedActionType = SuggestionActionType.searchMore;\n }\n break;\n case SuggestionActionType.none:\n if (currentSuggestionIndex === -1 && this._forceResolveButton.current) {\n newSelectedActionType = SuggestionActionType.forceResolve;\n }\n break;\n }\n } else if (keyCode === KeyCodes.up) {\n switch (currentSelectedAction) {\n case SuggestionActionType.forceResolve:\n if (this._searchForMoreButton.current) {\n newSelectedActionType = SuggestionActionType.searchMore;\n } else if (suggestionLength > 0) {\n this._refocusOnSuggestions(keyCode);\n newSelectedActionType = SuggestionActionType.none;\n }\n break;\n case SuggestionActionType.searchMore:\n if (suggestionLength > 0) {\n this._refocusOnSuggestions(keyCode);\n newSelectedActionType = SuggestionActionType.none;\n } else if (this._forceResolveButton.current) {\n newSelectedActionType = SuggestionActionType.forceResolve;\n }\n break;\n case SuggestionActionType.none:\n if (currentSuggestionIndex === -1 && this._searchForMoreButton.current) {\n newSelectedActionType = SuggestionActionType.searchMore;\n }\n break;\n }\n }\n\n if (newSelectedActionType !== null) {\n this.setState({ selectedActionType: newSelectedActionType });\n isEventHandled = true;\n }\n\n return isEventHandled;\n };\n\n public hasSuggestedAction(): boolean {\n return !!this._searchForMoreButton.current || !!this._forceResolveButton.current;\n }\n\n public hasSuggestedActionSelected(): boolean {\n return this.state.selectedActionType !== SuggestionActionType.none;\n }\n\n public executeSelectedAction(): void {\n switch (this.state.selectedActionType) {\n case SuggestionActionType.forceResolve:\n this._forceResolve();\n break;\n case SuggestionActionType.searchMore:\n this._getMoreResults();\n break;\n }\n }\n\n public focusAboveSuggestions(): void {\n if (this._forceResolveButton.current) {\n this.setState({ selectedActionType: SuggestionActionType.forceResolve });\n } else if (this._searchForMoreButton.current) {\n this.setState({ selectedActionType: SuggestionActionType.searchMore });\n }\n }\n\n public focusBelowSuggestions(): void {\n if (this._searchForMoreButton.current) {\n this.setState({ selectedActionType: SuggestionActionType.searchMore });\n } else if (this._forceResolveButton.current) {\n this.setState({ selectedActionType: SuggestionActionType.forceResolve });\n }\n }\n\n public focusSearchForMoreButton(): void {\n if (this._searchForMoreButton.current) {\n this._searchForMoreButton.current.focus();\n }\n }\n\n public scrollSelected(): void {\n if (\n this._selectedElement.current &&\n this._scrollContainer.current &&\n this._scrollContainer.current.scrollTo !== undefined\n ) {\n const { offsetHeight, offsetTop } = this._selectedElement.current;\n const { offsetHeight: parentOffsetHeight, scrollTop } = this._scrollContainer.current;\n\n const isAbove = offsetTop < scrollTop;\n const isBelow = offsetTop + offsetHeight > scrollTop + parentOffsetHeight;\n\n if (isAbove) {\n this._scrollContainer.current.scrollTo(0, offsetTop);\n } else if (isBelow) {\n this._scrollContainer.current.scrollTo(0, offsetTop - parentOffsetHeight + offsetHeight);\n }\n }\n }\n\n private _getAlertText = () => {\n const { isLoading, isSearching, suggestions, suggestionsAvailableAlertText, noResultsFoundText } = this.props;\n if (!isLoading && !isSearching) {\n if (suggestions.length > 0) {\n return suggestionsAvailableAlertText || '';\n }\n if (noResultsFoundText) {\n return noResultsFoundText;\n }\n }\n return '';\n };\n\n private _renderSuggestions(): JSX.Element | null {\n const {\n isMostRecentlyUsedVisible,\n mostRecentlyUsedHeaderText,\n onRenderSuggestion,\n removeSuggestionAriaLabel,\n suggestionsItemClassName,\n resultsMaximumNumber,\n showRemoveButtons,\n suggestionsContainerAriaLabel,\n suggestionsHeaderText,\n suggestionsListId,\n } = this.props;\n\n let { suggestions } = this.props;\n\n const StyledTypedSuggestionsItem: React.FunctionComponent> = StyledSuggestionsItem;\n\n let selectedIndex = -1;\n suggestions.some((element, index) => {\n if (element.selected) {\n selectedIndex = index;\n return true;\n }\n return false;\n });\n\n if (resultsMaximumNumber) {\n suggestions =\n selectedIndex >= resultsMaximumNumber\n ? suggestions.slice(selectedIndex - resultsMaximumNumber + 1, selectedIndex + 1)\n : suggestions.slice(0, resultsMaximumNumber);\n }\n\n if (suggestions.length === 0) {\n return null;\n }\n\n // MostRecently Used text should supercede the header text if it's there and available.\n let headerText: string | undefined = suggestionsHeaderText;\n if (isMostRecentlyUsedVisible && mostRecentlyUsedHeaderText) {\n headerText = mostRecentlyUsedHeaderText;\n }\n\n return (\n \n {suggestions.map((suggestion, index) => (\n \n \n \n ))}\n \n );\n }\n\n private _getMoreResults = (): void => {\n if (this.props.onGetMoreResults) {\n this.props.onGetMoreResults();\n }\n };\n\n private _forceResolve = (): void => {\n if (this.props.createGenericItem) {\n this.props.createGenericItem();\n }\n };\n\n private _shouldShowForceResolve = (): boolean => {\n return this.props.showForceResolve ? this.props.showForceResolve() : false;\n };\n\n private _onClickTypedSuggestionsItem = (item: T, index: number): ((ev: React.MouseEvent) => void) => {\n return (ev: React.MouseEvent): void => {\n this.props.onSuggestionClick(ev, item, index);\n };\n };\n\n private _refocusOnSuggestions = (keyCode: number): void => {\n if (typeof this.props.refocusSuggestions === 'function') {\n this.props.refocusSuggestions(keyCode);\n }\n };\n\n private _onRemoveTypedSuggestionsItem = (item: T, index: number): ((ev: React.MouseEvent) => void) => {\n return (ev: React.MouseEvent): void => {\n const onSuggestionRemove = this.props.onSuggestionRemove!;\n onSuggestionRemove(ev, item, index);\n ev.stopPropagation();\n };\n };\n}\n","import * as React from 'react';\nimport { IPickerItemProps } from './PickerItem.types';\nimport { IRefObject, IStyleFunctionOrObject } from '../../Utilities';\nimport { ISuggestionModel, ISuggestionsProps } from './Suggestions/Suggestions.types';\nimport { Autofill } from '../../Autofill';\nimport { ICalloutProps } from '../../Callout';\nimport { ITheme, IStyle } from '../../Styling';\nimport { ISuggestionItemProps } from '../pickers/Suggestions/SuggestionsItem.types';\n\n/**\n * BasePicker component.\n * {@docCategory Pickers}\n */\nexport interface IBasePicker {\n /** Gets the current value of the input. */\n items: T[] | undefined;\n\n /** Sets focus to the focus zone. */\n focus: () => void;\n\n /** Set focus to the input */\n focusInput: () => void;\n\n /**\n * When called, will take the currently selected suggestion and complete it.\n * If called with forceComplete true, it will attempt to force the current suggestion\n * to complete, must provide both createGenericSuggestion, so the text can be turned into\n * an object in the right shape, and onValidateInput, so the object knows if it's correct or not.\n */\n completeSuggestion: (forceComplete?: boolean) => void;\n}\n\n/**\n * Type T is the type of the item that is displayed\n * and searched for by the picker. For example, if the picker is\n * displaying persona's then type T could either be of Persona or IPersona props\n * {@docCategory Pickers}\n */\n// eslint-disable-next-line deprecation/deprecation\nexport interface IBasePickerProps extends React.Props {\n /**\n * Optional callback to access the IBasePicker interface. Use this instead of ref for accessing\n * the public methods and properties of the component.\n */\n componentRef?: IRefObject>;\n\n /**\n * Function that specifies how the selected item will appear.\n */\n onRenderItem?: (props: IPickerItemProps) => JSX.Element;\n\n /**\n * Function that specifies how an individual suggestion item will appear.\n */\n onRenderSuggestionsItem?: (props: T, itemProps: ISuggestionItemProps) => JSX.Element;\n\n /**\n * A callback for what should happen when a person types text into the input.\n * Returns the already selected items so the resolver can filter them out.\n * If used in conjunction with resolveDelay this will only kick off after the delay throttle.\n */\n onResolveSuggestions: (filter: string, selectedItems?: T[]) => T[] | PromiseLike;\n\n /**\n * The delay time in ms before resolving suggestions, which is kicked off when input has been changed.\n * e.g. If a second input change happens within the resolveDelay time, the timer will start over.\n * Only until after the timer completes will onResolveSuggestions be called.\n */\n resolveDelay?: number;\n\n /**\n * A callback for what should happen when a user clicks within the input area.\n * @deprecated Please use `onEmptyResolveSuggestions` instead, as the suggestions aren't about\n * setting focus as they are about resolving suggestions when there is no input.\n */\n onEmptyInputFocus?: (selectedItems?: T[]) => T[] | PromiseLike;\n\n /**\n * A callback for what should happen when suggestions are shown without\n * input provided.\n * Returns the already selected items so the resolver can filter them out.\n * If used in conjunction with resolveDelay this will only kick off after the delay throttle.\n */\n onEmptyResolveSuggestions?: (selectedItems?: T[]) => T[] | PromiseLike;\n\n /**\n * Initial items that have already been selected and should appear in the people picker.\n */\n defaultSelectedItems?: T[];\n\n /**\n * A callback for when the selected list of items changes.\n */\n onChange?: (items?: T[]) => void;\n\n /**\n * A callback for when the user put focus on the picker\n * @deprecated Use `inputProps.onFocus` instead\n */\n onFocus?: React.FocusEventHandler;\n\n /**\n * A callback for when the user moves the focus away from the picker\n */\n onBlur?: React.FocusEventHandler;\n\n /**\n * A callback to get text from an item. Used to autofill text in the pickers.\n */\n getTextFromItem?: (item: T, currentValue?: string) => string;\n\n /**\n * A callback that gets the rest of the results when a user clicks get more results.\n */\n onGetMoreResults?: (filter: string, selectedItems?: T[]) => T[] | PromiseLike;\n\n /**\n * ClassName for the picker.\n */\n className?: string;\n\n /**\n * The properties that will get passed to the Suggestions component.\n */\n pickerSuggestionsProps?: IBasePickerSuggestionsProps;\n\n /**\n * The properties that will get passed to the Callout component.\n */\n pickerCalloutProps?: ICalloutProps;\n\n /**\n * AutoFill input native props\n * @defaultvalue undefined\n */\n inputProps?: IInputProps;\n\n /**\n * A callback for when an item is removed from the suggestion list\n */\n onRemoveSuggestion?: (item: T) => void;\n\n /**\n * A function used to validate if raw text entered into the well can be added into the selected items list\n */\n onValidateInput?: (input: string) => ValidationState;\n\n /**\n * The text to display while searching for more results in a limited suggestions list\n */\n searchingText?: ((props: { input: string }) => string) | string;\n\n /**\n * Flag for disabling the picker.\n * @defaultvalue false\n */\n disabled?: boolean;\n\n /**\n * Restrict the amount of selectable items.\n * @defaultvalue undefined\n */\n itemLimit?: number;\n\n /**\n * Function that specifies how arbitrary text entered into the well is handled.\n */\n createGenericItem?: (input: string, ValidationState: ValidationState) => ISuggestionModel | T;\n\n /**\n * Aria label for the \"X\" button in the selected item component.\n * @defaultvalue ''\n */\n removeButtonAriaLabel?: string;\n\n /**\n * Optional aria-label that will be placed on the element that has the role \"combobox\"\n * attached. Additionally aria-labelled by will get added to the supporting input element contained\n * with in the combobox container\n */\n ['aria-label']?: string;\n\n /**\n * A callback to process a selection after the user selects something from the picker. If the callback returns null,\n * the item will not be added to the picker.\n */\n onItemSelected?: (selectedItem?: T) => T | PromiseLike | null;\n\n /**\n * The items that the base picker should currently display as selected.\n * If this is provided then the picker will act as a controlled component.\n */\n selectedItems?: T[];\n\n /**\n * Aria label for the displayed selection. A good value would be something like \"Selected Contacts\".\n * @defaultvalue ''\n */\n selectionAriaLabel?: string;\n\n /**\n * Override the role used for the element containing selected items.\n * Update this if onRenderItem does not return elements with role=\"listitem\".\n * A good alternative would be 'group'.\n * @defaultvalue 'list'\n */\n selectionRole?: string;\n\n /**\n * A callback used to modify the input string.\n */\n onInputChange?: (input: string) => string;\n\n /**\n * A callback to override the default behavior of adding the selected suggestion on dismiss. If it returns true or\n * nothing, the selected item will be added on dismiss. If false, the selected item will not be added on dismiss.\n *\n */\n onDismiss?: (ev?: any, selectedItem?: T) => boolean | void;\n\n /**\n * Adds an additional alert for the currently selected suggestion. This prop should be set to true for IE11 and below,\n * as it enables proper screen reader behavior for each suggestion (since aria-activedescendant does not work\n * with IE11). It should not be set for modern browsers (Edge, Chrome).\n * @defaultvalue false\n */\n enableSelectedSuggestionAlert?: boolean;\n\n /**\n * Call to provide customized styling that will layer on top of the variant rules.\n */\n styles?: IStyleFunctionOrObject;\n\n /**\n * Theme provided by styled() function.\n */\n theme?: ITheme;\n}\n\n/**\n * Subset of picker options that may be legally passed through a picker to its\n * internal Suggestions component.\n * {@docCategory Pickers}\n */\nexport interface IBasePickerSuggestionsProps\n extends Pick<\n ISuggestionsProps,\n | 'onRenderNoResultFound'\n | 'suggestionsHeaderText'\n | 'mostRecentlyUsedHeaderText'\n | 'noResultsFoundText'\n | 'className'\n | 'suggestionsClassName'\n | 'suggestionsItemClassName'\n | 'searchForMoreText'\n | 'forceResolveText'\n | 'loadingText'\n | 'searchingText'\n | 'resultsFooterFull'\n | 'resultsFooter'\n | 'resultsMaximumNumber'\n | 'showRemoveButtons'\n | 'suggestionsAvailableAlertText'\n | 'suggestionsContainerAriaLabel'\n | 'showForceResolve'\n > {}\n\n/**\n * Validation state of the user's input.\n * {@docCategory Pickers}\n */\nexport enum ValidationState {\n /** User input is valid. */\n valid,\n\n /** User input could be valid or invalid, its state is not known yet. */\n warning,\n\n /** User input is invalid. */\n invalid,\n}\n\n/**\n * Pickers' input props interface\n * {@docCategory Pickers}\n */\nexport interface IInputProps extends React.InputHTMLAttributes {\n /**\n * Screen reader label to apply to an input element.\n */\n 'aria-label'?: string;\n\n /**\n * The default value to be visible when the autofill first created.\n * This is different than placeholder text because the placeholder text will disappear and re-appear. This\n * text persists until deleted or changed.\n */\n defaultVisibleValue?: string;\n}\n\n/**\n * The props needed to construct styles.\n * {@docCategory Pickers}\n */\nexport type IBasePickerStyleProps = Pick, 'theme' | 'className' | 'disabled'> & {\n /** Whether text style area is focused */\n isFocused?: boolean;\n\n /** Optional pickerInput className */\n inputClassName?: string;\n};\n\n/**\n * Represents the stylable areas of the control.\n * {@docCategory Pickers}\n */\nexport interface IBasePickerStyles {\n /** Root element of any picker extending from BasePicker (wraps all the elements). */\n root: IStyle;\n\n /**\n * Refers to the elements already selected (picked) wrapped by `itemsWrapper` along with the input to type\n * a new selection.\n */\n text: IStyle;\n\n /** Refers to the items already selected (picked). */\n itemsWrapper: IStyle;\n\n /** Refers to the input were to type new selections (picks). */\n input: IStyle;\n\n /** Refers to helper element used for accessibility tools (hidden from view on screen). */\n screenReaderText: IStyle;\n}\n","import { ISuggestionModel } from './Suggestions.types';\n\n/**\n * {@docCategory Pickers}\n */\nexport class SuggestionsController {\n public currentIndex: number;\n public currentSuggestion: ISuggestionModel | undefined;\n public suggestions: ISuggestionModel[];\n\n constructor() {\n this.suggestions = [];\n this.currentIndex = -1;\n }\n\n public updateSuggestions(newSuggestions: T[], selectedIndex?: number): void {\n if (newSuggestions && newSuggestions.length > 0) {\n this.suggestions = this.convertSuggestionsToSuggestionItems(newSuggestions);\n this.currentIndex = selectedIndex ? selectedIndex : 0;\n if (selectedIndex! === -1) {\n this.currentSuggestion = undefined;\n } else if (selectedIndex !== undefined) {\n this.suggestions[selectedIndex].selected = true;\n this.currentSuggestion = this.suggestions[selectedIndex];\n }\n } else {\n this.suggestions = [];\n this.currentIndex = -1;\n this.currentSuggestion = undefined;\n }\n }\n\n /**\n * Increments the suggestion index and gets the next suggestion in the list.\n */\n public nextSuggestion(): boolean {\n if (this.suggestions && this.suggestions.length) {\n if (this.currentIndex < this.suggestions.length - 1) {\n this.setSelectedSuggestion(this.currentIndex + 1);\n return true;\n } else if (this.currentIndex === this.suggestions.length - 1) {\n this.setSelectedSuggestion(0);\n return true;\n }\n }\n\n return false;\n }\n\n /**\n * Decrements the suggestion index and gets the previous suggestion in the list.\n */\n public previousSuggestion(): boolean {\n if (this.suggestions && this.suggestions.length) {\n if (this.currentIndex > 0) {\n this.setSelectedSuggestion(this.currentIndex - 1);\n return true;\n } else if (this.currentIndex === 0) {\n this.setSelectedSuggestion(this.suggestions.length - 1);\n return true;\n }\n }\n\n return false;\n }\n\n public getSuggestions(): ISuggestionModel[] {\n return this.suggestions;\n }\n\n public getCurrentItem(): ISuggestionModel {\n return this.currentSuggestion!;\n }\n\n public getSuggestionAtIndex(index: number): ISuggestionModel {\n return this.suggestions[index];\n }\n\n public hasSelectedSuggestion(): boolean {\n return this.currentSuggestion ? true : false;\n }\n\n public removeSuggestion(index: number): void {\n this.suggestions.splice(index, 1);\n }\n\n public createGenericSuggestion(itemToConvert: ISuggestionModel | T) {\n const itemToAdd = this.convertSuggestionsToSuggestionItems([itemToConvert])[0];\n this.currentSuggestion = itemToAdd;\n }\n\n public convertSuggestionsToSuggestionItems(suggestions: Array | T>): ISuggestionModel[] {\n return Array.isArray(suggestions) ? suggestions.map(this._ensureSuggestionModel) : [];\n }\n\n public deselectAllSuggestions(): void {\n if (this.currentIndex > -1) {\n this.suggestions[this.currentIndex].selected = false;\n this.currentIndex = -1;\n }\n }\n\n public setSelectedSuggestion(index: number): void {\n if (index > this.suggestions.length - 1 || index < 0) {\n this.currentIndex = 0;\n this.currentSuggestion!.selected = false;\n this.currentSuggestion = this.suggestions[0];\n this.currentSuggestion.selected = true;\n } else {\n if (this.currentIndex > -1) {\n this.suggestions[this.currentIndex].selected = false;\n }\n this.suggestions[index].selected = true;\n this.currentIndex = index;\n this.currentSuggestion = this.suggestions[index];\n }\n }\n\n private _isSuggestionModel = (value: ISuggestionModel | T): value is ISuggestionModel => {\n return (>value).item !== undefined;\n };\n\n private _ensureSuggestionModel = (suggestion: ISuggestionModel | T): ISuggestionModel => {\n if (this._isSuggestionModel(suggestion)) {\n return suggestion as ISuggestionModel;\n } else {\n return {\n item: suggestion,\n selected: false,\n ariaLabel: (suggestion).name || (suggestion).primaryText,\n } as ISuggestionModel;\n }\n };\n}\n","import {\n getGlobalClassNames,\n getHighContrastNoAdjustStyle,\n HighContrastSelector,\n IStyle,\n hiddenContentStyle,\n} from '../../../Styling';\nimport { ISuggestionsStyleProps, ISuggestionsStyles } from './Suggestions.types';\n\nconst GlobalClassNames = {\n root: 'ms-Suggestions',\n suggestionsContainer: 'ms-Suggestions-container',\n title: 'ms-Suggestions-title',\n forceResolveButton: 'ms-forceResolve-button',\n searchForMoreButton: 'ms-SearchMore-button',\n spinner: 'ms-Suggestions-spinner',\n noSuggestions: 'ms-Suggestions-none',\n suggestionsAvailable: 'ms-Suggestions-suggestionsAvailable',\n isSelected: 'is-selected',\n};\n\nexport function getStyles(props: ISuggestionsStyleProps): ISuggestionsStyles {\n const { className, suggestionsClassName, theme, forceResolveButtonSelected, searchForMoreButtonSelected } = props;\n\n const { palette, semanticColors, fonts } = theme;\n\n const classNames = getGlobalClassNames(GlobalClassNames, theme);\n\n const actionButtonStyles: IStyle = {\n backgroundColor: 'transparent',\n border: 0,\n cursor: 'pointer',\n margin: 0,\n paddingLeft: 8,\n position: 'relative',\n borderTop: `1px solid ${palette.neutralLight}`,\n height: 40,\n textAlign: 'left',\n width: '100%',\n fontSize: fonts.small.fontSize,\n selectors: {\n ':hover': {\n backgroundColor: semanticColors.menuItemBackgroundPressed,\n cursor: 'pointer',\n },\n ':focus, :active': {\n backgroundColor: palette.themeLight,\n },\n '.ms-Button-icon': {\n fontSize: fonts.mediumPlus.fontSize,\n width: 25,\n },\n '.ms-Button-label': {\n margin: '0 4px 0 9px',\n },\n },\n };\n\n const actionButtonSelectedStyles: IStyle = {\n backgroundColor: palette.themeLight,\n selectors: {\n [HighContrastSelector]: {\n backgroundColor: 'Highlight',\n borderColor: 'Highlight',\n color: 'HighlightText',\n ...getHighContrastNoAdjustStyle(),\n },\n },\n };\n\n return {\n root: [\n classNames.root,\n {\n minWidth: 260,\n },\n className,\n ],\n suggestionsContainer: [\n classNames.suggestionsContainer,\n {\n overflowY: 'auto',\n overflowX: 'hidden',\n maxHeight: 300,\n transform: 'translate3d(0,0,0)',\n },\n suggestionsClassName,\n ],\n title: [\n classNames.title,\n {\n padding: '0 12px',\n fontSize: fonts.small.fontSize,\n color: palette.themePrimary,\n lineHeight: 40,\n borderBottom: `1px solid ${semanticColors.menuItemBackgroundPressed}`,\n },\n ],\n forceResolveButton: [\n classNames.forceResolveButton,\n actionButtonStyles,\n forceResolveButtonSelected && [classNames.isSelected, actionButtonSelectedStyles],\n ],\n searchForMoreButton: [\n classNames.searchForMoreButton,\n actionButtonStyles,\n searchForMoreButtonSelected && [classNames.isSelected, actionButtonSelectedStyles],\n ],\n noSuggestions: [\n classNames.noSuggestions,\n {\n textAlign: 'center',\n color: palette.neutralSecondary,\n fontSize: fonts.small.fontSize,\n lineHeight: 30,\n },\n ],\n suggestionsAvailable: [classNames.suggestionsAvailable, hiddenContentStyle],\n subComponentStyles: {\n spinner: {\n root: [\n classNames.spinner,\n {\n margin: '5px 0',\n paddingLeft: 14,\n textAlign: 'left',\n whiteSpace: 'nowrap',\n lineHeight: 20,\n fontSize: fonts.small.fontSize,\n },\n ],\n circle: {\n display: 'inline-block',\n verticalAlign: 'middle',\n },\n label: {\n display: 'inline-block',\n verticalAlign: 'middle',\n margin: '0 10px 0 16px',\n },\n },\n },\n };\n}\n","/* eslint-disable */\nimport { loadStyles } from '@microsoft/load-themed-styles';\nloadStyles([{\"rawString\":\".pickerText_73cdfb49{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid \"},{\"theme\":\"neutralTertiary\",\"defaultValue\":\"#a19f9d\"},{\"rawString\":\";min-width:180px;min-height:30px}.pickerText_73cdfb49:hover{border-color:\"},{\"theme\":\"inputBorderHovered\",\"defaultValue\":\"#323130\"},{\"rawString\":\"}.pickerText_73cdfb49.inputFocused_73cdfb49{position:relative;border-color:\"},{\"theme\":\"inputFocusBorderAlt\",\"defaultValue\":\"#0078d4\"},{\"rawString\":\"}.pickerText_73cdfb49.inputFocused_73cdfb49:after{pointer-events:none;content:'';position:absolute;left:-1px;top:-1px;bottom:-1px;right:-1px;border:2px solid \"},{\"theme\":\"inputFocusBorderAlt\",\"defaultValue\":\"#0078d4\"},{\"rawString\":\"}@media screen and (-ms-high-contrast:active){.pickerText_73cdfb49.inputDisabled_73cdfb49{position:relative;border-color:GrayText}.pickerText_73cdfb49.inputDisabled_73cdfb49:after{pointer-events:none;content:'';position:absolute;left:0;top:0;bottom:0;right:0;background-color:Window}}.pickerInput_73cdfb49{height:34px;border:none;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;outline:0;padding:0 6px 0;-ms-flex-item-align:end;align-self:flex-end}.pickerItems_73cdfb49{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;max-width:100%}.screenReaderOnly_73cdfb49{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}\"}]);\nexport const pickerText = \"pickerText_73cdfb49\";\nexport const inputFocused = \"inputFocused_73cdfb49\";\nexport const inputDisabled = \"inputDisabled_73cdfb49\";\nexport const pickerInput = \"pickerInput_73cdfb49\";\nexport const pickerItems = \"pickerItems_73cdfb49\";\nexport const screenReaderOnly = \"screenReaderOnly_73cdfb49\";","import * as React from 'react';\nimport {\n Async,\n KeyCodes,\n css,\n elementContains,\n getId,\n classNamesFunction,\n styled,\n initializeComponentRef,\n} from '../../Utilities';\nimport { IProcessedStyleSet } from '../../Styling';\nimport { Callout } from '../../Callout';\nimport { Selection, SelectionZone, SelectionMode } from '../../utilities/selection/index';\nimport { DirectionalHint } from '../../common/DirectionalHint';\nimport { Suggestions } from './Suggestions/Suggestions';\nimport {\n ISuggestions,\n ISuggestionsProps,\n ISuggestionsStyleProps,\n ISuggestionsStyles,\n} from './Suggestions/Suggestions.types';\nimport { getStyles as suggestionsStyles } from './Suggestions/Suggestions.styles';\nimport { SuggestionsController } from './Suggestions/SuggestionsController';\nimport {\n IBasePicker,\n IBasePickerProps,\n ValidationState,\n IBasePickerStyleProps,\n IBasePickerStyles,\n} from './BasePicker.types';\nimport { IAutofill, Autofill } from '../Autofill/index';\nimport { IPickerItemProps } from './PickerItem.types';\nimport * as stylesImport from './BasePicker.scss';\nconst legacyStyles: any = stylesImport;\n\nexport interface IBasePickerState {\n items?: any;\n suggestedDisplayValue?: string;\n moreSuggestionsAvailable?: boolean;\n isFocused?: boolean;\n isSearching?: boolean;\n isMostRecentlyUsedVisible?: boolean;\n suggestionsVisible?: boolean;\n suggestionsLoading?: boolean;\n isResultsFooterVisible?: boolean;\n selectedIndices?: number[];\n}\n\n/**\n * Aria id's for internal picker components\n * {@docCategory Pickers}\n */\nexport type IPickerAriaIds = {\n /**\n * Aria id for selected suggestion alert component\n */\n selectedSuggestionAlert: string;\n /**\n * Aria id for selected items container component\n */\n selectedItems: string;\n /**\n * Aria id for suggestions list component\n */\n suggestionList: string;\n /**\n * Aria id for element with role=combobox\n */\n combobox: string;\n};\n\nconst getClassNames = classNamesFunction();\n\n/**\n * Should be removed once new picker without inheritance is created\n */\nfunction getStyledSuggestions(suggestionsType: new (props: ISuggestionsProps) => Suggestions) {\n return styled, ISuggestionsStyleProps, ISuggestionsStyles>(\n suggestionsType,\n suggestionsStyles,\n undefined,\n {\n scope: 'Suggestions',\n },\n );\n}\n\n/**\n * {@docCategory Pickers}\n */\nexport class BasePicker>\n extends React.Component\n implements IBasePicker {\n // Refs\n protected root = React.createRef();\n protected input = React.createRef();\n protected suggestionElement = React.createRef>();\n\n protected selection: Selection;\n protected suggestionStore: SuggestionsController;\n /**\n * @deprecated this is no longer necessary as typescript now supports generic elements\n */\n protected SuggestionOfProperType = Suggestions as new (props: ISuggestionsProps) => Suggestions;\n protected currentPromise: PromiseLike | undefined;\n protected _ariaMap: IPickerAriaIds;\n // eslint-disable-next-line deprecation/deprecation\n private _styledSuggestions = getStyledSuggestions(this.SuggestionOfProperType);\n private _id: string;\n private _async: Async;\n\n public static getDerivedStateFromProps(newProps: IBasePickerProps) {\n if (newProps.selectedItems) {\n return { items: newProps.selectedItems };\n }\n return null;\n }\n\n constructor(basePickerProps: P) {\n super(basePickerProps);\n\n initializeComponentRef(this);\n this._async = new Async(this);\n\n const items: T[] = basePickerProps.selectedItems || basePickerProps.defaultSelectedItems || [];\n\n this._id = getId();\n this._ariaMap = {\n selectedItems: `selected-items-${this._id}`,\n selectedSuggestionAlert: `selected-suggestion-alert-${this._id}`,\n suggestionList: `suggestion-list-${this._id}`,\n combobox: `combobox-${this._id}`,\n };\n this.suggestionStore = new SuggestionsController();\n this.selection = new Selection({ onSelectionChanged: () => this.onSelectionChange() });\n this.selection.setItems(items);\n this.state = {\n items: items,\n suggestedDisplayValue: '',\n isMostRecentlyUsedVisible: false,\n moreSuggestionsAvailable: false,\n isFocused: false,\n isSearching: false,\n selectedIndices: [],\n };\n }\n\n public get items(): T[] {\n return this.state.items;\n }\n\n public componentDidMount(): void {\n this.selection.setItems(this.state.items);\n this._onResolveSuggestions = this._async.debounce(this._onResolveSuggestions, this.props.resolveDelay);\n }\n\n public componentDidUpdate(oldProps: P, oldState: IBasePickerState) {\n if (this.state.items && this.state.items !== oldState.items) {\n const currentSelectedIndex = this.selection.getSelectedIndices()[0];\n this.selection.setItems(this.state.items);\n if (this.state.isFocused) {\n // Reset focus and selection so that selected item stays in sync if something\n // has been removed\n if (this.state.items.length < oldState.items.length) {\n this.selection.setIndexSelected(currentSelectedIndex, false, true);\n this.resetFocus(currentSelectedIndex);\n }\n // Reset focus to last item if the input is removed\n else if (this.state.items.length > oldState.items.length && !this.canAddItems()) {\n this.resetFocus(this.state.items.length - 1);\n }\n }\n }\n }\n\n public componentWillUnmount(): void {\n if (this.currentPromise) {\n this.currentPromise = undefined;\n }\n this._async.dispose();\n }\n\n public focus() {\n if (this.input.current) {\n this.input.current.focus();\n }\n }\n\n public focusInput() {\n if (this.input.current) {\n this.input.current.focus();\n }\n }\n\n public dismissSuggestions = (ev?: any): void => {\n const selectItemFunction = () => {\n let addItemOnDismiss: boolean | void = true;\n if (this.props.onDismiss) {\n addItemOnDismiss = this.props.onDismiss(\n ev,\n this.suggestionStore.currentSuggestion ? this.suggestionStore.currentSuggestion.item : undefined,\n );\n }\n\n if (!ev || (ev && !ev.defaultPrevented)) {\n // Select the first suggestion if one is available and permitted by onDismiss when user leaves.\n if (\n addItemOnDismiss !== false &&\n this.canAddItems() &&\n this.suggestionStore.hasSelectedSuggestion() &&\n this.state.suggestedDisplayValue\n ) {\n this.addItemByIndex(0);\n }\n }\n };\n\n if (this.currentPromise) {\n this.currentPromise.then(() => selectItemFunction());\n } else {\n selectItemFunction();\n }\n\n this.setState({ suggestionsVisible: false });\n };\n\n public completeSuggestion(forceComplete?: boolean) {\n if (this.suggestionStore.hasSelectedSuggestion() && this.input.current) {\n this.completeSelection(this.suggestionStore.currentSuggestion!.item);\n } else if (forceComplete) {\n this._completeGenericSuggestion();\n }\n }\n\n public refocusSuggestions = (keyCode: KeyCodes): void => {\n this.resetFocus();\n if (this.suggestionStore.suggestions && this.suggestionStore.suggestions.length > 0) {\n if (keyCode === KeyCodes.up) {\n this.suggestionStore.setSelectedSuggestion(this.suggestionStore.suggestions.length - 1);\n } else if (keyCode === KeyCodes.down) {\n this.suggestionStore.setSelectedSuggestion(0);\n }\n }\n };\n\n public render(): JSX.Element {\n const { suggestedDisplayValue, isFocused, items } = this.state;\n const { className, inputProps, disabled, selectionAriaLabel, selectionRole = 'list', theme, styles } = this.props;\n const suggestionsAvailable = this.state.suggestionsVisible ? this._ariaMap.suggestionList : '';\n // TODO\n // Clean this up by leaving only the first part after removing support for SASS.\n // Currently we can not remove the SASS styles from BasePicker class because it\n // might be used by consumers who created custom pickers from extending from\n // this base class and have not used the new 'styles' prop.\n // We check for 'styles' prop which is going to be injected by the 'styled' HOC\n // for every other already existing picker variant (PeoplePicker, TagPicker)\n // so that we can use the CSS-in-JS styles. If the check fails (ex: custom picker),\n // then we just use the old SASS styles instead.\n const classNames: Partial> = styles\n ? getClassNames(styles, {\n theme,\n className,\n isFocused,\n disabled,\n inputClassName: inputProps && inputProps.className,\n })\n : {\n root: css('ms-BasePicker', className ? className : ''),\n text: css('ms-BasePicker-text', legacyStyles.pickerText, this.state.isFocused && legacyStyles.inputFocused),\n itemsWrapper: legacyStyles.pickerItems,\n input: css('ms-BasePicker-input', legacyStyles.pickerInput, inputProps && inputProps.className),\n screenReaderText: legacyStyles.screenReaderOnly,\n };\n\n const comboLabel = this.props['aria-label'] || inputProps?.['aria-label'];\n\n // selectionAriaLabel is contained in a separate rather than an aria-label on the items list\n // because if the items list has an aria-label, the aria-describedby on the input will only read\n // that label instead of all the selected items. Using aria-labelledby instead fixes this, since\n // aria-describedby and aria-labelledby will not follow a second aria-labelledby\n return (\n \n {this.getSuggestionsAlert(classNames.screenReaderText)}\n \n \n
      \n {items.length > 0 && (\n \n {this.renderItems()}\n \n )}\n {this.canAddItems() && (\n 0 ? this._ariaMap.selectedItems : undefined}\n aria-expanded={!!this.state.suggestionsVisible}\n aria-haspopup=\"listbox\"\n aria-label={comboLabel}\n role=\"combobox\"\n disabled={disabled}\n onInputChange={this.props.onInputChange}\n />\n )}\n
      \n
      \n {this.renderSuggestions()}\n \n );\n }\n\n protected canAddItems(): boolean {\n const { items } = this.state;\n const { itemLimit } = this.props;\n return itemLimit === undefined || items.length < itemLimit;\n }\n\n protected renderSuggestions(): JSX.Element | null {\n const StyledTypedSuggestions: React.FunctionComponent> = this._styledSuggestions;\n\n return this.state.suggestionsVisible && this.input ? (\n \n \n \n ) : null;\n }\n\n protected renderItems(): JSX.Element[] {\n const { disabled, removeButtonAriaLabel } = this.props;\n const onRenderItem = this.props.onRenderItem as (props: IPickerItemProps) => JSX.Element;\n\n const { items, selectedIndices } = this.state;\n return items.map((item: any, index: number) =>\n onRenderItem({\n item,\n index,\n key: item.key ? item.key : index,\n selected: selectedIndices!.indexOf(index) !== -1,\n onRemoveItem: () => this.removeItem(item, true),\n disabled: disabled,\n onItemChange: this.onItemChange,\n removeButtonAriaLabel: removeButtonAriaLabel,\n }),\n );\n }\n\n protected resetFocus(index?: number) {\n const { items } = this.state;\n\n if (items.length && index! >= 0) {\n const newEl: HTMLElement | null =\n this.root.current &&\n (this.root.current.querySelectorAll('[data-selection-index]')[\n Math.min(index!, items.length - 1)\n ] as HTMLElement | null);\n if (newEl) {\n newEl.focus();\n }\n } else if (!this.canAddItems()) {\n this.resetFocus(items.length - 1);\n } else {\n if (this.input.current) {\n this.input.current.focus();\n }\n }\n }\n\n protected onSuggestionSelect() {\n if (this.suggestionStore.currentSuggestion) {\n const currentValue: string = this.input.current ? this.input.current.value : '';\n const itemValue: string = this._getTextFromItem(this.suggestionStore.currentSuggestion.item, currentValue);\n this.setState({ suggestedDisplayValue: itemValue });\n }\n }\n\n protected onSelectionChange() {\n this.setState({\n selectedIndices: this.selection.getSelectedIndices(),\n });\n }\n\n protected updateSuggestions(suggestions: any[]) {\n this.suggestionStore.updateSuggestions(suggestions, 0);\n this.forceUpdate();\n }\n\n /**\n * Only to be called when there is nothing in the input. Checks to see if the consumer has\n * provided a function to resolve suggestions\n */\n protected onEmptyInputFocus() {\n const emptyResolveSuggestions = this.props.onEmptyResolveSuggestions\n ? this.props.onEmptyResolveSuggestions\n : // eslint-disable-next-line deprecation/deprecation\n this.props.onEmptyInputFocus;\n\n // Only attempt to resolve suggestions if it exists\n if (emptyResolveSuggestions) {\n const suggestions = emptyResolveSuggestions(this.state.items);\n\n this.updateSuggestionsList(suggestions);\n\n this.setState({\n isMostRecentlyUsedVisible: true,\n suggestionsVisible: true,\n moreSuggestionsAvailable: false,\n });\n }\n }\n\n protected updateValue(updatedValue: string) {\n this._onResolveSuggestions(updatedValue);\n }\n\n protected updateSuggestionsList(suggestions: T[] | PromiseLike, updatedValue?: string) {\n const suggestionsArray: T[] = suggestions as T[];\n const suggestionsPromiseLike: PromiseLike = suggestions as PromiseLike;\n\n // Check to see if the returned value is an array, if it is then just pass it into the next function .\n // If the returned value is not an array then check to see if it's a promise or PromiseLike.\n // If it is then resolve it asynchronously.\n if (Array.isArray(suggestionsArray)) {\n this._updateAndResolveValue(updatedValue, suggestionsArray);\n } else if (suggestionsPromiseLike && suggestionsPromiseLike.then) {\n this.setState({\n suggestionsLoading: true,\n });\n\n // Clear suggestions\n this.suggestionStore.updateSuggestions([]);\n\n if (updatedValue !== undefined) {\n this.setState({\n suggestionsVisible: this._getShowSuggestions(),\n });\n } else {\n this.setState({\n suggestionsVisible: this.input.current! && this.input.current!.inputElement === document.activeElement,\n });\n }\n\n // Ensure that the promise will only use the callback if it was the most recent one.\n const promise: PromiseLike = (this.currentPromise = suggestionsPromiseLike);\n promise.then((newSuggestions: T[]) => {\n if (promise === this.currentPromise) {\n this._updateAndResolveValue(updatedValue, newSuggestions);\n }\n });\n }\n }\n\n protected resolveNewValue(updatedValue: string, suggestions: T[]) {\n this.updateSuggestions(suggestions);\n let itemValue: string | undefined = undefined;\n\n if (this.suggestionStore.currentSuggestion) {\n itemValue = this._getTextFromItem(this.suggestionStore.currentSuggestion.item, updatedValue);\n }\n\n // Only set suggestionloading to false after there has been time for the new suggestions to flow\n // to the suggestions list. This is to ensure that the suggestions are available before aria-activedescendant\n // is set so that screen readers will read out the first selected option.\n this.setState(\n {\n suggestedDisplayValue: itemValue,\n suggestionsVisible: this._getShowSuggestions(),\n },\n () => this.setState({ suggestionsLoading: false }),\n );\n }\n\n protected onChange(items?: T[]) {\n if (this.props.onChange) {\n (this.props.onChange as any)(items);\n }\n }\n\n protected onInputChange = (value: string): void => {\n this.updateValue(value);\n this.setState({\n moreSuggestionsAvailable: true,\n isMostRecentlyUsedVisible: false,\n });\n };\n\n protected onSuggestionClick = (ev: React.MouseEvent, item: any, index: number): void => {\n this.addItemByIndex(index);\n };\n\n protected onSuggestionRemove = (ev: React.MouseEvent, item: T, index: number): void => {\n if (this.props.onRemoveSuggestion) {\n this.props.onRemoveSuggestion(item);\n }\n this.suggestionStore.removeSuggestion(index);\n };\n\n protected onInputFocus = (ev: React.FocusEvent): void => {\n this.selection.setAllSelected(false);\n // Only trigger all of the focus if this component isn't already focused.\n // For example when an item is selected or removed from the selected list it should be treated\n // as though the input is still focused.\n if (!this.state.isFocused) {\n this._userTriggeredSuggestions();\n\n if (this.props.inputProps && this.props.inputProps.onFocus) {\n this.props.inputProps.onFocus(ev as React.FocusEvent);\n }\n }\n };\n\n protected onInputBlur = (ev: React.FocusEvent): void => {\n if (this.props.inputProps && this.props.inputProps.onBlur) {\n this.props.inputProps.onBlur(ev as React.FocusEvent);\n }\n };\n\n protected onBlur = (ev: React.FocusEvent): void => {\n if (this.state.isFocused) {\n // Only blur the entire component if an unrelated element gets focus.\n // Otherwise treat it as though it still has focus.\n // Do nothing if the blur is coming from something\n // inside the comboBox root or the comboBox menu since\n // it we are not really bluring from the whole comboBox\n let relatedTarget: EventTarget | null = ev.relatedTarget;\n\n if (ev.relatedTarget === null) {\n // In IE11, due to lack of support, event.relatedTarget is always\n // null making every onBlur call to be \"outside\" of the ComboBox\n // even when it's not. Using document.activeElement is another way\n // for us to be able to get what the relatedTarget without relying\n // on the event\n relatedTarget = document.activeElement;\n }\n if (relatedTarget && !elementContains(this.root.current!, relatedTarget as HTMLElement)) {\n this.setState({ isFocused: false });\n if (this.props.onBlur) {\n this.props.onBlur(ev as React.FocusEvent);\n }\n }\n }\n };\n\n /**\n * Reveals suggestions any time the user clicks on the input element\n * without shifting focus.\n */\n protected onClick = (ev: React.MouseEvent): void => {\n if (this.props.inputProps !== undefined && this.props.inputProps.onClick !== undefined) {\n this.props.inputProps.onClick(ev);\n }\n\n // Only primary (left) clicks show suggestions.\n if (ev.button === 0) {\n this._userTriggeredSuggestions();\n }\n };\n\n protected onFocus = () => {\n if (!this.state.isFocused) {\n this.setState({ isFocused: true });\n }\n };\n\n protected onKeyDown = (ev: React.KeyboardEvent): void => {\n // eslint-disable-next-line deprecation/deprecation\n const keyCode = ev.which;\n switch (keyCode) {\n case KeyCodes.escape:\n if (this.state.suggestionsVisible) {\n this.setState({ suggestionsVisible: false });\n ev.preventDefault();\n ev.stopPropagation();\n }\n break;\n\n case KeyCodes.tab:\n case KeyCodes.enter:\n if (this.suggestionElement.current && this.suggestionElement.current.hasSuggestedActionSelected()) {\n this.suggestionElement.current.executeSelectedAction();\n } else if (!ev.shiftKey && this.suggestionStore.hasSelectedSuggestion() && this.state.suggestionsVisible) {\n this.completeSuggestion();\n ev.preventDefault();\n ev.stopPropagation();\n } else {\n this._completeGenericSuggestion();\n }\n\n break;\n\n case KeyCodes.backspace:\n if (!this.props.disabled) {\n this.onBackspace(ev);\n }\n ev.stopPropagation();\n break;\n\n case KeyCodes.del:\n if (!this.props.disabled) {\n if (\n this.input.current &&\n ev.target === this.input.current.inputElement &&\n this.state.suggestionsVisible &&\n this.suggestionStore.currentIndex !== -1\n ) {\n if (this.props.onRemoveSuggestion) {\n this.props.onRemoveSuggestion(this.suggestionStore.currentSuggestion!.item);\n }\n this.suggestionStore.removeSuggestion(this.suggestionStore.currentIndex);\n this.forceUpdate();\n } else {\n this.onBackspace(ev);\n }\n }\n ev.stopPropagation();\n break;\n\n case KeyCodes.up:\n if (this.input.current && ev.target === this.input.current.inputElement && this.state.suggestionsVisible) {\n if (\n this.suggestionElement.current &&\n this.suggestionElement.current.tryHandleKeyDown(keyCode, this.suggestionStore.currentIndex)\n ) {\n ev.preventDefault();\n ev.stopPropagation();\n this.forceUpdate();\n } else {\n if (\n this.suggestionElement.current &&\n this.suggestionElement.current.hasSuggestedAction() &&\n this.suggestionStore.currentIndex === 0\n ) {\n ev.preventDefault();\n ev.stopPropagation();\n this.suggestionElement.current.focusAboveSuggestions();\n this.suggestionStore.deselectAllSuggestions();\n this.forceUpdate();\n } else {\n if (this.suggestionStore.previousSuggestion()) {\n ev.preventDefault();\n ev.stopPropagation();\n this.onSuggestionSelect();\n }\n }\n }\n }\n break;\n\n case KeyCodes.down:\n if (this.input.current && ev.target === this.input.current.inputElement && this.state.suggestionsVisible) {\n if (\n this.suggestionElement.current &&\n this.suggestionElement.current.tryHandleKeyDown(keyCode, this.suggestionStore.currentIndex)\n ) {\n ev.preventDefault();\n ev.stopPropagation();\n this.forceUpdate();\n } else {\n if (\n this.suggestionElement.current &&\n this.suggestionElement.current.hasSuggestedAction() &&\n this.suggestionStore.currentIndex + 1 === this.suggestionStore.suggestions.length\n ) {\n ev.preventDefault();\n ev.stopPropagation();\n this.suggestionElement.current.focusBelowSuggestions();\n this.suggestionStore.deselectAllSuggestions();\n this.forceUpdate();\n } else {\n if (this.suggestionStore.nextSuggestion()) {\n ev.preventDefault();\n ev.stopPropagation();\n this.onSuggestionSelect();\n }\n }\n }\n }\n break;\n }\n };\n\n protected onItemChange = (changedItem: T, index: number): void => {\n const { items } = this.state;\n\n if (index >= 0) {\n const newItems: T[] = items;\n newItems[index] = changedItem;\n\n this._updateSelectedItems(newItems);\n }\n };\n\n protected onGetMoreResults = (): void => {\n this.setState(\n {\n isSearching: true,\n },\n () => {\n if (this.props.onGetMoreResults && this.input.current) {\n const suggestions: T[] | PromiseLike = (this.props.onGetMoreResults as any)(\n this.input.current.value,\n this.state.items,\n );\n const suggestionsArray: T[] = suggestions as T[];\n const suggestionsPromiseLike: PromiseLike = suggestions as PromiseLike;\n\n if (Array.isArray(suggestionsArray)) {\n this.updateSuggestions(suggestionsArray);\n this.setState({ isSearching: false });\n } else if (suggestionsPromiseLike.then) {\n suggestionsPromiseLike.then((newSuggestions: T[]) => {\n this.updateSuggestions(newSuggestions);\n this.setState({ isSearching: false });\n });\n }\n } else {\n this.setState({ isSearching: false });\n }\n\n if (this.input.current) {\n this.input.current.focus();\n }\n\n this.setState({\n moreSuggestionsAvailable: false,\n isResultsFooterVisible: true,\n });\n },\n );\n };\n\n protected completeSelection = (item: T) => {\n this.addItem(item);\n this.updateValue('');\n if (this.input.current) {\n this.input.current.clear();\n }\n this.setState({ suggestionsVisible: false });\n };\n\n protected addItemByIndex = (index: number): void => {\n this.completeSelection(this.suggestionStore.getSuggestionAtIndex(index).item);\n };\n\n protected addItem = (item: T): void => {\n const processedItem: T | PromiseLike | null = this.props.onItemSelected\n ? (this.props.onItemSelected as any)(item)\n : item;\n\n if (processedItem === null) {\n return;\n }\n\n const processedItemObject: T = processedItem as T;\n const processedItemPromiseLike: PromiseLike = processedItem as PromiseLike;\n\n if (processedItemPromiseLike && processedItemPromiseLike.then) {\n processedItemPromiseLike.then((resolvedProcessedItem: T) => {\n const newItems: T[] = this.state.items.concat([resolvedProcessedItem]);\n this._updateSelectedItems(newItems);\n });\n } else {\n const newItems: T[] = this.state.items.concat([processedItemObject]);\n this._updateSelectedItems(newItems);\n }\n this.setState({ suggestedDisplayValue: '' });\n };\n\n protected removeItem = (item: IPickerItemProps, focusNextItem?: boolean): void => {\n const { items } = this.state;\n const index: number = items.indexOf(item);\n\n if (index >= 0) {\n const newItems: T[] = items.slice(0, index).concat(items.slice(index + 1));\n this._updateSelectedItems(newItems);\n }\n };\n\n protected removeItems = (itemsToRemove: any[]): void => {\n const { items } = this.state;\n const newItems: T[] = items.filter((item: any) => itemsToRemove.indexOf(item) === -1);\n\n this._updateSelectedItems(newItems);\n };\n\n // This is protected because we may expect the backspace key to work differently in a different kind of picker.\n // This lets the subclass override it and provide it's own onBackspace. For an example see the BasePickerListBelow\n protected onBackspace(ev: React.KeyboardEvent) {\n if (\n (this.state.items.length && !this.input.current) ||\n (this.input.current && !this.input.current.isValueSelected && this.input.current.cursorLocation === 0)\n ) {\n if (this.selection.getSelectedCount() > 0) {\n this.removeItems(this.selection.getSelection());\n } else {\n this.removeItem(this.state.items[this.state.items.length - 1]);\n }\n }\n }\n\n /**\n * @deprecated this is no longer necessary as focuszone has been removed\n */\n protected _shouldFocusZoneEnterInnerZone = (ev: React.KeyboardEvent): boolean => {\n // If suggestions are shown const up/down keys control them, otherwise allow them through to control the focusZone.\n if (this.state.suggestionsVisible) {\n // eslint-disable-next-line deprecation/deprecation\n switch (ev.which) {\n case KeyCodes.up:\n case KeyCodes.down:\n return true;\n }\n }\n\n // eslint-disable-next-line deprecation/deprecation\n if (ev.which === KeyCodes.enter) {\n return true;\n }\n\n return false;\n };\n\n protected getActiveDescendant() {\n if (this.state.suggestionsLoading) {\n return undefined;\n }\n\n const currentIndex = this.suggestionStore.currentIndex;\n // if the suggestions element has actions and the currentIndex does not point to a suggestion, return the action id\n if (currentIndex < 0 && this.suggestionElement.current && this.suggestionElement.current.hasSuggestedAction()) {\n return 'sug-selectedAction';\n }\n\n return currentIndex > -1 && !this.state.suggestionsLoading ? 'sug-' + currentIndex : undefined;\n }\n\n protected getSuggestionsAlert(suggestionAlertClassName: string = legacyStyles.screenReaderOnly) {\n const currentIndex = this.suggestionStore.currentIndex;\n if (this.props.enableSelectedSuggestionAlert) {\n const selectedSuggestion =\n currentIndex > -1 ? this.suggestionStore.getSuggestionAtIndex(this.suggestionStore.currentIndex) : undefined;\n const selectedSuggestionAlertText = selectedSuggestion ? selectedSuggestion.ariaLabel : undefined;\n return (\n \n {selectedSuggestionAlertText}{' '}\n \n );\n }\n }\n\n /**\n * Takes in the current updated value and either resolves it with the new suggestions\n * or if updated value is undefined then it clears out currently suggested items\n */\n private _updateAndResolveValue(updatedValue: string | undefined, newSuggestions: T[]) {\n if (updatedValue !== undefined) {\n this.resolveNewValue(updatedValue, newSuggestions);\n } else {\n this.suggestionStore.updateSuggestions(newSuggestions, -1);\n if (this.state.suggestionsLoading) {\n this.setState({\n suggestionsLoading: false,\n });\n }\n }\n }\n\n /**\n * Controls what happens whenever there is an action that impacts the selected items.\n * If `selectedItems` is provided, this will act as a controlled component and it will not update its own state.\n */\n private _updateSelectedItems(items: T[]): void {\n if (this.props.selectedItems) {\n // If the component is a controlled component then the controlling component will need to add or remove the items.\n this.onChange(items);\n } else {\n this.setState({ items: items }, () => {\n this._onSelectedItemsUpdated(items);\n });\n }\n }\n\n private _onSelectedItemsUpdated(items?: T[]): void {\n this.onChange(items);\n }\n\n /**\n * Suggestions are normally shown after the user updates text and the text\n * is non-empty, but also when the user clicks on the input element.\n * @returns True if suggestions should be shown.\n */\n private _getShowSuggestions(): boolean {\n const areSuggestionsVisible =\n this.input.current !== undefined &&\n this.input.current !== null &&\n this.input.current.inputElement === document.activeElement &&\n this.input.current.value !== '';\n\n return areSuggestionsVisible;\n }\n\n private _onResolveSuggestions = (updatedValue: string): void => {\n const suggestions: T[] | PromiseLike | null = this.props.onResolveSuggestions(updatedValue, this.state.items);\n\n if (suggestions !== null) {\n this.updateSuggestionsList(suggestions, updatedValue);\n }\n };\n\n private _completeGenericSuggestion = (): void => {\n if (\n this.props.onValidateInput &&\n this.input.current &&\n (this.props.onValidateInput as any)(this.input.current.value) !== ValidationState.invalid &&\n this.props.createGenericItem\n ) {\n const itemToConvert = this.props.createGenericItem(\n this.input.current.value,\n this.props.onValidateInput(this.input.current.value),\n );\n this.suggestionStore.createGenericSuggestion(itemToConvert);\n this.completeSuggestion();\n }\n };\n\n private _getTextFromItem(item: T, currentValue?: string): string {\n if (this.props.getTextFromItem) {\n return (this.props.getTextFromItem as any)(item, currentValue);\n } else {\n return '';\n }\n }\n\n /**\n * This should be called when the user does something other than use text entry to trigger suggestions.\n *\n */\n private _userTriggeredSuggestions = () => {\n if (!this.state.suggestionsVisible) {\n const input = this.input.current ? this.input.current.value : '';\n if (!input) {\n this.onEmptyInputFocus();\n } else {\n if (this.suggestionStore.suggestions.length === 0) {\n this._onResolveSuggestions(input);\n } else {\n this.setState({\n isMostRecentlyUsedVisible: false,\n suggestionsVisible: true,\n });\n }\n }\n }\n };\n}\n\nexport class BasePickerListBelow> extends BasePicker {\n public render(): JSX.Element {\n const { suggestedDisplayValue, isFocused } = this.state;\n const { className, inputProps, disabled, selectionAriaLabel, selectionRole = 'list', theme, styles } = this.props;\n\n const suggestionsAvailable: string | undefined = this.state.suggestionsVisible ? this._ariaMap.suggestionList : '';\n // TODO\n // Clean this up by leaving only the first part after removing support for SASS.\n // Currently we can not remove the SASS styles from BasePicker class because it\n // might be used by consumers who created custom pickers from extending from\n // this base class and have not used the new 'styles' prop.\n // We check for 'styles' prop which is going to be injected by the 'styled' HOC\n // for every other already existing picker variant (PeoplePicker, TagPicker)\n // so that we can use the CSS-in-JS styles. If the check fails (ex: custom picker),\n // then we just use the old SASS styles instead.\n const classNames: Partial> = styles\n ? getClassNames(styles, {\n theme,\n className,\n isFocused,\n inputClassName: inputProps && inputProps.className,\n })\n : {\n root: css('ms-BasePicker', className ? className : ''),\n text: css(\n 'ms-BasePicker-text',\n legacyStyles.pickerText,\n this.state.isFocused && legacyStyles.inputFocused,\n disabled && legacyStyles.inputDisabled,\n ),\n itemsWrapper: legacyStyles.pickerItems,\n input: css('ms-BasePicker-input', legacyStyles.pickerInput, inputProps && inputProps.className),\n screenReaderText: legacyStyles.screenReaderOnly,\n };\n\n const comboLabel = this.props['aria-label'] || inputProps?.['aria-label'];\n\n return (\n
      \n
      \n {this.getSuggestionsAlert(classNames.screenReaderText)}\n
      \n \n
      \n
      \n {this.renderSuggestions()}\n \n \n {this.renderItems()}\n
      \n \n \n );\n }\n\n protected onBackspace(ev: React.KeyboardEvent) {\n // override the existing backspace method to not do anything because the list items appear below.\n }\n}\n","import {\n getGlobalClassNames,\n getFocusStyle,\n HighContrastSelector,\n IStyle,\n getHighContrastNoAdjustStyle,\n} from '../../../../Styling';\nimport { ButtonGlobalClassNames } from '../../../Button/BaseButton.classNames';\nimport { IPeoplePickerItemSelectedStyleProps, IPeoplePickerItemSelectedStyles } from './PeoplePickerItem.types';\n\nconst GlobalClassNames = {\n root: 'ms-PickerPersona-container',\n itemContent: 'ms-PickerItem-content',\n removeButton: 'ms-PickerItem-removeButton',\n isSelected: 'is-selected',\n isInvalid: 'is-invalid',\n};\n\nconst REMOVE_BUTTON_SIZE = 24;\n\nexport function getStyles(props: IPeoplePickerItemSelectedStyleProps): IPeoplePickerItemSelectedStyles {\n const { className, theme, selected, invalid, disabled } = props;\n\n const { palette, semanticColors, fonts } = theme;\n\n const classNames = getGlobalClassNames(GlobalClassNames, theme);\n\n const personaPrimaryTextStyles: IStyle = [\n selected &&\n !invalid &&\n !disabled && {\n color: palette.white,\n selectors: {\n ':hover': {\n color: palette.white,\n },\n [HighContrastSelector]: {\n color: 'HighlightText',\n },\n },\n },\n ((invalid && !selected) || (invalid && selected && disabled)) && {\n color: palette.redDark,\n borderBottom: `2px dotted ${palette.redDark}`,\n selectors: {\n [`.${classNames.root}:hover &`]: {\n // override Persona root:hover selector\n color: palette.redDark,\n },\n },\n },\n invalid &&\n selected &&\n !disabled && {\n color: palette.white,\n borderBottom: `2px dotted ${palette.white}`,\n },\n disabled && {\n selectors: {\n [HighContrastSelector]: {\n color: 'GrayText',\n },\n },\n },\n ];\n\n const personaCoinInitialsStyles: IStyle = [\n invalid && {\n fontSize: fonts.xLarge.fontSize,\n },\n ];\n\n return {\n root: [\n classNames.root,\n getFocusStyle(theme, { inset: -2 }),\n {\n borderRadius: 15,\n display: 'inline-flex',\n alignItems: 'center',\n background: palette.neutralLighter,\n margin: '1px 2px',\n cursor: 'default',\n userSelect: 'none',\n maxWidth: 300,\n verticalAlign: 'middle',\n minWidth: 0,\n selectors: {\n ':hover': {\n background: !selected && !disabled ? palette.neutralLight : '',\n },\n [HighContrastSelector]: [{ border: '1px solid WindowText' }, disabled && { borderColor: 'GrayText' }],\n },\n },\n selected &&\n !disabled && [\n classNames.isSelected,\n {\n background: palette.themePrimary,\n selectors: {\n [HighContrastSelector]: {\n borderColor: 'HighLight',\n background: 'Highlight',\n ...getHighContrastNoAdjustStyle(),\n },\n },\n },\n ],\n invalid && [classNames.isInvalid],\n invalid &&\n selected &&\n !disabled && {\n background: palette.redDark,\n },\n className,\n ],\n itemContent: [\n classNames.itemContent,\n {\n flex: '0 1 auto',\n minWidth: 0,\n // CSS below is needed for IE 11 to properly truncate long persona names in the picker\n // and to clip the presence indicator (in all browsers)\n maxWidth: '100%',\n overflow: 'hidden',\n },\n ],\n removeButton: [\n classNames.removeButton,\n {\n borderRadius: 15,\n color: palette.neutralPrimary,\n flex: '0 0 auto',\n width: REMOVE_BUTTON_SIZE,\n height: REMOVE_BUTTON_SIZE,\n selectors: {\n ':hover': {\n background: palette.neutralTertiaryAlt,\n color: palette.neutralDark,\n },\n },\n },\n selected && [\n {\n color: palette.white,\n selectors: {\n ':hover': {\n color: palette.white,\n background: palette.themeDark,\n },\n ':active': {\n color: palette.white,\n background: palette.themeDarker,\n },\n [HighContrastSelector]: {\n color: 'HighlightText',\n },\n },\n },\n invalid && {\n selectors: {\n ':hover': {\n background: palette.red,\n },\n ':active': {\n background: palette.redDark,\n },\n },\n },\n ],\n disabled && {\n selectors: {\n [`.${ButtonGlobalClassNames.msButtonIcon}`]: {\n color: semanticColors.buttonText,\n },\n },\n },\n ],\n subComponentStyles: {\n persona: {\n primaryText: personaPrimaryTextStyles,\n },\n personaCoin: {\n initials: personaCoinInitialsStyles,\n },\n },\n };\n}\n","import * as React from 'react';\n\nimport { getId, classNamesFunction, styled, IStyleFunctionOrObject } from '../../../../Utilities';\nimport {\n Persona,\n PersonaSize,\n IPersonaStyleProps,\n IPersonaStyles,\n IPersonaCoinStyleProps,\n IPersonaCoinStyles,\n} from '../../../../Persona';\nimport { IconButton } from '../../../../Button';\nimport { ValidationState } from '../../BasePicker.types';\nimport {\n IPeoplePickerItemSelectedProps,\n IPeoplePickerItemSelectedStyleProps,\n IPeoplePickerItemSelectedStyles,\n} from './PeoplePickerItem.types';\nimport { getStyles } from './PeoplePickerItem.styles';\n\nconst getClassNames = classNamesFunction();\n\nexport const PeoplePickerItemBase = (props: IPeoplePickerItemSelectedProps) => {\n const { item, onRemoveItem, index, selected, removeButtonAriaLabel, styles, theme, className, disabled } = props;\n\n const itemId = getId();\n\n const classNames = getClassNames(styles, {\n theme: theme!,\n className,\n selected,\n disabled,\n invalid: item.ValidationState === ValidationState.warning,\n });\n\n const personaStyles = classNames.subComponentStyles\n ? (classNames.subComponentStyles.persona as IStyleFunctionOrObject)\n : undefined;\n\n const personaCoinStyles = classNames.subComponentStyles\n ? (classNames.subComponentStyles.personaCoin as IStyleFunctionOrObject)\n : undefined;\n\n return (\n
      \n
      \n \n
      \n \n
      \n );\n};\n\nexport const PeoplePickerItem = styled<\n IPeoplePickerItemSelectedProps,\n IPeoplePickerItemSelectedStyleProps,\n IPeoplePickerItemSelectedStyles\n>(PeoplePickerItemBase, getStyles, undefined, { scope: 'PeoplePickerItem' });\n","import { getGlobalClassNames, HighContrastSelector, IStyle } from '../../../../Styling';\nimport { IPeoplePickerItemSuggestionStyles, IPeoplePickerItemSuggestionStyleProps } from './PeoplePickerItem.types';\nimport { SuggestionsItemGlobalClassNames as suggested } from '../../Suggestions/SuggestionsItem.styles';\nconst GlobalClassNames = {\n root: 'ms-PeoplePicker-personaContent',\n personaWrapper: 'ms-PeoplePicker-Persona',\n};\n\nexport function getStyles(props: IPeoplePickerItemSuggestionStyleProps): IPeoplePickerItemSuggestionStyles {\n const { className, theme } = props;\n const classNames = getGlobalClassNames(GlobalClassNames, theme);\n\n const textSelectorsStyles: IStyle = {\n selectors: {\n [`.${suggested.isSuggested} &`]: {\n selectors: {\n [HighContrastSelector]: {\n color: 'HighlightText',\n },\n },\n },\n [`.${classNames.root}:hover &`]: {\n selectors: {\n [HighContrastSelector]: {\n color: 'HighlightText',\n },\n },\n },\n },\n };\n\n return {\n root: [\n classNames.root,\n {\n width: '100%',\n padding: '4px 12px',\n },\n className,\n ],\n personaWrapper: [\n classNames.personaWrapper,\n {\n width: 180,\n },\n ],\n subComponentStyles: {\n persona: {\n primaryText: textSelectorsStyles,\n secondaryText: textSelectorsStyles,\n },\n },\n };\n}\n","import * as React from 'react';\n\nimport { classNamesFunction, styled, IStyleFunctionOrObject } from '../../../../Utilities';\nimport { Persona, PersonaSize, IPersonaStyleProps, IPersonaStyles } from '../../../../Persona';\nimport {\n IPeoplePickerItemSuggestionProps,\n IPeoplePickerItemSuggestionStyleProps,\n IPeoplePickerItemSuggestionStyles,\n} from './PeoplePickerItem.types';\nimport { getStyles } from './PeoplePickerItemSuggestion.styles';\n\nconst getClassNames = classNamesFunction();\n\nexport const PeoplePickerItemSuggestionBase = (props: IPeoplePickerItemSuggestionProps) => {\n const { personaProps, suggestionsProps, compact, styles, theme, className } = props;\n\n const classNames = getClassNames(styles, {\n theme: theme!,\n className: (suggestionsProps && suggestionsProps.suggestionsItemClassName) || className,\n });\n\n const personaStyles =\n classNames.subComponentStyles && classNames.subComponentStyles.persona\n ? (classNames.subComponentStyles.persona as IStyleFunctionOrObject)\n : undefined;\n\n return (\n
      \n \n
      \n );\n};\n\nexport const PeoplePickerItemSuggestion = styled<\n IPeoplePickerItemSuggestionProps,\n IPeoplePickerItemSuggestionStyleProps,\n IPeoplePickerItemSuggestionStyles\n>(PeoplePickerItemSuggestionBase, getStyles, undefined, { scope: 'PeoplePickerItemSuggestion' });\n","import { getGlobalClassNames, getInputFocusStyle, hiddenContentStyle, HighContrastSelector } from '../../Styling';\nimport { IBasePickerStyleProps, IBasePickerStyles } from './BasePicker.types';\n\nconst GlobalClassNames = {\n root: 'ms-BasePicker',\n text: 'ms-BasePicker-text',\n itemsWrapper: 'ms-BasePicker-itemsWrapper',\n input: 'ms-BasePicker-input',\n};\n\nexport function getStyles(props: IBasePickerStyleProps): IBasePickerStyles {\n const { className, theme, isFocused, inputClassName, disabled } = props;\n\n if (!theme) {\n throw new Error('theme is undefined or null in base BasePicker getStyles function.');\n }\n const { semanticColors, effects, fonts } = theme;\n const { inputBorder, inputBorderHovered, inputFocusBorderAlt } = semanticColors;\n\n const classNames = getGlobalClassNames(GlobalClassNames, theme);\n\n // The following lines are to create a semi-transparent color overlay for the disabled state with designer's approval.\n // @todo: investigate the performance cost of the calculation below and apply if negligible.\n // Replacing with a static color for now.\n // const rgbColor: IRGB | undefined = cssColor(palette.neutralQuaternaryAlt);\n // const disabledOverlayColor = rgbColor ? `rgba(${rgbColor.r}, ${rgbColor.g}, ${rgbColor.b}, 0.29)` : 'transparent';\n const disabledOverlayColor = 'rgba(218, 218, 218, 0.29)';\n\n return {\n root: [classNames.root, className],\n text: [\n classNames.text,\n {\n display: 'flex',\n position: 'relative',\n flexWrap: 'wrap',\n alignItems: 'center',\n boxSizing: 'border-box',\n minWidth: 180,\n minHeight: 30,\n border: `1px solid ${inputBorder}`,\n borderRadius: effects.roundedCorner2,\n },\n !isFocused &&\n !disabled && {\n selectors: {\n ':hover': {\n borderColor: inputBorderHovered,\n },\n },\n },\n isFocused && !disabled && getInputFocusStyle(inputFocusBorderAlt, effects.roundedCorner2),\n disabled && {\n borderColor: disabledOverlayColor,\n selectors: {\n ':after': {\n content: '\"\"',\n position: 'absolute',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n background: disabledOverlayColor,\n },\n [HighContrastSelector]: {\n borderColor: 'GrayText',\n selectors: {\n ':after': {\n background: 'none',\n },\n },\n },\n },\n },\n ],\n itemsWrapper: [\n classNames.itemsWrapper,\n {\n display: 'flex',\n flexWrap: 'wrap',\n maxWidth: '100%',\n },\n ],\n input: [\n classNames.input,\n fonts.medium,\n {\n height: 30,\n border: 'none',\n flexGrow: 1,\n outline: 'none',\n padding: '0 6px 0',\n alignSelf: 'flex-end',\n borderRadius: effects.roundedCorner2,\n backgroundColor: 'transparent',\n color: semanticColors.inputText,\n selectors: {\n '::-ms-clear': {\n display: 'none',\n },\n },\n },\n inputClassName,\n ],\n screenReaderText: hiddenContentStyle,\n };\n}\n","import * as React from 'react';\n\nimport { getRTL, getInitials, styled } from '../../../Utilities';\nimport { BasePicker, BasePickerListBelow } from '../BasePicker';\nimport {\n IBasePickerProps,\n IBasePickerSuggestionsProps,\n ValidationState,\n IBasePickerStyleProps,\n IBasePickerStyles,\n} from '../BasePicker.types';\nimport { PeoplePickerItem } from './PeoplePickerItems/PeoplePickerItem';\nimport { IPersonaProps } from '../../../Persona';\nimport { PeoplePickerItemSuggestion } from './PeoplePickerItems/PeoplePickerItemSuggestion';\nimport { IPeoplePickerItemSelectedProps } from './PeoplePickerItems/PeoplePickerItem.types';\nimport { getStyles } from '../BasePicker.styles';\n\n/**\n * PeoplePicker props interface which renders Personas as items.\n * {@docCategory PeoplePicker}\n * */\nexport interface IPeoplePickerProps extends IBasePickerProps {}\n\n/**\n * {@docCategory PeoplePicker}\n */\nexport class BasePeoplePicker extends BasePicker {}\n\n/**\n * {@docCategory PeoplePicker}\n */\nexport class MemberListPeoplePicker extends BasePickerListBelow {}\n\n/**\n * Standard People Picker.\n * {@docCategory PeoplePicker}\n */\nexport class NormalPeoplePickerBase extends BasePeoplePicker {\n /** Default props for NormalPeoplePicker. */\n public static defaultProps = {\n onRenderItem: (props: IPeoplePickerItemSelectedProps) => ,\n onRenderSuggestionsItem: (personaProps: IPersonaProps, suggestionsProps?: IBasePickerSuggestionsProps) => (\n \n ),\n createGenericItem: createGenericItem,\n };\n}\n\n/**\n * Compact layout. It uses personas without secondary text when displaying search results.\n * {@docCategory PeoplePicker}\n */\nexport class CompactPeoplePickerBase extends BasePeoplePicker {\n /** Default props for CompactPeoplePicker. */\n public static defaultProps = {\n onRenderItem: (props: IPeoplePickerItemSelectedProps) => ,\n onRenderSuggestionsItem: (personaProps: IPersonaProps, suggestionsProps?: IBasePickerSuggestionsProps) => (\n \n ),\n createGenericItem: createGenericItem,\n };\n}\n\n/**\n * MemberList layout. The selected people show up below the search box.\n * {@docCategory PeoplePicker}\n */\nexport class ListPeoplePickerBase extends MemberListPeoplePicker {\n /** Default props for ListPeoplePicker. */\n public static defaultProps = {\n onRenderItem: (props: IPeoplePickerItemSelectedProps) => ,\n onRenderSuggestionsItem: (personaProps: IPersonaProps, suggestionsProps?: IBasePickerSuggestionsProps) => (\n \n ),\n createGenericItem: createGenericItem,\n };\n}\n\n/**\n * {@docCategory PeoplePicker}\n */\nexport interface IGenericItem {\n primaryText: string;\n imageInitials: string;\n ValidationState: ValidationState;\n}\n\n/**\n * {@docCategory PeoplePicker}\n */\nexport function createGenericItem(\n name: string,\n currentValidationState: ValidationState,\n): IGenericItem & { key: React.Key } {\n const personaToConvert = {\n key: name,\n primaryText: name,\n imageInitials: '!',\n ValidationState: currentValidationState,\n };\n\n if (currentValidationState !== ValidationState.warning) {\n personaToConvert.imageInitials = getInitials(name, getRTL());\n }\n\n return personaToConvert;\n}\n\nexport const NormalPeoplePicker = styled(\n NormalPeoplePickerBase,\n getStyles,\n undefined,\n {\n scope: 'NormalPeoplePicker',\n },\n);\n\nexport const CompactPeoplePicker = styled(\n CompactPeoplePickerBase,\n getStyles,\n undefined,\n {\n scope: 'CompactPeoplePicker',\n },\n);\n\nexport const ListPeoplePicker = styled(\n ListPeoplePickerBase,\n getStyles,\n undefined,\n {\n scope: 'ListPeoplePickerBase',\n },\n);\n","import { getGlobalClassNames, getFocusStyle, HighContrastSelector } from '../../../Styling';\nimport { ButtonGlobalClassNames } from '../../Button/BaseButton.classNames';\nimport { ITagItemStyleProps, ITagItemStyles } from './TagPicker.types';\nimport { getRTL } from '../../../Utilities';\n\nconst GlobalClassNames = {\n root: 'ms-TagItem',\n text: 'ms-TagItem-text',\n close: 'ms-TagItem-close',\n isSelected: 'is-selected',\n};\n\nconst TAG_HEIGHT = 26;\n\nexport function getStyles(props: ITagItemStyleProps): ITagItemStyles {\n const { className, theme, selected, disabled } = props;\n\n const { palette, effects, fonts, semanticColors } = theme;\n\n const classNames = getGlobalClassNames(GlobalClassNames, theme);\n\n return {\n root: [\n classNames.root,\n fonts.medium,\n getFocusStyle(theme),\n {\n boxSizing: 'content-box',\n flexShrink: '1',\n margin: 2,\n height: TAG_HEIGHT,\n lineHeight: TAG_HEIGHT,\n cursor: 'default',\n userSelect: 'none',\n display: 'flex',\n flexWrap: 'nowrap',\n maxWidth: 300,\n minWidth: 0, // needed to prevent long tags from overflowing container\n borderRadius: effects.roundedCorner2,\n color: semanticColors.inputText,\n background: !selected || disabled ? palette.neutralLighter : palette.themePrimary,\n selectors: {\n ':hover': [\n !disabled &&\n !selected && {\n color: palette.neutralDark,\n background: palette.neutralLight,\n selectors: {\n '.ms-TagItem-close': {\n color: palette.neutralPrimary,\n },\n },\n },\n disabled && { background: palette.neutralLighter },\n selected && !disabled && { background: palette.themePrimary },\n ],\n [HighContrastSelector]: {\n border: `1px solid ${!selected ? 'WindowText' : 'WindowFrame'}`,\n },\n },\n },\n disabled && {\n selectors: {\n [HighContrastSelector]: {\n borderColor: 'GrayText',\n },\n },\n },\n selected &&\n !disabled && [\n classNames.isSelected,\n {\n color: palette.white,\n },\n ],\n className,\n ],\n text: [\n classNames.text,\n {\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n minWidth: 30,\n margin: '0 8px',\n },\n disabled && {\n selectors: {\n [HighContrastSelector]: {\n color: 'GrayText',\n },\n },\n },\n ],\n close: [\n classNames.close,\n {\n color: palette.neutralSecondary,\n width: 30,\n height: '100%',\n flex: '0 0 auto',\n borderRadius: getRTL(theme)\n ? `${effects.roundedCorner2} 0 0 ${effects.roundedCorner2}`\n : `0 ${effects.roundedCorner2} ${effects.roundedCorner2} 0`,\n selectors: {\n ':hover': {\n background: palette.neutralQuaternaryAlt,\n color: palette.neutralPrimary,\n },\n ':active': {\n color: palette.white,\n backgroundColor: palette.themeDark,\n },\n },\n },\n selected && {\n color: palette.white,\n selectors: {\n ':hover': {\n color: palette.white,\n background: palette.themeDark,\n },\n },\n },\n disabled && {\n selectors: {\n [`.${ButtonGlobalClassNames.msButtonIcon}`]: {\n color: palette.neutralSecondary,\n },\n },\n },\n ],\n };\n}\n","import * as React from 'react';\n\nimport { styled, classNamesFunction } from '../../../Utilities';\nimport { IconButton } from '../../../Button';\n\nimport { ITagItemProps, ITagItemStyleProps, ITagItemStyles } from './TagPicker.types';\nimport { getStyles } from './TagItem.styles';\nimport { useId } from '@fluentui/react-hooks';\n\nconst getClassNames = classNamesFunction();\n\n/**\n * {@docCategory TagPicker}\n */\nexport const TagItemBase = (props: ITagItemProps) => {\n const {\n theme,\n styles,\n selected,\n disabled,\n enableTagFocusInDisabledPicker,\n children,\n className,\n index,\n onRemoveItem,\n removeButtonAriaLabel,\n title = typeof props.children === 'string' ? props.children : props.item.name,\n } = props;\n\n const classNames = getClassNames(styles, {\n theme: theme!,\n className,\n selected,\n disabled,\n });\n\n const itemId = useId();\n\n const disabledAttrs = enableTagFocusInDisabledPicker\n ? {\n 'aria-disabled': disabled,\n tabindex: 0,\n }\n : {\n disabled: disabled,\n };\n\n return (\n
      \n \n {children}\n \n \n
      \n );\n};\n\nexport const TagItem = styled(TagItemBase, getStyles, undefined, {\n scope: 'TagItem',\n});\n","import { getGlobalClassNames } from '../../../Styling';\nimport { ITagItemSuggestionStyleProps, ITagItemSuggestionStyles } from './TagPicker.types';\n\nconst GlobalClassNames = {\n suggestionTextOverflow: 'ms-TagItem-TextOverflow',\n};\n\nexport function getStyles(props: ITagItemSuggestionStyleProps): ITagItemSuggestionStyles {\n const { className, theme } = props;\n\n const classNames = getGlobalClassNames(GlobalClassNames, theme);\n\n return {\n suggestionTextOverflow: [\n classNames.suggestionTextOverflow,\n {\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n maxWidth: '60vw',\n padding: '6px 12px 7px',\n whiteSpace: 'nowrap',\n },\n className,\n ],\n };\n}\n","import * as React from 'react';\n\nimport { classNamesFunction, styled } from '../../../Utilities';\nimport { ITagItemSuggestionProps, ITagItemSuggestionStyleProps, ITagItemSuggestionStyles } from './TagPicker.types';\nimport { getStyles } from './TagItemSuggestion.styles';\n\nconst getClassNames = classNamesFunction();\n\n/**\n * {@docCategory TagPicker}\n */\nexport const TagItemSuggestionBase = (props: ITagItemSuggestionProps) => {\n const { styles, theme, children } = props;\n\n const classNames = getClassNames(styles, {\n theme: theme!,\n });\n\n return
      {children}
      ;\n};\n\nexport const TagItemSuggestion = styled<\n ITagItemSuggestionProps,\n ITagItemSuggestionStyleProps,\n ITagItemSuggestionStyles\n>(TagItemSuggestionBase, getStyles, undefined, { scope: 'TagItemSuggestion' });\n","import * as React from 'react';\nimport { styled, initializeComponentRef } from '../../../Utilities';\nimport { BasePicker } from '../BasePicker';\nimport { IBasePickerStyleProps, IBasePickerStyles } from '../BasePicker.types';\nimport { getStyles } from '../BasePicker.styles';\nimport { TagItem } from './TagItem';\nimport { TagItemSuggestion } from './TagItemSuggestion';\nimport { ITagPickerProps, ITag, ITagItemProps } from './TagPicker.types';\n\n/**\n * {@docCategory TagPicker}\n */\nexport class TagPickerBase extends BasePicker {\n public static defaultProps = {\n onRenderItem: (props: ITagItemProps) => {props.item.name},\n onRenderSuggestionsItem: (props: ITag) => {props.name},\n };\n\n constructor(props: ITagPickerProps) {\n super(props);\n initializeComponentRef(this);\n }\n}\n\nexport const TagPicker = styled(\n TagPickerBase,\n getStyles,\n undefined,\n {\n scope: 'TagPicker',\n },\n);\n","import * as React from 'react';\n\n/**\n * A callback ref function that also has a .current member for the ref's current value.\n */\nexport type RefCallback = ((value: T | null) => void) & React.RefObject;\n\n/**\n * Creates a ref, and calls a callback whenever the ref changes to a non-null value. The callback can optionally return\n * a cleanup function that'll be called before the value changes, and when the ref is unmounted.\n *\n * This can be used to work around a limitation that useEffect cannot depend on `ref.current` (see\n * https://github.com/facebook/react/issues/14387#issuecomment-503616820).\n *\n * Usage example:\n * ```ts\n * const myRef = useRefEffect(element => {\n * ...\n * return () => { ... cleanup ... };\n * });\n * ```\n * ```jsx\n *
      \n * ```\n *\n * @param callback - Called whenever the ref's value changes to non-null. Can optionally return a cleanup function.\n * @param initial - (Optional) The initial value for the ref.\n *\n * @returns A function that should be called to set the ref's value. The object also has a `.current` member that can be\n * used to access the ref's value (like a normal RefObject). It can be hooked up to an element's `ref` property.\n */\nexport function useRefEffect(callback: (value: T) => (() => void) | void, initial: T | null = null): RefCallback {\n type RefData = {\n ref: ((value: T | null) => void) & React.MutableRefObject;\n callback: (value: T) => (() => void) | void;\n cleanup?: (() => void) | void;\n };\n\n const data = React.useRef({\n ref: Object.assign(\n (value: T | null) => {\n if (data.ref.current !== value) {\n if (data.cleanup) {\n data.cleanup();\n data.cleanup = undefined;\n }\n\n data.ref.current = value;\n\n if (value !== null) {\n data.cleanup = data.callback(value);\n }\n }\n },\n {\n current: initial,\n },\n ),\n callback,\n }).current;\n\n data.callback = callback;\n\n return data.ref;\n}\n","import { getWindow } from '@fluentui/utilities';\n\n/**\n * Wrapper for ResizeObserver, with fallback for browsers that don't support ResizeObserver.\n *\n * Calls the onResize callback once layout is complete, and again whenever any of the target(s) change size.\n * Or if ResizeObserver isn't supported, calls the callback whenever the window changes size.\n *\n * @param target - Either a single element, or array of elements to watch for size changes.\n * @param onResize - Callback to be notified when layout is complete, and when the target(s) change size.\n * If this browser supports ResizeObserver, the callback will be passed the ResizeObserverEntry[] array.\n * Otherwise, the entries array will be undefined, and you'll need to find another way to get the element's size,\n * (e.g. clientWidth/clientHeight or getBoundingClientRect).\n *\n * @returns A function to clean up the observer/listener.\n */\nexport const observeResize = (\n target: Element | Element[],\n onResize: (entries: readonly ResizeObserverEntry[] | undefined) => void,\n): (() => void) => {\n if (typeof ResizeObserver !== 'undefined') {\n const observer = new ResizeObserver(onResize);\n\n if (Array.isArray(target)) {\n target.forEach(t => observer.observe(t));\n } else {\n observer.observe(target);\n }\n\n return () => observer.disconnect();\n } else {\n // Fallback for browsers that don't support ResizeObserver\n const onResizeWrapper = () => onResize(undefined);\n\n const win = getWindow(Array.isArray(target) ? target[0] : target);\n if (!win) {\n // Can't listen for resize if we can't get the window object\n return () => {\n // Nothing to clean up\n };\n }\n\n // Listen for the first animation frame, which will happen after layout is complete\n const animationFrameId = win.requestAnimationFrame(onResizeWrapper);\n win.addEventListener('resize', onResizeWrapper, false);\n\n return () => {\n win.cancelAnimationFrame(animationFrameId);\n win.removeEventListener('resize', onResizeWrapper, false);\n };\n }\n};\n\n/** Temporary type definition for ResizeObserver. Can be removed when official types are available. */\ntype ResizeObserver = {\n new (callback: (entries: readonly ResizeObserverEntry[], observer: ResizeObserver) => void): ResizeObserver;\n observe(target: Element, options?: { box: 'content-box' | 'border-box' }): void;\n unobserve(target: Element): void;\n disconnect(): void;\n};\n\n/** Temporary type definition for ResizeObserverEntry. Can be removed when official types are available. */\ntype ResizeObserverEntry = {\n readonly contentRect: DOMRectReadOnly;\n readonly target: Element;\n};\n\n/** Temporary definition for ResizeObserver. Can be removed when official types are available. */\ndeclare const ResizeObserver: ResizeObserver | undefined;\n","import * as React from 'react';\nimport { useRefEffect, RefCallback } from '@fluentui/react-hooks';\nimport { getWindow } from '@fluentui/utilities';\nimport { observeResize } from './observeResize';\n\n/**\n * Callback to notify the user that the items in the overflow have changed. This should ensure that the overflow menu\n * is visible, and contains all of the overflowing items.\n *\n * @param overflowIndex - The index of the first item in the overflow, or items.length if nothing is overflowing.\n * @param items - The list of all items in the container, and whether that particular item is in the overflow\n */\nexport type OverflowItemsChangedCallback = (\n overflowIndex: number,\n items: { ele: HTMLElement; isOverflowing: boolean }[],\n) => void;\n\n/** Parameters for {@see useOverflow} */\nexport type OverflowParams = {\n /** Callback to notify the user that the items in the overflow have changed. */\n onOverflowItemsChanged: OverflowItemsChangedCallback;\n\n /** True if the element containing overflowMenuButtonRef is in right-to-left order */\n rtl: boolean;\n\n /** Optional: Index of item that should never go into the overflow menu. */\n pinnedIndex?: number;\n};\n\n/** Return value for {@see useOverflow} */\nexport type OverflowRefs = {\n /** Set the overflow menu button's ref to this ref callback */\n menuButtonRef: RefCallback;\n};\n\n/**\n * Track whether any items don't fit within their container, and move them to the overflow menu.\n * Items are moved into the overflow menu from back to front, excluding pinned items.\n *\n * The overflow menu button must be the last sibling of all of the items that can be put into the overflow, and it\n * must be hooked up to the `setMenuButtonRef` setter function that's returned by `useOverflow`:\n * ```ts\n * const overflow = useOverflow(...);\n * ```\n * ```jsx\n * \n * // Index 0\n * // Index 1\n * ...\n *
      \n );\n };\n\n const isKeyValid = (itemKey: string | null | undefined): boolean => {\n return itemKey === null || (itemKey !== undefined && linkCollection.keyToIndexMapping[itemKey] !== undefined);\n };\n\n const getSelectedKey = () => {\n if (isKeyValid(selectedKey)) {\n return selectedKey;\n }\n if (linkCollection.links.length) {\n return linkCollection.links[0].itemKey;\n }\n return undefined;\n };\n\n classNames = getClassNames(props.styles!, {\n theme: theme!,\n linkSize,\n linkFormat,\n });\n\n const renderedSelectedKey = getSelectedKey();\n const renderedSelectedIndex = renderedSelectedKey ? linkCollection.keyToIndexMapping[renderedSelectedKey] : 0;\n\n const items = linkCollection.links.map(l =>\n renderPivotLink(linkCollection, l, renderedSelectedKey, classNames.link),\n );\n\n // The overflow menu starts empty and items[] is updated as the overflow items change\n const overflowMenuProps: IContextualMenuProps = React.useMemo(\n () => ({\n items: [],\n alignTargetEdge: true,\n directionalHint: DirectionalHint.bottomRightEdge,\n }),\n [],\n );\n\n const { menuButtonRef: overflowMenuButtonRef } = useOverflow({\n onOverflowItemsChanged: (overflowIndex, elements) => {\n // Set data-is-overflowing on each item\n elements.forEach(({ ele, isOverflowing }) => (ele.dataset.isOverflowing = `${isOverflowing}`));\n\n // Update the menu items\n overflowMenuProps.items = linkCollection.links.slice(overflowIndex).map((link, index) => ({\n key: link.itemKey || `${overflowIndex + index}`,\n onRender: () => renderPivotLink(linkCollection, link, renderedSelectedKey, classNames.linkInMenu),\n }));\n },\n rtl: getRTL(theme),\n pinnedIndex: renderedSelectedIndex,\n });\n\n return (\n
      \n \n {items}\n {overflowBehavior === 'menu' && (\n \n )}\n \n {renderedSelectedKey &&\n linkCollection.links.map(\n link =>\n (link.alwaysRender === true || renderedSelectedKey === link.itemKey) &&\n renderPivotItem(link.itemKey, renderedSelectedKey === link.itemKey),\n )}\n
      \n );\n },\n);\nPivotBase.displayName = COMPONENT_NAME;\n","import { IPivotStyleProps, IPivotStyles } from './Pivot.types';\nimport {\n AnimationVariables,\n getGlobalClassNames,\n HighContrastSelector,\n IStyle,\n normalize,\n FontWeights,\n getHighContrastNoAdjustStyle,\n} from '@fluentui/style-utilities';\nimport { IsFocusVisibleClassName } from '@fluentui/utilities';\n\nconst globalClassNames = {\n count: 'ms-Pivot-count',\n icon: 'ms-Pivot-icon',\n linkIsSelected: 'is-selected',\n link: 'ms-Pivot-link',\n linkContent: 'ms-Pivot-linkContent',\n root: 'ms-Pivot',\n rootIsLarge: 'ms-Pivot--large',\n rootIsTabs: 'ms-Pivot--tabs',\n text: 'ms-Pivot-text',\n linkInMenu: 'ms-Pivot-linkInMenu',\n overflowMenuButton: 'ms-Pivot-overflowMenuButton',\n};\n\nconst getLinkStyles = (\n props: IPivotStyleProps,\n classNames: { [key: string]: string },\n isLinkInOverflowMenu: boolean = false,\n): IStyle[] => {\n const { linkSize, linkFormat } = props;\n const { semanticColors, fonts } = props.theme;\n const rootIsLarge = linkSize === 'large';\n const rootIsTabs = linkFormat === 'tabs';\n\n return [\n fonts.medium,\n {\n color: semanticColors.actionLink,\n padding: '0 8px',\n position: 'relative',\n backgroundColor: 'transparent',\n border: 0,\n borderRadius: 0,\n selectors: {\n ':hover': {\n backgroundColor: semanticColors.buttonBackgroundHovered,\n color: semanticColors.buttonTextHovered,\n cursor: 'pointer',\n },\n ':active': {\n backgroundColor: semanticColors.buttonBackgroundPressed,\n color: semanticColors.buttonTextHovered,\n },\n ':focus': {\n outline: 'none',\n },\n [`.${IsFocusVisibleClassName} &:focus`]: {\n outline: `1px solid ${semanticColors.focusBorder}`,\n },\n [`.${IsFocusVisibleClassName} &:focus:after`]: {\n content: 'attr(data-content)',\n position: 'relative',\n border: 0,\n },\n },\n },\n !isLinkInOverflowMenu && [\n {\n display: 'inline-block',\n lineHeight: 44,\n height: 44,\n marginRight: 8,\n textAlign: 'center',\n selectors: {\n ':before': {\n backgroundColor: 'transparent',\n bottom: 0,\n content: '\"\"',\n height: 2,\n left: 8,\n position: 'absolute',\n right: 8,\n transition: `left ${AnimationVariables.durationValue2} ${AnimationVariables.easeFunction2},\n right ${AnimationVariables.durationValue2} ${AnimationVariables.easeFunction2}`,\n },\n ':after': {\n color: 'transparent',\n content: 'attr(data-content)',\n display: 'block',\n fontWeight: FontWeights.bold,\n height: 1,\n overflow: 'hidden',\n visibility: 'hidden',\n },\n },\n },\n rootIsLarge && {\n fontSize: fonts.large.fontSize,\n },\n rootIsTabs && [\n {\n marginRight: 0,\n height: 44,\n lineHeight: 44,\n backgroundColor: semanticColors.buttonBackground,\n padding: '0 10px',\n verticalAlign: 'top',\n\n selectors: {\n ':focus': {\n outlineOffset: '-1px',\n },\n [`.${IsFocusVisibleClassName} &:focus::before`]: {\n height: 'auto',\n background: 'transparent',\n transition: 'none',\n },\n '&:hover, &:focus': {\n color: semanticColors.buttonTextCheckedHovered,\n },\n '&:active, &:hover': {\n color: semanticColors.primaryButtonText,\n backgroundColor: semanticColors.primaryButtonBackground,\n },\n [`&.${classNames.linkIsSelected}`]: {\n backgroundColor: semanticColors.primaryButtonBackground,\n color: semanticColors.primaryButtonText,\n fontWeight: FontWeights.regular,\n selectors: {\n ':before': {\n backgroundColor: 'transparent',\n transition: 'none',\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n content: '\"\"',\n height: 0,\n },\n ':hover': {\n backgroundColor: semanticColors.primaryButtonBackgroundHovered,\n color: semanticColors.primaryButtonText,\n },\n '&:active': {\n backgroundColor: semanticColors.primaryButtonBackgroundPressed,\n color: semanticColors.primaryButtonText,\n },\n [HighContrastSelector]: {\n fontWeight: FontWeights.semibold,\n color: 'HighlightText',\n background: 'Highlight',\n ...getHighContrastNoAdjustStyle(),\n },\n },\n },\n },\n },\n ],\n ],\n ];\n};\n\nexport const getStyles = (props: IPivotStyleProps): IPivotStyles => {\n const { className, linkSize, linkFormat, theme } = props;\n const { semanticColors, fonts } = theme;\n\n const classNames = getGlobalClassNames(globalClassNames, theme);\n\n const rootIsLarge = linkSize === 'large';\n const rootIsTabs = linkFormat === 'tabs';\n\n return {\n root: [\n classNames.root,\n fonts.medium,\n normalize,\n {\n position: 'relative',\n color: semanticColors.link,\n whiteSpace: 'nowrap',\n },\n rootIsLarge && classNames.rootIsLarge,\n rootIsTabs && classNames.rootIsTabs,\n className,\n ],\n itemContainer: {\n selectors: {\n '&[hidden]': {\n display: 'none',\n },\n },\n },\n link: [\n classNames.link,\n ...getLinkStyles(props, classNames),\n {\n [`&[data-is-overflowing='true']`]: {\n display: 'none',\n },\n },\n ],\n overflowMenuButton: [\n classNames.overflowMenuButton,\n {\n visibility: 'hidden',\n position: 'absolute',\n right: 0,\n [`.${classNames.link}[data-is-overflowing='true'] ~ &`]: {\n visibility: 'visible',\n position: 'relative',\n },\n },\n ],\n linkInMenu: [\n classNames.linkInMenu,\n ...getLinkStyles(props, classNames, true),\n {\n textAlign: 'left',\n width: '100%',\n height: 36,\n lineHeight: 36,\n },\n ],\n linkIsSelected: [\n classNames.link,\n classNames.linkIsSelected,\n {\n fontWeight: FontWeights.semibold,\n selectors: {\n ':before': {\n backgroundColor: semanticColors.inputBackgroundChecked,\n selectors: {\n [HighContrastSelector]: {\n backgroundColor: 'Highlight',\n },\n },\n },\n ':hover::before': {\n left: 0,\n right: 0,\n },\n [HighContrastSelector]: {\n color: 'Highlight',\n },\n },\n },\n ],\n linkContent: [\n classNames.linkContent,\n {\n flex: '0 1 100%',\n selectors: {\n '& > * ': {\n marginLeft: 4,\n },\n '& > *:first-child': {\n marginLeft: 0,\n },\n },\n },\n ],\n text: [\n classNames.text,\n {\n display: 'inline-block',\n verticalAlign: 'top',\n },\n ],\n count: [\n classNames.count,\n {\n display: 'inline-block',\n verticalAlign: 'top',\n },\n ],\n icon: classNames.icon,\n };\n};\n","import * as React from 'react';\nimport { IStyle, ITheme } from '@fluentui/style-utilities';\nimport { IStyleFunctionOrObject } from '@fluentui/utilities';\nimport { PivotItem } from './PivotItem';\nimport { IFocusZoneProps } from '../../FocusZone';\n\n/**\n * {@docCategory Pivot}\n */\nexport interface IPivot {\n /**\n * Sets focus to the first pivot tab.\n */\n focus(): void;\n}\n\n/**\n * {@docCategory Pivot}\n */\nexport interface IPivotProps extends React.HTMLAttributes, React.RefAttributes {\n /**\n * Optional callback to access the IPivot interface. Use this instead of ref for accessing\n * the public methods and properties of the component.\n */\n componentRef?: React.RefObject;\n\n /**\n * Call to provide customized styling that will layer on top of the variant rules.\n */\n styles?: IStyleFunctionOrObject;\n\n /**\n * Theme provided by High-Order Component.\n */\n theme?: ITheme;\n\n /**\n * Additional css class to apply to the Pivot\n * @defaultvalue undefined\n */\n className?: string;\n\n /**\n * Default selected key for the pivot. Only provide this if the pivot is an uncontrolled component;\n * otherwise, use the `selectedKey` property.\n */\n defaultSelectedKey?: string;\n\n /**\n * Key of the selected pivot item. Updating this will override the Pivot's selected item state.\n * Only provide this if the pivot is a controlled component where you are maintaining the\n * current state; otherwise, use `defaultSelectedKey`.\n */\n selectedKey?: string | null;\n\n /**\n * Callback for when the selected pivot item is changed.\n */\n onLinkClick?: (item?: PivotItem, ev?: React.MouseEvent) => void;\n\n /**\n * Link size (normal, large)\n */\n linkSize?: PivotLinkSizeType;\n\n /**\n * Link format (links, tabs)\n */\n linkFormat?: PivotLinkFormatType;\n\n /**\n * Overflow behavior when there is not enough room to display all of the links/tabs\n * * none: Pivot links will overflow the container and may not be visible\n * * menu: Display an overflow menu that contains the tabs that don't fit\n *\n * @default none\n */\n overflowBehavior?: 'none' | 'menu';\n\n /**\n * Whether to skip rendering the tabpanel with the content of the selected tab.\n * Use this prop if you plan to separately render the tab content\n * and don't want to leave an empty tabpanel in the page that may confuse Screen Readers.\n */\n headersOnly?: boolean;\n\n /**\n * Callback to customize how IDs are generated for each tab header.\n * Useful if you're rendering content outside and need to connect aria-labelledby.\n */\n getTabId?: (itemKey: string, index: number) => string;\n\n /**\n * Props passed to the `FocusZone` component used as the root of `Pivot`.\n */\n focusZoneProps?: IFocusZoneProps;\n}\n\n/**\n * {@docCategory Pivot}\n */\nexport type IPivotStyleProps = Required> &\n Pick & {\n linkSize?: PivotLinkSizeType;\n linkFormat?: PivotLinkFormatType;\n };\n\n/**\n * {@docCategory Pivot}\n */\nexport interface IPivotStyles {\n /**\n * Style for the root element.\n */\n root: IStyle;\n link: IStyle;\n linkIsSelected: IStyle;\n linkContent: IStyle;\n text: IStyle;\n count: IStyle;\n icon: IStyle;\n linkInMenu: IStyle;\n overflowMenuButton: IStyle;\n itemContainer?: IStyle;\n}\n\n/**\n * {@docCategory Pivot}\n * Display mode for the pivot links/tabs\n */\nexport type PivotLinkFormatType = 'links' | 'tabs';\n\n/**\n * {@docCategory Pivot}\n * Size of the pivot links/tabs\n */\nexport type PivotLinkSizeType = 'normal' | 'large';\n\n/**\n * {@docCategory Pivot}\n * @deprecated Use strings 'links' or 'tabs' instead of this enum\n */\nexport const enum PivotLinkFormat {\n /**\n * Display Pivot Links as links\n */\n links = 'links',\n\n /**\n * Display Pivot Links as Tabs\n */\n tabs = 'tabs',\n}\n\n/**\n * {@docCategory Pivot}\n * @deprecated Use strings 'normal' or 'large' instead of this enum\n */\nexport const enum PivotLinkSize {\n /**\n * Display Link using normal font size\n */\n normal = 'normal',\n\n /**\n * Display links using large font size\n */\n large = 'large',\n}\n","import * as React from 'react';\nimport { styled } from '@fluentui/utilities';\nimport { IPivotProps, IPivotStyleProps, IPivotStyles } from './Pivot.types';\nimport { PivotBase } from './Pivot.base';\nimport { getStyles } from './Pivot.styles';\n\n/**\n * The Pivot control and related tabs pattern are used for navigating frequently accessed,\n * distinct content categories. Pivots allow for navigation between two or more content\n * views and relies on text headers to articulate the different sections of content.\n */\nexport const Pivot: React.FunctionComponent = styled(\n PivotBase,\n getStyles,\n undefined,\n {\n scope: 'Pivot',\n },\n);\n","import * as React from 'react';\nimport { IStyle, ITheme, IProcessedStyleSet } from '../../Styling';\nimport { IRefObject, IRenderFunction, IStyleFunctionOrObject } from '../../Utilities';\n\n/**\n * {@docCategory Rating}\n */\nexport interface IRating {\n /** Current displayed rating value. Will be `min` if the user has not yet set a rating. */\n rating: number;\n}\n\nexport interface IRatingStarProps {\n fillPercentage: number;\n disabled?: boolean;\n classNames: IProcessedStyleSet;\n icon: string;\n starNum?: number;\n unselectedIcon?: string;\n}\n\n/**\n * Rating component props.\n * {@docCategory Rating}\n */\nexport interface IRatingProps extends React.HTMLAttributes, React.RefAttributes {\n /**\n * Optional callback to access the IRating interface. Use this instead of ref for accessing\n * the public methods and properties of the component.\n */\n componentRef?: IRefObject;\n\n /**\n * Current rating. Must be a number between `min` and `max`. Only provide this if the Rating\n * is a controlled component where you are maintaining its current state; otherwise, use the\n * `defaultRating` property.\n */\n rating?: number;\n\n /**\n * Default rating. Must be a number between `min` and `max`. Only provide this if the Rating\n * is an uncontrolled component; otherwise, use the `rating` property.\n */\n defaultRating?: number;\n\n /**\n * Minimum rating. Must be \\>= 0.\n * @defaultvalue 0 if `allowZeroStars` is true, 1 otherwise\n * @deprecated Use `allowZeroStars` instead.\n */\n min?: number;\n\n /**\n * Maximum rating. Must be \\>= `min`.\n * @defaultvalue 5\n */\n max?: number;\n\n /**\n * Allow the initial rating value (or updated values passed in through `rating`) to be 0.\n * Note that a value of 0 still won't be selectable by mouse or keyboard.\n */\n allowZeroStars?: boolean;\n\n /**\n * Whether the control should be disabled.\n */\n disabled?: boolean;\n\n /**\n * Custom icon name for selected rating elements.\n * @defaultvalue FavoriteStarFill\n */\n icon?: string;\n\n /**\n * Custom icon name for unselected rating elements.\n * @defaultvalue FavoriteStar\n */\n unselectedIcon?: string;\n\n /**\n * Optional custom renderer for the star component.\n */\n onRenderStar?: IRenderFunction;\n\n /**\n * Size of rating\n * @defaultvalue Small\n */\n size?: RatingSize;\n\n /**\n * Callback for when the rating changes.\n */\n onChange?: (event: React.FormEvent, rating?: number) => void;\n\n /**\n * Optional label format for each individual rating star (not the rating control as a whole)\n * that will be read by screen readers. Placeholder `{0}` is the current rating and placeholder\n * `{1}` is the max: for example, `\"Select {0} of {1} stars\"`.\n *\n * (To set the label for the control as a whole, use `getAriaLabel` or `aria-label`.)\n *\n * @defaultvalue ''\n */\n ariaLabelFormat?: string;\n\n /**\n * Optional flag to mark rating control as readOnly\n */\n readOnly?: boolean;\n\n /**\n * Optional callback to set the aria-label for rating control in readOnly mode.\n * Also used as a fallback aria-label if ariaLabel prop is not provided.\n */\n getAriaLabel?: (rating: number, max: number) => string;\n\n /**\n * Optional aria-label for rating control.\n * If rating control is readOnly, it is recommended to provide a getAriaLabel prop instead\n * since otherwise the current rating value will not be read.\n */\n ariaLabel?: string;\n\n /**\n * Call to provide customized styling that will layer on top of the variant rules.\n */\n styles?: IStyleFunctionOrObject;\n\n /**\n * Theme (provided through customization.)\n */\n theme?: ITheme;\n}\n\n/**\n * {@docCategory Rating}\n */\nexport enum RatingSize {\n Small = 0,\n Large = 1,\n}\n\n/**\n * {@docCategory Rating}\n */\nexport interface IRatingStyleProps {\n disabled?: boolean;\n readOnly?: boolean;\n theme: ITheme;\n}\n\n/**\n * {@docCategory Rating}\n */\nexport interface IRatingStyles {\n root: IStyle;\n ratingStar: IStyle;\n ratingStarBack: IStyle;\n ratingStarFront: IStyle;\n ratingButton: IStyle;\n ratingStarIsSmall: IStyle;\n ratingStarIsLarge: IStyle;\n rootIsSmall: IStyle;\n rootIsLarge: IStyle;\n labelText: IStyle;\n ratingFocusZone: IStyle;\n}\n","import { getFocusStyle, hiddenContentStyle, HighContrastSelector, getGlobalClassNames } from '../../Styling';\nimport { IRatingStyleProps, IRatingStyles } from './Rating.types';\n\nconst GlobalClassNames = {\n root: 'ms-RatingStar-root',\n rootIsSmall: 'ms-RatingStar-root--small',\n rootIsLarge: 'ms-RatingStar-root--large',\n ratingStar: 'ms-RatingStar-container',\n ratingStarBack: 'ms-RatingStar-back',\n ratingStarFront: 'ms-RatingStar-front',\n ratingButton: 'ms-Rating-button',\n ratingStarIsSmall: 'ms-Rating--small',\n ratingStartIsLarge: 'ms-Rating--large',\n labelText: 'ms-Rating-labelText',\n ratingFocusZone: 'ms-Rating-focuszone',\n};\n\nfunction _getColorWithHighContrast(color: string, highContrastColor: string) {\n return {\n color: color,\n selectors: {\n [HighContrastSelector]: {\n color: highContrastColor,\n },\n },\n };\n}\n\nexport function getStyles(props: IRatingStyleProps): IRatingStyles {\n const { disabled, readOnly, theme } = props;\n\n const { semanticColors, palette } = theme;\n\n const classNames = getGlobalClassNames(GlobalClassNames, theme);\n\n const ratingSmallIconSize = 16;\n const ratingLargeIconSize = 20;\n const ratingVerticalPadding = 8;\n const ratingHorizontalPadding = 2;\n\n const ratingStarUncheckedColor = palette.neutralSecondary;\n const ratingStarUncheckedHoverColor = palette.themePrimary;\n const ratingStarUncheckedHoverSelectedColor = palette.themeDark;\n const ratingStarCheckedColor = palette.neutralPrimary;\n const ratingStarDisabledColor = semanticColors.disabledBodySubtext;\n\n return {\n root: [\n classNames.root,\n theme.fonts.medium,\n !disabled &&\n !readOnly && {\n selectors: {\n // This is part 1 of highlighting all stars up to the one the user is hovering over\n '&:hover': {\n selectors: {\n '.ms-RatingStar-back': _getColorWithHighContrast(ratingStarCheckedColor, 'Highlight'),\n },\n },\n },\n },\n ],\n rootIsSmall: [\n classNames.rootIsSmall,\n {\n height: ratingSmallIconSize + ratingVerticalPadding * 2 + 'px',\n },\n ],\n rootIsLarge: [\n classNames.rootIsLarge,\n {\n height: ratingLargeIconSize + ratingVerticalPadding * 2 + 'px',\n },\n ],\n ratingStar: [\n classNames.ratingStar,\n {\n display: 'inline-block',\n position: 'relative',\n height: 'inherit',\n },\n ],\n ratingStarBack: [\n classNames.ratingStarBack,\n {\n // TODO: Use a proper semantic color for this\n color: ratingStarUncheckedColor,\n width: '100%',\n },\n disabled && _getColorWithHighContrast(ratingStarDisabledColor, 'GrayText'),\n ],\n ratingStarFront: [\n classNames.ratingStarFront,\n {\n position: 'absolute',\n height: '100 %',\n left: '0',\n top: '0',\n textAlign: 'center',\n verticalAlign: 'middle',\n overflow: 'hidden',\n },\n _getColorWithHighContrast(ratingStarCheckedColor, 'Highlight'),\n ],\n ratingButton: [\n getFocusStyle(theme),\n classNames.ratingButton,\n {\n backgroundColor: 'transparent',\n padding: `${ratingVerticalPadding}px ${ratingHorizontalPadding}px`,\n boxSizing: 'content-box',\n margin: '0px',\n border: 'none',\n cursor: 'pointer',\n selectors: {\n '&:disabled': {\n cursor: 'default',\n },\n '&[disabled]': {\n cursor: 'default',\n },\n },\n },\n !disabled &&\n !readOnly && {\n selectors: {\n // This is part 2 of highlighting all stars up to the one the user is hovering over\n '&:hover ~ .ms-Rating-button': {\n selectors: {\n '.ms-RatingStar-back': _getColorWithHighContrast(ratingStarUncheckedColor, 'WindowText'),\n '.ms-RatingStar-front': _getColorWithHighContrast(ratingStarUncheckedColor, 'WindowText'),\n },\n },\n '&:hover': {\n selectors: {\n '.ms-RatingStar-back': {\n color: ratingStarUncheckedHoverColor,\n },\n '.ms-RatingStar-front': {\n color: ratingStarUncheckedHoverSelectedColor,\n },\n },\n },\n },\n },\n disabled && {\n cursor: 'default',\n },\n ],\n ratingStarIsSmall: [\n classNames.ratingStarIsSmall,\n {\n fontSize: ratingSmallIconSize + 'px',\n lineHeight: ratingSmallIconSize + 'px',\n height: ratingSmallIconSize + 'px',\n },\n ],\n ratingStarIsLarge: [\n classNames.ratingStartIsLarge,\n {\n fontSize: ratingLargeIconSize + 'px',\n lineHeight: ratingLargeIconSize + 'px',\n height: ratingLargeIconSize + 'px',\n },\n ],\n labelText: [classNames.labelText, hiddenContentStyle],\n ratingFocusZone: [\n getFocusStyle(theme),\n classNames.ratingFocusZone,\n {\n display: 'inline-block',\n },\n ],\n };\n}\n","import * as React from 'react';\nimport { classNamesFunction, css, format, divProperties, getNativeProps } from '../../Utilities';\nimport { Icon } from '../../Icon';\nimport { FocusZone, FocusZoneDirection } from '../../FocusZone';\nimport { IRatingProps, RatingSize, IRatingStyleProps, IRatingStyles, IRating, IRatingStarProps } from './Rating.types';\nimport { useId, useWarnings, useControllableValue } from '@fluentui/react-hooks';\n\nconst getClassNames = classNamesFunction();\n\nconst RatingStar = (props: IRatingStarProps) => {\n return (\n
      \n \n {!props.disabled && (\n \n )}\n
      \n );\n};\n\nconst useComponentRef = (componentRef: React.Ref | undefined, rating: number) => {\n React.useImperativeHandle(\n componentRef,\n () => ({\n rating,\n }),\n [rating],\n );\n};\n\nconst useDebugWarnings = (props: IRatingProps) => {\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks -- build-time conditional\n useWarnings({\n name: 'Rating',\n props,\n controlledUsage: {\n valueProp: 'rating',\n defaultValueProp: 'defaultRating',\n onChangeProp: 'onChange',\n readOnlyProp: 'readOnly',\n },\n });\n }\n};\n\nconst getClampedRating = (rating: number | undefined, min: number, max: number): number => {\n return Math.min(Math.max(rating ?? min, min), max);\n};\n\nconst getFillingPercentage = (starNum: number, displayRating: number): number => {\n const ceilValue = Math.ceil(displayRating);\n let fillPercentage = 100;\n\n if (starNum === displayRating) {\n fillPercentage = 100;\n } else if (starNum === ceilValue) {\n fillPercentage = 100 * (displayRating % 1);\n } else if (starNum > ceilValue) {\n fillPercentage = 0;\n }\n return fillPercentage;\n};\n\nconst getStarId = (id: string, starNum: number) => {\n return `${id}-star-${starNum - 1}`;\n};\n\nexport const RatingBase: React.FunctionComponent = React.forwardRef(\n (props, ref) => {\n const id = useId('Rating');\n const labelId = useId('RatingLabel');\n const {\n ariaLabel,\n ariaLabelFormat,\n disabled,\n getAriaLabel,\n styles,\n // eslint-disable-next-line deprecation/deprecation\n min: minFromProps = props.allowZeroStars ? 0 : 1,\n max = 5,\n readOnly,\n size,\n theme,\n icon = 'FavoriteStarFill',\n unselectedIcon = 'FavoriteStar',\n onRenderStar,\n } = props;\n\n // Ensure min is >= 0 to avoid issues elsewhere\n const min = Math.max(minFromProps, 0);\n\n const [rating, setRating] = useControllableValue(props.rating, props.defaultRating, props.onChange);\n /** Rating clamped within valid range. Will be `min` if `rating` is undefined. */\n const displayRating = getClampedRating(rating, min, max);\n\n useDebugWarnings(props);\n\n useComponentRef(props.componentRef, displayRating);\n\n const divProps = getNativeProps>(props, divProperties);\n\n const classNames = getClassNames(styles!, {\n disabled,\n readOnly,\n theme: theme!,\n });\n\n const readOnlyAriaLabel = getAriaLabel?.(displayRating, max);\n const normalModeAriaLabel = ariaLabel ? ariaLabel : readOnlyAriaLabel;\n\n const stars: JSX.Element[] = [];\n\n const renderStar = (starProps: IRatingStarProps, renderer?: IRatingProps['onRenderStar']) =>\n renderer ? renderer(starProps) : ;\n\n for (let starNum = 1; starNum <= max; starNum++) {\n const fillPercentage = getFillingPercentage(starNum, displayRating);\n\n const onSelectStar = (ev: React.SyntheticEvent): void => {\n // Use the actual rating (not display value) here, to ensure that we update if the actual\n // rating is undefined and the user clicks the first star.\n if (rating === undefined || Math.ceil(rating) !== starNum) {\n setRating(starNum, ev);\n }\n };\n\n stars.push(\n \n \n {format(ariaLabelFormat || '', starNum, max)}\n \n {renderStar(\n {\n fillPercentage,\n disabled,\n classNames,\n icon: fillPercentage > 0 ? icon : unselectedIcon,\n starNum,\n unselectedIcon,\n },\n onRenderStar,\n )}\n ,\n );\n }\n\n const rootSizeClass = size === RatingSize.Large ? classNames.rootIsLarge : classNames.rootIsSmall;\n\n return (\n \n \n {stars}\n \n \n );\n },\n);\nRatingBase.displayName = 'RatingBase';\n","import * as React from 'react';\nimport { styled } from '../../Utilities';\nimport { IRatingProps, IRatingStyleProps, IRatingStyles } from './Rating.types';\nimport { getStyles } from './Rating.styles';\nimport { RatingBase } from './Rating.base';\n\nexport const Rating: React.FunctionComponent = styled(\n RatingBase,\n getStyles,\n undefined,\n { scope: 'Rating' },\n);\n","import { IScrollablePaneStyleProps, IScrollablePaneStyles } from './ScrollablePane.types';\nimport { HighContrastSelector, IStyle, getGlobalClassNames } from '../../Styling';\n\nconst GlobalClassNames = {\n root: 'ms-ScrollablePane',\n contentContainer: 'ms-ScrollablePane--contentContainer',\n};\n\nexport const getStyles = (props: IScrollablePaneStyleProps): IScrollablePaneStyles => {\n const { className, theme } = props;\n\n const classNames = getGlobalClassNames(GlobalClassNames, theme);\n\n const AboveAndBelowStyles: IStyle = {\n position: 'absolute',\n pointerEvents: 'none',\n };\n\n const positioningStyle: IStyle = {\n position: 'absolute',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n WebkitOverflowScrolling: 'touch',\n };\n\n return {\n root: [classNames.root, theme.fonts.medium, positioningStyle, className],\n contentContainer: [\n classNames.contentContainer,\n {\n overflowY: props.scrollbarVisibility === 'always' ? 'scroll' : 'auto',\n },\n positioningStyle,\n ],\n stickyAbove: [\n {\n top: 0,\n zIndex: 1,\n selectors: {\n [HighContrastSelector]: {\n borderBottom: '1px solid WindowText',\n },\n },\n },\n AboveAndBelowStyles,\n ],\n stickyBelow: [\n {\n bottom: 0,\n selectors: {\n [HighContrastSelector]: {\n borderTop: '1px solid WindowText',\n },\n },\n },\n AboveAndBelowStyles,\n ],\n stickyBelowItems: [\n {\n bottom: 0,\n },\n AboveAndBelowStyles,\n {\n width: '100%',\n },\n ],\n };\n};\n","import * as React from 'react';\nimport { IRefObject, IStyleFunctionOrObject } from '../../Utilities';\nimport { IStyle, ITheme } from '../../Styling';\nimport { ScrollablePaneBase } from './ScrollablePane.base';\nimport { Sticky } from '../Sticky/Sticky';\n\n/**\n * {@docCategory ScrollablePane}\n */\nexport interface IScrollablePane {\n /** Triggers a layout update for the pane. */\n forceLayoutUpdate(): void;\n /** Gets the current scroll position of the scrollable pane */\n getScrollPosition(): number;\n}\n\n/**\n * {@docCategory ScrollablePane}\n */\nexport interface IScrollablePaneProps extends React.HTMLAttributes {\n // export interface IScrollablePaneProps extends React.Props {\n /**\n * Optional callback to access the IScrollablePane interface. Use this instead of ref for accessing\n * the public methods and properties of the component.\n */\n componentRef?: IRefObject;\n\n /**\n * Call to provide customized styling that will layer on top of the variant rules\n */\n styles?: IStyleFunctionOrObject;\n\n /**\n * Theme provided by HOC.\n */\n theme?: ITheme;\n\n /**\n * Additional css class to apply to the ScrollablePane\n * @defaultvalue undefined\n */\n className?: string;\n\n /**\n * Sets the initial scroll position of the ScrollablePane\n */\n initialScrollPosition?: number;\n\n scrollbarVisibility?: ScrollbarVisibility;\n\n /**\n * Makes the scrollable container focusable, to aid with keyboard-only scrolling\n * Should only be set to true if the scrollable region will not contain any other focusable items\n * @defaultvalue false\n */\n scrollContainerFocus?: boolean;\n\n /**\n * If scrollContainerFocus is set to true, use this to give the container an accessible name\n */\n scrollContainerAriaLabel?: string;\n}\n\n/**\n * {@docCategory ScrollablePane}\n */\nexport interface IScrollablePaneStyleProps {\n /**\n * Accept theme prop.\n */\n theme: ITheme;\n\n /**\n * Accept custom classNames\n */\n className?: string;\n\n scrollbarVisibility?: IScrollablePaneProps['scrollbarVisibility'];\n\n // Insert ScrollablePane style props below\n}\n\n/**\n * {@docCategory ScrollablePane}\n */\nexport interface IScrollablePaneStyles {\n /**\n * Style set for the root element.\n */\n root: IStyle;\n /**\n * Style set for the stickyAbove element.\n */\n stickyAbove: IStyle;\n /**\n * Style set for the stickyBelow element.\n */\n stickyBelow: IStyle;\n /**\n * Style set for the stickyBelowItems element.\n */\n stickyBelowItems: IStyle;\n /**\n * Style set for the contentContainer element.\n */\n contentContainer: IStyle;\n}\n\n/**\n * {@docCategory ScrollablePane}\n */\nexport const ScrollbarVisibility = {\n auto: 'auto' as 'auto',\n always: 'always' as 'always',\n};\n\n/**\n * {@docCategory ScrollablePane}\n */\nexport type ScrollbarVisibility = typeof ScrollbarVisibility[keyof typeof ScrollbarVisibility];\n\nexport interface IScrollablePaneContext {\n scrollablePane?: {\n subscribe: (handler: (container: HTMLElement, stickyContainer: HTMLElement) => void) => void;\n unsubscribe: (handler: (container: HTMLElement, stickyContainer: HTMLElement) => void) => void;\n addSticky: (sticky: Sticky) => void;\n removeSticky: (sticky: Sticky) => void;\n updateStickyRefHeights: () => void;\n sortSticky: (sticky: Sticky, sortAgain?: boolean) => void;\n notifySubscribers: (sort?: boolean) => void;\n syncScrollSticky: (sticky: Sticky) => void;\n };\n}\n\nexport const ScrollablePaneContext = React.createContext({ scrollablePane: undefined });\n","import * as React from 'react';\nimport {\n Async,\n EventGroup,\n classNamesFunction,\n divProperties,\n getNativeProps,\n getRTL,\n initializeComponentRef,\n} from '../../Utilities';\nimport {\n IScrollablePane,\n IScrollablePaneContext,\n IScrollablePaneProps,\n IScrollablePaneStyleProps,\n IScrollablePaneStyles,\n ScrollablePaneContext,\n} from './ScrollablePane.types';\nimport { Sticky } from '../../Sticky';\n\nexport interface IScrollablePaneState {\n stickyTopHeight: number;\n stickyBottomHeight: number;\n scrollbarWidth: number;\n scrollbarHeight: number;\n}\n\nconst getClassNames = classNamesFunction();\n\nexport class ScrollablePaneBase\n extends React.Component\n implements IScrollablePane {\n private _root = React.createRef();\n private _stickyAboveRef = React.createRef();\n private _stickyBelowRef = React.createRef();\n private _contentContainer = React.createRef();\n private _subscribers: Set;\n private _stickies: Set;\n private _mutationObserver: MutationObserver;\n private _notifyThrottled: () => void;\n private _async: Async;\n private _events: EventGroup;\n\n constructor(props: IScrollablePaneProps) {\n super(props);\n this._subscribers = new Set();\n this._stickies = new Set();\n\n initializeComponentRef(this);\n this._async = new Async(this);\n this._events = new EventGroup(this);\n\n this.state = {\n stickyTopHeight: 0,\n stickyBottomHeight: 0,\n scrollbarWidth: 0,\n scrollbarHeight: 0,\n };\n\n this._notifyThrottled = this._async.throttle(this.notifySubscribers, 50);\n }\n\n public get root(): HTMLDivElement | null {\n return this._root.current;\n }\n\n public get stickyAbove(): HTMLDivElement | null {\n return this._stickyAboveRef.current;\n }\n\n public get stickyBelow(): HTMLDivElement | null {\n return this._stickyBelowRef.current;\n }\n\n public get contentContainer(): HTMLDivElement | null {\n return this._contentContainer.current;\n }\n\n public componentDidMount() {\n const { initialScrollPosition } = this.props;\n this._events.on(this.contentContainer, 'scroll', this._onScroll);\n this._events.on(window, 'resize', this._onWindowResize);\n if (this.contentContainer && initialScrollPosition) {\n this.contentContainer.scrollTop = initialScrollPosition;\n }\n\n // Set sticky distances from top property, then sort in correct order and notify subscribers\n this.setStickiesDistanceFromTop();\n this._stickies.forEach(sticky => {\n this.sortSticky(sticky);\n });\n this.notifySubscribers();\n\n if ('MutationObserver' in window) {\n this._mutationObserver = new MutationObserver(mutation => {\n // Function to check if mutation is occuring in stickyAbove or stickyBelow\n function checkIfMutationIsSticky(mutationRecord: MutationRecord): boolean {\n if (this.stickyAbove !== null && this.stickyBelow !== null) {\n return this.stickyAbove.contains(mutationRecord.target) || this.stickyBelow.contains(mutationRecord.target);\n }\n return false;\n }\n\n // Compute the scrollbar height, which might have changed if the content's width changed and caused overflow\n const scrollbarHeight = this._getScrollbarHeight();\n // If the scrollbar height changed, update state so it's postioned correctly below sticky footer\n if (scrollbarHeight !== this.state.scrollbarHeight) {\n this.setState({\n scrollbarHeight: scrollbarHeight,\n });\n }\n\n // Notify subscribers again to re-check whether Sticky should be Sticky'd or not\n this.notifySubscribers();\n\n // If mutation occurs in sticky header or footer, then update sticky top/bottom heights\n if (mutation.some(checkIfMutationIsSticky.bind(this))) {\n this.updateStickyRefHeights();\n } else {\n // If mutation occurs in scrollable region, then find Sticky it belongs to and force update\n const stickyList: Sticky[] = [];\n this._stickies.forEach(sticky => {\n if (sticky.root && sticky.root.contains(mutation[0].target)) {\n stickyList.push(sticky);\n }\n });\n if (stickyList.length) {\n stickyList.forEach(sticky => {\n sticky.forceUpdate();\n });\n }\n }\n });\n\n if (this.root) {\n this._mutationObserver.observe(this.root, {\n childList: true,\n attributes: true,\n subtree: true,\n characterData: true,\n });\n }\n }\n }\n\n public componentWillUnmount() {\n this._events.dispose();\n this._async.dispose();\n\n if (this._mutationObserver) {\n this._mutationObserver.disconnect();\n }\n }\n\n // Only updates if props/state change, just to prevent excessive setState with updateStickyRefHeights\n public shouldComponentUpdate(nextProps: IScrollablePaneProps, nextState: IScrollablePaneState): boolean {\n return (\n this.props.children !== nextProps.children ||\n this.props.initialScrollPosition !== nextProps.initialScrollPosition ||\n this.props.className !== nextProps.className ||\n this.state.stickyTopHeight !== nextState.stickyTopHeight ||\n this.state.stickyBottomHeight !== nextState.stickyBottomHeight ||\n this.state.scrollbarWidth !== nextState.scrollbarWidth ||\n this.state.scrollbarHeight !== nextState.scrollbarHeight\n );\n }\n\n public componentDidUpdate(prevProps: IScrollablePaneProps, prevState: IScrollablePaneState) {\n const initialScrollPosition = this.props.initialScrollPosition;\n if (\n this.contentContainer &&\n typeof initialScrollPosition === 'number' &&\n prevProps.initialScrollPosition !== initialScrollPosition\n ) {\n this.contentContainer.scrollTop = initialScrollPosition;\n }\n\n // Update subscribers when stickyTopHeight/stickyBottomHeight changes\n if (\n prevState.stickyTopHeight !== this.state.stickyTopHeight ||\n prevState.stickyBottomHeight !== this.state.stickyBottomHeight\n ) {\n this.notifySubscribers();\n }\n\n this._async.setTimeout(this._onWindowResize, 0);\n }\n\n public render(): JSX.Element {\n const { className, scrollContainerFocus, scrollContainerAriaLabel, theme, styles } = this.props;\n const { stickyTopHeight, stickyBottomHeight } = this.state;\n const classNames = getClassNames(styles!, {\n theme: theme!,\n className,\n scrollbarVisibility: this.props.scrollbarVisibility,\n });\n\n const scrollContainerProps = scrollContainerFocus\n ? {\n role: 'group',\n tabIndex: 0,\n 'aria-label': scrollContainerAriaLabel,\n }\n : {};\n\n return (\n
      \n \n \n \n {this.props.children}\n \n
      \n
      \n
      \n
      \n
      \n );\n }\n\n public setStickiesDistanceFromTop(): void {\n if (this.contentContainer) {\n this._stickies.forEach(sticky => {\n sticky.setDistanceFromTop(this.contentContainer as HTMLDivElement);\n });\n }\n }\n\n public forceLayoutUpdate() {\n this._onWindowResize();\n }\n\n public subscribe = (handler: Function): void => {\n this._subscribers.add(handler);\n };\n\n public unsubscribe = (handler: Function): void => {\n this._subscribers.delete(handler);\n };\n\n public addSticky = (sticky: Sticky): void => {\n this._stickies.add(sticky);\n\n // If ScrollablePane is mounted, then sort sticky in correct place\n if (this.contentContainer) {\n sticky.setDistanceFromTop(this.contentContainer);\n this.sortSticky(sticky);\n }\n };\n\n public removeSticky = (sticky: Sticky): void => {\n this._stickies.delete(sticky);\n this._removeStickyFromContainers(sticky);\n this.notifySubscribers();\n };\n\n public sortSticky = (sticky: Sticky, sortAgain?: boolean): void => {\n if (this.stickyAbove && this.stickyBelow) {\n if (sortAgain) {\n this._removeStickyFromContainers(sticky);\n }\n if (sticky.canStickyTop && sticky.stickyContentTop) {\n this._addToStickyContainer(sticky, this.stickyAbove, sticky.stickyContentTop);\n }\n\n if (sticky.canStickyBottom && sticky.stickyContentBottom) {\n this._addToStickyContainer(sticky, this.stickyBelow, sticky.stickyContentBottom);\n }\n }\n };\n\n public updateStickyRefHeights = (): void => {\n const stickyItems = this._stickies;\n\n let stickyTopHeight = 0;\n let stickyBottomHeight = 0;\n\n stickyItems.forEach((sticky: Sticky) => {\n const { isStickyTop, isStickyBottom } = sticky.state;\n if (sticky.nonStickyContent) {\n if (isStickyTop) {\n stickyTopHeight += sticky.nonStickyContent.offsetHeight;\n }\n if (isStickyBottom) {\n stickyBottomHeight += sticky.nonStickyContent.offsetHeight;\n }\n this._checkStickyStatus(sticky);\n }\n });\n\n this.setState({\n stickyTopHeight: stickyTopHeight,\n stickyBottomHeight: stickyBottomHeight,\n });\n };\n\n public notifySubscribers = (): void => {\n if (this.contentContainer) {\n this._subscribers.forEach(handle => {\n // this.stickyBelow is passed in for calculating distance to determine Sticky status\n handle(this.contentContainer, this.stickyBelow);\n });\n }\n };\n\n public getScrollPosition = (): number => {\n if (this.contentContainer) {\n return this.contentContainer.scrollTop;\n }\n\n return 0;\n };\n\n public syncScrollSticky = (sticky: Sticky): void => {\n if (sticky && this.contentContainer) {\n sticky.syncScroll(this.contentContainer);\n }\n };\n\n private _getScrollablePaneContext = (): IScrollablePaneContext => {\n return {\n scrollablePane: {\n subscribe: this.subscribe,\n unsubscribe: this.unsubscribe,\n addSticky: this.addSticky,\n removeSticky: this.removeSticky,\n updateStickyRefHeights: this.updateStickyRefHeights,\n sortSticky: this.sortSticky,\n notifySubscribers: this.notifySubscribers,\n syncScrollSticky: this.syncScrollSticky,\n },\n };\n };\n\n private _checkStickyStatus(sticky: Sticky): void {\n if (this.stickyAbove && this.stickyBelow && this.contentContainer && sticky.nonStickyContent) {\n // If sticky is sticky, then append content to appropriate container\n if (sticky.state.isStickyTop || sticky.state.isStickyBottom) {\n if (\n sticky.state.isStickyTop &&\n !this.stickyAbove.contains(sticky.nonStickyContent) &&\n sticky.stickyContentTop\n ) {\n sticky.addSticky(sticky.stickyContentTop);\n }\n\n if (\n sticky.state.isStickyBottom &&\n !this.stickyBelow.contains(sticky.nonStickyContent) &&\n sticky.stickyContentBottom\n ) {\n sticky.addSticky(sticky.stickyContentBottom);\n }\n } else if (!this.contentContainer.contains(sticky.nonStickyContent)) {\n // Reset sticky if it's not sticky and not in the contentContainer element\n sticky.resetSticky();\n }\n }\n }\n\n private _addToStickyContainer = (\n sticky: Sticky,\n stickyContainer: HTMLDivElement,\n stickyContentToAdd: HTMLDivElement,\n ): void => {\n // If there's no children, append child to list, otherwise, sort though array and append at correct position\n if (!stickyContainer.children.length) {\n stickyContainer.appendChild(stickyContentToAdd);\n } else {\n // If stickyContentToAdd isn't a child element of target container, then append\n if (!stickyContainer.contains(stickyContentToAdd)) {\n const stickyChildrenElements: Element[] = [].slice.call(stickyContainer.children);\n\n const stickyList: Sticky[] = [];\n // Get stickies. Filter by canStickyTop/Bottom, then sort by distance from top, and then\n // filter by elements that are in the stickyContainer already.\n this._stickies.forEach(stickyItem => {\n if (stickyContainer === this.stickyAbove && sticky.canStickyTop) {\n stickyList.push(stickyItem);\n } else if (sticky.canStickyBottom) {\n stickyList.push(stickyItem);\n }\n });\n\n const stickyListSorted = stickyList\n .sort((a, b) => {\n return (a.state.distanceFromTop || 0) - (b.state.distanceFromTop || 0);\n })\n .filter(item => {\n const stickyContent =\n stickyContainer === this.stickyAbove ? item.stickyContentTop : item.stickyContentBottom;\n if (stickyContent) {\n return stickyChildrenElements.indexOf(stickyContent) > -1;\n }\n return false;\n });\n\n // Get first element that has a distance from top that is further than our sticky that is being added\n let targetStickyToAppendBefore: Sticky | undefined = undefined;\n for (const stickyListItem of stickyListSorted) {\n if ((stickyListItem.state.distanceFromTop || 0) >= (sticky.state.distanceFromTop || 0)) {\n targetStickyToAppendBefore = stickyListItem;\n break;\n }\n }\n\n // If target element to append before is known, grab respective stickyContentTop/Bottom element\n // and insert before\n let targetContainer: HTMLDivElement | null = null;\n if (targetStickyToAppendBefore) {\n targetContainer =\n stickyContainer === this.stickyAbove\n ? targetStickyToAppendBefore.stickyContentTop\n : targetStickyToAppendBefore.stickyContentBottom;\n }\n stickyContainer.insertBefore(stickyContentToAdd, targetContainer);\n }\n }\n };\n\n private _removeStickyFromContainers = (sticky: Sticky): void => {\n if (this.stickyAbove && sticky.stickyContentTop && this.stickyAbove.contains(sticky.stickyContentTop)) {\n this.stickyAbove.removeChild(sticky.stickyContentTop);\n }\n if (this.stickyBelow && sticky.stickyContentBottom && this.stickyBelow.contains(sticky.stickyContentBottom)) {\n this.stickyBelow.removeChild(sticky.stickyContentBottom);\n }\n };\n\n private _onWindowResize = (): void => {\n const scrollbarWidth = this._getScrollbarWidth();\n const scrollbarHeight = this._getScrollbarHeight();\n\n this.setState({\n scrollbarWidth,\n scrollbarHeight,\n });\n\n this.notifySubscribers();\n };\n\n private _getStickyContainerStyle = (height: number, isTop: boolean): React.CSSProperties => {\n return {\n height: height,\n ...(getRTL(this.props.theme)\n ? {\n right: '0',\n left: `${this.state.scrollbarWidth || this._getScrollbarWidth() || 0}px`,\n }\n : {\n left: '0',\n right: `${this.state.scrollbarWidth || this._getScrollbarWidth() || 0}px`,\n }),\n ...(isTop\n ? {\n top: '0',\n }\n : {\n bottom: `${this.state.scrollbarHeight || this._getScrollbarHeight() || 0}px`,\n }),\n };\n };\n\n private _getScrollbarWidth(): number {\n const { contentContainer } = this;\n return contentContainer ? contentContainer.offsetWidth - contentContainer.clientWidth : 0;\n }\n\n private _getScrollbarHeight(): number {\n const { contentContainer } = this;\n return contentContainer ? contentContainer.offsetHeight - contentContainer.clientHeight : 0;\n }\n\n private _onScroll = () => {\n const { contentContainer } = this;\n\n if (contentContainer) {\n this._stickies.forEach((sticky: Sticky) => {\n sticky.syncScroll(contentContainer);\n });\n }\n\n this._notifyThrottled();\n };\n}\n","import * as React from 'react';\nimport { getStyles } from './ScrollablePane.styles';\nimport { IScrollablePaneProps, IScrollablePaneStyleProps, IScrollablePaneStyles } from './ScrollablePane.types';\nimport { ScrollablePaneBase } from './ScrollablePane.base';\nimport { styled } from '../../Utilities';\n\nexport const ScrollablePane: React.FunctionComponent = styled<\n IScrollablePaneProps,\n IScrollablePaneStyleProps,\n IScrollablePaneStyles\n>(ScrollablePaneBase, getStyles, undefined, { scope: 'ScrollablePane' });\n","import * as React from 'react';\nimport { ISearchBoxProps, ISearchBoxStyleProps, ISearchBoxStyles, ISearchBox } from './SearchBox.types';\nimport { KeyCodes, classNamesFunction, getNativeProps, inputProperties } from '../../Utilities';\nimport { useControllableValue, useId, useMergedRefs, useWarnings } from '@fluentui/react-hooks';\nimport { IconButton, IButtonProps, IButtonStyles } from '../../Button';\nimport { Icon, IIconProps } from '../../Icon';\n\nconst COMPONENT_NAME = 'SearchBox';\nconst iconButtonStyles: Partial = { root: { height: 'auto' }, icon: { fontSize: '12px' } };\nconst iconButtonProps: IIconProps = { iconName: 'Clear' };\nconst defaultClearButtonProps: IButtonProps = { ariaLabel: 'Clear text' };\n\nconst getClassNames = classNamesFunction();\n\nconst useComponentRef = (\n componentRef: React.Ref | undefined,\n inputElementRef: React.RefObject,\n hasFocus: boolean,\n) => {\n React.useImperativeHandle(\n componentRef,\n () => ({\n focus: () => inputElementRef.current?.focus(),\n hasFocus: () => hasFocus,\n }),\n [inputElementRef, hasFocus],\n );\n};\n\nexport const SearchBoxBase: React.FunctionComponent = React.forwardRef<\n HTMLDivElement,\n ISearchBoxProps\n>((props, forwardedRef) => {\n const {\n ariaLabel,\n className,\n defaultValue = '',\n disabled,\n underlined,\n styles,\n // eslint-disable-next-line deprecation/deprecation\n labelText,\n // eslint-disable-next-line deprecation/deprecation\n placeholder = labelText,\n theme,\n clearButtonProps = defaultClearButtonProps,\n disableAnimation = false,\n showIcon = false,\n onClear: customOnClear,\n onBlur: customOnBlur,\n onEscape: customOnEscape,\n onSearch: customOnSearch,\n onKeyDown: customOnKeyDown,\n iconProps,\n role,\n onChange,\n // eslint-disable-next-line deprecation/deprecation\n onChanged,\n } = props;\n\n const [hasFocus, setHasFocus] = React.useState(false);\n const [uncastValue, setValue] = useControllableValue(\n props.value,\n defaultValue,\n React.useCallback(\n (ev: React.ChangeEvent | undefined) => {\n onChange?.(ev, ev?.target.value);\n onChanged?.(ev?.target.value);\n },\n [onChange, onChanged],\n ),\n );\n const value = String(uncastValue);\n const rootElementRef = React.useRef(null);\n const inputElementRef = React.useRef(null);\n const mergedRootRef = useMergedRefs(rootElementRef, forwardedRef);\n const id = useId(COMPONENT_NAME, props.id);\n\n const { onClick: customOnClearClick } = clearButtonProps;\n\n const classNames = getClassNames(styles!, {\n theme: theme!,\n className,\n underlined,\n hasFocus,\n disabled,\n hasInput: value.length > 0,\n disableAnimation,\n showIcon,\n });\n\n const nativeProps = getNativeProps>(props, inputProperties, [\n 'className',\n 'placeholder',\n 'onFocus',\n 'onBlur',\n 'value',\n 'role',\n ]);\n\n const onClear = React.useCallback(\n (ev: React.MouseEvent | React.KeyboardEvent) => {\n customOnClear?.(ev);\n if (!ev.defaultPrevented) {\n setValue('');\n inputElementRef.current?.focus();\n ev.stopPropagation();\n ev.preventDefault();\n }\n },\n [customOnClear, setValue],\n );\n\n const onClearClick = React.useCallback(\n (ev: React.MouseEvent) => {\n customOnClearClick?.(ev);\n if (!ev.defaultPrevented) {\n onClear(ev);\n }\n },\n [customOnClearClick, onClear],\n );\n\n const onFocusCapture = (ev: React.FocusEvent) => {\n setHasFocus(true);\n props.onFocus?.(ev as React.FocusEvent);\n };\n\n const onClickFocus = () => {\n if (inputElementRef.current) {\n inputElementRef.current.focus();\n inputElementRef.current.selectionStart = inputElementRef.current.selectionEnd = 0;\n }\n };\n\n const onBlur = React.useCallback(\n (ev: React.FocusEvent): void => {\n setHasFocus(false);\n customOnBlur?.(ev);\n },\n [customOnBlur],\n );\n\n const onInputChange = (ev: React.ChangeEvent) => {\n setValue(ev.target.value, ev);\n };\n\n const onKeyDown = (ev: React.KeyboardEvent) => {\n // eslint-disable-next-line deprecation/deprecation\n switch (ev.which) {\n case KeyCodes.escape:\n customOnEscape?.(ev);\n // Only call onClear if the search box has a value to clear. Otherwise, allow the Esc key\n // to propagate from the empty search box to a parent element such as a dialog, etc.\n if (value && !ev.defaultPrevented) {\n onClear(ev);\n }\n break;\n\n case KeyCodes.enter:\n if (customOnSearch) {\n customOnSearch(value);\n ev.preventDefault();\n ev.stopPropagation();\n }\n break;\n\n default:\n // REVIEW: Why aren't we calling customOnKeyDown for Escape or Enter?\n customOnKeyDown?.(ev);\n // REVIEW: Why are we calling stopPropagation if customOnKeyDown called preventDefault?\n // customOnKeyDown should call stopPropagation if it needs it.\n if (ev.defaultPrevented) {\n ev.stopPropagation();\n }\n break;\n }\n };\n\n useDebugWarning(props);\n useComponentRef(props.componentRef, inputElementRef, hasFocus);\n\n return (\n
      \n
      \n \n
      \n \n {value!.length > 0 && (\n
      \n \n
      \n )}\n
      \n );\n});\nSearchBoxBase.displayName = COMPONENT_NAME;\n\nfunction useDebugWarning(props: ISearchBoxProps) {\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks -- build-time conditional\n useWarnings({\n name: COMPONENT_NAME,\n props,\n deprecations: { labelText: 'placeholder' },\n });\n }\n}\n","import {\n HighContrastSelector,\n AnimationVariables,\n normalize,\n IStyle,\n getPlaceholderStyles,\n getGlobalClassNames,\n getInputFocusStyle,\n} from '../../Styling';\nimport { ISearchBoxStyleProps, ISearchBoxStyles } from './SearchBox.types';\nimport { getRTL } from '../../Utilities';\n\nconst GlobalClassNames = {\n root: 'ms-SearchBox',\n iconContainer: 'ms-SearchBox-iconContainer',\n icon: 'ms-SearchBox-icon',\n clearButton: 'ms-SearchBox-clearButton',\n field: 'ms-SearchBox-field',\n};\n\nexport function getStyles(props: ISearchBoxStyleProps): ISearchBoxStyles {\n const { theme, underlined, disabled, hasFocus, className, hasInput, disableAnimation, showIcon } = props;\n const { palette, fonts, semanticColors, effects } = theme;\n const classNames = getGlobalClassNames(GlobalClassNames, theme);\n\n // placeholder style constants\n const placeholderStyles: IStyle = {\n color: semanticColors.inputPlaceholderText,\n opacity: 1,\n };\n\n const inputIconAlt = palette.neutralSecondary;\n const inputIconAltHovered = palette.neutralPrimary;\n const inputBorderDisabled = palette.neutralLighter;\n const inputBackgroundHovered = palette.neutralLighter;\n const inputBackgroundDisabled = palette.neutralLighter;\n\n return {\n root: [\n classNames.root,\n fonts.medium,\n normalize,\n {\n color: semanticColors.inputText,\n backgroundColor: semanticColors.inputBackground,\n display: 'flex',\n flexDirection: 'row',\n flexWrap: 'nowrap',\n alignItems: 'stretch',\n // The 1px top and bottom padding ensure the input field does not overlap the border\n padding: '1px 0 1px 4px',\n borderRadius: effects.roundedCorner2,\n border: `1px solid ${semanticColors.inputBorder}`,\n height: 32,\n selectors: {\n [HighContrastSelector]: {\n borderColor: 'WindowText',\n },\n ':hover': {\n borderColor: semanticColors.inputBorderHovered,\n selectors: {\n [HighContrastSelector]: {\n borderColor: 'Highlight',\n },\n },\n },\n [`:hover .${classNames.iconContainer}`]: {\n color: semanticColors.inputIconHovered,\n },\n },\n },\n !hasFocus &&\n hasInput && {\n selectors: {\n [`:hover .${classNames.iconContainer}`]: {\n width: 4,\n },\n [`:hover .${classNames.icon}`]: {\n opacity: 0,\n },\n },\n },\n hasFocus && [\n 'is-active',\n {\n position: 'relative',\n },\n getInputFocusStyle(\n semanticColors.inputFocusBorderAlt,\n underlined ? 0 : effects.roundedCorner2,\n underlined ? 'borderBottom' : 'border',\n ),\n ],\n showIcon && [\n {\n selectors: {\n [`:hover .${classNames.iconContainer}`]: {\n width: 32,\n },\n [`:hover .${classNames.icon}`]: {\n opacity: 1,\n },\n },\n },\n ],\n disabled && [\n 'is-disabled',\n {\n borderColor: inputBorderDisabled,\n backgroundColor: inputBackgroundDisabled,\n pointerEvents: 'none',\n cursor: 'default',\n selectors: {\n [HighContrastSelector]: {\n borderColor: 'GrayText',\n },\n },\n },\n ],\n underlined && [\n 'is-underlined',\n {\n borderWidth: '0 0 1px 0',\n borderRadius: 0,\n // Underlined SearchBox has a larger padding left to vertically align with the waffle in product\n padding: '1px 0 1px 8px',\n },\n ],\n underlined &&\n disabled && {\n backgroundColor: 'transparent',\n },\n hasInput && 'can-clear',\n className,\n ],\n iconContainer: [\n classNames.iconContainer,\n {\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n flexShrink: 0,\n fontSize: 16,\n width: 32,\n textAlign: 'center',\n color: semanticColors.inputIcon,\n cursor: 'text',\n },\n hasFocus && {\n width: 4,\n },\n disabled && {\n color: semanticColors.inputIconDisabled,\n },\n !disableAnimation && {\n transition: `width ${AnimationVariables.durationValue1}`,\n },\n showIcon &&\n hasFocus && {\n width: 32,\n },\n ],\n icon: [\n classNames.icon,\n {\n opacity: 1,\n },\n hasFocus && {\n opacity: 0,\n },\n !disableAnimation && {\n transition: `opacity ${AnimationVariables.durationValue1} 0s`,\n },\n showIcon &&\n hasFocus && {\n opacity: 1,\n },\n ],\n clearButton: [\n classNames.clearButton,\n {\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'stretch',\n cursor: 'pointer',\n flexBasis: '32px',\n flexShrink: 0,\n padding: 0,\n margin: '-1px 0px',\n selectors: {\n '&:hover .ms-Button': {\n backgroundColor: inputBackgroundHovered,\n },\n '&:hover .ms-Button-icon': {\n color: inputIconAltHovered,\n },\n '.ms-Button': {\n borderRadius: getRTL(theme) ? '1px 0 0 1px' : '0 1px 1px 0',\n },\n '.ms-Button-icon': {\n color: inputIconAlt,\n },\n },\n },\n ],\n field: [\n classNames.field,\n normalize,\n getPlaceholderStyles(placeholderStyles),\n {\n backgroundColor: 'transparent',\n border: 'none',\n outline: 'none',\n fontWeight: 'inherit',\n fontFamily: 'inherit',\n fontSize: 'inherit',\n color: semanticColors.inputText,\n flex: '1 1 0px',\n // The default implicit value of 'auto' prevents the input from shrinking. Setting min-width to\n // 0px allows the input element to shrink to fit the container.\n minWidth: '0px',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n // This padding forces the text placement to round up.\n paddingBottom: 0.5,\n // This removes the IE specific clear button in the input since we implemented our own\n selectors: {\n '::-ms-clear': {\n display: 'none',\n },\n },\n },\n disabled && {\n color: semanticColors.disabledText,\n },\n ],\n };\n}\n","import * as React from 'react';\nimport { styled } from '../../Utilities';\nimport { SearchBoxBase } from './SearchBox.base';\nimport { ISearchBoxProps, ISearchBoxStyleProps, ISearchBoxStyles } from './SearchBox.types';\nimport { getStyles } from './SearchBox.styles';\n\nexport const SearchBox: React.FunctionComponent = styled<\n ISearchBoxProps,\n ISearchBoxStyleProps,\n ISearchBoxStyles\n>(SearchBoxBase, getStyles, undefined, { scope: 'SearchBox' });\n","import * as React from 'react';\nimport { Selection } from '../../Selection';\n\nimport { IBaseSelectedItemsList, IBaseSelectedItemsListProps, ISelectedItemProps } from './BaseSelectedItemsList.types';\nimport { initializeComponentRef } from '../../Utilities';\nimport { IObjectWithKey } from '../../Utilities';\n\nexport interface IBaseSelectedItemsListState {\n items: T[];\n}\n\nexport class BaseSelectedItemsList>\n extends React.Component>\n implements IBaseSelectedItemsList {\n protected root: HTMLElement;\n private _defaultSelection: Selection;\n\n public static getDerivedStateFromProps(newProps: IBaseSelectedItemsListProps) {\n if (newProps.selectedItems) {\n return { items: newProps.selectedItems };\n }\n\n return null;\n }\n\n constructor(basePickerProps: P) {\n super(basePickerProps);\n\n initializeComponentRef(this);\n const items: T[] = basePickerProps.selectedItems || basePickerProps.defaultSelectedItems || [];\n this.state = {\n items: items,\n };\n\n // Create a new selection if one is not specified\n this._defaultSelection = new Selection({ onSelectionChanged: this.onSelectionChanged });\n }\n\n public get items(): T[] {\n return this.state.items;\n }\n\n public addItems = (items: T[]): void => {\n const processedItems: T[] | PromiseLike = this.props.onItemSelected\n ? (this.props.onItemSelected as any)(items)\n : items;\n\n const processedItemObjects: T[] = processedItems as T[];\n const processedItemPromiseLikes: PromiseLike = processedItems as PromiseLike;\n\n if (processedItemPromiseLikes && processedItemPromiseLikes.then) {\n processedItemPromiseLikes.then((resolvedProcessedItems: T[]) => {\n const newItems: T[] = this.state.items.concat(resolvedProcessedItems);\n this.updateItems(newItems);\n });\n } else {\n const newItems: T[] = this.state.items.concat(processedItemObjects);\n this.updateItems(newItems);\n }\n };\n\n public removeItemAt = (index: number): void => {\n const { items } = this.state;\n\n if (this._canRemoveItem(items[index])) {\n if (index > -1) {\n if (this.props.onItemsDeleted) {\n (this.props.onItemsDeleted as (item: T[]) => void)([items[index]]);\n }\n\n const newItems = items.slice(0, index).concat(items.slice(index + 1));\n this.updateItems(newItems);\n }\n }\n };\n\n public removeItem = (item: T): void => {\n const { items } = this.state;\n const index: number = items.indexOf(item);\n\n this.removeItemAt(index);\n };\n\n public replaceItem = (itemToReplace: T, itemsToReplaceWith: T[]): void => {\n const { items } = this.state;\n const index: number = items.indexOf(itemToReplace);\n if (index > -1) {\n const newItems = items\n .slice(0, index)\n .concat(itemsToReplaceWith)\n .concat(items.slice(index + 1));\n this.updateItems(newItems);\n }\n };\n\n public removeItems = (itemsToRemove: any[]): void => {\n const { items } = this.state;\n const itemsCanRemove = itemsToRemove.filter(item => this._canRemoveItem(item));\n const newItems: T[] = items.filter(item => itemsCanRemove.indexOf(item) === -1);\n const firstItemToRemove = itemsCanRemove[0];\n const index: number = items.indexOf(firstItemToRemove);\n\n if (this.props.onItemsDeleted) {\n (this.props.onItemsDeleted as (item: T[]) => void)(itemsCanRemove);\n }\n\n this.updateItems(newItems, index);\n };\n\n public removeSelectedItems(): void {\n if (this.state.items.length && this.selection.getSelectedCount() > 0) {\n this.removeItems(this.selection.getSelection());\n }\n }\n\n /**\n * Controls what happens whenever there is an action that impacts the selected items.\n * If selectedItems is provided, this will act as a controlled component and will not update its own state.\n */\n public updateItems(items: T[], focusIndex?: number): void {\n if (this.props.selectedItems) {\n // If the component is a controlled component then the controlling component will need to pass the new props\n this.onChange(items);\n } else {\n this.setState({ items: items }, () => {\n this._onSelectedItemsUpdated(items, focusIndex);\n });\n }\n }\n\n public onCopy = (ev: React.ClipboardEvent): void => {\n if (this.props.onCopyItems && this.selection.getSelectedCount() > 0) {\n const selectedItems: T[] = this.selection.getSelection() as T[];\n this.copyItems(selectedItems);\n }\n };\n\n public hasSelectedItems(): boolean {\n return this.selection.getSelectedCount() > 0;\n }\n\n public componentDidUpdate(oldProps: P, oldState: IBaseSelectedItemsListState): void {\n if (this.state.items && this.state.items !== oldState.items) {\n this.selection.setItems(this.state.items);\n }\n }\n\n public unselectAll(): void {\n this.selection.setAllSelected(false);\n }\n\n public highlightedItems(): T[] {\n return this.selection.getSelection() as T[];\n }\n\n public componentDidMount(): void {\n this.selection.setItems(this.state.items);\n }\n\n protected get selection(): Selection {\n return this.props.selection ?? this._defaultSelection;\n }\n\n public render(): any {\n return this.renderItems();\n }\n\n protected renderItems = (): JSX.Element[] => {\n const { removeButtonAriaLabel } = this.props;\n const onRenderItem = this.props.onRenderItem as (props: ISelectedItemProps) => JSX.Element;\n\n const { items } = this.state;\n return items.map((item: any, index: number) =>\n onRenderItem({\n item,\n index,\n key: item.key ? item.key : index,\n selected: this.selection.isIndexSelected(index),\n onRemoveItem: () => this.removeItem(item),\n onItemChange: this.onItemChange,\n removeButtonAriaLabel: removeButtonAriaLabel,\n onCopyItem: (itemToCopy: T) => this.copyItems([itemToCopy]),\n }),\n );\n };\n\n protected onSelectionChanged = (): void => {\n this.forceUpdate();\n };\n\n protected onChange(items?: T[]): void {\n if (this.props.onChange) {\n (this.props.onChange as (items?: T[]) => void)(items);\n }\n }\n\n protected onItemChange = (changedItem: T, index: number): void => {\n const { items } = this.state;\n\n if (index >= 0) {\n const newItems: T[] = items;\n newItems[index] = changedItem;\n\n this.updateItems(newItems);\n }\n };\n\n protected copyItems(items: T[]): void {\n if (this.props.onCopyItems) {\n const copyText = (this.props.onCopyItems as any)(items);\n\n const copyInput = document.createElement('input') as HTMLInputElement;\n document.body.appendChild(copyInput);\n\n try {\n // Try to copy the text directly to the clipboard\n copyInput.value = copyText;\n copyInput.select();\n if (!document.execCommand('copy')) {\n // The command failed. Fallback to the method below.\n throw new Error();\n }\n } catch (err) {\n // no op\n } finally {\n document.body.removeChild(copyInput);\n }\n }\n }\n\n private _onSelectedItemsUpdated(items?: T[], focusIndex?: number): void {\n this.onChange(items);\n }\n\n private _canRemoveItem(item: T): boolean {\n return !this.props.canRemoveItem || this.props.canRemoveItem(item);\n }\n}\n","/* eslint-disable */\nimport { loadStyles } from '@microsoft/load-themed-styles';\nloadStyles([{\"rawString\":\".personaContainer_acf6fc7e{border-radius:15px;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:\"},{\"theme\":\"themeLighterAlt\",\"defaultValue\":\"#eff6fc\"},{\"rawString\":\";margin:4px;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle;position:relative}.personaContainer_acf6fc7e::-moz-focus-inner{border:0}.personaContainer_acf6fc7e{outline:transparent}.personaContainer_acf6fc7e{position:relative}.ms-Fabric--isFocusVisible .personaContainer_acf6fc7e:focus:after{-webkit-box-sizing:border-box;box-sizing:border-box;content:'';position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;pointer-events:none;border:1px solid \"},{\"theme\":\"focusBorder\",\"defaultValue\":\"#605e5c\"},{\"rawString\":\";border-radius:0}.personaContainer_acf6fc7e .ms-Persona-primaryText{color:\"},{\"theme\":\"themeDark\",\"defaultValue\":\"#005a9e\"},{\"rawString\":\";font-size:14px;font-weight:400}.personaContainer_acf6fc7e .ms-Persona-primaryText.hover_acf6fc7e{color:\"},{\"theme\":\"themeDark\",\"defaultValue\":\"#005a9e\"},{\"rawString\":\"}@media screen and (-ms-high-contrast:active){.personaContainer_acf6fc7e .ms-Persona-primaryText{color:HighlightText}}.personaContainer_acf6fc7e .actionButton_acf6fc7e:hover{background:\"},{\"theme\":\"themeLight\",\"defaultValue\":\"#c7e0f4\"},{\"rawString\":\"}.personaContainer_acf6fc7e .actionButton_acf6fc7e .ms-Button-icon{color:\"},{\"theme\":\"themeDark\",\"defaultValue\":\"#005a9e\"},{\"rawString\":\"}@media screen and (-ms-high-contrast:active){.personaContainer_acf6fc7e .actionButton_acf6fc7e .ms-Button-icon{color:HighlightText}}.personaContainer_acf6fc7e:hover{background:\"},{\"theme\":\"themeLighter\",\"defaultValue\":\"#deecf9\"},{\"rawString\":\"}.personaContainer_acf6fc7e:hover .ms-Persona-primaryText{color:\"},{\"theme\":\"themeDark\",\"defaultValue\":\"#005a9e\"},{\"rawString\":\";font-size:14px;font-weight:400}@media screen and (-ms-high-contrast:active){.personaContainer_acf6fc7e:hover .ms-Persona-primaryText{color:HighlightText}}.personaContainer_acf6fc7e.personaContainerIsSelected_acf6fc7e{background:\"},{\"theme\":\"themePrimary\",\"defaultValue\":\"#0078d4\"},{\"rawString\":\"}.personaContainer_acf6fc7e.personaContainerIsSelected_acf6fc7e .ms-Persona-primaryText{color:\"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\"}@media screen and (-ms-high-contrast:active){.personaContainer_acf6fc7e.personaContainerIsSelected_acf6fc7e .ms-Persona-primaryText{color:HighlightText}}.personaContainer_acf6fc7e.personaContainerIsSelected_acf6fc7e .actionButton_acf6fc7e{color:\"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\"}.personaContainer_acf6fc7e.personaContainerIsSelected_acf6fc7e .actionButton_acf6fc7e .ms-Button-icon{color:\"},{\"theme\":\"themeDark\",\"defaultValue\":\"#005a9e\"},{\"rawString\":\"}.personaContainer_acf6fc7e.personaContainerIsSelected_acf6fc7e .actionButton_acf6fc7e .ms-Button-icon:hover{background:\"},{\"theme\":\"themeDark\",\"defaultValue\":\"#005a9e\"},{\"rawString\":\"}@media screen and (-ms-high-contrast:active){.personaContainer_acf6fc7e.personaContainerIsSelected_acf6fc7e .actionButton_acf6fc7e .ms-Button-icon{color:HighlightText}}@media screen and (-ms-high-contrast:active){.personaContainer_acf6fc7e.personaContainerIsSelected_acf6fc7e{border-color:Highlight;background:Highlight;-ms-high-contrast-adjust:none}}.personaContainer_acf6fc7e.validationError_acf6fc7e .ms-Persona-primaryText{color:\"},{\"theme\":\"red\",\"defaultValue\":\"#e81123\"},{\"rawString\":\"}.personaContainer_acf6fc7e.validationError_acf6fc7e .ms-Persona-initials{font-size:20px}@media screen and (-ms-high-contrast:active){.personaContainer_acf6fc7e{border:1px solid WindowText}}.personaContainer_acf6fc7e .itemContent_acf6fc7e{-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto;min-width:0;max-width:100%}.personaContainer_acf6fc7e .removeButton_acf6fc7e{border-radius:15px;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:33px;height:33px;-ms-flex-preferred-size:32px;flex-basis:32px}.personaContainer_acf6fc7e .expandButton_acf6fc7e{border-radius:15px 0 0 15px;height:33px;width:44px;padding-right:16px;position:inherit;display:-webkit-box;display:-ms-flexbox;display:flex;margin-right:-17px}.personaContainer_acf6fc7e .personaWrapper_acf6fc7e{position:relative;display:inherit}.personaContainer_acf6fc7e .personaWrapper_acf6fc7e .ms-Persona-details{padding:0 8px}.personaContainer_acf6fc7e .personaDetails_acf6fc7e{-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto}.itemContainer_acf6fc7e{display:inline-block;vertical-align:top}\"}]);\nexport const personaContainer = \"personaContainer_acf6fc7e\";\nexport const hover = \"hover_acf6fc7e\";\nexport const actionButton = \"actionButton_acf6fc7e\";\nexport const personaContainerIsSelected = \"personaContainerIsSelected_acf6fc7e\";\nexport const validationError = \"validationError_acf6fc7e\";\nexport const itemContent = \"itemContent_acf6fc7e\";\nexport const removeButton = \"removeButton_acf6fc7e\";\nexport const expandButton = \"expandButton_acf6fc7e\";\nexport const personaWrapper = \"personaWrapper_acf6fc7e\";\nexport const personaDetails = \"personaDetails_acf6fc7e\";\nexport const itemContainer = \"itemContainer_acf6fc7e\";","import * as React from 'react';\nimport { IStyle, ITheme } from '../../Styling';\nimport { IStyleFunctionOrObject } from '../../Utilities';\n\n/**\n * Shimmer component props.\n * {@docCategory Shimmer}\n */\nexport interface IShimmerProps extends React.AllHTMLAttributes, React.RefAttributes {\n /**\n * Sets the width value of the shimmer wave wrapper.\n * @defaultvalue 100%\n */\n width?: number | string;\n\n /**\n * Controls when the shimmer is swapped with actual data through an animated transition.\n * @defaultvalue false\n */\n isDataLoaded?: boolean;\n\n /**\n * Elements to render in one line of the Shimmer.\n */\n shimmerElements?: IShimmerElement[];\n\n /**\n * Custom elements when necessary to build complex placeholder skeletons.\n */\n customElementsGroup?: React.ReactNode;\n\n /**\n * Localized string of the status label for screen reader\n */\n ariaLabel?: string;\n\n /**\n * Call to provide customized styling that will layer on top of the variant rules.\n */\n styles?: IStyleFunctionOrObject;\n\n /**\n * Additional CSS class(es) to apply to the Shimmer container.\n */\n className?: string;\n\n /**\n * Theme provided by High-Order Component.\n */\n theme?: ITheme;\n\n /**\n * Defines an object with possible colors to pass for Shimmer customization used on different backgrounds.\n */\n shimmerColors?: IShimmerColors;\n}\n\n/**\n * Shimmer Elements Interface representing all common properties between Gap, Circle and Line.\n * {@docCategory Shimmer}\n */\nexport interface IShimmerElement {\n /**\n * Represents the possible type of the shimmer elements: Gap, Circle, Line.\n * Required for every element you intend to use.\n */\n type: ShimmerElementType;\n\n /**\n * Sets the height of the element (ICircle, ILine, IGap) in pixels.\n * Read more details for each specific element.\n */\n height?: number;\n\n /**\n * Sets the width value of the element (ILine, IGap) in pixels.\n * Read more details for each specific element.\n */\n width?: number | string;\n\n /**\n * Sets vertical alignment of the element (ICircle, ILine).\n * @defaultvalue center\n */\n verticalAlign?: 'top' | 'center' | 'bottom';\n}\n\n/**\n * Line element interface\n * {@docCategory Shimmer}\n */\nexport interface ILine extends IShimmerElement {\n /**\n * Sets the height of the shimmer line in pixels.\n * @defaultvalue 16px\n */\n height?: number;\n\n /**\n * Line width value.\n * @defaultvalue 100%\n */\n width?: number | string;\n}\n\n/**\n * Circle element interface\n * {@docCategory Shimmer}\n */\nexport interface ICircle extends IShimmerElement {\n /**\n * Sets the height of the shimmer circle in pixels.\n * Minimum supported 10px.\n * @defaultvalue 24px\n */\n height?: number;\n}\n\n/**\n * Gap element interface\n * {@docCategory Shimmer}\n */\nexport interface IGap extends IShimmerElement {\n /**\n * Sets the height of the shimmer gap in pixels.\n * @defaultvalue 16px\n */\n height?: number;\n\n /**\n * Gap width value.\n * @defaultvalue 10px\n */\n width?: number | string;\n}\n\n/**\n * Defines props needed to construct styles.\n * This represents the simplified set of immutable things which control the class names.\n * {@docCategory Shimmer}\n */\nexport interface IShimmerStyleProps {\n /** Boolean flag to trigger fadeIn/fadeOut transition animation when content is loaded. */\n isDataLoaded?: boolean;\n\n /** Optional CSS class name for the component attached to the root stylable area. */\n className?: string;\n\n /** Theme provided by High-Order Component. */\n theme: ITheme;\n\n /** Interval in milliseconds for the adeIn/fadeOut transition animation. */\n transitionAnimationInterval?: number;\n\n /** Color to be used as the main background color of Shimmer when not animating. */\n shimmerColor?: string;\n\n /** Tip color of the shimmer wave which gradually gets from and to `shimmerColor`. */\n shimmerWaveColor?: string;\n}\n\n/**\n * Represents the stylable areas of the control.\n * {@docCategory Shimmer}\n */\nexport interface IShimmerStyles {\n /** Refers to the root wrapper element. */\n root?: IStyle;\n\n /** Refers to wrapper element of the shimmer only. */\n shimmerWrapper?: IStyle;\n\n /** Refers to gradient element of the shimmer animation only. */\n shimmerGradient?: IStyle;\n\n /** Refers to wrapper element of the children only. */\n dataWrapper?: IStyle;\n\n /** Styles for the hidden helper element to aid with screen readers. */\n screenReaderText?: IStyle;\n}\n\n/**\n * Describes the possible types for shimmer elements used.\n * {@docCategory Shimmer}\n */\nexport enum ShimmerElementType {\n /**\n * Line element type\n */\n line = 1,\n\n /**\n * Circle element type\n */\n circle = 2,\n\n /**\n * Gap element type\n */\n gap = 3,\n}\n\n/**\n * Describes the default heights for shimmer elements when omitted in implementation.\n * {@docCategory Shimmer}\n */\nexport enum ShimmerElementsDefaultHeights {\n /**\n * Default height of the line element when not provided by user: 16px\n */\n line = 16,\n\n /**\n * Default height of the gap element when not provided by user: 16px\n */\n gap = 16,\n\n /**\n * Default height of the circle element when not provided by user: 24px\n */\n circle = 24,\n}\n\n/**\n * Interface describing the possible color customizations of Shimmer.\n * {@docCategory Shimmer}\n */\nexport interface IShimmerColors {\n /**\n * Defines the main background color which is the color you see when the wave is not animating.\n * @defaultvalue theme.palette.neutralLight\n */\n shimmer?: string;\n\n /**\n * Defines the tip color of the shimmer wave which gradually gets from and to `shimmer` color.\n * @defaultvalue theme.palette.neutralLighter\n */\n shimmerWave?: string;\n\n /**\n * Defines the background color of the space in between and around shimmer elements (borders, gaps and\n * rounded corners).\n * @defaultvalue theme.palette.white\n */\n background?: string;\n}\n","import * as React from 'react';\nimport { IconButton } from '../../../../Button';\nimport { css, getId, initializeComponentRef } from '../../../../Utilities';\nimport { Persona, PersonaSize } from '../../../../Persona';\nimport { ISelectedPeopleItemProps } from '../SelectedPeopleList';\nimport * as stylesImport from './ExtendedSelectedItem.scss';\n\nconst styles: any = stylesImport;\n\nexport interface IPeoplePickerItemState {\n contextualMenuVisible: boolean;\n}\n\nexport class ExtendedSelectedItem extends React.Component {\n protected persona = React.createRef();\n\n constructor(props: ISelectedPeopleItemProps) {\n super(props);\n\n initializeComponentRef(this);\n // eslint-disable-next-line react/no-unused-state\n this.state = { contextualMenuVisible: false };\n }\n\n public render(): JSX.Element {\n const { item, onExpandItem, onRemoveItem, removeButtonAriaLabel, index, selected } = this.props;\n const itemId = getId();\n return (\n \n \n
      \n
      \n \n
      \n \n
      \n \n );\n }\n\n private _onClickIconButton(\n action: (() => void) | undefined,\n ): (ev: React.MouseEvent) => void {\n return (ev: React.MouseEvent): void => {\n ev.stopPropagation();\n ev.preventDefault();\n if (action) {\n action();\n }\n };\n }\n}\n","import * as React from 'react';\nimport { initializeComponentRef, IBaseProps } from '../../../../Utilities';\nimport { IExtendedPersonaProps } from '../SelectedPeopleList';\nimport { ContextualMenu, DirectionalHint, IContextualMenuItem } from '../../../../ContextualMenu';\n\nexport interface IPeoplePickerItemState {\n contextualMenuVisible: boolean;\n}\n\nexport interface ISelectedItemWithContextMenuProps extends IBaseProps {\n renderedItem: JSX.Element;\n beginEditing?: (item: IExtendedPersonaProps) => void;\n menuItems: IContextualMenuItem[];\n item: IExtendedPersonaProps;\n}\n\nexport class SelectedItemWithContextMenu extends React.Component<\n ISelectedItemWithContextMenuProps,\n IPeoplePickerItemState\n> {\n protected itemElement: React.RefObject = React.createRef();\n\n constructor(props: ISelectedItemWithContextMenuProps) {\n super(props);\n\n initializeComponentRef(this);\n this.state = { contextualMenuVisible: false };\n }\n\n public render(): JSX.Element {\n return (\n
      \n {this.props.renderedItem}\n {this.state.contextualMenuVisible ? (\n \n ) : null}\n
      \n );\n }\n\n private _onClick = (ev: React.MouseEvent): void => {\n ev.preventDefault();\n if (this.props.beginEditing && !this.props.item.isValid) {\n this.props.beginEditing(this.props.item);\n } else {\n this.setState({ contextualMenuVisible: true });\n }\n };\n\n private _onCloseContextualMenu = (ev: React.MouseEvent | React.KeyboardEvent): void => {\n this.setState({ contextualMenuVisible: false });\n };\n}\n","import { getGlobalClassNames, getTheme } from '../../../../Styling';\nimport { IEditingSelectedPeopleItemStyles, IEditingSelectedPeopleItemStylesProps } from './EditingItem.types';\n\nconst GlobalClassNames = {\n root: 'ms-EditingItem',\n input: 'ms-EditingItem-input',\n};\n\nexport const getStyles = (prop: IEditingSelectedPeopleItemStylesProps): IEditingSelectedPeopleItemStyles => {\n const theme = getTheme();\n\n if (!theme) {\n throw new Error('theme is undefined or null in Editing item getStyles function.');\n }\n\n const { semanticColors } = theme;\n const classNames = getGlobalClassNames(GlobalClassNames, theme);\n\n return {\n root: [\n classNames.root,\n {\n margin: '4px',\n },\n ],\n input: [\n classNames.input,\n {\n border: '0px',\n outline: 'none',\n width: '100%',\n backgroundColor: semanticColors.inputBackground,\n color: semanticColors.inputText,\n selectors: {\n '::-ms-clear': {\n display: 'none',\n },\n },\n },\n ],\n };\n};\n","import * as React from 'react';\nimport {\n KeyCodes,\n getId,\n getNativeProps,\n inputProperties,\n classNamesFunction,\n initializeComponentRef,\n} from '../../../../Utilities';\nimport { FloatingPeoplePicker } from '../../../../FloatingPicker';\nimport { IExtendedPersonaProps } from '../SelectedPeopleList';\nimport { IPeoplePickerItemState } from './ExtendedSelectedItem';\nimport { IEditingSelectedPeopleItemProps } from './EditingItem.types';\nimport { getStyles } from './EditingItem.styles';\nimport { IEditingSelectedPeopleItemStyles, IEditingSelectedPeopleItemStylesProps } from './EditingItem.types';\n\nexport class EditingItem extends React.Component {\n private _editingInput: HTMLInputElement;\n private _editingFloatingPicker = React.createRef();\n\n constructor(props: IEditingSelectedPeopleItemProps) {\n super(props);\n\n initializeComponentRef(this);\n // eslint-disable-next-line react/no-unused-state\n this.state = { contextualMenuVisible: false };\n }\n\n public componentDidMount(): void {\n const getEditingItemText = this.props.getEditingItemText as (item: IExtendedPersonaProps) => string;\n const itemText = getEditingItemText(this.props.item);\n\n this._editingFloatingPicker.current && this._editingFloatingPicker.current.onQueryStringChanged(itemText);\n this._editingInput.value = itemText;\n this._editingInput.focus();\n }\n\n public render(): JSX.Element {\n const itemId = getId();\n const nativeProps = getNativeProps>(this.props, inputProperties);\n const getClassNames = classNamesFunction();\n const classNames = getClassNames(getStyles);\n return (\n
      \n \n {this._renderEditingSuggestions()}\n
      \n );\n }\n\n private _renderEditingSuggestions = (): JSX.Element => {\n const FloatingPicker = this.props.onRenderFloatingPicker;\n const floatingPickerProps = this.props.floatingPickerProps;\n if (!FloatingPicker || !floatingPickerProps) {\n return <>;\n }\n return (\n \n );\n };\n\n private _resolveInputRef = (ref: HTMLInputElement): void => {\n this._editingInput = ref;\n\n this.forceUpdate(() => {\n this._editingInput.focus();\n });\n };\n\n private _onInputClick = (): void => {\n this._editingFloatingPicker.current && this._editingFloatingPicker.current.showPicker(true /*updatevalue*/);\n };\n\n private _onInputBlur = (ev: React.FocusEvent): void => {\n if (this._editingFloatingPicker.current && ev.relatedTarget !== null) {\n const target = ev.relatedTarget as HTMLElement;\n if (\n target.className.indexOf('ms-Suggestions-itemButton') === -1 &&\n target.className.indexOf('ms-Suggestions-sectionButton') === -1\n ) {\n this._editingFloatingPicker.current.forceResolveSuggestion();\n }\n }\n };\n\n private _onInputChange = (ev: React.FormEvent): void => {\n const value: string = (ev.target as HTMLInputElement).value;\n\n if (value === '') {\n if (this.props.onRemoveItem) {\n this.props.onRemoveItem();\n }\n } else {\n this._editingFloatingPicker.current && this._editingFloatingPicker.current.onQueryStringChanged(value);\n }\n };\n\n private _onInputKeyDown(ev: React.KeyboardEvent): void {\n // eslint-disable-next-line deprecation/deprecation\n if (ev.which === KeyCodes.backspace || ev.which === KeyCodes.del) {\n ev.stopPropagation();\n }\n }\n\n private _onSuggestionSelected = (item: IExtendedPersonaProps): void => {\n this.props.onEditingComplete(this.props.item, item);\n };\n}\n","import * as React from 'react';\nimport { BaseSelectedItemsList } from '../BaseSelectedItemsList';\nimport { IBaseSelectedItemsListProps, ISelectedItemProps } from '../BaseSelectedItemsList.types';\nimport { IPersonaProps } from '../../../Persona';\nimport { ExtendedSelectedItem } from './Items/ExtendedSelectedItem';\nimport { SelectedItemWithContextMenu } from './Items/SelectedItemWithContextMenu';\nimport { IRenderFunction } from '../../../Utilities';\nimport { IContextualMenuItem } from '../../../ContextualMenu';\nimport { IBaseFloatingPickerProps } from '../../../FloatingPicker';\nimport { EditingItem } from './Items/EditingItem';\n\n/**\n * {@docCategory SelectedPeopleList}\n */\nexport interface IExtendedPersonaProps extends IPersonaProps {\n key?: React.Key;\n isValid: boolean;\n blockRecipientRemoval?: boolean;\n shouldBlockSelection?: boolean;\n canExpand?: boolean;\n isEditing?: boolean;\n}\n\n/**\n * {@docCategory SelectedPeopleList}\n */\nexport interface ISelectedPeopleItemProps extends ISelectedItemProps {\n onExpandItem?: () => void;\n renderPersonaCoin?: IRenderFunction;\n renderPrimaryText?: IRenderFunction;\n}\n\n/**\n * {@docCategory SelectedPeopleList}\n */\nexport interface ISelectedPeopleProps extends IBaseSelectedItemsListProps {\n onExpandGroup?: (item: IExtendedPersonaProps) => void;\n removeMenuItemText?: string;\n copyMenuItemText?: string;\n editMenuItemText?: string;\n getEditingItemText?: (item: IExtendedPersonaProps) => string;\n onRenderFloatingPicker?: React.ComponentType>;\n floatingPickerProps?: IBaseFloatingPickerProps;\n}\n\n/**\n * {@docCategory SelectedPeopleList}\n */\nexport class BasePeopleSelectedItemsList extends BaseSelectedItemsList {}\n\n/**\n * Standard People Picker.\n */\nexport class SelectedPeopleList extends BasePeopleSelectedItemsList {\n public static defaultProps: any = {\n onRenderItem: (props: ISelectedPeopleItemProps) => ,\n };\n\n protected renderItems = (): JSX.Element[] => {\n const { items } = this.state;\n return items.map((item: IExtendedPersonaProps, index: number) => this._renderItem(item, index));\n };\n\n private _renderItem(item: IExtendedPersonaProps, index: number): JSX.Element {\n const { removeButtonAriaLabel } = this.props;\n const expandGroup = this.props.onExpandGroup;\n const props = {\n item,\n index,\n key: item.key ? item.key : index,\n selected: this.selection.isIndexSelected(index),\n onRemoveItem: () => this.removeItem(item),\n onItemChange: this.onItemChange,\n removeButtonAriaLabel: removeButtonAriaLabel,\n onCopyItem: (itemToCopy: IExtendedPersonaProps) => this.copyItems([itemToCopy]),\n onExpandItem: expandGroup ? () => expandGroup(item) : undefined,\n menuItems: this._createMenuItems(item),\n };\n\n const hasContextMenu = props.menuItems.length > 0;\n if ((item as IExtendedPersonaProps).isEditing && hasContextMenu) {\n return (\n \n );\n } else {\n // This cast is here because we are guaranteed that onRenderItem is set\n // from static defaultProps\n // TODO: Move this component to composition with required onRenderItem to remove\n // this cast.\n const onRenderItem = this.props.onRenderItem as (props: ISelectedPeopleItemProps) => JSX.Element;\n const renderedItem = onRenderItem(props);\n return hasContextMenu ? (\n \n ) : (\n renderedItem\n );\n }\n }\n\n private _beginEditing = (item: IExtendedPersonaProps): void => {\n item.isEditing = true;\n this.forceUpdate();\n };\n\n private _completeEditing = (oldItem: any, newItem: any): void => {\n oldItem.isEditing = false;\n this.replaceItem(oldItem, newItem);\n };\n\n private _createMenuItems(item: any): IContextualMenuItem[] {\n const menuItems: IContextualMenuItem[] = [];\n\n if (this.props.editMenuItemText && this.props.getEditingItemText) {\n menuItems.push({\n key: 'Edit',\n text: this.props.editMenuItemText,\n onClick: (ev: React.MouseEvent, menuItem: IContextualMenuItem) => {\n this._beginEditing(menuItem.data);\n },\n data: item,\n });\n }\n\n if (this.props.removeMenuItemText) {\n menuItems.push({\n key: 'Remove',\n text: this.props.removeMenuItemText,\n onClick: (ev: React.MouseEvent, menuItem: IContextualMenuItem) => {\n this.removeItem(menuItem.data as IExtendedPersonaProps);\n },\n data: item,\n });\n }\n\n if (this.props.copyMenuItemText) {\n menuItems.push({\n key: 'Copy',\n text: this.props.copyMenuItemText,\n onClick: (ev: React.MouseEvent, menuItem: IContextualMenuItem) => {\n if (this.props.onCopyItems) {\n (this.copyItems as (items: IExtendedPersonaProps[]) => void)([menuItem.data] as IExtendedPersonaProps[]);\n }\n },\n data: item,\n });\n }\n\n return menuItems;\n }\n}\n","import { IShimmerStyleProps, IShimmerStyles } from './Shimmer.types';\nimport {\n keyframes,\n getGlobalClassNames,\n hiddenContentStyle,\n HighContrastSelector,\n getHighContrastNoAdjustStyle,\n} from '../../Styling';\nimport { getRTL, memoizeFunction } from '../../Utilities';\n\nconst GlobalClassNames = {\n root: 'ms-Shimmer-container',\n shimmerWrapper: 'ms-Shimmer-shimmerWrapper',\n shimmerGradient: 'ms-Shimmer-shimmerGradient',\n dataWrapper: 'ms-Shimmer-dataWrapper',\n};\n\nconst BACKGROUND_OFF_SCREEN_POSITION = '100%';\n\nconst shimmerAnimation = memoizeFunction(() =>\n keyframes({\n '0%': {\n transform: `translateX(-${BACKGROUND_OFF_SCREEN_POSITION})`,\n },\n '100%': {\n transform: `translateX(${BACKGROUND_OFF_SCREEN_POSITION})`,\n },\n }),\n);\n\nconst shimmerAnimationRTL = memoizeFunction(() =>\n keyframes({\n '100%': {\n transform: `translateX(-${BACKGROUND_OFF_SCREEN_POSITION})`,\n },\n '0%': {\n transform: `translateX(${BACKGROUND_OFF_SCREEN_POSITION})`,\n },\n }),\n);\n\nexport function getStyles(props: IShimmerStyleProps): IShimmerStyles {\n const { isDataLoaded, className, theme, transitionAnimationInterval, shimmerColor, shimmerWaveColor } = props;\n\n const { semanticColors } = theme;\n const classNames = getGlobalClassNames(GlobalClassNames, theme);\n\n const isRTL = getRTL(theme);\n\n return {\n root: [\n classNames.root,\n theme.fonts.medium,\n {\n position: 'relative',\n height: 'auto',\n },\n className,\n ],\n shimmerWrapper: [\n classNames.shimmerWrapper,\n {\n position: 'relative',\n overflow: 'hidden',\n transform: 'translateZ(0)',\n backgroundColor: shimmerColor || semanticColors.disabledBackground,\n transition: `opacity ${transitionAnimationInterval}ms`,\n selectors: {\n '> *': {\n transform: 'translateZ(0)',\n },\n [HighContrastSelector]: {\n background: `WindowText\n linear-gradient(\n to right,\n transparent 0%,\n Window 50%,\n transparent 100%)\n 0 0 / 90% 100%\n no-repeat`,\n ...getHighContrastNoAdjustStyle(),\n },\n },\n },\n isDataLoaded && {\n opacity: '0',\n position: 'absolute',\n top: '0',\n bottom: '0',\n left: '0',\n right: '0',\n },\n ],\n shimmerGradient: [\n classNames.shimmerGradient,\n {\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n background: `${shimmerColor || semanticColors.disabledBackground}\n linear-gradient(\n to right,\n ${shimmerColor || semanticColors.disabledBackground} 0%,\n ${shimmerWaveColor || semanticColors.bodyDivider} 50%,\n ${shimmerColor || semanticColors.disabledBackground} 100%)\n 0 0 / 90% 100%\n no-repeat`,\n transform: `translateX(-${BACKGROUND_OFF_SCREEN_POSITION})`,\n animationDuration: '2s',\n animationTimingFunction: 'ease-in-out',\n animationDirection: 'normal',\n animationIterationCount: 'infinite',\n animationName: isRTL ? shimmerAnimationRTL() : shimmerAnimation(),\n },\n ],\n dataWrapper: [\n classNames.dataWrapper,\n {\n position: 'absolute',\n top: '0',\n bottom: '0',\n left: '0',\n right: '0',\n opacity: '0',\n background: 'none',\n backgroundColor: 'transparent',\n border: 'none',\n transition: `opacity ${transitionAnimationInterval}ms`,\n },\n isDataLoaded && {\n opacity: '1',\n position: 'static',\n },\n ],\n screenReaderText: hiddenContentStyle,\n };\n}\n","import * as React from 'react';\nimport { classNamesFunction } from '../../../Utilities';\nimport { IShimmerLineProps, IShimmerLineStyleProps, IShimmerLineStyles } from './ShimmerLine.types';\n\nconst getClassNames = classNamesFunction();\n\n/**\n * {@docCategory Shimmer}\n */\nexport const ShimmerLineBase: React.FunctionComponent = props => {\n // eslint-disable-next-line deprecation/deprecation\n const { height, styles, width = '100%', borderStyle, theme } = props;\n\n const classNames = getClassNames(styles!, {\n theme: theme!,\n height,\n borderStyle,\n });\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n};\n","import { IShimmerLineStyleProps, IShimmerLineStyles } from './ShimmerLine.types';\nimport { IRawStyle, getGlobalClassNames, HighContrastSelector } from '../../../Styling';\n\nconst GlobalClassNames = {\n root: 'ms-ShimmerLine-root',\n topLeftCorner: 'ms-ShimmerLine-topLeftCorner',\n topRightCorner: 'ms-ShimmerLine-topRightCorner',\n bottomLeftCorner: 'ms-ShimmerLine-bottomLeftCorner',\n bottomRightCorner: 'ms-ShimmerLine-bottomRightCorner',\n};\n\nexport function getStyles(props: IShimmerLineStyleProps): IShimmerLineStyles {\n // eslint-disable-next-line deprecation/deprecation\n const { height, borderStyle, theme } = props;\n\n const { semanticColors } = theme;\n const globalClassNames = getGlobalClassNames(GlobalClassNames, theme);\n\n const borderStyles: IRawStyle = borderStyle || {};\n\n const sharedCornerStyles: IRawStyle = {\n position: 'absolute',\n fill: semanticColors.bodyBackground,\n };\n\n return {\n root: [\n globalClassNames.root,\n theme.fonts.medium,\n {\n height: `${height}px`,\n boxSizing: 'content-box',\n position: 'relative',\n borderTopStyle: 'solid',\n borderBottomStyle: 'solid',\n borderColor: semanticColors.bodyBackground,\n borderWidth: 0,\n selectors: {\n [HighContrastSelector]: {\n borderColor: 'Window',\n selectors: {\n '> *': {\n fill: 'Window',\n },\n },\n },\n },\n },\n borderStyles,\n ],\n topLeftCorner: [\n globalClassNames.topLeftCorner,\n {\n top: '0',\n left: '0',\n },\n sharedCornerStyles,\n ],\n topRightCorner: [\n globalClassNames.topRightCorner,\n {\n top: '0',\n right: '0',\n },\n sharedCornerStyles,\n ],\n bottomRightCorner: [\n globalClassNames.bottomRightCorner,\n {\n bottom: '0',\n right: '0',\n },\n sharedCornerStyles,\n ],\n bottomLeftCorner: [\n globalClassNames.bottomLeftCorner,\n {\n bottom: '0',\n left: '0',\n },\n sharedCornerStyles,\n ],\n };\n}\n","import * as React from 'react';\nimport { styled } from '../../../Utilities';\nimport { IShimmerLineProps, IShimmerLineStyleProps, IShimmerLineStyles } from './ShimmerLine.types';\nimport { ShimmerLineBase } from './ShimmerLine.base';\nimport { getStyles } from './ShimmerLine.styles';\n\nexport const ShimmerLine: React.FunctionComponent = styled<\n IShimmerLineProps,\n IShimmerLineStyleProps,\n IShimmerLineStyles\n>(ShimmerLineBase, getStyles, undefined, {\n scope: 'ShimmerLine',\n});\n","import * as React from 'react';\nimport { classNamesFunction } from '../../../Utilities';\nimport { IShimmerGapProps, IShimmerGapStyleProps, IShimmerGapStyles } from './ShimmerGap.types';\n\nconst getClassNames = classNamesFunction();\n\n/**\n * {@docCategory Shimmer}\n */\nexport const ShimmerGapBase: React.FunctionComponent = props => {\n // eslint-disable-next-line deprecation/deprecation\n const { height, styles, width = '10px', borderStyle, theme } = props;\n\n const classNames = getClassNames(styles!, {\n theme: theme!,\n height,\n borderStyle,\n });\n\n return (\n \n );\n};\n","import { IShimmerGapStyleProps, IShimmerGapStyles } from './ShimmerGap.types';\nimport { IRawStyle, getGlobalClassNames, HighContrastSelector } from '../../../Styling';\n\nconst GlobalClassNames = {\n root: 'ms-ShimmerGap-root',\n};\n\nexport function getStyles(props: IShimmerGapStyleProps): IShimmerGapStyles {\n // eslint-disable-next-line deprecation/deprecation\n const { height, borderStyle, theme } = props;\n\n const { semanticColors } = theme;\n const globalClassNames = getGlobalClassNames(GlobalClassNames, theme);\n\n const borderStyles: IRawStyle = borderStyle || {};\n\n return {\n root: [\n globalClassNames.root,\n theme.fonts.medium,\n {\n backgroundColor: semanticColors.bodyBackground,\n height: `${height}px`,\n boxSizing: 'content-box',\n borderTopStyle: 'solid',\n borderBottomStyle: 'solid',\n borderColor: semanticColors.bodyBackground,\n selectors: {\n [HighContrastSelector]: {\n backgroundColor: 'Window',\n borderColor: 'Window',\n },\n },\n },\n borderStyles,\n ],\n };\n}\n","import * as React from 'react';\nimport { styled } from '../../../Utilities';\nimport { IShimmerGapProps, IShimmerGapStyleProps, IShimmerGapStyles } from './ShimmerGap.types';\nimport { ShimmerGapBase } from './ShimmerGap.base';\nimport { getStyles } from './ShimmerGap.styles';\n\nexport const ShimmerGap: React.FunctionComponent = styled<\n IShimmerGapProps,\n IShimmerGapStyleProps,\n IShimmerGapStyles\n>(ShimmerGapBase, getStyles, undefined, {\n scope: 'ShimmerGap',\n});\n","import { IShimmerCircleStyleProps, IShimmerCircleStyles } from './ShimmerCircle.types';\nimport { getGlobalClassNames, HighContrastSelector, IRawStyle } from '../../../Styling';\n\nconst GlobalClassNames = {\n root: 'ms-ShimmerCircle-root',\n svg: 'ms-ShimmerCircle-svg',\n};\n\nexport function getStyles(props: IShimmerCircleStyleProps): IShimmerCircleStyles {\n // eslint-disable-next-line deprecation/deprecation\n const { height, borderStyle, theme } = props;\n\n const { semanticColors } = theme;\n const globalClassNames = getGlobalClassNames(GlobalClassNames, theme);\n\n const borderStyles: IRawStyle = borderStyle || {};\n\n return {\n root: [\n globalClassNames.root,\n theme.fonts.medium,\n {\n width: `${height}px`,\n height: `${height}px`,\n minWidth: `${height}px`, // Fix for IE11 flex items\n boxSizing: 'content-box',\n borderTopStyle: 'solid',\n borderBottomStyle: 'solid',\n borderColor: semanticColors.bodyBackground,\n selectors: {\n [HighContrastSelector]: {\n borderColor: 'Window',\n },\n },\n },\n borderStyles,\n ],\n svg: [\n globalClassNames.svg,\n {\n display: 'block',\n fill: semanticColors.bodyBackground,\n selectors: {\n [HighContrastSelector]: {\n fill: 'Window',\n },\n },\n },\n ],\n };\n}\n","import * as React from 'react';\nimport { classNamesFunction } from '../../../Utilities';\nimport { IShimmerCircleProps, IShimmerCircleStyleProps, IShimmerCircleStyles } from './ShimmerCircle.types';\n\nconst getClassNames = classNamesFunction();\n\nexport const ShimmerCircleBase: React.FunctionComponent = props => {\n // eslint-disable-next-line deprecation/deprecation\n const { height, styles, borderStyle, theme } = props;\n const classNames = getClassNames(styles!, {\n theme: theme!,\n height,\n borderStyle,\n });\n\n return (\n
      \n \n \n \n
      \n );\n};\n","import * as React from 'react';\nimport { styled } from '../../../Utilities';\nimport { getStyles } from './ShimmerCircle.styles';\nimport { IShimmerCircleProps, IShimmerCircleStyleProps, IShimmerCircleStyles } from './ShimmerCircle.types';\nimport { ShimmerCircleBase } from './ShimmerCircle.base';\n\nexport const ShimmerCircle: React.FunctionComponent = styled<\n IShimmerCircleProps,\n IShimmerCircleStyleProps,\n IShimmerCircleStyles\n>(ShimmerCircleBase, getStyles, undefined, { scope: 'ShimmerCircle' });\n","import * as React from 'react';\nimport { classNamesFunction, memoizeFunction } from '../../../Utilities';\nimport { IRawStyle } from '../../../Styling';\nimport {\n IShimmerElementsGroupProps,\n IShimmerElementsGroupStyleProps,\n IShimmerElementsGroupStyles,\n} from './ShimmerElementsGroup.types';\nimport { ShimmerElementType, ShimmerElementsDefaultHeights, IShimmerElement } from '../Shimmer.types';\nimport { ShimmerLine } from '../ShimmerLine/ShimmerLine';\nimport { IShimmerLineStyles } from '../ShimmerLine/ShimmerLine.types';\nimport { ShimmerGap } from '../ShimmerGap/ShimmerGap';\nimport { IShimmerGapStyles } from '../ShimmerGap/ShimmerGap.types';\nimport { ShimmerCircle } from '../ShimmerCircle/ShimmerCircle';\nimport { IShimmerCircleStyles } from '../ShimmerCircle/ShimmerCircle.types';\n\nconst getClassNames = classNamesFunction();\n\n/**\n * {@docCategory Shimmer}\n */\nexport const ShimmerElementsGroupBase: React.FunctionComponent = props => {\n const {\n styles,\n width = 'auto',\n shimmerElements,\n rowHeight = findMaxElementHeight(shimmerElements || []),\n flexWrap = false,\n theme,\n backgroundColor,\n } = props;\n\n const classNames = getClassNames(styles!, {\n theme: theme!,\n flexWrap,\n });\n\n return (\n
      \n {getRenderedElements(shimmerElements, backgroundColor, rowHeight)}\n
      \n );\n};\n\nfunction getRenderedElements(\n shimmerElements?: IShimmerElement[],\n backgroundColor?: string,\n rowHeight?: number,\n): React.ReactNode {\n const renderedElements: React.ReactNode = shimmerElements ? (\n shimmerElements.map(\n // false positive\n // eslint-disable-next-line array-callback-return\n (element: IShimmerElement, index: number): JSX.Element => {\n const { type, ...filteredElem } = element;\n const { verticalAlign, height } = filteredElem;\n const styles = getElementStyles(verticalAlign, type, height, backgroundColor, rowHeight);\n\n switch (element.type) {\n case ShimmerElementType.circle:\n return ;\n case ShimmerElementType.gap:\n return ;\n case ShimmerElementType.line:\n return ;\n }\n },\n )\n ) : (\n \n );\n\n return renderedElements;\n}\n\nconst getElementStyles = memoizeFunction(\n (\n verticalAlign: 'center' | 'bottom' | 'top' | undefined,\n elementType: ShimmerElementType,\n elementHeight: number | undefined,\n backgroundColor?: string,\n rowHeight?: number,\n ): IShimmerCircleStyles | IShimmerGapStyles | IShimmerLineStyles => {\n const dif: number = rowHeight && elementHeight ? rowHeight - elementHeight : 0;\n\n let borderStyle: IRawStyle | undefined;\n\n if (!verticalAlign || verticalAlign === 'center') {\n borderStyle = {\n borderBottomWidth: `${dif ? Math.floor(dif / 2) : 0}px`,\n borderTopWidth: `${dif ? Math.ceil(dif / 2) : 0}px`,\n };\n } else if (verticalAlign && verticalAlign === 'top') {\n borderStyle = {\n borderBottomWidth: `${dif}px`,\n borderTopWidth: `0px`,\n };\n } else if (verticalAlign && verticalAlign === 'bottom') {\n borderStyle = {\n borderBottomWidth: `0px`,\n borderTopWidth: `${dif}px`,\n };\n }\n\n if (backgroundColor) {\n switch (elementType) {\n case ShimmerElementType.circle:\n return {\n root: { ...borderStyle, borderColor: backgroundColor },\n svg: { fill: backgroundColor },\n };\n case ShimmerElementType.gap:\n return {\n root: { ...borderStyle, borderColor: backgroundColor, backgroundColor: backgroundColor },\n };\n case ShimmerElementType.line:\n return {\n root: { ...borderStyle, borderColor: backgroundColor },\n topLeftCorner: { fill: backgroundColor },\n topRightCorner: { fill: backgroundColor },\n bottomLeftCorner: { fill: backgroundColor },\n bottomRightCorner: { fill: backgroundColor },\n };\n }\n }\n\n return {\n root: borderStyle,\n };\n },\n);\n\n/**\n * User should not worry to provide which of the elements is the highest so we do the calculation for him.\n * Plus if user forgot to specify the height we assign their defaults.\n */\nfunction findMaxElementHeight(shimmerElements: IShimmerElement[]): number {\n const shimmerElementsDefaulted: IShimmerElement[] = shimmerElements.map(\n (element: IShimmerElement): IShimmerElement => {\n switch (element.type) {\n case ShimmerElementType.circle:\n if (!element.height) {\n element.height = ShimmerElementsDefaultHeights.circle;\n }\n break;\n case ShimmerElementType.line:\n if (!element.height) {\n element.height = ShimmerElementsDefaultHeights.line;\n }\n break;\n case ShimmerElementType.gap:\n if (!element.height) {\n element.height = ShimmerElementsDefaultHeights.gap;\n }\n break;\n }\n return element;\n },\n );\n\n const rowHeight = shimmerElementsDefaulted.reduce((acc: number, next: IShimmerElement): number => {\n return next.height ? (next.height > acc ? next.height : acc) : acc;\n }, 0);\n\n return rowHeight;\n}\n","import { IShimmerElementsGroupStyleProps, IShimmerElementsGroupStyles } from './ShimmerElementsGroup.types';\nimport { getGlobalClassNames } from '../../../Styling';\n\nconst GlobalClassNames = {\n root: 'ms-ShimmerElementsGroup-root',\n};\n\nexport function getStyles(props: IShimmerElementsGroupStyleProps): IShimmerElementsGroupStyles {\n const { flexWrap, theme } = props;\n\n const classNames = getGlobalClassNames(GlobalClassNames, theme);\n\n return {\n root: [\n classNames.root,\n theme.fonts.medium,\n {\n display: 'flex',\n alignItems: 'center',\n flexWrap: flexWrap ? 'wrap' : 'nowrap',\n position: 'relative',\n },\n ],\n };\n}\n","import * as React from 'react';\nimport { styled } from '../../../Utilities';\nimport {\n IShimmerElementsGroupProps,\n IShimmerElementsGroupStyleProps,\n IShimmerElementsGroupStyles,\n} from './ShimmerElementsGroup.types';\nimport { ShimmerElementsGroupBase } from './ShimmerElementsGroup.base';\nimport { getStyles } from './ShimmerElementsGroup.styles';\n\nexport const ShimmerElementsGroup: React.FunctionComponent = styled<\n IShimmerElementsGroupProps,\n IShimmerElementsGroupStyleProps,\n IShimmerElementsGroupStyles\n>(ShimmerElementsGroupBase, getStyles, undefined, { scope: 'ShimmerElementsGroup' });\n","import * as React from 'react';\nimport { classNamesFunction, DelayedRender, getNativeProps, divProperties } from '../../Utilities';\nimport { IShimmerProps, IShimmerStyleProps, IShimmerStyles } from './Shimmer.types';\nimport { ShimmerElementsGroup } from './ShimmerElementsGroup/ShimmerElementsGroup';\nimport { useSetTimeout, useConst } from '@fluentui/react-hooks';\n\nconst TRANSITION_ANIMATION_INTERVAL = 200; /* ms */\nconst COMPONENT_NAME = 'Shimmer';\n\nconst getClassNames = classNamesFunction();\n\n/**\n * {@docCategory Shimmer}\n */\nexport const ShimmerBase: React.FunctionComponent = React.forwardRef(\n (props, ref) => {\n const {\n styles,\n shimmerElements,\n children,\n width,\n className,\n customElementsGroup,\n theme,\n ariaLabel,\n shimmerColors,\n isDataLoaded = false,\n } = props;\n\n const divProps = getNativeProps>(props, divProperties);\n\n const classNames: { [key in keyof IShimmerStyles]: string } = getClassNames(styles!, {\n theme: theme!,\n isDataLoaded,\n className,\n transitionAnimationInterval: TRANSITION_ANIMATION_INTERVAL,\n shimmerColor: shimmerColors && shimmerColors.shimmer,\n shimmerWaveColor: shimmerColors && shimmerColors.shimmerWave,\n });\n\n const internalState = useConst({\n lastTimeoutId: 0,\n });\n\n const { setTimeout, clearTimeout } = useSetTimeout();\n\n /**\n * Flag for knowing when to remove the shimmerWrapper from the DOM.\n */\n const [contentLoaded, setContentLoaded] = React.useState(isDataLoaded);\n\n const divStyleProp = { width: width ? width : '100%' };\n\n React.useEffect(() => {\n if (isDataLoaded !== contentLoaded) {\n if (isDataLoaded) {\n internalState.lastTimeoutId = setTimeout(() => {\n setContentLoaded(true);\n }, TRANSITION_ANIMATION_INTERVAL);\n\n return () => clearTimeout(internalState.lastTimeoutId);\n } else {\n setContentLoaded(false);\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps -- Should only run when isDataLoaded changes.\n }, [isDataLoaded]);\n\n return (\n
      \n {!contentLoaded && (\n
      \n
      \n {customElementsGroup ? (\n customElementsGroup\n ) : (\n \n )}\n
      \n )}\n {children &&
      {children}
      }\n {ariaLabel && !isDataLoaded && (\n
      \n \n
      {ariaLabel}
      \n
      \n
      \n )}\n
      \n );\n },\n);\nShimmerBase.displayName = COMPONENT_NAME;\n","import * as React from 'react';\nimport { styled } from '../../Utilities';\nimport { IShimmerProps, IShimmerStyleProps, IShimmerStyles } from './Shimmer.types';\nimport { getStyles } from './Shimmer.styles';\nimport { ShimmerBase } from './Shimmer.base';\n\nexport const Shimmer: React.FunctionComponent = styled<\n IShimmerProps,\n IShimmerStyleProps,\n IShimmerStyles\n>(ShimmerBase, getStyles, undefined, {\n scope: 'Shimmer',\n});\n","import * as React from 'react';\n\nimport { classNamesFunction, css } from '../../Utilities';\nimport { IProcessedStyleSet } from '../../Styling';\nimport { SelectionMode } from '../../Selection';\nimport { DetailsList } from './DetailsList';\nimport { IDetailsRowProps } from './DetailsRow.types';\nimport { Shimmer, ShimmerElementsGroup, ShimmerElementType, IShimmerElement } from '../../Shimmer';\nimport {\n IShimmeredDetailsListProps,\n IShimmeredDetailsListStyleProps,\n IShimmeredDetailsListStyles,\n} from './ShimmeredDetailsList.types';\nimport { CheckboxVisibility } from './DetailsList.types';\n\nimport { DEFAULT_CELL_STYLE_PROPS, DEFAULT_ROW_HEIGHTS } from './DetailsRow.styles';\n\nconst getClassNames = classNamesFunction();\n\nconst SHIMMER_INITIAL_ITEMS = 10;\nconst DEFAULT_SHIMMER_HEIGHT = 7;\nconst SHIMMER_LINE_VS_CELL_WIDTH_RATIO = 0.95;\n\nexport class ShimmeredDetailsListBase extends React.Component {\n private _shimmerItems: null[];\n private _classNames: IProcessedStyleSet;\n\n constructor(props: IShimmeredDetailsListProps) {\n super(props);\n\n this._shimmerItems = props.shimmerLines ? new Array(props.shimmerLines) : new Array(SHIMMER_INITIAL_ITEMS);\n }\n\n public render(): JSX.Element {\n const {\n detailsListStyles,\n enableShimmer,\n items,\n listProps,\n onRenderCustomPlaceholder,\n removeFadingOverlay,\n shimmerLines,\n styles,\n theme,\n ariaLabelForGrid,\n ariaLabelForShimmer,\n ...restProps\n } = this.props;\n\n const listClassName = listProps && listProps.className;\n\n this._classNames = getClassNames(styles, {\n theme: theme!,\n });\n\n const newListProps = {\n ...listProps,\n // Adds to the optional listProp className a fading out overlay className only when `enableShimmer` toggled on\n // and the overlay is not disabled by `removeFadingOverlay` prop.\n className: enableShimmer && !removeFadingOverlay ? css(this._classNames.root, listClassName) : listClassName,\n };\n\n return (\n \n );\n }\n\n private _onRenderShimmerPlaceholder = (index: number, rowProps: IDetailsRowProps): React.ReactNode => {\n const { onRenderCustomPlaceholder } = this.props;\n\n const placeholderElements: React.ReactNode = onRenderCustomPlaceholder\n ? onRenderCustomPlaceholder(rowProps, index, this._renderDefaultShimmerPlaceholder)\n : this._renderDefaultShimmerPlaceholder(rowProps);\n\n return ;\n };\n\n private _renderDefaultShimmerPlaceholder = (rowProps: IDetailsRowProps): React.ReactNode => {\n const { columns, compact, selectionMode, checkboxVisibility, cellStyleProps = DEFAULT_CELL_STYLE_PROPS } = rowProps;\n\n const { rowHeight, compactRowHeight } = DEFAULT_ROW_HEIGHTS;\n // 1px to take into account the border-bottom of DetailsRow.\n const gapHeight: number = compact ? compactRowHeight : rowHeight + 1;\n\n const shimmerElementsRow: JSX.Element[] = [];\n\n const showCheckbox = selectionMode !== SelectionMode.none && checkboxVisibility !== CheckboxVisibility.hidden;\n\n if (showCheckbox) {\n shimmerElementsRow.push(\n ,\n );\n }\n\n columns.forEach((column, columnIdx) => {\n const shimmerElements: IShimmerElement[] = [];\n const groupWidth: number =\n cellStyleProps.cellLeftPadding +\n cellStyleProps.cellRightPadding +\n column.calculatedWidth! +\n (column.isPadded ? cellStyleProps.cellExtraRightPadding : 0);\n\n shimmerElements.push({\n type: ShimmerElementType.gap,\n width: cellStyleProps.cellLeftPadding,\n height: gapHeight,\n });\n\n if (column.isIconOnly) {\n shimmerElements.push({\n type: ShimmerElementType.line,\n width: column.calculatedWidth!,\n height: column.calculatedWidth!,\n });\n shimmerElements.push({\n type: ShimmerElementType.gap,\n width: cellStyleProps.cellRightPadding,\n height: gapHeight,\n });\n } else {\n shimmerElements.push({\n type: ShimmerElementType.line,\n width: column.calculatedWidth! * SHIMMER_LINE_VS_CELL_WIDTH_RATIO,\n height: DEFAULT_SHIMMER_HEIGHT,\n });\n shimmerElements.push({\n type: ShimmerElementType.gap,\n width:\n cellStyleProps.cellRightPadding +\n (column.calculatedWidth! - column.calculatedWidth! * SHIMMER_LINE_VS_CELL_WIDTH_RATIO) +\n (column.isPadded ? cellStyleProps.cellExtraRightPadding : 0),\n height: gapHeight,\n });\n }\n shimmerElementsRow.push(\n ,\n );\n });\n // When resizing the window from narrow to wider, we need to cover the exposed Shimmer wave\n // until the column resizing logic is done.\n shimmerElementsRow.push(\n ,\n );\n return
      {shimmerElementsRow}
      ;\n };\n}\n","import * as React from 'react';\nimport { styled } from '../../Utilities';\nimport { ShimmeredDetailsListBase } from './ShimmeredDetailsList.base';\nimport { getStyles } from './ShimmeredDetailsList.styles';\nimport {\n IShimmeredDetailsListProps,\n IShimmeredDetailsListStyleProps,\n IShimmeredDetailsListStyles,\n} from './ShimmeredDetailsList.types';\n\nexport const ShimmeredDetailsList: React.FunctionComponent = styled<\n IShimmeredDetailsListProps,\n IShimmeredDetailsListStyleProps,\n IShimmeredDetailsListStyles\n>(ShimmeredDetailsListBase, getStyles, undefined, { scope: 'ShimmeredDetailsList' });\n","import { IShimmeredDetailsListStyleProps, IShimmeredDetailsListStyles } from './ShimmeredDetailsList.types';\n\nexport const getStyles = (props: IShimmeredDetailsListStyleProps): IShimmeredDetailsListStyles => {\n const { theme } = props;\n const { palette } = theme;\n\n return {\n root: {\n position: 'relative',\n selectors: {\n ':after': {\n content: '\"\"',\n position: 'absolute',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n // eslint-disable-next-line @fluentui/max-len\n backgroundImage: `linear-gradient(to bottom, transparent 30%, ${palette.whiteTranslucent40} 65%,${palette.white} 100%)`,\n },\n },\n },\n };\n};\n","import * as React from 'react';\nimport { ISliderProps, ISliderStyleProps, ISliderStyles } from './Slider.types';\nimport { useId, useControllableValue, useConst, useSetTimeout } from '@fluentui/react-hooks';\nimport {\n KeyCodes,\n css,\n getRTL,\n getRTLSafeKeyCode,\n on,\n classNamesFunction,\n getNativeProps,\n divProperties,\n} from '@fluentui/utilities';\nimport { ILabelProps } from '../Label/index';\n\nexport const ONKEYDOWN_TIMEOUT_DURATION = 1000;\n\ninterface ISliderInternalState {\n onKeyDownTimer: number;\n /** For a ranged slider, whether the thumb currently being dragged is the lower value one. */\n isAdjustingLowerValue: boolean;\n /** Allows access to the latest `value` inside reused callbacks (to avoid stale capture issues) */\n latestValue: number;\n /** Allows access to the latest `lowerValue` inside reused callbacks (to avoid stale capture issues) */\n latestLowerValue: number;\n /**\n * Whether the user is currently dragging the thumb and it's between step intervals.\n * (If true, and `props.snapToStep` is falsy, transition animations will be disabled.)\n */\n isBetweenSteps?: boolean;\n}\n\nconst getClassNames = classNamesFunction();\n\ntype Dimension = 'height' | 'width';\ntype Position = 'bottom' | 'left' | 'right';\ntype PositionOrDimension = Dimension | Position;\n/** All the possible event types for a change event */\ntype ChangeEvent = Parameters['onChange']>[2];\n/** All the possible event types for a change event that's dragging the slider (mouse or touch) */\ntype DragChangeEvent = React.MouseEvent | React.TouchEvent | MouseEvent | TouchEvent;\n\nconst getSlotStyleFn = (sty: PositionOrDimension) => {\n return (value: number) => {\n return {\n [sty]: `${value}%`,\n };\n };\n};\n\nconst getPercent = (value: number, sliderMin: number, sliderMax: number) => {\n return sliderMax === sliderMin ? 0 : ((value - sliderMin) / (sliderMax - sliderMin)) * 100;\n};\n\nconst useComponentRef = (\n props: ISliderProps,\n thumb: React.RefObject,\n value: number | undefined,\n range: [number, number] | undefined,\n) => {\n React.useImperativeHandle(\n props.componentRef,\n () => ({\n get value() {\n return value;\n },\n get range() {\n return range;\n },\n focus() {\n if (thumb.current) {\n thumb.current.focus();\n }\n },\n }),\n [thumb, value, range],\n );\n};\n\nexport const useSlider = (props: ISliderProps, ref: React.Ref) => {\n const {\n step = 1,\n className,\n disabled = false,\n label,\n max = 10,\n min = 0,\n showValue = true,\n buttonProps = {},\n vertical = false,\n snapToStep,\n valueFormat,\n styles,\n theme,\n originFromZero,\n 'aria-label': ariaLabel,\n ranged,\n onChange,\n onChanged,\n } = props;\n\n const disposables = React.useRef<(() => void)[]>([]);\n const { setTimeout, clearTimeout } = useSetTimeout();\n const sliderLine = React.useRef(null);\n\n // Casting here is necessary because useControllableValue expects the event for the change callback\n // to extend React.SyntheticEvent, when in fact for Slider, the event could be either a React event\n // or a native browser event depending on the context.\n const [unclampedValue, setValue] = useControllableValue(props.value, props.defaultValue, (ev: any, v) =>\n onChange?.(v!, ranged ? [internalState.latestLowerValue, v!] : undefined, ev),\n ) as [number | undefined, (v: number | undefined, ev: ChangeEvent) => void];\n const [unclampedLowerValue, setLowerValue] = useControllableValue(\n props.lowerValue,\n props.defaultLowerValue,\n (ev: any, lv) => onChange?.(internalState.latestValue, [lv!, internalState.latestValue], ev),\n ) as [number | undefined, (v: number | undefined, ev: ChangeEvent) => void];\n\n // Ensure that value is always a number and is clamped by min/max.\n const value = Math.max(min, Math.min(max, unclampedValue || 0));\n const lowerValue = Math.max(min, Math.min(value, unclampedLowerValue || 0));\n\n const internalState = useConst({\n onKeyDownTimer: -1,\n isAdjustingLowerValue: false,\n latestValue: value,\n latestLowerValue: lowerValue,\n });\n // On each render, update this saved value used by callbacks. (This should be safe even if render\n // is called multiple times, because an event handler or timeout callback will only run once.)\n internalState.latestValue = value;\n internalState.latestLowerValue = lowerValue;\n\n const id = useId('Slider', props.id || buttonProps?.id);\n const classNames = getClassNames(styles, {\n className,\n disabled,\n vertical,\n showTransitions: !snapToStep && !internalState.isBetweenSteps,\n showValue,\n ranged,\n theme: theme!,\n });\n\n const steps = (max - min) / step;\n\n const clearOnKeyDownTimer = (): void => {\n clearTimeout(internalState.onKeyDownTimer);\n internalState.onKeyDownTimer = -1;\n };\n\n const setOnKeyDownTimer = (event: React.KeyboardEvent) => {\n clearOnKeyDownTimer();\n if (onChanged) {\n internalState.onKeyDownTimer = setTimeout(() => {\n onChanged(\n event,\n internalState.latestValue,\n ranged ? [internalState.latestLowerValue, internalState.latestValue] : undefined,\n );\n }, ONKEYDOWN_TIMEOUT_DURATION);\n }\n };\n\n const getAriaValueText = (valueProps: number | undefined): string | undefined => {\n const { ariaValueText } = props;\n if (valueProps !== undefined) {\n return ariaValueText ? ariaValueText(valueProps) : valueProps.toString();\n }\n return undefined;\n };\n\n /**\n * Update `value` or `lowerValue`, including clamping between min/max and rounding to\n * appropriate precision.\n * @param newValue - New current value of the slider, possibly rounded to a whole step.\n * @param newUnroundedValue - Like `newValue` but without the rounding to a step. If this is\n * provided and not equal to `newValue`, `internalState.isBetweenSteps` will be set, which\n * may cause thumb movement animations to be disabled.\n */\n const updateValue = (ev: any, newValue: number, newUnroundedValue?: number): void => {\n newValue = Math.min(max, Math.max(min, newValue));\n newUnroundedValue = newUnroundedValue !== undefined ? Math.min(max, Math.max(min, newUnroundedValue)) : undefined;\n\n let numDec = 0;\n if (isFinite(step)) {\n while (Math.round(step * Math.pow(10, numDec)) / Math.pow(10, numDec) !== step) {\n numDec++;\n }\n }\n // Make sure value has correct number of decimal places based on number of decimals in step\n const roundedValue = parseFloat(newValue.toFixed(numDec));\n\n internalState.isBetweenSteps = newUnroundedValue !== undefined && newUnroundedValue !== roundedValue;\n\n if (ranged) {\n // decided which thumb value to change\n if (\n internalState.isAdjustingLowerValue &&\n (originFromZero ? roundedValue <= 0 : roundedValue <= internalState.latestValue)\n ) {\n setLowerValue(roundedValue, ev);\n } else if (\n !internalState.isAdjustingLowerValue &&\n (originFromZero ? roundedValue >= 0 : roundedValue >= internalState.latestLowerValue)\n ) {\n setValue(roundedValue, ev);\n }\n } else {\n setValue(roundedValue, ev);\n }\n };\n\n const onKeyDown = (event: React.KeyboardEvent): void => {\n let newCurrentValue = internalState.isAdjustingLowerValue\n ? internalState.latestLowerValue\n : internalState.latestValue;\n let diff = 0;\n // eslint-disable-next-line deprecation/deprecation\n switch (event.which) {\n case getRTLSafeKeyCode(KeyCodes.left, props.theme):\n case KeyCodes.down:\n diff = -step;\n clearOnKeyDownTimer();\n setOnKeyDownTimer(event);\n break;\n case getRTLSafeKeyCode(KeyCodes.right, props.theme):\n case KeyCodes.up:\n diff = step;\n clearOnKeyDownTimer();\n setOnKeyDownTimer(event);\n break;\n case KeyCodes.home:\n newCurrentValue = min;\n clearOnKeyDownTimer();\n setOnKeyDownTimer(event);\n break;\n case KeyCodes.end:\n newCurrentValue = max;\n clearOnKeyDownTimer();\n setOnKeyDownTimer(event);\n break;\n default:\n return;\n }\n updateValue(event, newCurrentValue + diff);\n event.preventDefault();\n event.stopPropagation();\n };\n\n const getPosition = (event: DragChangeEvent, verticalProp: boolean | undefined): number => {\n let currentPosition = 0;\n switch (event.type) {\n case 'mousedown':\n case 'mousemove':\n currentPosition = !verticalProp ? (event as MouseEvent).clientX : (event as MouseEvent).clientY;\n break;\n case 'touchstart':\n case 'touchmove':\n currentPosition = !verticalProp\n ? (event as TouchEvent).touches[0].clientX\n : (event as TouchEvent).touches[0].clientY;\n break;\n }\n return currentPosition;\n };\n\n const calculateCurrentSteps = (event: DragChangeEvent) => {\n const sliderPositionRect: ClientRect = sliderLine.current!.getBoundingClientRect();\n const sliderLength: number = !props.vertical ? sliderPositionRect.width : sliderPositionRect.height;\n const stepLength: number = sliderLength / steps;\n let currentSteps: number;\n let distance: number;\n if (!props.vertical) {\n const left = getPosition(event, props.vertical);\n distance = getRTL(props.theme) ? sliderPositionRect.right - left : left - sliderPositionRect.left;\n currentSteps = distance / stepLength;\n } else {\n const bottom = getPosition(event, props.vertical);\n distance = sliderPositionRect.bottom - bottom;\n currentSteps = distance / stepLength;\n }\n return currentSteps;\n };\n\n const onMouseMoveOrTouchMove = (event: DragChangeEvent, suppressEventCancelation?: boolean): void => {\n const currentSteps = calculateCurrentSteps(event);\n const newUnroundedValue = min + step * currentSteps;\n const newCurrentValue = min + step * Math.round(currentSteps);\n updateValue(event, newCurrentValue, newUnroundedValue);\n if (!suppressEventCancelation) {\n event.preventDefault();\n event.stopPropagation();\n }\n };\n\n const onMouseDownOrTouchStart = (event: React.MouseEvent | React.TouchEvent): void => {\n if (ranged) {\n const currentSteps = calculateCurrentSteps(event);\n const newValue = min + step * currentSteps;\n\n internalState.isAdjustingLowerValue =\n newValue <= internalState.latestLowerValue ||\n newValue - internalState.latestLowerValue <= internalState.latestValue - newValue;\n }\n\n if (event.type === 'mousedown') {\n disposables.current.push(\n on(window, 'mousemove', onMouseMoveOrTouchMove as (ev: Event) => void, true),\n on(window, 'mouseup', onMouseUpOrTouchEnd, true),\n );\n } else if (event.type === 'touchstart') {\n disposables.current.push(\n on(window, 'touchmove', onMouseMoveOrTouchMove as (ev: Event) => void, true),\n on(window, 'touchend', onMouseUpOrTouchEnd, true),\n );\n }\n onMouseMoveOrTouchMove(event, true);\n };\n\n const onMouseUpOrTouchEnd = (event: MouseEvent | TouchEvent): void => {\n // Done adjusting, so clear this value\n internalState.isBetweenSteps = undefined;\n\n onChanged?.(\n event,\n internalState.latestValue,\n ranged ? [internalState.latestLowerValue, internalState.latestValue] : undefined,\n );\n disposeListeners();\n };\n\n const onThumbFocus = (event: React.FocusEvent): void => {\n internalState.isAdjustingLowerValue = event.target === lowerValueThumbRef.current;\n };\n\n const disposeListeners = (): void => {\n disposables.current.forEach(dispose => dispose());\n disposables.current = [];\n };\n\n const lowerValueThumbRef = React.useRef(null);\n const thumbRef = React.useRef(null);\n useComponentRef(\n props,\n ranged && !vertical ? lowerValueThumbRef : thumbRef,\n value,\n ranged ? [lowerValue, value] : undefined,\n );\n const getPositionStyles = getSlotStyleFn(vertical ? 'bottom' : getRTL(props.theme) ? 'right' : 'left');\n const getTrackStyles = getSlotStyleFn(vertical ? 'height' : 'width');\n const originValue = originFromZero ? 0 : min;\n const valuePercent = getPercent(value, min, max);\n const lowerValuePercent = getPercent(lowerValue, min, max);\n const originPercentOfLine = getPercent(originValue, min, max);\n const activeSectionWidth = ranged ? valuePercent - lowerValuePercent : Math.abs(originPercentOfLine - valuePercent);\n const topSectionWidth = Math.min(100 - valuePercent, 100 - originPercentOfLine);\n const bottomSectionWidth = ranged ? lowerValuePercent : Math.min(valuePercent, originPercentOfLine);\n\n const rootProps: React.HTMLAttributes & React.RefAttributes = {\n className: classNames.root,\n ref: ref,\n };\n\n const labelProps: ILabelProps = {\n className: classNames.titleLabel,\n children: label,\n disabled,\n htmlFor: ariaLabel ? undefined : id,\n };\n\n const valueLabelProps: ILabelProps | undefined = showValue\n ? {\n className: classNames.valueLabel,\n children: valueFormat ? valueFormat(value) : value,\n disabled,\n }\n : undefined;\n\n const lowerValueLabelProps: ILabelProps | undefined =\n ranged && showValue\n ? {\n className: classNames.valueLabel,\n children: valueFormat ? valueFormat(lowerValue) : lowerValue,\n disabled,\n }\n : undefined;\n\n const zeroTickProps: React.HTMLAttributes | undefined = originFromZero\n ? {\n className: classNames.zeroTick,\n style: getPositionStyles(originPercentOfLine),\n }\n : undefined;\n\n const trackActiveProps: React.HTMLAttributes = {\n className: css(classNames.lineContainer, classNames.activeSection),\n style: getTrackStyles(activeSectionWidth),\n };\n\n const trackTopInactiveProps: React.HTMLAttributes = {\n className: css(classNames.lineContainer, classNames.inactiveSection),\n style: getTrackStyles(topSectionWidth),\n };\n\n const trackBottomInactiveProps: React.HTMLAttributes = {\n className: css(classNames.lineContainer, classNames.inactiveSection),\n style: getTrackStyles(bottomSectionWidth),\n };\n\n const sliderProps: React.HTMLAttributes = {\n 'aria-disabled': disabled,\n role: 'slider',\n tabIndex: disabled ? undefined : 0,\n ...({ 'data-is-focusable': !disabled } as any),\n };\n\n const sliderBoxProps: React.HTMLAttributes = {\n id,\n className: css(classNames.slideBox, buttonProps.className),\n ...(!disabled && {\n onMouseDown: onMouseDownOrTouchStart,\n onTouchStart: onMouseDownOrTouchStart,\n onKeyDown: onKeyDown,\n }),\n ...(buttonProps &&\n getNativeProps>(buttonProps, divProperties, ['id', 'className'])),\n ...(!ranged && {\n ...sliderProps,\n 'aria-valuemin': min,\n 'aria-valuemax': max,\n 'aria-valuenow': value,\n 'aria-valuetext': getAriaValueText(value),\n 'aria-label': ariaLabel || label,\n }),\n };\n\n const onFocusProp = disabled ? {} : { onFocus: onThumbFocus };\n\n const thumbProps: React.HTMLAttributes & React.RefAttributes = {\n ref: thumbRef,\n className: classNames.thumb,\n style: getPositionStyles(valuePercent),\n ...(ranged && {\n ...sliderProps,\n ...onFocusProp,\n id: `max-${id}`,\n 'aria-valuemin': lowerValue,\n 'aria-valuemax': max,\n 'aria-valuenow': value,\n 'aria-valuetext': getAriaValueText(value),\n 'aria-label': `max ${ariaLabel || label}`,\n }),\n };\n\n const lowerValueThumbProps:\n | (React.HTMLAttributes & React.RefAttributes)\n | undefined = ranged\n ? {\n ref: lowerValueThumbRef,\n className: classNames.thumb,\n style: getPositionStyles(lowerValuePercent),\n ...sliderProps,\n ...onFocusProp,\n id: `min-${id}`,\n 'aria-valuemin': min,\n 'aria-valuemax': value,\n 'aria-valuenow': lowerValue,\n 'aria-valuetext': getAriaValueText(lowerValue),\n 'aria-label': `min ${ariaLabel || label}`,\n }\n : undefined;\n\n const containerProps: React.HTMLAttributes = {\n className: classNames.container,\n };\n\n const sliderLineProps: React.HTMLAttributes & React.RefAttributes = {\n ref: sliderLine,\n className: classNames.line,\n };\n\n return {\n root: rootProps,\n label: labelProps,\n sliderBox: sliderBoxProps,\n container: containerProps,\n valueLabel: valueLabelProps,\n lowerValueLabel: lowerValueLabelProps,\n thumb: thumbProps,\n lowerValueThumb: lowerValueThumbProps,\n zeroTick: zeroTickProps,\n activeTrack: trackActiveProps,\n topInactiveTrack: trackTopInactiveProps,\n bottomInactiveTrack: trackBottomInactiveProps,\n sliderLine: sliderLineProps,\n };\n};\n","import * as React from 'react';\nimport { useWarnings } from '@fluentui/react-hooks';\nimport { FocusRects } from '@fluentui/utilities';\nimport { Label } from '../Label/Label';\nimport { ISliderProps } from './Slider.types';\nimport { useSlider } from './useSlider';\n\nconst COMPONENT_NAME = 'SliderBase';\n\nexport const SliderBase: React.FunctionComponent = React.forwardRef(\n (props, ref) => {\n const slotProps = useSlider(props, ref);\n\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks -- build-time conditional\n useWarnings({\n name: COMPONENT_NAME,\n props,\n mutuallyExclusive: { value: 'defaultValue' },\n });\n }\n\n return (\n
      \n {slotProps &&
      \n ) as React.ReactElement<{}>;\n },\n);\nSliderBase.displayName = COMPONENT_NAME;\n","import { ISliderStyleProps, ISliderStyles } from './Slider.types';\nimport {\n getGlobalClassNames,\n HighContrastSelector,\n AnimationVariables,\n getFocusStyle,\n} from '@fluentui/style-utilities';\nimport { getRTL } from '@fluentui/utilities';\n\nconst GlobalClassNames = {\n root: 'ms-Slider',\n enabled: 'ms-Slider-enabled',\n disabled: 'ms-Slider-disabled',\n row: 'ms-Slider-row',\n column: 'ms-Slider-column',\n container: 'ms-Slider-container',\n slideBox: 'ms-Slider-slideBox',\n line: 'ms-Slider-line',\n thumb: 'ms-Slider-thumb',\n activeSection: 'ms-Slider-active',\n inactiveSection: 'ms-Slider-inactive',\n valueLabel: 'ms-Slider-value',\n showValue: 'ms-Slider-showValue',\n showTransitions: 'ms-Slider-showTransitions',\n zeroTick: 'ms-Slider-zeroTick',\n};\n\nexport const getStyles = (props: ISliderStyleProps): ISliderStyles => {\n const { className, titleLabelClassName, theme, vertical, disabled, showTransitions, showValue, ranged } = props;\n const { semanticColors } = theme;\n const classNames = getGlobalClassNames(GlobalClassNames, theme);\n\n /** Tokens:\n * The word \"active\" in the token refers to the selected section of the slider\n * The word \"inactive\" in the token refers to the unselected section of the slider */\n const pressedActiveSectionColor = semanticColors.inputBackgroundCheckedHovered;\n const hoveredActiveSectionColor = semanticColors.inputBackgroundChecked;\n const hoveredPressedinactiveSectionColor = semanticColors.inputPlaceholderBackgroundChecked;\n const restActiveSectionColor = semanticColors.smallInputBorder;\n const restInactiveSectionColor = semanticColors.disabledBorder;\n\n const disabledActiveSectionColor = semanticColors.disabledText;\n const disabledInactiveSectionColor = semanticColors.disabledBackground;\n\n const thumbBackgroundColor = semanticColors.inputBackground;\n const thumbBorderColor = semanticColors.smallInputBorder;\n const thumbDisabledBorderColor = semanticColors.disabledBorder;\n\n const slideBoxActiveSectionStyles = !disabled && {\n backgroundColor: pressedActiveSectionColor,\n selectors: {\n [HighContrastSelector]: {\n backgroundColor: 'Highlight',\n },\n },\n };\n\n const slideBoxInactiveSectionStyles = !disabled && {\n backgroundColor: hoveredPressedinactiveSectionColor,\n selectors: {\n [HighContrastSelector]: {\n borderColor: 'Highlight',\n },\n },\n };\n\n const slideHoverSectionStyles = !disabled && {\n backgroundColor: hoveredActiveSectionColor,\n selectors: {\n [HighContrastSelector]: {\n backgroundColor: 'Highlight',\n },\n },\n };\n\n const slideBoxActiveThumbStyles = !disabled && {\n border: `2px solid ${pressedActiveSectionColor}`,\n selectors: {\n [HighContrastSelector]: {\n borderColor: 'Highlight',\n },\n },\n };\n\n const slideBoxActiveZeroTickStyles = !props.disabled && {\n backgroundColor: semanticColors.inputPlaceholderBackgroundChecked,\n selectors: {\n [HighContrastSelector]: {\n backgroundColor: 'Highlight',\n },\n },\n };\n\n return {\n root: [\n classNames.root,\n theme.fonts.medium,\n {\n userSelect: 'none',\n },\n vertical && {\n marginRight: 8,\n },\n ...[!disabled ? classNames.enabled : undefined],\n ...[disabled ? classNames.disabled : undefined],\n ...[!vertical ? classNames.row : undefined],\n ...[vertical ? classNames.column : undefined],\n className,\n ],\n titleLabel: [\n {\n padding: 0,\n },\n titleLabelClassName,\n ],\n container: [\n classNames.container,\n {\n display: 'flex',\n flexWrap: 'nowrap',\n alignItems: 'center',\n },\n vertical && {\n flexDirection: 'column',\n height: '100%',\n textAlign: 'center',\n margin: '8px 0',\n },\n ],\n slideBox: [\n classNames.slideBox,\n !ranged && getFocusStyle(theme),\n {\n background: 'transparent',\n border: 'none',\n flexGrow: 1,\n lineHeight: 28,\n display: 'flex',\n alignItems: 'center',\n selectors: {\n [`:active .${classNames.activeSection}`]: slideBoxActiveSectionStyles,\n [`:hover .${classNames.activeSection}`]: slideHoverSectionStyles,\n [`:active .${classNames.inactiveSection}`]: slideBoxInactiveSectionStyles,\n [`:hover .${classNames.inactiveSection}`]: slideBoxInactiveSectionStyles,\n [`:active .${classNames.thumb}`]: slideBoxActiveThumbStyles,\n [`:hover .${classNames.thumb}`]: slideBoxActiveThumbStyles,\n [`:active .${classNames.zeroTick}`]: slideBoxActiveZeroTickStyles,\n [`:hover .${classNames.zeroTick}`]: slideBoxActiveZeroTickStyles,\n [HighContrastSelector]: {\n forcedColorAdjust: 'none',\n },\n },\n },\n vertical\n ? {\n height: '100%',\n width: 28,\n padding: '8px 0', // Make room for thumb at bottom of line\n }\n : {\n height: 28,\n width: 'auto',\n padding: '0 8px', // Make room for thumb at ends of line\n },\n ...[showValue ? classNames.showValue : undefined],\n ...[showTransitions ? classNames.showTransitions : undefined],\n ],\n thumb: [\n classNames.thumb,\n ranged && getFocusStyle(theme, { inset: -4 }),\n {\n borderWidth: 2,\n borderStyle: 'solid',\n borderColor: thumbBorderColor,\n borderRadius: 10,\n boxSizing: 'border-box',\n background: thumbBackgroundColor,\n display: 'block',\n width: 16,\n height: 16,\n position: 'absolute',\n },\n vertical\n ? {\n left: -6,\n margin: '0 auto',\n transform: 'translateY(8px)',\n }\n : {\n top: -6,\n transform: getRTL(theme) ? 'translateX(50%)' : 'translateX(-50%)',\n },\n showTransitions && {\n transition: `left ${AnimationVariables.durationValue3} ${AnimationVariables.easeFunction1}`,\n },\n disabled && {\n borderColor: thumbDisabledBorderColor,\n selectors: {\n [HighContrastSelector]: {\n borderColor: 'GrayText',\n },\n },\n },\n ],\n line: [\n classNames.line,\n {\n display: 'flex',\n position: 'relative',\n },\n vertical\n ? {\n height: '100%',\n width: 4,\n margin: '0 auto',\n flexDirection: 'column-reverse',\n }\n : {\n width: '100%',\n },\n ],\n lineContainer: [\n {\n borderRadius: 4,\n boxSizing: 'border-box',\n },\n vertical\n ? {\n width: 4,\n height: '100%',\n }\n : {\n height: 4,\n width: '100%',\n },\n ],\n activeSection: [\n classNames.activeSection,\n {\n background: restActiveSectionColor,\n selectors: {\n [HighContrastSelector]: {\n backgroundColor: 'WindowText',\n },\n },\n },\n showTransitions && {\n transition: `width ${AnimationVariables.durationValue3} ${AnimationVariables.easeFunction1}`,\n },\n disabled && {\n background: disabledActiveSectionColor,\n selectors: {\n [HighContrastSelector]: {\n backgroundColor: 'GrayText',\n borderColor: 'GrayText',\n },\n },\n },\n ],\n inactiveSection: [\n classNames.inactiveSection,\n {\n background: restInactiveSectionColor,\n selectors: {\n [HighContrastSelector]: {\n border: '1px solid WindowText',\n },\n },\n },\n showTransitions && {\n transition: `width ${AnimationVariables.durationValue3} ${AnimationVariables.easeFunction1}`,\n },\n disabled && {\n background: disabledInactiveSectionColor,\n selectors: {\n [HighContrastSelector]: {\n borderColor: 'GrayText',\n },\n },\n },\n ],\n zeroTick: [\n classNames.zeroTick,\n {\n position: 'absolute',\n background: semanticColors.disabledBorder,\n selectors: {\n [HighContrastSelector]: {\n backgroundColor: 'WindowText',\n },\n },\n },\n props.disabled && {\n background: semanticColors.disabledBackground,\n selectors: {\n [HighContrastSelector]: {\n backgroundColor: 'GrayText',\n },\n },\n },\n props.vertical\n ? {\n width: '16px',\n height: '1px',\n transform: getRTL(theme) ? 'translateX(6px)' : 'translateX(-6px)',\n }\n : {\n width: '1px',\n height: '16px',\n transform: 'translateY(-6px)',\n },\n ],\n valueLabel: [\n classNames.valueLabel,\n {\n flexShrink: 1,\n width: 30,\n lineHeight: '1', // using a string here meaning it's relative to the size of the font\n },\n vertical\n ? {\n margin: '0 auto',\n whiteSpace: 'nowrap',\n width: 40,\n }\n : {\n margin: '0 8px',\n whiteSpace: 'nowrap',\n width: 40,\n },\n ],\n };\n};\n","import * as React from 'react';\nimport { Position } from '../../Positioning';\nimport { IButtonStyles } from '../../Button';\nimport { IIconProps } from '../../Icon';\nimport { ITheme, IStyle } from '../../Styling';\nimport { IKeytipProps } from '../../Keytip';\nimport { IRefObject, IStyleFunctionOrObject } from '../../Utilities';\nimport { IButtonProps } from '../../Button';\n\n/**\n * {@docCategory SpinButton}\n */\nexport interface ISpinButton {\n /**\n * Current committed/validated value of the control. Note that this does *not* update on every\n * keystroke while the user is editing text in the input field.\n * \"committed\" the edit yet by focusing away (blurring) or pressing enter,\n */\n value?: string;\n\n /**\n * Sets focus to the control.\n */\n focus: () => void;\n}\n\n/**\n * {@docCategory SpinButton}\n */\nexport enum KeyboardSpinDirection {\n down = -1,\n notSpinning = 0,\n up = 1,\n}\n\n/**\n * {@docCategory SpinButton}\n */\nexport interface ISpinButtonProps extends React.HTMLAttributes, React.RefAttributes {\n /**\n * Gets the component ref.\n */\n componentRef?: IRefObject;\n\n /**\n * Initial value of the control (assumed to be valid). Updates to this prop will not be respected.\n *\n * Use this if you intend for the SpinButton to be an uncontrolled component which maintains its\n * own value. For a controlled component, use `value` instead. (Mutually exclusive with `value`.)\n * @defaultvalue 0\n */\n defaultValue?: string;\n\n /**\n * Current value of the control (assumed to be valid).\n *\n * Only provide this if the SpinButton is a controlled component where you are maintaining its\n * current state and passing updates based on change events; otherwise, use the `defaultValue`\n * property. (Mutually exclusive with `defaultValue`.)\n */\n value?: string;\n\n /**\n * Min value of the control. If not provided, the control has no minimum value.\n */\n min?: number;\n\n /**\n * Max value of the control. If not provided, the control has no maximum value.\n */\n max?: number;\n\n /**\n * Difference between two adjacent values of the control.\n * This value is used to calculate the precision of the input if no `precision` is given.\n * The precision calculated this way will always be \\>= 0.\n * @defaultvalue 1\n */\n step?: number;\n\n /**\n * A description of the control for the benefit of screen reader users.\n */\n ariaLabel?: string;\n\n /**\n * ID of a label which describes the control, if not using the default label.\n */\n ariaDescribedBy?: string;\n\n /**\n * A more descriptive title for the control, visible on its tooltip.\n */\n title?: string;\n\n /**\n * Whether or not the control is disabled.\n */\n disabled?: boolean;\n\n /**\n * Custom className for the control.\n */\n className?: string;\n\n /**\n * Descriptive label for the control.\n */\n label?: string;\n\n /**\n * Where to position the control's label.\n * @defaultvalue Left\n */\n labelPosition?: Position;\n\n /**\n * Props for an icon to display alongside the control's label.\n */\n iconProps?: IIconProps;\n\n /**\n * Callback for when the committed/validated value changes. This is called *after* `onIncrement`,\n * `onDecrement`, or `onValidate`, on the following events:\n * - User presses the up/down buttons (on single press or every spin)\n * - User presses the up/down arrow keys (on single press or every spin)\n * - User *commits* edits to the input text by focusing away (blurring) or pressing enter.\n * Note that this is NOT called for every key press while the user is editing.\n */\n onChange?: (event: React.SyntheticEvent, newValue?: string) => void;\n\n /**\n * Callback for when the entered value should be validated.\n * @param value - The entered value to validate\n * @param event - The event that triggered this validate, if any (for accessibility)\n * @returns If a string is returned, it will be used as the new value\n */\n onValidate?: (value: string, event?: React.SyntheticEvent) => string | void;\n\n /**\n * Callback for when the increment button or up arrow key is pressed.\n * @param value - The current value to be incremented\n * @param event - The event that triggered this increment\n * @returns If a string is returned, it will be used as the new value\n */\n onIncrement?: (\n value: string,\n event?: React.MouseEvent | React.KeyboardEvent,\n ) => string | void;\n\n /**\n * Callback for when the decrement button or down arrow key is pressed.\n * @param value - The current value to be decremented\n * @param event - The event that triggered this decrement\n * @returns If a string is returned, it will be used as the new value\n */\n onDecrement?: (\n value: string,\n event?: React.MouseEvent | React.KeyboardEvent,\n ) => string | void;\n\n /**\n * Callback for when the user focuses the control.\n */\n onFocus?: React.FocusEventHandler;\n\n /**\n * Callback for when the control loses focus.\n */\n onBlur?: React.FocusEventHandler;\n\n /**\n * Custom props for the increment button.\n */\n incrementButtonIcon?: IIconProps;\n\n /**\n * Custom props for the decrement button.\n */\n decrementButtonIcon?: IIconProps;\n\n /**\n * Custom styling for individual elements within the control.\n */\n styles?: IStyleFunctionOrObject;\n\n /**\n * Custom styles for the up arrow button.\n *\n * Note: The buttons are in a checked state when arrow keys are used to increment/decrement\n * the SpinButton. Use `rootChecked` instead of `rootPressed` for styling when that is the case.\n */\n upArrowButtonStyles?: Partial;\n\n /**\n * Custom styles for the down arrow button.\n *\n * Note: The buttons are in a checked state when arrow keys are used to increment/decrement\n * the SpinButton. Use `rootChecked` instead of `rootPressed` for styling when that is the case.\n */\n downArrowButtonStyles?: Partial;\n\n /**\n * Theme provided by HOC.\n */\n theme?: ITheme;\n\n /**\n * Accessible label text for the increment button (for screen reader users).\n */\n incrementButtonAriaLabel?: string;\n\n /**\n * Accessible label text for the decrement button (for screen reader users).\n */\n decrementButtonAriaLabel?: string;\n\n /**\n * How many decimal places the value should be rounded to.\n *\n * The default is calculated based on the precision of `step`: i.e. if step = 1, precision = 0.\n * step = 0.0089, precision = 4. step = 300, precision = 2. step = 23.00, precision = 2.\n */\n precision?: number;\n\n /**\n * The position in the parent set (if in a set).\n */\n ariaPositionInSet?: number;\n\n /**\n * The total size of the parent set (if in a set).\n */\n ariaSetSize?: number;\n\n /**\n * Sets the control's aria-valuenow. This is the numeric form of `value`.\n * Providing this only makes sense when using as a controlled component.\n */\n ariaValueNow?: number;\n\n /*\n * Sets the control's aria-valuetext.\n * Providing this only makes sense when using as a controlled component.\n */\n ariaValueText?: string;\n\n /**\n * Keytip for the control.\n */\n keytipProps?: IKeytipProps;\n\n /**\n * Additional props for the input field.\n */\n inputProps?: React.InputHTMLAttributes;\n\n /**\n * Additional props for the up and down arrow buttons.\n */\n iconButtonProps?: IButtonProps;\n}\n\n/**\n * {@docCategory SpinButton}\n */\nexport interface ISpinButtonStyles {\n /**\n * Styles for the root of the component.\n */\n root: IStyle;\n\n /**\n * Style for the label wrapper element, which contains the icon and label.\n */\n labelWrapper: IStyle;\n\n /**\n * Style for the icon.\n */\n icon: IStyle;\n\n /**\n * Style for the label text.\n */\n label: IStyle;\n\n /**\n * Style for the wrapper element of the input field and arrow buttons.\n */\n spinButtonWrapper: IStyle;\n\n /**\n * Styles for the input.\n */\n input: IStyle;\n\n /**\n * Styles for the arrowButtonsContainer\n */\n arrowButtonsContainer: IStyle;\n}\n\n/**\n * {@docCategory SpinButton}\n */\nexport interface ISpinButtonStyleProps {\n theme: ITheme;\n className: string | undefined;\n disabled: boolean;\n isFocused: boolean;\n keyboardSpinDirection: KeyboardSpinDirection;\n labelPosition: Position;\n}\n","import * as React from 'react';\nimport { styled } from '@fluentui/utilities';\nimport { ISliderProps, ISliderStyleProps, ISliderStyles } from './Slider.types';\nimport { SliderBase } from './Slider.base';\nimport { getStyles } from './Slider.styles';\n\nexport const Slider: React.FunctionComponent = styled(\n SliderBase,\n getStyles,\n undefined,\n {\n scope: 'Slider',\n },\n);\n","import {\n IRawStyle,\n ITheme,\n concatStyleSets,\n HighContrastSelector,\n IconFontSizes,\n getInputFocusStyle,\n} from '../../Styling';\nimport { IButtonStyles } from '../../Button';\n\nimport { ISpinButtonStyles, ISpinButtonStyleProps } from './SpinButton.types';\nimport { memoizeFunction } from '../../Utilities';\nimport { Position } from '../../Positioning';\n\nconst ARROW_BUTTON_WIDTH = 23;\nconst ARROW_BUTTON_ICON_SIZE = 8;\nconst DEFAULT_HEIGHT = 32;\nconst DEFAULT_MIN_WIDTH = 86;\nconst LABEL_MARGIN = 10;\n\nconst getDisabledStyles = memoizeFunction(\n (theme: ITheme): IRawStyle => {\n const { semanticColors } = theme;\n\n const SpinButtonTextColorDisabled = semanticColors.disabledText;\n const SpinButtonBackgroundColorDisabled = semanticColors.disabledBackground;\n\n return {\n backgroundColor: SpinButtonBackgroundColorDisabled,\n pointerEvents: 'none',\n cursor: 'default',\n color: SpinButtonTextColorDisabled,\n selectors: {\n ':after': {\n borderColor: SpinButtonBackgroundColorDisabled,\n },\n [HighContrastSelector]: {\n color: 'GrayText',\n },\n },\n };\n },\n);\n\nexport const getArrowButtonStyles = memoizeFunction(\n (theme: ITheme, isUpArrow: boolean, customSpecificArrowStyles?: Partial): IButtonStyles => {\n const { palette, semanticColors, effects } = theme;\n\n // TODO: after updating the semanticColor slots all this need to be reevaluated.\n const ArrowButtonTextColor = palette.neutralSecondary;\n const ArrowButtonTextColorHovered = semanticColors.buttonText;\n const ArrowButtonTextColorPressed = semanticColors.buttonText;\n\n const ArrowButtonBackgroundHovered = semanticColors.buttonBackgroundHovered;\n const ArrowButtonBackgroundPressed = semanticColors.buttonBackgroundPressed;\n\n const defaultArrowButtonStyles: IButtonStyles = {\n root: {\n outline: 'none',\n display: 'block',\n height: '50%',\n width: ARROW_BUTTON_WIDTH,\n padding: 0,\n backgroundColor: 'transparent',\n textAlign: 'center',\n cursor: 'default',\n color: ArrowButtonTextColor,\n selectors: {\n '&.ms-DownButton': {\n borderRadius: `0 0 ${effects.roundedCorner2} 0`,\n },\n '&.ms-UpButton': {\n borderRadius: `0 ${effects.roundedCorner2} 0 0`,\n },\n },\n },\n rootHovered: {\n backgroundColor: ArrowButtonBackgroundHovered,\n color: ArrowButtonTextColorHovered,\n },\n rootChecked: {\n backgroundColor: ArrowButtonBackgroundPressed,\n color: ArrowButtonTextColorPressed,\n selectors: {\n [HighContrastSelector]: {\n backgroundColor: 'Highlight',\n color: 'HighlightText',\n },\n },\n },\n rootPressed: {\n backgroundColor: ArrowButtonBackgroundPressed,\n color: ArrowButtonTextColorPressed,\n selectors: {\n [HighContrastSelector]: {\n backgroundColor: 'Highlight',\n color: 'HighlightText',\n },\n },\n },\n rootDisabled: {\n opacity: 0.5,\n selectors: {\n [HighContrastSelector]: {\n color: 'GrayText',\n opacity: 1,\n },\n },\n },\n icon: {\n fontSize: ARROW_BUTTON_ICON_SIZE,\n marginTop: 0,\n marginRight: 0,\n marginBottom: 0,\n marginLeft: 0,\n },\n };\n\n // No specific styles needed as of now.\n const defaultUpArrowButtonStyles: Partial = {};\n\n const defaultDownArrowButtonStyles: Partial = {};\n\n return concatStyleSets(\n defaultArrowButtonStyles,\n isUpArrow ? defaultUpArrowButtonStyles : defaultDownArrowButtonStyles,\n customSpecificArrowStyles,\n ) as IButtonStyles;\n },\n);\n\nexport const getStyles = (props: ISpinButtonStyleProps): ISpinButtonStyles => {\n const { theme, className, labelPosition, disabled, isFocused } = props;\n const { palette, semanticColors, effects, fonts } = theme;\n const SpinButtonRootBorderColor = semanticColors.inputBorder;\n const SpinButtonRootBackgroundColor = semanticColors.inputBackground;\n const SpinButtonRootBorderColorHovered = semanticColors.inputBorderHovered;\n const SpinButtonRootBorderColorFocused = semanticColors.inputFocusBorderAlt;\n const SpinButtonInputTextColor = semanticColors.inputText;\n const SpinButtonInputTextColorSelected = palette.white;\n const SpinButtonInputBackgroundColorSelected = semanticColors.inputBackgroundChecked;\n const SpinButtonIconDisabledColor = semanticColors.disabledText;\n\n return {\n root: [\n fonts.medium,\n {\n outline: 'none',\n width: '100%',\n minWidth: DEFAULT_MIN_WIDTH,\n },\n className,\n ],\n\n labelWrapper: [\n {\n display: 'inline-flex',\n alignItems: 'center',\n },\n labelPosition === Position.start && {\n height: DEFAULT_HEIGHT,\n float: 'left',\n marginRight: LABEL_MARGIN,\n },\n labelPosition === Position.end && {\n height: DEFAULT_HEIGHT,\n float: 'right',\n marginLeft: LABEL_MARGIN,\n },\n labelPosition === Position.top && {\n // Due to the lineHeight set on the label (below), the height of the wrapper (contains icon+label)\n // ends up 1px taller than a standard label height, causing the vertical alignment to be off when\n // the SpinButton is displayed with the label on top next to other form fields.\n // Decrease the wrapper's effective height slightly to compensate.\n marginBottom: -1,\n },\n ],\n\n icon: [\n {\n padding: '0 5px',\n fontSize: IconFontSizes.large,\n },\n disabled && {\n color: SpinButtonIconDisabledColor,\n },\n ],\n\n label: {\n pointerEvents: 'none',\n // centering the label with the icon by forcing the exact same height as the icon.\n lineHeight: IconFontSizes.large,\n },\n\n spinButtonWrapper: [\n {\n display: 'flex',\n position: 'relative',\n boxSizing: 'border-box',\n height: DEFAULT_HEIGHT,\n minWidth: DEFAULT_MIN_WIDTH,\n selectors: {\n // setting border using pseudo-element here in order to prevent:\n // input and chevron buttons to overlap border under certain resolutions\n ':after': {\n pointerEvents: 'none',\n content: \"''\",\n position: 'absolute',\n left: 0,\n top: 0,\n bottom: 0,\n right: 0,\n borderWidth: '1px',\n borderStyle: 'solid',\n borderColor: SpinButtonRootBorderColor,\n borderRadius: effects.roundedCorner2,\n },\n },\n },\n (labelPosition === Position.top || labelPosition === Position.bottom) && {\n width: '100%',\n },\n !disabled && [\n {\n selectors: {\n ':hover': {\n selectors: {\n ':after': {\n borderColor: SpinButtonRootBorderColorHovered,\n },\n [HighContrastSelector]: {\n selectors: {\n ':after': {\n borderColor: 'Highlight',\n },\n },\n },\n },\n },\n },\n },\n isFocused && {\n selectors: {\n '&&': getInputFocusStyle(SpinButtonRootBorderColorFocused, effects.roundedCorner2),\n },\n },\n ],\n disabled && getDisabledStyles(theme),\n ],\n\n input: [\n 'ms-spinButton-input',\n {\n boxSizing: 'border-box',\n boxShadow: 'none',\n borderStyle: 'none',\n flex: 1,\n margin: 0,\n fontSize: fonts.medium.fontSize,\n fontFamily: 'inherit',\n color: SpinButtonInputTextColor,\n backgroundColor: SpinButtonRootBackgroundColor,\n height: '100%',\n padding: '0 8px 0 9px',\n outline: 0,\n display: 'block',\n minWidth: DEFAULT_MIN_WIDTH - ARROW_BUTTON_WIDTH - 2,\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n cursor: 'text',\n userSelect: 'text',\n borderRadius: `${effects.roundedCorner2} 0 0 ${effects.roundedCorner2}`,\n },\n !disabled && {\n selectors: {\n '::selection': {\n backgroundColor: SpinButtonInputBackgroundColorSelected,\n color: SpinButtonInputTextColorSelected,\n selectors: {\n [HighContrastSelector]: {\n backgroundColor: 'Highlight',\n borderColor: 'Highlight',\n color: 'HighlightText',\n },\n },\n },\n },\n },\n disabled && getDisabledStyles(theme),\n ],\n\n arrowButtonsContainer: [\n {\n display: 'block',\n height: '100%',\n cursor: 'default',\n },\n disabled && getDisabledStyles(theme),\n ],\n };\n};\n","import * as React from 'react';\nimport { IconButton } from '../../Button';\nimport { Label } from '../../Label';\nimport { Icon } from '../../Icon';\nimport {\n KeyCodes,\n calculatePrecision,\n classNamesFunction,\n precisionRound,\n getNativeProps,\n getPropsWithDefaults,\n divProperties,\n} from '../../Utilities';\nimport { getArrowButtonStyles } from './SpinButton.styles';\nimport { ISpinButtonProps, ISpinButtonStyleProps, ISpinButtonStyles, KeyboardSpinDirection } from './SpinButton.types';\nimport { Position } from '../../Positioning';\nimport { useAsync, useControllableValue, useWarnings, useId, usePrevious } from '@fluentui/react-hooks';\n\ninterface ISpinButtonInternalState {\n spinningByMouse?: boolean;\n stepTimeoutHandle: number;\n /** Allows access to the latest `value` inside reused callbacks (to avoid stale capture issues) */\n latestValue: string | undefined;\n /** Allows access to the latest `intermediateValue` inside reused callbacks (to avoid stale capture issues) */\n latestIntermediateValue: string | undefined;\n}\n\nconst getClassNames = classNamesFunction();\n\nconst COMPONENT_NAME = 'SpinButton';\nconst DEFAULT_PROPS: Required<\n Pick<\n ISpinButtonProps,\n // These are explicitly specified so that only the things which actually have defaults\n // get marked as required in ISpinButtonPropsWithDefaults below\n 'disabled' | 'label' | 'step' | 'labelPosition' | 'incrementButtonIcon' | 'decrementButtonIcon'\n >\n> = {\n disabled: false,\n label: '',\n step: 1,\n labelPosition: Position.start,\n incrementButtonIcon: { iconName: 'ChevronUpSmall' },\n decrementButtonIcon: { iconName: 'ChevronDownSmall' },\n};\ntype ISpinButtonPropsWithDefaults = ISpinButtonProps & typeof DEFAULT_PROPS;\n\nconst INITIAL_STEP_DELAY = 400;\nconst STEP_DELAY = 75;\n\nconst useComponentRef = (\n props: ISpinButtonProps,\n input: React.RefObject,\n value: string | undefined,\n) => {\n React.useImperativeHandle(\n props.componentRef,\n () => ({\n get value() {\n return value;\n },\n focus() {\n if (input.current) {\n input.current.focus();\n }\n },\n }),\n [input, value],\n );\n};\n\nconst noOp = (): void => {\n /**\n * A noop input change handler. Using onInput instead of onChange was meant to address an issue\n * which apparently has been resolved in React 16 (https://github.com/facebook/react/issues/7027).\n * The no-op onChange handler was still needed because React gives console errors if an input\n * doesn't have onChange.\n *\n * TODO (Fabric 8?) - switch to just calling onChange (this is a breaking change for any tests,\n * ours or 3rd-party, which simulate entering text in a SpinButton)\n */\n};\n\n/** Clamp the value to the provided min and/or max */\nconst clampValue = (value: number, { min, max }: { max?: number; min?: number }) => {\n if (typeof max === 'number') {\n value = Math.min(value, max);\n }\n if (typeof min === 'number') {\n value = Math.max(value, min);\n }\n return value;\n};\n\nexport const SpinButtonBase: React.FunctionComponent = React.forwardRef<\n HTMLDivElement,\n ISpinButtonProps\n>((propsWithoutDefaults, ref) => {\n const props = getPropsWithDefaults(DEFAULT_PROPS, propsWithoutDefaults) as ISpinButtonPropsWithDefaults;\n const {\n disabled,\n label,\n min,\n max,\n step,\n defaultValue,\n value: valueFromProps,\n precision: precisionFromProps,\n labelPosition,\n iconProps,\n incrementButtonIcon,\n incrementButtonAriaLabel,\n decrementButtonIcon,\n decrementButtonAriaLabel,\n ariaLabel,\n ariaDescribedBy,\n upArrowButtonStyles: customUpArrowButtonStyles,\n downArrowButtonStyles: customDownArrowButtonStyles,\n theme,\n ariaPositionInSet,\n ariaSetSize,\n ariaValueNow,\n ariaValueText,\n className,\n inputProps,\n onDecrement,\n onIncrement,\n iconButtonProps,\n onValidate,\n onChange,\n styles,\n } = props;\n\n const input = React.useRef(null);\n const inputId = useId('input');\n const labelId = useId('Label');\n\n const [isFocused, setIsFocused] = React.useState(false);\n const [keyboardSpinDirection, setKeyboardSpinDirection] = React.useState(KeyboardSpinDirection.notSpinning);\n const async = useAsync();\n\n const precision = React.useMemo(() => {\n return precisionFromProps ?? Math.max(calculatePrecision(step), 0);\n }, [precisionFromProps, step]);\n\n /**\n * Actual current value. If `props.value` is provided (controlled), it will always be used.\n * If not (uncontrolled), this tracks the current value based on user modifications.\n * Note that while the user is editing text in the field, this will not be updated until \"commit\"\n * (blur or press enter).\n */\n const [value, setValue] = useControllableValue(valueFromProps, defaultValue ?? String(min || 0), onChange);\n /**\n * \"Uncommitted\" internal value while the user is editing text in the field. This lets us wait to\n * call `onChange` (and possibly update the real value) until the user \"commits\" the value by\n * pressing enter or blurring the field.\n */\n const [intermediateValue, setIntermediateValue] = React.useState();\n\n const { current: internalState } = React.useRef({\n stepTimeoutHandle: -1,\n latestValue: undefined,\n latestIntermediateValue: undefined,\n });\n // On each render, update this saved value used by callbacks. (This should be safe even if render\n // is called multiple times, because an event handler or timeout callback will only run once.)\n internalState.latestValue = value;\n internalState.latestIntermediateValue = intermediateValue;\n\n const previousValueFromProps = usePrevious(valueFromProps);\n React.useEffect(() => {\n // If props.value changes while editing, clear the intermediate value\n if (valueFromProps !== previousValueFromProps && intermediateValue !== undefined) {\n setIntermediateValue(undefined);\n }\n }, [valueFromProps, previousValueFromProps, intermediateValue]);\n\n const classNames = getClassNames(styles, {\n theme: theme!,\n disabled,\n isFocused,\n keyboardSpinDirection,\n labelPosition,\n className,\n });\n\n const nativeProps = getNativeProps>(props, divProperties, [\n 'onBlur',\n 'onFocus',\n 'className',\n 'onChange',\n ]);\n\n /** Validate (commit) function called on blur or enter keypress. */\n const validate = React.useCallback(\n (ev: React.SyntheticEvent): void => {\n // Only run validation if the value changed\n const enteredValue = internalState.latestIntermediateValue;\n if (enteredValue !== undefined && enteredValue !== internalState.latestValue) {\n let newValue: string | undefined;\n if (onValidate) {\n newValue = onValidate(enteredValue, ev) as string | undefined;\n } else if (enteredValue && enteredValue.trim().length && !isNaN(Number(enteredValue))) {\n // default validation handling\n newValue = String(clampValue(Number(enteredValue), { min, max }));\n }\n if (newValue !== undefined && newValue !== internalState.latestValue) {\n // Commit the value if it changed\n setValue(newValue, ev);\n }\n }\n\n // Done validating, so clear the intermediate typed value (if any)\n setIntermediateValue(undefined);\n },\n [internalState, max, min, onValidate, setValue],\n );\n\n /**\n * Stop spinning (clear any currently pending update and set spinning to false)\n */\n const stop = React.useCallback((): void => {\n if (internalState.stepTimeoutHandle >= 0) {\n async.clearTimeout(internalState.stepTimeoutHandle);\n internalState.stepTimeoutHandle = -1;\n }\n if (internalState.spinningByMouse || keyboardSpinDirection !== KeyboardSpinDirection.notSpinning) {\n internalState.spinningByMouse = false;\n setKeyboardSpinDirection(KeyboardSpinDirection.notSpinning);\n }\n }, [internalState, keyboardSpinDirection, async]);\n\n /**\n * Update the value with the given stepFunction.\n * Also starts spinning for mousedown events by scheduling another update with setTimeout.\n * @param stepFunction - function to use to step by\n * @param event - The event that triggered the updateValue\n */\n const updateValue = React.useCallback(\n (\n stepFunction: Required['onIncrement'],\n ev: React.MouseEvent | React.KeyboardEvent,\n ): void => {\n ev.persist();\n\n if (internalState.latestIntermediateValue !== undefined) {\n // Edge case: if intermediateValue is set, this means that the user was editing the input\n // text and then started spinning (either with mouse or keyboard). We need to validate and\n // call onChange before starting to spin.\n if (ev.type === 'keydown') {\n // For the arrow keys, we have to manually trigger validation.\n // (For the buttons, validation will happen automatically since the input's onBlur will\n // be triggered after mousedown on the button completes.)\n validate(ev);\n }\n async.requestAnimationFrame(() => {\n // After handling any value updates, do the spinning update\n updateValue(stepFunction, ev);\n });\n return;\n }\n\n // Call the step function and update the value.\n // (Note: we access the latest value via internalState (not directly) to ensure we don't use\n // a stale captured value. This is mainly important for spinning by mouse, where we trigger\n // additional calls to the original updateValue function via setTimeout. It also lets us\n // avoid useCallback deps on frequently changing values.)\n const newValue = stepFunction(internalState.latestValue || '', ev) as string | undefined;\n if (newValue !== undefined && newValue !== internalState.latestValue) {\n setValue(newValue, ev);\n }\n\n // Schedule the next spin if applicable\n // (will be canceled if there's a mouseup before the timeout runs)\n const wasSpinning = internalState.spinningByMouse;\n internalState.spinningByMouse = ev.type === 'mousedown';\n if (internalState.spinningByMouse) {\n internalState.stepTimeoutHandle = async.setTimeout(\n () => {\n updateValue(stepFunction, ev);\n },\n wasSpinning ? STEP_DELAY : INITIAL_STEP_DELAY, // the first step is slower\n );\n }\n },\n [internalState, async, validate, setValue],\n );\n\n /** Composed increment handler (uses `props.onIncrement` or default) */\n const handleIncrement = React.useCallback(\n (newValue: string): string | void => {\n if (onIncrement) {\n return onIncrement(newValue);\n } else {\n let numericValue = clampValue(Number(newValue) + Number(step), { max });\n numericValue = precisionRound(numericValue, precision);\n return String(numericValue);\n }\n },\n [precision, max, onIncrement, step],\n );\n\n /** Composed decrement handler (uses `props.onDecrement` or default) */\n const handleDecrement = React.useCallback(\n (newValue: string): string | void => {\n if (onDecrement) {\n return onDecrement(newValue);\n } else {\n let numericValue = clampValue(Number(newValue) - Number(step), { min });\n numericValue = precisionRound(numericValue, precision);\n return String(numericValue);\n }\n },\n [precision, min, onDecrement, step],\n );\n\n /** Handles when the user types in the input */\n const handleInputChange = (ev: React.FormEvent): void => {\n setIntermediateValue((ev.target as HTMLInputElement).value);\n };\n\n /** Composed focus handler (does internal stuff and calls `props.onFocus`) */\n const handleFocus = (ev: React.FocusEvent): void => {\n // We can't set focus on a non-existing element\n if (!input.current) {\n return;\n }\n if (internalState.spinningByMouse || keyboardSpinDirection !== KeyboardSpinDirection.notSpinning) {\n stop();\n }\n input.current.select();\n setIsFocused(true);\n props.onFocus?.(ev);\n };\n\n /** Composed blur handler (does internal stuff and calls `props.onBlur`) */\n const handleBlur = (ev: React.FocusEvent): void => {\n validate(ev);\n setIsFocused(false);\n props.onBlur?.(ev);\n };\n\n /** Update value when arrow keys are pressed, commit on enter, or revert on escape */\n const handleKeyDown = (ev: React.KeyboardEvent): void => {\n // eat the up and down arrow keys to keep focus in the spinButton\n // (especially when a spinButton is inside of a FocusZone)\n // eslint-disable-next-line deprecation/deprecation\n if (ev.which === KeyCodes.up || ev.which === KeyCodes.down || ev.which === KeyCodes.enter) {\n ev.preventDefault();\n ev.stopPropagation();\n }\n if (disabled) {\n stop();\n return;\n }\n\n let spinDirection = KeyboardSpinDirection.notSpinning;\n\n // eslint-disable-next-line deprecation/deprecation\n switch (ev.which) {\n case KeyCodes.up:\n spinDirection = KeyboardSpinDirection.up;\n updateValue(handleIncrement, ev);\n break;\n case KeyCodes.down:\n spinDirection = KeyboardSpinDirection.down;\n updateValue(handleDecrement, ev);\n break;\n case KeyCodes.enter:\n // Commit the edited value\n validate(ev);\n break;\n case KeyCodes.escape:\n // Revert to previous value\n setIntermediateValue(undefined);\n break;\n }\n // style the increment/decrement button to look active\n // when the corresponding up/down arrow keys trigger a step\n if (keyboardSpinDirection !== spinDirection) {\n setKeyboardSpinDirection(spinDirection);\n }\n };\n\n /** Stop spinning on keyUp if the up or down arrow key fired this event */\n const handleKeyUp = React.useCallback(\n (ev: React.KeyboardEvent): void => {\n // eslint-disable-next-line deprecation/deprecation\n if (disabled || ev.which === KeyCodes.up || ev.which === KeyCodes.down) {\n stop();\n return;\n }\n },\n [disabled, stop],\n );\n\n const handleIncrementMouseDown = React.useCallback(\n (ev: React.MouseEvent): void => {\n updateValue(handleIncrement, ev);\n },\n [handleIncrement, updateValue],\n );\n\n const handleDecrementMouseDown = React.useCallback(\n (ev: React.MouseEvent): void => {\n updateValue(handleDecrement, ev);\n },\n [handleDecrement, updateValue],\n );\n\n useComponentRef(props, input, value);\n useDebugWarnings(props);\n\n const valueIsNumber = !!value && !isNaN(Number(value)); // Number('') is 0 which may not be desirable\n\n const labelContent = (iconProps || label) && (\n
      \n {iconProps && }\n {label && (\n \n )}\n
      \n );\n\n return (\n
      \n {labelPosition !== Position.bottom && labelContent}\n \n \n \n \n \n \n
      \n {labelPosition === Position.bottom && labelContent}\n
      \n );\n});\nSpinButtonBase.displayName = COMPONENT_NAME;\n\nconst useDebugWarnings = (props: ISpinButtonProps) => {\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks -- build-time conditional\n useWarnings({\n name: COMPONENT_NAME,\n props,\n mutuallyExclusive: { value: 'defaultValue' },\n });\n }\n};\n","import * as React from 'react';\nimport { IRefObject } from '../../Utilities';\nimport { Sticky } from './Sticky';\n\n// eslint-disable-next-line deprecation/deprecation\nexport interface IStickyProps extends React.Props {\n /**\n * Gets ref to component interface.\n */\n componentRef?: IRefObject;\n\n /**\n * Class name to apply to the sticky element if component is sticky.\n */\n stickyClassName?: string;\n\n /**\n * color to apply as 'background-color' style for sticky element.\n */\n stickyBackgroundColor?: string;\n\n /**\n * Region to render sticky component in.\n * @defaultvalue Both\n */\n stickyPosition?: StickyPositionType;\n\n /**\n * If true, then match scrolling position of placeholder element in Sticky.\n * @defaultvalue true\n */\n isScrollSynced?: boolean;\n}\n\nexport enum StickyPositionType {\n Both = 0,\n Header = 1,\n Footer = 2,\n}\n","import * as React from 'react';\nimport { styled } from '../../Utilities';\nimport { ISpinButtonProps, ISpinButtonStyles } from './SpinButton.types';\nimport { SpinButtonBase } from './SpinButton.base';\nimport { getStyles } from './SpinButton.styles';\n\n/**\n * The SpinButton control and related tabs pattern are used for navigating frequently accessed,\n * distinct content categories. SpinButtons allow for navigation between two or more content\n * views and relies on text headers to articulate the different sections of content.\n */\nexport const SpinButton: React.FunctionComponent = styled(\n SpinButtonBase,\n getStyles,\n undefined,\n {\n scope: 'SpinButton',\n },\n);\n","import * as React from 'react';\nimport { initializeComponentRef } from '../../Utilities';\nimport { hiddenContentStyle } from '../../Styling';\nimport { IScrollablePaneContext, ScrollablePaneContext } from '../ScrollablePane/ScrollablePane.types';\nimport { IStickyProps, StickyPositionType } from './Sticky.types';\n\nexport interface IStickyState {\n isStickyTop: boolean;\n isStickyBottom: boolean;\n distanceFromTop?: number;\n}\n\nexport class Sticky extends React.Component {\n public static defaultProps: IStickyProps = {\n stickyPosition: StickyPositionType.Both,\n isScrollSynced: true,\n };\n\n public static contextType = ScrollablePaneContext;\n\n private _root = React.createRef();\n private _stickyContentTop = React.createRef();\n private _stickyContentBottom = React.createRef();\n private _nonStickyContent = React.createRef();\n private _placeHolder = React.createRef();\n private _activeElement: HTMLElement | undefined;\n\n constructor(props: IStickyProps) {\n super(props);\n\n initializeComponentRef(this);\n this.state = {\n isStickyTop: false,\n isStickyBottom: false,\n distanceFromTop: undefined,\n };\n this._activeElement = undefined;\n }\n\n public get root(): HTMLDivElement | null {\n return this._root.current;\n }\n\n public get placeholder(): HTMLDivElement | null {\n return this._placeHolder.current;\n }\n\n public get stickyContentTop(): HTMLDivElement | null {\n return this._stickyContentTop.current;\n }\n\n public get stickyContentBottom(): HTMLDivElement | null {\n return this._stickyContentBottom.current;\n }\n\n public get nonStickyContent(): HTMLDivElement | null {\n return this._nonStickyContent.current;\n }\n\n public get canStickyTop(): boolean {\n return (\n this.props.stickyPosition === StickyPositionType.Both || this.props.stickyPosition === StickyPositionType.Header\n );\n }\n\n public get canStickyBottom(): boolean {\n return (\n this.props.stickyPosition === StickyPositionType.Both || this.props.stickyPosition === StickyPositionType.Footer\n );\n }\n\n public syncScroll = (container: HTMLElement): void => {\n const { nonStickyContent } = this;\n\n if (nonStickyContent && this.props.isScrollSynced) {\n nonStickyContent.scrollLeft = container.scrollLeft;\n }\n };\n\n public componentDidMount(): void {\n const { scrollablePane } = this._getContext();\n\n if (!scrollablePane) {\n return;\n }\n\n scrollablePane.subscribe(this._onScrollEvent);\n scrollablePane.addSticky(this);\n }\n\n public componentWillUnmount(): void {\n const { scrollablePane } = this._getContext();\n\n if (!scrollablePane) {\n return;\n }\n\n scrollablePane.unsubscribe(this._onScrollEvent);\n scrollablePane.removeSticky(this);\n }\n\n public componentDidUpdate(prevProps: IStickyProps, prevState: IStickyState): void {\n const { scrollablePane } = this._getContext();\n\n if (!scrollablePane) {\n return;\n }\n\n const { isStickyBottom, isStickyTop, distanceFromTop } = this.state;\n let syncScroll: boolean = false;\n if (prevState.distanceFromTop !== distanceFromTop) {\n scrollablePane.sortSticky(this, true /*sortAgain*/);\n syncScroll = true;\n }\n if (prevState.isStickyTop !== isStickyTop || prevState.isStickyBottom !== isStickyBottom) {\n if (this._activeElement) {\n this._activeElement.focus();\n }\n scrollablePane.updateStickyRefHeights();\n syncScroll = true;\n }\n if (syncScroll) {\n // Sync Sticky scroll position with content container on each update\n scrollablePane.syncScrollSticky(this);\n }\n }\n\n public shouldComponentUpdate(nextProps: IStickyProps, nextState: IStickyState): boolean {\n if (!this.context.scrollablePane) {\n return true;\n }\n\n const { isStickyTop, isStickyBottom, distanceFromTop } = this.state;\n\n return (isStickyTop !== nextState.isStickyTop ||\n isStickyBottom !== nextState.isStickyBottom ||\n this.props.stickyPosition !== nextProps.stickyPosition ||\n this.props.children !== nextProps.children ||\n distanceFromTop !== nextState.distanceFromTop ||\n _isOffsetHeightDifferent(this._nonStickyContent, this._stickyContentTop) ||\n _isOffsetHeightDifferent(this._nonStickyContent, this._stickyContentBottom) ||\n _isOffsetHeightDifferent(this._nonStickyContent, this._placeHolder)) as boolean;\n }\n\n public render(): JSX.Element {\n const { isStickyTop, isStickyBottom } = this.state;\n const { stickyClassName, children } = this.props;\n\n if (!this.context.scrollablePane) {\n return
      {this.props.children}
      ;\n }\n\n return (\n
      \n {this.canStickyTop && (\n
      \n
      \n
      \n )}\n {this.canStickyBottom && (\n
      \n
      \n
      \n )}\n
      \n {(isStickyTop || isStickyBottom) && {children}}\n \n {children}\n
      \n
      \n
      \n );\n }\n\n public addSticky(stickyContent: HTMLDivElement): void {\n if (this.nonStickyContent) {\n stickyContent.appendChild(this.nonStickyContent);\n }\n }\n\n public resetSticky(): void {\n if (this.nonStickyContent && this.placeholder) {\n this.placeholder.appendChild(this.nonStickyContent);\n }\n }\n\n public setDistanceFromTop(container: HTMLDivElement): void {\n const distanceFromTop = this._getNonStickyDistanceFromTop(container);\n this.setState({ distanceFromTop: distanceFromTop });\n }\n\n private _getContext = (): IScrollablePaneContext => this.context;\n\n private _getContentStyles(isSticky: boolean): React.CSSProperties {\n return {\n backgroundColor: this.props.stickyBackgroundColor || this._getBackground(),\n overflow: isSticky ? 'hidden' : '',\n };\n }\n\n private _getStickyPlaceholderHeight(isSticky: boolean): React.CSSProperties {\n const height = this.nonStickyContent ? this.nonStickyContent.offsetHeight : 0;\n return {\n visibility: isSticky ? 'hidden' : 'visible',\n height: isSticky ? 0 : height,\n };\n }\n\n private _getNonStickyPlaceholderHeightAndWidth(): React.CSSProperties {\n const { isStickyTop, isStickyBottom } = this.state;\n if (isStickyTop || isStickyBottom) {\n let height = 0;\n let width = 0;\n // Why is placeholder width needed?\n // ScrollablePane's content container is reponsible for providing scrollbars depending on content overflow.\n // - If the overflow is caused by content of sticky component when it is in non-sticky state, the container will\n // provide horizontal scrollbar.\n // - If the component becomes sticky, i.e., when state.isStickyTop || state.isStickyBottom becomes true,\n // its actual content is no longer inside the container, so the container will see no need for horizontal\n // scrollbar (assuming no other content is causing overflow). The complete content of sticky component will\n // not be viewable. So it is necessary to provide a placeholder of a certain width (height is already being set)\n // in the container, to get a horizontal scrollbar & be able to view the complete content of sticky component.\n if (this.nonStickyContent && this.nonStickyContent.firstElementChild) {\n height = this.nonStickyContent.offsetHeight;\n // What value should be substituted for placeholder width?\n // Assumptions:\n // 1. Content inside should always be wrapped in a single div.\n //
      {intended_content}
      \n // 2. -ve padding, margin, etc. are not be used.\n // 3. scrollWidth of a parent is greater than or equal to max of scrollWidths of its children, and same holds\n // for children.\n // placeholder width should be computed in the best possible way to prevent overscroll/underscroll.\n width =\n this.nonStickyContent.firstElementChild.scrollWidth +\n ((this.nonStickyContent.firstElementChild as HTMLElement).offsetWidth -\n this.nonStickyContent.firstElementChild.clientWidth);\n }\n return {\n height: height,\n width: width,\n };\n } else {\n return {};\n }\n }\n\n private _onScrollEvent = (container: HTMLElement, footerStickyContainer: HTMLElement): void => {\n if (this.root && this.nonStickyContent) {\n const distanceFromTop = this._getNonStickyDistanceFromTop(container);\n let isStickyTop = false;\n let isStickyBottom = false;\n\n if (this.canStickyTop) {\n const distanceToStickTop = distanceFromTop - this._getStickyDistanceFromTop();\n isStickyTop = distanceToStickTop < container.scrollTop;\n }\n\n // Can sticky bottom if the scrollablePane - total sticky footer height is smaller than the sticky's distance\n // from the top of the pane\n if (this.canStickyBottom && container.clientHeight - footerStickyContainer.offsetHeight <= distanceFromTop) {\n isStickyBottom =\n distanceFromTop - Math.floor(container.scrollTop) >=\n this._getStickyDistanceFromTopForFooter(container, footerStickyContainer);\n }\n\n if (\n document.activeElement &&\n this.nonStickyContent.contains(document.activeElement) &&\n (this.state.isStickyTop !== isStickyTop || this.state.isStickyBottom !== isStickyBottom)\n ) {\n this._activeElement = document.activeElement as HTMLElement;\n } else {\n this._activeElement = undefined;\n }\n\n this.setState({\n isStickyTop: this.canStickyTop && isStickyTop,\n isStickyBottom: isStickyBottom,\n distanceFromTop: distanceFromTop,\n });\n }\n };\n\n private _getStickyDistanceFromTop = (): number => {\n let distance = 0;\n if (this.stickyContentTop) {\n distance = this.stickyContentTop.offsetTop;\n }\n\n return distance;\n };\n\n private _getStickyDistanceFromTopForFooter = (\n container: HTMLElement,\n footerStickyVisibleContainer: HTMLElement,\n ): number => {\n let distance = 0;\n if (this.stickyContentBottom) {\n distance =\n container.clientHeight - footerStickyVisibleContainer.offsetHeight + this.stickyContentBottom.offsetTop;\n }\n\n return distance;\n };\n\n private _getNonStickyDistanceFromTop = (container: HTMLElement): number => {\n let distance = 0;\n let currElem = this.root;\n\n if (currElem) {\n while (currElem && currElem.offsetParent !== container) {\n distance += currElem.offsetTop;\n currElem = currElem.offsetParent as HTMLDivElement;\n }\n\n if (currElem && currElem.offsetParent === container) {\n distance += currElem.offsetTop;\n }\n }\n return distance;\n };\n\n // Gets background of nearest parent element that has a declared background-color attribute\n private _getBackground(): string | undefined {\n if (!this.root) {\n return undefined;\n }\n\n let curr: HTMLElement = this.root;\n\n while (\n window.getComputedStyle(curr).getPropertyValue('background-color') === 'rgba(0, 0, 0, 0)' ||\n window.getComputedStyle(curr).getPropertyValue('background-color') === 'transparent'\n ) {\n if (curr.tagName === 'HTML') {\n // Fallback color if no element has a declared background-color attribute\n return undefined;\n }\n if (curr.parentElement) {\n curr = curr.parentElement;\n }\n }\n return window.getComputedStyle(curr).getPropertyValue('background-color');\n }\n}\n\nfunction _isOffsetHeightDifferent(a: React.RefObject, b: React.RefObject): boolean {\n return (a && b && a.current && b.current && a.current.offsetHeight !== b.current.offsetHeight) as boolean;\n}\n","import * as React from 'react';\nimport { ITheme, mergeStyleSets, IProcessedStyleSet } from '../../Styling';\nimport { classNamesFunction, memoizeFunction } from '../../Utilities';\nimport { getColorFromString } from '../../Color';\nimport { ButtonGridCell } from '../../utilities/ButtonGrid/ButtonGridCell';\nimport { getStyles as getActionButtonStyles } from '../Button/ActionButton/ActionButton.styles';\nimport { IButtonClassNames } from '../Button/BaseButton.classNames';\nimport {\n IColorCellProps,\n IColorPickerGridCellProps,\n IColorPickerGridCellStyleProps,\n IColorPickerGridCellStyles,\n} from './ColorPickerGridCell.types';\n\nconst getClassNames = classNamesFunction();\n\n/** Validate if the cell's color is white or not to apply whiteCell style */\nconst isWhiteCell = (inputColor: string): boolean => {\n const currentColor = getColorFromString(inputColor!);\n return currentColor?.hex === 'ffffff';\n};\n\nconst getColorPickerGridCellButtonClassNames = memoizeFunction(\n (\n theme: ITheme,\n className: string,\n variantClassName: string,\n iconClassName: string | undefined,\n menuIconClassName: string | undefined,\n disabled: boolean,\n checked: boolean,\n expanded: boolean,\n isSplit: boolean | undefined,\n ): IButtonClassNames => {\n const styles = getActionButtonStyles(theme);\n return mergeStyleSets({\n root: [\n 'ms-Button',\n styles.root,\n variantClassName,\n className,\n checked && ['is-checked', styles.rootChecked],\n disabled && ['is-disabled', styles.rootDisabled],\n !disabled &&\n !checked && {\n selectors: {\n ':hover': styles.rootHovered,\n ':focus': styles.rootFocused,\n ':active': styles.rootPressed,\n },\n },\n disabled && checked && [styles.rootCheckedDisabled],\n !disabled &&\n checked && {\n selectors: {\n ':hover': styles.rootCheckedHovered,\n ':active': styles.rootCheckedPressed,\n },\n },\n ],\n flexContainer: ['ms-Button-flexContainer', styles.flexContainer],\n });\n },\n);\n\nexport const ColorPickerGridCellBase: React.FunctionComponent = props => {\n const {\n item,\n // eslint-disable-next-line deprecation/deprecation\n idPrefix = props.id,\n selected = false,\n disabled = false,\n styles,\n circle = true,\n color,\n onClick,\n onHover,\n onFocus,\n onMouseEnter,\n onMouseMove,\n onMouseLeave,\n onWheel,\n onKeyDown,\n height,\n width,\n borderWidth,\n } = props;\n\n const classNames: IProcessedStyleSet = getClassNames(styles!, {\n theme: props.theme!,\n disabled,\n selected,\n circle,\n isWhite: isWhiteCell(color!),\n height,\n width,\n borderWidth,\n });\n\n // Render the core of a color cell\n const onRenderColorOption = (colorOption: IColorCellProps): JSX.Element => {\n const svgClassName = classNames.svg;\n\n // Build an SVG for the cell with the given shape and color properties\n return (\n \n {circle ? : }\n \n );\n };\n\n return (\n \n );\n};\n","import { IsFocusVisibleClassName } from '../../Utilities';\nimport { HighContrastSelector, getFocusStyle } from '../../Styling';\nimport { IColorPickerGridCellStyleProps, IColorPickerGridCellStyles } from './ColorPickerGridCell.types';\n\n// Size breakpoint when the default border width changes from 2px to 4px.\nconst CELL_BORDER_BREAKPOINT = 24;\nconst LARGE_BORDER = 4;\nconst SMALL_BORDER = 2;\nconst DIVIDING_PADDING = 2;\nconst DEFAULT_CELL_SIZE = 20;\n\nconst cellHighContrastFocus = {\n left: -2,\n top: -2,\n bottom: -2,\n right: -2,\n border: 'none',\n outlineColor: 'ButtonText',\n};\n\nexport const getStyles = (props: IColorPickerGridCellStyleProps): IColorPickerGridCellStyles => {\n const {\n theme,\n disabled,\n selected,\n circle,\n isWhite,\n height = DEFAULT_CELL_SIZE,\n width = DEFAULT_CELL_SIZE,\n borderWidth,\n } = props;\n const { semanticColors, palette } = theme;\n\n const buttonBorderHovered = palette.neutralLighter;\n const buttonBorderChecked = palette.neutralLight;\n const buttonBorderCheckedHovered = palette.neutralSecondary;\n const buttonBorderIsWhite = palette.neutralTertiary;\n\n // If user provided a value, use it. If not, then we decide depending on the 24px size breakpoint.\n const calculatedBorderWidth = borderWidth\n ? borderWidth\n : width < CELL_BORDER_BREAKPOINT\n ? SMALL_BORDER\n : LARGE_BORDER;\n\n return {\n // this is a button that wraps the color\n colorCell: [\n getFocusStyle(theme, { inset: -1, position: 'relative', highContrastStyle: cellHighContrastFocus }),\n {\n backgroundColor: semanticColors.bodyBackground,\n padding: 0,\n position: 'relative',\n boxSizing: 'border-box',\n display: 'inline-block',\n cursor: 'pointer',\n userSelect: 'none',\n borderRadius: 0,\n border: 'none',\n height: height,\n width: width,\n verticalAlign: 'top',\n },\n !circle && {\n selectors: {\n [`.${IsFocusVisibleClassName} &:focus::after`]: {\n // -1px so that we don't increase visually the size of the cell.\n outlineOffset: `${calculatedBorderWidth - 1}px`,\n },\n },\n },\n // In focus state for circle we want a round border which is not possible with outline.\n circle && {\n borderRadius: '50%',\n selectors: {\n [`.${IsFocusVisibleClassName} &:focus::after`]: {\n outline: 'none',\n borderColor: semanticColors.focusBorder,\n borderRadius: '50%',\n left: -calculatedBorderWidth,\n right: -calculatedBorderWidth,\n top: -calculatedBorderWidth,\n bottom: -calculatedBorderWidth,\n selectors: {\n [HighContrastSelector]: {\n outline: `1px solid ButtonText`,\n },\n },\n },\n },\n },\n selected && {\n padding: DIVIDING_PADDING,\n border: `${calculatedBorderWidth}px solid ${buttonBorderChecked}`,\n selectors: {\n ['&:hover::before']: {\n content: '\"\"',\n height: height,\n width: width,\n position: 'absolute',\n top: -calculatedBorderWidth,\n left: -calculatedBorderWidth,\n borderRadius: circle ? '50%' : 'default',\n boxShadow: `inset 0 0 0 1px ${buttonBorderCheckedHovered}`,\n },\n },\n },\n !selected && {\n selectors: {\n ['&:hover, &:active, &:focus']: {\n backgroundColor: semanticColors.bodyBackground, // overwrite white's override\n padding: DIVIDING_PADDING,\n border: `${calculatedBorderWidth}px solid ${buttonBorderHovered}`,\n },\n ['&:focus']: {\n borderColor: semanticColors.bodyBackground,\n padding: 0,\n selectors: {\n ':hover': {\n borderColor: theme.palette.neutralLight,\n padding: DIVIDING_PADDING,\n },\n },\n },\n },\n },\n disabled && {\n color: semanticColors.disabledBodyText,\n pointerEvents: 'none',\n opacity: 0.3,\n },\n isWhite &&\n !selected && {\n // fake a border for white\n backgroundColor: buttonBorderIsWhite,\n padding: 1,\n },\n ],\n // the that holds the color\n svg: [\n {\n width: '100%',\n height: '100%',\n },\n circle && {\n borderRadius: '50%',\n },\n ],\n };\n};\n","import * as React from 'react';\nimport { styled } from '../../Utilities';\nimport { ColorPickerGridCellBase } from './ColorPickerGridCell.base';\nimport {\n IColorPickerGridCellProps,\n IColorPickerGridCellStyleProps,\n IColorPickerGridCellStyles,\n} from './ColorPickerGridCell.types';\nimport { getStyles } from './ColorPickerGridCell.styles';\n\nexport const ColorPickerGridCell: React.FunctionComponent = styled<\n IColorPickerGridCellProps,\n IColorPickerGridCellStyleProps,\n IColorPickerGridCellStyles\n>(ColorPickerGridCellBase, getStyles, undefined, { scope: 'ColorPickerGridCell' }, true);\n","import * as React from 'react';\nimport { classNamesFunction, KeyCodes } from '../../Utilities';\nimport {\n ISwatchColorPickerProps,\n ISwatchColorPickerStyleProps,\n ISwatchColorPickerStyles,\n} from './SwatchColorPicker.types';\nimport { ButtonGrid } from '../../utilities/ButtonGrid/ButtonGrid';\nimport { IColorCellProps } from './ColorPickerGridCell.types';\nimport { ColorPickerGridCell } from './ColorPickerGridCell';\nimport { useId, useConst, useSetTimeout, useControllableValue, useWarnings } from '@fluentui/react-hooks';\nimport { IButtonGridProps } from '../../utilities/ButtonGrid/ButtonGrid.types';\n\ninterface ISwatchColorPickerInternalState {\n isNavigationIdle: boolean;\n cellFocused: boolean;\n navigationIdleTimeoutId: number | undefined;\n navigationIdleDelay: number;\n}\n\nconst getClassNames = classNamesFunction();\n\nconst COMPONENT_NAME = 'SwatchColorPicker';\n\nfunction useDebugWarnings(props: ISwatchColorPickerProps) {\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks -- build-time conditional\n useWarnings({\n name: COMPONENT_NAME,\n props,\n mutuallyExclusive: { focusOnHover: 'onHover', selectedId: 'defaultSelectedId' },\n deprecations: { isControlled: \"selectedId' or 'defaultSelectedId\", onColorChanged: 'onChange' },\n });\n }\n}\n\nexport const SwatchColorPickerBase: React.FunctionComponent = React.forwardRef<\n HTMLElement,\n ISwatchColorPickerProps\n>((props, ref) => {\n const defaultId = useId('swatchColorPicker');\n const id = props.id || defaultId;\n\n const internalState = useConst({\n isNavigationIdle: true,\n cellFocused: false,\n navigationIdleTimeoutId: undefined,\n navigationIdleDelay: 250,\n });\n\n const { setTimeout, clearTimeout } = useSetTimeout();\n\n useDebugWarnings(props);\n\n const {\n colorCells,\n cellShape = 'circle',\n columnCount,\n shouldFocusCircularNavigate = true,\n className,\n disabled = false,\n doNotContainWithinFocusZone,\n styles,\n cellMargin = 10,\n defaultSelectedId,\n focusOnHover,\n mouseLeaveParentSelector,\n onChange,\n // eslint-disable-next-line deprecation/deprecation\n onColorChanged,\n onCellHovered,\n onCellFocused,\n getColorGridCellStyles,\n cellHeight,\n cellWidth,\n cellBorderWidth,\n } = props;\n\n /**\n * Add an index to each color cells. Memoizes this so that color cells do not re-render on every update.\n */\n const itemsWithIndex = React.useMemo(() => {\n return colorCells.map((item, index) => {\n return { ...item, index: index };\n });\n }, [colorCells]);\n\n const mergedOnChange = React.useCallback(\n (ev: React.FormEvent, newSelectedId: string | undefined) => {\n // Call both new and old change handlers, and add the extra `color` parameter\n const newColor = colorCells.filter(c => c.id === newSelectedId)[0]?.color;\n onChange?.(ev, newSelectedId, newColor);\n onColorChanged?.(newSelectedId, newColor);\n },\n [onChange, onColorChanged, colorCells],\n );\n\n const [selectedId, setSelectedId] = useControllableValue(props.selectedId, defaultSelectedId, mergedOnChange);\n\n const classNames = getClassNames(styles!, {\n theme: props.theme!,\n className,\n cellMargin,\n });\n\n const gridStyles = {\n root: classNames.root,\n tableCell: classNames.tableCell,\n focusedContainer: classNames.focusedContainer,\n };\n\n /**\n * When the whole swatchColorPicker is blurred,\n * make sure to clear the pending focused stated\n */\n const onSwatchColorPickerBlur = React.useCallback((): void => {\n if (onCellFocused) {\n internalState.cellFocused = false;\n onCellFocused();\n }\n }, [internalState, onCellFocused]);\n\n /**\n * Callback passed to the GridCell that will manage triggering the onCellHovered callback for mouseEnter\n */\n const onMouseEnter = React.useCallback(\n (ev: React.MouseEvent): boolean => {\n if (!focusOnHover) {\n return !internalState.isNavigationIdle || !!disabled;\n }\n if (internalState.isNavigationIdle && !disabled) {\n ev.currentTarget.focus();\n }\n return true;\n },\n [focusOnHover, internalState, disabled],\n );\n\n /**\n * Callback passed to the GridCell that will manage Hover/Focus updates\n */\n const onMouseMove = React.useCallback(\n (ev: React.MouseEvent): boolean => {\n if (!focusOnHover) {\n return !internalState.isNavigationIdle || !!disabled;\n }\n\n const targetElement = ev.currentTarget as HTMLElement;\n\n // If navigation is idle and the targetElement is the focused element bail out\n if (internalState.isNavigationIdle && !(document && targetElement === (document.activeElement as HTMLElement))) {\n targetElement.focus();\n }\n\n return true;\n },\n [focusOnHover, internalState, disabled],\n );\n\n /**\n * Callback passed to the GridCell that will manage Hover/Focus updates\n */\n const onMouseLeave = React.useCallback(\n (ev: React.MouseEvent): void => {\n const parentSelector = mouseLeaveParentSelector;\n\n if (!focusOnHover || !parentSelector || !internalState.isNavigationIdle || disabled) {\n return;\n }\n\n // Get the elements that math the given selector\n const elements = document.querySelectorAll(parentSelector);\n\n // iterate over the elements return to make sure it is a parent of the target and focus it\n for (let index = 0; index < elements.length; index += 1) {\n if (elements[index].contains(ev.currentTarget)) {\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 if ((elements[index] as any).setActive) {\n try {\n (elements[index] as any).setActive();\n } catch (e) {\n /* no-op */\n }\n } else {\n (elements[index] as HTMLElement).focus();\n }\n\n break;\n }\n }\n },\n [disabled, focusOnHover, internalState, mouseLeaveParentSelector],\n );\n\n /**\n * Callback passed to the GridCell class that will trigger the onCellHovered callback of the SwatchColorPicker\n * NOTE: This will not be triggered if shouldFocusOnHover === true\n */\n const onGridCellHovered = React.useCallback(\n (item?: IColorCellProps): void => {\n if (onCellHovered) {\n return item ? onCellHovered(item.id, item.color) : onCellHovered();\n }\n },\n [onCellHovered],\n );\n\n /**\n * Callback passed to the GridCell class that will trigger the onCellFocus callback of the SwatchColorPicker\n */\n const onGridCellFocused = React.useCallback(\n (item?: IColorCellProps): void => {\n if (onCellFocused) {\n if (item) {\n internalState.cellFocused = true;\n return onCellFocused(item.id, item.color);\n } else {\n internalState.cellFocused = false;\n return onCellFocused();\n }\n }\n },\n [internalState, onCellFocused],\n );\n\n /**\n * Handle the click on a cell\n */\n const onCellClick = React.useCallback(\n (item: IColorCellProps): void => {\n if (disabled) {\n return;\n }\n\n if (item.id !== selectedId) {\n if (onCellFocused && internalState.cellFocused) {\n internalState.cellFocused = false;\n onCellFocused();\n }\n setSelectedId(item.id);\n }\n },\n [disabled, internalState, onCellFocused, selectedId, setSelectedId],\n );\n\n /**\n * Sets a timeout so we won't process any mouse \"hover\" events\n * while navigating (via mouseWheel or arrowKeys)\n */\n const setNavigationTimeout = React.useCallback(() => {\n if (!internalState.isNavigationIdle && internalState.navigationIdleTimeoutId !== undefined) {\n clearTimeout(internalState.navigationIdleTimeoutId);\n internalState.navigationIdleTimeoutId = undefined;\n } else {\n internalState.isNavigationIdle = false;\n }\n\n internalState.navigationIdleTimeoutId = setTimeout(() => {\n internalState.isNavigationIdle = true;\n }, internalState.navigationIdleDelay);\n }, [clearTimeout, internalState, setTimeout]);\n\n /**\n * Callback used to handle KeyCode events\n */\n const onKeyDown = React.useCallback(\n (ev: React.KeyboardEvent): void => {\n if (\n // eslint-disable-next-line deprecation/deprecation\n ev.which === KeyCodes.up ||\n // eslint-disable-next-line deprecation/deprecation\n ev.which === KeyCodes.down ||\n // eslint-disable-next-line deprecation/deprecation\n ev.which === KeyCodes.left ||\n // eslint-disable-next-line deprecation/deprecation\n ev.which === KeyCodes.right\n ) {\n setNavigationTimeout();\n }\n },\n [setNavigationTimeout],\n );\n\n /**\n * Render a color cell\n * @param item - The item to render\n * @returns - Element representing the item\n */\n const renderOption = (item: IColorCellProps): JSX.Element => {\n return (\n \n );\n };\n\n if (colorCells.length < 1 || columnCount < 1) {\n return null;\n }\n const onRenderItem = (item: IColorCellProps, index: number): JSX.Element => {\n const { onRenderColorCell = renderOption } = props;\n return onRenderColorCell(item, renderOption) as JSX.Element;\n };\n return (\n \n );\n});\n\nSwatchColorPickerBase.displayName = COMPONENT_NAME;\n","import { ISwatchColorPickerStyleProps, ISwatchColorPickerStyles } from './SwatchColorPicker.types';\nimport { getGlobalClassNames } from '../../Styling';\n\nconst GlobalClassNames = {\n focusedContainer: 'ms-swatchColorPickerBodyContainer',\n};\n\nexport const getStyles = (props: ISwatchColorPickerStyleProps): ISwatchColorPickerStyles => {\n const { className, theme, cellMargin } = props;\n\n const classNames = getGlobalClassNames(GlobalClassNames, theme);\n\n return {\n root: {\n margin: '8px 0',\n borderCollapse: 'collapse',\n },\n tableCell: {\n padding: cellMargin! / 2,\n },\n focusedContainer: [\n classNames.focusedContainer,\n {\n clear: 'both',\n display: 'block',\n minWidth: '180px',\n },\n className,\n ],\n };\n};\n","import * as React from 'react';\nimport { styled } from '../../Utilities';\nimport { SwatchColorPickerBase } from './SwatchColorPicker.base';\nimport {\n ISwatchColorPickerProps,\n ISwatchColorPickerStyles,\n ISwatchColorPickerStyleProps,\n} from './SwatchColorPicker.types';\nimport { getStyles } from './SwatchColorPicker.styles';\n\nexport const SwatchColorPicker: React.FunctionComponent = styled<\n ISwatchColorPickerProps,\n ISwatchColorPickerStyleProps,\n ISwatchColorPickerStyles\n>(SwatchColorPickerBase, getStyles, undefined, { scope: 'SwatchColorPicker' });\n","export interface IMaskValue {\n value?: string;\n /**\n * This index refers to the index in the displayMask rather than the inputMask.\n * This means that any escaped characters do not count toward this index.\n */\n displayIndex: number;\n format: RegExp;\n}\n\nexport const DEFAULT_MASK_FORMAT_CHARS: { [key: string]: RegExp } = {\n '9': /[0-9]/,\n a: /[a-zA-Z]/,\n '*': /[a-zA-Z0-9]/,\n};\n\n/**\n * Takes in the mask string and the formatCharacters and returns an array of MaskValues\n * Example:\n * mask = 'Phone Number: (999) - 9999'\n * return = [\n * { value: undefined, displayIndex: 16, format: /[0-9]/ },\n * { value: undefined, displayIndex: 17, format: /[0-9]/ },\n * { value: undefined, displayIndex: 18, format: /[0-9]/ },\n * { value: undefined, displayIndex: 22, format: /[0-9]/ },\n * ]\n *\n * @param mask The string use to define the format of the displayed maskedValue.\n * @param formatChars An object defining how certain characters in the mask should accept input.\n */\nexport function parseMask(\n mask: string | undefined,\n formatChars: { [key: string]: RegExp } = DEFAULT_MASK_FORMAT_CHARS,\n): IMaskValue[] {\n if (!mask) {\n return [];\n }\n\n const maskCharData: IMaskValue[] = [];\n // Count the escape characters in the mask string.\n let escapedChars = 0;\n for (let i = 0; i + escapedChars < mask.length; i++) {\n const maskChar = mask.charAt(i + escapedChars);\n if (maskChar === '\\\\') {\n escapedChars++;\n } else {\n // Check if the maskChar is a format character.\n const maskFormat = formatChars[maskChar];\n if (maskFormat) {\n maskCharData.push({\n /**\n * Do not add escapedChars to the displayIndex.\n * The index refers to a position in the mask's displayValue.\n * Since the backslashes don't appear in the displayValue,\n * we do not add them to the charData displayIndex.\n */\n displayIndex: i,\n format: maskFormat,\n });\n }\n }\n }\n\n return maskCharData;\n}\n\n/**\n * Takes in the mask string, an array of MaskValues, and the maskCharacter\n * returns the mask string formatted with the input values and maskCharacter.\n * If the maskChar is undefined, the maskDisplay is truncated to the last filled format character.\n * Example:\n * mask = 'Phone Number: (999) 999 - 9999'\n * maskCharData = '12345'\n * maskChar = '_'\n * return = 'Phone Number: (123) 45_ - ___'\n *\n * Example:\n * mask = 'Phone Number: (999) 999 - 9999'\n * value = '12345'\n * maskChar = undefined\n * return = 'Phone Number: (123) 45'\n *\n * @param mask The string use to define the format of the displayed maskedValue.\n * @param maskCharData The input values to insert into the mask string for displaying.\n * @param maskChar? A character to display in place of unfilled mask format characters.\n */\nexport function getMaskDisplay(mask: string | undefined, maskCharData: IMaskValue[], maskChar?: string): string {\n let maskDisplay = mask;\n\n if (!maskDisplay) {\n return '';\n }\n\n // Remove all backslashes\n maskDisplay = maskDisplay.replace(/\\\\/g, '');\n\n // lastDisplayIndex is is used to truncate the string if necessary.\n let lastDisplayIndex = 0;\n if (maskCharData.length > 0) {\n lastDisplayIndex = maskCharData[0].displayIndex - 1;\n }\n\n /**\n * For each input value, replace the character in the maskDisplay with the value.\n * If there is no value set for the format character, use the maskChar.\n */\n for (const charData of maskCharData) {\n let nextChar = ' ';\n if (charData.value) {\n nextChar = charData.value;\n if (charData.displayIndex > lastDisplayIndex) {\n lastDisplayIndex = charData.displayIndex;\n }\n } else {\n if (maskChar) {\n nextChar = maskChar;\n }\n }\n\n // Insert the character into the maskdisplay at its corresponding index\n maskDisplay = maskDisplay.slice(0, charData.displayIndex) + nextChar + maskDisplay.slice(charData.displayIndex + 1);\n }\n\n // Cut off all mask characters after the last filled format value\n if (!maskChar) {\n maskDisplay = maskDisplay.slice(0, lastDisplayIndex + 1);\n }\n\n return maskDisplay;\n}\n\n/**\n * Get the next format index right of or at a specified index.\n * If no index exists, returns the rightmost index.\n * @param maskCharData\n * @param index\n */\nexport function getRightFormatIndex(maskCharData: IMaskValue[], index: number): number {\n for (let i = 0; i < maskCharData.length; i++) {\n if (maskCharData[i].displayIndex >= index) {\n return maskCharData[i].displayIndex;\n }\n }\n return maskCharData[maskCharData.length - 1].displayIndex;\n}\n\n/**\n * Get the next format index left of a specified index.\n * If no index exists, returns the leftmost index.\n * @param maskCharData\n * @param index\n */\nexport function getLeftFormatIndex(maskCharData: IMaskValue[], index: number): number {\n for (let i = maskCharData.length - 1; i >= 0; i--) {\n if (maskCharData[i].displayIndex < index) {\n return maskCharData[i].displayIndex;\n }\n }\n return maskCharData[0].displayIndex;\n}\n\n/**\n * Deletes all values in maskCharData with a displayIndex that falls inside the specified range.\n * maskCharData is modified inline and also returned.\n * @param maskCharData\n * @param selectionStart\n * @param selectionCount\n */\nexport function clearRange(maskCharData: IMaskValue[], selectionStart: number, selectionCount: number): IMaskValue[] {\n for (let i = 0; i < maskCharData.length; i++) {\n if (maskCharData[i].displayIndex >= selectionStart) {\n if (maskCharData[i].displayIndex >= selectionStart + selectionCount) {\n break;\n }\n maskCharData[i].value = undefined;\n }\n }\n return maskCharData;\n}\n\n/**\n * Deletes the input character at or after a specified index and returns the new array of charData\n * maskCharData is modified inline and also returned.\n * @param maskCharData\n * @param selectionStart\n */\nexport function clearNext(maskCharData: IMaskValue[], selectionStart: number): IMaskValue[] {\n for (let i = 0; i < maskCharData.length; i++) {\n if (maskCharData[i].displayIndex >= selectionStart) {\n maskCharData[i].value = undefined;\n break;\n }\n }\n return maskCharData;\n}\n\n/**\n * Deletes the input character before a specified index and returns the new array of charData\n * maskCharData is modified inline and also returned.\n * @param maskCharData\n * @param selectionStart\n */\nexport function clearPrev(maskCharData: IMaskValue[], selectionStart: number): IMaskValue[] {\n for (let i = maskCharData.length - 1; i >= 0; i--) {\n if (maskCharData[i].displayIndex < selectionStart) {\n maskCharData[i].value = undefined;\n break;\n }\n }\n return maskCharData;\n}\n\n/**\n * Deletes all values in maskCharData with a displayIndex that falls inside the specified range.\n * Modifies the maskCharData inplace with the passed string and returns the display index of the\n * next format character after the inserted string.\n * @param maskCharData\n * @param selectionStart\n * @param selectionCount\n * @return The displayIndex of the next format character\n */\nexport function insertString(maskCharData: IMaskValue[], selectionStart: number, newString: string): number {\n let stringIndex = 0;\n let nextIndex = 0;\n let isStringInserted = false;\n\n // Iterate through _maskCharData finding values with a displayIndex after the specified range start\n for (let i = 0; i < maskCharData.length && stringIndex < newString.length; i++) {\n if (maskCharData[i].displayIndex >= selectionStart) {\n isStringInserted = true;\n nextIndex = maskCharData[i].displayIndex;\n // Find the next character in the newString that matches the format\n while (stringIndex < newString.length) {\n // If the character matches the format regexp, set the maskCharData to the new character\n if (maskCharData[i].format.test(newString.charAt(stringIndex))) {\n maskCharData[i].value = newString.charAt(stringIndex++);\n // Set the nextIndex to the display index of the next mask format character.\n if (i + 1 < maskCharData.length) {\n nextIndex = maskCharData[i + 1].displayIndex;\n } else {\n nextIndex++;\n }\n break;\n }\n stringIndex++;\n }\n }\n }\n\n return isStringInserted ? nextIndex : selectionStart;\n}\n","import * as React from 'react';\nimport { TextField } from '../TextField';\nimport { IMaskedTextFieldProps, IMaskedTextField } from '../TextField.types';\nimport { KeyCodes, IRefObject } from '../../../Utilities';\nimport {\n clearNext,\n clearPrev,\n clearRange,\n DEFAULT_MASK_FORMAT_CHARS,\n getLeftFormatIndex,\n getMaskDisplay,\n getRightFormatIndex,\n IMaskValue,\n insertString,\n parseMask,\n} from './inputMask';\nimport { useConst } from '@fluentui/react-hooks';\n\ninterface IMaskedTextFieldInternalState {\n maskCharData: IMaskValue[];\n isFocused: boolean;\n moveCursorOnMouseUp: boolean;\n changeSelectionData: {\n changeType: 'default' | 'backspace' | 'delete' | 'textPasted';\n selectionStart: number;\n selectionEnd: number;\n } | null;\n}\n\nconst COMPONENT_NAME = 'MaskedTextField';\n\nconst useComponentRef = (\n componentRef: IRefObject | undefined,\n internalState: IMaskedTextFieldInternalState,\n textField: React.RefObject,\n) => {\n React.useImperativeHandle(\n componentRef,\n (): IMaskedTextField => ({\n get value() {\n let value = '';\n\n for (let i = 0; i < internalState.maskCharData.length; i++) {\n if (!internalState.maskCharData[i].value) {\n return undefined;\n }\n value += internalState.maskCharData[i].value;\n }\n return value;\n },\n\n get selectionStart(): number | null {\n return textField.current && textField.current.selectionStart !== null ? textField.current.selectionStart : -1;\n },\n\n get selectionEnd(): number | null {\n return textField.current && textField.current.selectionEnd ? textField.current.selectionEnd : -1;\n },\n\n focus(): void {\n textField.current && textField.current.focus();\n },\n\n blur(): void {\n textField.current && textField.current.blur();\n },\n\n select(): void {\n textField.current && textField.current.select();\n },\n\n setSelectionStart(value: number): void {\n textField.current && textField.current.setSelectionStart(value);\n },\n\n setSelectionEnd(value: number): void {\n textField.current && textField.current.setSelectionEnd(value);\n },\n\n setSelectionRange(start: number, end: number): void {\n textField.current && textField.current.setSelectionRange(start, end);\n },\n }),\n [internalState, textField],\n );\n};\n\nexport const DEFAULT_MASK_CHAR = '_';\n\nexport const MaskedTextField: React.FunctionComponent = React.forwardRef<\n HTMLDivElement,\n IMaskedTextFieldProps\n>((props, ref) => {\n const textField = React.useRef(null);\n\n const {\n componentRef,\n onFocus,\n onBlur,\n onMouseDown,\n onMouseUp,\n onChange,\n onPaste,\n onKeyDown,\n mask,\n maskChar = DEFAULT_MASK_CHAR,\n maskFormat = DEFAULT_MASK_FORMAT_CHARS,\n value,\n } = props;\n\n const internalState = useConst(() => ({\n maskCharData: parseMask(mask, maskFormat),\n isFocused: false,\n moveCursorOnMouseUp: false,\n changeSelectionData: null,\n }));\n\n /** The index into the rendered value of the first unfilled format character */\n const [maskCursorPosition, setMaskCursorPosition] = React.useState();\n\n /**\n * The mask string formatted with the input value.\n * This is what is displayed inside the TextField\n * @example\n * `Phone Number: 12_ - 4___`\n */\n const [displayValue, setDisplayValue] = React.useState(() =>\n getMaskDisplay(mask, internalState.maskCharData, maskChar),\n );\n\n const setValue = React.useCallback(\n (newValue: string): void => {\n let valueIndex = 0;\n let charDataIndex = 0;\n\n while (valueIndex < newValue.length && charDataIndex < internalState.maskCharData.length) {\n // Test if the next character in the new value fits the next format character\n const testVal = newValue[valueIndex];\n if (internalState.maskCharData[charDataIndex].format.test(testVal)) {\n internalState.maskCharData[charDataIndex].value = testVal;\n charDataIndex++;\n }\n valueIndex++;\n }\n },\n [internalState],\n );\n\n const handleFocus = React.useCallback(\n (ev: React.FocusEvent) => {\n onFocus?.(ev);\n internalState.isFocused = true;\n\n // Move the cursor position to the leftmost unfilled position\n for (let i = 0; i < internalState.maskCharData.length; i++) {\n if (!internalState.maskCharData[i].value) {\n setMaskCursorPosition(internalState.maskCharData[i].displayIndex);\n break;\n }\n }\n },\n [internalState, onFocus],\n );\n\n const handleBlur = React.useCallback(\n (ev: React.FocusEvent) => {\n onBlur?.(ev);\n internalState.isFocused = false;\n internalState.moveCursorOnMouseUp = true;\n },\n [internalState, onBlur],\n );\n\n const handleMouseDown = React.useCallback(\n (ev: React.MouseEvent) => {\n onMouseDown?.(ev);\n if (!internalState.isFocused) {\n internalState.moveCursorOnMouseUp = true;\n }\n },\n [internalState, onMouseDown],\n );\n\n const handleMouseUp = React.useCallback(\n (ev: React.MouseEvent) => {\n onMouseUp?.(ev);\n // Move the cursor on mouseUp after focusing the textField\n if (internalState.moveCursorOnMouseUp) {\n internalState.moveCursorOnMouseUp = false;\n // Move the cursor position to the rightmost unfilled position\n for (let i = 0; i < internalState.maskCharData.length; i++) {\n if (!internalState.maskCharData[i].value) {\n setMaskCursorPosition(internalState.maskCharData[i].displayIndex);\n break;\n }\n }\n }\n },\n [internalState, onMouseUp],\n );\n\n const handleInputChange = React.useCallback(\n (ev: React.FormEvent, inputValue: string) => {\n if (internalState.changeSelectionData === null && textField.current) {\n internalState.changeSelectionData = {\n changeType: 'default',\n selectionStart: textField.current.selectionStart !== null ? textField.current.selectionStart : -1,\n selectionEnd: textField.current.selectionEnd !== null ? textField.current.selectionEnd : -1,\n };\n }\n if (!internalState.changeSelectionData) {\n return;\n }\n\n // The initial value of cursorPos does not matter\n let cursorPos = 0;\n const { changeType, selectionStart, selectionEnd } = internalState.changeSelectionData;\n\n if (changeType === 'textPasted') {\n const charsSelected = selectionEnd - selectionStart;\n const charCount = inputValue.length + charsSelected - displayValue.length;\n const startPos = selectionStart;\n const pastedString = inputValue.substr(startPos, charCount);\n\n // Clear any selected characters\n if (charsSelected) {\n internalState.maskCharData = clearRange(internalState.maskCharData, selectionStart, charsSelected);\n }\n cursorPos = insertString(internalState.maskCharData, startPos, pastedString);\n } else if (changeType === 'delete' || changeType === 'backspace') {\n // isDel is true If the characters are removed LTR, otherwise RTL\n const isDel = changeType === 'delete';\n const charCount = selectionEnd - selectionStart;\n\n if (charCount) {\n // charCount is > 0 if range was deleted\n internalState.maskCharData = clearRange(internalState.maskCharData, selectionStart, charCount);\n cursorPos = getRightFormatIndex(internalState.maskCharData, selectionStart);\n } else {\n // If charCount === 0, there was no selection and a single character was deleted\n if (isDel) {\n internalState.maskCharData = clearNext(internalState.maskCharData, selectionStart);\n cursorPos = getRightFormatIndex(internalState.maskCharData, selectionStart);\n } else {\n internalState.maskCharData = clearPrev(internalState.maskCharData, selectionStart);\n cursorPos = getLeftFormatIndex(internalState.maskCharData, selectionStart);\n }\n }\n } else if (inputValue.length > displayValue.length) {\n // This case is if the user added characters\n const charCount = inputValue.length - displayValue.length;\n const startPos = selectionEnd - charCount;\n const enteredString = inputValue.substr(startPos, charCount);\n\n cursorPos = insertString(internalState.maskCharData, startPos, enteredString);\n } else if (inputValue.length <= displayValue.length) {\n /**\n * This case is reached only if the user has selected a block of 1 or more\n * characters and input a character replacing the characters they've selected.\n */\n const charCount = 1;\n const selectCount = displayValue.length + charCount - inputValue.length;\n const startPos = selectionEnd - charCount;\n const enteredString = inputValue.substr(startPos, charCount);\n\n // Clear the selected range\n internalState.maskCharData = clearRange(internalState.maskCharData, startPos, selectCount);\n // Insert the printed character\n cursorPos = insertString(internalState.maskCharData, startPos, enteredString);\n }\n\n internalState.changeSelectionData = null;\n\n const newValue = getMaskDisplay(mask, internalState.maskCharData, maskChar);\n\n setDisplayValue(newValue);\n setMaskCursorPosition(cursorPos);\n\n // Perform onChange after input has been processed. Return value is expected to be the displayed text\n onChange?.(ev, newValue);\n },\n [displayValue.length, internalState, mask, maskChar, onChange],\n );\n\n const handleKeyDown = React.useCallback(\n (ev: React.KeyboardEvent) => {\n onKeyDown?.(ev);\n\n internalState.changeSelectionData = null;\n if (textField.current && textField.current.value) {\n const { keyCode, ctrlKey, metaKey } = ev;\n\n // Ignore ctrl and meta keydown\n if (ctrlKey || metaKey) {\n return;\n }\n\n // On backspace or delete, store the selection and the keyCode\n if (keyCode === KeyCodes.backspace || keyCode === KeyCodes.del) {\n const selectionStart = (ev.target as HTMLInputElement).selectionStart;\n const selectionEnd = (ev.target as HTMLInputElement).selectionEnd;\n\n // Check if backspace or delete press is valid.\n if (\n !(keyCode === KeyCodes.backspace && selectionEnd && selectionEnd > 0) &&\n !(keyCode === KeyCodes.del && selectionStart !== null && selectionStart < textField.current.value.length)\n ) {\n return;\n }\n\n internalState.changeSelectionData = {\n changeType: keyCode === KeyCodes.backspace ? 'backspace' : 'delete',\n selectionStart: selectionStart !== null ? selectionStart : -1,\n selectionEnd: selectionEnd !== null ? selectionEnd : -1,\n };\n }\n }\n },\n [internalState, onKeyDown],\n );\n\n const handlePaste = React.useCallback(\n (ev: React.ClipboardEvent) => {\n onPaste?.(ev);\n\n const selectionStart = (ev.target as HTMLInputElement).selectionStart;\n const selectionEnd = (ev.target as HTMLInputElement).selectionEnd;\n // Store the paste selection range\n internalState.changeSelectionData = {\n changeType: 'textPasted',\n selectionStart: selectionStart !== null ? selectionStart : -1,\n selectionEnd: selectionEnd !== null ? selectionEnd : -1,\n };\n },\n [internalState, onPaste],\n );\n\n // Updates the display value if mask or value props change.\n React.useEffect(() => {\n internalState.maskCharData = parseMask(mask, maskFormat);\n value !== undefined && setValue(value);\n setDisplayValue(getMaskDisplay(mask, internalState.maskCharData, maskChar));\n // eslint-disable-next-line react-hooks/exhaustive-deps -- Should only update when mask or value changes.\n }, [mask, value]);\n\n // Run before browser paint to avoid flickering from selection reset.\n // eslint-disable-next-line no-restricted-properties\n React.useLayoutEffect(() => {\n // Move the cursor to position before paint.\n if (maskCursorPosition !== undefined && textField.current) {\n textField.current.setSelectionRange(maskCursorPosition, maskCursorPosition);\n }\n }, [maskCursorPosition]);\n\n // Run after browser paint.\n React.useEffect(() => {\n // Move the cursor to the start of the mask format after values update.\n if (internalState.isFocused && maskCursorPosition !== undefined && textField.current) {\n textField.current.setSelectionRange(maskCursorPosition, maskCursorPosition);\n }\n });\n\n useComponentRef(componentRef, internalState, textField);\n\n return (\n \n );\n});\nMaskedTextField.displayName = COMPONENT_NAME;\n","import { keyframes } from '@fluentui/merge-styles';\n\nconst fadeInAnimationName: string = keyframes({\n from: { opacity: 0 },\n to: { opacity: 1 },\n});\n\nconst fadeOutAnimationName: string = keyframes({\n from: { opacity: 1 },\n to: { opacity: 0 },\n});\n\nconst scaleDownInAnimationName: string = keyframes({\n from: { transform: 'scale3d(1.15, 1.15, 1)' },\n to: { transform: 'scale3d(1, 1, 1)' },\n});\n\nconst scaleDownOutAnimationName: string = keyframes({\n from: { transform: 'scale3d(1, 1, 1)' },\n to: { transform: 'scale3d(0.9, 0.9, 1)' },\n});\n\nconst slideLeftOutAnimationName: string = keyframes({\n from: { transform: 'translate3d(0, 0, 0)' },\n to: { transform: 'translate3d(-48px, 0, 0)' },\n});\n\nconst slideRightOutAnimationName: string = keyframes({\n from: { transform: 'translate3d(0, 0, 0)' },\n to: { transform: 'translate3d(48px, 0, 0)' },\n});\n\nconst slideLeftInAnimationName: string = keyframes({\n from: { transform: 'translate3d(48px, 0, 0)' },\n to: { transform: 'translate3d(0, 0, 0)' },\n});\n\nconst slideRightInAnimationName: string = keyframes({\n from: { transform: 'translate3d(-48px, 0, 0)' },\n to: { transform: 'translate3d(0, 0, 0)' },\n});\n\nconst slideUpOutAnimationName: string = keyframes({\n from: { transform: 'translate3d(0, 0, 0)' },\n to: { transform: 'translate3d(0, -48px, 0)' },\n});\n\nconst slideDownOutAnimationName: string = keyframes({\n from: { transform: 'translate3d(0, 0, 0)' },\n to: { transform: 'translate3d(0, 48px, 0)' },\n});\n\nconst slideUpInAnimationName: string = keyframes({\n from: { transform: 'translate3d(0, 48px, 0)' },\n to: { transform: 'translate3d(0, 0, 0)' },\n});\n\nconst slideDownInAnimationName: string = keyframes({\n from: { transform: 'translate3d(0, -48px, 0)' },\n to: { transform: 'translate3d(0, 0, 0)' },\n});\n\nexport namespace MotionDurations {\n export const duration1 = '100ms';\n export const duration2 = '200ms';\n export const duration3 = '300ms';\n export const duration4 = '400ms';\n}\n\nexport namespace MotionTimings {\n export const accelerate = 'cubic-bezier(0.9, 0.1, 1, 0.2)';\n export const decelerate = 'cubic-bezier(0.1, 0.9, 0.2, 1)';\n export const linear = 'cubic-bezier(0, 0, 1, 1)';\n export const standard = 'cubic-bezier(0.8, 0, 0.2, 1)';\n}\n\nfunction _createAnimation(animationName: string, animationDuration: string, animationTimingFunction: string): string {\n return `${animationName} ${animationDuration} ${animationTimingFunction}`;\n}\n\nexport namespace MotionAnimations {\n export const fadeIn = _createAnimation(fadeInAnimationName, MotionDurations.duration1, MotionTimings.linear);\n export const fadeOut = _createAnimation(fadeOutAnimationName, MotionDurations.duration1, MotionTimings.linear);\n export const scaleDownIn = _createAnimation(\n scaleDownInAnimationName,\n MotionDurations.duration3,\n MotionTimings.decelerate,\n );\n export const scaleDownOut = _createAnimation(\n scaleDownOutAnimationName,\n MotionDurations.duration3,\n MotionTimings.decelerate,\n );\n export const slideLeftOut = _createAnimation(\n slideLeftOutAnimationName,\n MotionDurations.duration1,\n MotionTimings.accelerate,\n );\n export const slideRightOut = _createAnimation(\n slideRightOutAnimationName,\n MotionDurations.duration1,\n MotionTimings.accelerate,\n );\n export const slideLeftIn = _createAnimation(\n slideLeftInAnimationName,\n MotionDurations.duration1,\n MotionTimings.decelerate,\n );\n export const slideRightIn = _createAnimation(\n slideRightInAnimationName,\n MotionDurations.duration1,\n MotionTimings.decelerate,\n );\n export const slideUpOut = _createAnimation(\n slideUpOutAnimationName,\n MotionDurations.duration1,\n MotionTimings.accelerate,\n );\n export const slideDownOut = _createAnimation(\n slideDownOutAnimationName,\n MotionDurations.duration1,\n MotionTimings.accelerate,\n );\n export const slideUpIn = _createAnimation(\n slideUpInAnimationName,\n MotionDurations.duration1,\n MotionTimings.decelerate,\n );\n export const slideDownIn = _createAnimation(\n slideDownInAnimationName,\n MotionDurations.duration1,\n MotionTimings.decelerate,\n );\n}\n","import { createTheme } from './createTheme';\nimport { ITheme } from './types/ITheme';\n\nexport const FluentTheme: ITheme = createTheme({});\n","import { Theme } from '@fluentui/theme';\nimport * as React from 'react';\n\nexport const ThemeContext = React.createContext(undefined);\n","import { useContext } from 'react';\nimport { useCustomizationSettings } from '@fluentui/utilities';\nimport { ITheme, createTheme } from '@fluentui/theme';\nimport { ThemeContext } from './ThemeContext';\nimport { Theme } from '@fluentui/theme';\n\n/**\n * Get theme from CustomizerContext or Customizations singleton.\n */\nfunction useCompatTheme(): ITheme | undefined {\n return useCustomizationSettings(['theme']).theme;\n}\n\n/**\n * React hook for programmatically accessing the theme.\n */\nexport const useTheme = (): Theme => {\n const theme = useContext(ThemeContext);\n const legacyTheme = useCompatTheme();\n\n return theme || legacyTheme || createTheme({});\n};\n","import { StyleRenderer } from './types';\nimport {\n Stylesheet,\n mergeCssSets,\n fontFace as mergeFontFace,\n keyframes as mergeKeyframes,\n} from '@fluentui/merge-styles';\n\nlet _seed = 0;\n\nexport const mergeStylesRenderer: StyleRenderer = {\n reset: () => {\n // If the stylesheet reset call is made, invalidate the cache keys.\n Stylesheet.getInstance().onReset(() => _seed++);\n },\n\n getId: () => _seed,\n\n renderStyles: (styleSet, options) => {\n return mergeCssSets((Array.isArray(styleSet) ? styleSet : [styleSet]) as any, options) as any;\n },\n\n renderFontFace: (fontFace, options) => {\n return mergeFontFace(fontFace);\n },\n\n renderKeyframes: keyframes => {\n return mergeKeyframes(keyframes as any);\n },\n};\n","import { IStyle } from '@fluentui/style-utilities';\nimport { Theme } from '@fluentui/theme';\nimport { useTheme } from './useTheme';\nimport { useWindow } from '@fluentui/react-window-provider';\nimport { mergeStylesRenderer } from './styleRenderers/mergeStylesRenderer';\n\nconst graphGet = (graphNode: Map, path: any[]): any | undefined => {\n for (const key of path) {\n graphNode = graphNode.get(key);\n\n if (!graphNode) {\n return;\n }\n }\n\n return graphNode;\n};\n\nconst graphSet = (graphNode: Map, path: any[], value: any) => {\n for (let i = 0; i < path.length - 1; i++) {\n const key = path[i];\n\n let current = graphNode.get(key);\n\n if (!current) {\n current = new Map();\n\n graphNode.set(key, current);\n }\n\n graphNode = current;\n }\n\n graphNode.set(path[path.length - 1], value);\n};\n\n/** Options that can be provided to the hook generated by `makeStyles`. */\nexport type UseStylesOptions = {\n theme?: Theme;\n};\n\n/**\n * Registers a css object, optionally as a function of the theme.\n *\n * @param styleOrFunction - Either a css javascript object, or a function which takes in `ITheme`\n * and returns a css javascript object.\n */\nexport function makeStyles(\n styleOrFunction: TStyleSet | ((theme: Theme) => TStyleSet),\n): (options?: UseStylesOptions) => { [key in keyof TStyleSet]: string } {\n // Create graph of inputs to map to output.\n const graph = new Map();\n\n return (options: UseStylesOptions = {}) => {\n let { theme } = options;\n const win = useWindow();\n const contextualTheme = useTheme();\n\n theme = theme || contextualTheme;\n const renderer = mergeStylesRenderer;\n\n const id = renderer.getId();\n const isStyleFunction = typeof styleOrFunction === 'function';\n const path = isStyleFunction ? [id, win, theme] : [id, win];\n let value = graphGet(graph, path);\n\n if (!value) {\n const styles = isStyleFunction ? (styleOrFunction as (theme: Theme) => TStyleSet)(theme!) : styleOrFunction;\n\n value = mergeStylesRenderer.renderStyles(styles, { targetWindow: win, rtl: !!theme!.rtl });\n graphSet(graph, path, value);\n }\n\n return value;\n };\n}\n","import * as React from 'react';\nimport { css } from '@fluentui/utilities';\nimport { useDocument } from '@fluentui/react-window-provider';\nimport { makeStyles } from './makeStyles';\nimport { ThemeProviderState } from './ThemeProvider.types';\nimport { Theme } from '@fluentui/theme';\n\nconst useThemeProviderStyles = makeStyles((theme: Theme) => {\n const { semanticColors, fonts } = theme;\n\n return {\n body: [\n {\n color: semanticColors.bodyText,\n background: semanticColors.bodyBackground,\n fontFamily: fonts.medium.fontFamily,\n fontWeight: fonts.medium.fontWeight,\n fontSize: fonts.medium.fontSize,\n MozOsxFontSmoothing: fonts.medium.MozOsxFontSmoothing,\n WebkitFontSmoothing: fonts.medium.WebkitFontSmoothing,\n },\n ],\n } as Record;\n});\n\n/**\n * Hook to add class to body element.\n */\nfunction useApplyClassToBody(state: ThemeProviderState, classesToApply: string[]): void {\n const { applyTo } = state;\n\n const applyToBody = applyTo === 'body';\n const body = useDocument()?.body;\n\n React.useEffect(() => {\n if (!applyToBody || !body) {\n return;\n }\n\n for (const classToApply of classesToApply) {\n if (classToApply) {\n body.classList.add(classToApply);\n }\n }\n\n return () => {\n if (!applyToBody || !body) {\n return;\n }\n\n for (const classToApply of classesToApply) {\n if (classToApply) {\n body.classList.remove(classToApply);\n }\n }\n };\n }, [applyToBody, body, classesToApply]);\n}\n\nexport function useThemeProviderClasses(state: ThemeProviderState): void {\n const classes = useThemeProviderStyles(state);\n const { className, applyTo } = state;\n\n useApplyClassToBody(state, [classes.root, classes.body]);\n\n state.className = css(className, classes.root, applyTo === 'element' && classes.body);\n}\n","import * as React from 'react';\nimport { ThemeProviderState } from './ThemeProvider.types';\nimport { CustomizerContext, getNativeElementProps, omit } from '@fluentui/utilities';\nimport { ThemeContext } from './ThemeContext';\n\nexport const renderThemeProvider = (state: ThemeProviderState) => {\n const { theme, customizerContext } = state;\n const Root = state.as || 'div';\n const rootProps = typeof state.as === 'string' ? getNativeElementProps(state.as, state) : omit(state, ['as']);\n\n return (\n \n \n \n \n \n );\n};\n","import { mergeThemes, PartialTheme, Theme } from '@fluentui/theme';\nimport * as React from 'react';\nimport { ThemeProviderState } from './ThemeProvider.types';\nimport { useTheme } from './useTheme';\nimport { getId, ICustomizerContext } from '@fluentui/utilities';\n\nconst themeToIdMap = new Map();\n\nconst getThemeId = (...themes: (Theme | PartialTheme | undefined)[]) => {\n const ids: string[] = [];\n\n for (const theme of themes) {\n if (theme) {\n let id = (theme as Theme).id || themeToIdMap.get(theme);\n\n if (!id) {\n id = getId('');\n themeToIdMap.set(theme, id);\n }\n ids.push(id);\n }\n }\n\n return ids.join('-');\n};\n\nexport const useThemeProviderState = (draftState: ThemeProviderState) => {\n const userTheme: PartialTheme = draftState.theme;\n\n // Pull contextual theme.\n const parentTheme = useTheme();\n\n // Update the incoming theme with a memoized version of the merged theme.\n const theme = (draftState.theme = React.useMemo(() => {\n const mergedTheme: Theme = mergeThemes(parentTheme, userTheme);\n\n mergedTheme.id = getThemeId(parentTheme, userTheme);\n\n return mergedTheme;\n }, [parentTheme, userTheme]));\n\n draftState.customizerContext = React.useMemo(\n () => ({\n customizations: {\n inCustomizerContext: true,\n settings: { theme },\n scopedSettings: theme.components || {},\n },\n }),\n [theme],\n );\n\n if (draftState.theme.rtl !== parentTheme.rtl) {\n draftState.dir = draftState.theme.rtl ? 'rtl' : 'ltr';\n }\n};\n","import * as React from 'react';\nimport { ThemeProviderProps } from './ThemeProvider.types';\nimport { useThemeProviderClasses } from './useThemeProviderClasses';\nimport { useThemeProvider } from './useThemeProvider';\nimport { useFocusRects } from '@fluentui/utilities';\nimport { useMergedRefs } from '@fluentui/react-hooks';\n\n/**\n * ThemeProvider, used for providing css variables and registering stylesheets.\n */\nexport const ThemeProvider: React.FunctionComponent = React.forwardRef<\n HTMLDivElement,\n ThemeProviderProps\n>((props: ThemeProviderProps, ref: React.Ref) => {\n const rootRef = useMergedRefs(ref, React.useRef(null));\n const { render, state } = useThemeProvider(props, {\n ref: rootRef,\n as: 'div',\n applyTo: 'element',\n });\n\n // Render styles.\n useThemeProviderClasses(state);\n\n // Apply focus rect class on key presses.\n useFocusRects(state.ref);\n\n // Return the rendered content.\n return render(state);\n});\n\nThemeProvider.displayName = 'ThemeProvider';\n","import { ThemeProviderProps, ThemeProviderState } from './ThemeProvider.types';\nimport { renderThemeProvider as render } from './renderThemeProvider';\nimport { useThemeProviderState } from './useThemeProviderState';\nimport { getPropsWithDefaults } from '@fluentui/utilities';\n\n/**\n * Returns the ThemeProvider render function and calculated state, given user input, ref, and\n * a set of default prop values.\n */\nexport const useThemeProvider = (props: ThemeProviderProps, defaultProps: ThemeProviderProps) => {\n const state = getPropsWithDefaults(defaultProps, props) as ThemeProviderState;\n\n // Apply changes to state.\n useThemeProviderState(state);\n\n return {\n state,\n render,\n };\n};\n","import { IColor } from '../../utilities/color/interfaces';\nimport { getColorFromString } from '../../utilities/color/getColorFromString';\nimport { isValidShade, getShade, getBackgroundShade } from '../../utilities/color/shades';\nimport { format } from '../../Utilities';\n\nimport { IThemeSlotRule } from './IThemeSlotRule';\nimport { IThemeRules } from './IThemeRules';\n\nexport class ThemeGenerator {\n /**\n * Sets an IThemeSlotRule to the given color and cascades it to the rest of the theme, updating other IThemeSlotRules\n * in the theme that inherit from that color.\n * @param isInverted - whether it's a dark theme or not, which affects the algorithm used to generate shades\n * @param isCustomization - should be true only if it's a user action, and indicates overwriting the slot's\n * inheritance (if any)\n * @param overwriteCustomColor - A slot could have a generated color based on its inheritance rules (isCustomized\n * is false), or a custom color based on user input (isCustomized is true). This bool tells us whether to override\n * existing customized colors.\n */\n public static setSlot(\n rule: IThemeSlotRule,\n color: string | IColor,\n isInverted = false,\n isCustomization = false,\n overwriteCustomColor = true,\n ) {\n if (!rule.color && rule.value) {\n // not a color rule\n return;\n }\n\n if (overwriteCustomColor) {\n let colorAsIColor: IColor;\n if (typeof color === 'string') {\n colorAsIColor = getColorFromString(color)!; // the ! is a lie here but we'll verify it in the next line\n if (!colorAsIColor) {\n throw new Error('color is invalid in setSlot(): ' + color);\n }\n } else {\n colorAsIColor = color;\n }\n ThemeGenerator._setSlot(rule, colorAsIColor, isInverted, isCustomization, overwriteCustomColor);\n } else if (rule.color) {\n ThemeGenerator._setSlot(rule, rule.color, isInverted, isCustomization, overwriteCustomColor);\n }\n }\n\n /**\n * Sets the color of each slot based on its rule. Slots that don't inherit must have a color already.\n * If this completes without error, then the theme is ready to use. (All slots will have a color.)\n * setSlot() can be called before this, but this must be called before getThemeAs*().\n * Does not override colors of rules where isCustomized is true (i.e. doesn't override existing customizations).\n */\n public static insureSlots(slotRules: IThemeRules, isInverted: boolean) {\n // Get all the \"root\" rules, the ones which don't inherit. Then \"set\" them to trigger updating dependent slots.\n for (const ruleName in slotRules) {\n if (slotRules.hasOwnProperty(ruleName)) {\n const rule: IThemeSlotRule = slotRules[ruleName];\n if (!rule.inherits && !rule.value) {\n if (!rule.color) {\n throw new Error('A color slot rule that does not inherit must provide its own color.');\n }\n ThemeGenerator._setSlot(rule, rule.color, isInverted, false, false);\n }\n }\n }\n }\n\n /**\n * Gets the JSON-formatted blob that describes the theme, usable with the REST request endpoints:\n * ```\n * { [theme slot name as string] : [color as string],\n * \"tokenName\": \"#f00f00\",\n * \"tokenName2\": \"#ba2ba2\",\n * ... }\n * ```\n */\n public static getThemeAsJson(slotRules: IThemeRules): any {\n const theme: any = {};\n for (const ruleName in slotRules) {\n if (slotRules.hasOwnProperty(ruleName)) {\n const rule: IThemeSlotRule = slotRules[ruleName];\n theme[rule.name] = rule.color ? rule.color.str : rule.value || '';\n }\n }\n return theme;\n }\n\n /**\n * Gets code-formatted load theme blob that can be copy and pasted.\n * Only used for the old theme designer, where loadTheme usage is acceptable,\n * unlike in the new theme designer.\n */\n public static getThemeAsCode(slotRules: IThemeRules): any {\n const output = 'loadTheme({\\n palette: {\\n';\n return ThemeGenerator._makeRemainingCode(output, slotRules);\n }\n\n /**\n * Gets code-formatted load theme blob, specifically for the new theme designer,\n * aka.ms/themedesigner. Shouldn't use loadTheme like the old theme designer since it's deprecated.\n * We want to use the theme object from createTheme and use the Customizations.applySettings API instead.\n */\n public static getThemeAsCodeWithCreateTheme(slotRules: IThemeRules): any {\n const output = 'const myTheme = createTheme({\\n palette: {\\n';\n return ThemeGenerator._makeRemainingCode(output, slotRules);\n }\n\n /**\n * Gets the theme as a list of SASS variables that can be used in code\n * ```\n * $tokenName: \"[theme:tokenName, default:#f00f00]\";\n * $tokenName2: \"[theme:tokenName2, default:#ba2ba2]\";\n * ...\n * ```\n */\n public static getThemeAsSass(slotRules: IThemeRules): any {\n const sassVarTemplate = '${0}Color: \"[theme: {1}, default: {2}]\";\\n';\n let output = '';\n\n for (const ruleName in slotRules) {\n if (slotRules.hasOwnProperty(ruleName)) {\n const rule: IThemeSlotRule = slotRules[ruleName];\n const camelCasedName = rule.name.charAt(0).toLowerCase() + rule.name.slice(1);\n output += format(\n sassVarTemplate,\n camelCasedName,\n camelCasedName,\n rule.color ? rule.color.str : rule.value || '',\n );\n }\n }\n return output;\n }\n\n /**\n * Gets the theme formatted for PowerShell scripts\n * ```\n * @{\n * \"tokenName\" = \"#f00f00\";\n * \"tokenName2\" = \"#ba2ba2\";\n * ...\n * }\n * ```\n */\n public static getThemeForPowerShell(slotRules: IThemeRules): any {\n const psVarTemplate = '\"{0}\" = \"{1}\";\\n';\n let output = '';\n\n for (const ruleName in slotRules) {\n if (slotRules.hasOwnProperty(ruleName)) {\n const rule: IThemeSlotRule = slotRules[ruleName];\n if (rule.value) {\n // skip this one, it's not a color\n continue;\n }\n const camelCasedName = rule.name.charAt(0).toLowerCase() + rule.name.slice(1);\n let outputColor = rule.color ? '#' + rule.color.hex : rule.value || '';\n // powershell endpoint uses the RGBA format\n if (rule.color && rule.color.a && rule.color.a !== 100) {\n outputColor += String(rule.color.a.toString(16));\n }\n output += format(psVarTemplate, camelCasedName, outputColor);\n }\n }\n return '@{\\n' + output + '}';\n }\n\n /**\n * Sets the given slot's color to the appropriate color, shading it if necessary.\n * Then, iterates through all other rules (that are this rule's dependents) to update them accordingly.\n * @param isCustomization - If true, it's a user-provided color, which should be to that raw color.\n * If false, the rule it's inheriting from changed, so updated using asShade.\n */\n private static _setSlot(\n rule: IThemeSlotRule,\n color: IColor,\n isInverted: boolean,\n isCustomization: boolean,\n overwriteCustomColor = true,\n ) {\n if (!rule.color && rule.value) {\n // not a color rule\n return;\n }\n\n if (overwriteCustomColor || !rule.color || !rule.isCustomized || !rule.inherits) {\n // set the rule's color under these conditions\n if (\n (overwriteCustomColor || !rule.isCustomized) &&\n !isCustomization &&\n rule.inherits &&\n isValidShade(rule.asShade)\n ) {\n // it's inheriting by shade\n if (rule.isBackgroundShade) {\n rule.color = getBackgroundShade(color, rule.asShade!, isInverted)!;\n } else {\n rule.color = getShade(color, rule.asShade!, isInverted)!;\n }\n rule.isCustomized = false;\n } else {\n rule.color = color;\n rule.isCustomized = true;\n }\n\n // then update dependent colors\n for (const ruleToUpdate of rule.dependentRules) {\n ThemeGenerator._setSlot(ruleToUpdate, rule.color, isInverted, false, overwriteCustomColor);\n }\n }\n }\n\n /**\n * Makes the rest of the code that's used for the load theme blob in the exported codepens of\n * both the older sharepoint-specific theme designer and the new theme designer. Takes in\n * theme rules and converts them to format fitting a list of palette colors and their values.\n * Resulting output looks like:\n * ```\n * const _theme = createTheme({\n * palette: {\n * themePrimary: '#0078d4',\n * themeLighterAlt: '#f3f9fd',\n * ...\n * }});\n * ```\n * The first line is loadTheme instead of createTheme for the old sharepoint theme designer.\n */\n private static _makeRemainingCode(output: string, slotRules: IThemeRules) {\n const attributeTemplate = \" {0}: '{1}',\\n\";\n for (const ruleName in slotRules) {\n if (slotRules.hasOwnProperty(ruleName)) {\n const rule: IThemeSlotRule = slotRules[ruleName];\n const camelCasedName = rule.name.charAt(0).toLowerCase() + rule.name.slice(1);\n const outputColor = rule.color ? '#' + rule.color.hex : rule.value || '';\n output += format(attributeTemplate, camelCasedName, outputColor);\n }\n }\n output += ' }});';\n return output;\n }\n}\n","import { Shade } from '../../utilities/color/shades';\nimport { getColorFromString } from '../../utilities/color/getColorFromString';\nimport { mapEnumByName } from '../../Utilities';\n\nimport { IThemeRules } from './IThemeRules';\n\n/* This is the set of rules for our default theme.\n We start with three base slots, defining the background, foreground (text), and\n primary color (sometimes called theme color). Each Fabric slot is generated from\n shades (or tints) of one of those three, creating the Fabric palette.\n Then, we have semantic slots, the new thing intended to eventually replace the\n Fabric palette. The semantic slots inherit from the Fabric palette. */\n\n/* The most minimal set of slots we start with. All other ones can be generated based on rules.\n * This is not so much an enum as it is a list. The enum is used to insure \"type\"-safety.\n * For now, we are only dealing with color. */\nexport enum BaseSlots {\n primaryColor,\n backgroundColor,\n foregroundColor,\n}\n\n/* The original Fabric palette, only for back-compat. */\nexport enum FabricSlots {\n themePrimary, // BaseSlots.primaryColor, Shade[Shade.Unshaded]);\n themeLighterAlt, // BaseSlots.primaryColor, Shade[Shade.Shade1]);\n themeLighter, // BaseSlots.primaryColor, Shade[Shade.Shade2]);\n themeLight, // BaseSlots.primaryColor, Shade[Shade.Shade3]);\n themeTertiary, // BaseSlots.primaryColor, Shade[Shade.Shade4]);\n themeSecondary, // BaseSlots.primaryColor, Shade[Shade.Shade5]);\n themeDarkAlt, // BaseSlots.primaryColor, Shade[Shade.Shade6]);\n themeDark, // BaseSlots.primaryColor, Shade[Shade.Shade7]);\n themeDarker, // BaseSlots.primaryColor, Shade[Shade.Shade8]);\n\n neutralLighterAlt, // BaseSlots.backgroundColor, Shade[Shade.Shade1]);\n neutralLighter, // BaseSlots.backgroundColor, Shade[Shade.Shade2]);\n neutralLight, // BaseSlots.backgroundColor, Shade[Shade.Shade3]);\n neutralQuaternaryAlt, // BaseSlots.backgroundColor, Shade[Shade.Shade4]);\n neutralQuaternary, // BaseSlots.backgroundColor, Shade[Shade.Shade5]);\n neutralTertiaryAlt, // BaseSlots.backgroundColor, Shade[Shade.Shade6]); // bg6 or fg2\n neutralTertiary, // BaseSlots.foregroundColor, Shade[Shade.Shade3]);\n // deprecated: neutralSecondaryAlt, // BaseSlots.foregroundColor, Shade[Shade.Shade4]);\n neutralSecondary, // BaseSlots.foregroundColor, Shade[Shade.Shade5]);\n neutralPrimaryAlt, // BaseSlots.foregroundColor, Shade[Shade.Shade6]);\n neutralPrimary, // BaseSlots.foregroundColor, Shade[Shade.Unshaded]);\n neutralDark, // BaseSlots.foregroundColor, Shade[Shade.Shade7]);\n\n black, // BaseSlots.foregroundColor, Shade[Shade.Shade8]);\n white, // BaseSlots.backgroundColor, Shade[Shade.Unshaded]);\n}\n\n/* List of all the semantic color slots for this theme.\n * This is not so much an enum as it is a list. The enum is used to insure \"type\"-safety. */\nexport enum SemanticColorSlots {\n bodyBackground,\n bodyText,\n disabledBackground,\n disabledText,\n}\n\nexport function themeRulesStandardCreator(): IThemeRules {\n const slotRules: IThemeRules = {};\n\n /*** BASE COLORS and their SHADES */\n // iterate through each base slot and make the SlotRules for those\n mapEnumByName(BaseSlots, (baseSlot: string) => {\n // first make the SlotRule for the unshaded base Color\n slotRules[baseSlot] = {\n name: baseSlot,\n isCustomized: true,\n dependentRules: [],\n };\n\n // then make a rule for each shade of this base color, but skip unshaded\n mapEnumByName(Shade, (shadeName: string, shadeValue: Shade) => {\n if (shadeName === Shade[Shade.Unshaded]) {\n return;\n }\n const inherits = slotRules[baseSlot];\n const thisSlotRule = {\n name: baseSlot + shadeName,\n inherits: slotRules[baseSlot],\n asShade: shadeValue,\n isCustomized: false,\n isBackgroundShade: baseSlot === BaseSlots[BaseSlots.backgroundColor] ? true : false,\n dependentRules: [],\n };\n slotRules[baseSlot + shadeName] = thisSlotRule;\n inherits.dependentRules.push(thisSlotRule);\n\n return undefined;\n });\n\n return undefined;\n });\n\n // set default colors for the base colors\n slotRules[BaseSlots[BaseSlots.primaryColor]].color = getColorFromString('#0078d4');\n slotRules[BaseSlots[BaseSlots.backgroundColor]].color = getColorFromString('#ffffff');\n slotRules[BaseSlots[BaseSlots.foregroundColor]].color = getColorFromString('#323130');\n\n function _makeFabricSlotRule(\n slotName: string,\n inheritedBase: BaseSlots,\n inheritedShade: Shade,\n isBackgroundShade = false,\n ): void {\n const inherits = slotRules[BaseSlots[inheritedBase]];\n const thisSlotRule = {\n name: slotName,\n inherits: inherits,\n asShade: inheritedShade,\n isCustomized: false,\n isBackgroundShade: isBackgroundShade,\n dependentRules: [],\n };\n slotRules[slotName] = thisSlotRule;\n inherits.dependentRules.push(thisSlotRule);\n }\n _makeFabricSlotRule(FabricSlots[FabricSlots.themePrimary], BaseSlots.primaryColor, Shade.Unshaded);\n _makeFabricSlotRule(FabricSlots[FabricSlots.themeLighterAlt], BaseSlots.primaryColor, Shade.Shade1);\n _makeFabricSlotRule(FabricSlots[FabricSlots.themeLighter], BaseSlots.primaryColor, Shade.Shade2);\n _makeFabricSlotRule(FabricSlots[FabricSlots.themeLight], BaseSlots.primaryColor, Shade.Shade3);\n _makeFabricSlotRule(FabricSlots[FabricSlots.themeTertiary], BaseSlots.primaryColor, Shade.Shade4);\n _makeFabricSlotRule(FabricSlots[FabricSlots.themeSecondary], BaseSlots.primaryColor, Shade.Shade5);\n _makeFabricSlotRule(FabricSlots[FabricSlots.themeDarkAlt], BaseSlots.primaryColor, Shade.Shade6);\n _makeFabricSlotRule(FabricSlots[FabricSlots.themeDark], BaseSlots.primaryColor, Shade.Shade7);\n _makeFabricSlotRule(FabricSlots[FabricSlots.themeDarker], BaseSlots.primaryColor, Shade.Shade8);\n\n _makeFabricSlotRule(FabricSlots[FabricSlots.neutralLighterAlt], BaseSlots.backgroundColor, Shade.Shade1, true);\n _makeFabricSlotRule(FabricSlots[FabricSlots.neutralLighter], BaseSlots.backgroundColor, Shade.Shade2, true);\n _makeFabricSlotRule(FabricSlots[FabricSlots.neutralLight], BaseSlots.backgroundColor, Shade.Shade3, true);\n _makeFabricSlotRule(FabricSlots[FabricSlots.neutralQuaternaryAlt], BaseSlots.backgroundColor, Shade.Shade4, true);\n _makeFabricSlotRule(FabricSlots[FabricSlots.neutralQuaternary], BaseSlots.backgroundColor, Shade.Shade5, true);\n // bg6 or fg2\n _makeFabricSlotRule(FabricSlots[FabricSlots.neutralTertiaryAlt], BaseSlots.backgroundColor, Shade.Shade6, true);\n _makeFabricSlotRule(FabricSlots[FabricSlots.neutralTertiary], BaseSlots.foregroundColor, Shade.Shade3);\n _makeFabricSlotRule(FabricSlots[FabricSlots.neutralSecondary], BaseSlots.foregroundColor, Shade.Shade4);\n _makeFabricSlotRule(FabricSlots[FabricSlots.neutralPrimaryAlt], BaseSlots.foregroundColor, Shade.Shade5);\n _makeFabricSlotRule(FabricSlots[FabricSlots.neutralPrimary], BaseSlots.foregroundColor, Shade.Unshaded);\n _makeFabricSlotRule(FabricSlots[FabricSlots.neutralDark], BaseSlots.foregroundColor, Shade.Shade7);\n\n _makeFabricSlotRule(FabricSlots[FabricSlots.black], BaseSlots.foregroundColor, Shade.Shade8);\n _makeFabricSlotRule(FabricSlots[FabricSlots.white], BaseSlots.backgroundColor, Shade.Unshaded, true);\n\n slotRules[FabricSlots[FabricSlots.neutralLighterAlt]].color = getColorFromString('#faf9f8');\n slotRules[FabricSlots[FabricSlots.neutralLighter]].color = getColorFromString('#f3f2f1');\n slotRules[FabricSlots[FabricSlots.neutralLight]].color = getColorFromString('#edebe9');\n slotRules[FabricSlots[FabricSlots.neutralQuaternaryAlt]].color = getColorFromString('#e1dfdd');\n slotRules[FabricSlots[FabricSlots.neutralDark]].color = getColorFromString('#201f1e');\n slotRules[FabricSlots[FabricSlots.neutralTertiaryAlt]].color = getColorFromString('#c8c6c4');\n\n slotRules[FabricSlots[FabricSlots.black]].color = getColorFromString('#000000');\n slotRules[FabricSlots[FabricSlots.neutralDark]].color = getColorFromString('#201f1e');\n slotRules[FabricSlots[FabricSlots.neutralPrimaryAlt]].color = getColorFromString('#3b3a39');\n slotRules[FabricSlots[FabricSlots.neutralSecondary]].color = getColorFromString('#605e5c');\n slotRules[FabricSlots[FabricSlots.neutralTertiary]].color = getColorFromString('#a19f9d');\n slotRules[FabricSlots[FabricSlots.white]].color = getColorFromString('#ffffff');\n\n slotRules[FabricSlots[FabricSlots.themeDarker]].color = getColorFromString('#004578');\n slotRules[FabricSlots[FabricSlots.themeDark]].color = getColorFromString('#005a9e');\n slotRules[FabricSlots[FabricSlots.themeDarkAlt]].color = getColorFromString('#106ebe');\n slotRules[FabricSlots[FabricSlots.themeSecondary]].color = getColorFromString('#2b88d8');\n slotRules[FabricSlots[FabricSlots.themeTertiary]].color = getColorFromString('#71afe5');\n slotRules[FabricSlots[FabricSlots.themeLight]].color = getColorFromString('#c7e0f4');\n slotRules[FabricSlots[FabricSlots.themeLighter]].color = getColorFromString('#deecf9');\n slotRules[FabricSlots[FabricSlots.themeLighterAlt]].color = getColorFromString('#eff6fc');\n\n slotRules[FabricSlots[FabricSlots.neutralLighterAlt]].isCustomized = true;\n slotRules[FabricSlots[FabricSlots.neutralLighter]].isCustomized = true;\n slotRules[FabricSlots[FabricSlots.neutralLight]].isCustomized = true;\n slotRules[FabricSlots[FabricSlots.neutralQuaternaryAlt]].isCustomized = true;\n slotRules[FabricSlots[FabricSlots.neutralDark]].isCustomized = true;\n slotRules[FabricSlots[FabricSlots.neutralTertiaryAlt]].isCustomized = true;\n\n slotRules[FabricSlots[FabricSlots.black]].isCustomized = true;\n slotRules[FabricSlots[FabricSlots.neutralDark]].isCustomized = true;\n slotRules[FabricSlots[FabricSlots.neutralPrimaryAlt]].isCustomized = true;\n slotRules[FabricSlots[FabricSlots.neutralSecondary]].isCustomized = true;\n slotRules[FabricSlots[FabricSlots.neutralTertiary]].isCustomized = true;\n slotRules[FabricSlots[FabricSlots.white]].isCustomized = true;\n\n slotRules[FabricSlots[FabricSlots.themeDarker]].isCustomized = true;\n slotRules[FabricSlots[FabricSlots.themeDark]].isCustomized = true;\n slotRules[FabricSlots[FabricSlots.themeDarkAlt]].isCustomized = true;\n slotRules[FabricSlots[FabricSlots.themePrimary]].isCustomized = true;\n slotRules[FabricSlots[FabricSlots.themeSecondary]].isCustomized = true;\n slotRules[FabricSlots[FabricSlots.themeTertiary]].isCustomized = true;\n slotRules[FabricSlots[FabricSlots.themeLight]].isCustomized = true;\n slotRules[FabricSlots[FabricSlots.themeLighter]].isCustomized = true;\n slotRules[FabricSlots[FabricSlots.themeLighterAlt]].isCustomized = true;\n\n return slotRules;\n}\n","import { TimeConstants } from '../dateValues/timeConstants';\n\n/**\n * Returns a date offset from the given date by the specified number of minutes.\n * @param date - The origin date\n * @param minutes - The number of minutes to offset. 'minutes' can be negative.\n * @returns A new Date object offset from the origin date by the given number of minutes\n */\nexport const addMinutes = (date: Date, minutes: number): Date => {\n const result = new Date(date.getTime());\n result.setTime(result.getTime() + minutes * TimeConstants.MinutesInOneHour * TimeConstants.MillisecondsIn1Sec);\n return result;\n};\n\n/**\n * Rounds the date's minute up to the next available increment. For example, if `date` has time 1:21\n * and `increments` is 5, the resulting time will be 1:25.\n * @param date - Date to ceil minutes\n * @param increments - Time increments\n * @returns Date with ceiled minute\n */\nexport const ceilMinuteToIncrement = (date: Date, increments: number) => {\n const result = new Date(date.getTime());\n let minute = result.getMinutes();\n if (TimeConstants.MinutesInOneHour % increments) {\n result.setMinutes(0);\n } else {\n const times = TimeConstants.MinutesInOneHour / increments;\n for (let i = 1; i <= times; i++) {\n if (minute > increments * (i - 1) && minute <= increments * i) {\n minute = increments * i;\n break;\n }\n }\n result.setMinutes(minute);\n }\n return result;\n};\n","import * as React from 'react';\nimport { KeyCodes } from '../../Utilities';\nimport { TimeConstants, addMinutes, formatTimeString, ceilMinuteToIncrement } from '@fluentui/date-time-utilities';\nimport { ComboBox, IComboBox, IComboBoxOption } from '../../ComboBox';\nimport { ITimePickerProps, ITimeRange, ITimePickerStrings } from './TimePicker.types';\n\nconst REGEX_SHOW_SECONDS_HOUR_12 = /((1[0-2]|0?[1-9]):([0-5][0-9]):(?:[0-5]\\d) ?([AaPp][Mm]))$/;\nconst REGEX_HIDE_SECONDS_HOUR_12 = /((1[0-2]|0?[1-9]):([0-5][0-9]) ?([AaPp][Mm]))$/;\nconst REGEX_SHOW_SECONDS_HOUR_24 = /([0-9]|0[0-9]|1[0-9]|2[0-3]):(?:[0-5]\\d):(?:[0-5]\\d)$/;\nconst REGEX_HIDE_SECONDS_HOUR_24 = /([0-9]|0[0-9]|1[0-9]|2[0-3]):(?:[0-5]\\d)$/;\n\nconst TIME_LOWER_BOUND = 0;\nconst TIME_UPPER_BOUND = 23;\n\nconst getDefaultStrings = (useHour12: boolean, showSeconds: boolean): ITimePickerStrings => {\n let errorMessageToDisplay = '';\n const hourUnits = useHour12 ? '12-hour' : '24-hour';\n showSeconds\n ? (errorMessageToDisplay = `TimePicker format must be valid and in the ${hourUnits} ` + `format hh:mm:ss A.`)\n : (errorMessageToDisplay = `TimePicker format must be valid and in the ${hourUnits} ` + `format hh:mm A.`);\n\n return {\n invalidInputErrorMessage: errorMessageToDisplay,\n };\n};\n\nexport const TimePicker: React.FunctionComponent = ({\n label,\n increments = 30,\n showSeconds = false,\n allowFreeform = true,\n useHour12 = false,\n timeRange,\n strings = getDefaultStrings(useHour12, showSeconds),\n onFormatDate,\n onValidateUserInput,\n onChange,\n ...rest\n}: ITimePickerProps) => {\n const [userText, setUserText] = React.useState('');\n const [errorMessage, setErrorMessage] = React.useState('');\n\n const optionsCount = getDropdownOptionsCount(increments, timeRange);\n\n const timePickerOptions: IComboBoxOption[] = React.useMemo(() => {\n const optionsList = Array(optionsCount);\n for (let i = 0; i < optionsCount; i++) {\n optionsList[i] = 0;\n }\n const defaultTime = generateDefaultTime(increments, timeRange);\n\n return optionsList.map((_, index) => {\n const option = addMinutes(defaultTime, increments * index);\n option.setSeconds(0);\n const optionText = onFormatDate ? onFormatDate(option) : formatTimeString(option, showSeconds, useHour12);\n return {\n key: optionText,\n text: optionText,\n };\n });\n }, [timeRange, increments, optionsCount, showSeconds, onFormatDate, useHour12]);\n\n const [selectedKey, setSelectedKey] = React.useState(timePickerOptions[0].key);\n\n const onInputChange = React.useCallback(\n (event: React.FormEvent, option?: IComboBoxOption, index?: number, value?: string): void => {\n if (onChange) {\n onChange(event, option, index, value);\n }\n\n const validateUserInput = (userInput: string): string => {\n let errorMessageToDisplay = '';\n let regex: RegExp;\n if (useHour12) {\n regex = showSeconds ? REGEX_SHOW_SECONDS_HOUR_12 : REGEX_HIDE_SECONDS_HOUR_12;\n } else {\n regex = showSeconds ? REGEX_SHOW_SECONDS_HOUR_24 : REGEX_HIDE_SECONDS_HOUR_24;\n }\n if (!regex.test(userInput)) {\n errorMessageToDisplay = strings.invalidInputErrorMessage;\n }\n return errorMessageToDisplay;\n };\n\n const key = option?.key;\n let updatedUserText = '';\n let errorMessageToDisplay = '';\n if (value) {\n if (allowFreeform && !option) {\n if (!onFormatDate) {\n // Validate only if user did not add onFormatDate\n errorMessageToDisplay = validateUserInput(value);\n } else {\n // Use user provided validation if onFormatDate is provided\n if (onValidateUserInput) {\n errorMessageToDisplay = onValidateUserInput(value);\n }\n }\n }\n updatedUserText = value;\n } else if (option) {\n updatedUserText = option.text;\n }\n\n setErrorMessage(errorMessageToDisplay);\n setUserText(updatedUserText);\n setSelectedKey(key);\n },\n [\n allowFreeform,\n onFormatDate,\n onValidateUserInput,\n showSeconds,\n useHour12,\n onChange,\n strings.invalidInputErrorMessage,\n ],\n );\n\n const evaluatePressedKey = (event: React.KeyboardEvent) => {\n if (\n !onFormatDate &&\n // Only permit input of digits, space, colon, A/P/M characters\n !(\n (event.charCode >= KeyCodes.zero && event.charCode <= KeyCodes.colon) ||\n event.charCode === KeyCodes.space ||\n event.charCode === KeyCodes.a ||\n event.charCode === KeyCodes.m ||\n event.charCode === KeyCodes.p\n )\n ) {\n event.preventDefault();\n }\n };\n\n return (\n \n );\n};\nTimePicker.displayName = 'TimePicker';\n\nconst clampTimeRange = (timeRange: ITimeRange): ITimeRange => {\n return {\n start: Math.min(Math.max(timeRange.start, TIME_LOWER_BOUND), TIME_UPPER_BOUND),\n end: Math.min(Math.max(timeRange.end, TIME_LOWER_BOUND), TIME_UPPER_BOUND),\n };\n};\n\nconst generateDefaultTime = (increments: number, timeRange: ITimeRange | undefined) => {\n const newDefaultTime = new Date();\n if (timeRange) {\n const clampedTimeRange = clampTimeRange(timeRange);\n newDefaultTime.setHours(clampedTimeRange.start);\n }\n\n return ceilMinuteToIncrement(newDefaultTime, increments);\n};\n\nconst getDropdownOptionsCount = (increments: number, timeRange: ITimeRange | undefined) => {\n let hoursInRange = TimeConstants.HoursInOneDay;\n if (timeRange) {\n const clampedTimeRange = clampTimeRange(timeRange);\n if (clampedTimeRange.start > clampedTimeRange.end) {\n hoursInRange = TimeConstants.HoursInOneDay - timeRange.start - timeRange.end;\n } else if (timeRange.end > timeRange.start) {\n hoursInRange = timeRange.end - timeRange.start;\n }\n }\n return Math.floor((TimeConstants.MinutesInOneHour * hoursInRange) / increments);\n};\n","/**\n * Format a date object to a localized time string using the browser's default locale\n * @param date - Input date to format\n * @param showSeconds - Whether to show seconds in the formatted string\n * @param useHour12 - Whether to use 12-hour time\n */\nexport const formatTimeString = (date: Date, showSeconds?: boolean, useHour12?: boolean): string =>\n date.toLocaleTimeString([], {\n hour: 'numeric',\n minute: '2-digit',\n second: showSeconds ? '2-digit' : undefined,\n hour12: useHour12,\n });\n","import { IWeeklyDayPickerStrings, IWeeklyDayPickerNavigationIcons } from './WeeklyDayPicker.types';\nimport { DEFAULT_CALENDAR_STRINGS } from '@fluentui/date-time-utilities';\n\nexport const defaultWeeklyDayPickerStrings: IWeeklyDayPickerStrings = {\n ...DEFAULT_CALENDAR_STRINGS,\n prevWeekAriaLabel: 'Previous week',\n nextWeekAriaLabel: 'Next week',\n prevMonthAriaLabel: 'Go to previous month',\n nextMonthAriaLabel: 'Go to next month',\n prevYearAriaLabel: 'Go to previous year',\n nextYearAriaLabel: 'Go to next year',\n closeButtonAriaLabel: 'Close date picker',\n};\n\nexport const defaultWeeklyDayPickerNavigationIcons: IWeeklyDayPickerNavigationIcons = {\n leftNavigation: 'ChevronLeft',\n rightNavigation: 'ChevronRight',\n};\n","import * as React from 'react';\nimport { classNamesFunction, css, KeyCodes, getRTL, initializeComponentRef } from '@fluentui/utilities';\nimport { IProcessedStyleSet } from '@fluentui/style-utilities';\nimport { IWeeklyDayPickerProps, IWeeklyDayPickerStyleProps, IWeeklyDayPickerStyles } from './WeeklyDayPicker.types';\nimport { AnimationDirection } from '../Calendar/Calendar.types';\nimport { CalendarDayGrid } from '../CalendarDayGrid/CalendarDayGrid';\nimport { ICalendarDayGrid } from '../CalendarDayGrid/CalendarDayGrid.types';\nimport {\n compareDatePart,\n getStartDateOfWeek,\n addDays,\n addMonths,\n compareDates,\n FirstWeekOfYear,\n DateRangeType,\n DayOfWeek,\n DEFAULT_DATE_FORMATTING,\n} from '@fluentui/date-time-utilities';\nimport { Icon } from '../../Icon';\nimport { defaultWeeklyDayPickerStrings, defaultWeeklyDayPickerNavigationIcons } from './defaults';\n\nconst getClassNames = classNamesFunction();\n\nexport interface IWeeklyDayPickerState {\n /** The currently focused date in the week picker, but not necessarily selected */\n navigatedDate: Date;\n\n /** The currently selected date in the calendar */\n selectedDate: Date;\n\n /** Tracking whether we just toggled showFullMonth */\n previousShowFullMonth: boolean;\n\n /** Whether to animate veritcally or horizontally */\n animationDirection: AnimationDirection;\n}\n\nexport class WeeklyDayPickerBase extends React.Component {\n public static defaultProps: IWeeklyDayPickerProps = {\n onSelectDate: undefined,\n initialDate: undefined,\n today: new Date(),\n firstDayOfWeek: DayOfWeek.Sunday,\n strings: defaultWeeklyDayPickerStrings,\n navigationIcons: defaultWeeklyDayPickerNavigationIcons,\n dateTimeFormatter: DEFAULT_DATE_FORMATTING,\n animationDirection: AnimationDirection.Horizontal,\n };\n\n private _dayGrid = React.createRef();\n private _focusOnUpdate: boolean;\n private _initialTouchX: number | undefined;\n\n public static getDerivedStateFromProps(\n nextProps: Readonly,\n prevState: Readonly,\n ): Partial | null {\n const currentDate =\n nextProps.initialDate && !isNaN(nextProps.initialDate.getTime())\n ? nextProps.initialDate\n : nextProps.today || new Date();\n const showFullMonth = !!nextProps.showFullMonth;\n const newAnimationDirection =\n showFullMonth !== prevState.previousShowFullMonth ? AnimationDirection.Vertical : AnimationDirection.Horizontal;\n\n if (!compareDates(currentDate, prevState.selectedDate)) {\n return {\n selectedDate: currentDate,\n navigatedDate: currentDate,\n previousShowFullMonth: showFullMonth,\n animationDirection: newAnimationDirection,\n };\n }\n\n return {\n selectedDate: currentDate,\n navigatedDate: prevState.navigatedDate,\n previousShowFullMonth: showFullMonth,\n animationDirection: newAnimationDirection,\n };\n }\n\n public constructor(props: IWeeklyDayPickerProps) {\n super(props);\n\n initializeComponentRef(this);\n\n const currentDate =\n props.initialDate && !isNaN(props.initialDate.getTime()) ? props.initialDate : props.today || new Date();\n\n this.state = {\n selectedDate: currentDate,\n navigatedDate: currentDate,\n previousShowFullMonth: !!props.showFullMonth,\n animationDirection: props.animationDirection!,\n };\n this._focusOnUpdate = false;\n }\n\n public focus(): void {\n if (this._dayGrid && this._dayGrid.current) {\n this._dayGrid.current.focus();\n }\n }\n\n public render(): JSX.Element {\n const {\n strings,\n dateTimeFormatter,\n firstDayOfWeek,\n minDate,\n maxDate,\n restrictedDates,\n today,\n styles,\n theme,\n className,\n showFullMonth,\n weeksToShow,\n ...calendarDayGridProps\n } = this.props;\n\n const classNames = getClassNames(styles, {\n theme: theme!,\n className: className,\n });\n\n return (\n \n {this._renderPreviousWeekNavigationButton(classNames)}\n \n {this._renderNextWeekNavigationButton(classNames)}\n
      \n );\n }\n\n public componentDidUpdate(): void {\n if (this._focusOnUpdate) {\n this.focus();\n this._focusOnUpdate = false;\n }\n }\n\n private _onSelectDate = (date: Date): void => {\n const { onSelectDate } = this.props;\n\n // don't set the navigated date on selection because selection never causes navigation\n this.setState({\n selectedDate: date,\n });\n this._focusOnUpdate = true;\n\n if (onSelectDate) {\n onSelectDate(date);\n }\n };\n\n private _onNavigateDate = (date: Date, focusOnNavigatedDay: boolean): void => {\n const { onNavigateDate } = this.props;\n\n this.setState({\n navigatedDate: date,\n });\n this._focusOnUpdate = focusOnNavigatedDay;\n\n if (onNavigateDate) {\n onNavigateDate(date);\n }\n };\n\n private _renderPreviousWeekNavigationButton = (\n classNames: IProcessedStyleSet,\n ): JSX.Element => {\n const { minDate, firstDayOfWeek, navigationIcons } = this.props;\n const { navigatedDate } = this.state;\n const leftNavigationIcon = getRTL() ? navigationIcons!.rightNavigation : navigationIcons!.leftNavigation;\n\n // determine if previous week in bounds\n const prevWeekInBounds = minDate\n ? compareDatePart(minDate, getStartDateOfWeek(navigatedDate, firstDayOfWeek!)) < 0\n : true;\n\n return (\n \n \n \n );\n };\n\n private _renderNextWeekNavigationButton = (classNames: IProcessedStyleSet): JSX.Element => {\n const { maxDate, firstDayOfWeek, navigationIcons } = this.props;\n const { navigatedDate } = this.state;\n const rightNavigationIcon = getRTL() ? navigationIcons!.leftNavigation : navigationIcons!.rightNavigation;\n\n // determine if next week in bounds\n const nextWeekInBounds = maxDate\n ? compareDatePart(addDays(getStartDateOfWeek(navigatedDate, firstDayOfWeek!), 7), maxDate) < 0\n : true;\n\n return (\n \n \n \n );\n };\n\n private _onSelectPrevDateRange = () => {\n if (this.props.showFullMonth) {\n this._navigateDate(addMonths(this.state.navigatedDate, -1));\n } else {\n this._navigateDate(addDays(this.state.navigatedDate, -7));\n }\n };\n\n private _onSelectNextDateRange = () => {\n if (this.props.showFullMonth) {\n this._navigateDate(addMonths(this.state.navigatedDate, 1));\n } else {\n this._navigateDate(addDays(this.state.navigatedDate, 7));\n }\n };\n\n private _navigateDate = (date: Date) => {\n this.setState({\n navigatedDate: date,\n });\n if (this.props.onNavigateDate) {\n this.props.onNavigateDate(date);\n }\n };\n\n private _onWrapperKeyDown = (ev: React.KeyboardEvent) => {\n // eslint-disable-next-line deprecation/deprecation\n switch (ev.which) {\n case KeyCodes.enter:\n ev.preventDefault();\n break;\n\n case KeyCodes.backspace:\n ev.preventDefault();\n break;\n\n default:\n break;\n }\n };\n\n private _onButtonKeyDown = (callback: () => void): ((ev: React.KeyboardEvent) => void) => {\n return (ev: React.KeyboardEvent) => {\n // eslint-disable-next-line deprecation/deprecation\n switch (ev.which) {\n case KeyCodes.enter:\n callback();\n break;\n }\n };\n };\n\n private _onTouchStart = (ev: React.TouchEvent) => {\n const touch = ev.touches[0];\n if (touch) {\n this._initialTouchX = touch.clientX;\n }\n };\n\n private _onTouchMove = (ev: React.TouchEvent) => {\n const isRtl = getRTL();\n const touch = ev.touches[0];\n if (touch && this._initialTouchX !== undefined && touch.clientX !== this._initialTouchX) {\n if ((touch.clientX - this._initialTouchX) * (isRtl ? -1 : 1) < 0) {\n // swipe right\n this._onSelectNextDateRange();\n } else {\n // swipe left\n this._onSelectPrevDateRange();\n }\n this._initialTouchX = undefined;\n }\n };\n\n private _createPreviousWeekAriaLabel = () => {\n const { strings, showFullMonth, firstDayOfWeek } = this.props;\n const { navigatedDate } = this.state;\n\n let ariaLabel = undefined;\n if (showFullMonth && strings.prevMonthAriaLabel) {\n ariaLabel = strings.prevMonthAriaLabel + ' ' + strings.months[addMonths(navigatedDate!, -1).getMonth()];\n } else if (!showFullMonth && strings.prevWeekAriaLabel) {\n const firstDayOfPreviousWeek = getStartDateOfWeek(addDays(navigatedDate!, -7), firstDayOfWeek!);\n const lastDayOfPreviousWeek = addDays(firstDayOfPreviousWeek, 6);\n ariaLabel =\n strings.prevWeekAriaLabel + ' ' + this._formatDateRange(firstDayOfPreviousWeek, lastDayOfPreviousWeek);\n }\n return ariaLabel;\n };\n\n private _createNextWeekAriaLabel = () => {\n const { strings, showFullMonth, firstDayOfWeek } = this.props;\n const { navigatedDate } = this.state;\n\n let ariaLabel = undefined;\n if (showFullMonth && strings.nextMonthAriaLabel) {\n ariaLabel = strings.nextMonthAriaLabel + ' ' + strings.months[addMonths(navigatedDate!, 1).getMonth()];\n } else if (!showFullMonth && strings.nextWeekAriaLabel) {\n const firstDayOfNextWeek = getStartDateOfWeek(addDays(navigatedDate!, 7), firstDayOfWeek!);\n const lastDayOfNextWeek = addDays(firstDayOfNextWeek, 6);\n ariaLabel = strings.nextWeekAriaLabel + ' ' + this._formatDateRange(firstDayOfNextWeek, lastDayOfNextWeek);\n }\n return ariaLabel;\n };\n\n private _formatDateRange = (startDate: Date, endDate: Date) => {\n const { dateTimeFormatter, strings } = this.props;\n return `${dateTimeFormatter?.formatMonthDayYear(startDate, strings)} - ${dateTimeFormatter?.formatMonthDayYear(\n endDate,\n strings,\n )}`;\n };\n}\n","import { IWeeklyDayPickerStyleProps, IWeeklyDayPickerStyles } from './WeeklyDayPicker.types';\nimport { normalize, FontSizes, getFocusStyle, getGlobalClassNames } from '@fluentui/style-utilities';\nimport { IsFocusVisibleClassName } from '@fluentui/utilities';\n\nconst GlobalClassNames = {\n root: 'ms-WeeklyDayPicker-root',\n};\n\nexport const styles = (props: IWeeklyDayPickerStyleProps): IWeeklyDayPickerStyles => {\n const { className, theme } = props;\n const { palette } = theme;\n\n const classNames = getGlobalClassNames(GlobalClassNames, theme);\n\n return {\n root: [\n classNames.root,\n normalize,\n {\n width: 220,\n padding: 12,\n boxSizing: 'content-box',\n display: 'flex',\n alignItems: 'center',\n flexDirection: 'row',\n },\n className,\n ],\n dayButton: {\n borderRadius: '100%',\n },\n dayIsToday: {},\n dayCell: {\n borderRadius: '100%!important',\n },\n daySelected: {},\n navigationIconButton: [\n getFocusStyle(theme, { inset: 0 }),\n {\n width: 12,\n minWidth: 12,\n height: 0,\n overflow: 'hidden',\n padding: 0,\n margin: 0,\n border: 'none',\n display: 'flex',\n alignItems: 'center',\n backgroundColor: palette.neutralLighter,\n fontSize: FontSizes.small,\n fontFamily: 'inherit',\n selectors: {\n [`.${classNames.root}:hover &, .${IsFocusVisibleClassName} .${classNames.root}:focus &, ` +\n `.${IsFocusVisibleClassName} &:focus`]: {\n height: 53,\n minHeight: 12,\n overflow: 'initial',\n },\n [`.${IsFocusVisibleClassName} .${classNames.root}:focus-within &`]: {\n // edge does not recognize focus-within, so separate it out\n height: 53,\n minHeight: 12,\n overflow: 'initial',\n },\n '&:hover': {\n cursor: 'pointer',\n backgroundColor: palette.neutralLight,\n },\n '&:active': {\n backgroundColor: palette.neutralTertiary,\n },\n },\n },\n ],\n disabledStyle: {\n selectors: {\n '&, &:disabled, & button': {\n color: palette.neutralTertiaryAlt,\n pointerEvents: 'none',\n },\n },\n },\n };\n};\n","import * as React from 'react';\nimport { WeeklyDayPickerBase } from './WeeklyDayPicker.base';\nimport { styles } from './WeeklyDayPicker.styles';\nimport { styled } from '../../Utilities';\nimport { IWeeklyDayPickerProps } from './WeeklyDayPicker.types';\n\nexport const WeeklyDayPicker: React.FunctionComponent = styled(\n WeeklyDayPickerBase,\n styles,\n undefined,\n { scope: 'WeeklyDayPicker' },\n);\n","import { IDetailsRowStyleProps, IDetailsRowStyles, ICellStyleProps } from './DetailsRow.types';\nimport {\n AnimationClassNames,\n AnimationStyles,\n HighContrastSelector,\n IStyle,\n getFocusStyle,\n getGlobalClassNames,\n FontWeights,\n getHighContrastNoAdjustStyle,\n} from '../../Styling';\nimport { IsFocusVisibleClassName } from '../../Utilities';\n\nexport const DetailsRowGlobalClassNames = {\n root: 'ms-DetailsRow',\n // TODO: in Fabric 7.0 lowercase the 'Compact' for consistency across other components.\n compact: 'ms-DetailsList--Compact',\n cell: 'ms-DetailsRow-cell',\n cellAnimation: 'ms-DetailsRow-cellAnimation',\n cellCheck: 'ms-DetailsRow-cellCheck',\n check: 'ms-DetailsRow-check',\n cellMeasurer: 'ms-DetailsRow-cellMeasurer',\n listCellFirstChild: 'ms-List-cell:first-child',\n isContentUnselectable: 'is-contentUnselectable',\n isSelected: 'is-selected',\n isCheckVisible: 'is-check-visible',\n isRowHeader: 'is-row-header',\n fields: 'ms-DetailsRow-fields',\n};\nconst IsFocusableSelector = \"[data-is-focusable='true']\";\n\nexport const DEFAULT_CELL_STYLE_PROPS: ICellStyleProps = {\n cellLeftPadding: 12,\n cellRightPadding: 8,\n cellExtraRightPadding: 24,\n};\n\n// Source of default row heights to share.\nexport const DEFAULT_ROW_HEIGHTS = {\n rowHeight: 42,\n compactRowHeight: 32,\n};\n\n// Constant values\nconst values = {\n ...DEFAULT_ROW_HEIGHTS,\n rowVerticalPadding: 11,\n compactRowVerticalPadding: 6,\n};\n\nexport const getDetailsRowStyles = (props: IDetailsRowStyleProps): IDetailsRowStyles => {\n const {\n theme,\n isSelected,\n canSelect,\n droppingClassName,\n anySelected,\n isCheckVisible,\n checkboxCellClassName,\n compact,\n className,\n cellStyleProps = DEFAULT_CELL_STYLE_PROPS,\n enableUpdateAnimations,\n } = props;\n\n const { palette, fonts } = theme;\n const {\n neutralPrimary,\n white,\n neutralSecondary,\n neutralLighter,\n neutralLight,\n neutralDark,\n neutralQuaternaryAlt,\n } = palette;\n const { focusBorder } = theme.semanticColors;\n\n const classNames = getGlobalClassNames(DetailsRowGlobalClassNames, theme);\n\n const colors = {\n // Default\n defaultHeaderText: neutralPrimary,\n defaultMetaText: neutralSecondary,\n defaultBackground: white,\n\n // Default Hover\n defaultHoverHeaderText: neutralDark,\n defaultHoverMetaText: neutralPrimary,\n defaultHoverBackground: neutralLighter,\n\n // Selected\n selectedHeaderText: neutralDark,\n selectedMetaText: neutralPrimary,\n selectedBackground: neutralLight,\n\n // Selected Hover\n selectedHoverHeaderText: neutralDark,\n selectedHoverMetaText: neutralPrimary,\n selectedHoverBackground: neutralQuaternaryAlt,\n\n // Focus\n focusHeaderText: neutralDark,\n focusMetaText: neutralPrimary,\n focusBackground: neutralLight,\n focusHoverBackground: neutralQuaternaryAlt,\n };\n\n const rowHighContrastFocus = {\n top: 2,\n right: 2,\n bottom: 2,\n left: 2,\n };\n\n // Selected row styles\n const selectedStyles: IStyle = [\n getFocusStyle(theme, {\n inset: -1,\n borderColor: focusBorder,\n outlineColor: white,\n highContrastStyle: rowHighContrastFocus,\n }),\n classNames.isSelected,\n {\n color: colors.selectedMetaText,\n background: colors.selectedBackground,\n borderBottom: `1px solid ${white}`,\n selectors: {\n '&:before': {\n position: 'absolute',\n display: 'block',\n top: -1,\n height: 1,\n bottom: 0,\n left: 0,\n right: 0,\n content: '',\n borderTop: `1px solid ${white}`,\n },\n\n // Selected State hover\n '&:hover': {\n background: colors.selectedHoverBackground,\n color: colors.selectedHoverMetaText,\n selectors: {\n // Selected State hover meta cell\n [`.${classNames.cell} ${HighContrastSelector}`]: {\n color: 'HighlightText',\n selectors: {\n '> a': {\n color: 'HighlightText',\n },\n },\n },\n\n // Selected State hover Header cell\n [`.${classNames.isRowHeader}`]: {\n color: colors.selectedHoverHeaderText,\n selectors: {\n [HighContrastSelector]: {\n color: 'HighlightText',\n },\n },\n },\n\n // Ensure high-contrast mode overrides default hover background\n [HighContrastSelector]: {\n background: 'Highlight',\n },\n },\n },\n\n // Focus state\n '&:focus': {\n background: colors.focusBackground,\n selectors: {\n // Selected State hover meta cell\n [`.${classNames.cell}`]: {\n color: colors.focusMetaText,\n selectors: {\n [HighContrastSelector]: {\n color: 'HighlightText',\n selectors: {\n '> a': {\n color: 'HighlightText',\n },\n },\n },\n },\n },\n\n // Row header cell\n [`.${classNames.isRowHeader}`]: {\n color: colors.focusHeaderText,\n selectors: {\n [HighContrastSelector]: {\n color: 'HighlightText',\n },\n },\n },\n\n // Ensure high-contrast mode overrides default focus background\n [HighContrastSelector]: {\n background: 'Highlight',\n },\n },\n },\n\n [HighContrastSelector]: {\n background: 'Highlight',\n color: 'HighlightText',\n ...getHighContrastNoAdjustStyle(),\n selectors: {\n a: {\n color: 'HighlightText',\n },\n },\n },\n\n // Focus and hover state\n '&:focus:hover': {\n background: colors.focusHoverBackground,\n },\n },\n },\n ];\n\n const cannotSelectStyles: IStyle = [\n classNames.isContentUnselectable,\n {\n userSelect: 'none',\n cursor: 'default',\n },\n ];\n\n const rootCompactStyles: IStyle = {\n minHeight: values.compactRowHeight,\n border: 0,\n };\n\n const cellCompactStyles: IStyle = {\n minHeight: values.compactRowHeight,\n paddingTop: values.compactRowVerticalPadding,\n paddingBottom: values.compactRowVerticalPadding,\n paddingLeft: `${cellStyleProps.cellLeftPadding}px`,\n };\n\n const defaultCellStyles: IStyle = [\n getFocusStyle(theme, { inset: -1 }),\n classNames.cell,\n {\n display: 'inline-block',\n position: 'relative',\n boxSizing: 'border-box',\n minHeight: values.rowHeight,\n verticalAlign: 'top',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n paddingTop: values.rowVerticalPadding,\n paddingBottom: values.rowVerticalPadding,\n paddingLeft: `${cellStyleProps.cellLeftPadding}px`,\n selectors: {\n '& > button': {\n maxWidth: '100%',\n },\n\n [IsFocusableSelector]: getFocusStyle(theme, { inset: -1, borderColor: neutralSecondary, outlineColor: white }),\n },\n },\n\n isSelected && {\n selectors: {\n [HighContrastSelector]: {\n background: 'Highlight',\n color: 'HighlightText',\n ...getHighContrastNoAdjustStyle(),\n selectors: {\n a: {\n color: 'HighlightText',\n },\n },\n },\n },\n },\n\n compact && cellCompactStyles,\n ];\n\n return {\n root: [\n classNames.root,\n AnimationClassNames.fadeIn400,\n droppingClassName,\n theme.fonts.small,\n isCheckVisible && classNames.isCheckVisible,\n getFocusStyle(theme, { borderColor: focusBorder, outlineColor: white }),\n {\n borderBottom: `1px solid ${neutralLighter}`,\n background: colors.defaultBackground,\n color: colors.defaultMetaText,\n // This ensures that the row always tries to consume is minimum width and does not compress.\n display: 'inline-flex',\n minWidth: '100%',\n minHeight: values.rowHeight,\n whiteSpace: 'nowrap',\n padding: 0,\n boxSizing: 'border-box',\n verticalAlign: 'top',\n textAlign: 'left',\n selectors: {\n [`.${classNames.listCellFirstChild} &:before`]: {\n display: 'none',\n },\n\n '&:hover': {\n background: colors.defaultHoverBackground,\n color: colors.defaultHoverMetaText,\n selectors: {\n [`.${classNames.isRowHeader}`]: {\n color: colors.defaultHoverHeaderText,\n },\n },\n },\n\n [`&:hover .${classNames.check}`]: {\n opacity: 1,\n },\n\n [`.${IsFocusVisibleClassName} &:focus .${classNames.check}`]: {\n opacity: 1,\n },\n\n '.ms-GroupSpacer': {\n flexShrink: 0,\n flexGrow: 0,\n },\n },\n },\n isSelected && selectedStyles,\n !canSelect && cannotSelectStyles,\n compact && rootCompactStyles,\n className,\n ],\n\n cellUnpadded: {\n paddingRight: `${cellStyleProps.cellRightPadding}px`,\n },\n\n cellPadded: {\n paddingRight: `${cellStyleProps.cellExtraRightPadding + cellStyleProps.cellRightPadding}px`,\n selectors: {\n [`&.${classNames.cellCheck}`]: {\n paddingRight: 0,\n },\n },\n },\n\n cell: defaultCellStyles,\n cellAnimation: enableUpdateAnimations && AnimationStyles.slideLeftIn40,\n cellMeasurer: [\n classNames.cellMeasurer,\n {\n overflow: 'visible',\n whiteSpace: 'nowrap',\n },\n ],\n checkCell: [\n defaultCellStyles,\n classNames.cellCheck,\n checkboxCellClassName,\n {\n padding: 0,\n // Ensure that the check cell covers the top border of the cell.\n // This ensures the click target does not leave a spot which would\n // cause other items to be deselected.\n paddingTop: 1,\n marginTop: -1,\n flexShrink: 0,\n },\n ],\n checkCover: {\n position: 'absolute',\n top: -1,\n left: 0,\n bottom: 0,\n right: 0,\n display: anySelected ? 'block' : 'none',\n },\n fields: [\n classNames.fields,\n {\n display: 'flex',\n alignItems: 'stretch',\n },\n ],\n isRowHeader: [\n classNames.isRowHeader,\n {\n color: colors.defaultHeaderText,\n fontSize: fonts.medium.fontSize,\n },\n isSelected && {\n color: colors.selectedHeaderText,\n fontWeight: FontWeights.semibold,\n selectors: {\n [HighContrastSelector]: {\n color: 'HighlightText',\n },\n },\n },\n ],\n isMultiline: [\n defaultCellStyles,\n {\n whiteSpace: 'normal',\n wordBreak: 'break-word',\n textOverflow: 'clip',\n },\n ],\n check: [classNames.check],\n };\n};\n","export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}","import { assign } from './object';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\n/**\n * @internal\n */\nexport interface IEventRecord {\n target: any;\n eventName: string;\n parent: any;\n callback: (args?: any) => void;\n elementCallback?: (...args: any[]) => void;\n objectCallback?: (args?: any) => void;\n options?: boolean | AddEventListenerOptions;\n}\n\n/**\n * @internal\n */\nexport interface IEventRecordsByName {\n [eventName: string]: IEventRecordList;\n}\n\n/**\n * @internal\n */\nexport interface IEventRecordList {\n [id: string]: IEventRecord[] | number;\n count: number;\n}\n\n/**\n * @internal\n */\nexport interface IDeclaredEventsByName {\n [eventName: string]: boolean;\n}\n\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 */\nexport class EventGroup {\n private static _uniqueId: number = 0;\n private _parent: any;\n private _eventRecords: IEventRecord[];\n private _id: number = EventGroup._uniqueId++;\n private _isDisposed!: boolean;\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 public static raise(target: any, eventName: string, eventArgs?: any, bubbleEvent?: boolean): boolean | undefined {\n let retVal;\n\n if (EventGroup._isElement(target)) {\n if (typeof document !== 'undefined' && document.createEvent) {\n let ev = document.createEvent('HTMLEvents');\n\n ev.initEvent(eventName, bubbleEvent || false, true);\n\n assign(ev, eventArgs);\n\n retVal = target.dispatchEvent(ev);\n } else if (typeof document !== 'undefined' && (document as any).createEventObject) {\n // IE8\n let evObj = (document as any).createEventObject(eventArgs);\n // cannot set cancelBubble on evObj, fireEvent will overwrite it\n target.fireEvent('on' + eventName, evObj);\n }\n } else {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore -- FIXME: strictBindCallApply error - https://github.com/microsoft/fluentui/issues/17331\n while (target && retVal !== false) {\n let events = target.__events__;\n let eventRecords = events ? events[eventName] : null;\n\n if (eventRecords) {\n for (let id in eventRecords) {\n if (eventRecords.hasOwnProperty(id)) {\n let eventRecordList = eventRecords[id];\n\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore -- FIXME: strictBindCallApply error - https://github.com/microsoft/fluentui/issues/17331\n for (let listIndex = 0; retVal !== false && listIndex < eventRecordList.length; listIndex++) {\n let record = eventRecordList[listIndex];\n\n if (record.objectCallback) {\n retVal = record.objectCallback.call(record.parent, eventArgs);\n }\n }\n }\n }\n }\n\n // If the target has a parent, bubble the event up.\n target = bubbleEvent ? target.parent : null;\n }\n }\n\n return retVal;\n }\n\n public static isObserved(target: any, eventName: string): boolean {\n let events = target && target.__events__;\n\n return !!events && !!events[eventName];\n }\n\n /** Check to see if the target has declared support of the given event. */\n public static isDeclared(target: any, eventName: string): boolean {\n let declaredEvents = target && target.__declaredEvents;\n\n return !!declaredEvents && !!declaredEvents[eventName];\n }\n\n public static stopPropagation(event: any): void {\n if (event.stopPropagation) {\n event.stopPropagation();\n } else {\n // IE8\n event.cancelBubble = true;\n }\n }\n\n private static _isElement(target: HTMLElement): boolean {\n return (\n !!target && (!!target.addEventListener || (typeof HTMLElement !== 'undefined' && target instanceof HTMLElement))\n );\n }\n\n /** parent: the context in which events attached to non-HTMLElements are called */\n public constructor(parent: any) {\n this._parent = parent;\n this._eventRecords = [];\n }\n\n public dispose(): void {\n if (!this._isDisposed) {\n this._isDisposed = true;\n\n this.off();\n this._parent = null;\n }\n }\n\n /** On the target, attach a set of events, where the events object is a name to function mapping. */\n public onAll(target: any, events: { [key: string]: (args?: any) => void }, useCapture?: boolean): void {\n for (let eventName in events) {\n if (events.hasOwnProperty(eventName)) {\n this.on(target, eventName, events[eventName], useCapture);\n }\n }\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 public on(\n target: any,\n eventName: string,\n callback: (args?: any) => void,\n options?: boolean | AddEventListenerOptions,\n ): void {\n if (eventName.indexOf(',') > -1) {\n let events = eventName.split(/[ ,]+/);\n\n for (let i = 0; i < events.length; i++) {\n this.on(target, events[i], callback, options);\n }\n } else {\n let parent = this._parent;\n let eventRecord: IEventRecord = {\n target: target,\n eventName: eventName,\n parent: parent,\n callback: callback,\n options,\n };\n\n // Initialize and wire up the record on the target, so that it can call the callback if the event fires.\n let events = (target.__events__ = target.__events__ || {});\n events[eventName] =\n events[eventName] ||\n {\n count: 0,\n };\n events[eventName][this._id] = events[eventName][this._id] || [];\n (events[eventName][this._id]).push(eventRecord);\n events[eventName].count++;\n\n if (EventGroup._isElement(target)) {\n let processElementEvent = (...args: any[]) => {\n if (this._isDisposed) {\n return;\n }\n\n let result;\n try {\n result = callback.apply(parent, args);\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore -- FIXME: strictBindCallApply error - https://github.com/microsoft/fluentui/issues/17331\n if (result === false && args[0]) {\n let 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 // ignore\n }\n\n return result;\n };\n\n eventRecord.elementCallback = processElementEvent;\n\n if (target.addEventListener) {\n (target).addEventListener(eventName, processElementEvent, options);\n } else if (target.attachEvent) {\n // IE8\n target.attachEvent('on' + eventName, processElementEvent);\n }\n } else {\n let processObjectEvent = (...args: any[]) => {\n if (this._isDisposed) {\n return;\n }\n\n return callback.apply(parent, args);\n };\n\n eventRecord.objectCallback = processObjectEvent;\n }\n\n // Remember the record locally, so that it can be removed.\n this._eventRecords.push(eventRecord);\n }\n }\n\n public off(\n target?: any,\n eventName?: string,\n callback?: (args?: any) => void,\n options?: boolean | AddEventListenerOptions,\n ): void {\n for (let i = 0; i < this._eventRecords.length; i++) {\n let eventRecord = this._eventRecords[i];\n if (\n (!target || target === eventRecord.target) &&\n (!eventName || eventName === eventRecord.eventName) &&\n (!callback || callback === eventRecord.callback) &&\n (typeof options !== 'boolean' || options === eventRecord.options)\n ) {\n let events = eventRecord.target.__events__;\n let targetArrayLookup = events[eventRecord.eventName];\n let targetArray = targetArrayLookup ? targetArrayLookup[this._id] : null;\n\n // We may have already target's entries, so check for null.\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(\n eventRecord.eventName,\n eventRecord.elementCallback,\n eventRecord.options,\n );\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\n /** Trigger the given event in the context of this instance of EventGroup. */\n public raise(eventName: string, eventArgs?: any, bubbleEvent?: boolean): boolean | undefined {\n return EventGroup.raise(this._parent, eventName, eventArgs, bubbleEvent);\n }\n\n /** Declare an event as being supported by this instance of EventGroup. */\n public declare(event: string | string[]): void {\n let declaredEvents = (this._parent.__declaredEvents = this._parent.__declaredEvents || {});\n\n if (typeof event === 'string') {\n declaredEvents[event] = true;\n } else {\n for (let i = 0; i < event.length; i++) {\n declaredEvents[event[i]] = true;\n }\n }\n }\n}\n","import createNamedContext from \"./createNameContext\";\n\nconst historyContext = /*#__PURE__*/ createNamedContext(\"Router-History\");\nexport default historyContext;\n","// TODO: Replace with React.createContext once we can assume React 16+\nimport createContext from \"mini-create-react-context\";\n\nconst createNamedContext = name => {\n const context = createContext();\n context.displayName = name;\n\n return context;\n};\n\nexport default createNamedContext;\n","// TODO: Replace with React.createContext once we can assume React 16+\nimport createContext from \"mini-create-react-context\";\n\nconst createNamedContext = name => {\n const context = createContext();\n context.displayName = name;\n\n return context;\n};\n\nconst context = /*#__PURE__*/ createNamedContext(\"Router\");\nexport default context;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport warning from \"tiny-warning\";\n\nimport HistoryContext from \"./HistoryContext.js\";\nimport RouterContext from \"./RouterContext.js\";\n\n/**\n * The public API for putting history on context.\n */\nclass Router extends React.Component {\n static computeRootMatch(pathname) {\n return { path: \"/\", url: \"/\", params: {}, isExact: pathname === \"/\" };\n }\n\n constructor(props) {\n super(props);\n\n this.state = {\n location: props.history.location\n };\n\n // This is a bit of a hack. We have to start listening for location\n // changes here in the constructor in case there are any s\n // on the initial render. If there are, they will replace/push when\n // they mount and since cDM fires in children before parents, we may\n // get a new location before the is mounted.\n this._isMounted = false;\n this._pendingLocation = null;\n\n if (!props.staticContext) {\n this.unlisten = props.history.listen(location => {\n if (this._isMounted) {\n this.setState({ location });\n } else {\n this._pendingLocation = location;\n }\n });\n }\n }\n\n componentDidMount() {\n this._isMounted = true;\n\n if (this._pendingLocation) {\n this.setState({ location: this._pendingLocation });\n }\n }\n\n componentWillUnmount() {\n if (this.unlisten) this.unlisten();\n }\n\n render() {\n return (\n \n \n \n );\n }\n}\n\nif (__DEV__) {\n Router.propTypes = {\n children: PropTypes.node,\n history: PropTypes.object.isRequired,\n staticContext: PropTypes.object\n };\n\n Router.prototype.componentDidUpdate = function(prevProps) {\n warning(\n prevProps.history === this.props.history,\n \"You cannot change \"\n );\n };\n}\n\nexport default Router;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { createMemoryHistory as createHistory } from \"history\";\nimport warning from \"tiny-warning\";\n\nimport Router from \"./Router.js\";\n\n/**\n * The public API for a that stores location in memory.\n */\nclass MemoryRouter extends React.Component {\n history = createHistory(this.props);\n\n render() {\n return ;\n }\n}\n\nif (__DEV__) {\n MemoryRouter.propTypes = {\n initialEntries: PropTypes.array,\n initialIndex: PropTypes.number,\n getUserConfirmation: PropTypes.func,\n keyLength: PropTypes.number,\n children: PropTypes.node\n };\n\n MemoryRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \" ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { MemoryRouter as Router }`.\"\n );\n };\n}\n\nexport default MemoryRouter;\n","import React from \"react\";\n\nclass Lifecycle extends React.Component {\n componentDidMount() {\n if (this.props.onMount) this.props.onMount.call(this, this);\n }\n\n componentDidUpdate(prevProps) {\n if (this.props.onUpdate) this.props.onUpdate.call(this, this, prevProps);\n }\n\n componentWillUnmount() {\n if (this.props.onUnmount) this.props.onUnmount.call(this, this);\n }\n\n render() {\n return null;\n }\n}\n\nexport default Lifecycle;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\n\nimport Lifecycle from \"./Lifecycle.js\";\nimport RouterContext from \"./RouterContext.js\";\n\n/**\n * The public API for prompting the user before navigating away from a screen.\n */\nfunction Prompt({ message, when = true }) {\n return (\n \n {context => {\n invariant(context, \"You should not use outside a \");\n\n if (!when || context.staticContext) return null;\n\n const method = context.history.block;\n\n return (\n {\n self.release = method(message);\n }}\n onUpdate={(self, prevProps) => {\n if (prevProps.message !== message) {\n self.release();\n self.release = method(message);\n }\n }}\n onUnmount={self => {\n self.release();\n }}\n message={message}\n />\n );\n }}\n \n );\n}\n\nif (__DEV__) {\n const messageType = PropTypes.oneOfType([PropTypes.func, PropTypes.string]);\n\n Prompt.propTypes = {\n when: PropTypes.bool,\n message: messageType.isRequired\n };\n}\n\nexport default Prompt;\n","import pathToRegexp from \"path-to-regexp\";\n\nconst cache = {};\nconst cacheLimit = 10000;\nlet cacheCount = 0;\n\nfunction compilePath(path) {\n if (cache[path]) return cache[path];\n\n const generator = pathToRegexp.compile(path);\n\n if (cacheCount < cacheLimit) {\n cache[path] = generator;\n cacheCount++;\n }\n\n return generator;\n}\n\n/**\n * Public API for generating a URL pathname from a path and parameters.\n */\nfunction generatePath(path = \"/\", params = {}) {\n return path === \"/\" ? path : compilePath(path)(params, { pretty: true });\n}\n\nexport default generatePath;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { createLocation, locationsAreEqual } from \"history\";\nimport invariant from \"tiny-invariant\";\n\nimport Lifecycle from \"./Lifecycle.js\";\nimport RouterContext from \"./RouterContext.js\";\nimport generatePath from \"./generatePath.js\";\n\n/**\n * The public API for navigating programmatically with a component.\n */\nfunction Redirect({ computedMatch, to, push = false }) {\n return (\n \n {context => {\n invariant(context, \"You should not use outside a \");\n\n const { history, staticContext } = context;\n\n const method = push ? history.push : history.replace;\n const location = createLocation(\n computedMatch\n ? typeof to === \"string\"\n ? generatePath(to, computedMatch.params)\n : {\n ...to,\n pathname: generatePath(to.pathname, computedMatch.params)\n }\n : to\n );\n\n // When rendering in a static context,\n // set the new location immediately.\n if (staticContext) {\n method(location);\n return null;\n }\n\n return (\n {\n method(location);\n }}\n onUpdate={(self, prevProps) => {\n const prevLocation = createLocation(prevProps.to);\n if (\n !locationsAreEqual(prevLocation, {\n ...location,\n key: prevLocation.key\n })\n ) {\n method(location);\n }\n }}\n to={to}\n />\n );\n }}\n \n );\n}\n\nif (__DEV__) {\n Redirect.propTypes = {\n push: PropTypes.bool,\n from: PropTypes.string,\n to: PropTypes.oneOfType([PropTypes.string, PropTypes.object]).isRequired\n };\n}\n\nexport default Redirect;\n","import pathToRegexp from \"path-to-regexp\";\n\nconst cache = {};\nconst cacheLimit = 10000;\nlet cacheCount = 0;\n\nfunction compilePath(path, options) {\n const cacheKey = `${options.end}${options.strict}${options.sensitive}`;\n const pathCache = cache[cacheKey] || (cache[cacheKey] = {});\n\n if (pathCache[path]) return pathCache[path];\n\n const keys = [];\n const regexp = pathToRegexp(path, keys, options);\n const result = { regexp, keys };\n\n if (cacheCount < cacheLimit) {\n pathCache[path] = result;\n cacheCount++;\n }\n\n return result;\n}\n\n/**\n * Public API for matching a URL pathname to a path.\n */\nfunction matchPath(pathname, options = {}) {\n if (typeof options === \"string\" || Array.isArray(options)) {\n options = { path: options };\n }\n\n const { path, exact = false, strict = false, sensitive = false } = options;\n\n const paths = [].concat(path);\n\n return paths.reduce((matched, path) => {\n if (!path && path !== \"\") return null;\n if (matched) return matched;\n\n const { regexp, keys } = compilePath(path, {\n end: exact,\n strict,\n sensitive\n });\n const match = regexp.exec(pathname);\n\n if (!match) return null;\n\n const [url, ...values] = match;\n const isExact = pathname === url;\n\n if (exact && !isExact) return null;\n\n return {\n path, // the path used to match\n url: path === \"/\" && url === \"\" ? \"/\" : url, // the matched portion of the URL\n isExact, // whether or not we matched exactly\n params: keys.reduce((memo, key, index) => {\n memo[key.name] = values[index];\n return memo;\n }, {})\n };\n }, null);\n}\n\nexport default matchPath;\n","import React from \"react\";\nimport { isValidElementType } from \"react-is\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport warning from \"tiny-warning\";\n\nimport RouterContext from \"./RouterContext.js\";\nimport matchPath from \"./matchPath.js\";\n\nfunction isEmptyChildren(children) {\n return React.Children.count(children) === 0;\n}\n\nfunction evalChildrenDev(children, props, path) {\n const value = children(props);\n\n warning(\n value !== undefined,\n \"You returned `undefined` from the `children` function of \" +\n `, but you ` +\n \"should have returned a React element or `null`\"\n );\n\n return value || null;\n}\n\n/**\n * The public API for matching a single path and rendering.\n */\nclass Route extends React.Component {\n render() {\n return (\n \n {context => {\n invariant(context, \"You should not use outside a \");\n\n const location = this.props.location || context.location;\n const match = this.props.computedMatch\n ? this.props.computedMatch // already computed the match for us\n : this.props.path\n ? matchPath(location.pathname, this.props)\n : context.match;\n\n const props = { ...context, location, match };\n\n let { children, component, render } = this.props;\n\n // Preact uses an empty array as children by\n // default, so use null if that's the case.\n if (Array.isArray(children) && children.length === 0) {\n children = null;\n }\n\n return (\n \n {props.match\n ? children\n ? typeof children === \"function\"\n ? __DEV__\n ? evalChildrenDev(children, props, this.props.path)\n : children(props)\n : children\n : component\n ? React.createElement(component, props)\n : render\n ? render(props)\n : null\n : typeof children === \"function\"\n ? __DEV__\n ? evalChildrenDev(children, props, this.props.path)\n : children(props)\n : null}\n \n );\n }}\n \n );\n }\n}\n\nif (__DEV__) {\n Route.propTypes = {\n children: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n component: (props, propName) => {\n if (props[propName] && !isValidElementType(props[propName])) {\n return new Error(\n `Invalid prop 'component' supplied to 'Route': the prop is not a valid React component`\n );\n }\n },\n exact: PropTypes.bool,\n location: PropTypes.object,\n path: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string)\n ]),\n render: PropTypes.func,\n sensitive: PropTypes.bool,\n strict: PropTypes.bool\n };\n\n Route.prototype.componentDidMount = function() {\n warning(\n !(\n this.props.children &&\n !isEmptyChildren(this.props.children) &&\n this.props.component\n ),\n \"You should not use and in the same route; will be ignored\"\n );\n\n warning(\n !(\n this.props.children &&\n !isEmptyChildren(this.props.children) &&\n this.props.render\n ),\n \"You should not use and in the same route; will be ignored\"\n );\n\n warning(\n !(this.props.component && this.props.render),\n \"You should not use and in the same route; will be ignored\"\n );\n };\n\n Route.prototype.componentDidUpdate = function(prevProps) {\n warning(\n !(this.props.location && !prevProps.location),\n ' elements should not change from uncontrolled to controlled (or vice versa). You initially used no \"location\" prop and then provided one on a subsequent render.'\n );\n\n warning(\n !(!this.props.location && prevProps.location),\n ' elements should not change from controlled to uncontrolled (or vice versa). You provided a \"location\" prop initially but omitted it on a subsequent render.'\n );\n };\n}\n\nexport default Route;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { createLocation, createPath } from \"history\";\nimport invariant from \"tiny-invariant\";\nimport warning from \"tiny-warning\";\n\nimport Router from \"./Router.js\";\n\nfunction addLeadingSlash(path) {\n return path.charAt(0) === \"/\" ? path : \"/\" + path;\n}\n\nfunction addBasename(basename, location) {\n if (!basename) return location;\n\n return {\n ...location,\n pathname: addLeadingSlash(basename) + location.pathname\n };\n}\n\nfunction stripBasename(basename, location) {\n if (!basename) return location;\n\n const base = addLeadingSlash(basename);\n\n if (location.pathname.indexOf(base) !== 0) return location;\n\n return {\n ...location,\n pathname: location.pathname.substr(base.length)\n };\n}\n\nfunction createURL(location) {\n return typeof location === \"string\" ? location : createPath(location);\n}\n\nfunction staticHandler(methodName) {\n return () => {\n invariant(false, \"You cannot %s with \", methodName);\n };\n}\n\nfunction noop() {}\n\n/**\n * The public top-level API for a \"static\" , so-called because it\n * can't actually change the current location. Instead, it just records\n * location changes in a context object. Useful mainly in testing and\n * server-rendering scenarios.\n */\nclass StaticRouter extends React.Component {\n navigateTo(location, action) {\n const { basename = \"\", context = {} } = this.props;\n context.action = action;\n context.location = addBasename(basename, createLocation(location));\n context.url = createURL(context.location);\n }\n\n handlePush = location => this.navigateTo(location, \"PUSH\");\n handleReplace = location => this.navigateTo(location, \"REPLACE\");\n handleListen = () => noop;\n handleBlock = () => noop;\n\n render() {\n const { basename = \"\", context = {}, location = \"/\", ...rest } = this.props;\n\n const history = {\n createHref: path => addLeadingSlash(basename + createURL(path)),\n action: \"POP\",\n location: stripBasename(basename, createLocation(location)),\n push: this.handlePush,\n replace: this.handleReplace,\n go: staticHandler(\"go\"),\n goBack: staticHandler(\"goBack\"),\n goForward: staticHandler(\"goForward\"),\n listen: this.handleListen,\n block: this.handleBlock\n };\n\n return ;\n }\n}\n\nif (__DEV__) {\n StaticRouter.propTypes = {\n basename: PropTypes.string,\n context: PropTypes.object,\n location: PropTypes.oneOfType([PropTypes.string, PropTypes.object])\n };\n\n StaticRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \" ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { StaticRouter as Router }`.\"\n );\n };\n}\n\nexport default StaticRouter;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport warning from \"tiny-warning\";\n\nimport RouterContext from \"./RouterContext.js\";\nimport matchPath from \"./matchPath.js\";\n\n/**\n * The public API for rendering the first that matches.\n */\nclass Switch extends React.Component {\n render() {\n return (\n \n {context => {\n invariant(context, \"You should not use outside a \");\n\n const location = this.props.location || context.location;\n\n let element, match;\n\n // We use React.Children.forEach instead of React.Children.toArray().find()\n // here because toArray adds keys to all child elements and we do not want\n // to trigger an unmount/remount for two s that render the same\n // component at different URLs.\n React.Children.forEach(this.props.children, child => {\n if (match == null && React.isValidElement(child)) {\n element = child;\n\n const path = child.props.path || child.props.from;\n\n match = path\n ? matchPath(location.pathname, { ...child.props, path })\n : context.match;\n }\n });\n\n return match\n ? React.cloneElement(element, { location, computedMatch: match })\n : null;\n }}\n \n );\n }\n}\n\nif (__DEV__) {\n Switch.propTypes = {\n children: PropTypes.node,\n location: PropTypes.object\n };\n\n Switch.prototype.componentDidUpdate = function(prevProps) {\n warning(\n !(this.props.location && !prevProps.location),\n ' elements should not change from uncontrolled to controlled (or vice versa). You initially used no \"location\" prop and then provided one on a subsequent render.'\n );\n\n warning(\n !(!this.props.location && prevProps.location),\n ' elements should not change from controlled to uncontrolled (or vice versa). You provided a \"location\" prop initially but omitted it on a subsequent render.'\n );\n };\n}\n\nexport default Switch;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport hoistStatics from \"hoist-non-react-statics\";\nimport invariant from \"tiny-invariant\";\n\nimport RouterContext from \"./RouterContext.js\";\n\n/**\n * A public higher-order component to access the imperative API\n */\nfunction withRouter(Component) {\n const displayName = `withRouter(${Component.displayName || Component.name})`;\n const C = props => {\n const { wrappedComponentRef, ...remainingProps } = props;\n\n return (\n \n {context => {\n invariant(\n context,\n `You should not use <${displayName} /> outside a `\n );\n return (\n \n );\n }}\n \n );\n };\n\n C.displayName = displayName;\n C.WrappedComponent = Component;\n\n if (__DEV__) {\n C.propTypes = {\n wrappedComponentRef: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.object\n ])\n };\n }\n\n return hoistStatics(C, Component);\n}\n\nexport default withRouter;\n","import React from \"react\";\nimport invariant from \"tiny-invariant\";\n\nimport Context from \"./RouterContext.js\";\nimport HistoryContext from \"./HistoryContext.js\";\nimport matchPath from \"./matchPath.js\";\n\nconst useContext = React.useContext;\n\nexport function useHistory() {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useHistory()\"\n );\n }\n\n return useContext(HistoryContext);\n}\n\nexport function useLocation() {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useLocation()\"\n );\n }\n\n return useContext(Context).location;\n}\n\nexport function useParams() {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useParams()\"\n );\n }\n\n const match = useContext(Context).match;\n return match ? match.params : {};\n}\n\nexport function useRouteMatch(path) {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useRouteMatch()\"\n );\n }\n\n const location = useLocation();\n const match = useContext(Context).match;\n\n return path ? matchPath(location.pathname, path) : match;\n}\n","import { _isSSR } from './setSSR';\r\n/**\r\n * Helper to get the document object. Note that in popup window cases, document\r\n * might be the wrong document, which is why we look at ownerDocument for the\r\n * truth. Also note that the SSR flag is used to test ssr scenarios even if\r\n * document is defined (from JSDOM for example.)\r\n *\r\n * @public\r\n */\r\nexport function getDocument(rootElement?: HTMLElement | null): Document | undefined {\r\n if (_isSSR || typeof document === 'undefined') {\r\n return undefined;\r\n } else {\r\n return rootElement && rootElement.ownerDocument ? rootElement.ownerDocument : document;\r\n }\r\n}\r\n","import {\n mergeCssSets,\n IStyleSet,\n IProcessedStyleSet,\n Stylesheet,\n IStyleFunctionOrObject,\n} from '@fluentui/merge-styles';\nimport { getRTL } from './rtl';\nimport { getWindow } from './dom';\nimport { StyleFunction } from './styled';\n\nconst MAX_CACHE_COUNT = 50;\nconst DEFAULT_SPECIFICITY_MULTIPLIER = 5;\n\nlet _memoizedClassNames = 0;\n\nconst stylesheet = Stylesheet.getInstance();\n\nif (stylesheet && stylesheet.onReset) {\n stylesheet.onReset(() => _memoizedClassNames++);\n}\n\n// Note that because of the caching nature within the classNames memoization,\n// I've disabled this rule to simply be able to work with any types.\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\n// This represents a prop we attach to each Map to indicate the cached return value\n// associated with the graph node.\nconst retVal = '__retval__';\n\ninterface IRecursiveMemoNode extends Map {\n [retVal]?: string;\n}\n\ntype AppWindow = (Window & { FabricConfig?: { enableClassNameCacheFullWarning?: boolean } }) | undefined;\n\nexport interface IClassNamesFunctionOptions {\n /**\n * Disables class caching for scenarios where styleProp parts mutate frequently.\n */\n disableCaching?: boolean;\n\n /**\n * Size of the cache. It overwrites default cache size when defined.\n */\n cacheSize?: number;\n\n /**\n * Set to true if component base styles are implemented in scss instead of css-in-js.\n */\n useStaticStyles?: boolean;\n}\n\n/**\n * Creates a getClassNames function which calls getStyles given the props, and injects them\n * into mergeStyleSets.\n *\n * Note that the props you pass in on every render should be in the same order and\n * immutable (numbers, strings, and booleans). This will allow the results to be memoized. Violating\n * these will cause extra recalcs to occur.\n */\nexport function classNamesFunction>(\n options: IClassNamesFunctionOptions = {},\n): (\n getStyles: IStyleFunctionOrObject | undefined,\n styleProps?: TStyleProps,\n) => IProcessedStyleSet {\n // We build a trie where each node is a Map. The map entry key represents an argument\n // value, and the entry value is another node (Map). Each node has a `__retval__`\n // property which is used to hold the cached response.\n\n // To derive the response, we can simply ensure the arguments are added or already\n // exist in the trie. At the last node, if there is a `__retval__` we return that. Otherwise\n // we call the `getStyles` api to evaluate, cache on the property, and return that.\n let map: IRecursiveMemoNode = new Map();\n let styleCalcCount = 0;\n let getClassNamesCount = 0;\n let currentMemoizedClassNames = _memoizedClassNames;\n\n const getClassNames = (\n styleFunctionOrObject: IStyleFunctionOrObject | undefined,\n styleProps: TStyleProps = {} as TStyleProps,\n ): IProcessedStyleSet => {\n // If useStaticStyles is true, styleFunctionOrObject returns slot to classname mappings.\n // If there is also no style overrides, we can skip merge styles completely and\n // simply return the result from the style funcion.\n if (\n options.useStaticStyles &&\n typeof styleFunctionOrObject === 'function' &&\n (styleFunctionOrObject as StyleFunction).__noStyleOverride__\n ) {\n return styleFunctionOrObject(styleProps) as IProcessedStyleSet;\n }\n\n getClassNamesCount++;\n let current: Map = map;\n const { theme } = styleProps as any;\n const rtl = theme && theme.rtl !== undefined ? theme.rtl : getRTL();\n\n const disableCaching = options.disableCaching;\n\n // On reset of our stylesheet, reset memoized cache.\n if (currentMemoizedClassNames !== _memoizedClassNames) {\n currentMemoizedClassNames = _memoizedClassNames;\n map = new Map();\n styleCalcCount = 0;\n }\n\n if (!options.disableCaching) {\n current = _traverseMap(map, styleFunctionOrObject as any);\n current = _traverseMap(current, styleProps);\n }\n\n if (disableCaching || !(current as any)[retVal]) {\n if (styleFunctionOrObject === undefined) {\n (current as any)[retVal] = {} as IProcessedStyleSet;\n } else {\n (current as any)[retVal] = mergeCssSets(\n [\n (typeof styleFunctionOrObject === 'function'\n ? styleFunctionOrObject(styleProps)\n : styleFunctionOrObject) as IStyleSet,\n ],\n { rtl: !!rtl, specificityMultiplier: options.useStaticStyles ? DEFAULT_SPECIFICITY_MULTIPLIER : undefined },\n );\n }\n\n if (!disableCaching) {\n styleCalcCount++;\n }\n }\n\n if (styleCalcCount > (options.cacheSize || MAX_CACHE_COUNT)) {\n const win = getWindow() as AppWindow;\n if (win?.FabricConfig?.enableClassNameCacheFullWarning) {\n // eslint-disable-next-line no-console\n console.warn(\n `Styles are being recalculated too frequently. Cache miss rate is ${styleCalcCount}/${getClassNamesCount}.`,\n );\n // eslint-disable-next-line no-console\n console.trace();\n }\n\n map.clear();\n styleCalcCount = 0;\n\n // Mutate the options passed in, that's all we can do.\n options.disableCaching = true;\n }\n\n // Note: the retVal is an attached property on the Map; not a key in the Map. We use this attached property to\n // cache the return value for this branch of the graph.\n return (current as any)[retVal];\n };\n\n return getClassNames;\n}\n\nfunction _traverseEdge(current: Map, value: any): Map {\n value = _normalizeValue(value);\n\n if (!current.has(value)) {\n current.set(value, new Map());\n }\n\n return current.get(value);\n}\n\nfunction _traverseMap(current: Map, inputs: any[] | Object): Map {\n if (typeof inputs === 'function') {\n const cachedInputsFromStyled = (inputs as StyleFunction).__cachedInputs__;\n if (cachedInputsFromStyled) {\n // The styled helper will generate the styles function and will attach the cached\n // inputs (consisting of the default styles, customzied styles, and user provided styles.)\n // These should be used as cache keys for deriving the memoized value.\n for (const input of (inputs as any).__cachedInputs__) {\n current = _traverseEdge(current, input);\n }\n } else {\n current = _traverseEdge(current, inputs);\n }\n } else if (typeof inputs === 'object') {\n for (const propName in inputs) {\n if (inputs.hasOwnProperty(propName)) {\n current = _traverseEdge(current, (inputs as any)[propName]);\n }\n }\n }\n\n return current;\n}\n\nfunction _normalizeValue(value: any): string {\n switch (value) {\n case undefined:\n return '__undefined__';\n case null:\n return '__null__';\n default:\n return value;\n }\n}\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 */\nexport function getParent(child: HTMLElement, allowVirtualParents: boolean = true): HTMLElement | null {\n return (\n child &&\n ((allowVirtualParents && getVirtualParent(child)) || (child.parentNode && (child.parentNode as HTMLElement)))\n );\n}\n","import { Stylesheet } from '@uifabric/merge-styles';\r\n\r\nconst stylesheet = Stylesheet.getInstance();\r\n\r\nif (stylesheet && stylesheet.onReset) {\r\n Stylesheet.getInstance().onReset(resetMemoizations);\r\n}\r\n\r\n// tslint:disable:no-any\r\ndeclare class WeakMap {\r\n public get(key: any): any;\r\n public set(key: any, value: any): void;\r\n public has(key: any): boolean;\r\n}\r\n\r\nlet _resetCounter = 0;\r\nconst _emptyObject = { empty: true };\r\nconst _dictionary: any = {};\r\nlet _weakMap = typeof WeakMap === 'undefined' ? null : WeakMap;\r\n\r\ninterface IMemoizeNode {\r\n map: WeakMap | null;\r\n value?: any;\r\n}\r\n\r\n/**\r\n * Test utility for providing a custom weakmap.\r\n *\r\n * @internal\r\n * */\r\nexport function setMemoizeWeakMap(weakMap: any): void {\r\n _weakMap = weakMap;\r\n}\r\n\r\n/**\r\n * Reset memoizations.\r\n */\r\nexport function resetMemoizations(): void {\r\n _resetCounter++;\r\n}\r\n\r\n/**\r\n * Memoize decorator to be used on class methods. WARNING: the `this` reference\r\n * will be inaccessible within a memoized method, given that a cached method's `this`\r\n * would not be instance-specific.\r\n *\r\n * @public\r\n */\r\nexport function memoize(\r\n target: any,\r\n key: string,\r\n descriptor: TypedPropertyDescriptor\r\n): {\r\n configurable: boolean;\r\n get(): T;\r\n} {\r\n // We bind to \"null\" to prevent people from inadvertently pulling values from \"this\",\r\n // rather than passing them in as input values which can be memoized.\r\n let fn = memoizeFunction(descriptor.value && descriptor.value.bind(null));\r\n\r\n return {\r\n configurable: true,\r\n get(): T {\r\n return fn;\r\n }\r\n };\r\n}\r\n\r\n/**\r\n * Memoizes a function; when you pass in the same parameters multiple times, it returns a cached result.\r\n * Be careful when passing in objects, you need to pass in the same INSTANCE for caching to work. Otherwise\r\n * it will grow the cache unnecessarily. Also avoid using default values that evaluate functions; passing in\r\n * undefined for a value and relying on a default function will execute it the first time, but will not\r\n * re-evaluate subsequent times which may have been unexpected.\r\n *\r\n * By default, the cache will reset after 100 permutations, to avoid abuse cases where the function is\r\n * unintendedly called with unique objects. Without a reset, the cache could grow infinitely, so we safeguard\r\n * by resetting. To override this behavior, pass a value of 0 to the maxCacheSize parameter.\r\n *\r\n * @public\r\n * @param cb - The function to memoize.\r\n * @param maxCacheSize - Max results to cache. If the cache exceeds this value, it will reset on the next call.\r\n * @returns A memoized version of the function.\r\n */\r\nexport function memoizeFunction RET_TYPE, RET_TYPE>(cb: T, maxCacheSize: number = 100): T {\r\n // Avoid breaking scenarios which don't have weak map.\r\n if (!_weakMap) {\r\n return cb;\r\n }\r\n\r\n let rootNode: any;\r\n let cacheSize = 0;\r\n let localResetCounter = _resetCounter;\r\n\r\n // tslint:disable-next-line:no-function-expression\r\n return function memoizedFunction(...args: any[]): RET_TYPE {\r\n let currentNode: any = rootNode;\r\n\r\n if (rootNode === undefined || localResetCounter !== _resetCounter || (maxCacheSize > 0 && cacheSize > maxCacheSize)) {\r\n rootNode = _createNode();\r\n cacheSize = 0;\r\n localResetCounter = _resetCounter;\r\n }\r\n\r\n currentNode = rootNode;\r\n\r\n // Traverse the tree until we find the match.\r\n for (let i = 0; i < args.length; i++) {\r\n let arg = _normalizeArg(args[i]);\r\n\r\n if (!currentNode.map.has(arg)) {\r\n currentNode.map.set(arg, _createNode());\r\n }\r\n\r\n currentNode = currentNode.map.get(arg);\r\n }\r\n\r\n if (!currentNode.hasOwnProperty('value')) {\r\n currentNode.value = cb(...args);\r\n cacheSize++;\r\n }\r\n\r\n return currentNode.value;\r\n } as any;\r\n}\r\n\r\nfunction _normalizeArg(val: null | undefined): { empty: boolean } | any;\r\nfunction _normalizeArg(val: object): any;\r\nfunction _normalizeArg(val: any): any {\r\n if (!val) {\r\n return _emptyObject;\r\n } else if (typeof val === 'object' || typeof val === 'function') {\r\n return val;\r\n } else if (!_dictionary[val]) {\r\n _dictionary[val] = { val };\r\n }\r\n\r\n return _dictionary[val];\r\n}\r\n\r\nfunction _createNode(): IMemoizeNode {\r\n return {\r\n map: _weakMap ? new _weakMap() : null\r\n };\r\n}\r\n","import * as React from 'react';\nimport { BaseButton } from './BaseButton';\nimport { Button } from './Button';\nimport { IButtonClassNames } from './BaseButton.classNames';\nimport { ISplitButtonClassNames } from './SplitButton/SplitButton.classNames';\nimport { IRefObject, IRenderFunction, KeyCodes, IComponentAs } from '../../Utilities';\nimport { IContextualMenuProps } from '../../ContextualMenu';\nimport { IIconProps } from '../../Icon';\nimport { IStyle, ITheme } from '../../Styling';\nimport { IKeytipProps } from '../../Keytip';\n\n/**\n * {@docCategory Button}\n */\nexport interface IButton {\n /**\n * Sets focus to the button.\n */\n focus: () => void;\n\n /**\n * If there is a menu associated with this button and it is visible, this will dismiss the menu\n */\n dismissMenu: () => void;\n\n /**\n * If there is a menu associated with this button and it is visible, this will open the menu.\n * Params are optional overrides to the ones defined in `menuProps` to apply to just this instance of\n * opening the menu.\n *\n * @param shouldFocusOnContainer - override to the ContextualMenu `shouldFocusOnContainer` prop.\n * BaseButton implementation defaults to `undefined`.\n * @param shouldFocusOnMount - override to the ContextualMenu `shouldFocusOnMount` prop.\n * BaseButton implementation defaults to `true`.\n */\n openMenu: (shouldFocusOnContainer?: boolean, shouldFocusOnMount?: boolean) => void;\n}\n\n/**\n * {@docCategory Button}\n */\n/* eslint-disable deprecation/deprecation */\nexport interface IButtonProps\n extends React.AllHTMLAttributes<\n HTMLAnchorElement | HTMLButtonElement | HTMLDivElement | BaseButton | Button | HTMLSpanElement\n > {\n /* eslint-enable deprecation/deprecation */\n /**\n * Optional callback to access the `IButton` interface. Use this instead of `ref` for accessing\n * the public methods and properties of the component.\n */\n componentRef?: IRefObject;\n\n /**\n * Optional callback to access the root DOM element.\n * @deprecated Temporary solution which will be replaced with ref in the V8 release.\n */\n elementRef?: React.Ref;\n\n /**\n * If provided, this component will be rendered as an anchor.\n * @defaultvalue ElementType.anchor\n */\n href?: string;\n\n /**\n * Changes the visual presentation of the button to be emphasized.\n * @defaultvalue false\n */\n primary?: boolean;\n\n /**\n * Unique ID to identify the item. Typically a duplicate of key value.\n */\n uniqueId?: string | number;\n\n /**\n * Whether the button is disabled\n */\n disabled?: boolean;\n\n /**\n * Whether the button can have focus in disabled mode\n */\n allowDisabledFocus?: boolean;\n\n /**\n * If set to true and this is a split button (`split` is true), the split button's primary action is disabled.\n */\n primaryDisabled?: boolean;\n\n /**\n * Custom styling for individual elements within the button DOM.\n */\n styles?: IButtonStyles;\n\n /**\n * Theme provided by HOC.\n */\n theme?: ITheme;\n\n /**\n * Whether the button is checked\n */\n checked?: boolean;\n\n /**\n * Whether button is a toggle button with distinct on and off states. This should be true for buttons that permanently\n * change state when a press event finishes, such as a volume mute button.\n */\n toggle?: boolean;\n\n /**\n * If provided, additional class name to provide on the root element.\n */\n className?: string;\n\n /**\n * The aria label of the button for the benefit of screen readers.\n */\n ariaLabel?: string;\n\n /**\n * Detailed description of the button for the benefit of screen readers.\n *\n * Besides the compound button, other button types will need more information provided to screen reader.\n */\n ariaDescription?: string;\n\n /**\n * If true, add an `aria-hidden` attribute instructing screen readers to ignore the element.\n */\n ariaHidden?: boolean;\n\n /**\n * Text to render button label. If text is supplied, it will override any string in button children.\n * Other children components will be passed through after the text.\n */\n text?: string;\n\n /**\n * The props for the icon shown in the button.\n */\n iconProps?: IIconProps;\n\n /**\n * Props for button menu. Providing this will default to showing the menu icon. See `menuIconProps` for overriding\n * how the default icon looks. Providing this in addition to `onClick` and setting the `split` property to `true`\n * will render a SplitButton.\n */\n menuProps?: IContextualMenuProps;\n\n /**\n * Callback that runs after Button's contextual menu was closed (removed from the DOM)\n */\n onAfterMenuDismiss?: () => void;\n\n /**\n * If set to true, and if `menuProps` and `onClick` are provided, the button will render as a SplitButton.\n * @default false\n */\n split?: boolean;\n\n /**\n * The props for the icon shown when providing a menu dropdown.\n */\n menuIconProps?: IIconProps;\n\n /**\n * Accessible label for the dropdown chevron button if this button is split.\n */\n splitButtonAriaLabel?: string;\n\n /**\n * Optional callback when menu is clicked.\n */\n onMenuClick?: (ev?: React.MouseEvent | React.KeyboardEvent, button?: IButtonProps) => void;\n\n /**\n * Custom render function for the icon\n */\n onRenderIcon?: IRenderFunction;\n\n /**\n * Custom render function for the label text.\n */\n onRenderText?: IRenderFunction;\n\n /**\n * Custom render function for the description text.\n */\n onRenderDescription?: IRenderFunction;\n\n /**\n * Custom render function for the aria description element.\n */\n onRenderAriaDescription?: IRenderFunction;\n\n /**\n * Custom render function for rendering the button children.\n */\n onRenderChildren?: IRenderFunction;\n\n /**\n * Custom render function for button menu icon\n */\n onRenderMenuIcon?: IRenderFunction;\n\n /**\n * @deprecated Deprecated at v6.3.2, to be removed at \\>= v7.0.0.\n * Use `menuAs` instead.\n */\n onRenderMenu?: IRenderFunction;\n\n /**\n * Render a custom menu in place of the normal one.\n */\n menuAs?: IComponentAs;\n\n /**\n * Description of the action this button takes.\n * Only used for compound buttons.\n */\n secondaryText?: string;\n\n /**\n * @defaultvalue ButtonType.default\n * @deprecated Deprecated at v1.2.3, to be removed at \\>= v2.0.0.\n * Use specific button component instead.\n */\n\n buttonType?: ButtonType;\n\n /**\n * @deprecated Deprecated at v0.56.2, to be removed at \\>= v1.0.0.\n * Use native props on the Button itself instead.\n * They will be mixed into the button/anchor element rendered by the component.\n */\n rootProps?: React.ButtonHTMLAttributes | React.AnchorHTMLAttributes;\n\n /**\n * @deprecated No longer used. Use `checked` if setting state.\n */\n toggled?: boolean;\n\n /**\n * Any custom data the developer wishes to associate with the button.\n */\n data?: any;\n\n /**\n * Method to provide the classnames to style a button.\n * The default value for this prop is the `getClassnames` func defined in `BaseButton.classnames.ts`.\n * @defaultvalue getBaseButtonClassNames\n */\n getClassNames?: (\n theme: ITheme,\n className: string,\n variantClassName: string,\n iconClassName: string | undefined,\n menuIconClassName: string | undefined,\n disabled: boolean,\n checked: boolean,\n expanded: boolean,\n hasMenu: boolean,\n isSplit: boolean | undefined,\n allowDisabledFocus: boolean,\n ) => IButtonClassNames;\n\n /**\n * Method to provide the classnames to style a button.\n * The default value for this prop is the `getClassnames` func defined in `BaseButton.classnames.ts`.\n * @defaultvalue getBaseSplitButtonClassNames\n */\n getSplitButtonClassNames?: (\n disabled: boolean,\n expanded: boolean,\n checked: boolean,\n allowDisabledFocus: boolean,\n ) => ISplitButtonClassNames;\n\n /**\n * Provides a custom KeyCode that can be used to open the button menu.\n * A value of `null` can be provided to disable opening the button menu with a key press.\n * @default KeyCodes.down\n */\n menuTriggerKeyCode?: KeyCodes | null;\n\n /**\n * Optional keytip for this button\n */\n keytipProps?: IKeytipProps;\n\n /**\n * Menu will not be created or destroyed when opened or closed, instead it\n * will be hidden. This will improve perf of the menu opening but could potentially\n * impact overall perf by having more elements in the dom. Should only be used\n * when menu perf is important.\n *\n * Note: This may increase the amount of time it takes for the button itself to mount.\n */\n persistMenu?: boolean;\n\n /**\n * If true, the persisted menu is rendered hidden when the button initially mounts.\n * Non-persisted menus will not be in the component tree unless they are being shown.\n *\n * Note: This increases the time the button will take to mount, but\n * can improve perceived menu open perf. when the user opens the menu.\n *\n * @defaultvalue `undefined`, equivalent to false\n *\n * @deprecated There is known bug in Edge when this prop is true where scrollbars\n * overlap with the content when a menu is first rendered hidden.\n * Please do not start using this. If you are already using this,\n * please make sure that you are doing so only in non-Edge browsers.\n * See: https://github.com/microsoft/fluentui/issues/9034\n */\n renderPersistedMenuHiddenOnMount?: boolean;\n\n /**\n * Experimental prop that get passed into the menuButton that's rendered as part of\n * split button. Anything passed in will likely need to have accompanying\n * style changes.\n */\n splitButtonMenuProps?: IButtonProps;\n\n /**\n * Style for the description text if applicable (for compound buttons).\n * @deprecated Use `secondaryText` instead.\n */\n description?: IStyle;\n\n /**\n * yet unknown docs\n */\n defaultRender?: any;\n\n /**\n * Optional props to be applied only to the primary action button of SplitButton and not to the\n * overall SplitButton container\n */\n primaryActionButtonProps?: IButtonProps;\n}\n\n/**\n * {@docCategory Button}\n */\nexport enum ElementType {\n /** `button` element. */\n button = 0,\n /** `a` element. */\n anchor = 1,\n}\n\n/**\n * {@docCategory Button}\n */\nexport enum ButtonType {\n normal = 0,\n primary = 1,\n hero = 2,\n compound = 3,\n command = 4,\n icon = 5,\n default = 6,\n}\n\n/**\n * {@docCategory Button}\n */\nexport interface IButtonStyles {\n /**\n * Style for the root element in the default enabled, non-toggled state.\n */\n root?: IStyle;\n\n /**\n * Style override for the root element in a checked state, layered on top of the root style.\n */\n rootChecked?: IStyle;\n\n /**\n * Style override for the root element in a disabled state, layered on top of the root style.\n */\n rootDisabled?: IStyle;\n\n /**\n * Style override applied to the root on hover in the default, enabled, non-toggled state.\n */\n rootHovered?: IStyle;\n\n /**\n * Style override applied to the root on focus in the default, enabled, non-toggled state.\n */\n rootFocused?: IStyle;\n\n /**\n * Style override applied to the root on pressed in the default, enabled, non-toggled state.\n */\n rootPressed?: IStyle;\n\n /**\n * Style override applied to the root on when menu is expanded in the default, enabled, non-toggled state.\n */\n rootExpanded?: IStyle;\n\n /**\n * Style override applied to the root on hover in a checked, enabled state\n */\n rootCheckedHovered?: IStyle;\n\n /**\n * Style override applied to the root on pressed in a checked, enabled state\n */\n rootCheckedPressed?: IStyle;\n\n /**\n * Style override applied to the root on hover in a checked, disabled state\n */\n rootCheckedDisabled?: IStyle;\n\n /**\n * Style override applied to the root on hover in a expanded state on hover\n */\n rootExpandedHovered?: IStyle;\n\n /**\n * Style override for the root element when it has a menu button, layered on top of the root style.\n */\n rootHasMenu?: IStyle;\n\n /**\n * Style for the flexbox container within the root element.\n */\n flexContainer?: IStyle;\n\n /**\n * Style for the text container within the flexbox container element (and contains the text and description).\n */\n textContainer?: IStyle;\n\n /**\n * Style for the icon on the near side of the label.\n */\n icon?: IStyle;\n\n /**\n * Style for the icon on the near side of the label on hover.\n */\n iconHovered?: IStyle;\n\n /**\n * Style for the icon on the near side of the label when pressed.\n */\n iconPressed?: IStyle;\n\n /**\n * Style for the icon on the near side of the label when expanded.\n */\n iconExpanded?: IStyle;\n\n /**\n * Style for the icon on the near side of the label when expanded and hovered.\n */\n iconExpandedHovered?: IStyle;\n\n /**\n * Style override for the icon when the button is disabled.\n */\n iconDisabled?: IStyle;\n\n /**\n * Style override for the icon when the button is checked.\n */\n iconChecked?: IStyle;\n\n /**\n * Style for the text content of the button.\n */\n label?: IStyle;\n\n /**\n * Style override for the text content when the button is hovered.\n */\n labelHovered?: IStyle;\n\n /**\n * Style override for the text content when the button is disabled.\n */\n labelDisabled?: IStyle;\n\n /**\n * Style override for the text content when the button is checked.\n */\n labelChecked?: IStyle;\n\n /**\n * Style for the menu chevron.\n */\n menuIcon?: IStyle;\n\n /**\n * Style for the menu chevron on hover.\n */\n menuIconHovered?: IStyle;\n\n /**\n * Style for the menu chevron when pressed.\n */\n menuIconPressed?: IStyle;\n\n /**\n * Style for the menu chevron when expanded.\n */\n menuIconExpanded?: IStyle;\n\n /**\n * Style for the menu chevron when expanded and hovered.\n */\n menuIconExpandedHovered?: IStyle;\n\n /**\n * Style override for the menu chevron when the button is disabled.\n */\n menuIconDisabled?: IStyle;\n\n /**\n * Style override for the menu chevron when the button is checked.\n */\n menuIconChecked?: IStyle;\n\n /**\n * Style for the description text if applicable (for compound buttons).\n */\n description?: IStyle;\n\n /**\n * Style for the description text if applicable (for compound buttons).\n */\n secondaryText?: IStyle;\n\n /**\n * Style override for the description text when the button is hovered.\n */\n descriptionHovered?: IStyle;\n\n /**\n * Style for the description text when the button is pressed.\n */\n descriptionPressed?: IStyle;\n\n /**\n * Style override for the description text when the button is disabled.\n */\n descriptionDisabled?: IStyle;\n\n /**\n * Style override for the description text when the button is checked.\n */\n descriptionChecked?: IStyle;\n\n /**\n * Style override for the screen reader text.\n */\n screenReaderText?: IStyle;\n\n /**\n * Style override for the container div around a SplitButton element\n */\n splitButtonContainer?: IStyle;\n\n /**\n * Style for container div around a SplitButton element when the button is hovered.\n */\n splitButtonContainerHovered?: IStyle;\n\n /**\n * Style for container div around a SplitButton element when the button is focused.\n */\n splitButtonContainerFocused?: IStyle;\n\n /**\n * Style for container div around a SplitButton element when the button is checked.\n */\n splitButtonContainerChecked?: IStyle;\n\n /**\n * Style for container div around a SplitButton element when the button is checked and hovered.\n */\n splitButtonContainerCheckedHovered?: IStyle;\n\n /**\n * Style override for the container div around a SplitButton element in a disabled state\n */\n splitButtonContainerDisabled?: IStyle;\n\n /**\n * Style override for the divider element that appears between the button and menu button\n * for a split button.\n */\n splitButtonDivider?: IStyle;\n\n /**\n * Style override for the divider element that appears between the button and menu button\n * for a split button in a disabled state.\n */\n splitButtonDividerDisabled?: IStyle;\n\n /**\n * Style override for the SplitButton menu button\n */\n splitButtonMenuButton?: IStyle;\n\n /**\n * Style override for the SplitButton menu button element in a disabled state.\n */\n splitButtonMenuButtonDisabled?: IStyle;\n\n /**\n * Style override for the SplitButton menu button element in a checked state\n */\n splitButtonMenuButtonChecked?: IStyle;\n\n /**\n * Style override for the SplitButton menu button element in an expanded state\n */\n splitButtonMenuButtonExpanded?: IStyle;\n\n /**\n * Style override for the SplitButton menu icon element\n */\n splitButtonMenuIcon?: IStyle;\n\n /**\n * Style override for the SplitButton menu icon element in a disabled state\n */\n splitButtonMenuIconDisabled?: IStyle;\n\n /**\n * Style override for the SplitButton FlexContainer.\n */\n splitButtonFlexContainer?: IStyle;\n\n /**\n * Style override for the SplitButton when only primaryButton is in a disabled state\n */\n splitButtonMenuFocused?: IStyle;\n}\n","import { IButtonStyles } from '../Button.types';\nimport {\n ITheme,\n concatStyleSets,\n FontWeights,\n HighContrastSelector,\n getHighContrastNoAdjustStyle,\n} from '../../../Styling';\nimport { memoizeFunction } from '../../../Utilities';\nimport { getStyles as getBaseButtonStyles } from '../BaseButton.styles';\nimport { getStyles as getSplitButtonStyles } from '../SplitButton/SplitButton.styles';\nimport { primaryStyles, standardStyles } from '../ButtonThemes';\n\nexport const getStyles = memoizeFunction(\n (theme: ITheme, customStyles?: IButtonStyles, primary?: boolean): IButtonStyles => {\n const { fonts, palette } = theme;\n\n const baseButtonStyles: IButtonStyles = getBaseButtonStyles(theme);\n const splitButtonStyles: IButtonStyles = getSplitButtonStyles(theme);\n const compoundButtonStyles: IButtonStyles = {\n root: {\n maxWidth: '280px',\n minHeight: '72px',\n height: 'auto',\n padding: '16px 12px',\n },\n\n flexContainer: {\n flexDirection: 'row',\n alignItems: 'flex-start',\n minWidth: '100%',\n margin: '',\n },\n\n textContainer: {\n textAlign: 'left',\n },\n\n icon: {\n fontSize: '2em',\n lineHeight: '1em',\n height: '1em',\n margin: '0px 8px 0px 0px',\n flexBasis: '1em',\n flexShrink: '0',\n },\n\n label: {\n margin: '0 0 5px',\n lineHeight: '100%',\n fontWeight: FontWeights.semibold,\n },\n description: [\n fonts.small,\n {\n lineHeight: '100%',\n },\n ],\n };\n\n const standardCompoundTheme: IButtonStyles = {\n description: {\n color: palette.neutralSecondary,\n },\n\n descriptionHovered: {\n color: palette.neutralDark,\n },\n\n descriptionPressed: {\n color: 'inherit',\n },\n\n descriptionChecked: {\n color: 'inherit',\n },\n\n descriptionDisabled: {\n color: 'inherit',\n },\n };\n\n const primaryCompoundTheme: IButtonStyles = {\n description: {\n color: palette.white,\n selectors: {\n [HighContrastSelector]: {\n backgroundColor: 'WindowText',\n color: 'Window',\n ...getHighContrastNoAdjustStyle(),\n },\n },\n },\n\n descriptionHovered: {\n color: palette.white,\n selectors: {\n [HighContrastSelector]: {\n backgroundColor: 'Highlight',\n color: 'Window',\n },\n },\n },\n\n descriptionPressed: {\n color: 'inherit',\n\n selectors: {\n [HighContrastSelector]: {\n color: 'Window',\n backgroundColor: 'WindowText',\n ...getHighContrastNoAdjustStyle(),\n },\n },\n },\n\n descriptionChecked: {\n color: 'inherit',\n\n selectors: {\n [HighContrastSelector]: {\n color: 'Window',\n backgroundColor: 'WindowText',\n ...getHighContrastNoAdjustStyle(),\n },\n },\n },\n\n descriptionDisabled: {\n color: 'inherit',\n selectors: {\n [HighContrastSelector]: {\n color: 'inherit',\n },\n },\n },\n };\n\n return concatStyleSets(\n baseButtonStyles,\n compoundButtonStyles,\n primary ? primaryStyles(theme) : standardStyles(theme),\n primary ? primaryCompoundTheme : standardCompoundTheme,\n splitButtonStyles,\n customStyles,\n )!;\n },\n);\n","import * as React from 'react';\nimport { BaseButton } from '../BaseButton';\nimport { customizable } from '../../../Utilities';\nimport { IButtonProps } from '../Button.types';\nimport { getStyles } from './CompoundButton.styles';\n\n/**\n * {@docCategory Button}\n */\n@customizable('CompoundButton', ['theme', 'styles'], true)\nexport class CompoundButton extends React.Component {\n public render(): JSX.Element {\n const { primary = false, styles, theme } = this.props;\n return (\n \n );\n }\n}\n","import * as React from 'react';\n\nimport { warn } from '../../Utilities';\nimport { ButtonType, IButtonProps } from './Button.types';\nimport { DefaultButton } from './DefaultButton/DefaultButton';\nimport { ActionButton } from './ActionButton/ActionButton';\nimport { CompoundButton } from './CompoundButton/CompoundButton';\nimport { IconButton } from './IconButton/IconButton';\nimport { PrimaryButton } from './PrimaryButton/PrimaryButton';\n\n/**\n * This class is deprecated. Use the individual *Button components instead.\n * @deprecated Use the individual *Button components instead.\n * {@docCategory Button}\n */\nexport class Button extends React.Component {\n constructor(props: IButtonProps) {\n super(props);\n\n warn(\n `The Button component has been deprecated. Use specific variants instead. ` +\n `(PrimaryButton, DefaultButton, IconButton, ActionButton, etc.)`,\n );\n }\n\n public render(): JSX.Element {\n const props = this.props;\n\n // eslint-disable-next-line deprecation/deprecation\n switch (props.buttonType) {\n case ButtonType.command:\n return ;\n\n case ButtonType.compound:\n return ;\n\n case ButtonType.icon:\n return ;\n\n case ButtonType.primary:\n return ;\n\n default:\n return ;\n }\n }\n}\n","import { IButtonStyles } from '../Button.types';\nimport { ITheme, concatStyleSets, getFocusStyle } from '../../../Styling';\nimport { memoizeFunction } from '../../../Utilities';\n\nexport const getStyles = memoizeFunction(\n (theme: ITheme, customStyles?: IButtonStyles): IButtonStyles =>\n concatStyleSets(\n {\n root: [\n getFocusStyle(theme, {\n inset: 1,\n highContrastStyle: {\n outlineOffset: '-4px',\n outline: '1px solid Window',\n },\n borderColor: 'transparent',\n }),\n {\n height: 24,\n },\n ],\n },\n customStyles,\n ),\n);\n","import * as React from 'react';\nimport { DefaultButton } from '../DefaultButton/DefaultButton';\nimport { customizable, nullRender } from '../../../Utilities';\nimport { IButtonProps } from '../Button.types';\nimport { getStyles } from './MessageBarButton.styles';\n\n/**\n * {@docCategory MessageBar}\n */\n@customizable('MessageBarButton', ['theme', 'styles'], true)\nexport class MessageBarButton extends React.Component {\n public render(): JSX.Element {\n const { styles, theme } = this.props;\n\n return ;\n }\n}\n","/**\n * Dictionary of booleans.\n *\n * @internal\n */\nexport interface IDictionary {\n [className: string]: boolean;\n}\n\n/**\n * Serializable object.\n *\n * @internal\n */\nexport interface ISerializableObject {\n toString?: () => string;\n}\n\n/**\n * css input type.\n *\n * @internal\n */\nexport type ICssInput = string | ISerializableObject | IDictionary | null | undefined | boolean;\n\n/**\n * Concatination helper, which can merge class names together. Skips over falsey values.\n *\n * @public\n */\nexport function css(...args: ICssInput[]): string {\n let classes = [];\n\n for (let arg of args) {\n if (arg) {\n if (typeof arg === 'string') {\n classes.push(arg);\n } else if (arg.hasOwnProperty('toString') && typeof arg.toString === 'function') {\n classes.push(arg.toString());\n } else {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n for (let key in arg as any) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if ((arg as any)[key]) {\n classes.push(key);\n }\n }\n }\n }\n }\n\n return classes.join(' ');\n}\n","import * as React from 'react';\nimport { IGroupSpacerProps } from './GroupSpacer.types';\n\nexport const SPACER_WIDTH = 36;\n\nexport const GroupSpacer: React.FunctionComponent = props => {\n const { count, indentWidth = SPACER_WIDTH, role = 'presentation' } = props;\n const width = count * indentWidth;\n\n return count > 0 ? (\n \n ) : null;\n};\n","import { memoizeFunction } from '../../Utilities';\nimport { ITheme, getGlobalClassNames, mergeStyleSets } from '../../Styling';\nimport { IButtonStyles } from './Button.types';\n\nexport interface IButtonClassNames {\n root?: string;\n flexContainer?: string;\n textContainer?: string;\n icon?: string;\n label?: string;\n menuIcon?: string;\n description?: string;\n screenReaderText?: string;\n}\n\nexport const 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};\n\nexport const getBaseButtonClassNames = memoizeFunction(\n (\n theme: ITheme,\n styles: IButtonStyles,\n className: string,\n variantClassName: string,\n iconClassName: string | undefined,\n menuIconClassName: string | undefined,\n disabled: boolean,\n hasMenu: boolean,\n checked: boolean,\n expanded: boolean,\n isSplit: boolean | undefined,\n ): IButtonClassNames => {\n const classNames = getGlobalClassNames(ButtonGlobalClassNames, theme || {});\n\n const isExpanded = expanded && !isSplit;\n return mergeStyleSets({\n root: [\n classNames.msButton,\n styles.root,\n variantClassName,\n checked && ['is-checked', styles.rootChecked],\n isExpanded && [\n 'is-expanded',\n styles.rootExpanded,\n {\n selectors: {\n [`:hover .${classNames.msButtonIcon}`]: styles.iconExpandedHovered,\n // menuIcon falls back to rootExpandedHovered to support original behavior\n [`:hover .${classNames.msButtonMenuIcon}`]: styles.menuIconExpandedHovered || styles.rootExpandedHovered,\n ':hover': styles.rootExpandedHovered,\n },\n },\n ],\n hasMenu && [ButtonGlobalClassNames.msButtonHasMenu, styles.rootHasMenu],\n disabled && ['is-disabled', styles.rootDisabled],\n !disabled &&\n !isExpanded &&\n !checked && {\n selectors: {\n ':hover': styles.rootHovered,\n [`:hover .${classNames.msButtonLabel}`]: styles.labelHovered,\n [`:hover .${classNames.msButtonIcon}`]: styles.iconHovered,\n [`:hover .${classNames.msButtonDescription}`]: styles.descriptionHovered,\n [`:hover .${classNames.msButtonMenuIcon}`]: styles.menuIconHovered,\n ':focus': styles.rootFocused,\n ':active': styles.rootPressed,\n [`:active .${classNames.msButtonIcon}`]: styles.iconPressed,\n [`:active .${classNames.msButtonDescription}`]: styles.descriptionPressed,\n [`:active .${classNames.msButtonMenuIcon}`]: styles.menuIconPressed,\n },\n },\n disabled && checked && [styles.rootCheckedDisabled],\n !disabled &&\n checked && {\n selectors: {\n ':hover': styles.rootCheckedHovered,\n ':active': styles.rootCheckedPressed,\n },\n },\n className,\n ],\n flexContainer: [classNames.msButtonFlexContainer, styles.flexContainer],\n textContainer: [classNames.msButtonTextContainer, styles.textContainer],\n icon: [\n classNames.msButtonIcon,\n iconClassName,\n styles.icon,\n isExpanded && styles.iconExpanded,\n checked && styles.iconChecked,\n disabled && styles.iconDisabled,\n ],\n label: [classNames.msButtonLabel, styles.label, checked && styles.labelChecked, disabled && styles.labelDisabled],\n menuIcon: [\n classNames.msButtonMenuIcon,\n menuIconClassName,\n styles.menuIcon,\n checked && styles.menuIconChecked,\n disabled && !isSplit && styles.menuIconDisabled,\n !disabled &&\n !isExpanded &&\n !checked && {\n selectors: {\n ':hover': styles.menuIconHovered,\n ':active': styles.menuIconPressed,\n },\n },\n isExpanded && ['is-expanded', styles.menuIconExpanded],\n ],\n description: [\n classNames.msButtonDescription,\n styles.description,\n checked && styles.descriptionChecked,\n disabled && styles.descriptionDisabled,\n ],\n screenReaderText: [classNames.msButtonScreenReaderText, styles.screenReaderText],\n });\n },\n);\n","import * as React from 'react';\nimport { IFocusTrapZoneProps } from '../../FocusTrapZone';\nimport { ILayerProps } from '../../Layer';\nimport { IOverlayProps } from '../../Overlay';\nimport { IStyle, ITheme } from '../../Styling';\nimport { IRefObject, IRenderFunction, IStyleFunctionOrObject } from '../../Utilities';\nimport { IButtonStyles } from '../../Button';\nimport { PanelBase } from './Panel.base';\nimport { IPopupProps } from '../../Popup';\n\n/**\n * {@docCategory Panel}\n */\nexport interface IPanel {\n /**\n * Forces the panel to open.\n */\n open: () => void;\n\n /**\n * Forces the panel to dismiss.\n */\n dismiss: (ev?: React.KeyboardEvent | KeyboardEvent) => void;\n}\n\n/**\n * {@docCategory Panel}\n */\nexport interface IPanelProps extends React.HTMLAttributes {\n /**\n * Optional callback to access the IPanel interface. Use this instead of ref for accessing\n * the public methods and properties of the component.\n */\n componentRef?: IRefObject;\n\n /**\n * Whether the panel is displayed.\n * If true, will cause panel to stay open even if dismissed.\n * If false, will cause panel to stay hidden.\n * If undefined, will allow the panel to control its own visibility through open/dismiss methods.\n * @defaultvalue undefined\n */\n isOpen?: boolean;\n\n /**\n * Has the close button visible.\n * @defaultvalue true\n */\n hasCloseButton?: boolean;\n\n /**\n * Whether the panel can be light dismissed.\n * @defaultvalue false\n */\n isLightDismiss?: boolean;\n\n /**\n * Whether the panel is hidden on dismiss, instead of destroyed in the DOM.\n * Protects the contents from being destroyed when the panel is dismissed.\n * @defaultvalue false\n */\n isHiddenOnDismiss?: boolean;\n\n /**\n * Whether the panel uses a modal overlay or not\n * @defaultvalue true\n */\n isBlocking?: boolean;\n\n /**\n * Determines if content should stretch to fill available space putting footer at the bottom of the page\n * @defaultvalue false\n */\n isFooterAtBottom?: boolean;\n\n /**\n * Header text for the Panel.\n * @defaultvalue \"\"\n */\n headerText?: string;\n\n /**\n * The props for header text container.\n */\n headerTextProps?: React.HTMLAttributes;\n\n /**\n * A callback function for when the Panel is opened, before the animation completes.\n */\n onOpen?: () => void;\n\n /**\n * A callback function for when the Panel is opened, after the animation completes.\n */\n onOpened?: () => void;\n\n /**\n * A callback function for when the panel is closed, before the animation completes.\n * If the panel should NOT be dismissed based on some keyboard event, then simply call ev.preventDefault() on it\n */\n onDismiss?: (ev?: React.SyntheticEvent | KeyboardEvent) => void;\n\n /**\n * A callback function which is called **after** the Panel is dismissed and the animation is complete.\n * (If you need to update the Panel's `isOpen` prop in response to a dismiss event, use `onDismiss` instead.)\n */\n onDismissed?: () => void;\n\n /**\n * Call to provide customized styling that will layer on top of the variant rules.\n */\n styles?: IStyleFunctionOrObject;\n\n /**\n * Theme provided by High-Order Component.\n */\n theme?: ITheme;\n\n /**\n * Additional css class to apply to the Panel\n * @defaultvalue undefined\n */\n className?: string;\n\n /**\n * Type of the panel.\n * @defaultvalue PanelType.smallFixedFar\n */\n type?: PanelType;\n\n /**\n * Custom panel width, used only when `type` is set to `PanelType.custom`.\n */\n customWidth?: string;\n\n /**\n * Aria label on close button\n */\n closeButtonAriaLabel?: string;\n\n /**\n * Optional parameter to provider the class name for header text\n */\n headerClassName?: string;\n\n /**\n * Sets the HTMLElement to focus on when exiting the FocusTrapZone.\n * @defaultvalue The `element.target` that triggered the Panel.\n */\n elementToFocusOnDismiss?: HTMLElement;\n\n /**\n * Indicates if this Panel will ignore keeping track of HTMLElement that activated the Zone.\n * @defaultvalue false\n * @deprecated Use `focusTrapZoneProps`.\n */\n ignoreExternalFocusing?: boolean;\n\n /**\n * Indicates whether Panel should force focus inside the focus trap zone.\n * If not explicitly specified, behavior aligns with FocusTrapZone's default behavior.\n * @deprecated Use `focusTrapZoneProps`.\n */\n forceFocusInsideTrap?: boolean;\n\n /**\n * Indicates the selector for first focusable item.\n * @deprecated Use `focusTrapZoneProps`.\n */\n firstFocusableSelector?: string;\n\n /**\n * Optional props to pass to the FocusTrapZone component to manage focus in the panel.\n */\n focusTrapZoneProps?: IFocusTrapZoneProps;\n\n /**\n * Optional props to pass to the Layer component hosting the panel.\n */\n layerProps?: ILayerProps;\n\n /**\n * Optional props to pass to the Overlay component that the panel uses.\n */\n overlayProps?: IOverlayProps;\n\n /**\n * Optional props to pass the Popup component that the panel uses.\n */\n popupProps?: IPopupProps;\n\n /**\n * Optional custom function to handle clicks outside the panel in lightdismiss mode\n */\n onLightDismissClick?: () => void;\n\n /**\n * Optional custom function to handle clicks outside this component\n */\n onOuterClick?: (ev?: React.MouseEvent) => void;\n\n /**\n * Optional custom renderer navigation region. Replaces the region that contains the close button.\n */\n onRenderNavigation?: IRenderFunction;\n\n /**\n * Optional custom renderer for content in the navigation region. Replaces current close button.\n */\n onRenderNavigationContent?: IRenderFunction;\n\n /**\n * Optional custom renderer for header region. Replaces current title\n */\n onRenderHeader?: IPanelHeaderRenderer;\n\n /**\n * Optional custom renderer for body region. Replaces any children passed into the component.\n */\n onRenderBody?: IRenderFunction;\n\n /**\n * Optional custom renderer for footer region. Replaces sticky footer.\n */\n onRenderFooter?: IRenderFunction;\n\n /**\n * Custom renderer for content in the sticky footer\n */\n onRenderFooterContent?: IRenderFunction;\n\n /**\n * @deprecated Not used.\n */\n componentId?: string;\n\n /**\n * Allow body scroll on content and overlay on touch devices. Changing after mounting has no effect.\n * @defaultvalue false\n */\n allowTouchBodyScroll?: boolean;\n}\n\n/**\n * Renderer function which takes an additional parameter, the ID to use for the element containing\n * the panel's title. This allows the `aria-labelledby` for the panel popup to work correctly.\n * Note that if `headerTextId` is provided, it **must** be used on an element, or screen readers\n * will be confused by the reference to a nonexistent ID.\n * {@docCategory Panel}\n */\nexport interface IPanelHeaderRenderer extends IRenderFunction {\n /**\n * @param props - Props given to the panel\n * @param defaultRender - Default header renderer. If using this renderer in code that does not\n * assign `headerTextId` to an element elsewhere, it **must** be passed to this function.\n * @param headerTextId - If provided, this **must** be used as the ID of an element containing the\n * panel's title, because the panel popup uses this ID as its aria-labelledby.\n */\n (props?: IPanelProps, defaultRender?: IPanelHeaderRenderer, headerTextId?: string | undefined): JSX.Element | null;\n}\n\n/**\n * {@docCategory Panel}\n */\nexport enum PanelType {\n /**\n * Renders the Panel with a `fluid` (full screen) width.\n * Recommended for use on small screen breakpoints.\n * - Small (320-479): full screen width, 16px left/right padding\n * - Medium (480-639): full screen width, 16px left/right padding\n * - Large (640-1023): full screen width, 32px left/right padding\n * - XLarge (1024-1365): full screen width, 32px left/right padding\n * - XXLarge (1366-up): full screen width, 40px left/right padding\n */\n smallFluid = 0,\n\n /**\n * Renders the Panel in fixed-width `small` size, anchored to the far side (right in LTR mode).\n * - Small (320-479): adapts to `PanelType.smallFluid` at this breakpoint\n * - Medium (480-639): 340px width, 16px left/right padding\n * - Large (640-1023): 340px width, 32px left/right padding\n * - XLarge (1024-1365): 340px width, 32px left/right padding\n * - XXLarge (1366-up): 340px width, 40px left/right padding\n */\n smallFixedFar = 1,\n\n /**\n * Renders the Panel in fixed-width `small` size, anchored to the near side (left in LTR mode).\n * - Small (320-479): 272px width, 16px left/right padding\n * - Medium (480-639): 272px width, 16px left/right padding\n * - Large (640-1023): 272px width, 32px left/right padding\n * - XLarge (1024-1365): 272px width, 32px left/right padding\n * - XXLarge (1366-up): 272px width, 40px left/right padding\n */\n smallFixedNear = 2,\n\n /**\n * Renders the Panel in `medium` size, anchored to the far side (right in LTR mode).\n * - Small (320-479): adapts to `PanelType.smallFluid` at this breakpoint\n * - Medium (480-639): adapts to `PanelType.smallFixedFar` at this breakpoint\n * - Large (640-1023): 592px width, 32px left/right padding\n * - XLarge (1024-1365): 644px width, 32px left/right padding\n * - XXLarge (1366-up): 644px width, 40px left/right padding\n */\n medium = 3,\n\n /**\n * Renders the Panel in `large` size, anchored to the far side (right in LTR mode).\n * - Small (320-479): adapts to `PanelType.smallFluid` at this breakpoint\n * - Medium (480-639): adapts to `PanelType.smallFixedFar` at this breakpoint\n * - Large (640-1023): adapts to `PanelType.medium` at this breakpoint\n * - XLarge (1024-1365): 48px fixed left margin, fluid width, 32px left/right padding\n * - XXLarge (1366-up): 428px fixed left margin, fluid width, 40px left/right padding\n */\n large = 4,\n\n /**\n * Renders the Panel in `large` size, anchored to the far side (right in LTR mode), with a fixed width at\n * XX-Large breakpoint.\n * - Small (320-479): adapts to `PanelType.smallFluid` at this breakpoint\n * - Medium (480-639): adapts to `PanelType.smallFixedFar` at this breakpoint\n * - Large (640-1023): adapts to `PanelType.medium` at this breakpoint\n * - XLarge (1024-1365): 48px fixed left margin, fluid width, 32px left/right padding\n * - XXLarge (1366-up): 940px width, 40px left/right padding\n */\n largeFixed = 5,\n\n /**\n * Renders the Panel in `extra large` size, anchored to the far side (right in LTR mode).\n * - Small (320-479): adapts to `PanelType.smallFluid` at this breakpoint\n * - Medium (480-639): adapts to `PanelType.smallFixedFar` at this breakpoint\n * - Large (640-1023): adapts to `PanelType.medium` at this breakpoint\n * - XLarge (1024-1365): adapts to `PanelType.large` at this breakpoint\n * - XXLarge (1366-1919): 176px fixed left margin, fluid width, 40px left/right padding\n * - XXXLarge (1920-up): 176px fixed left margin, fluid width, 40px left/right padding\n */\n extraLarge = 6,\n\n /**\n * Renders the Panel in `custom` size using `customWidth`, anchored to the far side (right in LTR mode).\n * - Has a fixed width provided by the `customWidth` prop\n * - When screen width reaches the `customWidth` value it will behave like a fluid width Panel\n * taking up 100% of the viewport width\n */\n custom = 7,\n\n /**\n * Renders the Panel in `custom` size using `customWidth`, anchored to the near side (left in LTR mode).\n * - Has a fixed width provided by the `customWidth` prop\n * - When screen width reaches the `customWidth` value it will behave like a fluid width Panel\n * taking up 100% of the viewport width\n */\n customNear = 8,\n}\n\n/**\n * {@docCategory Panel}\n */\nexport interface IPanelStyleProps {\n /**\n * Theme provided by High-Order Component.\n */\n theme: ITheme;\n\n /**\n * Accept custom classNames\n */\n className?: string;\n\n /**\n * Is Panel open\n */\n isOpen?: boolean;\n\n /**\n * Is animation currently running\n */\n isAnimating?: boolean;\n\n /**\n * Is panel on right side\n */\n isOnRightSide?: boolean;\n\n /**\n * Is panel hidden on dismiss\n */\n isHiddenOnDismiss?: boolean;\n\n /**\n * Classname for FocusTrapZone element\n */\n focusTrapZoneClassName?: string;\n\n /**\n * Determines if content should stretch to fill available space putting footer at the bottom of the page\n */\n isFooterAtBottom?: boolean;\n\n /**\n * Based on state value setting footer to sticky or not\n */\n isFooterSticky?: boolean;\n\n /**\n * Panel has close button\n */\n hasCloseButton?: boolean;\n\n /**\n * Type of the panel.\n */\n type?: PanelType;\n\n /**\n * Optional parameter to provider the class name for header text\n */\n headerClassName?: string;\n\n /**\n * Determines where the header is rendered based on whether the user\n * has passed in a custom onRenderNavigation or onRenderNavigationContent render callback\n */\n hasCustomNavigation?: boolean;\n}\n\nexport interface IPanelSubComponentStyles {\n /**\n * Styling for close button child component.\n */\n closeButton: Partial;\n}\n\n/**\n * {@docCategory Panel}\n */\nexport interface IPanelStyles {\n /**\n * Style for the root element.\n */\n root: IStyle;\n\n /**\n * Style for the overlay element.\n */\n overlay: IStyle;\n\n /**\n * Style for the hidden element.\n */\n hiddenPanel: IStyle;\n\n /**\n * Style for the main section element.\n */\n main: IStyle;\n\n /**\n * Style for the navigation container element.\n */\n commands: IStyle;\n\n /**\n * Style for the Body and Footer container element.\n */\n contentInner: IStyle;\n\n /**\n * Style for the scrollable content area container element.\n */\n scrollableContent: IStyle;\n\n /**\n * Style for the close button container element.\n */\n navigation: IStyle;\n\n /**\n * Style for the close button IconButton element.\n * @deprecated Use `subComponentStyles.closeButton` instead.\n */\n closeButton?: IStyle;\n\n /**\n * Style for the header container div element.\n */\n header: IStyle;\n\n /**\n * Style for the header text div element.\n */\n headerText: IStyle;\n\n /**\n * Style for the body div element.\n */\n content: IStyle;\n\n /**\n * Style for the footer div element.\n */\n footer: IStyle;\n\n /**\n * Style for the inner footer div element.\n */\n footerInner: IStyle;\n\n /**\n * Styling for subcomponents.\n */\n subComponentStyles: IPanelSubComponentStyles;\n}\n","import {\n AnimationClassNames,\n getGlobalClassNames,\n getInputFocusStyle,\n HighContrastSelector,\n IStyle,\n normalize,\n getPlaceholderStyles,\n IconFontSizes,\n getHighContrastNoAdjustStyle,\n} from '../../Styling';\nimport { ILabelStyles, ILabelStyleProps } from '../../Label';\nimport { ITextFieldStyleProps, ITextFieldStyles } from './TextField.types';\nimport { IStyleFunctionOrObject } from '@fluentui/utilities';\n\nconst globalClassNames = {\n root: 'ms-TextField',\n description: 'ms-TextField-description',\n errorMessage: 'ms-TextField-errorMessage',\n field: 'ms-TextField-field',\n fieldGroup: 'ms-TextField-fieldGroup',\n prefix: 'ms-TextField-prefix',\n suffix: 'ms-TextField-suffix',\n wrapper: 'ms-TextField-wrapper',\n revealButton: 'ms-TextField-reveal',\n\n multiline: 'ms-TextField--multiline',\n borderless: 'ms-TextField--borderless',\n underlined: 'ms-TextField--underlined',\n unresizable: 'ms-TextField--unresizable',\n\n required: 'is-required',\n disabled: 'is-disabled',\n active: 'is-active',\n};\n\nfunction getLabelStyles(props: ITextFieldStyleProps): IStyleFunctionOrObject {\n const { underlined, disabled, focused, theme } = props;\n const { palette, fonts } = theme;\n\n return () => ({\n root: [\n underlined &&\n disabled && {\n color: palette.neutralTertiary,\n },\n underlined && {\n fontSize: fonts.medium.fontSize,\n marginRight: 8,\n paddingLeft: 12,\n paddingRight: 0,\n lineHeight: '22px',\n height: 32,\n },\n underlined &&\n focused && {\n selectors: {\n [HighContrastSelector]: {\n height: 31, // -1px to prevent jumpiness in HC with the increased border-width to 2px\n },\n },\n },\n ],\n });\n}\n\nexport function getStyles(props: ITextFieldStyleProps): ITextFieldStyles {\n const {\n theme,\n className,\n disabled,\n focused,\n required,\n multiline,\n hasLabel,\n borderless,\n underlined,\n hasIcon,\n resizable,\n hasErrorMessage,\n inputClassName,\n autoAdjustHeight,\n hasRevealButton,\n } = props;\n\n const { semanticColors, effects, fonts } = theme;\n\n const classNames = getGlobalClassNames(globalClassNames, theme);\n\n const fieldPrefixSuffix: IStyle = {\n // Suffix/Prefix are not editable so the disabled slot perfectly fits.\n background: semanticColors.disabledBackground,\n color: !disabled ? semanticColors.inputPlaceholderText : semanticColors.disabledText,\n display: 'flex',\n alignItems: 'center',\n padding: '0 10px',\n lineHeight: 1,\n whiteSpace: 'nowrap',\n flexShrink: 0,\n selectors: {\n [HighContrastSelector]: {\n background: 'Window',\n color: disabled ? 'GrayText' : 'WindowText',\n },\n },\n };\n\n // placeholder style constants\n const placeholderStyles: IStyle = [\n fonts.medium,\n {\n color: semanticColors.inputPlaceholderText,\n opacity: 1,\n selectors: {\n [HighContrastSelector]: {\n color: 'GrayText',\n },\n },\n },\n ];\n\n const disabledPlaceholderStyles: IStyle = {\n color: semanticColors.disabledText,\n selectors: {\n [HighContrastSelector]: {\n color: 'GrayText',\n },\n },\n };\n\n return {\n root: [\n classNames.root,\n fonts.medium,\n required && classNames.required,\n disabled && classNames.disabled,\n focused && classNames.active,\n multiline && classNames.multiline,\n borderless && classNames.borderless,\n underlined && classNames.underlined,\n normalize,\n {\n position: 'relative',\n },\n className,\n ],\n wrapper: [\n classNames.wrapper,\n\n underlined && [\n {\n display: 'flex',\n borderBottom: `1px solid ${!hasErrorMessage ? semanticColors.inputBorder : semanticColors.errorText}`,\n width: '100%',\n },\n disabled && {\n borderBottomColor: semanticColors.disabledBackground,\n selectors: {\n [HighContrastSelector]: {\n borderColor: 'GrayText',\n ...getHighContrastNoAdjustStyle(),\n },\n },\n },\n !disabled && {\n selectors: {\n ':hover': {\n borderBottomColor: !hasErrorMessage ? semanticColors.inputBorderHovered : semanticColors.errorText,\n selectors: {\n [HighContrastSelector]: {\n borderBottomColor: 'Highlight',\n ...getHighContrastNoAdjustStyle(),\n },\n },\n },\n },\n },\n focused && [\n {\n position: 'relative',\n },\n getInputFocusStyle(\n !hasErrorMessage ? semanticColors.inputFocusBorderAlt : semanticColors.errorText,\n 0,\n 'borderBottom',\n ),\n ],\n ],\n ],\n fieldGroup: [\n classNames.fieldGroup,\n normalize,\n {\n border: `1px solid ${semanticColors.inputBorder}`,\n borderRadius: effects.roundedCorner2,\n background: semanticColors.inputBackground,\n cursor: 'text',\n height: 32,\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'stretch',\n position: 'relative',\n },\n multiline && {\n minHeight: '60px',\n height: 'auto',\n display: 'flex',\n },\n\n !focused &&\n !disabled && {\n selectors: {\n ':hover': {\n borderColor: semanticColors.inputBorderHovered,\n selectors: {\n [HighContrastSelector]: {\n borderColor: 'Highlight',\n ...getHighContrastNoAdjustStyle(),\n },\n },\n },\n },\n },\n\n focused &&\n !underlined &&\n getInputFocusStyle(\n !hasErrorMessage ? semanticColors.inputFocusBorderAlt : semanticColors.errorText,\n effects.roundedCorner2,\n ),\n disabled && {\n borderColor: semanticColors.disabledBackground,\n selectors: {\n [HighContrastSelector]: {\n borderColor: 'GrayText',\n ...getHighContrastNoAdjustStyle(),\n },\n },\n\n cursor: 'default',\n },\n borderless && {\n border: 'none',\n },\n borderless &&\n focused && {\n border: 'none',\n selectors: {\n ':after': {\n border: 'none',\n },\n },\n },\n underlined && {\n flex: '1 1 0px',\n border: 'none',\n textAlign: 'left',\n },\n underlined &&\n disabled && {\n backgroundColor: 'transparent',\n },\n\n hasErrorMessage &&\n !underlined && {\n borderColor: semanticColors.errorText,\n selectors: {\n '&:hover': {\n borderColor: semanticColors.errorText,\n },\n },\n },\n !hasLabel &&\n required && {\n selectors: {\n ':before': {\n content: `'*'`,\n color: semanticColors.errorText,\n position: 'absolute',\n top: -5,\n right: -10,\n },\n [HighContrastSelector]: {\n selectors: {\n ':before': {\n color: 'WindowText',\n right: -14, // moving the * 4 pixel to right to alleviate border clipping in HC mode.\n },\n },\n },\n },\n },\n ],\n field: [\n fonts.medium,\n classNames.field,\n normalize,\n {\n borderRadius: 0,\n border: 'none',\n background: 'none',\n backgroundColor: 'transparent',\n color: semanticColors.inputText,\n padding: '0 8px',\n width: '100%',\n minWidth: 0,\n textOverflow: 'ellipsis',\n outline: 0,\n selectors: {\n '&:active, &:focus, &:hover': { outline: 0 },\n '::-ms-clear': {\n display: 'none',\n },\n [HighContrastSelector]: {\n background: 'Window',\n color: disabled ? 'GrayText' : 'WindowText',\n },\n },\n },\n getPlaceholderStyles(placeholderStyles),\n multiline &&\n !resizable && [\n classNames.unresizable,\n {\n resize: 'none',\n },\n ],\n multiline && {\n minHeight: 'inherit',\n lineHeight: 17,\n flexGrow: 1,\n paddingTop: 6,\n paddingBottom: 6,\n overflow: 'auto',\n width: '100%',\n },\n multiline &&\n autoAdjustHeight && {\n overflow: 'hidden',\n },\n hasIcon &&\n !hasRevealButton && {\n paddingRight: 24,\n },\n multiline &&\n hasIcon && {\n paddingRight: 40,\n },\n disabled && [\n {\n backgroundColor: semanticColors.disabledBackground,\n color: semanticColors.disabledText,\n borderColor: semanticColors.disabledBackground,\n },\n getPlaceholderStyles(disabledPlaceholderStyles),\n ],\n underlined && {\n textAlign: 'left',\n },\n focused &&\n !borderless && {\n selectors: {\n [HighContrastSelector]: {\n paddingLeft: 11,\n paddingRight: 11,\n },\n },\n },\n focused &&\n multiline &&\n !borderless && {\n selectors: {\n [HighContrastSelector]: {\n paddingTop: 4, // take into consideration the 2px increased border-width (not when borderless).\n },\n },\n },\n inputClassName,\n ],\n icon: [\n multiline && {\n paddingRight: 24,\n alignItems: 'flex-end',\n },\n {\n pointerEvents: 'none',\n position: 'absolute',\n bottom: 6,\n right: 8,\n top: 'auto',\n fontSize: IconFontSizes.medium,\n lineHeight: 18,\n },\n disabled && {\n color: semanticColors.disabledText,\n },\n ],\n description: [\n classNames.description,\n {\n color: semanticColors.bodySubtext,\n fontSize: fonts.xSmall.fontSize,\n },\n ],\n errorMessage: [\n classNames.errorMessage,\n AnimationClassNames.slideDownIn20,\n fonts.small,\n {\n color: semanticColors.errorText,\n margin: 0,\n paddingTop: 5,\n display: 'flex',\n alignItems: 'center',\n },\n ],\n prefix: [classNames.prefix, fieldPrefixSuffix],\n suffix: [classNames.suffix, fieldPrefixSuffix],\n revealButton: [\n classNames.revealButton,\n 'ms-Button',\n 'ms-Button--icon',\n {\n height: 30,\n width: 32,\n border: 'none',\n padding: '0px 4px',\n backgroundColor: 'transparent',\n color: semanticColors.link,\n selectors: {\n ':hover': {\n outline: 0,\n color: semanticColors.primaryButtonBackgroundHovered,\n backgroundColor: semanticColors.buttonBackgroundHovered,\n selectors: {\n [HighContrastSelector]: {\n borderColor: 'Highlight',\n color: 'Highlight',\n },\n },\n },\n ':focus': { outline: 0 },\n },\n },\n hasIcon && {\n marginRight: 28,\n },\n ],\n revealSpan: {\n display: 'flex',\n height: '100%',\n alignItems: 'center',\n },\n revealIcon: {\n margin: '0px 4px',\n pointerEvents: 'none',\n bottom: 6,\n right: 8,\n top: 'auto',\n fontSize: IconFontSizes.medium,\n lineHeight: 18,\n },\n subComponentStyles: {\n label: getLabelStyles(props),\n },\n };\n}\n","import * as React from 'react';\nimport { styled } from '../../Utilities';\nimport { TextFieldBase } from './TextField.base';\nimport { ITextFieldProps, ITextFieldStyles, ITextFieldStyleProps } from './TextField.types';\nimport { getStyles } from './TextField.styles';\nexport { ITextField } from './TextField.types';\n\nexport const TextField: React.FunctionComponent = styled<\n ITextFieldProps,\n ITextFieldStyleProps,\n ITextFieldStyles\n>(TextFieldBase, getStyles, undefined, {\n scope: 'TextField',\n});\n","import { KeyCodes } from './KeyCodes';\nimport { getDocument } from './dom/getDocument';\nimport { getItem, setItem } from './sessionStorage';\nimport { setRTL as mergeStylesSetRTL } from '@fluentui/merge-styles';\n\nconst RTL_LOCAL_STORAGE_KEY = 'isRTL';\n\n// Default to undefined so that we initialize on first read.\nlet _isRTL: boolean | undefined;\n\n/**\n * Gets the rtl state of the page (returns true if in rtl.)\n */\nexport function getRTL(theme: { rtl?: boolean } = {}): boolean {\n if (theme.rtl !== undefined) {\n return theme.rtl;\n }\n if (_isRTL === undefined) {\n // Fabric supports persisting the RTL setting between page refreshes via session storage\n let savedRTL = getItem(RTL_LOCAL_STORAGE_KEY);\n if (savedRTL !== null) {\n _isRTL = savedRTL === '1';\n setRTL(_isRTL);\n }\n\n let doc = getDocument();\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/**\n * Sets the rtl state of the page (by adjusting the dir attribute of the html element.)\n */\nexport function setRTL(isRTL: boolean, persistSetting: boolean = false): void {\n let doc = getDocument();\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/**\n * Returns the given key, but flips right/left arrows if necessary.\n */\nexport function getRTLSafeKeyCode(key: number, theme: { rtl?: boolean } = {}): number {\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","/**\n * Compares a to b and b to a.\n *\n * @public\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function shallowCompare(a: TA, b: TB): boolean {\n for (let propName in a) {\n if ((a as Object).hasOwnProperty(propName)) {\n if (!(b as Object).hasOwnProperty(propName) || (b as { [key: string]: unknown })[propName] !== a[propName]) {\n return false;\n }\n }\n }\n for (let propName in b) {\n if ((b as Object).hasOwnProperty(propName)) {\n if (!(a as Object).hasOwnProperty(propName)) {\n return false;\n }\n }\n }\n return true;\n}\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// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function assign(this: any, target: any, ...args: any[]): any {\n return filteredAssign.apply(this, [null, target].concat(args));\n}\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// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function filteredAssign(isAllowed: (propName: string) => boolean, target: any, ...args: any[]): any {\n target = target || {};\n\n for (let sourceObject of args) {\n if (sourceObject) {\n for (let 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}\n\n/**\n * Takes an enum and iterates over each value of the enum (as a string), running the callback on each,\n * returning a mapped array.\n * @param theEnum - Enum to iterate over\n * @param callback - The first parameter the name of the entry, and the second parameter is the value\n * of that entry, which is the value you'd normally use when using the enum (usually a number).\n */\nexport function mapEnumByName(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n theEnum: any,\n callback: (name?: string, value?: string | number) => T | undefined,\n): (T | undefined)[] | undefined {\n // map to satisfy compiler since it doesn't realize we strip out undefineds in the .filter() call\n return Object.keys(theEnum)\n .map((p: string | number) => {\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 as string, theEnum[p]);\n }\n return undefined;\n })\n .filter((v: T | undefined) => !!v); // only return elements with values\n}\n\n/**\n * Get all values in an object dictionary\n *\n * @param obj - The dictionary to get values for\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function values(obj: any): T[] {\n return Object.keys(obj).reduce((arr: T[], key: string): T[] => {\n arr.push(obj[key]);\n return arr;\n }, []);\n}\n\n/**\n * Tiny helper to do the minimal amount of work in duplicating an object but omitting some\n * props. This ends up faster than using object ...rest or reduce to filter.\n *\n * This behaves very much like filteredAssign, but does not merge many objects together,\n * uses an exclusion object map, and avoids spreads all for optimal performance.\n *\n * See perf test for background:\n * https://jsperf.com/omit-vs-rest-vs-reduce/1\n *\n * @param obj - The object to clone\n * @param exclusions - The array of keys to exclude\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function omit>(obj: TObj, exclusions: (keyof TObj)[]): TObj {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const result: Record = {};\n\n for (const key in obj) {\n if (exclusions.indexOf(key) === -1 && obj.hasOwnProperty(key)) {\n result[key] = obj[key];\n }\n }\n\n return result as TObj;\n}\n","import { getWindow } from './dom/getWindow';\nexport const IsFocusVisibleClassName = 'ms-Fabric--isFocusVisible';\nexport const IsFocusHiddenClassName = 'ms-Fabric--isFocusHidden';\n\n/**\n * Sets the visibility of focus styling.\n *\n * By default, focus styles (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 *\n * A use case might be when you have a keypress like ctrl-f6 navigate to a particular region on the page,\n * and want focus to show up.\n *\n * @param enabled - whether to remove or add focus\n * @param target - optional target\n */\nexport function setFocusVisibility(enabled: boolean, target?: Element): void {\n const win = target ? getWindow(target) : getWindow();\n\n if (win) {\n const { classList } = win.document.body;\n classList.add(enabled ? IsFocusVisibleClassName : IsFocusHiddenClassName);\n classList.remove(enabled ? IsFocusHiddenClassName : IsFocusVisibleClassName);\n }\n}\n","import * as React from 'react';\nimport { styled } from '../../Utilities';\nimport { IIconProps, IIconStyleProps, IIconStyles } from './Icon.types';\nimport { IconBase } from './Icon.base';\nimport { getStyles } from './Icon.styles';\n\n/**\n * Legacy Icon component which can be targeted by customization. It's recommended to use `FontIcon`\n * or `ImageIcon` instead, especially in scenarios where rendering performance is important.\n * {@docCategory Icon}\n */\nexport const Icon: React.FunctionComponent = styled(\n IconBase,\n getStyles,\n undefined,\n {\n scope: 'Icon',\n },\n true,\n);\nIcon.displayName = 'Icon';\n","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","/**\n * This action type will be dispatched when your history\n * receives a location change.\n */\nexport var LOCATION_CHANGE = '@@router/LOCATION_CHANGE';\nexport var onLocationChanged = function onLocationChanged(location, action) {\n var isFirstRendering = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n return {\n type: LOCATION_CHANGE,\n payload: {\n location: location,\n action: action,\n isFirstRendering: isFirstRendering\n }\n };\n};\n/**\n * This action type will be dispatched by the history actions below.\n * If you're writing a middleware to watch for navigation events, be sure to\n * look for actions of this type.\n */\n\nexport var CALL_HISTORY_METHOD = '@@router/CALL_HISTORY_METHOD';\n\nvar updateLocation = function updateLocation(method) {\n return function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return {\n type: CALL_HISTORY_METHOD,\n payload: {\n method: method,\n args: args\n }\n };\n };\n};\n/**\n * These actions correspond to the history API.\n * The associated routerMiddleware will capture these events before they get to\n * your reducer and reissue them as the matching function on your history.\n */\n\n\nexport var push = updateLocation('push');\nexport var replace = updateLocation('replace');\nexport var go = updateLocation('go');\nexport var goBack = updateLocation('goBack');\nexport var goForward = updateLocation('goForward');\nexport var routerActions = {\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward\n};","import React from 'react';\nexport var ReactReduxContext =\n/*#__PURE__*/\nReact.createContext(null);\n\nif (process.env.NODE_ENV !== 'production') {\n ReactReduxContext.displayName = 'ReactRedux';\n}\n\nexport default ReactReduxContext;","// Default to a dummy \"batch\" implementation that just runs the callback\nfunction defaultNoopBatch(callback) {\n callback();\n}\n\nvar batch = defaultNoopBatch; // Allow injecting another batching function later\n\nexport var setBatch = function setBatch(newBatch) {\n return batch = newBatch;\n}; // Supply a getter just to skip dealing with ESM bindings\n\nexport var getBatch = function getBatch() {\n return batch;\n};","import { getBatch } from './batch'; // encapsulates the subscription logic for connecting a component to the redux store, as\n// well as nesting subscriptions of descendant components, so that we can ensure the\n// ancestor components re-render before descendants\n\nvar nullListeners = {\n notify: function notify() {}\n};\n\nfunction createListenerCollection() {\n var batch = getBatch();\n var first = null;\n var last = null;\n return {\n clear: function clear() {\n first = null;\n last = null;\n },\n notify: function notify() {\n batch(function () {\n var listener = first;\n\n while (listener) {\n listener.callback();\n listener = listener.next;\n }\n });\n },\n get: function get() {\n var listeners = [];\n var listener = first;\n\n while (listener) {\n listeners.push(listener);\n listener = listener.next;\n }\n\n return listeners;\n },\n subscribe: function subscribe(callback) {\n var isSubscribed = true;\n var listener = last = {\n callback: callback,\n next: null,\n prev: last\n };\n\n if (listener.prev) {\n listener.prev.next = listener;\n } else {\n first = listener;\n }\n\n return function unsubscribe() {\n if (!isSubscribed || first === null) return;\n isSubscribed = false;\n\n if (listener.next) {\n listener.next.prev = listener.prev;\n } else {\n last = listener.prev;\n }\n\n if (listener.prev) {\n listener.prev.next = listener.next;\n } else {\n first = listener.next;\n }\n };\n }\n };\n}\n\nvar Subscription =\n/*#__PURE__*/\nfunction () {\n function Subscription(store, parentSub) {\n this.store = store;\n this.parentSub = parentSub;\n this.unsubscribe = null;\n this.listeners = nullListeners;\n this.handleChangeWrapper = this.handleChangeWrapper.bind(this);\n }\n\n var _proto = Subscription.prototype;\n\n _proto.addNestedSub = function addNestedSub(listener) {\n this.trySubscribe();\n return this.listeners.subscribe(listener);\n };\n\n _proto.notifyNestedSubs = function notifyNestedSubs() {\n this.listeners.notify();\n };\n\n _proto.handleChangeWrapper = function handleChangeWrapper() {\n if (this.onStateChange) {\n this.onStateChange();\n }\n };\n\n _proto.isSubscribed = function isSubscribed() {\n return Boolean(this.unsubscribe);\n };\n\n _proto.trySubscribe = function trySubscribe() {\n if (!this.unsubscribe) {\n this.unsubscribe = this.parentSub ? this.parentSub.addNestedSub(this.handleChangeWrapper) : this.store.subscribe(this.handleChangeWrapper);\n this.listeners = createListenerCollection();\n }\n };\n\n _proto.tryUnsubscribe = function tryUnsubscribe() {\n if (this.unsubscribe) {\n this.unsubscribe();\n this.unsubscribe = null;\n this.listeners.clear();\n this.listeners = nullListeners;\n }\n };\n\n return Subscription;\n}();\n\nexport { Subscription as default };","import React, { useMemo, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { ReactReduxContext } from './Context';\nimport Subscription from '../utils/Subscription';\n\nfunction Provider(_ref) {\n var store = _ref.store,\n context = _ref.context,\n children = _ref.children;\n var contextValue = useMemo(function () {\n var subscription = new Subscription(store);\n subscription.onStateChange = subscription.notifyNestedSubs;\n return {\n store: store,\n subscription: subscription\n };\n }, [store]);\n var previousState = useMemo(function () {\n return store.getState();\n }, [store]);\n useEffect(function () {\n var subscription = contextValue.subscription;\n subscription.trySubscribe();\n\n if (previousState !== store.getState()) {\n subscription.notifyNestedSubs();\n }\n\n return function () {\n subscription.tryUnsubscribe();\n subscription.onStateChange = null;\n };\n }, [contextValue, previousState]);\n var Context = context || ReactReduxContext;\n return React.createElement(Context.Provider, {\n value: contextValue\n }, children);\n}\n\nif (process.env.NODE_ENV !== 'production') {\n Provider.propTypes = {\n store: PropTypes.shape({\n subscribe: PropTypes.func.isRequired,\n dispatch: PropTypes.func.isRequired,\n getState: PropTypes.func.isRequired\n }),\n context: PropTypes.object,\n children: PropTypes.any\n };\n}\n\nexport default Provider;","import { useEffect, useLayoutEffect } from 'react'; // React currently throws a warning when using useLayoutEffect on the server.\n// To get around it, we can conditionally useEffect on the server (no-op) and\n// useLayoutEffect in the browser. We need useLayoutEffect to ensure the store\n// subscription callback always has the selector from the latest render commit\n// available, otherwise a store update may happen between render and the effect,\n// which may cause missed updates; we also must ensure the store subscription\n// is created synchronously, otherwise a store update may occur before the\n// subscription is created and an inconsistent state may be observed\n\nexport var useIsomorphicLayoutEffect = typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined' ? useLayoutEffect : useEffect;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport hoistStatics from 'hoist-non-react-statics';\nimport React, { useContext, useMemo, useRef, useReducer } from 'react';\nimport { isValidElementType, isContextConsumer } from 'react-is';\nimport Subscription from '../utils/Subscription';\nimport { useIsomorphicLayoutEffect } from '../utils/useIsomorphicLayoutEffect';\nimport { ReactReduxContext } from './Context'; // Define some constant arrays just to avoid re-creating these\n\nvar EMPTY_ARRAY = [];\nvar NO_SUBSCRIPTION_ARRAY = [null, null];\n\nvar stringifyComponent = function stringifyComponent(Comp) {\n try {\n return JSON.stringify(Comp);\n } catch (err) {\n return String(Comp);\n }\n};\n\nfunction storeStateUpdatesReducer(state, action) {\n var updateCount = state[1];\n return [action.payload, updateCount + 1];\n}\n\nfunction useIsomorphicLayoutEffectWithArgs(effectFunc, effectArgs, dependencies) {\n useIsomorphicLayoutEffect(function () {\n return effectFunc.apply(void 0, effectArgs);\n }, dependencies);\n}\n\nfunction captureWrapperProps(lastWrapperProps, lastChildProps, renderIsScheduled, wrapperProps, actualChildProps, childPropsFromStoreUpdate, notifyNestedSubs) {\n // We want to capture the wrapper props and child props we used for later comparisons\n lastWrapperProps.current = wrapperProps;\n lastChildProps.current = actualChildProps;\n renderIsScheduled.current = false; // If the render was from a store update, clear out that reference and cascade the subscriber update\n\n if (childPropsFromStoreUpdate.current) {\n childPropsFromStoreUpdate.current = null;\n notifyNestedSubs();\n }\n}\n\nfunction subscribeUpdates(shouldHandleStateChanges, store, subscription, childPropsSelector, lastWrapperProps, lastChildProps, renderIsScheduled, childPropsFromStoreUpdate, notifyNestedSubs, forceComponentUpdateDispatch) {\n // If we're not subscribed to the store, nothing to do here\n if (!shouldHandleStateChanges) return; // Capture values for checking if and when this component unmounts\n\n var didUnsubscribe = false;\n var lastThrownError = null; // We'll run this callback every time a store subscription update propagates to this component\n\n var checkForUpdates = function checkForUpdates() {\n if (didUnsubscribe) {\n // Don't run stale listeners.\n // Redux doesn't guarantee unsubscriptions happen until next dispatch.\n return;\n }\n\n var latestStoreState = store.getState();\n var newChildProps, error;\n\n try {\n // Actually run the selector with the most recent store state and wrapper props\n // to determine what the child props should be\n newChildProps = childPropsSelector(latestStoreState, lastWrapperProps.current);\n } catch (e) {\n error = e;\n lastThrownError = e;\n }\n\n if (!error) {\n lastThrownError = null;\n } // If the child props haven't changed, nothing to do here - cascade the subscription update\n\n\n if (newChildProps === lastChildProps.current) {\n if (!renderIsScheduled.current) {\n notifyNestedSubs();\n }\n } else {\n // Save references to the new child props. Note that we track the \"child props from store update\"\n // as a ref instead of a useState/useReducer because we need a way to determine if that value has\n // been processed. If this went into useState/useReducer, we couldn't clear out the value without\n // forcing another re-render, which we don't want.\n lastChildProps.current = newChildProps;\n childPropsFromStoreUpdate.current = newChildProps;\n renderIsScheduled.current = true; // If the child props _did_ change (or we caught an error), this wrapper component needs to re-render\n\n forceComponentUpdateDispatch({\n type: 'STORE_UPDATED',\n payload: {\n error: error\n }\n });\n }\n }; // Actually subscribe to the nearest connected ancestor (or store)\n\n\n subscription.onStateChange = checkForUpdates;\n subscription.trySubscribe(); // Pull data from the store after first render in case the store has\n // changed since we began.\n\n checkForUpdates();\n\n var unsubscribeWrapper = function unsubscribeWrapper() {\n didUnsubscribe = true;\n subscription.tryUnsubscribe();\n subscription.onStateChange = null;\n\n if (lastThrownError) {\n // It's possible that we caught an error due to a bad mapState function, but the\n // parent re-rendered without this component and we're about to unmount.\n // This shouldn't happen as long as we do top-down subscriptions correctly, but\n // if we ever do those wrong, this throw will surface the error in our tests.\n // In that case, throw the error from here so it doesn't get lost.\n throw lastThrownError;\n }\n };\n\n return unsubscribeWrapper;\n}\n\nvar initStateUpdates = function initStateUpdates() {\n return [null, 0];\n};\n\nexport default function connectAdvanced(\n/*\r\n selectorFactory is a func that is responsible for returning the selector function used to\r\n compute new props from state, props, and dispatch. For example:\r\n export default connectAdvanced((dispatch, options) => (state, props) => ({\r\n thing: state.things[props.thingId],\r\n saveThing: fields => dispatch(actionCreators.saveThing(props.thingId, fields)),\r\n }))(YourComponent)\r\n Access to dispatch is provided to the factory so selectorFactories can bind actionCreators\r\n outside of their selector as an optimization. Options passed to connectAdvanced are passed to\r\n the selectorFactory, along with displayName and WrappedComponent, as the second argument.\r\n Note that selectorFactory is responsible for all caching/memoization of inbound and outbound\r\n props. Do not use connectAdvanced directly without memoizing results between calls to your\r\n selector, otherwise the Connect component will re-render on every state or props change.\r\n*/\nselectorFactory, // options object:\n_ref) {\n if (_ref === void 0) {\n _ref = {};\n }\n\n var _ref2 = _ref,\n _ref2$getDisplayName = _ref2.getDisplayName,\n getDisplayName = _ref2$getDisplayName === void 0 ? function (name) {\n return \"ConnectAdvanced(\" + name + \")\";\n } : _ref2$getDisplayName,\n _ref2$methodName = _ref2.methodName,\n methodName = _ref2$methodName === void 0 ? 'connectAdvanced' : _ref2$methodName,\n _ref2$renderCountProp = _ref2.renderCountProp,\n renderCountProp = _ref2$renderCountProp === void 0 ? undefined : _ref2$renderCountProp,\n _ref2$shouldHandleSta = _ref2.shouldHandleStateChanges,\n shouldHandleStateChanges = _ref2$shouldHandleSta === void 0 ? true : _ref2$shouldHandleSta,\n _ref2$storeKey = _ref2.storeKey,\n storeKey = _ref2$storeKey === void 0 ? 'store' : _ref2$storeKey,\n _ref2$withRef = _ref2.withRef,\n withRef = _ref2$withRef === void 0 ? false : _ref2$withRef,\n _ref2$forwardRef = _ref2.forwardRef,\n forwardRef = _ref2$forwardRef === void 0 ? false : _ref2$forwardRef,\n _ref2$context = _ref2.context,\n context = _ref2$context === void 0 ? ReactReduxContext : _ref2$context,\n connectOptions = _objectWithoutPropertiesLoose(_ref2, [\"getDisplayName\", \"methodName\", \"renderCountProp\", \"shouldHandleStateChanges\", \"storeKey\", \"withRef\", \"forwardRef\", \"context\"]);\n\n if (process.env.NODE_ENV !== 'production') {\n if (renderCountProp !== undefined) {\n throw new Error(\"renderCountProp is removed. render counting is built into the latest React Dev Tools profiling extension\");\n }\n\n if (withRef) {\n throw new Error('withRef is removed. To access the wrapped instance, use a ref on the connected component');\n }\n\n var customStoreWarningMessage = 'To use a custom Redux store for specific components, create a custom React context with ' + \"React.createContext(), and pass the context object to React Redux's Provider and specific components\" + ' like: . ' + 'You may also pass a {context : MyContext} option to connect';\n\n if (storeKey !== 'store') {\n throw new Error('storeKey has been removed and does not do anything. ' + customStoreWarningMessage);\n }\n }\n\n var Context = context;\n return function wrapWithConnect(WrappedComponent) {\n if (process.env.NODE_ENV !== 'production' && !isValidElementType(WrappedComponent)) {\n throw new Error(\"You must pass a component to the function returned by \" + (methodName + \". Instead received \" + stringifyComponent(WrappedComponent)));\n }\n\n var wrappedComponentName = WrappedComponent.displayName || WrappedComponent.name || 'Component';\n var displayName = getDisplayName(wrappedComponentName);\n\n var selectorFactoryOptions = _extends({}, connectOptions, {\n getDisplayName: getDisplayName,\n methodName: methodName,\n renderCountProp: renderCountProp,\n shouldHandleStateChanges: shouldHandleStateChanges,\n storeKey: storeKey,\n displayName: displayName,\n wrappedComponentName: wrappedComponentName,\n WrappedComponent: WrappedComponent\n });\n\n var pure = connectOptions.pure;\n\n function createChildSelector(store) {\n return selectorFactory(store.dispatch, selectorFactoryOptions);\n } // If we aren't running in \"pure\" mode, we don't want to memoize values.\n // To avoid conditionally calling hooks, we fall back to a tiny wrapper\n // that just executes the given callback immediately.\n\n\n var usePureOnlyMemo = pure ? useMemo : function (callback) {\n return callback();\n };\n\n function ConnectFunction(props) {\n var _useMemo = useMemo(function () {\n // Distinguish between actual \"data\" props that were passed to the wrapper component,\n // and values needed to control behavior (forwarded refs, alternate context instances).\n // To maintain the wrapperProps object reference, memoize this destructuring.\n var forwardedRef = props.forwardedRef,\n wrapperProps = _objectWithoutPropertiesLoose(props, [\"forwardedRef\"]);\n\n return [props.context, forwardedRef, wrapperProps];\n }, [props]),\n propsContext = _useMemo[0],\n forwardedRef = _useMemo[1],\n wrapperProps = _useMemo[2];\n\n var ContextToUse = useMemo(function () {\n // Users may optionally pass in a custom context instance to use instead of our ReactReduxContext.\n // Memoize the check that determines which context instance we should use.\n return propsContext && propsContext.Consumer && isContextConsumer(React.createElement(propsContext.Consumer, null)) ? propsContext : Context;\n }, [propsContext, Context]); // Retrieve the store and ancestor subscription via context, if available\n\n var contextValue = useContext(ContextToUse); // The store _must_ exist as either a prop or in context.\n // We'll check to see if it _looks_ like a Redux store first.\n // This allows us to pass through a `store` prop that is just a plain value.\n\n var didStoreComeFromProps = Boolean(props.store) && Boolean(props.store.getState) && Boolean(props.store.dispatch);\n var didStoreComeFromContext = Boolean(contextValue) && Boolean(contextValue.store);\n\n if (process.env.NODE_ENV !== 'production' && !didStoreComeFromProps && !didStoreComeFromContext) {\n throw new Error(\"Could not find \\\"store\\\" in the context of \" + (\"\\\"\" + displayName + \"\\\". Either wrap the root component in a , \") + \"or pass a custom React context provider to and the corresponding \" + (\"React context consumer to \" + displayName + \" in connect options.\"));\n } // Based on the previous check, one of these must be true\n\n\n var store = didStoreComeFromProps ? props.store : contextValue.store;\n var childPropsSelector = useMemo(function () {\n // The child props selector needs the store reference as an input.\n // Re-create this selector whenever the store changes.\n return createChildSelector(store);\n }, [store]);\n\n var _useMemo2 = useMemo(function () {\n if (!shouldHandleStateChanges) return NO_SUBSCRIPTION_ARRAY; // This Subscription's source should match where store came from: props vs. context. A component\n // connected to the store via props shouldn't use subscription from context, or vice versa.\n\n var subscription = new Subscription(store, didStoreComeFromProps ? null : contextValue.subscription); // `notifyNestedSubs` is duplicated to handle the case where the component is unmounted in\n // the middle of the notification loop, where `subscription` will then be null. This can\n // probably be avoided if Subscription's listeners logic is changed to not call listeners\n // that have been unsubscribed in the middle of the notification loop.\n\n var notifyNestedSubs = subscription.notifyNestedSubs.bind(subscription);\n return [subscription, notifyNestedSubs];\n }, [store, didStoreComeFromProps, contextValue]),\n subscription = _useMemo2[0],\n notifyNestedSubs = _useMemo2[1]; // Determine what {store, subscription} value should be put into nested context, if necessary,\n // and memoize that value to avoid unnecessary context updates.\n\n\n var overriddenContextValue = useMemo(function () {\n if (didStoreComeFromProps) {\n // This component is directly subscribed to a store from props.\n // We don't want descendants reading from this store - pass down whatever\n // the existing context value is from the nearest connected ancestor.\n return contextValue;\n } // Otherwise, put this component's subscription instance into context, so that\n // connected descendants won't update until after this component is done\n\n\n return _extends({}, contextValue, {\n subscription: subscription\n });\n }, [didStoreComeFromProps, contextValue, subscription]); // We need to force this wrapper component to re-render whenever a Redux store update\n // causes a change to the calculated child component props (or we caught an error in mapState)\n\n var _useReducer = useReducer(storeStateUpdatesReducer, EMPTY_ARRAY, initStateUpdates),\n _useReducer$ = _useReducer[0],\n previousStateUpdateResult = _useReducer$[0],\n forceComponentUpdateDispatch = _useReducer[1]; // Propagate any mapState/mapDispatch errors upwards\n\n\n if (previousStateUpdateResult && previousStateUpdateResult.error) {\n throw previousStateUpdateResult.error;\n } // Set up refs to coordinate values between the subscription effect and the render logic\n\n\n var lastChildProps = useRef();\n var lastWrapperProps = useRef(wrapperProps);\n var childPropsFromStoreUpdate = useRef();\n var renderIsScheduled = useRef(false);\n var actualChildProps = usePureOnlyMemo(function () {\n // Tricky logic here:\n // - This render may have been triggered by a Redux store update that produced new child props\n // - However, we may have gotten new wrapper props after that\n // If we have new child props, and the same wrapper props, we know we should use the new child props as-is.\n // But, if we have new wrapper props, those might change the child props, so we have to recalculate things.\n // So, we'll use the child props from store update only if the wrapper props are the same as last time.\n if (childPropsFromStoreUpdate.current && wrapperProps === lastWrapperProps.current) {\n return childPropsFromStoreUpdate.current;\n } // TODO We're reading the store directly in render() here. Bad idea?\n // This will likely cause Bad Things (TM) to happen in Concurrent Mode.\n // Note that we do this because on renders _not_ caused by store updates, we need the latest store state\n // to determine what the child props should be.\n\n\n return childPropsSelector(store.getState(), wrapperProps);\n }, [store, previousStateUpdateResult, wrapperProps]); // We need this to execute synchronously every time we re-render. However, React warns\n // about useLayoutEffect in SSR, so we try to detect environment and fall back to\n // just useEffect instead to avoid the warning, since neither will run anyway.\n\n useIsomorphicLayoutEffectWithArgs(captureWrapperProps, [lastWrapperProps, lastChildProps, renderIsScheduled, wrapperProps, actualChildProps, childPropsFromStoreUpdate, notifyNestedSubs]); // Our re-subscribe logic only runs when the store/subscription setup changes\n\n useIsomorphicLayoutEffectWithArgs(subscribeUpdates, [shouldHandleStateChanges, store, subscription, childPropsSelector, lastWrapperProps, lastChildProps, renderIsScheduled, childPropsFromStoreUpdate, notifyNestedSubs, forceComponentUpdateDispatch], [store, subscription, childPropsSelector]); // Now that all that's done, we can finally try to actually render the child component.\n // We memoize the elements for the rendered child component as an optimization.\n\n var renderedWrappedComponent = useMemo(function () {\n return React.createElement(WrappedComponent, _extends({}, actualChildProps, {\n ref: forwardedRef\n }));\n }, [forwardedRef, WrappedComponent, actualChildProps]); // If React sees the exact same element reference as last time, it bails out of re-rendering\n // that child, same as if it was wrapped in React.memo() or returned false from shouldComponentUpdate.\n\n var renderedChild = useMemo(function () {\n if (shouldHandleStateChanges) {\n // If this component is subscribed to store updates, we need to pass its own\n // subscription instance down to our descendants. That means rendering the same\n // Context instance, and putting a different value into the context.\n return React.createElement(ContextToUse.Provider, {\n value: overriddenContextValue\n }, renderedWrappedComponent);\n }\n\n return renderedWrappedComponent;\n }, [ContextToUse, renderedWrappedComponent, overriddenContextValue]);\n return renderedChild;\n } // If we're in \"pure\" mode, ensure our wrapper component only re-renders when incoming props have changed.\n\n\n var Connect = pure ? React.memo(ConnectFunction) : ConnectFunction;\n Connect.WrappedComponent = WrappedComponent;\n Connect.displayName = displayName;\n\n if (forwardRef) {\n var forwarded = React.forwardRef(function forwardConnectRef(props, ref) {\n return React.createElement(Connect, _extends({}, props, {\n forwardedRef: ref\n }));\n });\n forwarded.displayName = displayName;\n forwarded.WrappedComponent = WrappedComponent;\n return hoistStatics(forwarded, WrappedComponent);\n }\n\n return hoistStatics(Connect, WrappedComponent);\n };\n}","function is(x, y) {\n if (x === y) {\n return x !== 0 || y !== 0 || 1 / x === 1 / y;\n } else {\n return x !== x && y !== y;\n }\n}\n\nexport default function shallowEqual(objA, objB) {\n if (is(objA, objB)) return true;\n\n if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n if (keysA.length !== keysB.length) return false;\n\n for (var i = 0; i < keysA.length; i++) {\n if (!Object.prototype.hasOwnProperty.call(objB, keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) {\n return false;\n }\n }\n\n return true;\n}","import verifyPlainObject from '../utils/verifyPlainObject';\nexport function wrapMapToPropsConstant(getConstant) {\n return function initConstantSelector(dispatch, options) {\n var constant = getConstant(dispatch, options);\n\n function constantSelector() {\n return constant;\n }\n\n constantSelector.dependsOnOwnProps = false;\n return constantSelector;\n };\n} // dependsOnOwnProps is used by createMapToPropsProxy to determine whether to pass props as args\n// to the mapToProps function being wrapped. It is also used by makePurePropsSelector to determine\n// whether mapToProps needs to be invoked when props have changed.\n//\n// A length of one signals that mapToProps does not depend on props from the parent component.\n// A length of zero is assumed to mean mapToProps is getting args via arguments or ...args and\n// therefore not reporting its length accurately..\n\nexport function getDependsOnOwnProps(mapToProps) {\n return mapToProps.dependsOnOwnProps !== null && mapToProps.dependsOnOwnProps !== undefined ? Boolean(mapToProps.dependsOnOwnProps) : mapToProps.length !== 1;\n} // Used by whenMapStateToPropsIsFunction and whenMapDispatchToPropsIsFunction,\n// this function wraps mapToProps in a proxy function which does several things:\n//\n// * Detects whether the mapToProps function being called depends on props, which\n// is used by selectorFactory to decide if it should reinvoke on props changes.\n//\n// * On first call, handles mapToProps if returns another function, and treats that\n// new function as the true mapToProps for subsequent calls.\n//\n// * On first call, verifies the first result is a plain object, in order to warn\n// the developer that their mapToProps function is not returning a valid result.\n//\n\nexport function wrapMapToPropsFunc(mapToProps, methodName) {\n return function initProxySelector(dispatch, _ref) {\n var displayName = _ref.displayName;\n\n var proxy = function mapToPropsProxy(stateOrDispatch, ownProps) {\n return proxy.dependsOnOwnProps ? proxy.mapToProps(stateOrDispatch, ownProps) : proxy.mapToProps(stateOrDispatch);\n }; // allow detectFactoryAndVerify to get ownProps\n\n\n proxy.dependsOnOwnProps = true;\n\n proxy.mapToProps = function detectFactoryAndVerify(stateOrDispatch, ownProps) {\n proxy.mapToProps = mapToProps;\n proxy.dependsOnOwnProps = getDependsOnOwnProps(mapToProps);\n var props = proxy(stateOrDispatch, ownProps);\n\n if (typeof props === 'function') {\n proxy.mapToProps = props;\n proxy.dependsOnOwnProps = getDependsOnOwnProps(props);\n props = proxy(stateOrDispatch, ownProps);\n }\n\n if (process.env.NODE_ENV !== 'production') verifyPlainObject(props, displayName, methodName);\n return props;\n };\n\n return proxy;\n };\n}","import { bindActionCreators } from 'redux';\nimport { wrapMapToPropsConstant, wrapMapToPropsFunc } from './wrapMapToProps';\nexport function whenMapDispatchToPropsIsFunction(mapDispatchToProps) {\n return typeof mapDispatchToProps === 'function' ? wrapMapToPropsFunc(mapDispatchToProps, 'mapDispatchToProps') : undefined;\n}\nexport function whenMapDispatchToPropsIsMissing(mapDispatchToProps) {\n return !mapDispatchToProps ? wrapMapToPropsConstant(function (dispatch) {\n return {\n dispatch: dispatch\n };\n }) : undefined;\n}\nexport function whenMapDispatchToPropsIsObject(mapDispatchToProps) {\n return mapDispatchToProps && typeof mapDispatchToProps === 'object' ? wrapMapToPropsConstant(function (dispatch) {\n return bindActionCreators(mapDispatchToProps, dispatch);\n }) : undefined;\n}\nexport default [whenMapDispatchToPropsIsFunction, whenMapDispatchToPropsIsMissing, whenMapDispatchToPropsIsObject];","import { wrapMapToPropsConstant, wrapMapToPropsFunc } from './wrapMapToProps';\nexport function whenMapStateToPropsIsFunction(mapStateToProps) {\n return typeof mapStateToProps === 'function' ? wrapMapToPropsFunc(mapStateToProps, 'mapStateToProps') : undefined;\n}\nexport function whenMapStateToPropsIsMissing(mapStateToProps) {\n return !mapStateToProps ? wrapMapToPropsConstant(function () {\n return {};\n }) : undefined;\n}\nexport default [whenMapStateToPropsIsFunction, whenMapStateToPropsIsMissing];","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport verifyPlainObject from '../utils/verifyPlainObject';\nexport function defaultMergeProps(stateProps, dispatchProps, ownProps) {\n return _extends({}, ownProps, {}, stateProps, {}, dispatchProps);\n}\nexport function wrapMergePropsFunc(mergeProps) {\n return function initMergePropsProxy(dispatch, _ref) {\n var displayName = _ref.displayName,\n pure = _ref.pure,\n areMergedPropsEqual = _ref.areMergedPropsEqual;\n var hasRunOnce = false;\n var mergedProps;\n return function mergePropsProxy(stateProps, dispatchProps, ownProps) {\n var nextMergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n\n if (hasRunOnce) {\n if (!pure || !areMergedPropsEqual(nextMergedProps, mergedProps)) mergedProps = nextMergedProps;\n } else {\n hasRunOnce = true;\n mergedProps = nextMergedProps;\n if (process.env.NODE_ENV !== 'production') verifyPlainObject(mergedProps, displayName, 'mergeProps');\n }\n\n return mergedProps;\n };\n };\n}\nexport function whenMergePropsIsFunction(mergeProps) {\n return typeof mergeProps === 'function' ? wrapMergePropsFunc(mergeProps) : undefined;\n}\nexport function whenMergePropsIsOmitted(mergeProps) {\n return !mergeProps ? function () {\n return defaultMergeProps;\n } : undefined;\n}\nexport default [whenMergePropsIsFunction, whenMergePropsIsOmitted];","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport verifySubselectors from './verifySubselectors';\nexport function impureFinalPropsSelectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch) {\n return function impureFinalPropsSelector(state, ownProps) {\n return mergeProps(mapStateToProps(state, ownProps), mapDispatchToProps(dispatch, ownProps), ownProps);\n };\n}\nexport function pureFinalPropsSelectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch, _ref) {\n var areStatesEqual = _ref.areStatesEqual,\n areOwnPropsEqual = _ref.areOwnPropsEqual,\n areStatePropsEqual = _ref.areStatePropsEqual;\n var hasRunAtLeastOnce = false;\n var state;\n var ownProps;\n var stateProps;\n var dispatchProps;\n var mergedProps;\n\n function handleFirstCall(firstState, firstOwnProps) {\n state = firstState;\n ownProps = firstOwnProps;\n stateProps = mapStateToProps(state, ownProps);\n dispatchProps = mapDispatchToProps(dispatch, ownProps);\n mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n hasRunAtLeastOnce = true;\n return mergedProps;\n }\n\n function handleNewPropsAndNewState() {\n stateProps = mapStateToProps(state, ownProps);\n if (mapDispatchToProps.dependsOnOwnProps) dispatchProps = mapDispatchToProps(dispatch, ownProps);\n mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n return mergedProps;\n }\n\n function handleNewProps() {\n if (mapStateToProps.dependsOnOwnProps) stateProps = mapStateToProps(state, ownProps);\n if (mapDispatchToProps.dependsOnOwnProps) dispatchProps = mapDispatchToProps(dispatch, ownProps);\n mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n return mergedProps;\n }\n\n function handleNewState() {\n var nextStateProps = mapStateToProps(state, ownProps);\n var statePropsChanged = !areStatePropsEqual(nextStateProps, stateProps);\n stateProps = nextStateProps;\n if (statePropsChanged) mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n return mergedProps;\n }\n\n function handleSubsequentCalls(nextState, nextOwnProps) {\n var propsChanged = !areOwnPropsEqual(nextOwnProps, ownProps);\n var stateChanged = !areStatesEqual(nextState, state);\n state = nextState;\n ownProps = nextOwnProps;\n if (propsChanged && stateChanged) return handleNewPropsAndNewState();\n if (propsChanged) return handleNewProps();\n if (stateChanged) return handleNewState();\n return mergedProps;\n }\n\n return function pureFinalPropsSelector(nextState, nextOwnProps) {\n return hasRunAtLeastOnce ? handleSubsequentCalls(nextState, nextOwnProps) : handleFirstCall(nextState, nextOwnProps);\n };\n} // TODO: Add more comments\n// If pure is true, the selector returned by selectorFactory will memoize its results,\n// allowing connectAdvanced's shouldComponentUpdate to return false if final\n// props have not changed. If false, the selector will always return a new\n// object and shouldComponentUpdate will always return true.\n\nexport default function finalPropsSelectorFactory(dispatch, _ref2) {\n var initMapStateToProps = _ref2.initMapStateToProps,\n initMapDispatchToProps = _ref2.initMapDispatchToProps,\n initMergeProps = _ref2.initMergeProps,\n options = _objectWithoutPropertiesLoose(_ref2, [\"initMapStateToProps\", \"initMapDispatchToProps\", \"initMergeProps\"]);\n\n var mapStateToProps = initMapStateToProps(dispatch, options);\n var mapDispatchToProps = initMapDispatchToProps(dispatch, options);\n var mergeProps = initMergeProps(dispatch, options);\n\n if (process.env.NODE_ENV !== 'production') {\n verifySubselectors(mapStateToProps, mapDispatchToProps, mergeProps, options.displayName);\n }\n\n var selectorFactory = options.pure ? pureFinalPropsSelectorFactory : impureFinalPropsSelectorFactory;\n return selectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch, options);\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport connectAdvanced from '../components/connectAdvanced';\nimport shallowEqual from '../utils/shallowEqual';\nimport defaultMapDispatchToPropsFactories from './mapDispatchToProps';\nimport defaultMapStateToPropsFactories from './mapStateToProps';\nimport defaultMergePropsFactories from './mergeProps';\nimport defaultSelectorFactory from './selectorFactory';\n/*\r\n connect is a facade over connectAdvanced. It turns its args into a compatible\r\n selectorFactory, which has the signature:\r\n\r\n (dispatch, options) => (nextState, nextOwnProps) => nextFinalProps\r\n \r\n connect passes its args to connectAdvanced as options, which will in turn pass them to\r\n selectorFactory each time a Connect component instance is instantiated or hot reloaded.\r\n\r\n selectorFactory returns a final props selector from its mapStateToProps,\r\n mapStateToPropsFactories, mapDispatchToProps, mapDispatchToPropsFactories, mergeProps,\r\n mergePropsFactories, and pure args.\r\n\r\n The resulting final props selector is called by the Connect component instance whenever\r\n it receives new props or store state.\r\n */\n\nfunction match(arg, factories, name) {\n for (var i = factories.length - 1; i >= 0; i--) {\n var result = factories[i](arg);\n if (result) return result;\n }\n\n return function (dispatch, options) {\n throw new Error(\"Invalid value of type \" + typeof arg + \" for \" + name + \" argument when connecting component \" + options.wrappedComponentName + \".\");\n };\n}\n\nfunction strictEqual(a, b) {\n return a === b;\n} // createConnect with default args builds the 'official' connect behavior. Calling it with\n// different options opens up some testing and extensibility scenarios\n\n\nexport function createConnect(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n _ref$connectHOC = _ref.connectHOC,\n connectHOC = _ref$connectHOC === void 0 ? connectAdvanced : _ref$connectHOC,\n _ref$mapStateToPropsF = _ref.mapStateToPropsFactories,\n mapStateToPropsFactories = _ref$mapStateToPropsF === void 0 ? defaultMapStateToPropsFactories : _ref$mapStateToPropsF,\n _ref$mapDispatchToPro = _ref.mapDispatchToPropsFactories,\n mapDispatchToPropsFactories = _ref$mapDispatchToPro === void 0 ? defaultMapDispatchToPropsFactories : _ref$mapDispatchToPro,\n _ref$mergePropsFactor = _ref.mergePropsFactories,\n mergePropsFactories = _ref$mergePropsFactor === void 0 ? defaultMergePropsFactories : _ref$mergePropsFactor,\n _ref$selectorFactory = _ref.selectorFactory,\n selectorFactory = _ref$selectorFactory === void 0 ? defaultSelectorFactory : _ref$selectorFactory;\n\n return function connect(mapStateToProps, mapDispatchToProps, mergeProps, _ref2) {\n if (_ref2 === void 0) {\n _ref2 = {};\n }\n\n var _ref3 = _ref2,\n _ref3$pure = _ref3.pure,\n pure = _ref3$pure === void 0 ? true : _ref3$pure,\n _ref3$areStatesEqual = _ref3.areStatesEqual,\n areStatesEqual = _ref3$areStatesEqual === void 0 ? strictEqual : _ref3$areStatesEqual,\n _ref3$areOwnPropsEqua = _ref3.areOwnPropsEqual,\n areOwnPropsEqual = _ref3$areOwnPropsEqua === void 0 ? shallowEqual : _ref3$areOwnPropsEqua,\n _ref3$areStatePropsEq = _ref3.areStatePropsEqual,\n areStatePropsEqual = _ref3$areStatePropsEq === void 0 ? shallowEqual : _ref3$areStatePropsEq,\n _ref3$areMergedPropsE = _ref3.areMergedPropsEqual,\n areMergedPropsEqual = _ref3$areMergedPropsE === void 0 ? shallowEqual : _ref3$areMergedPropsE,\n extraOptions = _objectWithoutPropertiesLoose(_ref3, [\"pure\", \"areStatesEqual\", \"areOwnPropsEqual\", \"areStatePropsEqual\", \"areMergedPropsEqual\"]);\n\n var initMapStateToProps = match(mapStateToProps, mapStateToPropsFactories, 'mapStateToProps');\n var initMapDispatchToProps = match(mapDispatchToProps, mapDispatchToPropsFactories, 'mapDispatchToProps');\n var initMergeProps = match(mergeProps, mergePropsFactories, 'mergeProps');\n return connectHOC(selectorFactory, _extends({\n // used in error messages\n methodName: 'connect',\n // used to compute Connect's displayName from the wrapped component's displayName.\n getDisplayName: function getDisplayName(name) {\n return \"Connect(\" + name + \")\";\n },\n // if mapStateToProps is falsy, the Connect component doesn't subscribe to store state changes\n shouldHandleStateChanges: Boolean(mapStateToProps),\n // passed through to selectorFactory\n initMapStateToProps: initMapStateToProps,\n initMapDispatchToProps: initMapDispatchToProps,\n initMergeProps: initMergeProps,\n pure: pure,\n areStatesEqual: areStatesEqual,\n areOwnPropsEqual: areOwnPropsEqual,\n areStatePropsEqual: areStatePropsEqual,\n areMergedPropsEqual: areMergedPropsEqual\n }, extraOptions));\n };\n}\nexport default\n/*#__PURE__*/\ncreateConnect();","import { useContext } from 'react';\nimport { ReactReduxContext } from '../components/Context';\n/**\r\n * A hook to access the value of the `ReactReduxContext`. This is a low-level\r\n * hook that you should usually not need to call directly.\r\n *\r\n * @returns {any} the value of the `ReactReduxContext`\r\n *\r\n * @example\r\n *\r\n * import React from 'react'\r\n * import { useReduxContext } from 'react-redux'\r\n *\r\n * export const CounterComponent = ({ value }) => {\r\n * const { store } = useReduxContext()\r\n * return
      {store.getState()}
      \r\n * }\r\n */\n\nexport function useReduxContext() {\n var contextValue = useContext(ReactReduxContext);\n\n if (process.env.NODE_ENV !== 'production' && !contextValue) {\n throw new Error('could not find react-redux context value; please ensure the component is wrapped in a ');\n }\n\n return contextValue;\n}","import { useContext } from 'react';\nimport { ReactReduxContext } from '../components/Context';\nimport { useReduxContext as useDefaultReduxContext } from './useReduxContext';\n/**\r\n * Hook factory, which creates a `useStore` hook bound to a given context.\r\n *\r\n * @param {React.Context} [context=ReactReduxContext] Context passed to your ``.\r\n * @returns {Function} A `useStore` hook bound to the specified context.\r\n */\n\nexport function createStoreHook(context) {\n if (context === void 0) {\n context = ReactReduxContext;\n }\n\n var useReduxContext = context === ReactReduxContext ? useDefaultReduxContext : function () {\n return useContext(context);\n };\n return function useStore() {\n var _useReduxContext = useReduxContext(),\n store = _useReduxContext.store;\n\n return store;\n };\n}\n/**\r\n * A hook to access the redux store.\r\n *\r\n * @returns {any} the redux store\r\n *\r\n * @example\r\n *\r\n * import React from 'react'\r\n * import { useStore } from 'react-redux'\r\n *\r\n * export const ExampleComponent = () => {\r\n * const store = useStore()\r\n * return
      {store.getState()}
      \r\n * }\r\n */\n\nexport var useStore =\n/*#__PURE__*/\ncreateStoreHook();","import { ReactReduxContext } from '../components/Context';\nimport { useStore as useDefaultStore, createStoreHook } from './useStore';\n/**\r\n * Hook factory, which creates a `useDispatch` hook bound to a given context.\r\n *\r\n * @param {React.Context} [context=ReactReduxContext] Context passed to your ``.\r\n * @returns {Function} A `useDispatch` hook bound to the specified context.\r\n */\n\nexport function createDispatchHook(context) {\n if (context === void 0) {\n context = ReactReduxContext;\n }\n\n var useStore = context === ReactReduxContext ? useDefaultStore : createStoreHook(context);\n return function useDispatch() {\n var store = useStore();\n return store.dispatch;\n };\n}\n/**\r\n * A hook to access the redux `dispatch` function.\r\n *\r\n * @returns {any|function} redux store's `dispatch` function\r\n *\r\n * @example\r\n *\r\n * import React, { useCallback } from 'react'\r\n * import { useDispatch } from 'react-redux'\r\n *\r\n * export const CounterComponent = ({ value }) => {\r\n * const dispatch = useDispatch()\r\n * const increaseCounter = useCallback(() => dispatch({ type: 'increase-counter' }), [])\r\n * return (\r\n *
      \r\n * {value}\r\n * \r\n *
      \r\n * )\r\n * }\r\n */\n\nexport var useDispatch =\n/*#__PURE__*/\ncreateDispatchHook();","import { useReducer, useRef, useMemo, useContext } from 'react';\nimport { useReduxContext as useDefaultReduxContext } from './useReduxContext';\nimport Subscription from '../utils/Subscription';\nimport { useIsomorphicLayoutEffect } from '../utils/useIsomorphicLayoutEffect';\nimport { ReactReduxContext } from '../components/Context';\n\nvar refEquality = function refEquality(a, b) {\n return a === b;\n};\n\nfunction useSelectorWithStoreAndSubscription(selector, equalityFn, store, contextSub) {\n var _useReducer = useReducer(function (s) {\n return s + 1;\n }, 0),\n forceRender = _useReducer[1];\n\n var subscription = useMemo(function () {\n return new Subscription(store, contextSub);\n }, [store, contextSub]);\n var latestSubscriptionCallbackError = useRef();\n var latestSelector = useRef();\n var latestSelectedState = useRef();\n var selectedState;\n\n try {\n if (selector !== latestSelector.current || latestSubscriptionCallbackError.current) {\n selectedState = selector(store.getState());\n } else {\n selectedState = latestSelectedState.current;\n }\n } catch (err) {\n if (latestSubscriptionCallbackError.current) {\n err.message += \"\\nThe error may be correlated with this previous error:\\n\" + latestSubscriptionCallbackError.current.stack + \"\\n\\n\";\n }\n\n throw err;\n }\n\n useIsomorphicLayoutEffect(function () {\n latestSelector.current = selector;\n latestSelectedState.current = selectedState;\n latestSubscriptionCallbackError.current = undefined;\n });\n useIsomorphicLayoutEffect(function () {\n function checkForUpdates() {\n try {\n var newSelectedState = latestSelector.current(store.getState());\n\n if (equalityFn(newSelectedState, latestSelectedState.current)) {\n return;\n }\n\n latestSelectedState.current = newSelectedState;\n } catch (err) {\n // we ignore all errors here, since when the component\n // is re-rendered, the selectors are called again, and\n // will throw again, if neither props nor store state\n // changed\n latestSubscriptionCallbackError.current = err;\n }\n\n forceRender({});\n }\n\n subscription.onStateChange = checkForUpdates;\n subscription.trySubscribe();\n checkForUpdates();\n return function () {\n return subscription.tryUnsubscribe();\n };\n }, [store, subscription]);\n return selectedState;\n}\n/**\r\n * Hook factory, which creates a `useSelector` hook bound to a given context.\r\n *\r\n * @param {React.Context} [context=ReactReduxContext] Context passed to your ``.\r\n * @returns {Function} A `useSelector` hook bound to the specified context.\r\n */\n\n\nexport function createSelectorHook(context) {\n if (context === void 0) {\n context = ReactReduxContext;\n }\n\n var useReduxContext = context === ReactReduxContext ? useDefaultReduxContext : function () {\n return useContext(context);\n };\n return function useSelector(selector, equalityFn) {\n if (equalityFn === void 0) {\n equalityFn = refEquality;\n }\n\n if (process.env.NODE_ENV !== 'production' && !selector) {\n throw new Error(\"You must pass a selector to useSelectors\");\n }\n\n var _useReduxContext = useReduxContext(),\n store = _useReduxContext.store,\n contextSub = _useReduxContext.subscription;\n\n return useSelectorWithStoreAndSubscription(selector, equalityFn, store, contextSub);\n };\n}\n/**\r\n * A hook to access the redux store's state. This hook takes a selector function\r\n * as an argument. The selector is called with the store state.\r\n *\r\n * This hook takes an optional equality comparison function as the second parameter\r\n * that allows you to customize the way the selected state is compared to determine\r\n * whether the component needs to be re-rendered.\r\n *\r\n * @param {Function} selector the selector function\r\n * @param {Function=} equalityFn the function that will be used to determine equality\r\n *\r\n * @returns {any} the selected state\r\n *\r\n * @example\r\n *\r\n * import React from 'react'\r\n * import { useSelector } from 'react-redux'\r\n *\r\n * export const CounterComponent = () => {\r\n * const counter = useSelector(state => state.counter)\r\n * return
      {counter}
      \r\n * }\r\n */\n\nexport var useSelector =\n/*#__PURE__*/\ncreateSelectorHook();","import Provider from './components/Provider';\nimport connectAdvanced from './components/connectAdvanced';\nimport { ReactReduxContext } from './components/Context';\nimport connect from './connect/connect';\nimport { useDispatch, createDispatchHook } from './hooks/useDispatch';\nimport { useSelector, createSelectorHook } from './hooks/useSelector';\nimport { useStore, createStoreHook } from './hooks/useStore';\nimport { setBatch } from './utils/batch';\nimport { unstable_batchedUpdates as batch } from './utils/reactBatchedUpdates';\nimport shallowEqual from './utils/shallowEqual';\nsetBatch(batch);\nexport { Provider, connectAdvanced, ReactReduxContext, connect, batch, useDispatch, createDispatchHook, useSelector, createSelectorHook, useStore, createStoreHook, shallowEqual };","import * as React from 'react';\nimport { IRefObject, Point } from '@fluentui/utilities';\n\n/**\n * FocusZone component class interface.\n * {@docCategory FocusZone}\n */\nexport interface IFocusZone {\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 focus(forceIntoFirstElement?: boolean): boolean;\n\n /**\n * Sets focus to the last tabbable item in the zone.\n * @returns True if focus could be set to an active element, false if no operation was taken.\n */\n focusLast(): boolean;\n\n /**\n * Sets focus to a specific child element within the zone. This can be used in conjunction with\n * shouldReceiveFocus to create delayed focus scenarios (like animate the scroll position to the correct\n * location and then focus.)\n * @param childElement - The child element within the zone to focus.\n * @param forceAlignment - If true, focus alignment will be set according to the element provided.\n * @returns True if focus could be set to an active element, false if no operation was taken.\n */\n focusElement(childElement?: HTMLElement, forceAlignment?: boolean): boolean;\n\n /**\n * Forces horizontal alignment in the context of vertical arrowing to use specific point as the reference, rather\n * than a center based on the last horizontal motion.\n * @param point - the new reference point.\n */\n setFocusAlignment(point: Point): void;\n}\n\n/**\n * FocusZone component props.\n * {@docCategory FocusZone}\n */\nexport interface IFocusZoneProps extends React.HTMLAttributes {\n /**\n * Optional callback to access the IFocusZone interface. Use this instead of ref for accessing\n * the public methods and properties of the component.\n */\n componentRef?: IRefObject;\n\n /**\n * Optional callback to access the root DOM element.\n * @deprecated Temporary solution which will be replaced with ref in the V8 release.\n */\n elementRef?: React.Ref;\n\n /**\n * Additional class name to provide on the root element, in addition to the ms-FocusZone class.\n */\n className?: string;\n\n /**\n * Defines which arrows to react to.\n * @defaultvalue FocusZoneDirection.bidirectional\n */\n direction?: FocusZoneDirection;\n\n /**\n * Optionally defines the initial tabbable element inside the FocusZone.\n * If a string is passed then it is treated as a selector for identifying the initial tabbable element.\n * If a function is passed then it uses the root element as a parameter to return the initial tabbable element.\n */\n defaultTabbableElement?: string | ((root: HTMLElement) => HTMLElement);\n\n /**\n * Optionally provide a selector for identifying the initial active element.\n * @deprecated Use `defaultTabbableElement` instead.\n */\n defaultActiveElement?: string;\n\n /**\n * Determines if a default tabbable element should be force focused on FocusZone mount.\n * @default false\n */\n shouldFocusOnMount?: boolean;\n\n /**\n * If set, the FocusZone will not be tabbable and keyboard navigation will be disabled.\n * This does not affect disabled attribute of any child.\n */\n disabled?: boolean;\n\n /**\n * Element type the root element will use. Default is \"div\".\n * @deprecated Use `as` instead.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n elementType?: any /* TODO should be `keyof React.ReactHTML`, tracking with https://github.com/Microsoft/TypeScript/issues/30050 */;\n\n /**\n * A component that should be used as the root element of the FocusZone component.\n */\n as?: React.ElementType;\n\n /**\n * If set, will cycle to the beginning of the targets once the user navigates to the\n * next target while at the end, and to the end when navigate to the previous at the beginning.\n */\n isCircularNavigation?: boolean;\n\n /**\n * If provided, this callback will be executed on keypresses to determine if the user\n * intends to navigate into the inner zone. Returning true will ask the first inner zone to\n * set focus.\n * @deprecated Use `shouldEnterInnerZone` instead.\n */\n isInnerZoneKeystroke?: (ev: React.KeyboardEvent) => boolean;\n\n /**\n * Callback function that will be executed on keypresses to determine if the user intends to navigate into\n * the inner (nested) zone. Returning true will ask the first inner zone to set focus.\n */\n shouldEnterInnerZone?: (ev: React.KeyboardEvent) => boolean;\n\n /**\n * Sets the aria-labelledby attribute.\n * @deprecated Directly use the `aria-labelledby` attribute instead\n */\n ariaLabelledBy?: string;\n\n /**\n * Sets the aria-describedby attribute.\n * @deprecated Directly use the `aria-describedby` attribute instead\n */\n ariaDescribedBy?: string;\n\n /**\n * Callback for when one of immediate children elements gets active by getting focused\n * or by having one of its respective children elements focused.\n */\n onActiveElementChanged?: (element?: HTMLElement, ev?: React.FocusEvent) => void;\n\n /**\n * @deprecated Div props provided to the FocusZone will be mixed into the root element.\n * Deprecated at v1.12.1.\n */\n rootProps?: React.HTMLAttributes;\n\n /**\n * Callback method for determining if focus should indeed be set on the given element.\n * @param element - The child element within the zone to focus.\n * @returns True if focus should be set to the given element, false to avoid setting focus.\n * @deprecated Use `shouldReceiveFocus` instead.\n */\n onBeforeFocus?: (childElement?: HTMLElement) => boolean;\n\n /**\n * Callback method for determining if focus should indeed be set on the given element.\n * @param element - The child element within the zone to focus.\n * @returns True if focus should be set to the given element, false to avoid setting focus.\n */\n shouldReceiveFocus?: (childElement?: HTMLElement) => boolean;\n\n /** Allows focus to park on root when focus is in the `FocusZone` at render time. */\n allowFocusRoot?: boolean;\n\n /**\n * Allows tab key to be handled to tab through a list of items in the focus zone,\n * an unfortunate side effect is that users will not be able to tab out of the focus zone\n * and have to hit escape or some other key.\n * @deprecated Use `handleTabKey` instead.\n *\n */\n allowTabKey?: boolean;\n\n /**\n * Allows tab key to be handled to tab through a list of items in the focus zone,\n * an unfortunate side effect is that users will not be able to tab out of the focus zone\n * and have to hit escape or some other key.\n */\n handleTabKey?: FocusZoneTabbableElements;\n\n /**\n * If true and FocusZone's root element (container) receives focus, the focus will land either on the\n * defaultTabbableElement (if set) or on the first tabbable element of this FocusZone.\n * Usually a case for nested focus zones, when the nested focus zone's container is a focusable element.\n */\n shouldFocusInnerElementWhenReceivedFocus?: boolean;\n\n /**\n * If true and TAB key is not handled by FocusZone, resets current active element to null value.\n * For example, when roving index is not desirable and focus should always reset to the default tabbable element.\n */\n shouldResetActiveElementWhenTabFromZone?: boolean;\n\n /**\n * Determines whether the FocusZone will walk up the DOM trying to invoke click callbacks on focusable elements on\n * Enter and Space keydowns to ensure accessibility for tags that don't guarantee this behavior.\n * @defaultvalue true\n */\n shouldRaiseClicks?: boolean;\n\n /**\n * A callback method to determine if the input element should lose focus on arrow keys\n * @param inputElement - The input element which is to loose focus.\n * @returns True if input element should loose focus or false otherwise.\n */\n shouldInputLoseFocusOnArrowKey?: (inputElement: HTMLInputElement) => boolean;\n\n /**\n * Determines whether to disable the paging support for Page Up and Page Down keyboard scenarios.\n * @defaultvalue false\n */\n pagingSupportDisabled?: boolean;\n\n /**\n * Determines whether to check for data-no-horizontal-wrap or data-no-vertical-wrap attributes\n * when determining how to move focus\n * @defaultvalue false\n */\n checkForNoWrap?: boolean;\n\n /**\n * Whether the FocusZone should allow focus events to propagate past the FocusZone.\n * @deprecated Use `stopFocusPropagation` instead.\n */\n doNotAllowFocusEventToPropagate?: boolean;\n\n /**\n * Whether the FocusZone should allow focus events to propagate past the FocusZone.\n */\n stopFocusPropagation?: boolean;\n\n /**\n * Callback to notify creators that focus has been set on the FocusZone\n * @deprecated Use `onFocus` instead.\n */\n onFocusNotification?: () => void;\n\n /**\n * Callback called when \"focus\" event triggered in FocusZone.\n * @param event - React's original FocusEvent.\n */\n onFocus?: (event: React.FocusEvent) => void;\n\n /**\n * If true, FocusZone prevents the default behavior of Keyboard events when changing focus between elements.\n * @defaultvalue false\n */\n preventDefaultWhenHandled?: boolean;\n\n /**\n * If true, prevents the FocusZone from attempting to restore the focus to the inner element when the focus is on the\n * root element after componentDidUpdate.\n * @defaultvalue false\n */\n preventFocusRestoration?: boolean;\n}\n/**\n * {@docCategory FocusZone}\n */\nexport const FocusZoneTabbableElements = {\n /** Tabbing is not allowed */\n none: 0 as 0,\n\n /** All tabbing action is allowed */\n all: 1 as 1,\n\n /** Tabbing is allowed only on input elements */\n inputOnly: 2 as 2,\n};\n\n/**\n * {@docCategory FocusZone}\n */\nexport type FocusZoneTabbableElements = typeof FocusZoneTabbableElements[keyof typeof FocusZoneTabbableElements];\n\n/**\n * {@docCategory FocusZone}\n */\nexport enum FocusZoneDirection {\n /** Only react to up/down arrows. */\n vertical = 0,\n\n /** Only react to left/right arrows. */\n horizontal = 1,\n\n /** React to all arrows. */\n bidirectional = 2,\n\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 domOrder = 3,\n}\n","/**\n * Functions used by Stack components to simplify style-related computations\n */\n\nimport { ITheme } from '../../Styling';\nimport { IStackProps } from './Stack.types';\n\n// Helper function that converts a themed spacing key (if given) to the corresponding themed spacing value.\nconst _getThemedSpacing = (space: string, theme: ITheme): string => {\n if (theme.spacing.hasOwnProperty(space)) {\n return theme.spacing[space as keyof typeof theme.spacing];\n }\n return space;\n};\n\n// Helper function that takes a gap as a string and converts it into a { value, unit } representation.\nconst _getValueUnitGap = (gap: string): { value: number; unit: string } => {\n const numericalPart = parseFloat(gap);\n const numericalValue = isNaN(numericalPart) ? 0 : numericalPart;\n const numericalString = isNaN(numericalPart) ? '' : numericalPart.toString();\n\n const unitPart = gap.substring(numericalString.toString().length);\n\n return {\n value: numericalValue,\n unit: unitPart || 'px',\n };\n};\n\n/**\n * Takes in a gap size in either a CSS-style format (e.g. 10 or \"10px\")\n * or a key of a themed spacing value (e.g. \"s1\").\n * Returns the separate numerical value of the padding (e.g. 10)\n * and the CSS unit (e.g. \"px\").\n */\nexport const parseGap = (\n gap: IStackProps['gap'],\n theme: ITheme,\n): { rowGap: { value: number; unit: string }; columnGap: { value: number; unit: string } } => {\n if (gap === undefined || gap === '') {\n return {\n rowGap: {\n value: 0,\n unit: 'px',\n },\n columnGap: {\n value: 0,\n unit: 'px',\n },\n };\n }\n\n if (typeof gap === 'number') {\n return {\n rowGap: {\n value: gap,\n unit: 'px',\n },\n columnGap: {\n value: gap,\n unit: 'px',\n },\n };\n }\n\n const splitGap = gap.split(' ');\n\n // If the array has more than two values, then return 0px.\n if (splitGap.length > 2) {\n return {\n rowGap: {\n value: 0,\n unit: 'px',\n },\n columnGap: {\n value: 0,\n unit: 'px',\n },\n };\n }\n\n // If the array has two values, then parse each one.\n if (splitGap.length === 2) {\n return {\n rowGap: _getValueUnitGap(_getThemedSpacing(splitGap[0], theme)),\n columnGap: _getValueUnitGap(_getThemedSpacing(splitGap[1], theme)),\n };\n }\n\n // Else, parse the numerical value and pass it as both the vertical and horizontal gap.\n const calculatedGap = _getValueUnitGap(_getThemedSpacing(gap, theme));\n\n return {\n rowGap: calculatedGap,\n columnGap: calculatedGap,\n };\n};\n\n/**\n * Takes in a padding in a CSS-style format (e.g. 10, \"10px\", \"10px 10px\", etc.)\n * where the separate padding values can also be the key of a themed spacing value\n * (e.g. \"s1 m\", \"10px l1 20px l2\", etc.).\n * Returns a CSS-style padding.\n */\nexport const parsePadding = (padding: number | string | undefined, theme: ITheme): number | string | undefined => {\n if (padding === undefined || typeof padding === 'number' || padding === '') {\n return padding;\n }\n\n const paddingValues = padding.split(' ');\n if (paddingValues.length < 2) {\n return _getThemedSpacing(padding, theme);\n }\n\n return paddingValues.reduce((padding1: string, padding2: string) => {\n return _getThemedSpacing(padding1, theme) + ' ' + _getThemedSpacing(padding2, theme);\n });\n};\n","import { IStackComponent, IStackStyles, IStackStylesReturnType } from './Stack.types';\nimport { parseGap, parsePadding } from './StackUtils';\nimport { getGlobalClassNames } from '../../Styling';\n\nconst nameMap: { [key: string]: string } = {\n start: 'flex-start',\n end: 'flex-end',\n};\n\nconst GlobalClassNames = {\n root: 'ms-Stack',\n inner: 'ms-Stack-inner',\n};\n\nexport const styles: IStackComponent['styles'] = (props, theme, tokens): IStackStylesReturnType => {\n const {\n verticalFill,\n horizontal,\n reversed,\n grow,\n wrap,\n horizontalAlign,\n verticalAlign,\n disableShrink,\n className,\n } = props;\n\n const classNames = getGlobalClassNames(GlobalClassNames, theme);\n\n /* eslint-disable deprecation/deprecation */\n const childrenGap = tokens && tokens.childrenGap ? tokens.childrenGap : props.gap;\n const maxHeight = tokens && tokens.maxHeight ? tokens.maxHeight : props.maxHeight;\n const maxWidth = tokens && tokens.maxWidth ? tokens.maxWidth : props.maxWidth;\n const padding = tokens && tokens.padding ? tokens.padding : props.padding;\n /* eslint-enable deprecation/deprecation */\n\n const { rowGap, columnGap } = parseGap(childrenGap, theme);\n\n const horizontalMargin = `${-0.5 * columnGap.value}${columnGap.unit}`;\n const verticalMargin = `${-0.5 * rowGap.value}${rowGap.unit}`;\n\n // styles to be applied to all direct children regardless of wrap or direction\n const childStyles = {\n textOverflow: 'ellipsis',\n };\n\n // selectors to be applied regardless of wrap or direction\n const commonSelectors = {\n // flexShrink styles are applied by the StackItem\n '> *:not(.ms-StackItem)': {\n flexShrink: disableShrink ? 0 : 1,\n },\n };\n\n if (wrap) {\n return {\n root: [\n classNames.root,\n {\n flexWrap: 'wrap',\n maxWidth,\n maxHeight,\n width: 'auto',\n overflow: 'visible',\n height: '100%',\n },\n horizontalAlign && {\n [horizontal ? 'justifyContent' : 'alignItems']: nameMap[horizontalAlign] || horizontalAlign,\n },\n verticalAlign && {\n [horizontal ? 'alignItems' : 'justifyContent']: nameMap[verticalAlign] || verticalAlign,\n },\n className,\n {\n // not allowed to be overridden by className\n // since this is necessary in order to prevent collapsing margins\n display: 'flex',\n },\n horizontal && {\n height: verticalFill ? '100%' : 'auto',\n },\n ],\n\n inner: [\n classNames.inner,\n {\n display: 'flex',\n flexWrap: 'wrap',\n marginLeft: horizontalMargin,\n marginRight: horizontalMargin,\n marginTop: verticalMargin,\n marginBottom: verticalMargin,\n overflow: 'visible',\n boxSizing: 'border-box',\n padding: parsePadding(padding, theme),\n // avoid unnecessary calc() calls if horizontal gap is 0\n width: columnGap.value === 0 ? '100%' : `calc(100% + ${columnGap.value}${columnGap.unit})`,\n maxWidth: '100vw',\n\n selectors: {\n '> *': {\n margin: `${0.5 * rowGap.value}${rowGap.unit} ${0.5 * columnGap.value}${columnGap.unit}`,\n\n ...childStyles,\n },\n ...commonSelectors,\n },\n },\n horizontalAlign && {\n [horizontal ? 'justifyContent' : 'alignItems']: nameMap[horizontalAlign] || horizontalAlign,\n },\n verticalAlign && {\n [horizontal ? 'alignItems' : 'justifyContent']: nameMap[verticalAlign] || verticalAlign,\n },\n horizontal && {\n flexDirection: reversed ? 'row-reverse' : 'row',\n\n // avoid unnecessary calc() calls if vertical gap is 0\n height: rowGap.value === 0 ? '100%' : `calc(100% + ${rowGap.value}${rowGap.unit})`,\n\n selectors: {\n '> *': {\n maxWidth: columnGap.value === 0 ? '100%' : `calc(100% - ${columnGap.value}${columnGap.unit})`,\n },\n },\n },\n !horizontal && {\n flexDirection: reversed ? 'column-reverse' : 'column',\n height: `calc(100% + ${rowGap.value}${rowGap.unit})`,\n\n selectors: {\n '> *': {\n maxHeight: rowGap.value === 0 ? '100%' : `calc(100% - ${rowGap.value}${rowGap.unit})`,\n },\n },\n },\n ],\n } as IStackStyles;\n }\n\n return {\n root: [\n classNames.root,\n {\n display: 'flex',\n flexDirection: horizontal ? (reversed ? 'row-reverse' : 'row') : reversed ? 'column-reverse' : 'column',\n flexWrap: 'nowrap',\n width: 'auto',\n height: verticalFill ? '100%' : 'auto',\n maxWidth,\n maxHeight,\n padding: parsePadding(padding, theme),\n boxSizing: 'border-box',\n\n selectors: {\n '> *': childStyles,\n\n // apply gap margin to every direct child except the first direct child if the direction is not reversed,\n // and the last direct one if it is\n [reversed ? '> *:not(:last-child)' : '> *:not(:first-child)']: [\n horizontal && {\n marginLeft: `${columnGap.value}${columnGap.unit}`,\n },\n !horizontal && {\n marginTop: `${rowGap.value}${rowGap.unit}`,\n },\n ],\n\n ...commonSelectors,\n },\n },\n grow && {\n flexGrow: grow === true ? 1 : grow,\n },\n horizontalAlign && {\n [horizontal ? 'justifyContent' : 'alignItems']: nameMap[horizontalAlign] || horizontalAlign,\n },\n verticalAlign && {\n [horizontal ? 'alignItems' : 'justifyContent']: nameMap[verticalAlign] || verticalAlign,\n },\n className,\n ],\n // TODO: this cast may be hiding some potential issues with styling and name\n // lookups and should be removed\n } as IStackStyles;\n};\n","/** @jsxRuntime classic */\n/** @jsx withSlots */\nimport * as React from 'react';\nimport { withSlots, createComponent, getSlots } from '@fluentui/foundation-legacy';\nimport { getNativeProps, htmlElementProperties, warnDeprecations } from '../../Utilities';\nimport { styles } from './Stack.styles';\nimport { IStackComponent, IStackProps, IStackSlots } from './Stack.types';\nimport { StackItem } from './StackItem/StackItem';\nimport { IStackItemProps } from './StackItem/StackItem.types';\n\nconst StackView: IStackComponent['view'] = props => {\n const { as: RootType = 'div', disableShrink, wrap, ...rest } = props;\n\n warnDeprecations('Stack', props, {\n gap: 'tokens.childrenGap',\n maxHeight: 'tokens.maxHeight',\n maxWidth: 'tokens.maxWidth',\n padding: 'tokens.padding',\n });\n\n const stackChildren: (React.ReactChild | null)[] | null | undefined = React.Children.map(\n props.children,\n (child: React.ReactElement, index: number) => {\n if (!child) {\n return null;\n }\n\n if (_isStackItem(child)) {\n const defaultItemProps: IStackItemProps = {\n shrink: !disableShrink,\n };\n\n return React.cloneElement(child, {\n ...defaultItemProps,\n ...child.props,\n });\n }\n\n return child;\n },\n );\n\n const nativeProps = getNativeProps>(rest, htmlElementProperties);\n\n const Slots = getSlots(props, {\n root: RootType,\n inner: 'div',\n });\n\n if (wrap) {\n return (\n \n {stackChildren}\n \n );\n }\n\n return {stackChildren};\n};\n\nfunction _isStackItem(item: React.ReactNode): item is typeof StackItem {\n // In theory, we should be able to just check item.type === StackItem.\n // However, under certain unclear circumstances (see https://github.com/microsoft/fluentui/issues/10785),\n // the object identity is different despite the function implementation being the same.\n return (\n !!item &&\n typeof item === 'object' &&\n !!(item as React.ReactElement).type &&\n // StackItem is generated by createComponent, so we need to check its displayName instead of name\n ((item as React.ReactElement).type as React.ComponentType).displayName === StackItem.displayName\n );\n}\n\nconst StackStatics = {\n Item: StackItem,\n};\n\nexport const Stack: React.FunctionComponent & {\n Item: React.FunctionComponent;\n} = createComponent(StackView, {\n displayName: 'Stack',\n styles,\n statics: StackStatics,\n});\n\nexport default Stack;\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 */\nexport function elementContains(\n parent: HTMLElement | null,\n child: HTMLElement | null,\n allowVirtualParents: boolean = true,\n): boolean {\n let isContained = false;\n\n if (parent && child) {\n if (allowVirtualParents) {\n if (parent === child) {\n isContained = true;\n } else {\n isContained = false;\n\n while (child) {\n const nextParent: HTMLElement | null = getParent(child);\n\n if (nextParent === parent) {\n isContained = true;\n break;\n }\n\n child = nextParent;\n }\n }\n } else if (parent.contains) {\n isContained = parent.contains(child);\n }\n }\n\n return isContained;\n}\n","import * as React from 'react';\nimport { DirectionalHint } from '../../common/DirectionalHint';\nimport { IFocusZoneProps } from '../../FocusZone';\nimport { IIconProps } from '../../Icon';\nimport { ICalloutProps, ICalloutContentStyleProps } from '../../Callout';\nimport { ITheme, IStyle } from '../../Styling';\nimport { IButtonStyles } from '../../Button';\nimport { IRefObject, IBaseProps, IRectangle, IRenderFunction, IStyleFunctionOrObject } from '../../Utilities';\nimport { IWithResponsiveModeState } from '../../ResponsiveMode';\nimport { IContextualMenuClassNames, IMenuItemClassNames } from './ContextualMenu.classNames';\nimport { IVerticalDividerClassNames } from '../Divider/VerticalDivider.types';\nimport {\n IContextualMenuItemProps,\n IContextualMenuRenderItem,\n IContextualMenuItemStyleProps,\n IContextualMenuItemRenderFunctions,\n} from './ContextualMenuItem.types';\nimport { IKeytipProps } from '../../Keytip';\nimport { Target } from '@fluentui/react-hooks';\nimport { IPopupRestoreFocusParams } from '../../Popup';\n\nexport { DirectionalHint } from '../../common/DirectionalHint';\n\n/**\n * {@docCategory ContextualMenu}\n */\nexport enum ContextualMenuItemType {\n Normal = 0,\n Divider = 1,\n Header = 2,\n Section = 3,\n}\n\n/**\n * {@docCategory ContextualMenu}\n */\nexport interface IContextualMenu {}\n\n/**\n * {@docCategory ContextualMenu}\n */\nexport interface IContextualMenuProps\n extends IBaseProps,\n React.RefAttributes,\n // eslint-disable-next-line deprecation/deprecation\n IWithResponsiveModeState {\n /**\n * Optional callback to access the IContextualMenu interface. Use this instead of ref for accessing\n * the public methods and properties of the component.\n */\n componentRef?: IRefObject;\n\n /**\n * Call to provide customized styling that will layer on top of the variant rules.\n */\n styles?: IStyleFunctionOrObject;\n\n /**\n * Theme provided by higher-order component.\n */\n theme?: ITheme;\n\n /**\n * Additional CSS class to apply to the ContextualMenu.\n */\n className?: string;\n\n /**\n * The target that the ContextualMenu should try to position itself based on.\n * It can be either an element, a query selector string resolving to a valid element,\n * or a MouseEvent. If a MouseEvent is given, the origin point of the event will be used.\n */\n target?: Target;\n\n /**\n * How the menu should be positioned\n * @defaultvalue DirectionalHint.bottomAutoEdge\n */\n directionalHint?: DirectionalHint;\n\n /**\n * How the menu should be positioned in RTL layouts.\n * If not specified, a mirror of `directionalHint` will be used.\n */\n directionalHintForRTL?: DirectionalHint;\n\n /**\n * The gap between the ContextualMenu and the target\n * @defaultvalue 0\n */\n gapSpace?: number;\n\n /**\n * The width of the beak.\n * @defaultvalue 16\n */\n beakWidth?: number;\n\n /**\n * If true the context menu will render as the same width as the target element\n * @defaultvalue false\n */\n useTargetWidth?: boolean;\n\n /**\n * If true the context menu will have a minimum width equal to the width of the target element\n * @defaultvalue false\n */\n useTargetAsMinWidth?: boolean;\n\n /**\n * The bounding rectangle (or callback that returns a rectangle) which the contextual menu can appear in.\n */\n bounds?: IRectangle | ((target?: Target, targetWindow?: Window) => IRectangle | undefined);\n\n /**\n * If true then the beak is visible. If false it will not be shown.\n */\n isBeakVisible?: boolean;\n\n /**\n * If true, the menu will be positioned to cover the target.\n * If false, it will be positioned next to the target.\n * @defaultvalue false\n */\n coverTarget?: boolean;\n\n /**\n * If true the positioning logic will prefer to flip edges rather than to nudge the rectangle to fit within bounds,\n * thus making sure the element aligns perfectly with target's alignment edge\n */\n alignTargetEdge?: boolean;\n\n /**\n * Menu items to display.\n */\n items: IContextualMenuItem[];\n\n /**\n * Used as `aria-labelledby` for the menu element inside the callout.\n */\n labelElementId?: string;\n\n /**\n * Whether to focus on the menu when mounted.\n * @defaultvalue true\n */\n shouldFocusOnMount?: boolean;\n\n /**\n * Whether to focus on the contextual menu container (as opposed to the first menu item).\n */\n shouldFocusOnContainer?: boolean;\n\n /**\n * Callback when the ContextualMenu tries to close. If `dismissAll` is true then all\n * submenus will be dismissed.\n */\n onDismiss?: (ev?: Event | React.MouseEvent | React.KeyboardEvent, dismissAll?: boolean) => void;\n\n /**\n * Click handler which is invoked if `onClick` is not passed for individual contextual\n * menu item.\n * Returning true will dismiss the menu even if `ev.preventDefault()` was called.\n */\n onItemClick?: (\n ev?: React.MouseEvent | React.KeyboardEvent,\n item?: IContextualMenuItem,\n ) => boolean | void;\n\n /**\n * Whether this menu is a submenu of another menu.\n */\n isSubMenu?: boolean;\n\n /**\n * ID for the ContextualMenu's root element (inside the callout).\n * Should be used for `aria-owns` and other such uses, rather than direct reference for programmatic purposes.\n */\n id?: string;\n\n /**\n * Accessible label for the ContextualMenu's root element (inside the callout).\n */\n ariaLabel?: string;\n\n /**\n * If true do not render on a new layer. If false render on a new layer.\n * @defaultvalue false\n */\n doNotLayer?: boolean;\n\n /**\n * If true the position will not change sides in an attempt to fit the ContextualMenu within bounds.\n * It will still attempt to align it to whatever bounds are given.\n * @defaultvalue false\n */\n directionalHintFixed?: boolean;\n\n /**\n * Callback for when the menu has been opened.\n */\n onMenuOpened?: (contextualMenu?: IContextualMenuProps) => void;\n\n /**\n * Callback for when the menu is being closed (removing from the DOM).\n */\n onMenuDismissed?: (contextualMenu?: IContextualMenuProps) => void;\n\n /**\n * Additional custom props for the Callout.\n */\n calloutProps?: ICalloutProps;\n\n /**\n * Title to be displayed at the top of the menu, above the items.\n */\n title?: string;\n\n /**\n * Method to provide the classnames to style the contextual menu.\n * @deprecated Use `styles` instead to leverage mergeStyles API.\n */\n // eslint-disable-next-line deprecation/deprecation\n getMenuClassNames?: (theme: ITheme, className?: string) => IContextualMenuClassNames;\n\n /** Custom render function for a submenu. */\n onRenderSubMenu?: IRenderFunction;\n\n /**\n * Method to override the render of the list of menu items.\n */\n onRenderMenuList?: IRenderFunction;\n\n /**\n * Delay (in milliseconds) to wait before expanding / dismissing a submenu on mouseEnter or mouseLeave\n */\n subMenuHoverDelay?: number;\n\n /**\n * Custom component to use for rendering individual menu items.\n * @defaultvalue ContextualMenuItem\n */\n contextualMenuItemAs?:\n | React.ComponentClass\n | React.FunctionComponent;\n\n /**\n * Props to pass down to the FocusZone.\n * NOTE: the default FocusZoneDirection will be used unless a direction\n * is specified in the focusZoneProps (even if other focusZoneProps are defined)\n * @defaultvalue \\{ direction: FocusZoneDirection.vertical \\}\n */\n focusZoneProps?: IFocusZoneProps;\n\n /**\n * Custom component to use for rendering the focus zone (the root).\n * @defaultValue FocusZone\n */\n focusZoneAs?: React.ComponentClass | React.FunctionComponent;\n\n /**\n * If true, renders the ContextualMenu in a hidden state.\n * Use this flag, rather than rendering a ContextualMenu conditionally based on visibility,\n * to improve rendering performance when it becomes visible.\n * Note: When ContextualMenu is hidden its content will not be rendered. It will only render\n * once the ContextualMenu is visible.\n */\n hidden?: boolean;\n\n /**\n * If true, the menu will be updated even when `hidden=true`. Note that this will consume\n * resources to update even when nothing is being shown to the user. This might be helpful if\n * your updates are small and you want the menu to display quickly when `hidden` is set to false.\n */\n shouldUpdateWhenHidden?: boolean;\n\n /**\n * If true, the contextual menu will not be updated until focus enters the menu via other means.\n * This will only result in different behavior when `shouldFocusOnMount = false`.\n */\n delayUpdateFocusOnHover?: boolean;\n\n /**\n * Called when the component is unmounting, and focus needs to be restored. If this is provided,\n * focus will not be restored automatically, and you'll need to call `params.originalElement.focus()`.\n */\n onRestoreFocus?: (params: IPopupRestoreFocusParams) => void;\n}\n\n/**\n * {@docCategory ContextualMenu}\n */\nexport interface IContextualMenuItemRenderProps extends IContextualMenuItem {\n index: number;\n focusableElementIndex: number;\n totalItemCount: number;\n hasCheckmarks: boolean;\n hasIcons: boolean;\n}\n\n/**\n * {@docCategory ContextualMenu}\n */\nexport interface IContextualMenuListProps {\n items: IContextualMenuItem[];\n totalItemCount: number;\n hasCheckmarks: boolean;\n hasIcons: boolean;\n defaultMenuItemRenderer: (item: IContextualMenuItemRenderProps) => React.ReactNode;\n ariaLabel?: string;\n labelElementId?: string;\n role?: string;\n}\n\n/**\n * {@docCategory ContextualMenu}\n */\nexport interface IContextualMenuItem {\n /**\n * Optional callback to access the IContextualMenuRenderItem interface.\n * This will get passed down to ContextualMenuItem.\n */\n componentRef?: IRefObject;\n\n /**\n * Unique id to identify the item\n */\n key: string;\n\n /**\n * Text of the menu item.\n * If a standard hyphen (-) is passed in, then the item will be rendered as a divider.\n * If a dash must appear as text, use an emdash (—), figuredash (‒), or minus symbol (−) instead.\n */\n text?: string;\n\n /**\n * Secondary description for the menu item to display\n */\n secondaryText?: string;\n\n itemType?: ContextualMenuItemType;\n\n /**\n * Props for an icon to display next to the item.\n */\n iconProps?: IIconProps;\n\n /**\n * Custom render function for the menu item icon\n */\n onRenderIcon?: IRenderFunction;\n\n /**\n * Props for the Icon used for the chevron.\n */\n submenuIconProps?: IIconProps;\n\n /**\n * Whether the menu item is disabled\n * @defaultvalue false\n */\n disabled?: boolean;\n\n /**\n * If the menu item is a split button, this prop disables purely the primary action of the button.\n * @defaultvalue false\n */\n primaryDisabled?: boolean;\n\n /**\n * @deprecated Not used\n */\n shortCut?: string;\n\n /**\n * Whether or not this menu item can be checked\n * @defaultvalue false\n */\n canCheck?: boolean;\n\n /**\n * Whether or not this menu item is currently checked.\n * @defaultvalue false\n */\n checked?: boolean;\n\n /**\n * Whether or not this menu item is a splitButton.\n * @defaultvalue false\n */\n split?: boolean;\n\n /**\n * Any custom data the developer wishes to associate with the menu item.\n */\n data?: any;\n\n /**\n * Callback for when the menu item is invoked. If `ev.preventDefault()` is called in `onClick`,\n * the click will not close the menu.\n *\n * Only for ContextualMenu items, returning true will dismiss the menu even if `ev.preventDefault()`\n * was called (does not apply for button or CommandBar sub-menu items).\n */\n onClick?: (\n ev?: React.MouseEvent | React.KeyboardEvent,\n item?: IContextualMenuItem,\n ) => boolean | void;\n\n /**\n * Navigate to this URL when the menu item is clicked.\n */\n href?: string;\n\n /**\n * Target window when using `href`.\n */\n target?: string;\n\n /**\n * Link relation setting when using `href`.\n * If `target` is `_blank`, `rel` is defaulted to a value to prevent clickjacking.\n */\n rel?: string;\n\n /**\n * Properties to apply to a submenu to this item.\n *\n * The ContextualMenu will provide default values for `target`, `onDismiss`, `isSubMenu`,\n * `id`, `shouldFocusOnMount`, `directionalHint`, `className`, and `gapSpace`, all of which\n * can be overridden.\n */\n subMenuProps?: IContextualMenuProps;\n\n /**\n * Method to provide the classnames to style the individual items inside a menu.\n * @deprecated Use `styles` prop of `IContextualMenuItemProps` to leverage mergeStyles API.\n */\n getItemClassNames?: (\n theme: ITheme,\n disabled: boolean,\n expanded: boolean,\n checked: boolean,\n isAnchorLink: boolean,\n knownIcon: boolean,\n itemClassName?: string,\n dividerClassName?: string,\n iconClassName?: string,\n subMenuClassName?: string,\n primaryDisabled?: boolean,\n ) => // eslint-disable-next-line deprecation/deprecation\n IMenuItemClassNames;\n\n /**\n * Optional IContextualMenuItemProps overrides to customize behaviors such as item styling via `styles`.\n */\n itemProps?: Partial;\n\n /**\n * Method to provide the classnames to style the Vertical Divider of a split button inside a menu.\n * Default value is the `getSplitButtonVerticalDividerClassNames` func defined in `ContextualMenu.classnames.ts`.\n * @defaultvalue getSplitButtonVerticalDividerClassNames\n */\n // eslint-disable-next-line deprecation/deprecation\n getSplitButtonVerticalDividerClassNames?: (theme: ITheme) => IVerticalDividerClassNames;\n\n /**\n * Properties to apply to render this item as a section.\n * This prop is mutually exclusive with `subMenuProps`.\n */\n sectionProps?: IContextualMenuSection;\n\n /**\n * Additional CSS class to apply to the menu item.\n */\n className?: string;\n\n /**\n * Additional styles to apply to the menu item\n * @deprecated Use `styles` instead to leverage mergeStyles API.\n */\n style?: React.CSSProperties;\n\n /**\n * Custom accessible label for the element.\n * If no override is specified, the `aria-label` attribute will contain the item name.\n */\n ariaLabel?: string;\n\n /**\n * Title (tooltip) text displayed when hovering over an item.\n */\n title?: string;\n\n /**\n * Method to custom render this menu item.\n * For keyboard accessibility, the top-level rendered item should be a focusable element\n * (like an anchor or a button) or have the `data-is-focusable` property set to true.\n *\n * @param item - Item to render. Will typically be of type `IContextualMenuItem`.\n * (When rendering a command bar item, will be `ICommandBarItemProps`.)\n * @param dismissMenu - Function to dismiss the menu. Can be used to ensure that a custom menu\n * item click dismisses the menu. (Will be undefined if rendering a command bar item.)\n */\n onRender?: (item: any, dismissMenu: (ev?: any, dismissAll?: boolean) => void) => React.ReactNode;\n\n /**\n * Method to customize sub-components rendering of this menu item.\n *\n * @param props - Props used to pass into render functions\n * @param defaultRenders - Default render functions that renders default sub-components\n */\n onRenderContent?: (\n props: IContextualMenuItemProps,\n defaultRenders: IContextualMenuItemRenderFunctions,\n ) => React.ReactNode;\n\n /**\n * A function to be executed on mouse down. This is executed before an `onClick` event and can\n * be used to interrupt native on click events as well. The click event should still handle\n * the commands. This should only be used in special cases when react and non-react are mixed.\n */\n onMouseDown?: (item: IContextualMenuItem, event: React.MouseEvent) => void;\n\n /**\n * Optional override for the menu button's role.\n * @default `menuitem` or `menuitemcheckbox`\n */\n role?: string;\n\n /**\n * When rendering a custom menu component that is passed in, the component might also be a list of\n * elements. We want to keep track of the correct index our menu is using based off of\n * the length of the custom list. It is up to the user to increment the count for their list.\n */\n customOnRenderListLength?: number;\n\n /**\n * Keytip for this contextual menu item\n */\n keytipProps?: IKeytipProps;\n\n /**\n * Any additional properties to use when custom rendering menu items.\n */\n [propertyName: string]: any;\n\n /**\n * Detailed description of the menu item for the benefit of screen readers.\n */\n ariaDescription?: string;\n\n /**\n * ID of the element that contains additional detailed descriptive information for screen readers\n */\n ariaDescribedBy?: string;\n\n /**\n * @deprecated No longer used. All contextual menu items are now focusable when disabled.\n */\n inactive?: boolean;\n\n /**\n * Text of the menu item.\n * @deprecated Use `text` instead.\n */\n name?: string;\n}\n\n/**\n * {@docCategory ContextualMenu}\n */\nexport interface IContextualMenuSection extends React.ClassAttributes {\n /**\n * The items to include inside the section.\n */\n items: IContextualMenuItem[];\n\n /**\n * The optional section title.\n */\n title?: string | IContextualMenuItem;\n\n /**\n * If set to true, the section will display a divider at the top of the section.\n */\n topDivider?: boolean;\n\n /**\n * If set to true, the section will display a divider at the bottom of the section.\n */\n bottomDivider?: boolean;\n}\n\n/**\n * {@docCategory ContextualMenu}\n */\nexport interface IMenuItemStyles extends IButtonStyles {\n /**\n * Styles for a menu item that is an anchor link.\n */\n item?: IStyle;\n\n /**\n * Styles for the content inside the button/link of the menuItem.\n */\n linkContent?: IStyle;\n\n /**\n * Styles for a menu item that is an anchor link.\n */\n anchorLink?: IStyle;\n\n /**\n * Default icon color style for known icons.\n */\n iconColor?: IStyle;\n\n /**\n * Default style for checkmark icons.\n */\n checkmarkIcon?: IStyle;\n\n /**\n * Styles for the submenu icon of a menu item.\n */\n subMenuIcon?: IStyle;\n\n /**\n * Styles for a divider item of a ContextualMenu.\n */\n divider?: IStyle;\n}\n\n/**\n * {@docCategory ContextualMenu}\n */\nexport interface IContextualMenuStyleProps {\n theme: ITheme;\n\n className?: string;\n\n // Insert ContextualMenu style props below\n}\n\n/**\n * {@docCategory ContextualMenu}\n */\nexport interface IContextualMenuStyles {\n /**\n * Style override for the contextual menu title.\n */\n title: IStyle;\n\n /**\n * Style for the container which parents all menu items.\n */\n container: IStyle;\n\n /**\n * Base styles for the root element of all ContextualMenus.\n */\n root: IStyle;\n\n /**\n * Styles for the header item of a ContextualMenu\n */\n header: IStyle;\n\n /**\n * Styles for the list that contains all menuItems.\n */\n list: IStyle;\n\n /**\n * SubComponent styles.\n */\n subComponentStyles: IContextualMenuSubComponentStyles;\n}\n\n/**\n * {@docCategory ContextualMenu}\n */\nexport interface IContextualMenuSubComponentStyles {\n /** Styles for the callout that hosts the ContextualMenu options. */\n callout: IStyleFunctionOrObject;\n\n /** Styles for each menu item. */\n menuItem: IStyleFunctionOrObject;\n}\n","import * as React from 'react';\nimport { styled } from '../../Utilities';\nimport { LabelBase } from './Label.base';\nimport { getStyles } from './Label.styles';\nimport { ILabelProps, ILabelStyleProps, ILabelStyles } from './Label.types';\n\nexport const Label: React.FunctionComponent = styled(\n LabelBase,\n getStyles,\n undefined,\n {\n scope: 'Label',\n },\n);\n","import { HighContrastSelector, FontWeights, getHighContrastNoAdjustStyle } from '../../Styling';\nimport { ILabelStyleProps, ILabelStyles } from './Label.types';\n\nexport const getStyles = (props: ILabelStyleProps): ILabelStyles => {\n const { theme, className, disabled, required } = props;\n const { semanticColors } = theme;\n\n // Tokens\n const labelFontWeight = FontWeights.semibold;\n const labelColor = semanticColors.bodyText;\n const labelDisabledColor = semanticColors.disabledBodyText;\n const labelRequiredStarColor = semanticColors.errorText;\n\n return {\n root: [\n 'ms-Label',\n theme.fonts.medium,\n {\n fontWeight: labelFontWeight,\n color: labelColor,\n boxSizing: 'border-box',\n boxShadow: 'none',\n margin: 0,\n display: 'block',\n padding: '5px 0',\n wordWrap: 'break-word',\n overflowWrap: 'break-word',\n },\n disabled && {\n color: labelDisabledColor,\n selectors: {\n [HighContrastSelector]: {\n color: 'GrayText',\n ...getHighContrastNoAdjustStyle(),\n },\n },\n },\n required && {\n selectors: {\n '::after': {\n content: `' *'`,\n color: labelRequiredStarColor,\n paddingRight: 12,\n },\n },\n },\n className,\n ],\n };\n};\n","import * as React from 'react';\n\n/**\n * Hook to initialize and return a constant value. Unlike `React.useMemo`, this is guaranteed to\n * always return the same value (and if the initializer is a function, only call it once).\n * This is similar to setting a private member in a class constructor.\n *\n * If the value should ever change based on dependencies, use `React.useMemo` instead.\n *\n * @param initialValue - Initial value, or function to get the initial value. Similar to `useState`,\n * only the value/function passed in the first time this is called is respected.\n * @returns The value. The identity of this value will always be the same.\n */\nexport function useConst(initialValue: T | (() => T)): T {\n // Use useRef to store the value because it's the least expensive built-in hook that works here\n // (we could also use `const [value] = React.useState(initialValue)` but that's more expensive\n // internally due to reducer handling which we don't need)\n const ref = React.useRef<{ value: T }>();\n if (ref.current === undefined) {\n // Box the value in an object so we can tell if it's initialized even if the initializer\n // returns/is undefined\n ref.current = {\n value: typeof initialValue === 'function' ? (initialValue as Function)() : initialValue,\n };\n }\n return ref.current.value;\n}\n","import { getWindow } from './dom/getWindow';\nimport { Stylesheet } from '@uifabric/merge-styles';\n\n// Initialize global window id.\nconst CURRENT_ID_PROPERTY = '__currentId__';\nconst DEFAULT_ID_STRING = 'id__';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nlet _global: any = getWindow() || {};\n\nif (_global[CURRENT_ID_PROPERTY] === undefined) {\n _global[CURRENT_ID_PROPERTY] = 0;\n}\n\nlet _initializedStylesheetResets = false;\n\n/**\n * Generates a unique id in the global scope (this spans across duplicate copies of the same library.)\n *\n * @public\n */\nexport function getId(prefix?: string): string {\n if (!_initializedStylesheetResets) {\n // Configure ids to reset on stylesheet resets.\n const stylesheet = Stylesheet.getInstance();\n\n if (stylesheet && stylesheet.onReset) {\n stylesheet.onReset(resetIds);\n }\n _initializedStylesheetResets = true;\n }\n\n let index = _global[CURRENT_ID_PROPERTY]++;\n\n return (prefix === undefined ? DEFAULT_ID_STRING : prefix) + index;\n}\n\n/**\n * Resets id counter to an (optional) number.\n *\n * @public\n */\nexport function resetIds(counter: number = 0): void {\n _global[CURRENT_ID_PROPERTY] = counter;\n}\n","import * as React from 'react';\nimport { IBaseProps } from './BaseComponent.types';\nimport { extendComponent } from './extendComponent';\n\n/**\n * Helper to manage componentRef resolution. Internally appends logic to\n * lifetime methods to resolve componentRef to the passed in object.\n *\n * Usage: call initializeComponentRef(this) in the constructor,\n */\nexport function initializeComponentRef(obj: React.Component): void {\n extendComponent(obj, {\n componentDidMount: _onMount,\n componentDidUpdate: _onUpdate,\n componentWillUnmount: _onUnmount,\n });\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction _onMount(this: any): void {\n _setComponentRef(this.props.componentRef, this);\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction _onUpdate(this: any, prevProps: IBaseProps): void {\n if (prevProps.componentRef !== this.props.componentRef) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n _setComponentRef((prevProps as any).componentRef, null);\n _setComponentRef(this.props.componentRef, this);\n }\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction _onUnmount(this: any): void {\n _setComponentRef(this.props.componentRef, null);\n}\n\nfunction _setComponentRef(componentRef: React.RefObject, value: TInterface | null): void {\n if (componentRef) {\n if (typeof componentRef === 'object') {\n (componentRef as { current: TInterface | null }).current = value;\n } else if (typeof componentRef === 'function') {\n (componentRef as Function)(value);\n }\n }\n}\n","/**\n * Rectangle helper class.\n *\n * @public\n * {@docCategory Rectangle}\n */\nexport class Rectangle {\n public top: number;\n public bottom: number;\n public left: number;\n public right: number;\n\n constructor(left: number = 0, right: number = 0, top: number = 0, bottom: number = 0) {\n this.top = top;\n this.bottom = bottom;\n this.left = left;\n this.right = right;\n }\n\n /**\n * Calculated automatically by subtracting the right from left\n */\n public get width(): number {\n return this.right - this.left;\n }\n\n /**\n * Calculated automatically by subtracting the bottom from top.\n */\n public get height(): number {\n return this.bottom - this.top;\n }\n\n /**\n * Tests if another rect is approximately equal to this rect (within 4 decimal places.)\n */\n public equals(rect: Rectangle): boolean {\n // Fixing to 4 decimal places because it allows enough precision and will handle cases when something\n // should be rounded, like .999999 should round to 1.\n return (\n parseFloat(this.top.toFixed(4)) === parseFloat(rect.top.toFixed(4)) &&\n parseFloat(this.bottom.toFixed(4)) === parseFloat(rect.bottom.toFixed(4)) &&\n parseFloat(this.left.toFixed(4)) === parseFloat(rect.left.toFixed(4)) &&\n parseFloat(this.right.toFixed(4)) === parseFloat(rect.right.toFixed(4))\n );\n }\n}\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}","// A packages cache that makes sure that we don't inject the same packageName twice in the same bundle -\r\n// this cache is local to the module closure inside this bundle\r\nconst packagesCache: { [name: string]: string } = {};\r\n\r\n// Cache access to window to avoid IE11 memory leak.\r\nlet _win: Window | undefined = undefined;\r\n\r\ntry {\r\n _win = window;\r\n} catch (e) {\r\n /* no-op */\r\n}\r\n\r\nexport function setVersion(packageName: string, packageVersion: string): void {\r\n if (typeof _win !== 'undefined') {\r\n // tslint:disable-next-line:no-any\r\n const packages = ((_win as any).__packages__ = (_win as any).__packages__ || {});\r\n\r\n // We allow either the global packages or local packages caches to invalidate so testing can just clear the global to set this state\r\n if (!packages[packageName] || !packagesCache[packageName]) {\r\n packagesCache[packageName] = packageVersion;\r\n const versions = (packages[packageName] = packages[packageName] || []);\r\n versions.push(packageVersion);\r\n }\r\n }\r\n}\r\n","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","import { GlobalSettings } from '../GlobalSettings';\r\n\r\n// tslint:disable-next-line:no-any\r\nexport type ISettings = { [key: string]: any };\r\nexport type ISettingsFunction = (settings: ISettings) => ISettings;\r\n\r\n/**\r\n * @deprecated Use ISettings.\r\n */\r\nexport type Settings = ISettings;\r\n\r\n/**\r\n * @deprecated Use ISettingsFunction.\r\n */\r\nexport type SettingsFunction = ISettingsFunction;\r\n\r\nexport interface ICustomizations {\r\n settings: ISettings;\r\n scopedSettings: { [key: string]: ISettings };\r\n inCustomizerContext?: boolean;\r\n}\r\n\r\nconst CustomizationsGlobalKey = 'customizations';\r\nconst NO_CUSTOMIZATIONS = { settings: {}, scopedSettings: {}, inCustomizerContext: false };\r\n\r\nlet _allSettings = GlobalSettings.getValue(CustomizationsGlobalKey, {\r\n settings: {},\r\n scopedSettings: {},\r\n inCustomizerContext: false\r\n});\r\n\r\nlet _events: (() => void)[] = [];\r\n\r\nexport class Customizations {\r\n public static reset(): void {\r\n _allSettings.settings = {};\r\n _allSettings.scopedSettings = {};\r\n }\r\n\r\n // tslint:disable-next-line:no-any\r\n public static applySettings(settings: ISettings): void {\r\n _allSettings.settings = { ..._allSettings.settings, ...settings };\r\n Customizations._raiseChange();\r\n }\r\n\r\n // tslint:disable-next-line:no-any\r\n public static applyScopedSettings(scopeName: string, settings: ISettings): void {\r\n _allSettings.scopedSettings[scopeName] = { ..._allSettings.scopedSettings[scopeName], ...settings };\r\n Customizations._raiseChange();\r\n }\r\n\r\n public static getSettings(\r\n properties: string[],\r\n scopeName?: string,\r\n localSettings: ICustomizations = NO_CUSTOMIZATIONS\r\n // tslint:disable-next-line:no-any\r\n ): any {\r\n // tslint:disable-next-line:no-any\r\n const settings: ISettings = {};\r\n const localScopedSettings = (scopeName && localSettings.scopedSettings[scopeName]) || {};\r\n const globalScopedSettings = (scopeName && _allSettings.scopedSettings[scopeName]) || {};\r\n\r\n for (let property of properties) {\r\n settings[property] =\r\n localScopedSettings[property] ||\r\n localSettings.settings[property] ||\r\n globalScopedSettings[property] ||\r\n _allSettings.settings[property];\r\n }\r\n\r\n return settings;\r\n }\r\n\r\n public static observe(onChange: () => void): void {\r\n _events.push(onChange);\r\n }\r\n\r\n public static unobserve(onChange: () => void): void {\r\n _events = _events.filter((cb: () => void) => cb !== onChange);\r\n }\r\n\r\n private static _raiseChange(): void {\r\n _events.forEach((cb: () => void) => cb());\r\n }\r\n}\r\n","import { IStyle } from './IStyle';\n\nexport const InjectionMode = {\n /**\n * Avoids style injection, use getRules() to read the styles.\n */\n none: 0 as 0,\n\n /**\n * Inserts rules using the insertRule api.\n */\n insertNode: 1 as 1,\n\n /**\n * Appends rules using appendChild.\n */\n appendChild: 2 as 2,\n};\n\nexport type InjectionMode = typeof InjectionMode[keyof typeof InjectionMode];\n\n/**\n * CSP settings for the stylesheet\n */\nexport interface ICSPSettings {\n /**\n * Nonce to inject into script tag\n */\n nonce?: string;\n}\n\n/**\n * Stylesheet config.\n *\n * @public\n */\nexport interface IStyleSheetConfig {\n /**\n * Injection mode for how rules are inserted.\n */\n injectionMode?: InjectionMode;\n\n /**\n * Default 'displayName' to use for a className.\n * @defaultvalue 'css'\n */\n defaultPrefix?: string;\n\n /**\n * Defines the default direction of rules for auto-rtlifying things.\n * While typically this is represented as a DIR attribute in the markup,\n * the DIR is not enough to control whether padding goes on the left or\n * right. Use this to set the default direction when rules are registered.\n */\n rtl?: boolean;\n\n /**\n * Default 'namespace' to attach before the className.\n */\n namespace?: string;\n\n /**\n * CSP settings\n */\n cspSettings?: ICSPSettings;\n\n /**\n * Callback executed when a rule is inserted.\n */\n onInsertRule?: (rule: string) => void;\n\n /**\n * Initial value for classnames cache. Key is serialized css rules associated with a classname.\n */\n classNameCache?: { [key: string]: string };\n}\n\nconst 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 */\nconst REUSE_STYLE_NODE = typeof navigator !== 'undefined' && /rv:11.0/.test(navigator.userAgent);\n\nlet _global: { [key: string]: any } = {};\n\n// Grab window.\ntry {\n _global = window;\n} catch {\n /* leave as blank object */\n}\n\nlet _stylesheet: Stylesheet;\n\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 */\nexport class Stylesheet {\n private _lastStyleElement?: HTMLStyleElement;\n private _styleElement?: HTMLStyleElement;\n private _rules: string[] = [];\n private _preservedRules: string[] = [];\n private _config: IStyleSheetConfig;\n private _rulesToInsert: string[] = [];\n private _counter = 0;\n private _keyToClassName: { [key: string]: string } = {};\n private _onResetCallbacks: (() => void)[] = [];\n\n private _classNameToArgs: { [key: string]: { args: any; rules: string[] } } = {};\n\n /**\n * Gets the singleton instance.\n */\n public static getInstance(): Stylesheet {\n _stylesheet = _global[STYLESHEET_SETTING] as Stylesheet;\n\n if (!_stylesheet || (_stylesheet._lastStyleElement && _stylesheet._lastStyleElement.ownerDocument !== document)) {\n const fabricConfig = _global?.FabricConfig || {};\n\n _stylesheet = _global[STYLESHEET_SETTING] = new Stylesheet(fabricConfig.mergeStyles);\n }\n\n return _stylesheet;\n }\n\n constructor(config?: IStyleSheetConfig) {\n this._config = {\n injectionMode: InjectionMode.insertNode,\n defaultPrefix: 'css',\n namespace: undefined,\n cspSettings: undefined,\n ...config,\n };\n\n this._keyToClassName = this._config.classNameCache || {};\n }\n\n /**\n * Configures the stylesheet.\n */\n public setConfig(config?: IStyleSheetConfig): void {\n this._config = {\n ...this._config,\n ...config,\n };\n }\n\n /**\n * Configures a reset callback.\n *\n * @param callback - A callback which will be called when the Stylesheet is reset.\n */\n public onReset(callback: () => void): void {\n this._onResetCallbacks.push(callback);\n }\n\n /**\n * Generates a unique classname.\n *\n * @param displayName - Optional value to use as a prefix.\n */\n public getClassName(displayName?: string): string {\n const { namespace } = this._config;\n const prefix = displayName || this._config.defaultPrefix;\n\n return `${namespace ? namespace + '-' : ''}${prefix}-${this._counter++}`;\n }\n\n /**\n * Used internally to cache information about a class which was\n * registered with the stylesheet.\n */\n public cacheClassName(className: string, key: string, args: IStyle[], rules: string[]): void {\n this._keyToClassName[key] = className;\n this._classNameToArgs[className] = {\n args,\n rules,\n };\n }\n\n /**\n * Gets the appropriate classname given a key which was previously\n * registered using cacheClassName.\n */\n public classNameFromKey(key: string): string | undefined {\n return this._keyToClassName[key];\n }\n\n /**\n * Gets all classnames cache with the stylesheet.\n */\n public getClassNameCache(): { [key: string]: string } {\n return this._keyToClassName;\n }\n\n /**\n * Gets the arguments associated with a given classname which was\n * previously registered using cacheClassName.\n */\n public argsFromClassName(className: string): IStyle[] | undefined {\n const entry = this._classNameToArgs[className];\n\n return entry && entry.args;\n }\n\n /**\n * Gets the arguments associated with a given classname which was\n * previously registered using cacheClassName.\n */\n public insertedRulesFromClassName(className: string): string[] | undefined {\n const entry = this._classNameToArgs[className];\n\n return entry && entry.rules;\n }\n\n /**\n * Inserts a css rule into the stylesheet.\n * @param preserve - Preserves the rule beyond a reset boundary.\n */\n public insertRule(rule: string, preserve?: boolean): void {\n const { injectionMode } = this._config;\n const 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 const { sheet } = element!;\n\n try {\n (sheet as CSSStyleSheet).insertRule(rule, (sheet as CSSStyleSheet).cssRules.length);\n } catch (e) {\n // The browser will throw exceptions on unsupported rules (such as a moz prefix in webkit.)\n // We need to swallow the exceptions for this scenario, otherwise we'd need to filter\n // which could be slower and bulkier.\n }\n break;\n\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 /**\n * Gets all rules registered with the stylesheet; only valid when\n * using InsertionMode.none.\n */\n public getRules(includePreservedRules?: boolean): string {\n return (\n (includePreservedRules ? this._preservedRules.join('') : '') + this._rules.join('') + this._rulesToInsert.join('')\n );\n }\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 public reset(): void {\n this._rules = [];\n this._rulesToInsert = [];\n this._counter = 0;\n this._classNameToArgs = {};\n this._keyToClassName = {};\n\n this._onResetCallbacks.forEach((callback: () => void) => callback());\n }\n\n // Forces the regeneration of incoming styles without totally resetting the stylesheet.\n public resetKeys(): void {\n this._keyToClassName = {};\n }\n\n private _getStyleElement(): HTMLStyleElement | undefined {\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(() => {\n this._styleElement = undefined;\n });\n }\n }\n return this._styleElement;\n }\n\n private _createStyleElement(): HTMLStyleElement {\n const head: HTMLHeadElement = document.head;\n const styleElement = document.createElement('style');\n\n styleElement.setAttribute('data-merge-styles', 'true');\n\n const { cspSettings } = this._config;\n if (cspSettings) {\n if (cspSettings.nonce) {\n styleElement.setAttribute('nonce', cspSettings.nonce);\n }\n }\n if (this._lastStyleElement) {\n // If the `nextElementSibling` is null, then the insertBefore will act as a regular append.\n // https://developer.mozilla.org/en-US/docs/Web/API/Node/insertBefore#Syntax\n head!.insertBefore(styleElement, this._lastStyleElement.nextElementSibling);\n } else {\n const placeholderStyleTag: Element | null = this._findPlaceholderStyleTag();\n\n if (placeholderStyleTag) {\n head!.insertBefore(styleElement, placeholderStyleTag.nextElementSibling);\n } else {\n head!.insertBefore(styleElement, head.childNodes[0]);\n }\n }\n this._lastStyleElement = styleElement;\n\n return styleElement;\n }\n\n private _findPlaceholderStyleTag(): Element | null {\n const head: HTMLHeadElement = document.head;\n if (head) {\n return head.querySelector('style[data-merge-styles]');\n }\n return null;\n }\n}\n","import * as React from 'react';\nimport { IRefObject, IRenderFunction, IStyleFunctionOrObject } from '../../Utilities';\nimport { CollapseAllVisibility } from '../../GroupedList';\nimport { ITheme, IStyle } from '../../Styling';\nimport { DetailsHeaderBase } from './DetailsHeader.base';\nimport { IColumn, DetailsListLayoutMode, IColumnReorderOptions, ColumnDragEndLocation } from './DetailsList.types';\nimport { ICellStyleProps, IDetailsItemProps } from './DetailsRow.types';\nimport { ISelection, SelectionMode } from '../../Selection';\nimport { IDetailsCheckboxProps } from './DetailsRowCheck.types';\nimport { IDetailsColumnRenderTooltipProps } from './DetailsColumn.types';\n\n/**\n * {@docCategory DetailsList}\n */\nexport interface IDetailsHeader {\n /** sets focus into the header */\n focus: () => boolean;\n}\n\n/**\n * {@docCategory DetailsList}\n */\nexport interface IDetailsHeaderBaseProps extends React.ClassAttributes, IDetailsItemProps {\n /** Theme from the Higher Order Component */\n theme?: ITheme;\n\n /** Call to provide customized styling that will layer on top of the variant rules. */\n styles?: IStyleFunctionOrObject;\n\n /** Ref to the component itself */\n componentRef?: IRefObject;\n\n /** Layout mode - fixedColumns or justified */\n layoutMode: DetailsListLayoutMode;\n\n /** Callback for when column sizing has changed */\n onColumnIsSizingChanged?: (column: IColumn, isSizing: boolean) => void;\n\n /** Callback for when column is resized */\n onColumnResized?: (column: IColumn, newWidth: number, columnIndex: number) => void;\n\n /** Callback for when column is automatically resized */\n onColumnAutoResized?: (column: IColumn, columnIndex: number) => void;\n\n /** Callback for when the column is clicked */\n onColumnClick?: (ev: React.MouseEvent, column: IColumn) => void;\n\n /** Callback for when the column needs to show a context menu */\n onColumnContextMenu?: (column: IColumn, ev: React.MouseEvent) => void;\n\n /** Callback to render a tooltip for the column header */\n onRenderColumnHeaderTooltip?: IRenderFunction;\n\n /** Whether to collapse for all visibility */\n collapseAllVisibility?: CollapseAllVisibility;\n\n /** Whether or not all is collapsed */\n isAllCollapsed?: boolean;\n\n /** Callback for when collapse all is toggled */\n onToggleCollapseAll?: (isAllCollapsed: boolean) => void;\n\n /** ariaLabel for the entire header */\n ariaLabel?: string;\n\n /** ariaLabel for expand/collapse group button */\n ariaLabelForToggleAllGroupsButton?: string;\n\n /** ariaLabel for the header checkbox that selects or deselects everything */\n ariaLabelForSelectAllCheckbox?: string;\n\n /** ariaLabel for the selection column */\n ariaLabelForSelectionColumn?: string;\n\n /** Select all button visibility */\n selectAllVisibility?: SelectAllVisibility;\n\n /** Column reordering options */\n columnReorderOptions?: IColumnReorderOptions;\n\n /** Column reordering options */\n columnReorderProps?: IColumnReorderHeaderProps;\n\n /** Minimum pixels to be moved before dragging is registered */\n minimumPixelsForDrag?: number;\n\n /** Overriding class name */\n className?: string;\n\n /** If provided, can be used to render a custom checkbox */\n onRenderDetailsCheckbox?: IRenderFunction;\n\n /**\n * Whether to use fast icon and check components. The icons can't be targeted by customization\n * but are still customizable via class names.\n * @defaultvalue true\n */\n useFastIcons?: boolean;\n}\n\n/**\n * {@docCategory DetailsList}\n */\nexport interface IDetailsHeaderProps extends IDetailsHeaderBaseProps {\n /**\n * Column metadata\n */\n columns: IColumn[];\n\n /**\n * Selection from utilities\n */\n selection: ISelection;\n\n /**\n * Selection mode\n */\n selectionMode: SelectionMode;\n}\n\n/**\n * {@docCategory DetailsList}\n */\nexport enum SelectAllVisibility {\n none = 0,\n hidden = 1,\n visible = 2,\n}\n\n/**\n * {@docCategory DetailsList}\n */\nexport interface IDetailsHeaderState {\n columnResizeDetails?: IColumnResizeDetails;\n isAllSelected?: boolean;\n isSizing?: boolean;\n isAllCollapsed?: boolean;\n}\n\n/**\n * {@docCategory DetailsList}\n */\nexport interface IColumnResizeDetails {\n columnIndex: number;\n originX?: number;\n columnMinWidth: number;\n}\n\n/**\n * {@docCategory DetailsList}\n */\nexport interface IColumnReorderHeaderProps extends IColumnReorderOptions {\n /** Callback to notify the column dragEnd event to List\n * Need this to check whether the dragEnd has happened on\n * corresponding list or outside of the list\n */\n onColumnDragEnd?: (props: { dropLocation?: ColumnDragEndLocation }, event: MouseEvent) => void;\n}\n\n/**\n * {@docCategory DetailsList}\n */\nexport interface IDropHintDetails {\n originX: number; // X index of dropHint Element relative to header\n startX: number; // start index of the range for the current drophint\n endX: number; // end index of the range for the current drophint\n dropHintElementRef: HTMLElement; // Reference for drophint to change the style when needed\n}\n\n/**\n * {@docCategory DetailsList}\n */\nexport type IDetailsHeaderStyleProps = Required> &\n Pick & {\n /** Whether to hide select all checkbox */\n isSelectAllHidden?: boolean;\n\n /** Whether the \"select all\" checkbox is checked */\n isAllSelected?: boolean;\n\n /** Is column being resized */\n isResizingColumn?: boolean;\n\n /** Are all columns collapsed */\n isAllCollapsed?: boolean;\n\n /** Whether the header is sizing */\n isSizing?: boolean;\n\n /** Whether checkbox is hidden */\n isCheckboxHidden?: boolean;\n\n cellStyleProps?: ICellStyleProps;\n };\n\n/**\n * {@docCategory DetailsList}\n */\nexport interface IDetailsHeaderStyles {\n root: IStyle;\n check: IStyle;\n\n /**\n * @deprecated Not used\n */\n cellWrapperPadded: IStyle;\n cellIsCheck: IStyle;\n\n /**\n * @deprecated Not used\n */\n cellIsActionable: IStyle;\n\n /**\n * @deprecated Not used\n */\n cellIsEmpty: IStyle;\n cellSizer: IStyle;\n cellSizerStart: IStyle;\n cellSizerEnd: IStyle;\n cellIsResizing: IStyle;\n cellIsGroupExpander: IStyle;\n collapseButton: IStyle;\n checkTooltip: IStyle;\n sizingOverlay: IStyle;\n dropHintCircleStyle: IStyle;\n dropHintCaretStyle: IStyle;\n dropHintLineStyle: IStyle;\n dropHintStyle: IStyle;\n accessibleLabel: IStyle;\n}\n","import { getDocument } from './dom/getDocument';\nimport { mergeStyles } from '@fluentui/merge-styles';\nimport { EventGroup } from './EventGroup';\nimport { getWindow } from './dom/getWindow';\n\nlet _scrollbarWidth: number;\nlet _bodyScrollDisabledCount = 0;\n\nconst DisabledScrollClassName = mergeStyles({\n overflow: 'hidden !important' as 'hidden',\n});\n\n/**\n * Placing this attribute on scrollable divs optimizes detection to know\n * if the div is scrollable or not (given we can avoid expensive operations\n * like getComputedStyle.)\n *\n * @public\n */\nexport const DATA_IS_SCROLLABLE_ATTRIBUTE = 'data-is-scrollable';\n\n/**\n * Allows the user to scroll within a element,\n * while preventing the user from scrolling the body\n */\nexport const allowScrollOnElement = (element: HTMLElement | null, events: EventGroup): void => {\n if (!element) {\n return;\n }\n\n let _previousClientY = 0;\n let _element: Element | null = null;\n\n // remember the clientY for future calls of _preventOverscrolling\n const _saveClientY = (event: TouchEvent): void => {\n if (event.targetTouches.length === 1) {\n _previousClientY = event.targetTouches[0].clientY;\n }\n };\n\n // prevent the body from scrolling when the user attempts\n // to scroll past the top or bottom of the element\n const _preventOverscrolling = (event: TouchEvent): void => {\n // only respond to a single-finger touch\n if (event.targetTouches.length !== 1) {\n return;\n }\n\n // prevent the body touchmove handler from firing\n // so that scrolling is allowed within the element\n event.stopPropagation();\n\n if (!_element) {\n return;\n }\n\n const clientY = event.targetTouches[0].clientY - _previousClientY;\n\n const scrollableParent = findScrollableParent(event.target as HTMLElement) as HTMLElement;\n if (scrollableParent) {\n _element = scrollableParent;\n }\n\n // if the element is scrolled to the top,\n // prevent the user from scrolling up\n if (_element.scrollTop === 0 && clientY > 0) {\n event.preventDefault();\n }\n\n // if the element is scrolled to the bottom,\n // prevent the user from scrolling down\n if (_element.scrollHeight - Math.ceil(_element.scrollTop) <= _element.clientHeight && clientY < 0) {\n event.preventDefault();\n }\n };\n\n events.on(element, 'touchstart', _saveClientY, { passive: false });\n events.on(element, 'touchmove', _preventOverscrolling, { passive: false });\n\n _element = element;\n};\n\n/**\n * Same as allowScrollOnElement but does not prevent overscrolling.\n */\nexport const allowOverscrollOnElement = (element: HTMLElement | null, events: EventGroup): void => {\n if (!element) {\n return;\n }\n const _allowElementScroll = (event: TouchEvent) => {\n event.stopPropagation();\n };\n events.on(element, 'touchmove', _allowElementScroll, { passive: false });\n};\n\nconst _disableIosBodyScroll = (event: TouchEvent) => {\n event.preventDefault();\n};\n\n/**\n * Disables the body scrolling.\n *\n * @public\n */\nexport function disableBodyScroll(): void {\n let doc = getDocument();\n\n if (doc && doc.body && !_bodyScrollDisabledCount) {\n doc.body.classList.add(DisabledScrollClassName);\n doc.body.addEventListener('touchmove', _disableIosBodyScroll, { passive: false, capture: false });\n }\n\n _bodyScrollDisabledCount++;\n}\n\n/**\n * Enables the body scrolling.\n *\n * @public\n */\nexport function enableBodyScroll(): void {\n if (_bodyScrollDisabledCount > 0) {\n let doc = getDocument();\n\n if (doc && doc.body && _bodyScrollDisabledCount === 1) {\n doc.body.classList.remove(DisabledScrollClassName);\n doc.body.removeEventListener('touchmove', _disableIosBodyScroll);\n }\n\n _bodyScrollDisabledCount--;\n }\n}\n\n/**\n * Calculates the width of a scrollbar for the browser/os.\n *\n * @public\n */\nexport function getScrollbarWidth(): number {\n if (_scrollbarWidth === undefined) {\n let scrollDiv: HTMLElement = document.createElement('div');\n scrollDiv.style.setProperty('width', '100px');\n scrollDiv.style.setProperty('height', '100px');\n scrollDiv.style.setProperty('overflow', 'scroll');\n scrollDiv.style.setProperty('position', 'absolute');\n scrollDiv.style.setProperty('top', '-9999px');\n document.body.appendChild(scrollDiv);\n // Get the scrollbar width\n _scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth;\n\n // Delete the DIV\n document.body.removeChild(scrollDiv);\n }\n\n return _scrollbarWidth;\n}\n\n/**\n * Traverses up the DOM for the element with the data-is-scrollable=true attribute, or returns\n * document.body.\n *\n * @public\n */\nexport function findScrollableParent(startingElement: HTMLElement | null): HTMLElement | Window | undefined | null {\n let el: HTMLElement | Window | undefined | null = startingElement;\n const doc = getDocument(startingElement)!;\n\n // First do a quick scan for the scrollable attribute.\n while (el && el !== doc.body) {\n if (el.getAttribute(DATA_IS_SCROLLABLE_ATTRIBUTE) === 'true') {\n return el;\n }\n el = el.parentElement;\n }\n\n // If we haven't found it, the use the slower method: compute styles to evaluate if overflow is set.\n el = startingElement;\n\n while (el && el !== doc.body) {\n if (el.getAttribute(DATA_IS_SCROLLABLE_ATTRIBUTE) !== 'false') {\n const computedStyles = getComputedStyle(el);\n let overflowY = computedStyles ? computedStyles.getPropertyValue('overflow-y') : '';\n\n if (overflowY && (overflowY === 'scroll' || overflowY === 'auto')) {\n return el;\n }\n }\n\n el = el.parentElement;\n }\n\n // Fall back to window scroll.\n if (!el || el === doc.body) {\n el = getWindow(startingElement);\n }\n\n return el;\n}\n","function isAbsolute(pathname) {\n return pathname.charAt(0) === '/';\n}\n\n// About 1.5x faster than the two-arg version of Array#splice()\nfunction spliceOne(list, index) {\n for (var i = index, k = i + 1, n = list.length; k < n; i += 1, k += 1) {\n list[i] = list[k];\n }\n\n list.pop();\n}\n\n// This implementation is based heavily on node's url.parse\nfunction resolvePathname(to, from) {\n if (from === undefined) from = '';\n\n var toParts = (to && to.split('/')) || [];\n var fromParts = (from && from.split('/')) || [];\n\n var isToAbs = to && isAbsolute(to);\n var isFromAbs = from && isAbsolute(from);\n var mustEndAbs = isToAbs || isFromAbs;\n\n if (to && isAbsolute(to)) {\n // to is absolute\n fromParts = toParts;\n } else if (toParts.length) {\n // to is relative, drop the filename\n fromParts.pop();\n fromParts = fromParts.concat(toParts);\n }\n\n if (!fromParts.length) return '/';\n\n var hasTrailingSlash;\n if (fromParts.length) {\n var last = fromParts[fromParts.length - 1];\n hasTrailingSlash = last === '.' || last === '..' || last === '';\n } else {\n hasTrailingSlash = false;\n }\n\n var up = 0;\n for (var i = fromParts.length; i >= 0; i--) {\n var part = fromParts[i];\n\n if (part === '.') {\n spliceOne(fromParts, i);\n } else if (part === '..') {\n spliceOne(fromParts, i);\n up++;\n } else if (up) {\n spliceOne(fromParts, i);\n up--;\n }\n }\n\n if (!mustEndAbs) for (; up--; up) fromParts.unshift('..');\n\n if (\n mustEndAbs &&\n fromParts[0] !== '' &&\n (!fromParts[0] || !isAbsolute(fromParts[0]))\n )\n fromParts.unshift('');\n\n var result = fromParts.join('/');\n\n if (hasTrailingSlash && result.substr(-1) !== '/') result += '/';\n\n return result;\n}\n\nexport default resolvePathname;\n","function valueOf(obj) {\n return obj.valueOf ? obj.valueOf() : Object.prototype.valueOf.call(obj);\n}\n\nfunction valueEqual(a, b) {\n // Test for strict equality first.\n if (a === b) return true;\n\n // Otherwise, if either of them == null they are not equal.\n if (a == null || b == null) return false;\n\n if (Array.isArray(a)) {\n return (\n Array.isArray(b) &&\n a.length === b.length &&\n a.every(function(item, index) {\n return valueEqual(item, b[index]);\n })\n );\n }\n\n if (typeof a === 'object' || typeof b === 'object') {\n var aValue = valueOf(a);\n var bValue = valueOf(b);\n\n if (aValue !== a || bValue !== b) return valueEqual(aValue, bValue);\n\n return Object.keys(Object.assign({}, a, b)).every(function(key) {\n return valueEqual(a[key], b[key]);\n });\n }\n\n return false;\n}\n\nexport default valueEqual;\n","import _extends from '@babel/runtime/helpers/esm/extends';\nimport resolvePathname from 'resolve-pathname';\nimport valueEqual from 'value-equal';\nimport warning from 'tiny-warning';\nimport invariant from 'tiny-invariant';\n\nfunction addLeadingSlash(path) {\n return path.charAt(0) === '/' ? path : '/' + path;\n}\nfunction stripLeadingSlash(path) {\n return path.charAt(0) === '/' ? path.substr(1) : path;\n}\nfunction hasBasename(path, prefix) {\n return path.toLowerCase().indexOf(prefix.toLowerCase()) === 0 && '/?#'.indexOf(path.charAt(prefix.length)) !== -1;\n}\nfunction stripBasename(path, prefix) {\n return hasBasename(path, prefix) ? path.substr(prefix.length) : path;\n}\nfunction stripTrailingSlash(path) {\n return path.charAt(path.length - 1) === '/' ? path.slice(0, -1) : path;\n}\nfunction parsePath(path) {\n var pathname = path || '/';\n var search = '';\n var hash = '';\n var hashIndex = pathname.indexOf('#');\n\n if (hashIndex !== -1) {\n hash = pathname.substr(hashIndex);\n pathname = pathname.substr(0, hashIndex);\n }\n\n var searchIndex = pathname.indexOf('?');\n\n if (searchIndex !== -1) {\n search = pathname.substr(searchIndex);\n pathname = pathname.substr(0, searchIndex);\n }\n\n return {\n pathname: pathname,\n search: search === '?' ? '' : search,\n hash: hash === '#' ? '' : hash\n };\n}\nfunction createPath(location) {\n var pathname = location.pathname,\n search = location.search,\n hash = location.hash;\n var path = pathname || '/';\n if (search && search !== '?') path += search.charAt(0) === '?' ? search : \"?\" + search;\n if (hash && hash !== '#') path += hash.charAt(0) === '#' ? hash : \"#\" + hash;\n return path;\n}\n\nfunction createLocation(path, state, key, currentLocation) {\n var location;\n\n if (typeof path === 'string') {\n // Two-arg form: push(path, state)\n location = parsePath(path);\n location.state = state;\n } else {\n // One-arg form: push(location)\n location = _extends({}, path);\n if (location.pathname === undefined) location.pathname = '';\n\n if (location.search) {\n if (location.search.charAt(0) !== '?') location.search = '?' + location.search;\n } else {\n location.search = '';\n }\n\n if (location.hash) {\n if (location.hash.charAt(0) !== '#') location.hash = '#' + location.hash;\n } else {\n location.hash = '';\n }\n\n if (state !== undefined && location.state === undefined) location.state = state;\n }\n\n try {\n location.pathname = decodeURI(location.pathname);\n } catch (e) {\n if (e instanceof URIError) {\n throw new URIError('Pathname \"' + location.pathname + '\" could not be decoded. ' + 'This is likely caused by an invalid percent-encoding.');\n } else {\n throw e;\n }\n }\n\n if (key) location.key = key;\n\n if (currentLocation) {\n // Resolve incomplete/relative pathname relative to current location.\n if (!location.pathname) {\n location.pathname = currentLocation.pathname;\n } else if (location.pathname.charAt(0) !== '/') {\n location.pathname = resolvePathname(location.pathname, currentLocation.pathname);\n }\n } else {\n // When there is no prior location and pathname is empty, set it to /\n if (!location.pathname) {\n location.pathname = '/';\n }\n }\n\n return location;\n}\nfunction locationsAreEqual(a, b) {\n return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash && a.key === b.key && valueEqual(a.state, b.state);\n}\n\nfunction createTransitionManager() {\n var prompt = null;\n\n function setPrompt(nextPrompt) {\n process.env.NODE_ENV !== \"production\" ? warning(prompt == null, 'A history supports only one prompt at a time') : void 0;\n prompt = nextPrompt;\n return function () {\n if (prompt === nextPrompt) prompt = null;\n };\n }\n\n function confirmTransitionTo(location, action, getUserConfirmation, callback) {\n // TODO: If another transition starts while we're still confirming\n // the previous one, we may end up in a weird state. Figure out the\n // best way to handle this.\n if (prompt != null) {\n var result = typeof prompt === 'function' ? prompt(location, action) : prompt;\n\n if (typeof result === 'string') {\n if (typeof getUserConfirmation === 'function') {\n getUserConfirmation(result, callback);\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'A history needs a getUserConfirmation function in order to use a prompt message') : void 0;\n callback(true);\n }\n } else {\n // Return false from a transition hook to cancel the transition.\n callback(result !== false);\n }\n } else {\n callback(true);\n }\n }\n\n var listeners = [];\n\n function appendListener(fn) {\n var isActive = true;\n\n function listener() {\n if (isActive) fn.apply(void 0, arguments);\n }\n\n listeners.push(listener);\n return function () {\n isActive = false;\n listeners = listeners.filter(function (item) {\n return item !== listener;\n });\n };\n }\n\n function notifyListeners() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n listeners.forEach(function (listener) {\n return listener.apply(void 0, args);\n });\n }\n\n return {\n setPrompt: setPrompt,\n confirmTransitionTo: confirmTransitionTo,\n appendListener: appendListener,\n notifyListeners: notifyListeners\n };\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nfunction getConfirmation(message, callback) {\n callback(window.confirm(message)); // eslint-disable-line no-alert\n}\n/**\n * Returns true if the HTML5 history API is supported. Taken from Modernizr.\n *\n * https://github.com/Modernizr/Modernizr/blob/master/LICENSE\n * https://github.com/Modernizr/Modernizr/blob/master/feature-detects/history.js\n * changed to avoid false negatives for Windows Phones: https://github.com/reactjs/react-router/issues/586\n */\n\nfunction supportsHistory() {\n var ua = window.navigator.userAgent;\n if ((ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) && ua.indexOf('Mobile Safari') !== -1 && ua.indexOf('Chrome') === -1 && ua.indexOf('Windows Phone') === -1) return false;\n return window.history && 'pushState' in window.history;\n}\n/**\n * Returns true if browser fires popstate on hash change.\n * IE10 and IE11 do not.\n */\n\nfunction supportsPopStateOnHashChange() {\n return window.navigator.userAgent.indexOf('Trident') === -1;\n}\n/**\n * Returns false if using go(n) with hash history causes a full page reload.\n */\n\nfunction supportsGoWithoutReloadUsingHash() {\n return window.navigator.userAgent.indexOf('Firefox') === -1;\n}\n/**\n * Returns true if a given popstate event is an extraneous WebKit event.\n * Accounts for the fact that Chrome on iOS fires real popstate events\n * containing undefined state when pressing the back button.\n */\n\nfunction isExtraneousPopstateEvent(event) {\n return event.state === undefined && navigator.userAgent.indexOf('CriOS') === -1;\n}\n\nvar PopStateEvent = 'popstate';\nvar HashChangeEvent = 'hashchange';\n\nfunction getHistoryState() {\n try {\n return window.history.state || {};\n } catch (e) {\n // IE 11 sometimes throws when accessing window.history.state\n // See https://github.com/ReactTraining/history/pull/289\n return {};\n }\n}\n/**\n * Creates a history object that uses the HTML5 history API including\n * pushState, replaceState, and the popstate event.\n */\n\n\nfunction createBrowserHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n !canUseDOM ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Browser history needs a DOM') : invariant(false) : void 0;\n var globalHistory = window.history;\n var canUseHistory = supportsHistory();\n var needsHashChangeListener = !supportsPopStateOnHashChange();\n var _props = props,\n _props$forceRefresh = _props.forceRefresh,\n forceRefresh = _props$forceRefresh === void 0 ? false : _props$forceRefresh,\n _props$getUserConfirm = _props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm,\n _props$keyLength = _props.keyLength,\n keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength;\n var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';\n\n function getDOMLocation(historyState) {\n var _ref = historyState || {},\n key = _ref.key,\n state = _ref.state;\n\n var _window$location = window.location,\n pathname = _window$location.pathname,\n search = _window$location.search,\n hash = _window$location.hash;\n var path = pathname + search + hash;\n process.env.NODE_ENV !== \"production\" ? warning(!basename || hasBasename(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".') : void 0;\n if (basename) path = stripBasename(path, basename);\n return createLocation(path, state, key);\n }\n\n function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n }\n\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n function handlePopState(event) {\n // Ignore extraneous popstate events in WebKit.\n if (isExtraneousPopstateEvent(event)) return;\n handlePop(getDOMLocation(event.state));\n }\n\n function handleHashChange() {\n handlePop(getDOMLocation(getHistoryState()));\n }\n\n var forceNextPop = false;\n\n function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location\n });\n } else {\n revertPop(location);\n }\n });\n }\n }\n\n function revertPop(fromLocation) {\n var toLocation = history.location; // TODO: We could probably make this more reliable by\n // keeping a list of keys we've seen in sessionStorage.\n // Instead, we just default to 0 for keys we don't know.\n\n var toIndex = allKeys.indexOf(toLocation.key);\n if (toIndex === -1) toIndex = 0;\n var fromIndex = allKeys.indexOf(fromLocation.key);\n if (fromIndex === -1) fromIndex = 0;\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n }\n\n var initialLocation = getDOMLocation(getHistoryState());\n var allKeys = [initialLocation.key]; // Public interface\n\n function createHref(location) {\n return basename + createPath(location);\n }\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n if (canUseHistory) {\n globalHistory.pushState({\n key: key,\n state: state\n }, null, href);\n\n if (forceRefresh) {\n window.location.href = href;\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n var nextKeys = allKeys.slice(0, prevIndex + 1);\n nextKeys.push(location.key);\n allKeys = nextKeys;\n setState({\n action: action,\n location: location\n });\n }\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Browser history cannot push state in browsers that do not support HTML5 history') : void 0;\n window.location.href = href;\n }\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n if (canUseHistory) {\n globalHistory.replaceState({\n key: key,\n state: state\n }, null, href);\n\n if (forceRefresh) {\n window.location.replace(href);\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n if (prevIndex !== -1) allKeys[prevIndex] = location.key;\n setState({\n action: action,\n location: location\n });\n }\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Browser history cannot replace state in browsers that do not support HTML5 history') : void 0;\n window.location.replace(href);\n }\n });\n }\n\n function go(n) {\n globalHistory.go(n);\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n var listenerCount = 0;\n\n function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1 && delta === 1) {\n window.addEventListener(PopStateEvent, handlePopState);\n if (needsHashChangeListener) window.addEventListener(HashChangeEvent, handleHashChange);\n } else if (listenerCount === 0) {\n window.removeEventListener(PopStateEvent, handlePopState);\n if (needsHashChangeListener) window.removeEventListener(HashChangeEvent, handleHashChange);\n }\n }\n\n var isBlocked = false;\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n }\n\n function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n }\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n return history;\n}\n\nvar HashChangeEvent$1 = 'hashchange';\nvar HashPathCoders = {\n hashbang: {\n encodePath: function encodePath(path) {\n return path.charAt(0) === '!' ? path : '!/' + stripLeadingSlash(path);\n },\n decodePath: function decodePath(path) {\n return path.charAt(0) === '!' ? path.substr(1) : path;\n }\n },\n noslash: {\n encodePath: stripLeadingSlash,\n decodePath: addLeadingSlash\n },\n slash: {\n encodePath: addLeadingSlash,\n decodePath: addLeadingSlash\n }\n};\n\nfunction stripHash(url) {\n var hashIndex = url.indexOf('#');\n return hashIndex === -1 ? url : url.slice(0, hashIndex);\n}\n\nfunction getHashPath() {\n // We can't use window.location.hash here because it's not\n // consistent across browsers - Firefox will pre-decode it!\n var href = window.location.href;\n var hashIndex = href.indexOf('#');\n return hashIndex === -1 ? '' : href.substring(hashIndex + 1);\n}\n\nfunction pushHashPath(path) {\n window.location.hash = path;\n}\n\nfunction replaceHashPath(path) {\n window.location.replace(stripHash(window.location.href) + '#' + path);\n}\n\nfunction createHashHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n !canUseDOM ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Hash history needs a DOM') : invariant(false) : void 0;\n var globalHistory = window.history;\n var canGoWithoutReload = supportsGoWithoutReloadUsingHash();\n var _props = props,\n _props$getUserConfirm = _props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm,\n _props$hashType = _props.hashType,\n hashType = _props$hashType === void 0 ? 'slash' : _props$hashType;\n var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';\n var _HashPathCoders$hashT = HashPathCoders[hashType],\n encodePath = _HashPathCoders$hashT.encodePath,\n decodePath = _HashPathCoders$hashT.decodePath;\n\n function getDOMLocation() {\n var path = decodePath(getHashPath());\n process.env.NODE_ENV !== \"production\" ? warning(!basename || hasBasename(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".') : void 0;\n if (basename) path = stripBasename(path, basename);\n return createLocation(path);\n }\n\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n var forceNextPop = false;\n var ignorePath = null;\n\n function locationsAreEqual$$1(a, b) {\n return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash;\n }\n\n function handleHashChange() {\n var path = getHashPath();\n var encodedPath = encodePath(path);\n\n if (path !== encodedPath) {\n // Ensure we always have a properly-encoded hash.\n replaceHashPath(encodedPath);\n } else {\n var location = getDOMLocation();\n var prevLocation = history.location;\n if (!forceNextPop && locationsAreEqual$$1(prevLocation, location)) return; // A hashchange doesn't always == location change.\n\n if (ignorePath === createPath(location)) return; // Ignore this change; we already setState in push/replace.\n\n ignorePath = null;\n handlePop(location);\n }\n }\n\n function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location\n });\n } else {\n revertPop(location);\n }\n });\n }\n }\n\n function revertPop(fromLocation) {\n var toLocation = history.location; // TODO: We could probably make this more reliable by\n // keeping a list of paths we've seen in sessionStorage.\n // Instead, we just default to 0 for paths we don't know.\n\n var toIndex = allPaths.lastIndexOf(createPath(toLocation));\n if (toIndex === -1) toIndex = 0;\n var fromIndex = allPaths.lastIndexOf(createPath(fromLocation));\n if (fromIndex === -1) fromIndex = 0;\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n } // Ensure the hash is encoded properly before doing anything else.\n\n\n var path = getHashPath();\n var encodedPath = encodePath(path);\n if (path !== encodedPath) replaceHashPath(encodedPath);\n var initialLocation = getDOMLocation();\n var allPaths = [createPath(initialLocation)]; // Public interface\n\n function createHref(location) {\n var baseTag = document.querySelector('base');\n var href = '';\n\n if (baseTag && baseTag.getAttribute('href')) {\n href = stripHash(window.location.href);\n }\n\n return href + '#' + encodePath(basename + createPath(location));\n }\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Hash history cannot push state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, undefined, undefined, history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var path = createPath(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a PUSH, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n pushHashPath(encodedPath);\n var prevIndex = allPaths.lastIndexOf(createPath(history.location));\n var nextPaths = allPaths.slice(0, prevIndex + 1);\n nextPaths.push(path);\n allPaths = nextPaths;\n setState({\n action: action,\n location: location\n });\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'Hash history cannot PUSH the same path; a new entry will not be added to the history stack') : void 0;\n setState();\n }\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Hash history cannot replace state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, undefined, undefined, history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var path = createPath(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a REPLACE, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n replaceHashPath(encodedPath);\n }\n\n var prevIndex = allPaths.indexOf(createPath(history.location));\n if (prevIndex !== -1) allPaths[prevIndex] = path;\n setState({\n action: action,\n location: location\n });\n });\n }\n\n function go(n) {\n process.env.NODE_ENV !== \"production\" ? warning(canGoWithoutReload, 'Hash history go(n) causes a full page reload in this browser') : void 0;\n globalHistory.go(n);\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n var listenerCount = 0;\n\n function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1 && delta === 1) {\n window.addEventListener(HashChangeEvent$1, handleHashChange);\n } else if (listenerCount === 0) {\n window.removeEventListener(HashChangeEvent$1, handleHashChange);\n }\n }\n\n var isBlocked = false;\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n }\n\n function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n }\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n return history;\n}\n\nfunction clamp(n, lowerBound, upperBound) {\n return Math.min(Math.max(n, lowerBound), upperBound);\n}\n/**\n * Creates a history object that stores locations in memory.\n */\n\n\nfunction createMemoryHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n var _props = props,\n getUserConfirmation = _props.getUserConfirmation,\n _props$initialEntries = _props.initialEntries,\n initialEntries = _props$initialEntries === void 0 ? ['/'] : _props$initialEntries,\n _props$initialIndex = _props.initialIndex,\n initialIndex = _props$initialIndex === void 0 ? 0 : _props$initialIndex,\n _props$keyLength = _props.keyLength,\n keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength;\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = history.entries.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n }\n\n var index = clamp(initialIndex, 0, initialEntries.length - 1);\n var entries = initialEntries.map(function (entry) {\n return typeof entry === 'string' ? createLocation(entry, undefined, createKey()) : createLocation(entry, undefined, entry.key || createKey());\n }); // Public interface\n\n var createHref = createPath;\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var prevIndex = history.index;\n var nextIndex = prevIndex + 1;\n var nextEntries = history.entries.slice(0);\n\n if (nextEntries.length > nextIndex) {\n nextEntries.splice(nextIndex, nextEntries.length - nextIndex, location);\n } else {\n nextEntries.push(location);\n }\n\n setState({\n action: action,\n location: location,\n index: nextIndex,\n entries: nextEntries\n });\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n history.entries[history.index] = location;\n setState({\n action: action,\n location: location\n });\n });\n }\n\n function go(n) {\n var nextIndex = clamp(history.index + n, 0, history.entries.length - 1);\n var action = 'POP';\n var location = history.entries[nextIndex];\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location,\n index: nextIndex\n });\n } else {\n // Mimic the behavior of DOM histories by\n // causing a render after a cancelled POP.\n setState();\n }\n });\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n function canGo(n) {\n var nextIndex = history.index + n;\n return nextIndex >= 0 && nextIndex < history.entries.length;\n }\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n return transitionManager.setPrompt(prompt);\n }\n\n function listen(listener) {\n return transitionManager.appendListener(listener);\n }\n\n var history = {\n length: entries.length,\n action: 'POP',\n location: entries[index],\n index: index,\n entries: entries,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n canGo: canGo,\n block: block,\n listen: listen\n };\n return history;\n}\n\nexport { createBrowserHistory, createHashHistory, createMemoryHistory, createLocation, locationsAreEqual, parsePath, createPath };\n","export * from './utilities/selection/index';\n","'use strict';\n\nvar bind = require('./helpers/bind');\nvar isBuffer = require('is-buffer');\n\n/*global toString:true*/\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\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 */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\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 */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\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 */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\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 */\nfunction isArrayBufferView(val) {\n var result;\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 return result;\n}\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 */\nfunction isString(val) {\n return typeof val === 'string';\n}\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 */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\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 */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\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 */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\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 */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\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 */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\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 */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\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 */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\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 */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\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 */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\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 */\nfunction trim(str) {\n return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\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 */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\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 */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\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/**\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 */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\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 return result;\n}\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 */\nfunction deepMerge(/* obj1, obj2, obj3, ... */) {\n var result = {};\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 return result;\n}\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 */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n deepMerge: deepMerge,\n extend: extend,\n trim: trim\n};\n","var isProduction = process.env.NODE_ENV === 'production';\nvar prefix = 'Invariant failed';\nfunction invariant(condition, message) {\n if (condition) {\n return;\n }\n if (isProduction) {\n throw new Error(prefix);\n }\n throw new Error(prefix + \": \" + (message || ''));\n}\n\nexport default invariant;\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.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","import * as React from 'react';\nimport {\n anchorProperties,\n assign,\n buttonProperties,\n createMergedRef,\n css,\n getId,\n getNativeProps,\n initializeComponentRef,\n memoizeFunction,\n mergeAriaAttributeValues,\n nullRender,\n portalContainsElement,\n setFocusVisibility,\n warnConditionallyRequiredProps,\n warnDeprecations,\n Async,\n EventGroup,\n FocusRects,\n IRenderFunction,\n KeyCodes,\n} from '../../Utilities';\nimport { Icon, FontIcon, ImageIcon } from '../../Icon';\nimport { DirectionalHint } from '../../common/DirectionalHint';\nimport { ContextualMenu, IContextualMenuProps } from '../../ContextualMenu';\nimport { IButtonProps, IButton } from './Button.types';\nimport { IButtonClassNames, getBaseButtonClassNames } from './BaseButton.classNames';\nimport {\n getSplitButtonClassNames as getBaseSplitButtonClassNames,\n ISplitButtonClassNames,\n} from './SplitButton/SplitButton.classNames';\nimport { KeytipData } from '../../KeytipData';\nimport { IKeytipProps } from '../../Keytip';\n\n/**\n * {@docCategory Button}\n */\nexport interface IBaseButtonProps extends IButtonProps {\n baseClassName?: string;\n variantClassName?: string;\n}\n\n/**\n * {@docCategory Button}\n */\nexport interface IBaseButtonState {\n menuHidden: boolean;\n}\n\nconst TouchIdleDelay = 500; /* ms */\nconst COMPONENT_NAME = 'BaseButton';\n\n/**\n * {@docCategory Button}\n */\nexport class BaseButton extends React.Component implements IButton {\n private get _isSplitButton(): boolean {\n return !!this.props.menuProps && !!this.props.onClick && this.props.split === true;\n }\n\n public static defaultProps: Partial = {\n baseClassName: 'ms-Button',\n styles: {},\n split: false,\n };\n\n private _async: Async;\n private _events: EventGroup;\n private _buttonElement = React.createRef();\n private _splitButtonContainer = React.createRef();\n private _mergedRef = createMergedRef();\n private _labelId: string;\n private _descriptionId: string;\n private _ariaDescriptionId: string;\n private _classNames: IButtonClassNames;\n private _processingTouch: boolean;\n private _lastTouchTimeoutId: number | undefined;\n private _renderedVisibleMenu: boolean = false;\n\n // These fields will be used to set corresponding props on the menu.\n private _menuShouldFocusOnContainer: boolean | undefined;\n private _menuShouldFocusOnMount: boolean | undefined;\n\n private _getMemoizedMenuButtonKeytipProps = memoizeFunction((keytipProps: IKeytipProps) => {\n return {\n ...keytipProps,\n hasMenu: true,\n };\n });\n\n constructor(props: IBaseButtonProps) {\n super(props);\n\n initializeComponentRef(this);\n this._async = new Async(this);\n this._events = new EventGroup(this);\n\n warnConditionallyRequiredProps(COMPONENT_NAME, props, ['menuProps', 'onClick'], 'split', this.props.split!);\n\n warnDeprecations(COMPONENT_NAME, props, {\n rootProps: undefined,\n description: 'secondaryText',\n toggled: 'checked',\n });\n this._labelId = getId();\n this._descriptionId = getId();\n this._ariaDescriptionId = getId();\n\n this.state = {\n menuHidden: true,\n };\n }\n\n public render(): JSX.Element {\n const {\n ariaDescription,\n ariaLabel,\n ariaHidden,\n className,\n disabled,\n allowDisabledFocus,\n primaryDisabled,\n // eslint-disable-next-line deprecation/deprecation\n secondaryText = this.props.description,\n href,\n iconProps,\n menuIconProps,\n styles,\n checked,\n variantClassName,\n theme,\n toggle,\n getClassNames,\n role,\n } = this.props;\n\n const { menuHidden } = this.state;\n\n // Button is disabled if the whole button (in case of splitButton is disabled) or if the primary action is disabled\n const isPrimaryButtonDisabled = disabled || primaryDisabled;\n\n this._classNames = getClassNames\n ? getClassNames(\n theme!,\n className!,\n variantClassName!,\n iconProps && iconProps.className,\n menuIconProps && menuIconProps.className,\n isPrimaryButtonDisabled!,\n checked!,\n !menuHidden,\n !!this.props.menuProps,\n this.props.split,\n !!allowDisabledFocus,\n )\n : getBaseButtonClassNames(\n theme!,\n styles!,\n className!,\n variantClassName!,\n iconProps && iconProps.className,\n menuIconProps && menuIconProps.className,\n isPrimaryButtonDisabled!,\n !!this.props.menuProps,\n checked!,\n !menuHidden,\n this.props.split,\n );\n\n const { _ariaDescriptionId, _labelId, _descriptionId } = this;\n // Anchor tag cannot be disabled hence in disabled state rendering\n // anchor button as normal button\n const renderAsAnchor: boolean = !isPrimaryButtonDisabled && !!href;\n const tag = renderAsAnchor ? 'a' : 'button';\n\n const nativeProps = getNativeProps(\n // eslint-disable-next-line deprecation/deprecation\n assign(renderAsAnchor ? {} : { type: 'button' }, this.props.rootProps, this.props),\n renderAsAnchor ? anchorProperties : buttonProperties,\n [\n 'disabled', // let disabled buttons be focused and styled as disabled.\n ],\n );\n\n // Check for ariaLabel passed in via Button props, and fall back to aria-label passed in via native props\n const resolvedAriaLabel = ariaLabel || (nativeProps as any)['aria-label'];\n\n // Check for ariaDescription, secondaryText or aria-describedby in the native props to determine source of\n // aria-describedby. Otherwise default to undefined so property does not appear in output.\n let ariaDescribedBy = undefined;\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 as any)['aria-describedby']) {\n ariaDescribedBy = (nativeProps as any)['aria-describedby'];\n }\n\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 // and no ariaLabel is specified, set the labelledby element.\n // Otherwise, the button is labeled implicitly by the descendent text on the button (if it exists).\n let ariaLabelledBy = undefined;\n if ((nativeProps as any)['aria-labelledby']) {\n ariaLabelledBy = (nativeProps as any)['aria-labelledby'];\n } else if (ariaDescribedBy && !resolvedAriaLabel) {\n ariaLabelledBy = this._hasText() ? _labelId : undefined;\n }\n\n const dataIsFocusable =\n (this.props as any)['data-is-focusable'] === false || (disabled && !allowDisabledFocus) || this._isSplitButton\n ? false\n : true;\n\n const isCheckboxTypeRole = role === 'menuitemcheckbox' || role === 'checkbox';\n // if isCheckboxTypeRole, always return a checked value.\n // 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 const checkedOrPressedValue = isCheckboxTypeRole ? !!checked : toggle === true ? !!checked : undefined;\n\n const buttonProps = assign(nativeProps, {\n className: this._classNames.root,\n // eslint-disable-next-line deprecation/deprecation\n ref: this._mergedRef(this.props.elementRef, 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 [isCheckboxTypeRole ? 'aria-checked' : 'aria-pressed']: checkedOrPressedValue,\n });\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 const { id = `${this._labelId}-menu` } = this.props.menuProps;\n assign(buttonProps, {\n 'aria-expanded': !menuHidden,\n 'aria-controls': !menuHidden ? id : null,\n 'aria-haspopup': true,\n });\n }\n\n return this._onRenderContent(tag, buttonProps);\n }\n\n public componentDidMount() {\n // For split buttons, touching anywhere in the button should drop the dropdown, which should contain the\n // primary action. This gives more hit target space for touch environments. We're setting the onpointerdown here,\n // because React 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 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 public componentDidUpdate(prevProps: IBaseButtonProps, prevState: IBaseButtonState) {\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 public componentWillUnmount(): void {\n this._async.dispose();\n this._events.dispose();\n }\n\n public focus(): void {\n if (this._isSplitButton && this._splitButtonContainer.current) {\n setFocusVisibility(true);\n this._splitButtonContainer.current.focus();\n } else if (this._buttonElement.current) {\n setFocusVisibility(true);\n this._buttonElement.current.focus();\n }\n }\n\n public dismissMenu(): void {\n this._dismissMenu();\n }\n\n public openMenu(shouldFocusOnContainer?: boolean, shouldFocusOnMount?: boolean): void {\n this._openMenu(shouldFocusOnContainer, shouldFocusOnMount);\n }\n\n private _onRenderContent(tag: any, buttonProps: IButtonProps): JSX.Element {\n const props = this.props;\n const Tag = tag;\n const {\n menuIconProps,\n menuProps,\n onRenderIcon = this._onRenderIcon,\n onRenderAriaDescription = this._onRenderAriaDescription,\n onRenderChildren = this._onRenderChildren,\n // eslint-disable-next-line deprecation/deprecation\n onRenderMenu = this._onRenderMenu,\n onRenderMenuIcon = this._onRenderMenuIcon,\n disabled,\n } = props;\n let { keytipProps } = props;\n if (keytipProps && menuProps) {\n keytipProps = this._getMemoizedMenuButtonKeytipProps(keytipProps);\n }\n\n const Button = (keytipAttributes?: any): JSX.Element => (\n \n \n {onRenderIcon(props, this._onRenderIcon)}\n {this._onRenderTextContents()}\n {onRenderAriaDescription(props, this._onRenderAriaDescription)}\n {onRenderChildren(props, this._onRenderChildren)}\n {!this._isSplitButton &&\n (menuProps || menuIconProps || this.props.onRenderMenuIcon) &&\n onRenderMenuIcon(this.props, this._onRenderMenuIcon)}\n {menuProps &&\n !menuProps.doNotLayer &&\n this._shouldRenderMenu() &&\n onRenderMenu(menuProps, this._onRenderMenu)}\n \n \n );\n\n const Content = keytipProps ? (\n // If we're making a split button, we won't put the keytip here\n \n {(keytipAttributes: any): JSX.Element => Button(keytipAttributes)}\n \n ) : (\n Button()\n );\n\n if (menuProps && menuProps.doNotLayer) {\n return (\n <>\n {Content}\n {this._shouldRenderMenu() && onRenderMenu(menuProps, this._onRenderMenu)}\n \n );\n }\n\n return (\n <>\n {Content}\n \n \n );\n }\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 private _shouldRenderMenu() {\n const { menuHidden } = this.state;\n // eslint-disable-next-line deprecation/deprecation\n const { persistMenu, renderPersistedMenuHiddenOnMount } = this.props;\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 private _onRenderIcon = (\n buttonProps?: IButtonProps,\n defaultRender?: IRenderFunction,\n ): JSX.Element | null => {\n const { iconProps } = this.props;\n\n if (iconProps && (iconProps.iconName !== undefined || iconProps.imageProps)) {\n const { className, imageProps, ...rest } = iconProps;\n\n // If the styles prop is specified as part of iconProps, fall back to regular Icon as FontIcon and ImageIcon\n // do not have this prop.\n if (iconProps.styles) {\n return ;\n }\n if (iconProps.iconName) {\n return ;\n }\n if (imageProps) {\n return ;\n }\n }\n return null;\n };\n\n private _onRenderTextContents = (): JSX.Element | (JSX.Element | null)[] => {\n const {\n text,\n children,\n // eslint-disable-next-line deprecation/deprecation\n secondaryText = this.props.description,\n onRenderText = this._onRenderText,\n onRenderDescription = this._onRenderDescription,\n } = this.props;\n\n if (text || typeof children === 'string' || secondaryText) {\n return (\n \n {onRenderText(this.props, this._onRenderText)}\n {onRenderDescription(this.props, this._onRenderDescription)}\n \n );\n }\n return [onRenderText(this.props, this._onRenderText), onRenderDescription(this.props, this._onRenderDescription)];\n };\n\n private _onRenderText = (): JSX.Element | null => {\n let { text } = this.props;\n const { children } = this.props;\n\n // For backwards compat, we should continue to take in the text content from children.\n if (text === undefined && typeof children === 'string') {\n text = children;\n }\n\n if (this._hasText()) {\n return (\n \n {text}\n \n );\n }\n\n return null;\n };\n\n private _hasText(): boolean {\n // _onRenderTextContents and _onRenderText do not perform the same checks. Below is parity with what _onRenderText\n // used to have before the refactor that introduced this function. _onRenderTextContents does not require props.\n // text to be undefined in order for props.children to be used as a fallback.\n // 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 private _onRenderChildren = (): JSX.Element | null => {\n const { children } = this.props;\n\n // 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 if (typeof children === 'string') {\n return null;\n }\n\n return children as any;\n };\n\n private _onRenderDescription = (props: IButtonProps) => {\n // eslint-disable-next-line deprecation/deprecation\n const { secondaryText = this.props.description } = props;\n\n // ms-Button-description is only shown when the button type is compound.\n // In other cases it will not be displayed.\n return secondaryText ? (\n \n {secondaryText}\n \n ) : null;\n };\n\n private _onRenderAriaDescription = () => {\n const { ariaDescription } = this.props;\n\n // If ariaDescription is given, descriptionId will be assigned to ariaDescriptionSpan,\n // otherwise it will be assigned to descriptionSpan.\n return ariaDescription ? (\n \n {ariaDescription}\n \n ) : null;\n };\n\n private _onRenderMenuIcon = (props: IButtonProps): JSX.Element | null => {\n const { menuIconProps } = this.props;\n\n return ;\n };\n\n private _onRenderMenu = (menuProps: IContextualMenuProps): JSX.Element => {\n const { persistMenu } = this.props;\n const { menuHidden } = this.state;\n const MenuType = this.props.menuAs || (ContextualMenu as React.ElementType);\n\n // 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 if (!menuProps.ariaLabel && !menuProps.labelElementId && this._hasText()) {\n menuProps = { ...menuProps, labelElementId: this._labelId };\n }\n\n return (\n