{"version":3,"sources":["../node_modules/react/index.js","../node_modules/tslib/tslib.es6.js","../node_modules/prop-types/index.js","../../src/Utilities.ts","../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/classnames/index.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../../src/Styling.ts","../../src/utilities/buildClassMap.ts","../../src/keyframes.ts","../../src/styles/AnimationStyles.ts","../../src/classNames/AnimationClassNames.ts","../../src/fontFace.ts","../../src/styles/fonts.ts","../../src/styles/DefaultFontStyles.ts","../../src/classNames/FontClassNames.ts","../../src/constants/FluentDepths.ts","../../src/constants/DefaultPalette.ts","../../src/constants/DefaultSpacing.ts","../../src/constants/DefaultEffects.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","../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../../src/common/DirectionalHint.ts","../../src/utilities/positioning/positioning.types.ts","../../src/properties.ts","../../src/focus.ts","../../src/utilities/keytips/KeytipUtils.ts","../../src/dom/getWindow.ts","../../src/components/Image/Image.types.ts","../../src/Icon.ts","../../src/KeyCodes.ts","../../src/utilities/keytips/KeytipConstants.ts","../../src/FabricPerformance.ts","../../src/asAsync.tsx","../../src/getNativeElementProps.ts","../../src/initializeFocusRects.ts","../../src/modalize.ts","../../src/resources.ts","../../src/safeSetTimeout.ts","../../src/getPropsWithDefaults.ts","../../src/createMergedRef.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/dom/getDocument.ts","../node_modules/@babel/runtime/helpers/assertThisInitialized.js","../node_modules/@babel/runtime/helpers/defineProperty.js","../../src/components/Button/BaseButton.classNames.ts","../../src/components/Panel/Panel.types.ts","../../src/memoize.ts","../node_modules/react-dom/index.js","../../src/utilities/decorators/withResponsiveMode.tsx","../node_modules/react-dnd/dist/esm/utils/js_utils.js","../../src/dom/getParent.ts","../../src/EventGroup.ts","../../src/components/ContextualMenu/ContextualMenu.types.ts","../../src/components/FocusZone/FocusZone.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/Autofill/Autofill.tsx","../../src/components/Announced/Announced.base.tsx","../../src/components/Announced/Announced.ts","../../src/components/Announced/Announced.styles.ts","../../src/components/Link/Link.base.tsx","../../src/components/Link/Link.styles.ts","../../src/components/Link/Link.tsx","../../src/components/ResizeGroup/ResizeGroup.base.tsx","../../src/components/Tooltip/TooltipHost.types.ts","../../src/components/ResizeGroup/ResizeGroup.tsx","../../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/utilities/dateValues/DateValues.ts","../../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/dateValues/TimeConstants.ts","../../src/utilities/dateMath/DateMath.ts","../../src/components/Calendar/Calendar.scss.ts","../../src/components/Calendar/CalendarDay.tsx","../../src/components/Calendar/CalendarYear.tsx","../../src/components/Calendar/CalendarMonth.tsx","../../src/components/Calendar/Calendar.tsx","../../src/components/Check/Check.base.tsx","../../src/components/Check/Check.styles.ts","../../src/components/Check/Check.tsx","../../src/components/ChoiceGroup/ChoiceGroupOption/ChoiceGroupOption.base.tsx","../../src/components/ChoiceGroup/ChoiceGroupOption/ChoiceGroupOption.styles.ts","../../src/components/ChoiceGroup/ChoiceGroupOption/ChoiceGroupOption.tsx","../../src/components/ChoiceGroup/ChoiceGroup.base.tsx","../../src/components/ChoiceGroup/ChoiceGroup.styles.ts","../../src/components/ChoiceGroup/ChoiceGroup.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/TextField/TextField.base.tsx","../../src/components/TextField/TextField.styles.tsx","../../src/components/TextField/TextField.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/ComboBox/ComboBox.tsx","../../src/components/ColorPicker/ColorPicker.tsx","../../src/components/ComboBox/ComboBox.styles.ts","../../src/components/ComboBox/ComboBox.classNames.ts","../../src/components/List/List.types.ts","../../src/components/List/List.tsx","../../src/components/ComboBox/VirtualizedComboBox.tsx","../../src/selection/Selection.types.ts","../../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/DatePicker.base.tsx","../../src/components/DatePicker/DatePicker.styles.ts","../../src/components/DatePicker/DatePicker.tsx","../../src/selection/Selection.ts","../../src/utilities/selection/SelectionZone.tsx","../../src/components/GroupedList/GroupedList.types.ts","../../src/components/DetailsList/DetailsList.types.ts","../../src/components/GroupedList/GroupSpacer.tsx","../../src/components/DetailsList/DetailsRow.styles.ts","../../src/components/DetailsList/DetailsHeader.styles.ts","../../src/components/DetailsList/DetailsRowCheck.styles.ts","../../src/components/DetailsList/DetailsRowCheck.tsx","../../src/components/DetailsList/DetailsHeader.types.ts","../../src/utilities/dragdrop/DragDropHelper.tsx","../../src/components/DetailsList/DetailsColumn.base.tsx","../../src/components/DetailsList/DetailsColumn.styles.ts","../../src/components/DetailsList/DetailsColumn.ts","../../src/components/DetailsList/DetailsHeader.base.tsx","../../src/components/DetailsList/DetailsHeader.ts","../../src/components/Spinner/Spinner.types.ts","../../src/components/DetailsList/DetailsRowFields.tsx","../../src/components/DetailsList/DetailsRow.base.tsx","../../src/components/DetailsList/DetailsRow.ts","../../src/components/GroupedList/GroupedList.styles.ts","../../src/components/GroupedList/GroupHeader.styles.ts","../../src/components/Spinner/Spinner.base.tsx","../../src/components/Spinner/Spinner.styles.tsx","../../src/components/Spinner/Spinner.tsx","../../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/GroupedList/GroupedListSection.tsx","../../src/components/GroupedList/GroupedList.base.tsx","../../src/components/GroupedList/GroupedList.ts","../../src/utilities/decorators/withViewport.tsx","../../src/utilities/groupedList/GroupedListUtility.tsx","../../src/components/DetailsList/DetailsList.base.tsx","../../src/components/DetailsList/DetailsList.styles.ts","../../src/components/DocumentCard/DocumentCard.types.ts","../../src/components/DetailsList/DetailsList.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/Facepile/Facepile.types.ts","../../src/components/ExtendedPicker/BaseExtendedPicker.tsx","../../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/utilities/grid/Grid.base.tsx","../../src/utilities/grid/Grid.tsx","../../src/utilities/grid/Grid.styles.ts","../../src/utilities/grid/GridCell.tsx","../../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/utilities/keytips/IKeytipTransitionKey.ts","../../src/components/HoverCard/PlainCard/PlainCard.ts","../../src/components/HoverCard/HoverCard.base.tsx","../../src/components/HoverCard/HoverCard.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/KeytipLayer/KeytipLayer.styles.ts","../../src/components/KeytipLayer/KeytipTree.ts","../../src/components/KeytipLayer/KeytipLayer.base.tsx","../../src/components/MessageBar/MessageBar.types.ts","../../src/components/KeytipLayer/KeytipLayer.tsx","../../src/components/MarqueeSelection/MarqueeSelection.base.tsx","../../src/components/MarqueeSelection/MarqueeSelection.tsx","../../src/components/MarqueeSelection/MarqueeSelection.styles.tsx","../../src/components/MessageBar/MessageBar.base.tsx","../../src/components/Nav/Nav.base.tsx","../../src/components/MessageBar/MessageBar.styles.ts","../../src/components/MessageBar/MessageBar.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/Pivot/Pivot.types.ts","../../src/components/pickers/TagPicker/TagPicker.tsx","../../src/components/Pivot/PivotItem.tsx","../../src/components/Pivot/Pivot.base.tsx","../../src/components/Pivot/Pivot.styles.ts","../../src/components/Rating/Rating.types.ts","../../src/components/Pivot/Pivot.tsx","../../src/components/ProgressIndicator/ProgressIndicator.base.tsx","../../src/components/ProgressIndicator/ProgressIndicator.styles.ts","../../src/components/ProgressIndicator/ProgressIndicator.tsx","../../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/Separator/Separator.base.tsx","../../src/components/Separator/Separator.tsx","../../src/components/Separator/Separator.styles.ts","../../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/SpinButton/SpinButton.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/Slider.base.tsx","../../src/components/Slider/Slider.styles.ts","../../src/components/Slider/Slider.tsx","../../src/components/SpinButton/SpinButton.styles.ts","../../src/components/SpinButton/SpinButton.classNames.ts","../../src/utilities.ts","../../src/slots.tsx","../../src/createComponent.tsx","../../src/components/Stack/StackItem/StackItem.styles.ts","../../src/components/Stack/StackItem/StackItem.tsx","../../src/components/Stack/StackUtils.ts","../../src/components/Stack/Stack.styles.ts","../../src/components/Stack/Stack.tsx","../../src/components/Sticky/Sticky.types.ts","../../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/TeachingBubble/TeachingBubbleContent.base.tsx","../../src/components/TeachingBubble/TeachingBubble.styles.ts","../../src/components/TeachingBubble/TeachingBubbleContent.ts","../../src/components/TeachingBubble/TeachingBubble.base.tsx","../../src/components/TeachingBubble/TeachingBubble.ts","../../src/components/Text/Text.view.tsx","../../src/components/Text/Text.styles.ts","../../src/components/Text/Text.ts","../../src/components/TextField/MaskedTextField/inputMask.ts","../../src/components/TextField/MaskedTextField/MaskedTextField.tsx","../../src/components/ThemeGenerator/ThemeRulesStandard.ts","../../src/components/ThemeGenerator/ThemeGenerator.ts","../../src/components/Toggle/Toggle.base.tsx","../../src/components/Toggle/Toggle.tsx","../../src/components/Toggle/Toggle.styles.ts","../../src/components/Button/BaseButton.styles.ts","../../src/Stylesheet.ts","../../src/dom/elementContains.ts","../../src/rtl.ts","../../src/sessionStorage.ts","../node_modules/react-dnd/dist/esm/decorators/utils.js","../../src/customizations/Customizations.ts","../../src/Callout.ts","../../src/components/Button/SplitButton/SplitButton.classNames.ts","../../src/components/Button/BaseButton.tsx","../../src/setVersion.ts","../../src/setFocusVisibility.ts","../node_modules/react-transition-group/index.js","../../src/components/ContextualMenu/ContextualMenuItem.ts","../node_modules/redux/es/redux.js","../node_modules/dnd-core/dist/esm/actions/dragDrop/types.js","../node_modules/dnd-core/dist/esm/utils/equality.js","../node_modules/dnd-core/dist/esm/reducers/dragOffset.js","../node_modules/dnd-core/dist/esm/actions/registry.js","../node_modules/dnd-core/dist/esm/utils/js_utils.js","../node_modules/dnd-core/dist/esm/reducers/dragOperation.js","../node_modules/dnd-core/dist/esm/reducers/refCount.js","../node_modules/dnd-core/dist/esm/utils/dirtiness.js","../node_modules/dnd-core/dist/esm/reducers/dirtyHandlerIds.js","../node_modules/dnd-core/dist/esm/reducers/stateId.js","../node_modules/dnd-core/dist/esm/reducers/index.js","../node_modules/dnd-core/dist/esm/actions/dragDrop/local/setClientOffset.js","../node_modules/dnd-core/dist/esm/actions/dragDrop/beginDrag.js","../node_modules/dnd-core/dist/esm/actions/dragDrop/publishDragSource.js","../node_modules/dnd-core/dist/esm/utils/matchesType.js","../node_modules/dnd-core/dist/esm/actions/dragDrop/hover.js","../node_modules/dnd-core/dist/esm/actions/dragDrop/drop.js","../node_modules/dnd-core/dist/esm/actions/dragDrop/endDrag.js","../node_modules/dnd-core/dist/esm/utils/coords.js","../node_modules/dnd-core/dist/esm/DragDropMonitorImpl.js","../node_modules/dnd-core/dist/esm/interfaces.js","../node_modules/dnd-core/dist/esm/utils/getNextUniqueId.js","../node_modules/dnd-core/dist/esm/contracts.js","../node_modules/@react-dnd/asap/dist/esm/browser/asap.js","../node_modules/dnd-core/dist/esm/HandlerRegistryImpl.js","../node_modules/dnd-core/dist/esm/DragDropManagerImpl.js","../node_modules/dnd-core/dist/esm/actions/dragDrop/index.js","../node_modules/dnd-core/dist/esm/factories.js","../node_modules/react-dnd/dist/esm/common/DndContext.js","../../src/components/Icon/Icon.styles.ts","../../src/scroll.ts","../node_modules/webpack/buildin/global.js","../../src/object.ts","../../src/customizations/CustomizerContext.ts","../../src/getVendorSettings.ts","../../src/transforms/kebabRules.ts","../../src/transforms/prefixRules.ts","../../src/transforms/provideUnits.ts","../../src/transforms/rtlifyRules.ts","../../src/styleToClassName.ts","../../src/classNamesFunction.ts","../node_modules/reactstrap/es/utils.js","../node_modules/reactstrap/es/Container.js","../node_modules/reactstrap/es/Row.js","../node_modules/reactstrap/es/Col.js","../node_modules/reactstrap/es/Navbar.js","../node_modules/reactstrap/es/NavbarBrand.js","../node_modules/reactstrap/es/NavbarText.js","../node_modules/reactstrap/es/NavbarToggler.js","../node_modules/reactstrap/es/Nav.js","../node_modules/reactstrap/es/NavItem.js","../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/reactstrap/es/NavLink.js","../node_modules/reactstrap/es/Breadcrumb.js","../node_modules/reactstrap/es/BreadcrumbItem.js","../node_modules/reactstrap/es/Button.js","../node_modules/reactstrap/es/ButtonToggle.js","../node_modules/react-popper/lib/esm/Manager.js","../node_modules/reactstrap/es/DropdownContext.js","../node_modules/reactstrap/es/Dropdown.js","../node_modules/reactstrap/es/ButtonDropdown.js","../node_modules/reactstrap/es/ButtonGroup.js","../node_modules/reactstrap/es/ButtonToolbar.js","../node_modules/reactstrap/es/DropdownItem.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/@babel/runtime/helpers/esm/objectSpread.js","../node_modules/react-popper/lib/esm/utils.js","../node_modules/react-popper/lib/esm/Popper.js","../node_modules/reactstrap/es/DropdownMenu.js","../node_modules/react-popper/lib/esm/Reference.js","../node_modules/reactstrap/es/DropdownToggle.js","../node_modules/reactstrap/es/Fade.js","../node_modules/reactstrap/es/Badge.js","../node_modules/reactstrap/es/Card.js","../node_modules/reactstrap/es/CardGroup.js","../node_modules/reactstrap/es/CardDeck.js","../node_modules/reactstrap/es/CardColumns.js","../node_modules/reactstrap/es/CardBody.js","../node_modules/reactstrap/es/CardLink.js","../node_modules/reactstrap/es/CardFooter.js","../node_modules/reactstrap/es/CardHeader.js","../node_modules/reactstrap/es/CardImg.js","../node_modules/reactstrap/es/CardImgOverlay.js","../node_modules/reactstrap/es/CarouselItem.js","../node_modules/reactstrap/es/Carousel.js","../node_modules/reactstrap/es/CarouselControl.js","../node_modules/reactstrap/es/CarouselIndicators.js","../node_modules/reactstrap/es/CarouselCaption.js","../node_modules/reactstrap/es/UncontrolledCarousel.js","../node_modules/reactstrap/es/CardSubtitle.js","../node_modules/reactstrap/es/CardText.js","../node_modules/reactstrap/es/CardTitle.js","../node_modules/reactstrap/es/CustomFileInput.js","../node_modules/reactstrap/es/CustomInput.js","../node_modules/reactstrap/es/PopperContent.js","../node_modules/reactstrap/es/PopperTargetHelper.js","../node_modules/reactstrap/es/TooltipPopoverWrapper.js","../node_modules/reactstrap/es/Popover.js","../node_modules/reactstrap/es/UncontrolledPopover.js","../node_modules/reactstrap/es/PopoverHeader.js","../node_modules/reactstrap/es/PopoverBody.js","../node_modules/reactstrap/es/Progress.js","../node_modules/reactstrap/es/Portal.js","../node_modules/reactstrap/es/Modal.js","../node_modules/reactstrap/es/ModalHeader.js","../node_modules/reactstrap/es/ModalBody.js","../node_modules/reactstrap/es/ModalFooter.js","../node_modules/reactstrap/es/Tooltip.js","../node_modules/reactstrap/es/Table.js","../node_modules/reactstrap/es/ListGroup.js","../node_modules/reactstrap/es/Form.js","../node_modules/reactstrap/es/FormFeedback.js","../node_modules/reactstrap/es/FormGroup.js","../node_modules/reactstrap/es/FormText.js","../node_modules/reactstrap/es/Input.js","../node_modules/reactstrap/es/InputGroup.js","../node_modules/reactstrap/es/InputGroupText.js","../node_modules/reactstrap/es/InputGroupAddon.js","../node_modules/reactstrap/es/InputGroupButtonDropdown.js","../node_modules/reactstrap/es/Label.js","../node_modules/reactstrap/es/Media.js","../node_modules/reactstrap/es/Pagination.js","../node_modules/reactstrap/es/PaginationItem.js","../node_modules/reactstrap/es/PaginationLink.js","../node_modules/reactstrap/es/TabContext.js","../node_modules/reactstrap/es/TabContent.js","../node_modules/reactstrap/es/TabPane.js","../node_modules/reactstrap/es/Jumbotron.js","../node_modules/reactstrap/es/Alert.js","../node_modules/reactstrap/es/Toast.js","../node_modules/reactstrap/es/ToastBody.js","../node_modules/reactstrap/es/ToastHeader.js","../node_modules/reactstrap/es/Collapse.js","../node_modules/reactstrap/es/ListGroupItem.js","../node_modules/reactstrap/es/ListGroupItemHeading.js","../node_modules/reactstrap/es/ListGroupItemText.js","../node_modules/reactstrap/es/UncontrolledAlert.js","../node_modules/reactstrap/es/UncontrolledButtonDropdown.js","../node_modules/reactstrap/es/UncontrolledCollapse.js","../node_modules/reactstrap/es/UncontrolledDropdown.js","../node_modules/reactstrap/es/UncontrolledTooltip.js","../node_modules/reactstrap/es/Spinner.js","../../src/components/Layer/LayerHost.tsx","../../src/extendComponent.ts","../../src/components/Button/DefaultButton/DefaultButton.styles.ts","../../src/components/Button/DefaultButton/DefaultButton.tsx","../../src/StyleOptionsState.ts","../../src/components/Button/SplitButton/SplitButton.styles.ts","../node_modules/react-dnd/dist/esm/common/registration.js","../../src/warn/warn.ts","../../src/initializeComponentRef.ts","../../src/dom/on.ts","../../src/components/Layer/Layer.notification.ts","../node_modules/@babel/runtime/helpers/extends.js","../../src/utilities/selectableOption/SelectableOption.types.ts","../../src/FocusTrapZone.ts","../../src/dom/setSSR.ts","../../src/dom/isVirtualElement.ts","../../src/dom/findElementRecursive.ts","../../src/keyboard.ts","../../src/components/Button/ActionButton/ActionButton.tsx","../../src/components/Image/Image.styles.ts","../../src/components/Image/Image.tsx","../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../../src/dom/setPortalAttribute.ts","../../src/utilities/keytips/KeytipManager.ts","../node_modules/@babel/runtime/helpers/inheritsLoose.js","../../src/components/Divider/VerticalDivider.classNames.ts","../../src/components/ContextualMenu/ContextualMenu.classNames.ts","../../src/styled.tsx","../../src/components/Icon/Icon.tsx","../../src/components/Button/ButtonThemes.ts","../node_modules/define-properties/index.js","../../src/customizations/mergeSettings.ts","../../src/components/Icon/Icon.types.ts","../../src/Async.ts","../../src/hoistStatics.ts","../../src/array.ts","../../src/concatStyleSets.ts","../../src/css.ts","../../src/components/ContextualMenu/ContextualMenu.cnstyles.ts","../../src/getId.ts","../../src/customizations/customizable.tsx","../node_modules/react-dnd/dist/esm/utils/isRef.js","../../src/components/FocusTrapZone/index.ts","../../src/Popup.ts","../../src/utilities/selectableOption/index.ts","../../src/components/Dropdown/utilities/DropdownSizePosCache.ts","../../src/components/Dropdown/Dropdown.base.tsx","../../src/components/Dropdown/Dropdown.styles.ts","../../src/components/Dropdown/Dropdown.ts","../../src/GlobalSettings.ts","../../src/customizations/useCustomizationSettings.ts","../../src/components/Image/Image.base.tsx","../../src/components/Icon/Icon.base.tsx","../../src/components/Icon/FontIcon.tsx","../../src/appendFunction.ts","../../src/dom/getVirtualParent.ts","../../src/dom/elementContainsAttribute.ts","../../src/warn/warnDeprecations.ts","../../src/components/Layer/Layer.base.tsx","../../src/components/Fabric/Fabric.base.tsx","../../src/customizations/mergeCustomizations.ts","../../src/components/ContextualMenu/ContextualMenuItem.base.tsx","../../src/warn/warnConditionallyRequiredProps.ts","../../src/warn/warnMutuallyExclusive.ts","../../src/components/Button/PrimaryButton/PrimaryButton.tsx","../../src/components/Checkbox/Checkbox.base.tsx","../../src/components/Label/Label.base.tsx","../../src/dom/getRect.ts","../../src/components/Overlay/Overlay.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/components/ContextualMenu/ContextualMenu.base.tsx","../../src/components/Callout/CalloutContent.base.tsx","../../src/components/Callout/CalloutContent.styles.ts","../../src/components/Callout/CalloutContent.tsx","../../src/components/Callout/Callout.tsx","../../src/utilities/DraggableZone/DraggableZone.styles.ts","../../src/utilities/DraggableZone/DraggableZone.tsx","../../src/components/Modal/Modal.base.tsx","../../src/components/Button/IconButton/IconButton.styles.ts","../../src/components/Button/IconButton/IconButton.tsx","../../src/extractStyleParts.ts","../../src/utilities/decorators/BaseDecorator.ts","../../src/hoist.ts","../../src/useFocusRects.ts","../../src/components/Fabric/Fabric.styles.ts","../../src/aria.ts","../../src/BaseComponent.ts","../../src/components/Button/ActionButton/ActionButton.styles.ts","../../src/components/Modal/Modal.styles.ts","../node_modules/react-dnd/dist/esm/common/DragSourceMonitorImpl.js","../node_modules/react-dnd/dist/esm/common/SourceConnector.js","../node_modules/react-dnd/dist/esm/common/DropTargetMonitorImpl.js","../node_modules/react-dnd/dist/esm/common/TargetConnector.js","../node_modules/react-dnd/dist/esm/utils/isValidType.js","../node_modules/react-dnd/dist/esm/utils/cloneWithRef.js","../node_modules/react-dnd/dist/esm/common/wrapConnectorHooks.js","../node_modules/react-dnd/dist/esm/decorators/disposables.js","../node_modules/react-dnd/dist/esm/decorators/decorateHandler.js","../../src/utilities/contextualMenu/contextualMenuUtility.ts","../../src/components/Callout/index.ts","../../src/controlled.ts","../../src/components/Icon/index.ts","../../src/components/Popup/index.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/Dialog/DialogContent.types.ts","../../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/dom/getChildren.ts","../../src/Rectangle.ts","../../src/dom/setVirtualParent.ts","../../src/components/Fabric/Fabric.tsx","../../src/customizations/Customizer.tsx","../../src/dom/raiseClick.ts","../../src/dom/portalContainsElement.ts","../../src/components/KeytipData/KeytipData.tsx","../../src/components/FocusTrapZone/FocusTrapZone.tsx","../node_modules/warning/warning.js","../node_modules/mini-create-react-context/dist/esm/index.js","../node_modules/path-to-regexp/index.js","../node_modules/create-react-context/lib/index.js","../../../src/utils/isBrowser.js","../../../src/utils/debounce.js","../../../src/utils/isFunction.js","../../../src/utils/getStyleComputedProperty.js","../../../src/utils/getParentNode.js","../../../src/utils/getScrollParent.js","../../../src/utils/getReferenceNode.js","../../../src/utils/isIE.js","../../../src/utils/getOffsetParent.js","../../../src/utils/getRoot.js","../../../src/utils/findCommonOffsetParent.js","../../../src/utils/isOffsetContainer.js","../../../src/utils/getScroll.js","../../../src/utils/includeScroll.js","../../../src/utils/getBordersSize.js","../../../src/utils/getWindowSizes.js","../../../src/utils/getClientRect.js","../../../src/utils/getBoundingClientRect.js","../../../src/utils/getOffsetRectRelativeToArbitraryNode.js","../../../src/utils/getViewportOffsetRectRelativeToArtbitraryNode.js","../../../src/utils/isFixed.js","../../../src/utils/getFixedPositionOffsetParent.js","../../../src/utils/getBoundaries.js","../../../src/utils/computeAutoPlacement.js","../../../src/utils/getReferenceOffsets.js","../../../src/utils/getOuterSizes.js","../../../src/utils/getOppositePlacement.js","../../../src/utils/getPopperOffsets.js","../../../src/utils/find.js","../../../src/utils/runModifiers.js","../../../src/utils/findIndex.js","../../../src/methods/update.js","../../../src/utils/isModifierEnabled.js","../../../src/utils/getSupportedPropertyName.js","../../../src/methods/destroy.js","../../../src/utils/getWindow.js","../../../src/utils/setupEventListeners.js","../../../src/methods/enableEventListeners.js","../../../src/methods/disableEventListeners.js","../../../src/utils/removeEventListeners.js","../../../src/utils/isNumeric.js","../../../src/utils/setStyles.js","../../../src/modifiers/computeStyle.js","../../../src/utils/isModifierRequired.js","../../../src/methods/placements.js","../../../src/utils/clockwise.js","../../../src/modifiers/flip.js","../../../src/modifiers/offset.js","../../../src/modifiers/index.js","../../../src/methods/defaults.js","../../../src/modifiers/shift.js","../../../src/modifiers/preventOverflow.js","../../../src/modifiers/keepTogether.js","../../../src/modifiers/arrow.js","../../../src/utils/getOppositeVariation.js","../../../src/modifiers/inner.js","../../../src/modifiers/hide.js","../../../src/utils/getRoundedOffsets.js","../../../src/modifiers/applyStyle.js","../../../src/utils/setAttributes.js","../../../src/index.js","../node_modules/symbol-observable/es/index.js","../node_modules/@react-dnd/asap/dist/esm/browser/raw.js","../node_modules/object-assign/index.js","../../src/merge.ts","../node_modules/react-is/index.js","../../src/initials.ts","../../src/ie11Detector.ts","../../src/DelayedRender.tsx","../../src/components/Icon/ImageIcon.tsx","../../src/osDetector.ts","../../src/mobileDetector.ts","../../src/components/Popup/Popup.tsx","../../src/components/FocusZone/FocusZone.tsx","../../src/overflow.ts","../../src/components/Button/CommandButton/CommandButton.tsx","../../src/assertNever.ts","../../src/string.ts","../../src/components/Callout/FocusTrapCallout.tsx","../../src/renderFunction/composeRenderFunction.tsx","../../src/warn/warnControlledUsage.ts","../../src/utilities/selectableOption/SelectableOption.ts","../../src/componentAs/composeComponentAs.tsx","../../src/components/Modal/Modal.ts","../../src/safeRequestAnimationFrame.ts","../../src/AutoScroll.ts","../../src/math.ts","../node_modules/object-keys/index.js","../node_modules/object-keys/isArguments.js","../node_modules/es-abstract/helpers/callBind.js","../node_modules/function-bind/index.js","../node_modules/has-symbols/index.js","../node_modules/object-is/implementation.js","../node_modules/object-is/polyfill.js","../node_modules/regexp.prototype.flags/implementation.js","../node_modules/regexp.prototype.flags/polyfill.js","../node_modules/react-transition-group/Transition.js","../node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js","../node_modules/react-transition-group/utils/PropTypes.js","../node_modules/react-transition-group/TransitionGroup.js","../node_modules/reactstrap/es/polyfill.js","../node_modules/react-dnd/dist/esm/index.js","../node_modules/react-dnd/dist/esm/common/DndProvider.js","../node_modules/react-dnd/dist/esm/interfaces/index.js","../node_modules/react-dnd/dist/esm/decorators/index.js","../node_modules/react-dnd/dist/esm/decorators/DragLayer.js","../node_modules/immutability-helper/index.js","../node_modules/react-dnd/dist/esm/hooks/internal/useIsomorphicLayoutEffect.js","../node_modules/react-dnd/dist/esm/hooks/internal/useCollector.js","../node_modules/react-dnd/dist/esm/hooks/internal/useMonitorOutput.js","../node_modules/react-dnd/dist/esm/hooks/useDragDropManager.js","../node_modules/react-dnd/dist/esm/hooks/internal/drag.js","../node_modules/react-dnd/dist/esm/hooks/useDrag.js","../node_modules/react-dnd/dist/esm/hooks/internal/drop.js","../node_modules/react-dnd/dist/esm/hooks/useDrop.js","../node_modules/react-dnd/dist/esm/hooks/useDragLayer.js","../node_modules/resolve-pathname/esm/resolve-pathname.js","../node_modules/value-equal/esm/value-equal.js","../node_modules/tiny-invariant/dist/tiny-invariant.esm.js","../node_modules/history/esm/history.js","../../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","../../modules/BrowserRouter.js","../../modules/HashRouter.js","../../modules/utils/locationUtils.js","../../modules/Link.js","../../modules/NavLink.js","../../src/components/Panel/Panel.base.tsx","../../src/components/Panel/Panel.styles.ts","../../src/components/Panel/Panel.ts","../../src/components/Divider/VerticalDivider.styles.ts","../../src/components/Divider/VerticalDivider.base.tsx","../../src/components/Divider/VerticalDivider.tsx","../node_modules/react-dnd/dist/esm/common/DragPreviewImage.js","../../src/components/Checkbox/Checkbox.styles.ts","../../src/components/Checkbox/Checkbox.tsx","../../src/language.ts","../../src/localStorage.ts","../../src/components/ContextualMenu/ContextualMenu.tsx","../../src/components/ContextualMenu/ContextualMenu.styles.ts","../../src/components/Overlay/Overlay.styles.ts","../../src/components/Overlay/Overlay.tsx","../../src/components/Layer/Layer.styles.ts","../../src/components/Layer/Layer.tsx","../../src/components/Button/CommandBarButton/CommandBarButton.styles.ts","../../src/components/Button/CommandBarButton/CommandBarButton.tsx","../node_modules/react-dnd/dist/esm/decorators/createTargetFactory.js","../node_modules/react-dnd/dist/esm/decorators/DropTarget.js","../node_modules/react-dnd/dist/esm/decorators/createSourceFactory.js","../node_modules/react-dnd/dist/esm/decorators/DragSource.js","../../src/components/Label/Label.tsx","../../src/components/Label/Label.styles.ts","../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","../node_modules/deep-equal/index.js","../node_modules/symbol-observable/es/ponyfill.js","../node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js","../node_modules/attr-accept/dist/es/index.js","../../src/mergeStyles.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/isarray/index.js","../node_modules/react-is/cjs/react-is.production.min.js","../node_modules/create-react-context/lib/implementation.js","../node_modules/gud/index.js","../node_modules/object-keys/implementation.js","../node_modules/is-arguments/index.js","../node_modules/object-is/index.js","../node_modules/function-bind/implementation.js","../node_modules/es-abstract/GetIntrinsic.js","../node_modules/has-symbols/shams.js","../node_modules/object-is/shim.js","../node_modules/is-regex/index.js","../node_modules/regexp.prototype.flags/index.js","../node_modules/regexp.prototype.flags/shim.js","../node_modules/is-date-object/index.js","../node_modules/react-transition-group/CSSTransition.js","../node_modules/dom-helpers/class/addClass.js","../node_modules/@babel/runtime/helpers/interopRequireDefault.js","../node_modules/dom-helpers/class/hasClass.js","../node_modules/dom-helpers/class/removeClass.js","../node_modules/react-transition-group/ReplaceTransition.js","../node_modules/react-transition-group/utils/ChildMapping.js","../node_modules/webpack/buildin/harmony-module.js","../node_modules/process/browser.js","../react-slideshow-image/webpack/universalModuleDefinition","../react-slideshow-image/webpack/bootstrap","../webpack:/react-slideshow-image/external {\"root\":\"React\",\"commonjs2\":\"react\",\"commonjs\":\"react\",\"amd\":\"react\"}","../react-slideshow-image/node_modules/@tweenjs/tween.js/dist/tween.esm.js","../react-slideshow-image/node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js","../react-slideshow-image/node_modules/process/browser.js","../react-slideshow-image/(webpack)/buildin/global.js","../react-slideshow-image/src/props.js","../react-slideshow-image/src/helpers.js","../react-slideshow-image/src/slide.js","../react-slideshow-image/src/fade.js","../react-slideshow-image/src/zoom.js","../node_modules/react-photo-gallery/dist/react-photo-gallery.esm.js","../node_modules/react-dnd-html5-backend/dist/esm/utils/js_utils.js","../node_modules/react-dnd-html5-backend/dist/esm/EnterLeaveCounter.js","../node_modules/react-dnd-html5-backend/dist/esm/BrowserDetector.js","../node_modules/react-dnd-html5-backend/dist/esm/MonotonicInterpolant.js","../node_modules/react-dnd-html5-backend/dist/esm/OffsetUtils.js","../node_modules/react-dnd-html5-backend/dist/esm/NativeTypes.js","../node_modules/react-dnd-html5-backend/dist/esm/NativeDragSources/nativeTypesConfig.js","../node_modules/react-dnd-html5-backend/dist/esm/NativeDragSources/getDataFromDataTransfer.js","../node_modules/react-dnd-html5-backend/dist/esm/NativeDragSources/NativeDragSource.js","../node_modules/react-dnd-html5-backend/dist/esm/NativeDragSources/index.js","../node_modules/react-dnd-html5-backend/dist/esm/OptionsReader.js","../node_modules/react-dnd-html5-backend/dist/esm/HTML5BackendImpl.js","../node_modules/react-dnd-html5-backend/dist/esm/getEmptyImage.js","../node_modules/react-dnd-html5-backend/dist/esm/index.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/js-base64/base64.mjs","../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/unsupportedIterableToArray.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../../src/FileIconType.ts","../../src/getFileTypeIconProps.ts","../../src/FileTypeIconMap.ts","../../src/initializeFileTypeIcons.tsx","../node_modules/file-selector/node_modules/tslib/tslib.es6.js","../../../src/file.ts","../../../src/file-selector.ts","../node_modules/react-dropzone/dist/es/utils/index.js","../node_modules/react-dropzone/dist/es/index.js","../../src/concatStyleSetsWithProps.ts","../../src/mergeStyleSets.ts","../../src/utilities/positioning/positioning.ts"],"names":["module","exports","require","extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__extends","__","this","constructor","prototype","create","__assign","assign","t","s","i","n","arguments","length","call","apply","__rest","e","indexOf","getOwnPropertySymbols","propertyIsEnumerable","__decorate","decorators","target","key","desc","c","r","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","__spreadArrays","il","k","a","j","jl","_extends","source","hasOwn","classNames","classes","arg","argType","push","isArray","inner","join","default","_objectWithoutPropertiesLoose","excluded","sourceKeys","keys","buildClassMap","styles","styleName","get","undefined","mergeStyles","toString","enumerable","configurable","keyframes","timeline","stylesheet","Stylesheet","getInstance","name","getClassName","rulesArray","prop","rules","insertRule","cacheClassName","EASING_FUNCTION_1","EASING_FUNCTION_2","FADE_IN","from","opacity","to","FADE_OUT","visibility","SLIDE_RIGHT_IN10","_createSlideInX","SLIDE_RIGHT_IN20","SLIDE_RIGHT_IN40","SLIDE_RIGHT_IN400","SLIDE_LEFT_IN10","SLIDE_LEFT_IN20","SLIDE_LEFT_IN40","SLIDE_LEFT_IN400","SLIDE_UP_IN10","_createSlideInY","SLIDE_UP_IN20","SLIDE_DOWN_IN10","SLIDE_DOWN_IN20","SLIDE_RIGHT_OUT10","_createSlideOutX","SLIDE_RIGHT_OUT20","SLIDE_RIGHT_OUT40","SLIDE_RIGHT_OUT400","SLIDE_LEFT_OUT10","SLIDE_LEFT_OUT20","SLIDE_LEFT_OUT40","SLIDE_LEFT_OUT400","SLIDE_UP_OUT10","_createSlideOutY","SLIDE_UP_OUT20","SLIDE_DOWN_OUT10","SLIDE_DOWN_OUT20","SCALE_UP100","transform","SCALE_DOWN98","SCALE_DOWN100","SCALE_UP103","ROTATE90","ROTATE_N90","AnimationVariables","easeFunction1","easeFunction2","durationValue1","durationValue2","durationValue3","durationValue4","AnimationStyles","slideRightIn10","_createAnimation","slideRightIn20","slideRightIn40","slideRightIn400","slideLeftIn10","slideLeftIn20","slideLeftIn40","slideLeftIn400","slideUpIn10","slideUpIn20","slideDownIn10","slideDownIn20","slideRightOut10","slideRightOut20","slideRightOut40","slideRightOut400","slideLeftOut10","slideLeftOut20","slideLeftOut40","slideLeftOut400","slideUpOut10","slideUpOut20","slideDownOut10","slideDownOut20","scaleUpIn100","scaleDownIn100","scaleUpOut103","scaleDownOut98","fadeIn100","fadeIn200","fadeIn400","fadeIn500","fadeOut100","fadeOut200","fadeOut400","fadeOut500","rotate90deg","rotateN90deg","animationName","animationDuration","animationTimingFunction","animationFillMode","fromX","fromY","toX","toY","AnimationClassNames","fontFace","font","LocalizedFontNames","LocalizedFontFamilies","Arabic","Cyrillic","EastEuropean","Greek","Hebrew","Thai","Vietnamese","WestEuropean","Selawik","Armenian","Georgian","ChineseSimplified","ChineseTraditional","Hindi","Japanese","Korean","FontSizes","FontWeights","IconFontSizes","defaultFontFamily","LanguageToFontMap","ar","bg","cs","el","et","he","hi","hr","hu","ja","kk","ko","lt","lv","pl","ru","sk","th","tr","uk","vi","hy","ka","createFontStyles","localeCode","localizedFont","language","lang","_getLocalizedFontFamily","fontFamilyWithFallback","fontFamily","tiny","_createFont","mini","regular","xSmall","small","smallPlus","medium","mediumPlus","large","xLarge","semibold","xLargePlus","xxLarge","xxLargePlus","superLarge","mega","size","weight","MozOsxFontSmoothing","WebkitFontSmoothing","fontSize","fontWeight","icon","light","semilight","bold","DefaultFontStyles","_registerFontFace","url","localFontName","src","localFontSrc","fontStyle","fontDisplay","_registerFontFaceSet","baseUrl","cdnFolder","cdnFontName","urlBase","registerDefaultFontFaces","fontUrl","getWindow","FabricConfig","fontBaseUrl","_getFontBaseUrl","Depths","FontClassNames","DefaultPalette","themeDarker","themeDark","themeDarkAlt","themePrimary","themeSecondary","themeTertiary","themeLight","themeLighter","themeLighterAlt","black","blackTranslucent40","neutralDark","neutralPrimary","neutralPrimaryAlt","neutralSecondary","neutralSecondaryAlt","neutralTertiary","neutralTertiaryAlt","neutralQuaternary","neutralQuaternaryAlt","neutralLight","neutralLighter","neutralLighterAlt","accent","white","whiteTranslucent40","yellowDark","yellow","yellowLight","orange","orangeLight","orangeLighter","redDark","red","magentaDark","magenta","magentaLight","purpleDark","purple","purpleLight","blueDark","blueMid","blue","blueLight","tealDark","teal","tealLight","greenDark","green","greenLight","DefaultSpacing","s2","s1","m","l1","l2","depth0","depth4","depth8","depth16","depth64","DefaultEffects","elevation4","elevation8","elevation16","elevation64","roundedCorner2","roundedCorner4","roundedCorner6","_theme","createTheme","palette","semanticColors","_makeSemanticColors","fonts","isInverted","disableGlobalClassNames","_onThemeChangeCallbacks","ThemeSettingName","initializeThemeInCustomizations","Customizations","getSettings","theme","win","applySettings","getTheme","depComments","registerOnThemeChangeCallback","callback","removeOnThemeChangeCallback","splice","loadTheme","effects","lines","fontName","propName","charAt","toUpperCase","slice","value","_loadFonts","forEach","newPalette","newEffects","newSemanticColors","defaultFontStyles","defaultFontStyle","merge","rtl","spacing","toReturn","bodyBackground","bodyBackgroundHovered","bodyBackgroundChecked","bodyStandoutBackground","bodyFrameBackground","bodyFrameDivider","bodyText","bodyTextChecked","bodySubtext","bodyDivider","disabledBodyText","disabledBodySubtext","disabledBorder","focusBorder","cardStandoutBackground","cardShadow","cardShadowHovered","variantBorder","variantBorderHovered","defaultStateBackground","actionLink","actionLinkHovered","link","linkHovered","buttonBackground","buttonBackgroundChecked","buttonBackgroundHovered","buttonBackgroundCheckedHovered","buttonBackgroundPressed","buttonBackgroundDisabled","buttonBorder","buttonText","buttonTextHovered","buttonTextChecked","buttonTextCheckedHovered","buttonTextPressed","buttonTextDisabled","buttonBorderDisabled","primaryButtonBackground","primaryButtonBackgroundHovered","primaryButtonBackgroundPressed","primaryButtonBackgroundDisabled","primaryButtonBorder","primaryButtonText","primaryButtonTextHovered","primaryButtonTextPressed","primaryButtonTextDisabled","accentButtonBackground","accentButtonText","inputBorder","inputBorderHovered","inputBackground","inputBackgroundChecked","inputBackgroundCheckedHovered","inputPlaceholderBackgroundChecked","inputForegroundChecked","inputIcon","inputIconHovered","inputIconDisabled","inputFocusBorderAlt","smallInputBorder","inputText","inputTextHovered","inputPlaceholderText","disabledBackground","disabledText","disabledSubtext","listBackground","listText","listItemBackgroundHovered","listItemBackgroundChecked","listItemBackgroundCheckedHovered","listHeaderBackgroundHovered","listHeaderBackgroundPressed","menuBackground","menuDivider","menuIcon","menuHeader","menuItemBackgroundHovered","menuItemBackgroundPressed","menuItemText","menuItemTextHovered","errorText","messageText","messageLink","messageLinkHovered","infoIcon","errorIcon","blockingIcon","warningIcon","severeWarningIcon","successIcon","infoBackground","errorBackground","blockingBackground","warningBackground","severeWarningBackground","successBackground","warningHighlight","warningText","successText","listTextColor","menuItemBackgroundChecked","dep","_fixDeprecatedSlots","ColorClassNames","_defineGetter","obj","colorName","suffix","isHover","cssProperty","style","selectors","HighContrastSelector","HighContrastSelectorWhite","HighContrastSelectorBlack","EdgeChromiumHighContrastSelector","ScreenWidthMinSmall","ScreenWidthMinMedium","ScreenWidthMinLarge","ScreenWidthMinXLarge","ScreenWidthMinXXLarge","ScreenWidthMinXXXLarge","ScreenWidthMaxSmall","ScreenWidthMaxMedium","ScreenWidthMaxLarge","ScreenWidthMaxXLarge","ScreenWidthMaxXXLarge","ScreenWidthMinUhfMobile","getScreenSelector","min","max","getEdgeChromiumNoHighContrastAdjustSelector","forcedColorAdjust","ZIndexes","getFocusStyle","insetOrOptions","position","highContrastStyle","borderColor","outlineColor","isFocusedOnly","_getFocusStyleInternal","inset","options","width","outline","border","content","left","top","bottom","right","zIndex","FocusStyle","focusClear","getFocusOutlineStyle","color","outlineOffset","Nav","ScrollablePane","Coachmark","Layer","KeytipLayer","borderRadius","borderType","borderPosition","isBorderBottom","pointerEvents","hiddenContentStyle","height","margin","padding","overflow","_continuousPulseStepOne","beaconColorOne","innerDimension","borderWidth","_continuousPulseStepTwo","_continuousPulseStepFour","beaconColorTwo","outerDimension","_continuousPulseStepFive","PulsingBeaconAnimationStyles","continuousPulseAnimationDouble","continuousPulseAnimationSingle","createDefaultAnimation","delayLength","animationIterationCount","animationDelay","_getGlobalClassNames","memoize","styleSheet","reduce","acc","className","getGlobalClassNames","getThemedContext","context","scheme","newSettings","newContext","schemeSource","customizations","schemeTheme","schemes","settings","mergeSettings","scopedSettings","normalize","boxShadow","boxSizing","noWrap","textOverflow","whiteSpace","getFadedOverflowStyle","direction","getDefaultValue","colorValue","rgbColor","parseInt","g","parts","match","split","map","Number","color2rgb","backgroundImage","getPlaceholderStyles","_iconSettings","GlobalSettings","getValue","__options","disableWarnings","warnOnMissingIcons","__remapped","onReset","subset","normalizeIconName","registerIcons","iconSubset","isRegistered","icons","iconName","code","normalizedIconName","_warnDuplicateIcon","unregisterIcons","iconNames","warn","registerIconAlias","mappedToName","getIcon","setIconOptions","_missingIcons","_missingIconsTimer","setTimeout","defaultIconStyles","display","getIconClassName","invariant","condition","format","args","error","argIndex","_inheritsLoose","subClass","superClass","DirectionalHint","topLeftEdge","topCenter","topRightEdge","topAutoEdge","bottomLeftEdge","bottomCenter","bottomRightEdge","bottomAutoEdge","leftTopEdge","leftCenter","leftBottomEdge","rightTopEdge","rightCenter","rightBottomEdge","RectangleEdge","Position","toObjectMap","result","items","item","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","getFirstFocusable","rootElement","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","isFocusableAttribute","isTabIndexSet","tagName","doesElementContainFocus","document","currentActiveElement","activeElement","shouldWrapFocus","noWrapDataAttribute","targetToFocusOnNextRepaint","requestAnimationFrame","focus","getFocusableByIndexPath","parent","path","index","nextChild","children","Math","getElementIndexPath","fromElement","toElement","unshift","sequencesToID","keySequences","prevValue","keySequence","mergeOverflows","overflowKeySequences","overflowSequenceLen","overflowSequence","pop","newKeySequences","ktpTargetFromSequences","ktpTargetFromId","keytipId","getAriaDescribedBy","describedby","_window","window","ownerDocument","defaultView","ImageFit","ImageCoverStyle","ImageLoadState","KeyCodes","backspace","tab","enter","shift","ctrl","alt","pauseBreak","capslock","escape","space","pageUp","pageDown","end","home","up","down","insert","del","zero","one","two","three","four","five","six","seven","eight","nine","f","h","l","o","q","u","v","w","x","y","z","leftWindow","rightWindow","select","zero_numpad","one_numpad","two_numpad","three_numpad","four_numpad","five_numpad","six_numpad","seven_numpad","eight_numpad","nine_numpad","multiply","add","subtract","decimalPoint","divide","f1","f2","f3","f4","f5","f6","f7","f8","f9","f10","f11","f12","numlock","scrollLock","semicolon","equalSign","comma","dash","period","forwardSlash","graveAccent","openBracket","backSlash","closeBracket","singleQuote","KeytipEvents","KTP_PREFIX","KTP_SEPARATOR","DATAKTP_TARGET","DATAKTP_EXECUTE_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","now","performance","Date","measure","func","FabricPerformance","_timeoutId","setPeriodicReset","start","measurement","summary","totalDuration","count","all","duration","timeStamp","reset","clearTimeout","NaN","_syncModuleCache","WeakMap","asAsync","state","Component","load","render","forwardedRef","asyncPlaceholder","rest","ref","Placeholder","componentDidMount","then","LoadedComponent","set","setState","onLoad","catch","onError","Async","nativeElementMap","label","audio","video","ol","li","button","input","textarea","option","table","td","colGroup","col","form","iframe","img","getNativeElementProps","initializeFocusRects","disableFocusRects","__hasInitializeFocusRects__","addEventListener","_onMouseDown","_onPointerDown","_onKeyDown","ev","setFocusVisibility","pointerType","which","modalize","affectedNodes","targetDocument","getDocument","body","sibling","toLowerCase","node","setAttribute","unmodalize","_baseUrl","getResourceUrl","setBaseUrl","component","activeTimeouts","cb","Set","extendComponent","componentWillUnmount","id","timeoutId","delete","getPropsWithDefaults","defaultProps","propsWithoutDefaults","createResolver","local","newValue","refs","current","resolver","array","newRefs","ElementType","ButtonType","getStyles","customStyles","primary","baseButtonStyles","splitButtonStyles","compoundButtonStyles","root","maxWidth","minHeight","flexContainer","flexDirection","alignItems","minWidth","textContainer","textAlign","lineHeight","flexBasis","flexShrink","description","standardCompoundTheme","descriptionHovered","descriptionPressed","descriptionChecked","descriptionDisabled","primaryCompoundTheme","backgroundColor","MsHighContrastAdjust","BaseButton","variantClassName","CompoundButton","customizable","buttonType","command","ActionButton","compound","IconButton","PrimaryButton","DefaultButton","focusInset","focusColor","messageBarButtonStyles","onRenderDescription","MessageBarButton","self","ReferenceError","writable","ButtonGlobalClassNames","msButton","msButtonHasMenu","msButtonIcon","msButtonMenuIcon","msButtonLabel","msButtonDescription","msButtonScreenReaderText","msButtonFlexContainer","msButtonTextContainer","getBaseButtonClassNames","iconClassName","menuIconClassName","hasMenu","checked","expanded","isSplit","isExpanded","rootChecked","rootExpanded","iconExpandedHovered","menuIconExpandedHovered","rootExpandedHovered","rootHasMenu","rootDisabled","rootHovered","labelHovered","iconHovered","menuIconHovered","rootFocused","rootPressed","iconPressed","menuIconPressed","rootCheckedDisabled","rootCheckedHovered","rootCheckedPressed","iconExpanded","iconChecked","iconDisabled","labelChecked","labelDisabled","menuIconChecked","menuIconDisabled","menuIconExpanded","screenReaderText","PanelType","_initializedStylesheetResets","_resetCounter","_emptyObject","empty","_dictionary","_weakMap","setMemoizeWeakMap","weakMap","resetMemoizations","descriptor","fn","memoizeFunction","bind","maxCacheSize","ignoreNullOrUndefinedResult","rootNode","cacheSize","localResetCounter","currentNode","_createNode","_normalizeArg","has","createMemoizer","cache","val","checkDCE","__REACT_DEVTOOLS_GLOBAL_HOOK__","process","err","console","ResponsiveMode","_defaultMode","_lastMode","RESPONSIVE_MAX_CONSTRAINT","withResponsiveMode","ComposedComponent","resultClass","_onResize","responsiveMode","getResponsiveMode","_events","_updateComposedComponentRef","on","dispose","unknown","currentWindow","innerWidth","Error","_typeof","Symbol","iterator","isFunction","noop","isPlainObject","isObjectLike","getPrototypeOf","proto","getParent","child","allowVirtualParents","parentNode","_id","EventGroup","_uniqueId","_parent","_eventRecords","raise","eventName","eventArgs","bubbleEvent","retVal","_isElement","createEvent","initEvent","dispatchEvent","createEventObject","evObj","fireEvent","events","__events__","eventRecords","eventRecordList","listIndex","record","objectCallback","isObserved","isDeclared","declaredEvents","__declaredEvents","stopPropagation","event","cancelBubble","HTMLElement","_isDisposed","off","onAll","useCapture","eventRecord","processElementEvent","preventDefault","elementCallback","attachEvent","targetArrayLookup","targetArray","removeEventListener","detachEvent","declare","shallowEqual","objA","objB","compare","compareContext","compareResult","keysA","keysB","bHasOwnProperty","idx","valueA","valueB","ContextualMenuItemType","FocusZoneDirection","FocusZoneTabbableElements","none","inputOnly","PersonaSize","PersonaPresence","PersonaInitialsColor","personaSize","personaPresenceSize","activityPersonas","isCompact","isCompactRoot","pulsingBeacon","personaContainer","isCompactPersonaContainer","activityPersona","isCompactPersona","doublePersona","activityTypeIcon","isCompactIcon","activityContent","isCompactContent","activityText","commentText","isCompactTimeStamp","fadeIn","slideIn","animateBeaconSignal","continuousPulseAnimation","slideInAnimation","fadeInAnimation","ActivityItemStyles","justifyContent","borderStyle","flexWrap","paddingRight","marginTop","alignSelf","flex","overflowX","paddingLeft","size8","size10","size16","size24","size28","size32","size40","size48","size56","size72","size100","size120","size6","size12","size20","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","_onRenderIcon","Icon","determineIcon","isOutOfOffice","coinSize","presenceTitle","presenceColors","renderIcon","presenceHeightWidth","presenceMaxSize","coinSizeWithPresenceIconStyle","presenceFontMaxSize","coinSizeWithPresenceStyle","role","title","presenceIcon","GlobalClassNames","makeOpenCircleIconStyle","makeBeforeBorderStyle","borderSize","makeSizeStyle","styled","presenceColorAvailable","available","presenceColorAway","presenceColorBusy","presenceColorDnd","presenceColorOffline","presenceColorOof","oof","presenceColorBackground","background","isOpenCirclePresence","backgroundClip","verticalAlign","scope","COLOR_SWATCHES_LOOKUP","lightBlue","darkBlue","darkGreen","lightPink","pink","lightRed","darkRed","violet","gold","burgundy","warmGray","cyan","rust","coolGray","COLOR_SWATCHES_NUM_ENTRIES","getPersonaInitialsColor","primaryText","text","initialsColor","personaInitialsColor","lightGreen","transparent","gray","personaInitialsColorToHexCode","displayName","hashCode","iLen","ch","charCodeAt","getInitialsColorFromName","ResizeGroupDirection","_onRenderCoin","imageUrl","imageAlt","imageShouldFadeIn","imageShouldStartVisible","showUnknownPersonaCoin","dimension","Image","image","imageFit","cover","shouldFadeIn","shouldStartVisible","onLoadingStateChange","_onPhotoLoadingStateChange","_onRenderInitials","imageInitials","allowPhoneInitials","isRTL","_getText","loadState","isImageLoaded","loaded","isImageError","onPhotoLoadingStateChange","UNSAFE_componentWillReceiveProps","nextProps","coinProps","onRenderCoin","onRenderPersonaCoin","onRenderInitials","showInitialsUntilImageLoads","divProps","divCoinProps","coinSizeStyle","hideImage","personaPresenceProps","shouldRenderInitials","Boolean","coin","imageArea","initials","size10WithoutPresenceIcon","PersonaCoin","marginRight","perspective","_onRenderPersonaArray","activityIcon","_onRenderActivityDescription","_getClassNames","activityDescription","activityDescriptionText","_onRenderComments","comments","_onRenderTimeStamp","personaElement","filter","person","onRenderIcon","onRenderActivityDescription","onRenderComments","onRenderTimeStamp","_inputElement","_autoFillEnabled","_isComposing","_onCompositionStart","_onCompositionUpdate","_updateValue","_getCurrentInputValue","_onCompositionEnd","inputValue","_tryEnableAutofill","_async","_onClick","_value","onKeyDown","nativeEvent","isComposing","displayValue","enableAutofillOnKeyPress","_onInputChanged","nativeEventComposing","_onChanged","composing","onInputChange","_getDisplayValue","suggestedDisplayValue","_notifyInputChange","initializeComponentRef","defaultVisibleValue","inputElement","selectionDirection","selectionEnd","selectionStart","updateValueInWillReceiveProps","updatedInputValue","newDisplayValue","componentDidUpdate","shouldSelectFullInputValueInComponentDidUpdate","differenceIndex","preventValueSelection","_doesTextStartWith","shouldSelectFullRange","setSelectionRange","toLocaleLowerCase","nativeProps","autoCapitalize","autoComplete","onCompositionStart","onCompositionUpdate","onCompositionEnd","onChange","onInput","onClick","clear","oldValue","isComposed","onInputValueChange","startWith","message","as","Root","DelayedRender","Announced","_link","href","keytipProps","isButton","isDisabled","RootType","_getRootType","KeytipData","ariaDescribedBy","keytipAttributes","_adjustPropsForRootType","componentRef","restProps","type","Link","linkColor","linkInteractedColor","linkDisabledColor","focusBorderColor","textDecoration","borderBottom","cursor","userSelect","TooltipOverflowMode","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","hiddenParentStyles","_nextResizeGroupStateProvider","_root","_initialHiddenDiv","_updateHiddenDiv","_hasRenderedContent","warnDeprecations","onRenderData","dataNeedsMeasuring","isInitialMeasure","Provider","_afterComponentRendered","debounce","leading","prevProps","dataDidRender","remeasure","containerDimension","boundingRect","getBoundingClientRect","vertical","refToMeasure","scrollHeight","scrollWidth","ResizeGroup","TooltipDelay","_onRenderContent","_classNames","subText","calloutProps","directionalHint","directionalHintForRTL","onRenderContent","targetElement","beakWidth","gapSpace","Callout","onMouseEnter","onMouseLeave","isBeakVisible","setInitialFocus","doNotLayer","Tooltip","tooltipGapSpace","sqrt","wordWrap","overflowWrap","DayOfWeek","MonthOfYear","FirstWeekOfYear","DateRangeType","_tooltipHost","_defaultTooltipId","getId","show","_toggleTooltip","dismiss","_hideTooltip","_getTargetElement","overflowMode","Parent","Self","_onTooltipMouseEnter","delay","TooltipHostBase","_currentVisibleTooltip","overflowElement","portalContainsElement","_clearDismissTimer","_clearOpenTimer","isAriaPlaceholderRendered","delayTime","_getDelayTime","_openTimerId","_onTooltipMouseLeave","closeDelay","_dismissTimerId","_onTooltipKeyDown","isTooltipVisible","onTooltipToggle","long","hostClassName","setAriaDescribedBy","tooltipProps","tooltipId","isContentPresent","showTooltip","onFocusCapture","onBlurCapture","onDismiss","ariaPlaceholder","TooltipHost","nullFunction","nonActionableItemProps","_focusZone","_onReduceData","renderedItems","renderedOverflowItems","overflowIndex","movedItem","_onRenderBreadcrumb","ariaLabel","dividerAs","onRenderItem","overflowAriaLabel","onRenderOverflowIcon","contextualItems","isActionable","_onBreadcrumbClicked","itemProps","lastItemIndex","hasOverflowItems","itemElements","listItem","String","_onRenderItem","DividerType","chevron","iconProps","onRenderMenuIcon","overflowButton","menuProps","FocusZone","horizontal","focusZoneProps","list","itemLink","isCurrentItem","tooltipHostProps","Tag","_validateProps","maxDisplayedItems","breadcrumbData","SingleLineTextStyle","MinimumScreenSelector","MediumScreenSelector","Breadcrumb","itemBackgroundHoveredColor","itemBackgroundPressedColor","itemTextColor","itemTextFontWeight","itemTextHoveredOrPressedColor","itemLastChildTextColor","itemLastChildTextFontWeight","chevronButtonColor","overflowButtonColor","lastChildItemStyles","itemStateSelectors","commonItemStyles","listStyleType","MillisecondsInOneDay","MillisecondsIn1Sec","MillisecondsIn1Min","MillisecondsIn30Mins","MillisecondsIn1Hour","MinutesInOneDay","MinutesInOneHour","DaysInOneWeek","MonthInOneYear","addDays","date","days","getTime","setDate","getDate","addWeeks","weeks","addMonths","months","newMonth","getMonth","setMonth","addYears","years","setFullYear","getFullYear","getMonthStart","getMonthEnd","month","compareDates","date1","date2","compareDatePart","getDatePartHashValue","getDateRangeArray","dateRangeType","firstDayOfWeek","workWeekDays","daysToSelectInDayView","startDate","datesArray","endDate","Monday","Tuesday","Wednesday","Thursday","Friday","Day","getDatePart","Week","WorkWeek","daysOffset","getDay","getStartDateOfWeek","Month","assertNever","nextDate","isInDateRangeArray","dateRange","getWeekNumbersInMonth","weeksInMonth","firstWeekOfYear","navigatedDate","selectedYear","selectedMonth","dayOfMonth","fistDayOfMonth","endOfFirstWeek","dateWeekDay","Sunday","adjustWeekDay","endOfWeekRange","weeksArray","getWeekNumber","FirstFullWeek","getWeekOfYearFullDays","FirstFourDayWeek","num","getDayOfYear","num3","floor","getFirstDayWeekOfYear","numberOfFullDays","dayOfYear","daysInYear","December","num2","year","daysUntilDate","daysInMonth","picker","holder","pickerIsOpened","goTodaySpacing","dayPicker","header","divider","monthAndYear","decade","currentYear","currentDecade","dayWrapper","weekday","daySelection","dayIsToday","dayIsDisabled","dayIsUnfocused","dayIsFocused","dayIsHighlighted","pickerIsFocused","dayDisabled","dayBackground","dayHover","dayPress","weekBackground","weekIsHighlighted","showWeekNumbersRTL","monthComponents","yearComponents","decadeComponents","prevMonth","nextMonth","prevYear","nextYear","prevDecade","nextDecade","prevMonthIsDisabled","nextMonthIsDisabled","prevYearIsDisabled","nextYearIsDisabled","prevDecadeIsDisabled","nextDecadeIsDisabled","headerToggleView","optionGrid","monthOption","yearOption","isHighlighted","monthOptionIsDisabled","yearOptionIsDisabled","goToday","goToTodayIsDisabled","goTodayInlineMonth","isPickingYears","monthPicker","yearPicker","monthPickerVisible","toggleMonthView","calendarsInline","monthPickerAsOverlay","holderWithButton","monthIsHighlighted","monthIsCurrentMonth","yearIsHighlighted","yearIsCurrentYear","topLeftCornerDate","topRightCornerDate","bottomLeftCornerDate","bottomRightCornerDate","weekSelection","monthSelection","topDate","rightDate","bottomDate","leftdate","_onDayKeyDown","originalDate","weekIndex","dayIndex","_onSelectDate","_navigateMonthEdge","_onDayMouseDown","_applyFunctionToDayRefs","day","isInBounds","classList","dayWeekIndex","remove","_onDayMouseUp","_onDayMouseOver","_onDayMouseLeave","_onTableMouseLeave","contains","relatedTarget","_onTableMouseUp","selectedDate","onSelectDate","autoNavigateOnSelection","minDate","maxDate","_getBoundedDateRange","_getIsRestrictedDate","_onSelectPrevMonth","_onSelectNextMonth","onNavigateDate","_onClose","_onHeaderSelect","onHeaderSelect","_onHeaderKeyDown","_onPrevMonthKeyDown","_onNextMonthKeyDown","_onCloseButtonKeyDown","activeDescendantId","_getWeeks","strings","navigationIcons","showWeekNumbers","dateTimeFormatter","showCloseButton","allFocusable","dayPickerId","monthAndYearId","leftNavigationIcon","leftNavigation","rightNavigationIcon","rightNavigation","closeNavigationIcon","closeIcon","weekNumbers","selectedDateWeekNumber","weekCorners","_getWeekCornerStyles","prevMonthInBounds","nextMonthInBounds","css","formatMonthYear","navContainer","prevMonthAriaLabel","nextMonthAriaLabel","closeButton","closeButtonAriaLabel","shortDays","onMouseUp","week","weekNumberFormatString","isNavigatedDate","onSelected","_getHighlightedCornerStyle","isSelected","isInMonth","_setDayCellRef","onMouseOver","onMouseDown","isToday","formatMonthDayYear","_setDayRef","formatDay","navigatedDay","weekCornersStyled","above","below","roundedTopRight","roundedBottomLeft","roundedBottomRight","concat","minIndex","maxIndex","_findLastIndex","leftStyle","rightStyle","targetDate","DAYS_IN_WEEK","propsToUse","today","showSixWeeksByDefault","todaysDate","isAllDaysOfWeekOutOfMonth","selectedDates","shouldGetWeeks","dayInfo","restrictedDates","rd","boundedDateRange","predicate","DefaultCalendarYearStrings","prevRangeAriaLabel","nextRangeAriaLabel","DefaultNavigationIcons","_buttonRef","_onRenderYear","onRenderYear","onSelectYear","selected","_selectedCellRef","_currentCellRef","_renderCell","minYear","maxYear","fromYear","toYear","cells","_onSelectPrev","onSelectPrev","iconStrings","prevRange","prevAriaLabel","_onSelectNext","onSelectNext","nextRange","nextAriaLabel","rangeAriaLabel","_onRenderTitle","onRenderTitle","_onRenderNav","_gridRef","_onNavNext","_onNavPrev","_renderHeader","_renderGrid","_calculateInitialStateFromProps","navigatedYear","rangeYear","_navigatedMonthRef","_onCalendarYearRef","_calendarYearRef","_onSelectYear","_focusOnUpdate","newNavigationDate","isYearPickerVisible","_yearToString","yearFormattingDate","formatYear","_yearRangeToString","yearRange","_yearRangeToNextDecadeLabel","nextYearRangeAriaLabel","_yearRangeToPrevDecadeLabel","prevYearRangeAriaLabel","_onSelectNextYear","_onSelectNextYearKeyDown","_onSelectPrevYear","_onSelectPrevYearKeyDown","_onSelectMonthKeyDown","_onSelectMonth","yearPickerHidden","_onYearPickerHeaderSelect","_selectMonthCallbacks","shortMonths","_isCurrentMonth","highlightCurrentMonth","highlightSelectedMonth","currentSelectedDate","rowIndexes","isPrevYearInBounds","isNextYearInBounds","getYearEnd","prevYearAriaLabel","nextYearAriaLabel","rowNum","monthsForRow","monthIndex","indexedMonth","isCurrentMonth","isNavigatedMonth","isSelectedMonth","isSelectedYear","defaultWorkWeekDays","dateTimeFormatterCallbacks","_dayPicker","_monthPicker","_navigateDayPickerDay","navigatedDayDate","navigatedMonthDate","_navigateMonthPickerDay","_onNavigateDayDate","focusOnNavigatedDay","_onNavigateMonthDate","showMonthPickerAsOverlay","isDayPickerVisible","selectedDateRangeArray","isMonthPickerVisible","_onGotoToday","selectDateOnClick","dates","_onGotoTodayClick","_onGotoTodayKeyDown","_onDatePickerPopupKeyDown","_handleEscKey","currentDate","isNaN","showGoToToday","monthPickerOnly","overlayedWithButton","goTodayEnabled","frame","wrap","goToToday","FirstDay","useFastIcons","IconComponent","FontIcon","circle","check","CheckGlobalClassNames","checkHost","Check","sharedCircleCheck","_onChange","evt","_onBlur","onBlur","_onFocus","onFocus","_onRenderField","imageSrc","selectedImageSrc","imageSize","onRenderLabel","composeRenderFunction","_onRenderLabel","htmlFor","field","innerField","imageWrapper","selectedImageWrapper","iconWrapper","labelWrapper","labelId","focused","required","onRenderField","hasIcon","hasImage","imageIsLarge","choiceFieldWrapper","getChoiceGroupFocusStyle","hasIconOrImage","getImageWrapperStyle","isSelectedImageWrapper","paddingBottom","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","paddingTop","labelWrapperLineHeight","_focusCallbacks","_changeCallbacks","keyFocused","defaultSelectedKey","validDefaultSelectedKey","_isControlled","some","keyChecked","_getKeyChecked","_labelId","prevState","newKeyChecked","optionsContainIconOrImage","ariaLabelledBy","applicationRole","Label","innerOptionProps","_getOptionId","optionToFocus","checkedOption","elementToFocus","getElementById","onChanged","originalOption","selectedKey","optionsChecked","ChoiceGroup","translateOne","scaleOne","rotateOne","container","main","overflowY","overFlowYHidden","OFF_SCREEN_STYLE","SLIDE_ANIMATIONS","_positionedHost","_contentHost","onResize","_updateAsyncPosition","_setInitialFocus","_didSetInitialFocus","positions","_onComponentDidMount","_targetWindow","throttle","_dismissOnScroll","_dismissOnLostFocus","onLayerMounted","_setHeightOffsetEveryFrame","heightOffset","_positionAttempts","UNSAFE_componentWillMount","_setTargetWindowAndElement","_getTarget","UNSAFE_componentWillUpdate","newProps","newTarget","_maxHeight","offsetFromTarget","finalHeight","positioningContainerWidth","positioningContainerMaxHeight","directionalClassName","targetEdge","getContentMaxHeight","_getMaxHeight","contentMaxHeight","elementPosition","preventDismissOnScroll","clickedOutsideCallout","elementContains","_target","_updatePosition","onPositioned","hostElement","positioningContainerElement","currentProps","bounds","_getBounds","_arePositionsEqual","_positioningBounds","currentBounds","minPagePadding","innerHeight","directionalHintFixed","BORDER_WIDTH","newPosition","_comparePositions","oldPositions","newPositions","oldPositionEdge","newPositionEdge","toFixed","currentDoc","querySelector","_setHeightOffsetTimer","positioningContainerMainElem","lastChild","scrollDiff","cancelAnimationFrame","beak","fill","svgHeight","svgWidth","pointOne","pointTwo","pointThree","BEAK_WIDTH","BEAK_HEIGHT","getClassNames","points","COACHMARK_ATTRIBUTE_NAME","_entityHost","_entityInnerHostElement","_translateAnimationContainer","_ariaAlertContainer","_childrenContainer","_positioningContainer","altKey","_onFocusHandler","isCollapsed","_openCoachmark","_onPositioned","positionData","targetAlignment","alignmentEdge","targetPosition","_setBeakPosition","beakLeft","beakTop","beakRight","beakBottom","transformOriginX","transformOriginY","_beakDirection","COACHMARK_WIDTH","transformOrigin","onAnimationOpenStart","onAnimationOpenEnd","teachingBubbleRef","collapsed","beakHeight","isBeaconAnimating","isMeasuring","entityInnerHostRect","isMouseInProximity","positioningContainerProps","ariaDescribedByText","ariaLabelledByText","ariaAlertText","delayBeforeCoachmarkAnimation","persistentBeak","alertText","defaultColor","entityHostHeight","entityHostWidth","COACHMARK_HEIGHT","ariaContainer","translateAnimationContainer","scaleAnimationLayer","rotateAnimationLayer","entityHost","FocusTrapZone","isClickableOutsideFocusTrap","forceFocusInsideTrap","entityInnerHost","childrenContainer","shouldComponentUpdate","newState","preventDismissOnLostFocus","_addListeners","offsetWidth","forceUpdate","_addProximityHandler","mouseProximityOffset","delayBeforeMouseOpen","preventFocusOnMount","clickTarget","isPositionForced","Infinity","timeoutIds","_setTargetElementRect","clearInterval","mouseY","clientY","mouseX","clientX","_isInsideElement","onMouseMove","_targetElementRect","ContinuousPulse","ContinuousPulseAnimation","animationDirection","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","hsv2rgb","rgb","hh","abs","round","hsl2rgb","hsv","cssColor","easyColor","_rgba","str","test","_hex6","_hex3","hasAlpha","expectedPartCount","rgba","_hsla","elem","createElement","appendChild","eComputedStyle","getComputedStyle","computedColor","removeChild","trim","_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","hsl","tableIndex","_soften","_strongen","_isWhite","_isBlack","getBackgroundShade","getContrastRatio","color1","color2","_getThing","pow","L1","L2","updateT","_textElement","isFocused","validateOnFocusIn","_validate","validateOnFocusOut","labelStyles","subComponentStyles","_onRenderDescription","_onInputChange","isSameValue","_lastChangeValue","persist","_getValue","uncontrolledValue","_fallbackId","_descriptionId","_warnControlledUsage","defaultValue","errorMessage","_delayedValidate","deferredValidationTime","_lastValidation","_adjustInputHeight","validateOnLoad","getSnapshotBeforeUpdate","selection","snapshot","multiline","_shouldValidateAllChanges","borderless","inputClassName","underlined","prefix","resizable","autoAdjustHeight","onRenderPrefix","onRenderSuffix","_errorMessage","hasLabel","hasErrorMessage","wrapper","fieldGroup","_onRenderPrefix","_renderTextArea","_renderInput","_onRenderSuffix","_isDescriptionAvailable","blur","setSelectionStart","setSelectionEnd","warnControlledUsage","componentId","componentName","oldProps","valueProp","defaultValueProp","onChangeProp","readOnlyProp","_hasWarnedNullValue","textAreaProps","readOnly","inputProps","_latestValidateValue","onGetErrorMessage","_notifyAfterValidate","onNotifyValidationResult","textField","unresizable","active","getLabelStyles","TextField","fieldPrefixSuffix","placeholderStyles","disabledPlaceholderStyles","borderBottomColor","resize","flexGrow","_disposables","_isAdjustingSaturation","increment","shiftKey","_updateColor","_onMouseMove","_disposeListeners","newColor","prevColor","rectSize","sPercentage","vPercentage","_getNewColor","minSize","ariaValueFormat","ariaDescription","valueText","replace","dark","thumb","oldColor","defaultPrevented","ColorRectangle","marginBottom","currentValue","maxValue","_maxValue","currentPercentage","thumbColor","overlayStyle","isAlpha","minValue","_type","overlayColor","sliderOverlay","sliderThumb","hueStyle","alphaStyle","ColorSlider","useAlphaBackground","allColorComponents","_onSVChanged","_onHChanged","_onATChanged","updater","alphaType","editingColor","isHex","isTransparency","minLength","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","flexSlider","hueAriaLabel","showPreview","flexPreviewBox","colorSquare","cellPadding","cellSpacing","tableHeader","tableHexCell","tableAlphaCell","comp","spellCheck","substr","SearchDirection","HoverStatus","ColorPicker","tableLayout","getDisabledStyles","listOptionHighContrastStyles","inputHighContrastStyles","getOptionStyles","customStylesForAllOptions","customOptionStylesForCurrentOption","isPending","isHidden","textHoveredColor","textSelectedColor","textDisabledColor","backgroundHoveredColor","backgroundPressedColor","optionStyles","optionText","optionTextWrapper","getCaretDownButtonStyles","caret","buttonTextColor","buttonTextHoveredCheckedColor","buttonBackgroundHoveredColor","buttonBackgroundCheckedColor","buttonBackgroundCheckedHoveredColor","buttonHighContrastStyles","comboBoxOptionWidth","textColor","borderHoveredColor","borderPressedColor","borderFocusedColor","erroredColor","headerTextColor","dividerBorderColor","placeholderHighContrastStyles","placeholderStylesHovered","ComboBoxRootHighContrastFocused","focusBorderStyles","marginLeft","rootError","rootDisallowFreeForm","inputDisabled","callout","optionsContainerWrapper","optionsContainer","isOpen","allowFreeForm","getComboBoxOptionClassNames","_autofill","_comboBoxWrapper","_comboBoxMenu","_selectedElement","shouldOpenOnFocus","useFocusAsync","dismissMenu","_onUpdateValueInAutofillWillReceiveProps","comboBox","visibleValue","_normalizeToString","_currentVisibleValue","_onShouldSelectFullInputValueInAutofillComponentDidUpdate","_getVisibleValue","allowFreeform","selectedIndices","currentPendingValueValidIndex","currentOptions","currentPendingValue","currentPendingIndexValid","_indexWithinBounds","multiSelect","_getPendingString","_getMultiselectDisplayString","_getFirstSelectedIndex","updatedValue","_handleInputWhenDisabled","_processInputChangeWithFreeform","_processInputChangeWithoutFreeform","_select","openOnKeyboardFocus","_onResolveOptions","onResolveOptions","newOptions","_currentPromise","newOptionsFromPromise","findElementRecursive","_submitPendingValue","_onRenderContainer","onRenderList","dropdownWidth","dropdownMaxWidth","onRenderUpperContent","onRenderLowerContent","useComboBoxAsMenuWidth","persistMenu","shouldRestoreFocus","comboBoxMenuWidth","clientWidth","_onLayerMounted","_onDismiss","_onCalloutMouseDown","onScroll","_onScroll","calloutWidth","calloutMaxWidth","hidden","_onRenderUpperContent","_onRenderList","_onRenderLowerContent","_onCalloutLayerMounted","onRenderLabelProps","multiselectAccessibleText","itemType","Divider","_renderSeparator","Header","_renderOption","onRenderOption","_isOptionSelected","isChecked","_isOptionChecked","_getCurrentOptionStyles","optionClassNames","_getPreviewText","onRenderCheckboxLabel","_onItemClick","CommandButton","_onOptionMouseEnter","_onOptionMouseMove","_onOptionMouseLeave","_onRenderOptionContent","_isScrollIdle","_scrollIdleTimeoutId","onMenuDismiss","_setOpenStateAndFocusOnClose","_resetSelectedIndex","_onAfterClearPendingInfo","_processingClearPendingInfo","_onInputKeyDown","currentPendingValueValidIndexOnHover","_lastKeyDownWasAltOrMeta","_isAltOrMeta","_getPendingSelectedIndex","clearAll","metaKey","_setPendingInfoFromIndexAndDirection","backward","forward","directionToSearch","keyCode","_onInputKeyUp","keyPressIsAltOrMetaAlone","shouldHandleKey","_shouldIgnoreMouseEvent","_onComboBoxClick","_onAutofillClick","_processingTouch","_onTouchStart","_handleTouchAndPointerEvent","stopImmediatePropagation","warnMutuallyExclusive","selectedKeys","_buildDefaultSelectedKeys","_gotMouseMove","initialSelectedIndices","_getSelectedIndices","_buildSelectedKeys","indices","onMenuOpen","onMenuDismissed","_focusInputAfterClose","_notifyPendingValueChanged","errorMessageId","onRenderContainer","buttonIconProps","isButtonAriaHidden","placeholder","autofill","iconButtonProps","placeholderProp","onKeyUp","onTouchStart","_getAriaAutoCompleteValue","_getAriaActiveDescendantValue","_getCaretButtonStyles","displayValues","displayString","newCurrentPendingValueValidIndex","_setPendingInfo","originalUpdatedValue","newSuggestedDisplayValue","_lastReadOnlyAutoCompleteChangeTimeoutId","_setPendingInfoFromIndex","_getNextSelectableIndex","searchDirection","newIndex","_setSelectedIndex","submitPendingValueEvent","onPendingValueChanged","initialIndices","_hasPendingValue","changedOptions","_clearPendingInfo","pendingOptionText","isValueSelected","newOption","includeCurrentPendingValue","_scrollIntoView","onScrollToItem","scrollSelectedToTop","scrollIntoView","alignToTop","scrollableParentRect","selectedElementRect","onItemClick","sort","selectedIndex","indexUpdate","newPendingIndex","newPendingValue","focusInputAfterClose","_lastTouchTimeoutId","caretDownButtonStyles","customCaretDownButtonStyles","comboBoxOptionStyles","customStylesForCurrentOption","_isPendingOption","descendantText","useAriaLabelAsText","ComboBox","ScrollToMode","auto","center","EMPTY_RECT","_measurePageRect","_measureSurfaceRect","_measureScrollRect","_surface","_onRenderRoot","rootRef","surfaceElement","_onRenderSurface","surfaceRef","pageElements","_onRenderPage","pageProps","defaultRender","onRenderCell","page","startIndex","cellRole","itemKey","getKey","ignoreScrollingState","isScrolling","pages","_estimatedPageHeight","_totalEstimates","_requiredWindowsAhead","_requiredWindowsBehind","_measureVersion","_onAsyncScroll","maxWait","_onAsyncIdle","_onAsyncResize","_onScrollingDone","_cachedPageHeights","_focusedIndex","_pageCache","scrollToIndex","measureItem","scrollToMode","endIndex","_getRenderCount","allowedRect","_allowedRect","scrollTop","itemsPerPage","itemIndex","pageSpecification","_getPageSpecification","pageHeight","itemCount","_scrollElement","scrollRect","scrollWindow","itemPositionWithinPage","itemIndexInPage","scrollBottom","getStartItemIndexInView","isSpacer","_scrollTop","rowHeight","totalRowHeight","_updatePages","renderCount","version","_resetRequiredWindows","_requiredRect","_invalidatePageCache","oldPages","newPages","oldPage","newPage","_updateRenderRects","getTotalListHeight","_surfaceRect","onRenderSurface","onRenderRoot","_renderPage","finalOnRenderSurface","_shouldVirtualize","onShouldVirtualize","cachedPage","usePageCache","pageElement","pageStyle","_getPageStyle","onRenderPage","getPageStyle","indexString","innerRect","outerRect","_materializedRect","renderedWindowsAhead","renderedWindowsBehind","windowsAhead","requiredWindowsAhead","windowsBehind","requiredWindowsBehind","newListState","_buildPages","oldListPages","_notifyPageChanges","finalProps","finalState","getPageHeight","_updatePageMeasurements","_hasCompletedFirstRender","onPagesUpdated","onPageAdded","onPageRemoved","renderedIndexes","_onPageAdded","_onPageRemoved","heightChanged","_measurePage","hasChangedHeight","cachedHeight","measureVersion","newClientRect","clientHeight","materializedRect","pageTop","currentSpacer","focusedIndex","shouldVirtualize","isFirstRender","pageData","targetRect","newRect","pageBottom","isPageRendered","isPageInAllowedRange","isPageInRequiredRange","itemsInPage","_createPage","_visibleRect","SPACER_KEY_PREFIX","visibleRect","getPageSpecification","_getItemCountForPage","_getPageHeight","visibileRect","getItemCountForPage","pageKey","surfaceRect","_scrollHeight","visibleTop","_expandRect","containsFocus","rect","pagesBefore","pagesAfter","SelectionMode","SelectionDirection","_comboBox","_list","_onScrollToItem","selectedOptions","_persistedKeytips","_keytipManager","KeytipManager","_divContainer","_onRenderItems","_onRenderOverflowButtonWrapper","wrapperDivProps","overflowKeytipSequences","keytipSequences","newOverflowItems","overflowItem","keytip","persistedKeytip","hasDynamicChildren","_getSubMenuForItem","onExecute","menuExecute","newOverflowItem","overflowSetSequence","onRenderOverflowButton","doNotContainWithinFocusZone","uniqueComponentProps","overflowItems","overflowSide","showOverflow","forceIntoFirstElement","focusSucceeded","focusElement","childElement","_registerPersistedKeytips","_unregisterPersistedKeytips","uniqueID","register","unregister","itemSubMenuProvider","subMenuProps","overflowItemStyle","OverflowSet","getCommandButtonStyles","rootStyles","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","menuIconProps","OverflowButtonType","overflowButtonAs","shiftOnReduce","onDataReduced","renderedInOverflow","newData","_computeCacheKey","_onGrowData","onDataGrown","minimumOverflowItems","commandBarData","overflowSet","inactive","returnKey","CommandBar","DEFAULT_STRINGS","_calendar","_datePickerDiv","_textField","formatDate","calendarProps","formattedDate","_calendarDismissed","_onCalloutPositioned","shouldFocus","_onTextFieldFocus","disableAutoFocus","allowTextInput","_preventFocusOpeningPicker","_showDatePickerPopup","_onTextFieldBlur","_validateTextInput","_onTextFieldChanged","isDatePickerShown","_dismissDatePickerPopup","isRequired","isRequiredErrorMessage","_onTextFieldKeyDown","_onTextFieldClick","_onIconClick","parseDateFromString","invalidInputErrorMessage","_isDateOutOfBounds","isOutOfBoundsErrorMessage","_getDefaultState","_setErrorMessage","onAfterMenuDismiss","initialPickerDate","pickerAriaLabel","calendarAs","calloutId","textFieldProps","_getErrorMessage","disableFirstFocus","CalendarType","toDateString","dateStr","parse","withLabel","withoutLabel","DatePicker","DatePickerIcon","SELECTION_CHANGE","onSelectionChanged","canSelectItem","selectionMode","mode","_getKey","defaultGetKey","_changeEventSuppressionCount","_exemptedCount","_anchoredIndex","_unselectableCount","_onSelectionChanged","_canSelectItem","_isModal","setItems","getSelectedCount","setChangeEvents","isEnabled","suppressChange","_hasChanged","_change","isModal","setModal","setAllSelected","shouldClear","newKeyToIndexMap","newUnselectableIndices","hasSelectionChanged","_setAllSelected","newExemptedIndicies","newExemptedCount","indexProperty","_exemptedIndices","exemptKey","_items","_isAllSelected","_keyToIndexMap","_unselectableIndices","_selectedItems","_updateCount","getItems","getSelection","isIndexSelected","getSelectedIndices","_selectedIndices","isRangeSelected","fromIndex","isAllSelected","selectableCount","single","isKeySelected","multiple","setKeySelected","shouldAnchor","setIndexSelected","isExempt","selectToKey","clearSelection","selectToIndex","anchorIndex","toggleAllSelected","toggleKeySelected","toggleIndexSelected","toggleRangeSelected","preserveModalState","CollapseAllVisibility","ignoreNextFocus","_handleNextFocus","_onSelectionChange","_onMouseDownCapture","_hasAttribute","isToggleModifierPressed","_isCtrlPressed","_isMetaPressed","_getSelectionMode","_shouldHandleFocus","isToggle","itemRoot","_findItemRoot","_getItemIndex","enterModalOnTouch","_isTouch","_setIsTouch","isSelectedOnFocus","_onItemSurfaceClick","_updateModifiers","_isSelectionDisabled","_shouldAutoSelect","_isShiftPressed","_onInvokeMouseDown","disableAutoSelectOnInputElements","_onTouchStartCapture","isSelectionDisabled","_onToggleAllClick","_onToggleClick","_onInvokeClick","_onContextMenu","onItemContextMenu","_onDoubleClick","onItemInvoked","_isInputElement","_onKeyDownCapture","isSelectAllKey","isClearSelectionKey","getDerivedStateFromProps","_findScrollParentAndTryClearOnEmptyClick","onKeyDownCapture","onDoubleClick","onContextMenu","onMouseDownCapture","previousProps","_isTabPressed","_clearAndSelectIndex","scrollParent","_tryClearOnEmptyClick","Node","selectionPreservedOnEmptyClick","_isNonHandledClick","ctrlKey","indexValue","attributeName","doc","documentElement","handleFocus","_shouldHandleFocusTimeoutId","isTouch","_isTouchTimeoutId","ColumnActionsMode","ConstrainMode","ColumnDragEndLocation","DetailsListLayoutMode","CheckboxVisibility","indentWidth","DetailsRowGlobalClassNames","compact","cell","cellAnimation","cellCheck","cellMeasurer","listCellFirstChild","isContentUnselectable","isCheckVisible","isRowHeader","fields","DEFAULT_CELL_STYLE_PROPS","cellLeftPadding","cellRightPadding","cellExtraRightPadding","DEFAULT_ROW_HEIGHTS","compactRowHeight","values","rowVerticalPadding","compactRowVerticalPadding","tooltipHost","cellIsCheck","collapseButton","isSelectAllHidden","isResizingColumn","cellSizer","isResizing","dropHintCircleStyle","dropHintCaretStyle","dropHintLineStyle","cellTitle","cellName","filterChevron","gripperBarVertical","checkTooltip","cellStyleProps","isHeader","FastCheck","_defaultCheckboxRender","checkboxProps","_fastDefaultCheckboxRender","SelectAllVisibility","DetailsRowCheck","canSelect","anySelected","checkClassName","onRenderDetailsCheckbox","defaultCheckboxRender","onRenderCheckbox","detailsCheckboxProps","buttonProps","params","_selection","_dragEnterCounts","_activeTargets","_lastId","_initialized","subscribe","dragDropOptions","_onMouseUp","_onDocumentMouseUp","onDragStart","onDragLeave","onDragEnter","onDragEnd","onDrop","onDragOver","isDraggable","isDroppable","activeTarget","handlers","eventMap","updateDropState","dragDropTarget","_isDraggable","_isDroppable","handler","isHandled","_onDragEnd","_isDragging","dataTransfer","setData","unsubscribe","_dragData","dropTarget","buttons","_isChild","_onMouseLeave","eventTarget","dragTarget","canDrag","dragContext","canDrop","_onRenderColumnHeaderTooltip","_onColumnClick","onColumnClick","column","columnActionsMode","_onDragStart","selectedItems","_updateHeaderDragInfo","borderWhileDragging","noBorderWhileDragging","setDraggedItemIndex","updateDragInfo","_onColumnContextMenu","onColumnContextMenu","_onRootMouseDown","columnIndex","parentId","onRenderColumnHeaderTooltip","headerClassName","isEmpty","isIconVisible","isSorted","isGrouped","isFiltered","isPadded","isIconOnly","transitionDurationDrag","transitionDurationDrop","isSortedDescending","draggable","calculatedWidth","gripperBarVerticalStyle","cellTooltip","_hasAccessibleLabel","hasDropdown","isMenuOpen","accessibleLabel","nearIcon","sortIcon","_renderAccessibleLabel","dragDropHelper","_addDragDropHandling","isDropped","borderAfterDropping","noBorderAfterDropping","TRANSITION_DURATION_DROP","_dragDropSubscription","_getColumnDragDropOptions","selectionIndex","filterAriaLabel","sortAscendingAriaLabel","sortDescendingAriaLabel","groupAriaLabel","DetailsColumn","colors","iconForegroundColor","headerForegroundColor","headerBackgroundColor","dropdownChevronForegroundColor","resizerColor","nearIconStyle","borderAfterDragOrDrop","alignContent","maxHeight","NO_COLUMNS","_rootComponent","_draggedColumnIndex","_dropHintDetails","_updateDroppingState","_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","columns","prevX","prevMid","frozenColumnCountFromStart","frozenColumnCountFromEnd","_rootElement","dropHintElement","querySelectorAll","offsetLeft","newMid","originX","startX","endX","dropHintElementRef","isRtl","eventXRelativePosition","currentDropHintIndex","_liesBetween","currentIndex","lastValidColumn","indexToUpdate","_isBefore","_isAfter","middleIndex","ceil","_updateDropHintElement","_renderColumnSizer","columnResizeDetails","isResizable","_stopPropagation","_onSizerBlur","cellSizerStart","cellSizerEnd","cellIsResizing","_onSizerDoubleClick","_onSelectAllClicked","columnIndexAttr","columnMinWidth","_onRootMouseMove","isSizing","_onRootRef","focusZone","_onRootKeyDown","onColumnResized","_onSizerMouseMove","onColumnIsSizingChanged","movement","_onSizerMouseUp","_onToggleCollapseAll","onToggleCollapseAll","newCollapsed","isAllCollapsed","_dragDropHelper","minimumPixelsForDrag","_subscriptionObject","_getHeaderDragDropOptions","previousColumns","ariaLabelForToggleAllGroupsButton","ariaLabelForSelectAllCheckbox","selectAllVisibility","ariaLabelForSelectionColumn","rowWidth","groupNestingDepth","checkboxVisibility","showCheckbox","isCheckboxHidden","isCheckboxAlwaysVisible","always","collapseAllVisibility","visible","cellIsGroupExpander","_renderDropHint","_renderColumnDivider","sizingOverlay","columnReorderOptions","displayProperty","childNodes","clientRect","onRenderDivider","dropHintIndex","dropHintStyle","onColumnAutoResized","SpinnerSize","SpinnerType","DetailsHeader","cellSizerFadeInStyles","cellStyles","cellWrapperPadded","cellIsActionable","cellIsEmpty","columnStartIndex","rowClassNames","onRenderItemColumn","getCellValueKey","cellsByColumn","enableUpdateAnimations","cellValueKeysRef","cellValueKeys","getValueKey","cellContentsRender","fieldName","getCellText","previousValueKey","cellValueKey","showAnimation","isMultiline","cellPadded","cellUnpadded","_cellMeasurer","selectionState","_getSelectionState","isDropping","dragDropEvents","_droppingClassNames","columnMeasureInfo","_getRowDragDropOptions","onDidMount","_onDidMountCalled","newWidth","onMeasureDone","onWillUnmount","useReducedRowRenderer","newSelectionState","onRenderCheck","getRowAriaLabel","getRowAriaDescribedBy","checkButtonAriaLabel","checkboxCellClassName","rowFieldsAs","isSelectionModal","droppingClassName","ariaSelected","_rowClassNames","rowFields","RowFields","checkCell","checkCover","measureCell","_onRenderCheck","eventsToRegister","DetailsRow","defaultHeaderText","defaultMetaText","defaultBackground","defaultHoverHeaderText","defaultHoverMetaText","defaultHoverBackground","selectedHeaderText","selectedMetaText","selectedBackground","selectedHoverHeaderText","selectedHoverMetaText","selectedHoverBackground","focusHeaderText","focusMetaText","focusBackground","focusHoverBackground","selectedStyles","borderTop","cannotSelectStyles","rootCompactStyles","cellCompactStyles","defaultCellStyles","wordBreak","group","listCell","beziers","dropIcon","expand","iconTag","ariaLive","labelPosition","statusMessage","styleSize","spinAnimation","Spinner","borderTopColor","_onToggleCollapse","onToggleCollapse","isGroupLoading","newLoadingVisible","isLoadingVisible","_onToggleSelectGroupClick","onToggleSelectGroup","_onHeaderClick","onGroupHeaderClick","headerCount","hasMoreData","groupLevel","viewport","loadingText","isCollapsedGroupSelectVisible","expandButtonProps","selectAllButtonProps","groupedListId","ariaPosInSet","ariaSetSize","isSelectionCheckVisible","currentlySelected","groupHeaderContainer","expandIsCollapsed","GroupHeader","finalRowHeight","checkExpandResetStyles","transitionDelay","GroupShowAll","showAllLinkText","onToggleSummarize","memoizedOnClick","GroupFooter","footerText","_droppingClassName","_onRenderGroupHeader","_onRenderGroupShowAll","_onRenderGroupFooter","_renderSubGroup","subGroup","subGroupIndex","getGroupItemLimit","groupProps","headerProps","showAllProps","footerProps","listProps","onRenderGroupHeader","onRenderGroupShowAll","onRenderGroupFooter","nestingDepth","level","showEmptyGroups","GroupedListSection","_getGroupKey","groupIndex","groups","_getGroupDragDropOptions","isGroup","newIsDropping","groupedListClassNames","isShowAllVisible","isShowingAll","hasNestedGroups","dividerProps","ariaControlsProps","groupHeaderProps","groupShowAllProps","groupFooterProps","canDragGroups","_getDroppingClassName","_returnOne","_onRenderGroup","forceListUpdate","subGroupCount","_onRenderGroupCell","groupIsDropping","_renderGroup","_onToggleSelectGroup","_onToggleSummarize","_getGroupNestingDepth","onRenderHeader","onRenderShowAll","onRenderFooter","_getDefaultGroupItemLimit","_getGroupItemLimit","_getGroupHeight","COMPACT_ROW_HEIGHT","ROW_HEIGHT","getGroupHeight","pageGroup","_updateIsSomeGroupExpanded","_isSomeGroupExpanded","_computeIsSomeGroupExpanded","lastWidth","shouldForceUpdates","_forceListUpdates","isAllGroupsCollapsed","_setGroupsCollapsedState","toggleCollapseAll","allCollapsed","groupsInLevel","groupCount","onGroupExpandStateChanged","newIsSomeGroupExpanded","isHeaderVisible","GroupedList","withViewport","_registerResizeObserver","_viewportResizeObserver","ResizeObserver","observe","_unregisterResizeObserver","disconnect","_updateViewport","withForceUpdate","viewportElement","scrollElement","getRect","_resizeAttempts","_composedComponentInstance","skipViewportMeasures","_isResizeObserverAvailable","oldSkipViewportMeasures","newSkipViewportMeasures","newViewport","BaseDecorator","_header","_groupedList","_selectionZone","_sumColumnWidths","totalWidth","_onRenderRow","_onRenderDetailsHeader","detailsHeaderProps","_onRenderDetailsFooter","detailsFooterProps","_onRenderListCell","_onRenderCell","rowElementEventMap","onRenderMissingItem","onRenderRow","adjustedColumns","rowProps","_onRowDidMount","_onRowWillUnmount","_onGroupExpandStateChanged","isSomeGroupExpanded","_onColumnIsSizingChanged","_onContentKeyDown","row","_getItemKey","_activeRows","_setFocusToRowIfPending","onRowDidMount","onRowWillUnmount","_onColumnDragEnd","finalDropLocation","outside","surface","_onColumnResized","resizingColumn","resizingColumnIndex","newCalculatedWidth","onColumnResize","_rememberCalculatedWidth","_adjustColumns","_onColumnAutoResized","totalCount","_onActiveRowChanged","onActiveItemChanged","focusedItemIndex","isRightArrow","_columnOverrides","_getAdjustedColumns","disableSelectionZone","_initialFocusedIndex","initialFocusedIndex","focusIndex","_setFocusToRow","onDidUpdate","setKey","newViewportWidth","oldViewportWidth","shouldResetSelection","layoutMode","ariaLabelForListHeader","constrainMode","isPlaceholderData","onColumnHeaderClick","onColumnHeaderContextMenu","selectionZoneProps","ariaLabelForGrid","shouldApplyApplicationRole","additionalListProps","onRenderDetailsHeader","onRenderDetailsFooter","_getDetailsFooterProps","rowCount","total","remainingGroups","currentGroup","isFixed","fixedColumns","isHorizontalConstrained","horizontalConstrained","_getGroupProps","headerWrapper","contentWrapper","isInnerZoneKeystroke","onActiveElementChanged","enterModalSelectionOnTouch","_notifyColumnsResized","currentWidth","viewportWidth","lastSelectionMode","newColumns","buildColumns","newItems","_getFixedColumns","_getJustifiedColumnsAfterResize","_getJustifiedColumns","_getColumnOverride","newColumn","fixedWidth","getPaddedWidth","remainingColumns","remainingWidth","firstIndex","rowCheckWidth","groupExpandWidth","availableWidth","lastIndex","overflowWidth","isCollapsible","isCollapsable","originalWidth","isLast","overrides","spaceLeft","detailsGroupProps","onRenderDetailsGroupFooter","onRenderDetailsGroupHeader","justified","onHover","DetailsListBase","canResizeColumns","sortedColumnKey","groupedColumnKey","firstItem","clickable","isFirst","DocumentCardType","DetailsList","WebkitOverflowScrolling","_onAction","onClickHref","location","accentColor","actionable","normal","DocumentCardPreviewGlobalClassNames","iconContainer","DocumentCardActivityGlobalClassNames","multiplePeople","details","activity","avatars","avatar","DocumentCardTitleGlobalClassNames","DocumentCardLocationGlobalClassNames","rootActionable","rootCompact","DocumentCard","borderRight","actions","views","action","viewsIcon","DocumentCardActions","ACTION_SIZE","float","people","_renderAvatars","_getNameString","_renderAvatar","profileImageSrc","nameString","DocumentCardActivity","VERTICAL_PADDING","HORIZONTAL_PADDING","DocumentCardDetails","locationHref","DocumentCardLocation","_renderPreviewList","previewImages","getOverflowDocumentCountText","overflowDocumentCount","overflowText","fileListItems","file","fileIndex","fileListIcon","iconSrc","fileListLink","linkProps","fileList","fileListOverflowText","preview","isFileList","_renderPreviewImage","previewImage","previewIconProps","previewIconContainerClass","previewIcon","previewImageSrc","DocumentCardPreview","_onImageLoad","imageHasLoaded","_renderCornerIcon","_renderCenterIcon","centeredIconWrapper","centeredIcon","cornerIcon","DocumentCardImage","_titleElement","_measureTitleElement","_truncateTitle","needMeasurement","_truncateWhenInAnimation","originalTitle","overFlowRate","truncatedLength","truncatedTitleFirstPiece","truncatedTitleSecondPiece","_shrinkTitle","titleElement","previousTitle","shouldTruncate","_updateTruncation","showAsSecondaryTitle","_titleTruncationTimer","DocumentCardTitle","logoIcon","DocumentCardLogo","statusIcon","status","DocumentCardStatus","pickerText","pickerInput","basePickerProps","floatingPicker","selectedItemsList","onSelectionChange","queryString","onQueryStringChanged","onInputFocus","unselectAll","onInputClick","shoudUpdateValue","showPicker","onBackspace","cursorLocation","hidePicker","removeItemAt","_onSelectedItemsChanged","hasSelectedItems","removeSelectedItems","onCopy","onPaste","clipboardData","getData","_onSuggestionSelected","currentRenderedQueryString","processedItem","onItemSelected","processedItemObject","processedItemPromiseLike","resolvedProcessedItem","_addProcessedItem","_onSuggestionsShownOrHidden","suggestionItems","defaultSelectedItems","floatingPickerProps","selectedItemsListProps","clearInput","highlightedItems","activeDescendant","currentSelectedSuggestionIndex","isSuggestionsShown","bidirectional","headerComponent","renderSelectedItemsList","canAddItems","renderFloatingPicker","itemLimit","FloatingPicker","onRenderFloatingPicker","onSuggestionsHidden","onSuggestionsShown","SelectedItems","onRenderSelectedItems","onItemsDeleted","onItemsRemoved","newItem","onItemAdded","addItems","customButtonStyles","FacepileButton","_onRenderPersonaCoin","_onRenderPrimaryText","_onRenderText","_onRenderSecondaryText","secondaryText","_onRenderTertiaryText","tertiaryText","_onRenderOptionalText","optionalText","hidePersonaDetails","onRenderOptionalText","onRenderPrimaryText","onRenderSecondaryText","onRenderTertiaryText","showSecondaryText","personaCoinProps","personaDetails","_renderElement","renderFunction","defaultRenderFunction","dir","doNotDisturb","textContent","Persona","sharedTextStyles","_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","itemButton","_onPersonaMouseMove","onMouseOut","_onPersonaMouseOut","overflowButtonType","descriptive","_getDescriptiveOverflowElement","downArrow","_getIconElement","more","personaNames","numPersonasNotPictured","descriptiveOverflowButton","_renderInitialsNotPictured","_renderInitials","addButtonProps","addButton","overflowInitialsIcon","Facepile","spacingAroundItemButton","ItemButtonStyles","suggestionsItem","suggestionsItemIsSuggested","actionButton","buttonSelected","suggestionsTitle","suggestionsContainer","suggestionsNone","suggestionsSpinner","legacyStyles","suggestionModel","RenderSuggestion","onRemoveItem","isSelectedOverride","removeButtonAriaLabel","suggested","showRemoveButton","suggestionsProps","SuggestionsItemOfProperType","_onClickTypedSuggestionsItem","onSuggestionClick","_onRemoveTypedSuggestionsItem","onSuggestionRemove","nextSuggestion","suggestions","setSelectedSuggestion","shouldLoopSelection","previousSuggestion","getCurrentItem","getSuggestionAtIndex","hasSuggestionSelected","removeSuggestion","deselectAllSuggestions","currentSuggestion","scrollSelected","onRenderSuggestion","suggestionsItemClassName","resultsMaximumNumber","showRemoveButtons","suggestionsContainerAriaLabel","TypedSuggestionsItem","suggestion","SuggestionItemType","renderItem","_suggestions","SuggestionsOfProperType","selectedHeaderIndex","selectedFooterIndex","resetSelectedItem","headerItemsProps","footerItemsProps","suggestionsAvailableAlertText","screenReaderTextStyles","shouldAlertSuggestionsAvailableText","renderHeaderItems","_renderSuggestions","renderFooterItems","selectedElement","hasSelection","executeSelectedAction","selectedHeaderItem","completeSuggestion","selectedFooterItem","handleKeyDown","isKeyDownHandled","selectNextItem","footer","selectFirstItem","selectPreviousItem","selectLastItem","suggestionsHeaderContainerAriaLabel","headerItemProps","shouldShow","suggestionsFooterContainerAriaLabel","footerItemProps","TypedSuggestions","originalItemType","startedItemType","_selectNextItemOfItemType","_getCurrentIndexForType","_getNextItemSectionType","_selectPreviousItemOfItemType","_getPreviousItemSectionType","shouldSelectFirstItem","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","pickerCalloutProps","onRenderSuggestionsItem","getSuggestions","pickerSuggestionsProps","updateSuggestionWithZeroState","onZeroQuerySuggestion","onEmptyInputFocus","updateSuggestionsList","suggestionsArray","suggestionsPromiseLike","currentPromise","newSuggestions","selectedElId","onResolveSuggestions","personaProps","createItem","isValid","personaToConvert","OpenCardMode","HoverCardType","_isSuggestionModel","_ensureSuggestionModel","getAriaLabel","columnCount","htmlProps","rowsOfItems","rows","rowIndex","cellIndex","tableCell","isCircularNavigation","shouldFocusCircularNavigate","focusedContainer","Grid","_onMouseEnter","cellDisabledStyle","cellIsSelectedStyle","host","ExpandingCardMode","compactCard","expandedCard","expandedCardScroll","firstFocus","trapFocus","onLeave","mergedCalloutProps","FocusTrapCallout","focusTrapProps","_expandedElem","_onRenderCompactCard","onRenderCompactCard","renderData","_onRenderExpandedCard","firstFrameRendered","onRenderExpandedCard","_checkNeedsScroll","expandedCardHeight","needsScroll","compactCardHeight","expandedCardFirstFrameRendered","onEnter","ExpandingCard","KeytipTransitionModifier","onRenderPlainCard","PlainCard","_hoverCard","withTimeOut","_setDismissedState","cardDismissDelay","_cardOpen","_shouldBlockHoverCard","openHotKey","_currentMouseTarget","currentTarget","_executeCardOpen","isHoverCardVisible","openMode","hotKey","hover","cardOpenDelay","_cardDismiss","isNativeEvent","MouseEvent","sticky","_instantOpenAsExpanded","_setEventListeners","instantOpenOnClick","eventListenerTarget","nativeEventDismiss","_nativeDismissEvent","_childDismissEvent","onCardExpand","expandedCardOpenDelay","onCardVisible","onCardHide","expandingCardProps","plainCardProps","hoverCardId","commonCardProps","finalExpandedCardProps","finalPlainCardProps","expanding","shouldBlockHoverCard","HoverCard","getCalloutStyles","beakCurtain","calloutMain","offset","KeytipContent","keytipTarget","coverTarget","nodeMap","addNode","persisted","fullSequence","_getFullSequence","nodeID","parentID","_getParentID","getNode","updateNode","prevParent","prevParentNode","childIndex","onReturn","removeNode","getExactMatchedNode","currentKeytip","possibleNodes","getNodes","_getNodeSequence","getPartiallyMatchedNodes","getChildren","nodes","ids","nodeMapValues","isCurrentKeytipParent","matchesCurrWithoutOverflow","nodeMapKey","transitionKeysContain","transitionKey","key1","key2","mod1","modifierKeys","mod2","transitionKeysAreEqual","MessageBarType","defaultStartSequence","defaultExitSequence","defaultReturnSequence","_delayedKeytipQueue","_keyHandled","inKeytipMode","_exitKeytipMode","_getModifierKey","processTransitionInput","_onKeyPress","processInput","_onKeytipAdded","_keytipTree","_setKeytips","_addKeytipToQueue","currNode","_newCurrentKeytipSequences","_triggerKeytipImmediately","_isCurrentKeytipAnAlias","keytipSequence","_onKeytipUpdated","_onKeytipRemoved","_removeKeytipFromQueue","_onPersistedKeytipAdded","_onPersistedKeytipRemoved","_onPersistedKeytipExecute","_persistedKeytipExecute","overflowButtonSequences","_setInKeytipMode","_warnIfDuplicateKeytips","duplicateKeytips","_getDuplicateIds","keytipIds","seenIds","managerKeytips","getKeytips","keytips","visibleKeytips","_getVisibleKeytips","_buildTree","_currentSequence","innerContent","visibleKeytipProps","_enterKeytipMode","getCurrentSequence","getKeytipTree","currKtp","keytipExitSequences","keytipReturnSequences","_getKtpExecuteTarget","_getKtpTarget","showKeytips","keytipStartSequences","currSequence","currKtpChildren","partialNodes","partialNode","shouldEnterKeytipMode","delayUpdatingKeytipChange","onEnterKeytipMode","uniqueKeytip","persistedKeytips","_delayedQueueTimeout","onExitKeytipMode","overflowKeytipNode","meta","keytipID","onShouldStartSelection","_isMouseEventOnScrollbar","_isInSelectionToggle","_isDragStartInSelection","_scrollableSurface","_selectedIndicies","_preservedIndicies","_onAsyncMouseMove","_scrollableParent","_autoScroll","AutoScroll","_scrollLeft","scrollLeft","_rootRect","dragRect","hitTarget","isDraggingConstrainedToRoot","rootProps","dragMask","box","boxFill","targetScrollbarWidth","_getRootRect","_lastMouseEvent","rootRect","currentPoint","_dragOrigin","constrainedPoint","_evaluateSelection","_itemRectCache","_isPointInRectangle","rectangle","point","allElements","itemRect","previousSelectedIndices","_allSelectedIndices","needToUpdate","rootTagName","MarqueeSelection","_urlResolver","ICON_MAP","info","warning","severeWarning","success","_getRegionProps","hasActions","_getActionsDiv","_getDismissDiv","regionProps","expandSingleLine","showContent","_renderMultiLine","_renderSingleLine","dismissIconProps","dismissal","dismissButtonAriaLabel","_getDismissSingleLine","dismissSingleLine","_getExpandSingleLine","truncated","overflowButtonAriaLabel","_getIconSpan","messageBarIconProps","messageBarType","_renderInnerText","_getAnnouncementPriority","innerText","singleline","dismissalSingleLine","expandingSingleLine","actionsSingleline","MessageBar","SmallScreenSelector","dismissalAndExpandIconStyle","dismissalAndExpandStyle","linkText","compositeLink","chevronButton","chevronIcon","navItem","navItems","groupContent","isRelativeUrl","SuggestionActionType","_onRenderLink","_isGroupExpanded","_renderGroupHeader","_renderLinks","links","expandButtonAriaLabel","collapseAriaLabel","expandAriaLabel","_onGroupHeaderClicked","isGroupCollapsed","isLinkExpandStateChanged","initialSelectedKey","isOnTop","groupElements","_renderNavLink","linkIndex","nestingLevel","isLinkWithIcon","isSelectedLink","_isLinkSelected","ariaCurrent","isButtonEntry","forceAnchor","leftPadding","rel","LinkAs","linkAs","onRenderLink","_onNavButtonLinkClicked","_onNavAnchorLinkClicked","_renderCompositeLink","isLink","finalExpandBtnAriaLabel","_onLinkExpandClicked","_renderLink","linkElements","onHeaderClick","_toggleCollapsed","onLinkExpandClick","_preventBounce","onLinkClick","protocol","pathname","hash","collapseByDefault","newGroupCollapsed","navHeight","leftPaddingExpanded","rightPadding","borderLeft","SuggestionsItemGlobalClassNames","isSuggested","ValidationState","StyledSuggestionsItem","_forceResolveButton","_searchForMoreButton","tryHandleKeyDown","isEventHandled","newSelectedActionType","currentSelectedAction","selectedActionType","suggestionLength","forceResolve","_refocusOnSuggestions","searchMore","_getAlertText","isLoading","isSearching","noResultsFoundText","_getMoreResults","onGetMoreResults","_forceResolve","_shouldShowForceResolve","showForceResolve","refocusSuggestions","activeSelectedElement","forceResolveText","mostRecentlyUsedHeaderText","searchForMoreText","moreSuggestionsAvailable","onRenderNoResultFound","searchingText","isMostRecentlyUsedVisible","resultsFooterFull","resultsFooter","isResultsFooterVisible","suggestionsHeaderText","suggestionsClassName","suggestionsListId","forceResolveButtonSelected","searchForMoreButtonSelected","searchForMoreButton","forceResolveButton","suggestionsAvailable","noSuggestions","spinnerStyles","spinner","spinnerClassNameOrStyles","noResults","headerText","footerTitle","hasNoSuggestions","hasSuggestedAction","hasSuggestedActionSelected","focusAboveSuggestions","focusBelowSuggestions","focusSearchForMoreButton","removeSuggestionAriaLabel","StyledTypedSuggestionsItem","hasSelectedSuggestion","createGenericSuggestion","itemToAdd","actionButtonStyles","actionButtonSelectedStyles","inputFocused","pickerItems","suggestionsType","suggestionElement","SuggestionOfProperType","_styledSuggestions","_requestSuggestionsOnClick","dismissSuggestions","selectItemFunction","addItemByIndex","resetFocus","onEmptyResolveSuggestions","onInputBlur","emptyResolveSuggestions","_completeGenericSuggestion","onSuggestionSelect","onItemChange","changedItem","_updateSelectedItems","completeSelection","addItem","removeItem","focusNextItem","removeItems","itemsToRemove","firstItemToRemove","_isFocusZoneInnerKeystroke","invalid","_ariaMap","selectedSuggestionAlert","suggestionList","SuggestionsController","focusInput","forceComplete","selectedSuggestionAlertId","enableSelectedSuggestionAlert","itemsWrapper","getSuggestionsAlert","renderItems","getActiveDescendant","StyledTypedSuggestions","suggestionsLoading","newEl","itemValue","_getTextFromItem","_updateAndResolveValue","_getShowSuggestions","resolveNewValue","suggestionAlertClassName","selectedSuggestion","selectedSuggestionAlertText","_onSelectedItemsUpdated","getTextFromItem","itemContent","removeButton","isInvalid","itemId","personaStyles","personaCoinStyles","personaCoin","PeoplePickerItem","personaPrimaryTextStyles","personaCoinInitialsStyles","personaWrapper","PeoplePickerItemSuggestion","textSelectorsStyles","currentValidationState","NormalPeoplePicker","CompactPeoplePicker","ListPeoplePicker","close","enableTagFocusInDisabledPicker","TagItem","suggestionTextOverflow","PivotLinkFormat","PivotLinkSize","TagItemSuggestion","TagPicker","_renderPivotLink","linkCollection","linkContent","headerButtonProps","tabId","keyToTabIdMapping","onRenderItemLink","_renderLinkContent","contentString","itemIcon","linkIsSelected","_onLinkClick","onKeyPress","_pivotId","_getPivotLinks","defaultSelectedIndex","_getSelectedKey","_renderPivotLinks","_renderPivotItem","_isKeyValid","propsSelectedKey","stateSelectedKey","headersOnly","keyToIndexMapping","selectedTabId","toArray","_isPivotItem","pivotItem","pivotItemProps","_getTabId","getTabId","_updateSelectedItem","rootIsLarge","linkSize","rootIsTabs","linkFormat","tabs","RatingSize","Pivot","_onRenderProgress","ariaValueText","barHeight","percentComplete","indeterminate","progressBarStyles","ariaValueMin","ariaValueMax","ariaValueNow","itemProgress","progressTrack","progressBar","progressHidden","onRenderProgress","itemName","itemDescription","IndeterminateProgress","IndeterminateProgressRTL","ProgressIndicator","progressTrackColor","marginBetweenText","textHeight","animation","rootIsSmall","ratingStar","ratingStarBack","ratingStarFront","ratingButton","ratingStarIsSmall","ratingStartIsLarge","labelText","ratingFocusZone","_getColorWithHighContrast","highContrastColor","fillPercentage","_min","allowZeroStars","rating","_getInitialValue","unselectedIcon","stars","starIds","_getRating","_getFillingPercentage","ratingStarProps","_getStarId","ratingStarIsLarge","Large","_getLabel","readOnlyProps","defaultActiveElement","ariaLabelFormat","_getClampedRating","starPosition","ceilValue","Rating","ratingStarUncheckedColor","ratingStarUncheckedHoverColor","ratingStarUncheckedHoverSelectedColor","ratingStarCheckedColor","ratingStarDisabledColor","ratingSmallIconSize","ratingLargeIconSize","ratingVerticalPadding","contentContainer","ScrollbarVisibility","ScrollablePaneContext","scrollablePane","_stickyAboveRef","_stickyBelowRef","_contentContainer","_subscribers","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","_notifyThrottled","initialScrollPosition","setStickiesDistanceFromTop","_mutationObserver","MutationObserver","mutation","mutationRecord","childList","attributes","subtree","characterData","scrollbarVisibility","stickyBelowItems","forceLayoutUpdate","resetSticky","AboveAndBelowStyles","positioningStyle","_onClickFocus","_onFocusCapture","hasFocus","_onClearClick","clearButtonProps","_onClear","onEscape","onSearch","_latestValue","_callOnChange","disableAnimation","placeholderValue","hasInput","clearButton","onClear","SearchBox","inputIconAlt","inputIconAltHovered","inputBorderDisabled","inputBackgroundHovered","inputBackgroundDisabled","processedItems","processedItemObjects","processedItemPromiseLikes","resolvedProcessedItems","updateItems","_canRemoveItem","replaceItem","itemToReplace","itemsToReplaceWith","itemsCanRemove","onCopyItems","copyItems","onCopyItem","itemToCopy","copyText","copyInput","execCommand","canRemoveItem","ShimmerElementType","ShimmerElementsDefaultHeights","personaContainerIsSelected","validationError","expandButton","contextualMenuVisible","onExpandItem","canExpand","_onClickIconButton","renderPersonaCoin","renderPrimaryText","itemElement","beginEditing","_onCloseContextualMenu","renderedItem","menuItems","shouldFocusOnMount","_editingFloatingPicker","_renderEditingSuggestions","_editingInput","_resolveInputRef","_onInputClick","_onInputBlur","onEditingComplete","getEditingItemText","_renderItem","_beginEditing","isEditing","_completeEditing","oldItem","expandGroup","onExpandGroup","_createMenuItems","hasContextMenu","editMenuItemText","menuItem","removeMenuItemText","copyMenuItemText","Separator","alignStart","alignCenter","alignEnd","shimmerWrapper","shimmerGradient","dataWrapper","shimmerAnimation","shimmerAnimationRTL","topLeftCorner","topRightCorner","bottomRightCorner","bottomLeftCorner","ShimmerLine","globalClassNames","borderStyles","sharedCornerStyles","borderTopStyle","borderBottomStyle","ShimmerGap","svg","viewBox","ShimmerCircle","shimmerElements","line","gap","next","getElementStyles","filteredElem","getRenderedElements","elementType","elementHeight","dif","borderBottomWidth","borderTopWidth","KeyboardSpinDirection","ShimmerElementsGroup","contentLoaded","isDataLoaded","_lastTimeoutId","customElementsGroup","shimmerColors","transitionAnimationInterval","shimmerColor","shimmer","shimmerWaveColor","shimmerWave","Shimmer","_onRenderShimmerPlaceholder","onRenderCustomPlaceholder","placeholderElements","_renderDefaultShimmerPlaceholder","gapHeight","shimmerElementsRow","columnIdx","groupWidth","_shimmerItems","shimmerLines","detailsListStyles","enableShimmer","removeFadingOverlay","ariaLabelForShimmer","listClassName","newListProps","ShimmeredDetailsList","ONKEYDOWN_TIMEOUT_DURATION","_sliderLine","_thumb","_onKeyDownTimer","_getAriaValueText","_onMouseDownOrTouchStart","_onMouseMoveOrTouchMove","_onMouseUpOrTouchEnd","suppressEventCancelation","currentSteps","renderedValue","step","steps","sliderPositionRect","stepLength","_getPosition","diff","_clearOnKeyDownTimer","_setOnKeyDownTimer","showValue","valueFormat","originFromZero","thumbOffsetPercent","zeroOffsetPercent","lengthString","onMouseDownProp","onTouchStartProp","onKeyDownProp","showTransitions","divButtonProps","titleLabel","slideBox","zeroTick","_getStyleUsingOffsetPercent","lineContainer","inactiveSection","activeSection","valueLabel","currentPosition","touches","snapToStep","numDec","isFinite","roundedValue","parseFloat","valueChanged","enabled","Slider","titleLabelClassName","pressedActiveSectionColor","hoveredActiveSectionColor","hoveredPressedinactiveSectionColor","restActiveSectionColor","restInactiveSectionColor","disabledActiveSectionColor","disabledInactiveSectionColor","thumbBackgroundColor","thumbBorderColor","thumbDisabledBorderColor","slideBoxActiveSectionStyles","slideBoxInactiveSectionStyles","slideHoverSectionStyles","slideBoxActiveThumbStyles","slideBoxActiveZeroTickStyles","_getDisabledStyles","SpinButtonTextColorDisabled","SpinButtonBackgroundColorDisabled","getArrowButtonStyles","isUpArrow","customSpecificArrowStyles","ArrowButtonTextColor","ArrowButtonTextColorHovered","ArrowButtonTextColorPressed","ArrowButtonBackgroundHovered","ArrowButtonBackgroundPressed","defaultArrowButtonStyles","SpinButtonRootBorderColor","SpinButtonRootBackgroundColor","SpinButtonRootBorderColorHovered","SpinButtonRootBorderColorFocused","SpinButtonInputTextColor","SpinButtonInputTextColorSelected","SpinButtonInputBackgroundColorSelected","SpinButtonIconDisabledColor","defaultStyles","labelWrapperStart","labelWrapperEnd","labelWrapperTop","labelWrapperBottom","spinButtonWrapper","spinButtonWrapperTopBottom","spinButtonWrapperHovered","spinButtonWrapperFocused","spinButtonWrapperDisabled","DEFAULT_MIN_WIDTH","inputTextSelected","arrowButtonsContainer","arrowButtonsContainerDisabled","keyboardSpinDirection","_getStyleForLabelBasedOnPosition","_getStyleForRootBasedOnPosition","arrowBox","_input","_initialStepDelay","_stepDelay","_spinningByMouse","notSpinning","_stop","_onValidate","onValidate","_defaultOnValidate","_calculatePrecision","precision","_lastValidValue","_onIncrement","onIncrement","_defaultOnIncrement","_precision","_onDecrement","onDecrement","_defaultOnDecrement","_valueToValidate","shouldSpin","stepDelay","stepFunction","_currentStepFunctionHandle","_handleKeyDown","spinDirection","_handleKeyUp","_onIncrementMouseDown","_onDecrementMouseDown","_inputId","incrementButtonIcon","incrementButtonAriaLabel","decrementButtonIcon","decrementButtonAriaLabel","upArrowButtonStyles","downArrowButtonStyles","ariaPositionInSet","customUpArrowButtonStyles","customDownArrowButtonStyles","SpinButton","withSlots","slotType","isSlot","numChildren","createFactory","DefaultComponent","defaultProp","componentProps","userProps","userSlotOptions","allProps","_constructFinalProps","slotProps","transformedProps","_translateShorthand","UserComponent","defaultFactory","getSlots","slots","mixedProps","slot","_renderSlot","_defaultStyles","ComponentType","slotOptions","createComponent","view","factoryOptions","ResultComponent","CustomizerContext","stateReducer","tokens","_resolveTokens","allTokens","currentTokens","allStyles","_resolveStyles","viewProps","statics","alignMap","StackItem","grow","shrink","disableShrink","align","verticalFill","order","_getThemedSpacing","_getValueUnitGap","numericalPart","numericalValue","numericalString","unit","parsePadding","paddingValues","padding1","padding2","nameMap","StickyPositionType","Stack","stackChildren","defaultItemProps","Slots","reversed","horizontalAlign","childrenGap","rowGap","columnGap","splitGap","calculatedGap","horizontalMargin","verticalMargin","childStyles","commonSelectors","Item","_stickyContentTop","_stickyContentBottom","_nonStickyContent","_placeHolder","isScrollSynced","_getContext","_onScrollEvent","footerStickyContainer","_getNonStickyDistanceFromTop","_getStickyDistanceFromTop","_getStickyDistanceFromTopForFooter","_activeElement","distance","offsetTop","footerStickyVisibleContainer","currElem","stickyPosition","Both","Footer","_isOffsetHeightDifferent","stickyClassName","_getStickyPlaceholderHeight","_getNonStickyPlaceholderHeightAndWidth","_getContentStyles","isSticky","stickyBackgroundColor","_getBackground","curr","getPropertyValue","contextType","getColorPickerGridCellButtonClassNames","_onRenderColorOption","colorOption","cx","cy","idPrefix","onWheel","isWhite","_isWhiteCell","colorCell","cellHighContrastFocus","ColorPickerGridCell","buttonBorderHovered","buttonBorderChecked","buttonBorderCheckedHovered","buttonBorderIsWhite","calculatedBorderWidth","navigationIdleDelay","_getItemsWithIndex","_onSwatchColorPickerBlur","onCellFocused","_cellFocused","getColorGridCellStyles","_onCellClick","_onGridCellHovered","_onGridCellFocused","cellShape","_onWheel","cellHeight","cellWidth","cellBorderWidth","focusOnHover","isNavigationIdle","parentSelector","mouseLeaveParentSelector","elements","setActive","setNavigationTimeout","navigationIdleTimeoutId","async","onCellHovered","onColorChanged","isControlled","selectedId","_getSelectedIndex","colorCells","cellMargin","SwatchColorPicker","borderCollapse","imageContent","headerContent","bodyContent","footerContent","illustrationImage","primaryButtonProps","secondaryButtonProps","headline","hasCondensedHeadline","hasCloseButton","hasSmallHeadline","isWide","focusTrapZoneProps","hasHeadline","primaryButtonClassName","secondaryButtonClassName","HeaderWrapperAs","BodyContentWrapperAs","customFooterContent","secondaryButton","primaryButton","imageProps","headerIsCondensed","headerIsSmall","headerIsLarge","buttonLabel","opacityFadeIn","rootStyle","headerStyle","hasLargeHeadline","TeachingBubbleContent","_defaultCalloutProps","setCalloutProps","stylesProps","calloutStyles","hideOverflow","TeachingBubble","block","variant","nowrap","TextStyles","variantObject","mozOsxFontSmoothing","webkitFontSmoothing","Text","DEFAULT_MASK_FORMAT_CHARS","parseMask","mask","formatChars","maskCharData","escapedChars","maskChar","maskFormat","displayIndex","getMaskDisplay","maskDisplay","lastDisplayIndex","charData","nextChar","getRightFormatIndex","clearRange","selectionCount","insertString","newString","stringIndex","nextIndex","isStringInserted","BaseSlots","FabricSlots","SemanticColorSlots","DEFAULT_MASK_CHAR","_isFocused","_maskCharData","maskCursorPosition","_moveCursorOnMouseUp","_changeSelectionData","changeType","cursorPos","charsSelected","charCount","startPos","pastedString","isDel","clearNext","clearPrev","getLeftFormatIndex","enteredString","selectCount","_onPaste","setValue","valueIndex","charDataIndex","testVal","setSlot","rule","isCustomization","overwriteCustomColor","colorAsIColor","ThemeGenerator","_setSlot","insureSlots","slotRules","ruleName","inherits","getThemeAsJson","getThemeAsCode","_makeRemainingCode","getThemeAsCodeWithCreateTheme","getThemeAsSass","output","camelCasedName","getThemeForPowerShell","outputColor","isCustomized","asShade","isBackgroundShade","dependentRules","ruleToUpdate","themeRulesStandardCreator","_makeFabricSlotRule","slotName","inheritedBase","inheritedShade","thisSlotRule","baseSlot","shadeName","shadeValue","primaryColor","foregroundColor","Shade1","Shade2","Shade3","Shade4","Shade5","Shade6","Shade7","_toggleButton","checkedProp","onAriaLabel","offAriaLabel","defaultChecked","offText","onText","inlineLabel","stateText","badAriaLabel","toggleNativeProps","onOffMissing","stateTextId","labelledById","ariaRole","pill","_noop","Toggle","pillUncheckedBackground","pillCheckedBackground","pillCheckedHoveredBackground","thumbUncheckedHoveredBackground","pillCheckedDisabledBackground","thumbBackground","thumbCheckedBackground","thumbDisabledBackground","thumbCheckedDisabledBackground","pillBorderColor","pillBorderHoveredColor","pillBorderDisabledColor","DEFAULT_PILL_HEIGHT","noOutline","iconStyle","buttonHighContrastFocus","_stylesheet","InjectionMode","insertNode","REUSE_STYLE_NODE","navigator","userAgent","_global","config","_rules","_preservedRules","_rulesToInsert","_counter","_keyToClassName","_onResetCallbacks","_classNameToArgs","_config","injectionMode","defaultPrefix","namespace","cspSettings","classNameCache","_lastStyleElement","fabricConfig","setConfig","classNameFromKey","getClassNameCache","argsFromClassName","entry","insertedRulesFromClassName","preserve","_getStyleElement","sheet","cssRules","createTextNode","onInsertRule","getRules","includePreservedRules","resetKeys","_styleElement","_createStyleElement","head","styleElement","nonce","placeholderStyleTag","_findPlaceholderStyleTag","isContained","nextParent","_isRTL","getRTL","savedRTL","sessionStorage","getItem","setRTL","persistSetting","setItem","getRTLSafeKeyCode","getDecoratedComponent","instanceRef","currentRef","decoratedRef","isRefable","C","_item$$$typeof","$$typeof","isRefForwardingComponent","checkDecoratorArguments","functionName","signature","NO_CUSTOMIZATIONS","inCustomizerContext","_allSettings","_raiseChange","applyScopedSettings","scopeName","properties","localSettings","localScopedSettings","globalScopedSettings","property","applyBatchedUpdates","suppressUpdate","_suppressUpdates","unobserve","primaryDisabled","splitButtonMenuButton","splitButtonMenuButtonExpanded","splitButtonMenuButtonDisabled","splitButtonMenuButtonChecked","splitButtonContainer","splitButtonContainerChecked","splitButtonContainerCheckedHovered","splitButtonContainerHovered","splitButtonContainerFocused","splitButtonContainerDisabled","splitButtonMenuIcon","splitButtonMenuIconDisabled","splitButtonFlexContainer","splitButtonDivider","splitButtonDividerDisabled","_buttonElement","_splitButtonContainer","_renderedVisibleMenu","_getMemoizedMenuButtonKeytipProps","ImageIcon","_onRenderTextContents","onRenderText","_hasText","_onRenderChildren","_onRenderAriaDescription","_onRenderMenuIcon","_onRenderMenu","menuHidden","MenuType","menuAs","ContextualMenu","labelElementId","shouldFocusOnContainer","_menuShouldFocusOnContainer","_menuShouldFocusOnMount","_isSplitButton","_onDismissMenu","_dismissMenu","_openMenu","_onToggleMenu","_onSplitContainerFocusCapture","_onSplitButtonPrimaryClick","_onMenuClick","_onMenuKeyDown","_onKeyUp","_onSplitButtonContainerKeyDown","click","isUp","isDown","_isValidMenuOpenKey","onMenuClick","detail","warnConditionallyRequiredProps","toggled","ariaHidden","toggle","isPrimaryButtonDisabled","renderAsAnchor","tag","resolvedAriaLabel","dataIsFocusable","isCheckboxTypeRole","checkedOrPressedValue","_onRenderSplitButtonContent","onPointerUp","openMenu","onRenderChildren","onRenderMenu","Button","_shouldRenderMenu","Content","renderPersistedMenuHiddenOnMount","getSplitButtonClassNames","primaryActionButtonProps","onPointerDown","containerProps","SplitButton","_onRenderSplitButtonMenuButton","_onRenderSplitButtonDivider","splitButtonMenuProps","splitButtonAriaLabel","splitButtonProps","menuTriggerKeyCode","baseClassName","packagesCache","_win","setVersion","packageName","packageVersion","packages","__packages__","IsFocusVisibleClassName","_CSSTransition","_interopRequireDefault","_ReplaceTransition","_TransitionGroup","_Transition","__esModule","Transition","TransitionGroup","ReplaceTransition","CSSTransition","ContextualMenuItem","randomString","random","ActionTypes","INIT","REPLACE","PROBE_UNKNOWN_ACTION","createStore","reducer","preloadedState","enhancer","_ref2","currentReducer","currentListeners","nextListeners","isDispatching","ensureCanMutateNextListeners","getState","listener","isSubscribed","dispatch","listeners","replaceReducer","nextReducer","observable","_ref","outerSubscribe","observer","TypeError","observeState","$$observable","INIT_COORDS","BEGIN_DRAG","PUBLISH_DRAG_SOURCE","HOVER","DROP","END_DRAG","strictEquality","areCoordsEqual","offsetA","offsetB","areArraysEqual","isEqual","ownKeys","object","enumerableOnly","symbols","sym","_objectSpread","_defineProperty","getOwnPropertyDescriptors","defineProperties","initialState","initialSourceClientOffset","initialClientOffset","clientOffset","payload","sourceClientOffset","ADD_SOURCE","ADD_TARGET","REMOVE_SOURCE","REMOVE_TARGET","without","isObject","xor","itemsA","itemsB","Map","insertItem","sourceId","targetIds","dropResult","didDrop","isSourcePublic","targetId","NONE","ALL","areDirty","dirtyIds","handlerIds","_action$payload","_action$payload$targe","_action$payload$prevT","prevTargetIds","didChange","prevInnermostTargetId","innermostTargetId","dirtyHandlerIds","dragOffset","refCount","dragOperation","stateId","__IS_NONE__","__IS_ALL__","setClientOffset","ResetCoordinatesAction","createBeginDrag","manager","sourceIds","publishSource","_options$publishSourc","getSourceClientOffset","monitor","getMonitor","registry","getRegistry","verifyInvariants","getDraggableSource","verifyGetSourceClientOffsetIsFunction","getSource","beginDrag","verifyItemIsObject","pinSource","getSourceType","isDragging","canDragSource","createPublishDragSource","matchesType","targetType","draggedItemType","createHover","targetIdsArg","verifyTargetIdsIsArray","checkInvariants","getItemType","removeNonMatchingTargetIds","hoverAllTargets","lastIndexOf","getTarget","getTargetType","createDrop","getDroppableTargets","determineDropResult","drop","verifyDropResultType","getDropResult","getTargetIds","canDropOnTarget","reverse","createEndDrag","verifyIsDragging","getSourceId","endDrag","unpinSource","_defineProperties","HandlerRole","DragDropMonitorImpl","store","instance","Constructor","_classCallCheck","protoProps","staticProps","_this","prevStateId","handleChange","currentStateId","_this2","previousState","shallow","_getSourceClientOffset","_getDifferenceFromInitialOffset","nextUniqueId","validateType","allowArray","freeTasks","pendingErrors","requestErrorThrow","rawAsap","makeRequestCallFromTimer","asap","task","rawTask","RawTask","onerror","_slicedToArray","arr","_arrayWithHoles","_arr","_n","_d","_e","_s","_i","done","_iterableToArrayLimit","minLen","_arrayLikeToArray","_unsupportedIterableToArray","_nonIterableRest","len","arr2","getNextHandlerId","SOURCE","TARGET","parseRoleFromHandlerId","handlerId","mapContainsValue","searchValue","entries","isDone","_entries$next","HandlerRegistryImpl","types","dragSources","dropTargets","pinnedSourceId","pinnedSource","validateSourceContract","addHandler","_addSource","validateTargetContract","_addTarget","includePinned","isSourceId","isPinned","isTargetId","_removeSource","_removeTarget","makeStoreInstance","debugMode","reduxDevTools","__REDUX_DEVTOOLS_EXTENSION__","instanceId","DragDropManagerImpl","isSetUp","handleRefCountChange","shouldSetUp","backend","setup","teardown","publishDragSource","createDragDropActions","boundActions","actionCreator","_len","_key","createDragDropManager","backendFactory","globalContext","backendOptions","receiveBackend","DndContext","React","dragDropManager","createDndContext","MS_ICON","isPlaceholder","isImage","imageContainer","_scrollbarWidth","_bodyScrollDisabledCount","DisabledScrollClassName","DATA_IS_SCROLLABLE_ATTRIBUTE","allowScrollOnElement","_previousClientY","_element","targetTouches","passive","scrollableParent","findScrollableParent","allowOverscrollOnElement","_disableIosBodyScroll","disableBodyScroll","capture","enableBodyScroll","getScrollbarWidth","scrollDiv","setProperty","startingElement","computedStyles","Function","shallowCompare","filteredAssign","isAllowed","sourceObject","mapEnumByName","theEnum","omit","exclusions","_vendorSettings","kebabRules","rulePairs","autoPrefixNames","prefixRules","vendorSettings","nav","isWebkit","isMoz","isOpera","isMs","getVendorSettings","NON_PIXEL_NUMBER_PROPS","provideUnits","LEFT","RIGHT","NAME_REPLACEMENTS","VALUE_REPLACEMENTS","rtlifyRules","flipQuad","partIndex","numberVal","negateNum","getDisplayName","globalSelectorRegExp","expandSelector","newSelector","currentSelector","extractSelector","selector","__order","extractRules","selectorWithGlobals","replacementInfo","findGlobal","exec","matchIndex","matchEndIndex","replacement","expandCommaSeparatedGlobals","separatedSelector","currentRules","expandedRules","propValue","expandQuads","getKeyForRules","serialized","hasProps","rulesForSelector","repeatString","serializeRuleEntries","ruleEntries","allEntries","styleToRegistration","registration","rulesToInsert","applyRegistration","specificityMultiplier","processedRule","styleToClassName","_memoizedClassNames","styleCalcCount","getClassNamesCount","currentMemoizedClassNames","styleFunctionOrObject","styleProps","useStaticStyles","__noStyleOverride__","disableCaching","_traverseMap","enableClassNameCacheFullWarning","trace","_traverseEdge","_normalizeValue","inputs","__cachedInputs__","globalCssModule","setScrollbarWidth","isBodyOverflowing","getOriginalBodyPadding","conditionallyUpdateScrollbar","fixedContent","bodyPadding","setGlobalCssModule","cssModule","mapToCssModules","omitKeys","pick","pickKeys","warned","warnOnce","deprecated","propType","explanation","Element","DOMElement","targetPropType","PropTypes","oneOfType","string","shape","any","tagPropType","symbol","arrayOf","TransitionTimeouts","Fade","Collapse","Modal","Carousel","TransitionPropTypeKeys","TransitionStatuses","ENTERING","ENTERED","EXITING","EXITED","keyCodes","esc","PopperPlacements","canUseDOM","isReactRefObj","getTag","toNumber","other","valueOf","isBinary","findDOMElements","isArrayOrNodeList","els","defaultToggleEvents","addMultipleEventListeners","_els","focusableElements","propTypes","fluid","bool","Container","containerClass","rowColsPropType","number","noGutters","xs","sm","md","lg","xl","widths","Row","colClasses","colWidth","colSize","isXs","stringOrNumberProp","columnProps","getColumnSizeClass","Col","columnProp","colSizeInterfix","colClass","_colClass","full","fixed","Navbar","getExpandClass","NavbarBrand","NavbarText","NavbarToggler","pills","navbar","card","getVerticalClass","NavItem","_assertThisInitialized","innerRef","NavLink","_React$Component","_proto","_this$props","listTag","ListTag","listClasses","BreadcrumbItem","btnOutlineColor","defaultAriaLabel","ButtonToggle","ManagerReferenceNodeContext","createContext","ManagerReferenceNodeSetterContext","Manager","newReferenceNode","referenceNode","setReferenceNode","DropdownContext","a11y","oneOf","addonType","inNavbar","setActiveFromChild","preventDefaultKeys","Dropdown","addEvents","handleDocumentClick","removeEvents","containerRef","createRef","getContextValue","dropup","handleProps","getContainer","getMenuCtrl","_$menuCtrl","getMenuItems","_this3","_this4","$menuitems","_$menuitems","_$menuitems3","charPressed","fromCharCode","_omit","attrs","subItemIsActive","Children","dropdownItem","dropdown","ButtonDropdown","ButtonGroup","ButtonToolbar","DropdownItem","getTabIndex","unwrapArray","safeInvoke","setRef","initialStyle","initialArrowStyle","InnerPopper","placement","popperNode","updatePopperInstance","arrowNode","eventsEnabled","positionFixed","modifiers","arrow","applyStyle","updateStateModifier","offsets","popper","arrowStyles","hide","popperInstance","destroy","destroyPopperInstance","referenceElement","PopperJS","getOptions","scheduleUpdate","deepEqual","strict","enableEventListeners","disableEventListeners","setPopperNode","getPopperStyle","getPopperPlacement","outOfBoundaries","getOutOfBoundariesState","arrowProps","setArrowNode","getArrowStyle","placements","Popper","Consumer","flip","noFlipModifier","directionPositionMap","DropdownMenu","poperPlacement","poperModifiers","_objectSpread2","popperPositionFixed","InnerReference","refHandler","Reference","DropdownToggle","baseClass","baseClassActive","timeout","appear","exit","in","otherProps","transitionProps","childProps","isActive","Badge","inverse","Card","CardGroup","CardDeck","CardColumns","CardBody","CardLink","CardFooter","CardHeader","CardImg","cardImgClassName","CardImgOverlay","CarouselItem","startAnimation","onEntering","onExit","onExiting","onExited","isAppearing","CustomEvent","isIn","slide","directionClassName","orderClassName","itemClasses","contextTypes","handleKeyPress","hoverStart","hoverEnd","handleTouchStart","handleTouchEnd","touchStartX","touchStartY","activeIndex","indicatorClicked","getChildContext","ride","setInterval","_setInterval","interval","cycleInterval","_clearInterval","pause","mouseEnter","_this$props2","mouseLeave","keyboard","previous","enableTouch","changedTouches","screenX","screenY","currentX","currentY","diffX","carouselItems","cloneElement","_this$props3","outerClasses","innerClasses","every","_carouselItems","_controlLeft","_controlRight","indicators","wrappedIndicators","onClickHandler","controlLeft","controlRight","onTouchEnd","childContextTypes","CarouselControl","directionText","anchorClasses","iconClasses","screenReaderClasses","CarouselIndicators","indicatorClasses","CarouselCaption","captionHeader","captionText","controls","autoPlay","defaultActiveIndex","goToIndex","UncontrolledCarousel","_Component","animating","slides","altText","caption","CardSubtitle","CardText","CardTitle","valid","bsSize","CustomFileInput","files","getSelectedFiles","dataBrowse","customClass","validationClassNames","labelHtmlFor","inline","CustomInput","_rest","wrapperClasses","popperClassName","placementPrefix","arrowClassName","hideArrow","fallbackPlacement","boundariesElement","onClosed","fade","PopperContent","setTargetNode","getTargetNode","getRef","targetNode","getContainerNode","renderChildren","_arrowClassName","_popperClassName","extendedModifiers","behavior","preventOverflow","popperTransition","ReactPopper","ReactDOM","createPortal","PopperTargetHelper","popperManager","innerClassName","autohide","trigger","DEFAULT_DELAYS","isInDOMSubtree","subtreeRoot","isInDOMSubtrees","subtreeRoots","subTreeRoot","TooltipPopoverWrapper","_targets","currentTargetElement","addTargetEvents","removeTargetEvents","showWithDelay","hideWithDelay","onMouseOverTooltipContent","onMouseLeaveTooltipContent","onEscKeyDown","_isMounted","updateTarget","clearShowTimeout","clearHideTimeout","_hideTimeout","_showTimeout","getDelay","_popover","composedPath","triggers","addEventOnTargets","isBubble","removeEventOnTargets","popperClasses","Popover","UncontrolledPopover","defaultOpen","PopoverHeader","PopoverBody","bar","multi","animated","striped","barClassName","barAriaValueText","barAriaLabelledBy","Progress","percent","progressClasses","progressBarClasses","ProgressBar","Portal","defaultNode","FadePropTypes","autoFocus","centered","scrollable","labelledBy","backdrop","onOpened","wrapClassName","modalClassName","backdropClassName","contentClassName","external","backdropTransition","modalTransition","unmountOnClose","returnFocusAfterClose","propsToOmit","mountOnEnter","_originalBodyPadding","getFocusableChildren","handleBackdropClick","handleBackdropMouseDown","handleEscape","handleStaticBackdropAnimation","handleTab","manageFocusAfterClose","clearBackdropAnimationTimeout","showStaticBackdropAnimation","init","setFocus","onEntered","_dialog","getFocusedChild","currentFocus","focusableChildren","_mouseDownElement","totalFocusable","_backdropAnimationTimeout","_triggeringElement","_mountContainer","openCount","modalOpenClassName","modalOpenClassNameRegex","RegExp","renderModalDialog","dialogBaseClass","isModalHidden","modalAttributes","hasTransition","Backdrop","wrapTag","closeAriaLabel","charCode","ModalHeader","WrapTag","ModalBody","ModalFooter","bordered","responsive","responsiveTag","Table","ResponsiveTag","responsiveClassName","flush","ListGroup","getHorizontalClass","Form","submit","tooltip","FormFeedback","validMode","FormGroup","FormText","plaintext","addon","Input","checkInput","isNotaNumber","formControlClass","InputGroup","InputGroupText","InputGroupAddon","InputGroupButtonDropdown","for","heading","middle","Media","defaultTag","media","Pagination","PaginationItem","first","last","PaginationLink","defaultCaret","TabContext","activeTab","TabContent","activeTabId","TabPane","getClasses","Jumbotron","closeClassName","unmountOnExit","Alert","closeClasses","alertTransition","Toast","toastTransition","ToastBody","ToastHeader","tagClassName","iconProp","xmlns","preserveAspectRatio","focusable","_transitionStatusToCl","transitionStatusToClassHash","getHeight","collapseClass","getTransitionClass","handleDisabledOnClick","ListGroupItem","ListGroupItemHeading","ListGroupItemText","UncontrolledAlert","UncontrolledButtonDropdown","toggler","toggleEvents","UncontrolledCollapse","togglers","removeEventListeners","UncontrolledDropdown","onToggle","UncontrolledTooltip","methods","defaultButtonStyles","_rtl","getStyleOptions","splitButtonDividerBaseStyles","borderTopRightRadius","borderBottomRightRadius","registerTarget","addTarget","removeTarget","registerSource","addSource","removeSource","setWarningCallback","warningCallback","_onMount","_onUpdate","_onUnmount","_setComponentRef","_defaultHostSelector","_layersByHostId","registerLayer","hostId","unregisterLayer","notifyHostChanged","getDefaultTarget","SelectableOptionMenuItemType","_isSSR","setSSR","isVirtualElement","_virtual","matchFunction","DirectionalKeyCodes","isDirectionalKeyCode","addDirectionalKeyCode","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","reactIs","REACT_STATICS","getDefaultProps","getDerivedStateFromError","mixins","KNOWN_STATICS","caller","callee","arity","MEMO_STATICS","TYPE_STATICS","getStatics","isMemo","ForwardRef","Memo","getOwnPropertyNames","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","targetStatics","sourceStatics","DATA_PORTAL_ATTRIBUTE","setPortalAttribute","sequenceMapping","_instance","addParentOverflow","_getUniqueKtp","update","newKeytipProps","oldKeyTip","keytipToRemove","enterKeytipMode","exitKeytipMode","parentKeytip","getDividerClassNames","getSplitButtonVerticalDividerClassNames","linkContentMenu","iconColor","checkmarkIcon","subMenuIcon","splitMenu","getItemClassNames","isAnchorLink","knownIcon","itemClassName","dividerClassName","subMenuClassName","anchorLink","splitPrimary","splitContainer","getItemStyles","DefaultFields","baseStyles","getProps","pure","Wrapped","additionalProps","customizedStyles","concatenatedStyles","standardStyles","primaryStyles","hasSymbols","toStr","origDefineProperty","supportsDescriptors","_","arePropertyDescriptorsSupported","predicates","oldSettings","_isSettingsFunction","_settingsMergeWith","mergeScopedSettings","scopedSettingsFromProps","oldScopedSettings","newScopedSettings","_scopedSettingsMergeWith","IconType","_timeoutIds","_immediateIds","_intervalIds","_animationFrameIds","_onErrorHandler","clearImmediate","setImmediate","immediateId","_logError","intervalId","wait","lastResult","lastArgs","waitMS","trailing","lastExecuteTime","userCall","waitLength","noOpFunction","cancel","pending","lastCallTime","markExecuted","time","invokeFunction","executeImmediately","maxWaitDelta","maxWaitExpired","resultFunction","animationFrameId","animationFrameCallback","hoistStatics","dest","findIndex","find","createArray","toMatrix","removeIndex","replaceElement","newElement","copy","addElementAtIndex","flatten","arraysEqual","array1","array2","concatStyleSets","styleSets","mergedSet","workingSubcomponentStyles","currentSet","currentComponentStyles","subCompProp","mergedValue","mergedSubStyles","CONTEXTUAL_MENU_ITEM_HEIGHT","getItemHighContrastStyles","getMenuItemStyles","ContextualMenuItemBackgroundHoverColor","ContextualMenuItemTextHoverColor","ContextualMenuItemBackgroundSelectedColor","ContextualMenuItemDividerColor","menuItemStyles","textRendering","letterSpacing","wordSpacing","textTransform","textIndent","textShadow","resetIds","counter","concatStyles","_styleCache","_onSettingChanged","mergedStyles","merged","isRef","_size","updateOptions","displayOnlyOptionsCache","_displayOnlyOptionsCache","positionInSet","_host","_dropDown","_scrollIdleDelay","_sizePosCache","_requestAnimationFrame","safeRequestAnimationFrame","changedOpt","multiSelectDelimiter","displayTxt","_onRenderPlaceholder","_placeholder","panelProps","isSmall","panelStyles","Panel","isLightDismiss","_renderFocusableList","_onRenderCaretDown","caretDown","queue","renderedList","emptyQueue","newGroup","placeRenderedOptionIntoQueue","isItemSelected","dropdownItemHidden","dropdownItemSelectedAndDisabled","dropdownItemSelected","dropdownItemDisabled","multiSelectItemStyles","multiSelectItem","Checkbox","_listId","_onItemMouseEnter","_onMouseItemLeave","_onItemMouseMove","_onRenderItemLabel","optionSetSize","_onRenderOption","dropdownOptionText","calloutRenderEdge","setSelectedIndex","_onDropdownBlur","_isDisabled","_onDropdownKeyDown","containsExpandCollapseModifier","_moveIndex","_onDropdownKeyUp","_shouldHandleKeyUp","_onZoneKeyDown","firstChild","_onZoneKeyUp","_onDropdownClick","_shouldOpenOnFocus","_isFocusedByClick","_onDropdownMouseDown","_optionId","defaultSelectedKeys","_getSelectedIndexes","selectedKeyProp","didOptionsChange","onRenderCaretDown","onRenderPlaceholder","onRenderPlaceHolder","ariaActiveDescendant","ariaAttrs","childRole","propStyles","hasError","isRenderingPlaceholder","panelClassName","calloutClassName","caretDownWrapper","notifyOnReselect","newIndexes","_copyArray","placeHolder","newArray","stepValue","stepCounter","dropdownItemsWrapper","dropdownItems","dropdownDivider","dropdownItemHeader","_getAllSelectedIndices","DropdownBase","titleIsPlaceHolder","titleHasError","highContrastAdjustMixin","highContrastItemAndTitleStateMixin","highContrastBorderState","globalClassnames","rootHoverFocusActiveSelectorNeutralDarkMixin","rootHoverFocusActiveSelectorNeutralPrimaryMixin","borderColorError","dropdownItemStyle","selectedItemBackgroundColor","itemSelectors","titleOpenBorderRadius","calloutOpenBorderRadius","DROPDOWN_HEIGHT","contentInner","globalSettings","_getGlobalSettings","callbacks","changeDescription","addChangeListener","__id__","_getCallbacks","removeChangeListener","globalObj","useCustomizationSettings","useForceUpdate","_coverStyle","portrait","_imageElement","_frameElement","_onImageLoaded","_computeCoverStyle","_onImageError","notLoaded","_checkImageLoaded","coverStyle","landscape","centerContain","centerCover","contain","naturalWidth","naturalHeight","complete","ImageBase","_svgRegex","desiredRatio","naturalRatio","onImageLoadingStateChange","imageLoadError","imageErrorAs","iconType","iconContent","ImageType","getIconContent","getFontIcon","appendFunction","functions","getVirtualParent","elementContainsAttribute","attribute","elementMatch","testElement","hasAttribute","deprecationMap","_filteredEventProps","_rootRef","_createLayerElement","_getHost","_removeLayerElement","layerElement","insertFirst","onLayerDidMount","eventBubblingEnabled","_getFilteredEvents","onLayerWillUnmount","isNotHost","defaultHostSelector","LayerBase","_onFilterEvent","eventPhase","Event","BUBBLING_PHASE","getFabricTheme","_removeClassNameFromBody","contextDir","pageDir","componentDir","rootDir","needsTheme","renderedContent","_addClassNameToBody","applyTheme","applyThemeToBody","bodyThemed","mergeCustomizations","parentContext","openSubMenu","getSubmenuTarget","submenuTarget","dismissSubMenu","dismissAll","onCheckmarkClick","isItemChecked","canCheck","renderCheckMarkIcon","hasIcons","renderItemIcon","renderItemName","renderSecondaryText","submenuIconProps","renderSubMenuIcon","requiredProps","conditionalPropName","exclusiveMap","_checkBox","isIndeterminate","defaultIndeterminate","stateUpdate","boxSide","checkmarkIconProps","isUsingCustomLabelRender","checkbox","checkmark","allowTouchBodyScroll","_allowTouchBodyScroll","isDarkThemed","onItemMouseEnter","onItemClickBase","_onItemMouseLeave","onItemMouseLeave","_onItemKeyDown","onItemKeyDown","onItemMouseMove","_getSubMenuId","getSubMenuId","_getSubmenuTarget","_anchor","focusableElementIndex","totalItemCount","hasCheckmarks","contextualMenuItemAs","expandedMenuItemKey","anchorRel","subMenuId","itemHasSubmenu","ChildrenRenderer","_btn","onItemMouseDown","defaultRole","buttonNativeProperties","itemButtonProperties","_executeItemClick","_splitButton","_onItemMouseEnterPrimary","_onItemMouseEnterIcon","_onItemMouseMovePrimary","_onItemMouseMoveIcon","_onIconItemClick","executeItemClick","splitButton","_renderSplitPrimaryButton","_renderSplitDivider","_renderSplitIconButton","itemComponentProps","VerticalDivider","onTap","getContextualMenuItemClassNames","getSubmenuItems","canAnyMenuItemsCheck","sectionProps","submenuItem","_getMenuItemStylesFunction","_mounted","_onRenderMenuList","menuListProps","indexCorrection","_renderMenuItem","indexIncrease","customOnRenderListLength","itemClassNames","subMenuIconClassName","itemStyleProps","headerItem","_renderHeaderMenuItem","_renderListItem","Section","_renderSectionItem","_renderNormalItem","dismissAllMenus","_keyHandler","_shouldHandleKeyDown","_shouldCloseSubMenu","_onMenuFocusCapture","delayUpdateFocusOnHover","_shouldUpdateFocusOnMouseEvent","handled","_isFocusingPreviousElement","submenuCloseKey","isSubMenu","_adjustedFocusZoneProps","checkForNoWrap","hasModifier","_onItemMouseEnterBase","_updateFocusOnMouseEvent","_onItemMouseMoveBase","_enterTimerId","_onItemMouseDown","_onItemClickBase","_cancelSubMenuTimer","expandedByMouseClick","_onItemSubMenuExpand","_onAnchorClick","openKey","_onSubMenuDismiss","dismissedMenuItemKey","_onPointerAndTouchEvent","getMenuClassNames","contextualMenuItems","shouldUpdateWhenHidden","_isHidden","_onMenuClosed","_onMenuOpened","_previousActiveElement","_tryFocusPreviousActiveElement","alignTargetEdge","useTargetWidth","useTargetAsMinWidth","onRenderSubMenu","onRenderMenuList","itemsHaveIcons","_getFocusZoneDirection","contextMenuStyle","submenuProps","_getSubmenuProps","targetAsHtmlElement","targetWidth","handleTabKey","defaultMenuItemRenderer","_onRenderSubMenu","onMenuOpened","sectionItem","menuClassNames","headerContextualMenuItem","topDivider","contextualMenuItem","itemsIndex","bottomDivider","fromSection","_renderAnchorMenuItem","_renderSplitButton","_renderButtonItem","divHtmlProperties","subMenuHoverDelay","timeoutDuration","_findItemByKey","_findItemByKeyFromItems","ContextualMenuBase","ANIMATIONS","BEAK_ORIGIN_POSITION","ARIA_ROLE_ATTRIBUTES","_hostElement","_calloutElement","_hasListeners","_dismissOnClickOrScroll","_dismissOnResize","preventDismissOnResize","_mouseDownOnPopup","_isMouseDownOnPopup","_mouseUpOnPopup","slideDirectionalClassName","calloutElementRect","_removeListeners","_blockResetHeight","_didPositionPropsChange","_bounds","calloutMaxHeight","overflowYHidden","beakVisible","overflowStyle","visibilityStyle","_getBeakPosition","Popup","isEventTargetOutsideCallout","beakPostionStyle","beakPosition","calloutElement","expectsTarget","calloutMainElem","getBeakStyle","CalloutContent","layerProps","touchAction","eventMapping","move","stop","_currentEventType","only","_onDragStop","_onTouchEnd","handleSelector","_matchesSelector","preventDragSelector","_touchId","_getTouchId","_getControlPosition","dragData","_createDragDataFromPosition","onStart","lastPosition","_onDrag","updatedData","_createUpdatedDragData","updatedPosition","onDragChange","baseDragData","onStop","statePosition","touchObj","_getActiveTouch","eventToGetOffset","_findTouchInTouchList","touch","identifier","matchesSelectorFn","matches","webkitMatchesSelector","msMatchesSelector","touchList","DefaultLayerProps","_focusTrapZone","_allowScrollOnModal","elt","_scrollableContent","_onModalContextMenuClose","isModalMenuOpen","_onModalClose","_lastSetX","_lastSetY","isInKeyboardMoveMode","dragOptions","_hasRegisteredKeyUp","onDismissed","ui","handledEvent","_getMoveDelta","_onEnterKeyboardMoveMode","_onExitKeyboardMoveMode","_registerForKeyUp","hasBeenOpened","_onModalCloseTimer","topOffsetFixed","dialogMain","getElementsByClassName","modalRectangle","modalRectangleTop","containerClassName","scrollableContentClassName","elementToFocusOnDismiss","firstFocusableSelector","ignoreExternalFocusing","isBlocking","isDarkOverlay","overlay","titleAriaId","subtitleAriaId","isModeless","layerClassName","isDefaultDragHandle","dragHandleSelector","mergedLayerProps","layer","modalContent","focusPreviouslyFocusedInnerElement","keyboardMoveIconContainer","keyboardMoveIconProps","keyboardMoveIcon","scrollableContent","menu","moveMenuItemText","closeMenuItemText","Overlay","ModalBase","iconButtonStyles","extractStyleParts","objects","_processArgs","argsList","translatedArgs","composedComponentInstance","_hoisted","REACT_LIFECYCLE_EXCLUSIONS","hoistMethods","destination","hoisted","methodName","unhoistMethods","methodNames","mountCounters","setMountCounters","currValue","useFocusRects","FocusRects","inheritFont","mergeAriaAttributeValues","mergedAttribute","ariaAttributes","_makeSafe","_makeAllSafe","BaseComponent","_updateComponentRef","__disposables","disposable","__className","results","__async","__events","_resolveRef","refName","__resolves","_warnDeprecations","_warnMutuallyExclusive","mutuallyExclusiveMap","_warnConditionallyRequiredProps","_skipComponentRefResolution","classMethod","prototypeMethod","nullRender","isCallingCanDrag","isCallingIsDragging","DragSourceMonitorImpl","internalMonitor","isDraggingSource","subscribeToStateChange","isOverTarget","subscribeToOffsetChange","getInitialClientOffset","getInitialSourceClientOffset","getClientOffset","getDifferenceFromInitialOffset","SourceConnector","hooks","wrapConnectorHooks","dragSource","clearDragSource","dragSourceOptions","dragSourceRef","dragSourceNode","reconnectDragSource","dragPreview","clearDragPreview","dragPreviewOptions","dragPreviewRef","dragPreviewNode","reconnectDragPreview","dragSourceOptionsInternal","dragPreviewOptionsInternal","lastConnectedHandlerId","lastConnectedDragSource","lastConnectedDragSourceOptions","lastConnectedDragPreview","lastConnectedDragPreviewOptions","newHandlerId","reconnect","didHandlerIdChange","didConnectedDragSourceChange","didDragSourceOptionsChange","disconnectDragSource","dragSourceUnsubscribe","connectDragSource","didConnectedDragPreviewChange","didDragPreviewOptionsChange","disconnectDragPreview","dragPreviewUnsubscribe","connectDragPreview","isCallingCanDrop","DropTargetMonitorImpl","TargetConnector","clearDropTarget","dropTargetOptions","dropTargetRef","dropTargetNode","dropTargetOptionsInternal","lastConnectedDropTarget","lastConnectedDropTargetOptions","didDropTargetChange","disconnectDropTarget","unsubscribeDropTarget","connectDropTarget","isValidType","cloneWithRef","newRef","previousRef","throwIfCompositeComponentElement","wrappedHooks","hook","endsWith","wrappedHook","elementOrNode","isValidElement","wrapHookToRecognizeElement","_createClass","Disposable","isDisposed","isDisposable","CompositeDisposable","disposables","shouldDispose","currentDisposables","_i2","SerialDisposable","old","_setPrototypeOf","_createSuper","Derived","hasNativeReflectConstruct","construct","sham","Proxy","_isNativeReflectConstruct","Super","_getPrototypeOf","NewTarget","_possibleConstructorReturn","decorateHandler","DecoratedComponent","createHandler","createMonitor","createConnector","registerHandler","containerDisplayName","getType","collect","_options$arePropsEqua","arePropsEqual","Decorated","DragDropContainer","_inherits","_super","getCurrentState","receiveProps","currentType","receiveType","handlerMonitor","handlerConnector","_registerHandler2","receiveHandlerId","setDisposable","receiveDragDropManager","_this2$handlerConnect","getBackend","getIsChecked","hasSubmenu","isItemDisabled","getMenuItemAriaRole","initializeIcons","speak","GlobalNavButton","ChevronDown","ChevronUp","Edit","Add","Cancel","More","Settings","Mail","Filter","Search","Share","BlockedSite","FavoriteStar","FavoriteStarFill","CheckMark","Delete","ChevronLeft","ChevronRight","Calendar","Megaphone","Undo","Flag","Page","Pinned","View","Clear","Download","Upload","Folder","Sort","AlignRight","AlignLeft","AddFriend","Info","SortLines","List","CircleRing","Heart","HeartFill","Tiles","Embed","Glimmer","Ascending","Descending","SortUp","SortDown","SyncToPC","LargeGrid","SkypeCheck","SkypeClock","SkypeMinus","ClearFilter","Flow","StatusCircleCheckmark","MoreVertical","DialogType","actionsRight","_renderChildrenAsActions","DialogFooter","DialogFooterType","titleId","subTextContent","subTextId","titleProps","draggableHeaderClassName","isLargeHeader","largeHeader","isClose","groupings","_groupChildren","topButton","topButtonsProps","uniqueId","contents","footers","DialogContentBase","contentLgHeader","headerLg","DialogContent","DefaultModalProps","DefaultDialogContentProps","_getSubTextId","ariaDescribedById","modalProps","dialogContentProps","_defaultSubTextId","_getTitleTextId","ariaLabelledById","_defaultTitleTextId","dialogDraggableClassName","mergedModalProps","dialogDefaultMinWidth","dialogDefaultMaxWidth","DialogBase","Dialog","allowVirtualChildren","equals","setVirtualParent","virtualChild","virtualParent","oldParent","Fabric","_onCustomizationChange","contextTransform","raiseClick","createNewEvent","_getKtpProps","nativeKeytipProps","_getKtpAttrs","describedByPrepend","ktpId","_firstBumper","_lastBumper","_hasFocus","_onRootFocus","_onRootBlur","_getDocument","_onFirstBumperFocus","_onBumperFocus","_onLastBumperFocus","isFirstBumper","currentBumper","nextFocusable","_isBumper","_previouslyFocusedElementInTrapZone","_forceFocusInTrap","_focusStack","focusedElement","_forceClickInTrap","clickedElement","_bringFocusIntoZone","_updateEventHandlers","_previouslyFocusedElementOutsideTrapZone","prevForceFocusInsideTrap","newForceFocusInsideTrap","prevDisabled","newDisabled","_returnFocusToInitiator","_disposeClickHandler","_disposeFocusHandler","bumperProps","_focusAsync","focusSelector","_firstFocusableChild","commonjsGlobal","globalThis","global","createEventEmitter","changedBits","calculateChangedBits","_Provider$childContex","_Consumer$contextType","contextProp","getUniqueId","emitter","componentWillReceiveProps","_Component2","onUpdate","observedBits","_proto2","isarray","pathToRegexp","compile","tokensToFunction","tokensToRegExp","PATH_REGEXP","res","defaultDelimiter","delimiter","escaped","modifier","asterisk","partial","repeat","optional","pattern","escapeGroup","escapeString","encodeURIComponentPretty","encodeURI","flags","opts","encode","pretty","encodeURIComponent","token","segment","JSON","stringify","attachKeys","re","sensitive","route","endsWithDelimiter","regexpToRegexp","arrayToRegexp","stringToRegexp","_react2","_implementation2","longerTimeoutBrowsers","isBrowser","called","scheduled","functionToCheck","getStyleComputedProperty","getParentNode","getScrollParent","getReferenceNode","reference","isIE11","isIE10","isIE","getOffsetParent","noOffsetParent","nodeName","getRoot","findCommonOffsetParent","element1","element2","range","commonAncestorContainer","isOffsetContainer","element1root","getScroll","side","upperSide","html","scrollingElement","includeScroll","getBordersSize","axis","sideA","sideB","getSize","computedStyle","getWindowSizes","getClientRect","sizes","horizScrollbar","vertScrollbar","getOffsetRectRelativeToArbitraryNode","fixedPosition","runIsIE","isHTML","childrenRect","parentRect","borderLeftWidth","getViewportOffsetRectRelativeToArtbitraryNode","excludeScroll","relativeOffset","getFixedPositionOffsetParent","getBoundaries","boundaries","boundariesNode","isPaddingNumber","getArea","computeAutoPlacement","rects","refRect","sortedAreas","filteredAreas","computedPlacement","variation","getReferenceOffsets","commonOffsetParent","getOuterSizes","getOppositePlacement","matched","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","secondaryMeasurement","runModifiers","ends","cur","isModifierEnabled","modifierName","getSupportedPropertyName","prefixes","upperProp","toCheck","setupEventListeners","attachToScrollParents","scrollParents","isBody","isNumeric","setStyles","isFirefox","isModifierRequired","requesting","requested","validPlacements","clockwise","BEHAVIORS","parseOffset","useHeight","basePlacement","fragments","frag","splitRegex","ops","mergeWithPrevious","op","toValue","index2","shiftvariation","isVertical","shiftOffsets","transformProp","popperStyles","opSide","arrowElement","sideCapitalized","altSide","arrowElementSize","popperMarginSide","popperBorderSide","sideValue","placementOpposite","flipOrder","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariationByRef","flippedVariationByContent","flippedVariation","getOppositeVariation","subtractLength","bound","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","shouldRound","noRound","referenceWidth","popperWidth","isVariation","horizontalToInteger","verticalToInteger","bothOddWidth","getRoundedOffsets","prefixedProperty","invertTop","invertLeft","modifierOptions","Utils","PopperUtils","Defaults","ponyfill","requestFlush","scan","newLength","BrowserMutationObserver","WebKitMutationObserver","timeoutHandle","handleTimer","intervalHandle","makeRequestCallFromMutationObserver","propIsEnumerable","toObject","test1","test2","test3","letter","shouldUseNative","_merge","circularReferences","isCircularReference","UNWANTED_CHARS_REGEX","PHONENUMBER_REGEX","MULTIPLE_WHITESPACES_REGEX","UNSUPPORTED_TEXT_REGEX","getInitials","cleanupDisplayName","splits","getInitialsLatin","isRendered","isMacResult","isMac","isIOS","_containsFocus","needsVerticalScrollBar","_originalFocusedElement","_updateScrollBarAsync","_getScrollBar","rootHeight","firstChildHeight","focusZoneStyles","_allInstances","_outerZones","ALLOWED_INPUT_TYPES","_portalContainsElement","newActiveElement","doNotAllowFocusEventToPropagate","stopFocusPropagation","onFocusNotification","shouldFocusInnerElementWhenReceivedFocus","defaultTabbableElement","isImmediateDescendant","_isImmediateDescendantOfZone","maybeElementToFocus","initialElementFocused","_setFocusAlignment","_updateTabIndexes","_setParkedFocus","_setActiveElement","pagingSupportDisabled","shouldEnterInnerZone","isDefaultPrevented","_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","zone","_windowElement","nodeType","_lastIndexPath","preventFocusRestoration","_defaultFocusElement","_evaluateFocusBeforeRender","ownerZoneElement","_getOwnerZone","ownerZone","focusLast","onBeforeFocus","shouldReceiveFocus","setFocusAlignment","isParked","_isParked","_parkedTabIndex","removeAttribute","forceAlignment","previousActiveElement","preventDefaultWhenHandled","shouldRaiseClicks","_moveFocus","getDistanceFromCenter","useDefaultWrap","candidateDistance","candidateElement","changedFocus","isBidirectional","elementDistance","targetTop","shouldWrap","targetBottom","pagesize","isHorizontal","isReadonly","shouldInputLoseFocusOnArrowKey","hasHorizontalOverflow","hasVerticalOverflow","hasOverflow","FORMAT_ARGS_REGEX","FORMAT_REGEX","replaceFunc","memoizer","outer","innerMemoizer","innerProps","outerProps","resetControlledWarnings","getAllSelectedOptions","componentAsMemoizer","Outer","Inner","_incrementScroll","_scrollRect","_onTouchMove","_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","base","exp","isArgs","origKeys","keysShim","originalKeys","shim","GetIntrinsic","$apply","$call","$reflectApply","implementation","origSymbol","hasSymbolSham","numberIsNaN","is","$Object","$TypeError","ignoreCase","dotAll","unicode","$gOPD","UNMOUNTED","newObj","_interopRequireWildcard","_react","_reactDom","_reactLifecyclesCompat","initialStatus","parentGroup","transitionGroup","isMounting","appearStatus","nextCallback","updateStatus","nextStatus","cancelNextCallback","getTimeouts","mounting","findDOMNode","performEnter","performExit","appearing","timeouts","enterTimeout","safeSetState","onTransitionEnd","setNextCallback","doesNotHaveTimeoutOrListener","addEndListener","_default","polyfill","componentWillMount","componentWillUpdate","__reactInternalSnapshotFlag","__reactInternalSnapshot","isReactComponent","foundWillMountName","foundWillReceivePropsName","foundWillUpdateName","newApiName","maybeSnapshot","__suppressDeprecationWarning","classNamesShape","timeoutsShape","_propTypes","_ChildMapping","handleExited","firstRender","appeared","mounted","prevChildMapping","getInitialChildMapping","getNextChildMapping","currentChildMapping","getChildMapping","childFactory","bubbles","cancelable","initCustomEvent","O","_objectWithoutProperties","sourceSymbolKeys","DndProvider","memo","_getDndContextValue2","getGlobalContext","ctx","instanceSymbol","createSingletonDndContext","isGlobalInstance","getDndContextValue","DragLayer","DragLayerContainer","isCurrentlyMounted","unsubscribeFromOffsetChange","unsubscribeFromStateChange","stringifiable","isProduction","getAllKeys","Context","commands","defaultCommands","extend","isEquals","directive","$spec","spec","nextObject","objectWasNextObject","nextValueForKey","nextObjectValue","$push","invariantPushAndUnshift","$unshift","$splice","originalObject","invariantSplice","invariantSplices","$set","_nextObject","invariantSet","$toggle","targets","invariantSpecArray","nextObjectCopy","$unset","_spec","$add","invariantMapOrSet","_a","$remove","$merge","specValue","original","defaultContext","typeOfTarget","useIsomorphicLayoutEffect","useLayoutEffect","useEffect","useCollector","_useState2","useState","collected","setCollected","updateCollected","useCallback","nextValue","useMonitorOutput","onCollect","_useCollector2","getHandlerId","useDragDropManager","useContext","useDrag","specRef","useRef","_useDragSourceMonitor2","useMemo","useDragSourceMonitor","connector","_spec$current","begin","beginResult","globalMonitor","_registerSource2","useDragHandler","previewOptions","useDrop","accept","_useDropTargetMonitor2","useDropTargetMonitor","_registerTarget2","useDropHandler","useDragLayer","isAbsolute","spliceOne","resolvePathname","hasTrailingSlash","toParts","fromParts","isToAbs","isFromAbs","mustEndAbs","part","valueEqual","aValue","bValue","addLeadingSlash","stripLeadingSlash","stripBasename","hasBasename","stripTrailingSlash","createPath","search","createLocation","currentLocation","hashIndex","searchIndex","parsePath","decodeURI","URIError","createTransitionManager","prompt","setPrompt","nextPrompt","confirmTransitionTo","getUserConfirmation","appendListener","notifyListeners","getConfirmation","confirm","getHistoryState","history","createBrowserHistory","globalHistory","canUseHistory","ua","supportsHistory","needsHashChangeListener","_props","_props$forceRefresh","forceRefresh","_props$getUserConfirm","_props$keyLength","keyLength","basename","getDOMLocation","historyState","_window$location","createKey","transitionManager","handlePopState","isExtraneousPopstateEvent","handlePop","handleHashChange","forceNextPop","ok","fromLocation","toLocation","toIndex","allKeys","go","revertPop","initialLocation","createHref","listenerCount","checkDOMListeners","pushState","prevIndex","nextKeys","replaceState","goBack","goForward","unblock","listen","unlisten","HashPathCoders","hashbang","encodePath","decodePath","noslash","slash","stripHash","getHashPath","replaceHashPath","createHashHistory","_props$hashType","hashType","_HashPathCoders$hashT","ignorePath","encodedPath","prevLocation","allPaths","baseTag","pushHashPath","nextPaths","lowerBound","upperBound","createMemoryHistory","_props$initialEntries","initialEntries","_props$initialIndex","initialIndex","nextEntries","canGo","historyContext","createNamedContext","Router","computeRootMatch","isExact","_pendingLocation","RouterContext","staticContext","HistoryContext","MemoryRouter","createHistory","Lifecycle","onMount","onUnmount","Prompt","when","method","cacheCount","generatePath","generator","compilePath","Redirect","computedMatch","matchPath","exact","pathCache","regexp","Route","createURL","staticHandler","StaticRouter","handlePush","handleReplace","handleListen","handleBlock","navigateTo","addBasename","Switch","withRouter","wrappedComponentRef","remainingProps","useHistory","useLocation","useParams","useRouteMatch","BrowserRouter","HashRouter","resolveToLocation","normalizeToLocation","forwardRefShim","forwardRef","LinkAnchor","navigate","ex","isModifiedEvent","activeClassName","activeStyle","classNameProp","isActiveProp","locationProp","styleProp","escapedPath","classnames","joinClassnames","PanelVisibilityState","_panel","_animationCallback","_hasCustomNavigation","onRenderNavigation","onRenderNavigationContent","_allowScrollOnPanel","_onRenderNavigation","navigation","_onRenderNavigationContent","_onRenderHeader","_headerTextId","_onPanelClick","headerTextId","headerTextProps","_onRenderBody","_onRenderFooter","onRenderFooterContent","footerInner","_animateTo","newVisibilityState","open","onOpen","_onTransitionComplete","_clearExistingAnimationTimer","_updateFooterPosition","closed","isFooterSticky","animatingClosed","animatingOpen","_shouldListenForOuterClick","_dismissOnOuterClick","shouldListenOnOuterClick","previousShouldListenOnOuterClick","isFooterAtBottom","isHiddenOnDismiss","overlayProps","customWidth","onLightDismissClick","onRenderBody","isLeft","smallFixedNear","customNear","isOnRightSide","customWidthStyles","custom","isAnimating","focusTrapZoneClassName","hasCustomNavigation","hiddenPanel","onOuterClick","smallFixedFar","smallFluid","largeFixed","panelWidth","panelMargin","smallPanelSelectors","mediumPanelSelectors","largePanelSelectors","largeFixedPanelSelectors","extraLargePanelSelectors","sharedPaddingStyles","isCustomPanel","hyphens","deprecatedGetClassNames","names","DragPreviewImage","connect","connected","onload","checkmarkFontColor","checkmarkFontColorHovered","checkboxBorderColor","checkboxBorderIndeterminateColor","checkboxBorderColorChecked","checkboxBorderColorDisabled","checkboxBorderHoveredColor","checkboxBorderIndeterminateHoveredColor","checkboxBackgroundChecked","checkboxBackgroundCheckedHovered","checkboxBorderColorCheckedHovered","checkboxHoveredTextColor","checkboxBackgroundDisabledChecked","checkboxTextColor","checkboxTextColorDisabled","indeterminateDotStyles","_language","getLanguage","savedLanguage","localStorage","setLanguage","avoidPersisting","LocalContextualMenu","isopen","rootDark","rootNoHost","baseSplitButtonStyles","commandButtonStyles","ALLOWED_SPEC_METHODS","TargetImpl","createTargetFactory","DropTarget","createTarget","REQUIRED_SPEC_METHODS","SourceImpl","createSourceFactory","DragSource","createSource","labelFontWeight","labelColor","labelDisabledColor","labelRequiredStarColor","objectKeys","isArguments","isRegex","isDate","actual","expected","isUndefinedOrNull","aIsRegex","bIsRegex","aIsBuffer","isBuffer","bIsBuffer","kb","objEquiv","symbolObservablePonyfill","MapShim","getIndex","class_1","__entries__","global$1","requestAnimationFrame$1","transitionKeys","mutationObserverSupported","ResizeObserverController","connected_","mutationEventsAdded_","mutationsObserver_","observers_","onTransitionEnd_","refresh","leadingCall","trailingCall","resolvePending","proxy","timeoutCallback","addObserver","connect_","removeObserver","observers","disconnect_","updateObservers_","activeObservers","gatherActive","hasActive","broadcastActive","_b","propertyName","instance_","defineConfigurable","getWindowOf","emptyRect","createRectInit","toFloat","getHTMLElementContentRect","paddings","positions_1","getPaddings","horizPad","vertPad","isDocumentElement","isSVGGraphicsElement","SVGGraphicsElement","SVGElement","getBBox","getContentRect","bbox","getSVGContentRect","ResizeObservation","broadcastWidth","broadcastHeight","contentRect_","broadcastRect","ResizeObserverEntry","rectInit","contentRect","Constr","DOMRectReadOnly","createReadOnlyRect","ResizeObserverSPI","controller","callbackCtx","activeObservations_","observations_","callback_","controller_","callbackCtx_","observations","clearActive","observation","acceptedFiles","acceptedFilesArray","fileName","mimeType","baseMimeType","validType","mergeCss","styleArgs","A","B","D","isMounted","enqueueForceUpdate","enqueueReplaceState","enqueueSetState","E","F","G","H","I","isPureReactComponent","J","K","L","__self","__source","M","_owner","P","Q","R","keyPrefix","S","V","T","U","W","aa","X","N","Y","Z","ba","ReactCurrentDispatcher","ReactCurrentBatchConfig","suspense","ReactCurrentOwner","IsSomeRendererActing","Fragment","Profiler","PureComponent","StrictMode","Suspense","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","_calculateChangedBits","_currentValue","_currentValue2","_threadCount","_context","lazy","_ctor","_status","_result","useDebugValue","useImperativeHandle","useReducer","da","ea","fa","ha","ia","la","ma","na","oa","pa","qa","ra","sa","extractEvents","eventTypes","ta","phasedRegistrationNames","registrationName","va","wa","dependencies","xa","ya","za","Aa","Ba","Ca","stateNode","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ka","La","Ma","Na","Oa","Pa","Qa","acceptsBooleans","attributeNamespace","mustUseProperty","sanitizeURL","Ua","Va","xlinkHref","Wa","Xa","Sa","Ta","Ra","setAttributeNS","Ya","Za","$a","ab","bb","db","eb","fb","gb","hb","ib","jb","lb","mb","nb","pb","qb","_debugOwner","_debugSource","lineNumber","return","rb","sb","xb","_valueTracker","stopTracking","tb","yb","zb","_wrapperState","initialChecked","Ab","initialValue","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","priority","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","nd","menuitem","area","br","embed","keygen","param","track","wbr","od","pd","qd","sd","ud","vd","nextSibling","xd","HTMLIFrameElement","contentWindow","yd","contentEditable","Dd","Ed","Fd","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","returnValue","ee","eventPool","fe","destructor","de","getPooled","isTrusted","ge","ie","je","ke","documentMode","le","me","ne","oe","beforeInput","compositionEnd","compositionStart","compositionUpdate","pe","qe","se","ve","locale","te","char","ue","we","datetime","email","password","tel","xe","ye","change","ze","Ae","Be","Ce","De","Ee","Fe","Ge","He","Ie","Je","Ke","Le","Me","_isInputEventSupported","Ne","Oe","Alt","Control","Meta","Shift","Pe","getModifierState","Qe","Re","Se","Te","Ue","Ve","pageX","pageY","movementX","movementY","We","pressure","tangentialPressure","tiltX","tiltY","twist","isPrimary","Xe","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","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","Ng","Og","Pg","_stringRef","Qg","Rg","lastEffect","nextEffect","firstEffect","Sg","Tg","Ug","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","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","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","wi","xi","yi","zi","Ai","stack","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","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","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","bundleType","rendererPackageName","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","propFullName","secret","getShim","ReactPropTypes","instanceOf","objectOf","checkPropTypes","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Lazy","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf","_propTypes2","_gud2","_temp","_temp2","_len2","_key2","isEnumerable","hasDontEnumBug","hasProtoEnumBug","dontEnums","equalsConstructorPrototype","ctor","excludedKeys","$applicationCache","$console","$external","$frame","$frameElement","$frames","$innerHeight","$innerWidth","$onmozfullscreenchange","$onmozfullscreenerror","$outerHeight","$outerWidth","$pageXOffset","$pageYOffset","$parent","$scrollLeft","$scrollTop","$scrollX","$scrollY","$self","$webkitIndexedDB","$webkitStorageInfo","$window","hasAutomationEqualityBug","isString","theKeys","skipProto","skipConstructor","equalsConstructorPrototypeIfNotBuggy","hasToStringTag","toStringTag","isStandardArguments","isLegacyArguments","supportsStandardArguments","define","callBind","getPolyfill","ERROR_MESSAGE","that","binder","boundLength","boundArgs","Empty","throwTypeError","ThrowTypeError","calleeThrows","gOPDthrows","getProto","asyncGenIterator","TypedArray","Uint8Array","INTRINSICS","ArrayBuffer","asyncIterator","Atomics","DataView","decodeURIComponent","eval","EvalError","Float32Array","Float64Array","Int8Array","Int16Array","Int32Array","Promise","reject","resolve","RangeError","SharedArrayBuffer","SyntaxError","Uint8ClampedArray","Uint16Array","Uint32Array","$replace","rePropName","reEscapeChar","stringToPath","quote","subString","getBaseIntrinsic","allowMissing","symObj","syms","regexExec","isRegexMarker","badStringifier","throwRegexMarker","toPrimitive","gOPD","flagsBound","TypeErr","regex","tryDateObject","_addClass","_removeClass","addClass","removeClass","removeClasses","reflowAndAddClass","appearClassName","doneClassName","enterClassName","isStringClassNames","_this$getClassNames6","_hasClass","baseVal","replaceClassName","origClass","classToRemove","_args","handleEnter","handleLifecycle","handleEntering","_len3","_key3","handleEntered","_len4","_key4","handleExit","_len5","_key5","handleExiting","_len6","_key6","_len7","_key7","originalArgs","_child$props","inProp","_React$Children$toArr","second","mergeChildMappings","getProp","nextChildMapping","hasPrev","hasNext","prevChild","isLeaving","mapFn","mapper","prev","getValueForKey","nextKeysPending","pendingKeys","prevKey","childMapping","nextKey","pendingNextKey","originalModule","webpackPolyfill","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","currentQueue","draining","queueIndex","cleanUpNextTick","drainQueue","run","marker","runClearTimeout","nextTick","browser","env","argv","versions","addListener","once","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","binding","cwd","chdir","umask","__WEBPACK_EXTERNAL_MODULE__0__","installedModules","__webpack_require__","moduleId","modules","getter","ns","_Group","_tweens","_tweensAddedDuringUpdate","getAll","tweenId","removeAll","tween","tweenIds","TWEEN","_isPlaying","Group","_nextId","nextId","hrtime","Tween","_object","_valuesStart","_valuesEnd","_valuesStartRepeat","_duration","_repeat","_repeatDelayTime","_yoyo","_reversed","_delayTime","_startTime","_easingFunction","Easing","Linear","None","_interpolationFunction","Interpolation","_chainedTweens","_onStartCallback","_onStartCallbackFired","_onUpdateCallback","_onRepeatCallback","_onCompleteCallback","_onStopCallback","_group","isPlaying","stopChainedTweens","numChainedTweens","amount","times","repeatDelay","yoyo","easing","easingFunction","interpolation","interpolationFunction","chain","onRepeat","onComplete","elapsed","tmp","Quadratic","In","Out","InOut","Cubic","Quartic","Quintic","Sinusoidal","cos","PI","sin","Exponential","Circular","Elastic","Back","Bounce","Bezier","pw","bn","Bernstein","CatmullRom","p0","p1","Factorial","p2","p3","v0","v1","t2","defaultIndex","infinite","autoplay","arrows","pauseOnHover","prevArrow","nextArrow","validatePropTypes","propValueType","includes","EASING_METHODS","linear","ease","cubic","getEasing","easeMethod","getUnhandledProps","ComponentProps","handledProps","showPreviousArrow","moveSlides","showNextArrow","showIndicators","isCustomIndicator","indicatorProps","eachIndicator","Slideshow","dragging","pauseSlides","startSlides","handleResize","initResizeObserver","reactSlideshowWrapper","goToSlide","tweenGroup","startSwipe","endSwipe","swipe","distanceSwiped","setWidth","goNext","resizeObserver","willUnmount","removeResizeObserver","startingClientX","slideImages","translateValue","allImages","fullwidth","applySlideStyle","eachImage","dataset","goTo","unhandledProps","aria-roledescription","onTouchCancel","onTouchMove","data-index","aria-hidden","each","animate","divsContainer","preFade","play","fadeImages","eachDiv","Zoom","preZoom","zoomTo","imgWithClick","Photo","photo","imgStyle","photoPropType","srcSet","decimals","ratio","BinaryHeap","scoreFunction","bubbleUp","sinkDown","score","parentN","elemScore","child2N","child1N","swap","child1","child1Score","child2","findShortestPath","graph","startNode","endNode","precedentsMap","getPathFromPrecedentsMap","visited","storedShortestPaths","pQueue","shortestNode","shortestNodeId","neighboringNodes","neighbor","newTotalWeight","buildPrecedentsMap","getCommonHeight","containerWidth","cost","photos","targetHeight","commonHeight","computeRowLayout","limitNodeSearch","targetRowHeight","getNeighbors","makeGetNeighbors","Gallery","renderImage","setContainerWidth","galleryEl","animationFrameID","handleClick","galleryStyle","thumbs","findIdealNodeSearch","photosWithSizes","newHeight","colLeftPositions","colCurrTopPositions","smallestCol","tallestCol","containerHeight","computeColumnLayout","renderComponent","EnterLeaveCounter","isNodeInDocument","entered","enteringNode","previousLength","union","leavingNode","isSafari","safari","MonotonicInterpolant","ys","indexes","dx","dy","dys","dxs","ms","c1s","m2","mNext","dxNext","common","c2s","c3s","_i3","c1","invDx","_common","mid","low","high","xHere","diffSq","getNodeClientOffset","_el$getBoundingClient","getEventClientOffset","getDragPreviewOffset","sourceNode","anchorPoint","offsetPoint","_document$documentEle","isImageNode","dragPreviewNodeOffsetFromClient","offsetFromDragPreview","sourceWidth","sourceHeight","anchorX","anchorY","_getDragPreviewSize","dragPreviewWidth","dragPreviewHeight","devicePixelRatio","getDragPreviewSize","offsetX","offsetY","isManualOffsetY","interpolate","calculateYOffset","_nativeTypesConfig","FILE","URL","TEXT","getDataFromDataTransfer","typesToTry","resultSoFar","typeToTry","nativeTypesConfig","NativeTypes","exposeProperties","matchesTypes","urls","NativeDragSource","initializeExposedProperties","newProperties","matchNativeItemType","dataTransferTypes","nativeItemType","OptionsReader","emptyImage","HTML5BackendImpl","sourcePreviewNodes","sourcePreviewNodeOptions","sourceNodes","sourceNodeOptions","dragStartSourceIds","dropTargetIds","dragEnterTargetIds","currentNativeSource","currentNativeHandle","currentDragSourceNode","altKeyPressed","mouseMoveTimeoutTimer","asyncEndDragFrameId","dragOverTargetIds","endDragNativeItem","isDraggingNativeItem","endDragIfSourceWasRemovedFromDOM","clearCurrentDragSourceNode","handleTopDragStartCapture","handleTopDragStart","nativeType","setDragImage","_this$getCurrentSourc","getCurrentSourcePreviewNodeOptions","dragPreviewOffset","setCurrentDragSourceNode","captureDraggingState","beginDragNativeItem","handleTopDragEndCapture","handleTopDragEnterCapture","enterLeaveCounter","handleTopDragEnter","dropEffect","getCurrentDropEffect","handleTopDragOverCapture","handleTopDragOver","handleTopDragLeaveCapture","leave","handleTopDropCapture","_this$currentNativeSo","loadDataTransfer","handleTopDrop","handleSelectStart","dragDrop","isContentEditable","getActions","_this$dragStartSource","_this$dragOverTargetI","__isReactDndBackendSetUp","addEventListeners","handleDragStart","handleDragEnter","handleDragOver","handleDrop","getCurrentSourceNodeOptions","createNativeDragSource","_this5","getEmptyImage","HTML5Backend","VERSION","_hasatob","atob","_hasbtoa","btoa","_hasBuffer","Buffer","b64chs","iter","b64tab","b64re","_fromCC","_U8Afrom","it","_mkUriSafe","m0","_tidyB64","btoaPolyfill","bin","u32","c0","c2","asc","pad","_btoa","_fromUint8Array","u8a","strs","subarray","fromUint8Array","urlsafe","utob","unescape","_encode","btou","atobPolyfill","u24","r1","r2","_atob","_decode","_unURI","decode","toUint8Array","_noEnum","extendString","_add","extendUint8Array","extendBuiltins","gBase64","fromBase64","toBase64","encodeURL","FileIconType","_extensionToIconName","FileTypeIconMap","accdb","extensions","archive","calendar","contact","classifier","csv","desktopfolder","docset","documentfolder","docx","dotx","exe","folder","genericfile","linkedfolder","officescript","splist","model","mpp","mpt","onetoc","pbiapp","pdf","photo360","picturesfolder","potx","powerbi","ppsx","pptx","presentation","pub","spo","sponews","spreadsheet","stream","rtf","sharedfolder","sway","sysfile","txt","vaultclosed","vaultopen","vector","video360","vsdx","vssx","vstx","xlsx","xltx","xml","xsn","zip","ICON_SIZES","initializeFileTypeIcons","iconTypes","fileTypeIcons","baseUrlSizeType","_initializeIcons","getFileTypeIconProps","iconBaseName","extension","_getFileTypeIconNameFromExtension","sharedFolder","news","desktopFolder","documentsFolder","picturesFolder","linkedFolder","imageFileType","devicePixelRatioSuffix","_getFileTypeIconSuffix","__awaiter","thisArg","_arguments","fulfilled","rejected","__generator","sent","trys","verb","__read","getInvalidTypeRejectionErr","messageSuffix","getTooLargeRejectionErr","maxSize","getTooSmallRejectionErr","TOO_MANY_FILES_REJECTION","fileAccepted","isAcceptable","accepts","fileMatchSize","isDefined","allFilesAccepted","accepted","sizeMatch","isEvtWithFiles","onDocumentDragOver","isIe","isEdge","isIeOrEdge","composeEventHandlers","fns","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","Dropzone","_useDropzone","useDropzone","preventDropOnDocument","noClick","noKeyboard","noDrag","noDragEventsBubbling","maxFiles","getFilesFromEvent","onFileDialogCancel","onDropAccepted","onDropRejected","isFileDialogActive","isDragActive","isDragAccept","isDragReject","draggedFiles","fileRejections","_ref2$disabled","_ref2$getFilesFromEve","fromEvent","_ref2$maxSize","_ref2$minSize","_ref2$multiple","_ref2$maxFiles","_ref2$preventDropOnDo","_ref2$noClick","_ref2$noKeyboard","_ref2$noDrag","_ref2$noDragEventsBub","inputRef","_useReducer","_useReducer2","openFileDialog","onWindowFocus","onKeyDownCb","isEqualNode","onFocusCb","onBlurCb","onClickCb","dragTargetsRef","onDocumentDrop","onDragEnterCb","onDragOverCb","_unused","onDragLeaveCb","targetIdx","onDropCb","_fileAccepted2","acceptError","_fileMatchSize2","sizeError","errors","composeHandler","composeKeyboardHandler","composeDragHandler","getRootProps","_ref3","_ref3$refKey","refKey","onInputElementClick","getInputProps","_ref4","_ref4$refKey","fileCount","concatStyleSetsWithProps","mergeStyleSets","mergeCssSets","classNameSet","concatenatedStyleSet","registrations","styleSetArea","_createPositionData","isAuto","DirectionalDictionary","_isRectangleWithinBounds","_getOutOfBoundsEdges","outOfBounds","_getEdgeValue","edge","_setEdgeValue","_getCenterValue","edges","_getFlankingEdges","positiveEdge","negativeEdge","_getRelativeEdgeValue","_getRelativeRectEdgeValue","_getRelativeEdgeDifference","hostRect","_moveEdge","difference","_alignEdges","_isEdgeInBounds","_adjustFitWithinBounds","bounding","elementEstimate","elementRectangle","directions","currentEstimate","currentEdge","currentAlignment","_estimatePosition","_flipToFit","flippedElementEstimate","oppositeEdge","_flipAlignmentEdge","_alignOutOfBoundsEdges","outOfBoundsEdges","_centerEdgeToPoint","elementToPosition","estimatedElementPosition","elementEdge","adjustedGap","_alignOppositeEdges","_finalizeReturnEdge","returnEdge","_calculateActualBeakWidthInPixels","_getPositionData","previousPositions","positionInformation","getClosestEdge","targetCenter","boundingCenter","_positionElementWithinBounds","_finalizeBeakPosition","positionedBeak","actualElement","Rectangle","closestEdge","_positionBeak","targetRectangle","beakTargetPoint","elementBounds","_getRectangleFromElement","_getRectangleFromIRect","_getMaxHeightFromTargetRectangle","_positionElementRelative","_getTargetRect","_getAlignmentData","positionedElement","_finalizePositionData","doNotFinalizeReturnEdge","elementEdgeString","_finalizeElementPosition","_positionCallout","positionProps","finalizedBeakPosition","positionElement","_positionElement","positionCallout","positionCard","_positionCard","getMaxHeight","mouseTarget","elementTarget","pointTarget","boundingRectangle","getOppositeEdge","getBoundsFromTargetWindow","targetWindow","segments","getWindowSegments","_getBoundsFromTargetWindow"],"mappings":"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BACA,iBAJF,CAAYA,MAAQ,M,6BCVpB,w3BAAMC,EAAc,W,IAAC,sDAGnB,IAFA,IAAMC,EAAiC,GAEpB,MAAAC,EAAA,eAGjB,IAHG,IAAMC,EAAI,KACPpnB,EAAOxD,MAAMiD,QAAQ2nB,GAAQA,EAAO/qB,OAAO2D,KAAKonB,GAEpC,MAAApnB,EAAA,eAAM,CAAnB,IAAM7B,EAAG,KACZ+oB,EAAO/oB,GAAO,EAIlB,OAAO+oB,GAQIG,EAAoBJ,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,yBAQWK,EAAwBL,EAAY,CAC/C,YACA,WACA,YACA,kBACA,MACA,YACA,SACA,UACA,KACA,OACA,MACA,OACA,QACA,WACA,QACA,YACA,aACA,SAQWM,EAAwBN,EAAYK,EAAuBD,GAO3DG,EAAkBP,EAAYM,EAAuB,CAChE,SAQWE,EAAkBR,EAAYM,EAAuB,CAChE,SACA,OACA,QACA,UACA,MACA,UAQWG,EAAkBT,EAAYQ,EAAiB,CAC1D,WAQWE,EAAeV,EAAYM,EAAuB,CAC7D,UAQWK,EAAeX,EAAYM,EAAuB,CAC7D,UAQWM,EAAmBZ,EAAYM,EAAuB,CACjE,WACA,OACA,WACA,QACA,MACA,SACA,SAQWO,EAAmBb,EAAYM,EAAuB,CACjE,YACA,WACA,OACA,aACA,cACA,aACA,iBACA,aACA,OACA,UAQWQ,EAAkBd,EAAYa,EAAkB,CAC3D,SACA,MACA,iBACA,eACA,UACA,UA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AAY,CACV,MACA,OACA,MACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,MACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,KACA,MACA,MACA,OAGJE,SAAU,CACRF,WAAY,CAAC,OAAQ,YAAa,MAAO,MAAO,QAElDluS,KAAM,CACJkuS,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,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,IACA,MACA,OACA,aACA,MACA,MACA,KACA,MACA,MACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,QACA,OACA,MACA,OACA,KACA,OACA,MACA,SACA,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,OA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","file":"static/js/2.7a87bbb6.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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","/**\n * 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 './version';\nexport * from '@uifabric/utilities';\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}","/*!\n Copyright (c) 2017 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg) && arg.length) {\n\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\tif (inner) {\n\t\t\t\t\tclasses.push(inner);\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\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 './version';\nexport * from '@uifabric/styling';\n","import { mergeStyles } from '../MergeStyles';\n\n/**\n * Builds a class names object from a given map.\n *\n * @param styles - Map of unprocessed styles.\n * @returns Map of property name to class name.\n */\nexport function buildClassMap(styles: T): { [key in keyof T]?: string } {\n let classes: { [key in keyof T]?: string } = {};\n\n for (let styleName in styles) {\n if (styles.hasOwnProperty(styleName)) {\n let className: string;\n\n Object.defineProperty(classes, styleName, {\n get: (): string => {\n if (className === undefined) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n className = mergeStyles(styles[styleName] as any).toString();\n }\n return className;\n },\n enumerable: true,\n configurable: true,\n });\n }\n }\n\n return classes;\n}\n","import { getStyleOptions } from './StyleOptionsState';\nimport { Stylesheet } from './Stylesheet';\nimport { serializeRuleEntries } from './styleToClassName';\n\n/**\n * Registers keyframe definitions.\n *\n * @public\n */\nexport function keyframes(timeline: { [key: string]: {} }): string {\n const stylesheet = Stylesheet.getInstance();\n const name = stylesheet.getClassName();\n\n const rulesArray: string[] = [];\n\n for (const prop in timeline) {\n if (timeline.hasOwnProperty(prop)) {\n rulesArray.push(prop, '{', serializeRuleEntries(getStyleOptions(), timeline[prop]), '}');\n }\n }\n const rules = rulesArray.join('');\n\n stylesheet.insertRule(`@keyframes ${name}{${rules}}`, true);\n\n stylesheet.cacheClassName(name, rules, [], ['keyframes', rules]);\n\n return name;\n}\n","import { IAnimationStyles, IAnimationVariables } from '../interfaces/index';\nimport { IRawStyle, keyframes } from '@uifabric/merge-styles';\n\n/* Register the keyframes */\n\nconst EASING_FUNCTION_1 = 'cubic-bezier(.1,.9,.2,1)';\nconst EASING_FUNCTION_2 = 'cubic-bezier(.1,.25,.75,.9)';\nconst DURATION_1 = '0.167s';\nconst DURATION_2 = '0.267s';\nconst DURATION_3 = '0.367s';\nconst DURATION_4 = '0.467s';\n\nconst FADE_IN: string = keyframes({\n from: { opacity: 0 },\n to: { opacity: 1 },\n});\n\nconst FADE_OUT: string = keyframes({\n from: { opacity: 1 },\n to: { opacity: 0, visibility: 'hidden' },\n});\n\nconst SLIDE_RIGHT_IN10: string = _createSlideInX(-10);\nconst SLIDE_RIGHT_IN20: string = _createSlideInX(-20);\nconst SLIDE_RIGHT_IN40: string = _createSlideInX(-40);\nconst SLIDE_RIGHT_IN400: string = _createSlideInX(-400);\nconst SLIDE_LEFT_IN10: string = _createSlideInX(10);\nconst SLIDE_LEFT_IN20: string = _createSlideInX(20);\nconst SLIDE_LEFT_IN40: string = _createSlideInX(40);\nconst SLIDE_LEFT_IN400: string = _createSlideInX(400);\nconst SLIDE_UP_IN10: string = _createSlideInY(10);\nconst SLIDE_UP_IN20: string = _createSlideInY(20);\nconst SLIDE_DOWN_IN10: string = _createSlideInY(-10);\nconst SLIDE_DOWN_IN20: string = _createSlideInY(-20);\n\nconst SLIDE_RIGHT_OUT10: string = _createSlideOutX(10);\nconst SLIDE_RIGHT_OUT20: string = _createSlideOutX(20);\nconst SLIDE_RIGHT_OUT40: string = _createSlideOutX(40);\nconst SLIDE_RIGHT_OUT400: string = _createSlideOutX(400);\nconst SLIDE_LEFT_OUT10: string = _createSlideOutX(-10);\nconst SLIDE_LEFT_OUT20: string = _createSlideOutX(-20);\nconst SLIDE_LEFT_OUT40: string = _createSlideOutX(-40);\nconst SLIDE_LEFT_OUT400: string = _createSlideOutX(-400);\nconst SLIDE_UP_OUT10: string = _createSlideOutY(-10);\nconst SLIDE_UP_OUT20: string = _createSlideOutY(-20);\nconst SLIDE_DOWN_OUT10: string = _createSlideOutY(10);\nconst SLIDE_DOWN_OUT20: string = _createSlideOutY(20);\n\nconst SCALE_UP100: string = keyframes({\n from: { transform: 'scale3d(.98,.98,1)' },\n to: { transform: 'scale3d(1,1,1)' },\n});\n\nconst SCALE_DOWN98: string = keyframes({\n from: { transform: 'scale3d(1,1,1)' },\n to: { transform: 'scale3d(.98,.98,1)' },\n});\n\nconst SCALE_DOWN100: string = keyframes({\n from: { transform: 'scale3d(1.03,1.03,1)' },\n to: { transform: 'scale3d(1,1,1)' },\n});\n\nconst SCALE_UP103: string = keyframes({\n from: { transform: 'scale3d(1,1,1)' },\n to: { transform: 'scale3d(1.03,1.03,1)' },\n});\n\nconst ROTATE90: string = keyframes({\n from: { transform: 'rotateZ(0deg)' },\n to: { transform: 'rotateZ(90deg)' },\n});\n\nconst ROTATE_N90: string = keyframes({\n from: { transform: 'rotateZ(0deg)' },\n to: { transform: 'rotateZ(-90deg)' },\n});\n\n/**\n * Exporting raw duraction values and easing functions to be used in custom animations\n */\nexport const AnimationVariables: IAnimationVariables = {\n easeFunction1: EASING_FUNCTION_1,\n easeFunction2: EASING_FUNCTION_2,\n durationValue1: DURATION_1,\n durationValue2: DURATION_2,\n durationValue3: DURATION_3,\n durationValue4: DURATION_4,\n};\n\n/**\n * All Fabric standard animations, exposed as json objects referencing predefined\n * keyframes. These objects can be mixed in with other class definitions.\n */\nexport const AnimationStyles: IAnimationStyles = {\n slideRightIn10: _createAnimation(`${FADE_IN},${SLIDE_RIGHT_IN10}`, DURATION_3, EASING_FUNCTION_1),\n slideRightIn20: _createAnimation(`${FADE_IN},${SLIDE_RIGHT_IN20}`, DURATION_3, EASING_FUNCTION_1),\n slideRightIn40: _createAnimation(`${FADE_IN},${SLIDE_RIGHT_IN40}`, DURATION_3, EASING_FUNCTION_1),\n slideRightIn400: _createAnimation(`${FADE_IN},${SLIDE_RIGHT_IN400}`, DURATION_3, EASING_FUNCTION_1),\n slideLeftIn10: _createAnimation(`${FADE_IN},${SLIDE_LEFT_IN10}`, DURATION_3, EASING_FUNCTION_1),\n slideLeftIn20: _createAnimation(`${FADE_IN},${SLIDE_LEFT_IN20}`, DURATION_3, EASING_FUNCTION_1),\n slideLeftIn40: _createAnimation(`${FADE_IN},${SLIDE_LEFT_IN40}`, DURATION_3, EASING_FUNCTION_1),\n slideLeftIn400: _createAnimation(`${FADE_IN},${SLIDE_LEFT_IN400}`, DURATION_3, EASING_FUNCTION_1),\n slideUpIn10: _createAnimation(`${FADE_IN},${SLIDE_UP_IN10}`, DURATION_3, EASING_FUNCTION_1),\n slideUpIn20: _createAnimation(`${FADE_IN},${SLIDE_UP_IN20}`, DURATION_3, EASING_FUNCTION_1),\n slideDownIn10: _createAnimation(`${FADE_IN},${SLIDE_DOWN_IN10}`, DURATION_3, EASING_FUNCTION_1),\n slideDownIn20: _createAnimation(`${FADE_IN},${SLIDE_DOWN_IN20}`, DURATION_3, EASING_FUNCTION_1),\n\n slideRightOut10: _createAnimation(`${FADE_OUT},${SLIDE_RIGHT_OUT10}`, DURATION_3, EASING_FUNCTION_1),\n slideRightOut20: _createAnimation(`${FADE_OUT},${SLIDE_RIGHT_OUT20}`, DURATION_3, EASING_FUNCTION_1),\n slideRightOut40: _createAnimation(`${FADE_OUT},${SLIDE_RIGHT_OUT40}`, DURATION_3, EASING_FUNCTION_1),\n slideRightOut400: _createAnimation(`${FADE_OUT},${SLIDE_RIGHT_OUT400}`, DURATION_3, EASING_FUNCTION_1),\n slideLeftOut10: _createAnimation(`${FADE_OUT},${SLIDE_LEFT_OUT10}`, DURATION_3, EASING_FUNCTION_1),\n slideLeftOut20: _createAnimation(`${FADE_OUT},${SLIDE_LEFT_OUT20}`, DURATION_3, EASING_FUNCTION_1),\n slideLeftOut40: _createAnimation(`${FADE_OUT},${SLIDE_LEFT_OUT40}`, DURATION_3, EASING_FUNCTION_1),\n slideLeftOut400: _createAnimation(`${FADE_OUT},${SLIDE_LEFT_OUT400}`, DURATION_3, EASING_FUNCTION_1),\n slideUpOut10: _createAnimation(`${FADE_OUT},${SLIDE_UP_OUT10}`, DURATION_3, EASING_FUNCTION_1),\n slideUpOut20: _createAnimation(`${FADE_OUT},${SLIDE_UP_OUT20}`, DURATION_3, EASING_FUNCTION_1),\n slideDownOut10: _createAnimation(`${FADE_OUT},${SLIDE_DOWN_OUT10}`, DURATION_3, EASING_FUNCTION_1),\n slideDownOut20: _createAnimation(`${FADE_OUT},${SLIDE_DOWN_OUT20}`, DURATION_3, EASING_FUNCTION_1),\n\n scaleUpIn100: _createAnimation(`${FADE_IN},${SCALE_UP100}`, DURATION_3, EASING_FUNCTION_1),\n scaleDownIn100: _createAnimation(`${FADE_IN},${SCALE_DOWN100}`, DURATION_3, EASING_FUNCTION_1),\n scaleUpOut103: _createAnimation(`${FADE_OUT},${SCALE_UP103}`, DURATION_1, EASING_FUNCTION_2),\n scaleDownOut98: _createAnimation(`${FADE_OUT},${SCALE_DOWN98}`, DURATION_1, EASING_FUNCTION_2),\n\n fadeIn100: _createAnimation(FADE_IN, DURATION_1, EASING_FUNCTION_2),\n fadeIn200: _createAnimation(FADE_IN, DURATION_2, EASING_FUNCTION_2),\n fadeIn400: _createAnimation(FADE_IN, DURATION_3, EASING_FUNCTION_2),\n fadeIn500: _createAnimation(FADE_IN, DURATION_4, EASING_FUNCTION_2),\n\n fadeOut100: _createAnimation(FADE_OUT, DURATION_1, EASING_FUNCTION_2),\n fadeOut200: _createAnimation(FADE_OUT, DURATION_2, EASING_FUNCTION_2),\n fadeOut400: _createAnimation(FADE_OUT, DURATION_3, EASING_FUNCTION_2),\n fadeOut500: _createAnimation(FADE_OUT, DURATION_4, EASING_FUNCTION_2),\n\n rotate90deg: _createAnimation(ROTATE90, '0.1s', EASING_FUNCTION_2),\n rotateN90deg: _createAnimation(ROTATE_N90, '0.1s', EASING_FUNCTION_2),\n\n // expandCollapse 100/200/400, delay 100/200\n};\n\nfunction _createAnimation(\n animationName: string,\n animationDuration: string,\n animationTimingFunction: string,\n): IRawStyle {\n return {\n animationName,\n animationDuration,\n animationTimingFunction,\n animationFillMode: 'both',\n };\n}\n\nfunction _createSlideInX(fromX: number): string {\n return keyframes({\n from: { transform: `translate3d(${fromX}px,0,0)` },\n to: { transform: `translate3d(0,0,0)` },\n });\n}\n\nfunction _createSlideInY(fromY: number): string {\n return keyframes({\n from: { transform: `translate3d(0,${fromY}px,0)` },\n to: { transform: `translate3d(0,0,0)` },\n });\n}\n\nfunction _createSlideOutX(toX: number): string {\n return keyframes({\n from: { transform: `translate3d(0,0,0)` },\n to: { transform: `translate3d(${toX}px,0,0)` },\n });\n}\n\nfunction _createSlideOutY(toY: number): string {\n return keyframes({\n from: { transform: `translate3d(0,0,0)` },\n to: { transform: `translate3d(0,${toY}px,0)` },\n });\n}\n","import { buildClassMap } from '../utilities/index';\nimport { AnimationStyles } from '../styles/index';\nimport { IAnimationStyles } from '../interfaces/index';\n\n/**\n * {@docCategory AnimationClassNames}\n */\nexport const AnimationClassNames: { [key in keyof IAnimationStyles]?: string } = buildClassMap(AnimationStyles);\n","import { IFontFace } from './IRawStyleBase';\nimport { getStyleOptions } from './StyleOptionsState';\nimport { Stylesheet } from './Stylesheet';\nimport { serializeRuleEntries } from './styleToClassName';\n\n/**\n * Registers a font face.\n * @public\n */\nexport function fontFace(font: IFontFace): void {\n Stylesheet.getInstance().insertRule(`@font-face{${serializeRuleEntries(getStyleOptions(), font as {})}}`, true);\n}\n","import { IRawStyle, IFontWeight } from '@uifabric/merge-styles';\nimport { IFontStyles } from '../interfaces/index';\n\n// Fallback fonts, if specified system or web fonts are unavailable.\nconst FontFamilyFallbacks = `'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif`;\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// By default, we favor system fonts for the default.\n// All localized fonts use a web font and never use the system font.\nconst defaultFontFamily = `'Segoe UI', '${LocalizedFontNames.WestEuropean}'`;\n\n// Mapping of language prefix to to font family.\nconst LanguageToFontMap = {\n ar: LocalizedFontFamilies.Arabic,\n bg: LocalizedFontFamilies.Cyrillic,\n cs: LocalizedFontFamilies.EastEuropean,\n el: LocalizedFontFamilies.Greek,\n et: LocalizedFontFamilies.EastEuropean,\n he: LocalizedFontFamilies.Hebrew,\n hi: LocalizedFontFamilies.Hindi,\n hr: LocalizedFontFamilies.EastEuropean,\n hu: LocalizedFontFamilies.EastEuropean,\n ja: LocalizedFontFamilies.Japanese,\n kk: LocalizedFontFamilies.EastEuropean,\n ko: LocalizedFontFamilies.Korean,\n lt: LocalizedFontFamilies.EastEuropean,\n lv: LocalizedFontFamilies.EastEuropean,\n pl: LocalizedFontFamilies.EastEuropean,\n ru: LocalizedFontFamilies.Cyrillic,\n sk: LocalizedFontFamilies.EastEuropean,\n 'sr-latn': LocalizedFontFamilies.EastEuropean,\n th: LocalizedFontFamilies.Thai,\n tr: LocalizedFontFamilies.EastEuropean,\n uk: LocalizedFontFamilies.Cyrillic,\n vi: LocalizedFontFamilies.Vietnamese,\n 'zh-hans': LocalizedFontFamilies.ChineseSimplified,\n 'zh-hant': LocalizedFontFamilies.ChineseTraditional,\n hy: LocalizedFontFamilies.Armenian,\n ka: LocalizedFontFamilies.Georgian,\n};\n\n// Standard font sizes.\nexport namespace FontSizes {\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\nfunction _fontFamilyWithFallbacks(fontFamily: string): string {\n return `${fontFamily}, ${FontFamilyFallbacks}`;\n}\n\nexport function createFontStyles(localeCode: string | null): IFontStyles {\n const localizedFont = _getLocalizedFontFamily(localeCode);\n let fontFamilyWithFallback = _fontFamilyWithFallbacks(localizedFont);\n\n const fontStyles = {\n tiny: _createFont(FontSizes.mini, FontWeights.regular, fontFamilyWithFallback),\n xSmall: _createFont(FontSizes.xSmall, FontWeights.regular, fontFamilyWithFallback),\n small: _createFont(FontSizes.small, FontWeights.regular, fontFamilyWithFallback),\n smallPlus: _createFont(FontSizes.smallPlus, FontWeights.regular, fontFamilyWithFallback),\n medium: _createFont(FontSizes.medium, FontWeights.regular, fontFamilyWithFallback),\n mediumPlus: _createFont(FontSizes.mediumPlus, FontWeights.regular, fontFamilyWithFallback),\n large: _createFont(FontSizes.large, FontWeights.regular, fontFamilyWithFallback),\n xLarge: _createFont(FontSizes.xLarge, FontWeights.semibold, fontFamilyWithFallback),\n xLargePlus: _createFont(FontSizes.xLargePlus, FontWeights.semibold, fontFamilyWithFallback),\n xxLarge: _createFont(FontSizes.xxLarge, FontWeights.semibold, fontFamilyWithFallback),\n xxLargePlus: _createFont(FontSizes.xxLargePlus, FontWeights.semibold, fontFamilyWithFallback),\n superLarge: _createFont(FontSizes.superLarge, FontWeights.semibold, fontFamilyWithFallback),\n mega: _createFont(FontSizes.mega, FontWeights.semibold, fontFamilyWithFallback),\n };\n\n return fontStyles;\n}\n\n/**\n * If there is a localized font for this language, return that.\n * Returns undefined if there is no localized font for that language.\n */\nfunction _getLocalizedFontFamily(language: string | null): string {\n for (let lang in LanguageToFontMap) {\n if (LanguageToFontMap.hasOwnProperty(lang) && language && lang.indexOf(language) === 0) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return (LanguageToFontMap as any)[lang];\n }\n }\n\n return defaultFontFamily;\n}\n\nfunction _createFont(size: string, weight: IFontWeight, fontFamily: string): IRawStyle {\n return {\n fontFamily: fontFamily,\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontSize: size,\n fontWeight: weight,\n };\n}\n","import { fontFace, IFontWeight } from '@uifabric/merge-styles';\nimport { IFontStyles } from '../interfaces/index';\nimport { createFontStyles, FontWeights, LocalizedFontFamilies, LocalizedFontNames } from './fonts';\nimport { getLanguage, getWindow } from '@uifabric/utilities';\nimport { IFabricConfig } from '../interfaces/IFabricConfig';\n\n// Default urls.\nconst DefaultBaseUrl = 'https://static2.sharepointonline.com/files/fabric/assets';\n\n// Standard font styling.\nexport const DefaultFontStyles: IFontStyles = createFontStyles(getLanguage());\n\nfunction _registerFontFace(fontFamily: string, url: string, fontWeight?: IFontWeight, localFontName?: string): void {\n fontFamily = `'${fontFamily}'`;\n\n const localFontSrc = localFontName !== undefined ? `local('${localFontName}'),` : '';\n\n fontFace({\n fontFamily,\n src: localFontSrc + `url('${url}.woff2') format('woff2'),` + `url('${url}.woff') format('woff')`,\n fontWeight,\n fontStyle: 'normal',\n fontDisplay: 'swap',\n });\n}\n\nfunction _registerFontFaceSet(\n baseUrl: string,\n fontFamily: string,\n cdnFolder: string,\n cdnFontName: string = 'segoeui',\n localFontName?: string,\n): void {\n const urlBase = `${baseUrl}/${cdnFolder}/${cdnFontName}`;\n\n _registerFontFace(fontFamily, urlBase + '-light', FontWeights.light, localFontName && localFontName + ' Light');\n _registerFontFace(\n fontFamily,\n urlBase + '-semilight',\n FontWeights.semilight,\n localFontName && localFontName + ' SemiLight',\n );\n _registerFontFace(fontFamily, urlBase + '-regular', FontWeights.regular, localFontName);\n _registerFontFace(\n fontFamily,\n urlBase + '-semibold',\n FontWeights.semibold,\n localFontName && localFontName + ' SemiBold',\n );\n _registerFontFace(fontFamily, urlBase + '-bold', FontWeights.bold, localFontName && localFontName + ' Bold');\n}\n\nexport function registerDefaultFontFaces(baseUrl: string): void {\n if (baseUrl) {\n const fontUrl = `${baseUrl}/fonts`;\n\n // Produce @font-face definitions for all supported web fonts.\n _registerFontFaceSet(fontUrl, LocalizedFontNames.Thai, 'leelawadeeui-thai', 'leelawadeeui');\n _registerFontFaceSet(fontUrl, LocalizedFontNames.Arabic, 'segoeui-arabic');\n _registerFontFaceSet(fontUrl, LocalizedFontNames.Cyrillic, 'segoeui-cyrillic');\n _registerFontFaceSet(fontUrl, LocalizedFontNames.EastEuropean, 'segoeui-easteuropean');\n _registerFontFaceSet(fontUrl, LocalizedFontNames.Greek, 'segoeui-greek');\n _registerFontFaceSet(fontUrl, LocalizedFontNames.Hebrew, 'segoeui-hebrew');\n _registerFontFaceSet(fontUrl, LocalizedFontNames.Vietnamese, 'segoeui-vietnamese');\n _registerFontFaceSet(fontUrl, LocalizedFontNames.WestEuropean, 'segoeui-westeuropean', 'segoeui', 'Segoe UI');\n _registerFontFaceSet(fontUrl, LocalizedFontFamilies.Selawik, 'selawik', 'selawik');\n _registerFontFaceSet(fontUrl, LocalizedFontNames.Armenian, 'segoeui-armenian');\n _registerFontFaceSet(fontUrl, LocalizedFontNames.Georgian, 'segoeui-georgian');\n\n // Leelawadee UI (Thai) does not have a 'light' weight, so we override\n // the font-face generated above to use the 'semilight' weight instead.\n _registerFontFace('Leelawadee UI Web', `${fontUrl}/leelawadeeui-thai/leelawadeeui-semilight`, FontWeights.light);\n\n // Leelawadee UI (Thai) does not have a 'semibold' weight, so we override\n // the font-face generated above to use the 'bold' weight instead.\n _registerFontFace('Leelawadee UI Web', `${fontUrl}/leelawadeeui-thai/leelawadeeui-bold`, FontWeights.semibold);\n }\n}\n\n/**\n * Reads the fontBaseUrl from window.FabricConfig.fontBaseUrl or falls back to a default.\n */\nfunction _getFontBaseUrl(): string {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const fabricConfig: IFabricConfig | undefined = (getWindow() as any)?.FabricConfig;\n\n return fabricConfig?.fontBaseUrl ?? DefaultBaseUrl;\n}\n\n/**\n * Register the font faces.\n */\nregisterDefaultFontFaces(_getFontBaseUrl());\n","import { buildClassMap } from '../utilities/buildClassMap';\nimport { IFontStyles } from '../interfaces/index';\nimport { DefaultFontStyles } from '../styles/DefaultFontStyles';\n\n/**\n * {@docCategory FontClassNames}\n */\nexport const FontClassNames: { [key in keyof IFontStyles]?: string } = buildClassMap(DefaultFontStyles);\n","export namespace Depths {\n export const depth0 = '0 0 0 0 transparent';\n export const depth4 = '0 1.6px 3.6px 0 rgba(0, 0, 0, 0.132), 0 0.3px 0.9px 0 rgba(0, 0, 0, 0.108)';\n export const depth8 = '0 3.2px 7.2px 0 rgba(0, 0, 0, 0.132), 0 0.6px 1.8px 0 rgba(0, 0, 0, 0.108)';\n export const depth16 = '0 6.4px 14.4px 0 rgba(0, 0, 0, 0.132), 0 1.2px 3.6px 0 rgba(0, 0, 0, 0.108)';\n export const depth64 = '0 25.6px 57.6px 0 rgba(0, 0, 0, 0.22), 0 4.8px 14.4px 0 rgba(0, 0, 0, 0.18)';\n}\n","import { IPalette } from '../types/index';\n\n// When adding or removing a color, make sure you keep this consistent with IColorClassNames\n// by adding the color variants.\nexport const DefaultPalette: IPalette = {\n themeDarker: '#004578',\n themeDark: '#005a9e',\n themeDarkAlt: '#106ebe',\n themePrimary: '#0078d4',\n themeSecondary: '#2b88d8',\n themeTertiary: '#71afe5',\n themeLight: '#c7e0f4',\n themeLighter: '#deecf9',\n themeLighterAlt: '#eff6fc',\n black: '#000000',\n blackTranslucent40: 'rgba(0,0,0,.4)',\n neutralDark: '#201f1e',\n neutralPrimary: '#323130',\n neutralPrimaryAlt: '#3b3a39',\n neutralSecondary: '#605e5c',\n neutralSecondaryAlt: '#8a8886',\n neutralTertiary: '#a19f9d',\n neutralTertiaryAlt: '#c8c6c4',\n neutralQuaternary: '#d2d0ce',\n neutralQuaternaryAlt: '#e1dfdd',\n neutralLight: '#edebe9',\n neutralLighter: '#f3f2f1',\n neutralLighterAlt: '#faf9f8',\n accent: '#0078d4',\n white: '#ffffff',\n whiteTranslucent40: 'rgba(255,255,255,.4)',\n yellowDark: '#d29200',\n yellow: '#ffb900',\n yellowLight: '#fff100',\n orange: '#d83b01',\n orangeLight: '#ea4300',\n orangeLighter: '#ff8c00',\n redDark: '#a4262c',\n red: '#e81123',\n magentaDark: '#5c005c',\n magenta: '#b4009e',\n magentaLight: '#e3008c',\n purpleDark: '#32145a',\n purple: '#5c2d91',\n purpleLight: '#b4a0ff',\n blueDark: '#002050',\n blueMid: '#00188f',\n blue: '#0078d4',\n blueLight: '#00bcf2',\n tealDark: '#004b50',\n teal: '#008272',\n tealLight: '#00b294',\n greenDark: '#004b1c',\n green: '#107c10',\n greenLight: '#bad80a',\n};\n","import { ISpacing } from '../types/index';\n\nexport const DefaultSpacing: ISpacing = {\n s2: '4px',\n s1: '8px',\n m: '16px',\n l1: '20px',\n l2: '32px',\n};\n","import { IEffects } from '../types/index';\nimport { Depths } from './FluentDepths';\n\nexport const DefaultEffects: IEffects = {\n elevation4: Depths.depth4,\n elevation8: Depths.depth8,\n elevation16: Depths.depth16,\n elevation64: Depths.depth64,\n\n roundedCorner2: '2px',\n roundedCorner4: '4px',\n roundedCorner6: '6px',\n};\n","import { Customizations, merge, getWindow } from '@uifabric/utilities';\nimport { IPalette, ISemanticColors, ITheme, IPartialTheme, IFontStyles, IEffects } from '../interfaces/index';\nimport { DefaultFontStyles } from './DefaultFontStyles';\nimport { DefaultPalette } from './DefaultPalette';\nimport { DefaultSpacing } from './DefaultSpacing';\nimport { loadTheme as legacyLoadTheme } from '@microsoft/load-themed-styles';\nimport { DefaultEffects } from './DefaultEffects';\nimport { IRawStyle } from '@uifabric/merge-styles';\n\nlet _theme: ITheme = createTheme({\n palette: DefaultPalette,\n semanticColors: _makeSemanticColors(DefaultPalette, DefaultEffects, undefined, false, false),\n fonts: DefaultFontStyles,\n isInverted: false,\n disableGlobalClassNames: false,\n});\nlet _onThemeChangeCallbacks: Array<(theme: ITheme) => void> = [];\n\nexport const ThemeSettingName = 'theme';\n\nexport function initializeThemeInCustomizations(): void {\n if (!Customizations.getSettings([ThemeSettingName]).theme) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const win: any = getWindow();\n\n if (win?.FabricConfig?.theme) {\n _theme = createTheme(win.FabricConfig.theme);\n }\n\n // Set the default theme.\n Customizations.applySettings({ [ThemeSettingName]: _theme });\n }\n}\n\ninitializeThemeInCustomizations();\n\n/**\n * Gets the theme object\n * @param depComments - Whether to include deprecated tags as comments for deprecated slots.\n */\nexport function getTheme(depComments: boolean = false): ITheme {\n if (depComments === true) {\n _theme = createTheme({}, depComments);\n }\n return _theme;\n}\n\n/**\n * Registers a callback that gets called whenever the theme changes.\n * This should only be used when the component cannot automatically get theme changes through its state.\n * This will not register duplicate callbacks.\n */\nexport function registerOnThemeChangeCallback(callback: (theme: ITheme) => void): void {\n if (_onThemeChangeCallbacks.indexOf(callback) === -1) {\n _onThemeChangeCallbacks.push(callback);\n }\n}\n\n/**\n * See registerOnThemeChangeCallback().\n * Removes previously registered callbacks.\n */\nexport function removeOnThemeChangeCallback(callback: (theme: ITheme) => void): void {\n const i = _onThemeChangeCallbacks.indexOf(callback);\n if (i === -1) {\n return;\n }\n\n _onThemeChangeCallbacks.splice(i, 1);\n}\n\n/**\n * Applies the theme, while filling in missing slots.\n * @param theme - Partial theme object.\n * @param depComments - Whether to include deprecated tags as comments for deprecated slots.\n */\nexport function loadTheme(theme: IPartialTheme, depComments: boolean = false): ITheme {\n _theme = createTheme(theme, depComments);\n\n // Invoke the legacy method of theming the page as well.\n legacyLoadTheme({ ..._theme.palette, ..._theme.semanticColors, ..._theme.effects, ..._loadFonts(_theme) });\n\n Customizations.applySettings({ [ThemeSettingName]: _theme });\n\n _onThemeChangeCallbacks.forEach((callback: (theme: ITheme) => void) => {\n try {\n callback(_theme);\n } catch (e) {\n // don't let a bad callback break everything else\n }\n });\n\n return _theme;\n}\n\n/**\n * Loads font variables into a JSON object.\n * @param theme - The theme object\n */\nfunction _loadFonts(theme: ITheme): { [name: string]: string } {\n const lines: { [key: string]: string } = {};\n\n for (const fontName of Object.keys(theme.fonts)) {\n const font: IRawStyle = theme.fonts[fontName as keyof IFontStyles];\n\n for (const propName of Object.keys(font)) {\n const name: string = fontName + propName.charAt(0).toUpperCase() + propName.slice(1);\n let value = font[propName as keyof IRawStyle] as string;\n\n if (propName === 'fontSize' && typeof value === 'number') {\n // if it's a number, convert it to px by default like our theming system does\n value = value + 'px';\n }\n lines[name] = value;\n }\n }\n return lines;\n}\n\n/**\n * Creates a custom theme definition which can be used with the Customizer.\n * @param theme - Partial theme object.\n * @param depComments - Whether to include deprecated tags as comments for deprecated slots.\n */\nexport function createTheme(theme: IPartialTheme, depComments: boolean = false): ITheme {\n let newPalette = { ...DefaultPalette, ...theme.palette };\n let newEffects = { ...DefaultEffects, ...theme.effects };\n\n if (!theme.palette || !theme.palette.accent) {\n newPalette.accent = newPalette.themePrimary;\n }\n\n // mix in custom overrides with good slots first, since custom overrides might be used in fixing deprecated slots\n let newSemanticColors = {\n ..._makeSemanticColors(newPalette, newEffects, theme.semanticColors, !!theme.isInverted, depComments),\n ...theme.semanticColors,\n };\n\n let defaultFontStyles: IFontStyles = { ...DefaultFontStyles };\n\n if (theme.defaultFontStyle) {\n for (const fontStyle of Object.keys(defaultFontStyles) as (keyof IFontStyles)[]) {\n defaultFontStyles[fontStyle] = merge({}, defaultFontStyles[fontStyle], theme.defaultFontStyle);\n }\n }\n\n if (theme.fonts) {\n for (const fontStyle of Object.keys(theme.fonts) as (keyof IFontStyles)[]) {\n defaultFontStyles[fontStyle] = merge({}, defaultFontStyles[fontStyle], theme.fonts[fontStyle]);\n }\n }\n\n return {\n palette: newPalette,\n fonts: {\n ...defaultFontStyles,\n },\n rtl: theme.rtl,\n semanticColors: newSemanticColors,\n isInverted: !!theme.isInverted,\n disableGlobalClassNames: !!theme.disableGlobalClassNames,\n spacing: {\n ...DefaultSpacing,\n ...theme.spacing,\n },\n effects: newEffects,\n };\n}\n\n/** Generates all the semantic slot colors based on the theme so far\n * We'll use these as fallbacks for semantic slots that the passed in theme did not define.\n * The caller must still mix in the customized semantic slots at the end.\n */\nfunction _makeSemanticColors(\n p: IPalette,\n e: IEffects,\n s: Partial | undefined,\n isInverted: boolean,\n depComments: boolean,\n): ISemanticColors {\n let toReturn: ISemanticColors = {\n // DEFAULTS\n bodyBackground: p.white,\n bodyBackgroundHovered: p.neutralLighter,\n bodyBackgroundChecked: p.neutralLight,\n bodyStandoutBackground: p.neutralLighterAlt,\n bodyFrameBackground: p.white,\n bodyFrameDivider: p.neutralLight,\n bodyText: p.neutralPrimary,\n bodyTextChecked: p.black,\n bodySubtext: p.neutralSecondary,\n bodyDivider: p.neutralLight,\n disabledBodyText: p.neutralTertiary,\n disabledBodySubtext: p.neutralTertiaryAlt,\n disabledBorder: p.neutralTertiaryAlt,\n focusBorder: p.neutralSecondary,\n cardStandoutBackground: p.white,\n cardShadow: e.elevation4,\n cardShadowHovered: '', // set in second pass\n variantBorder: p.neutralLight,\n variantBorderHovered: p.neutralTertiary,\n defaultStateBackground: p.neutralLighterAlt,\n\n // LINKS\n actionLink: p.neutralPrimary,\n actionLinkHovered: p.neutralDark,\n link: p.themePrimary,\n linkHovered: p.themeDarker,\n\n // BUTTONS\n buttonBackground: p.white,\n buttonBackgroundChecked: p.neutralTertiaryAlt,\n buttonBackgroundHovered: p.neutralLighter,\n buttonBackgroundCheckedHovered: p.neutralLight,\n buttonBackgroundPressed: p.neutralLight,\n buttonBackgroundDisabled: p.neutralLighter,\n buttonBorder: p.neutralSecondaryAlt,\n buttonText: p.neutralPrimary,\n buttonTextHovered: p.neutralDark,\n buttonTextChecked: p.neutralDark,\n buttonTextCheckedHovered: p.black,\n buttonTextPressed: p.neutralDark,\n buttonTextDisabled: p.neutralTertiary,\n buttonBorderDisabled: p.neutralLighter,\n\n primaryButtonBackground: p.themePrimary,\n primaryButtonBackgroundHovered: p.themeDarkAlt,\n primaryButtonBackgroundPressed: p.themeDark,\n primaryButtonBackgroundDisabled: p.neutralLighter,\n primaryButtonBorder: 'transparent',\n primaryButtonText: p.white,\n primaryButtonTextHovered: p.white,\n primaryButtonTextPressed: p.white,\n primaryButtonTextDisabled: p.neutralQuaternary,\n\n accentButtonBackground: p.accent,\n accentButtonText: p.white,\n\n // INPUTS\n inputBorder: p.neutralSecondary,\n inputBorderHovered: p.neutralPrimary,\n inputBackground: p.white,\n inputBackgroundChecked: p.themePrimary,\n inputBackgroundCheckedHovered: p.themeDark,\n inputPlaceholderBackgroundChecked: p.themeLighter,\n inputForegroundChecked: p.white,\n inputIcon: p.themePrimary,\n inputIconHovered: p.themeDark,\n inputIconDisabled: p.neutralTertiary,\n inputFocusBorderAlt: p.themePrimary,\n smallInputBorder: p.neutralSecondary,\n inputText: p.neutralPrimary,\n inputTextHovered: p.neutralDark,\n inputPlaceholderText: p.neutralSecondary,\n disabledBackground: p.neutralLighter,\n disabledText: p.neutralTertiary,\n disabledSubtext: p.neutralQuaternary,\n\n // LISTS\n listBackground: p.white,\n listText: p.neutralPrimary,\n listItemBackgroundHovered: p.neutralLighter,\n listItemBackgroundChecked: p.neutralLight,\n listItemBackgroundCheckedHovered: p.neutralQuaternaryAlt,\n\n listHeaderBackgroundHovered: p.neutralLighter,\n listHeaderBackgroundPressed: p.neutralLight,\n\n // MENUS\n menuBackground: p.white,\n menuDivider: p.neutralTertiaryAlt,\n menuIcon: p.themePrimary,\n menuHeader: p.themePrimary,\n menuItemBackgroundHovered: p.neutralLighter,\n menuItemBackgroundPressed: p.neutralLight,\n menuItemText: p.neutralPrimary,\n menuItemTextHovered: p.neutralDark,\n\n errorText: !isInverted ? '#a4262c' : '#F1707B',\n\n messageText: !isInverted ? '#323130' : '#F3F2F1',\n messageLink: !isInverted ? '#005A9E' : '#6CB8F6',\n messageLinkHovered: !isInverted ? '#004578' : '#82C7FF',\n\n infoIcon: !isInverted ? '#605e5c' : '#C8C6C4',\n errorIcon: !isInverted ? '#A80000' : '#F1707B',\n blockingIcon: !isInverted ? '#FDE7E9' : '#442726',\n warningIcon: !isInverted ? '#797775' : '#C8C6C4',\n severeWarningIcon: !isInverted ? '#D83B01' : '#FCE100',\n successIcon: !isInverted ? '#107C10' : '#92C353',\n\n infoBackground: !isInverted ? '#f3f2f1' : '#323130',\n errorBackground: !isInverted ? '#FDE7E9' : '#442726',\n blockingBackground: !isInverted ? '#FDE7E9' : '#442726',\n warningBackground: !isInverted ? '#FFF4CE' : '#433519',\n severeWarningBackground: !isInverted ? '#FED9CC' : '#4F2A0F',\n successBackground: !isInverted ? '#DFF6DD' : '#393D1B',\n\n // Deprecated slots, later pass by _fixDeprecatedSlots() for self-referential slots\n warningHighlight: !isInverted ? '#ffb900' : '#fff100',\n warningText: '',\n successText: !isInverted ? '#107C10' : '#92c353',\n listTextColor: '',\n menuItemBackgroundChecked: p.neutralLight,\n\n // mix in customized semantic slots for second pass\n ...s,\n };\n\n // second pass for self-referential slots\n toReturn = {\n ...toReturn,\n cardShadowHovered: !isInverted ? e.elevation8 : '0 0 1px ' + toReturn.variantBorderHovered,\n };\n\n return _fixDeprecatedSlots(toReturn, depComments!);\n}\n\nfunction _fixDeprecatedSlots(s: ISemanticColors, depComments: boolean): ISemanticColors {\n // Add @deprecated tag as comment if enabled\n let dep = '';\n if (depComments === true) {\n dep = ' /* @deprecated */';\n }\n\n /* eslint-disable deprecation/deprecation */\n s.listTextColor = s.listText + dep;\n s.menuItemBackgroundChecked += dep;\n s.warningHighlight += dep;\n s.warningText = s.messageText + dep;\n s.successText += dep;\n /* eslint-enable deprecation/deprecation */\n return s;\n}\n","import { IRawStyle, mergeStyles } from '@uifabric/merge-styles';\nimport { DefaultPalette } from '../styles/DefaultPalette';\nimport { getTheme } from '../styles/index';\n\n/**\n * {@docCategory IColorClassNames}\n */\nexport interface IColorClassNames {\n themeDarker: string;\n themeDarkerHover: string;\n themeDarkerBackground: string;\n themeDarkerBackgroundHover: string;\n themeDarkerBorder: string;\n themeDarkerBorderHover: string;\n themeDark: string;\n themeDarkHover: string;\n themeDarkBackground: string;\n themeDarkBackgroundHover: string;\n themeDarkBorder: string;\n themeDarkBorderHover: string;\n themeDarkAlt: string;\n themeDarkAltHover: string;\n themeDarkAltBackground: string;\n themeDarkAltBackgroundHover: string;\n themeDarkAltBorder: string;\n themeDarkAltBorderHover: string;\n themePrimary: string;\n themePrimaryHover: string;\n themePrimaryBackground: string;\n themePrimaryBackgroundHover: string;\n themePrimaryBorder: string;\n themePrimaryBorderHover: string;\n themeSecondary: string;\n themeSecondaryHover: string;\n themeSecondaryBackground: string;\n themeSecondaryBackgroundHover: string;\n themeSecondaryBorder: string;\n themeSecondaryBorderHover: string;\n themeTertiary: string;\n themeTertiaryHover: string;\n themeTertiaryBackground: string;\n themeTertiaryBackgroundHover: string;\n themeTertiaryBorder: string;\n themeTertiaryBorderHover: string;\n themeLight: string;\n themeLightHover: string;\n themeLightBackground: string;\n themeLightBackgroundHover: string;\n themeLightBorder: string;\n themeLightBorderHover: string;\n themeLighter: string;\n themeLighterHover: string;\n themeLighterBackground: string;\n themeLighterBackgroundHover: string;\n themeLighterBorder: string;\n themeLighterBorderHover: string;\n themeLighterAlt: string;\n themeLighterAltHover: string;\n themeLighterAltBackground: string;\n themeLighterAltBackgroundHover: string;\n themeLighterAltBorder: string;\n themeLighterAltBorderHover: string;\n black: string;\n blackHover: string;\n blackBackground: string;\n blackBackgroundHover: string;\n blackBorder: string;\n blackBorderHover: string;\n blackTranslucent40: string;\n blackTranslucent40Hover: string;\n blackTranslucent40Background: string;\n blackTranslucent40BackgroundHover: string;\n blackTranslucent40Border: string;\n blackTranslucent40BorderHover: string;\n neutralDark: string;\n neutralDarkHover: string;\n neutralDarkBackground: string;\n neutralDarkBackgroundHover: string;\n neutralDarkBorder: string;\n neutralDarkBorderHover: string;\n neutralPrimary: string;\n neutralPrimaryHover: string;\n neutralPrimaryBackground: string;\n neutralPrimaryBackgroundHover: string;\n neutralPrimaryBorder: string;\n neutralPrimaryBorderHover: string;\n neutralPrimaryAlt: string;\n neutralPrimaryAltHover: string;\n neutralPrimaryAltBackground: string;\n neutralPrimaryAltBackgroundHover: string;\n neutralPrimaryAltBorder: string;\n neutralPrimaryAltBorderHover: string;\n neutralSecondary: string;\n neutralSecondaryHover: string;\n neutralSecondaryBackground: string;\n neutralSecondaryBackgroundHover: string;\n neutralSecondaryBorder: string;\n neutralSecondaryBorderHover: string;\n neutralSecondaryAlt: string;\n neutralSecondaryAltHover: string;\n neutralSecondaryAltBackground: string;\n neutralSecondaryAltBackgroundHover: string;\n neutralSecondaryAltBorder: string;\n neutralSecondaryAltBorderHover: string;\n neutralTertiary: string;\n neutralTertiaryHover: string;\n neutralTertiaryBackground: string;\n neutralTertiaryBackgroundHover: string;\n neutralTertiaryBorder: string;\n neutralTertiaryBorderHover: string;\n neutralTertiaryAlt: string;\n neutralTertiaryAltHover: string;\n neutralTertiaryAltBackground: string;\n neutralTertiaryAltBackgroundHover: string;\n neutralTertiaryAltBorder: string;\n neutralTertiaryAltBorderHover: string;\n neutralQuaternary: string;\n neutralQuaternaryHover: string;\n neutralQuaternaryBackground: string;\n neutralQuaternaryBackgroundHover: string;\n neutralQuaternaryBorder: string;\n neutralQuaternaryBorderHover: string;\n neutralQuaternaryAlt: string;\n neutralQuaternaryAltHover: string;\n neutralQuaternaryAltBackground: string;\n neutralQuaternaryAltBackgroundHover: string;\n neutralQuaternaryAltBorder: string;\n neutralQuaternaryAltBorderHover: string;\n neutralLight: string;\n neutralLightHover: string;\n neutralLightBackground: string;\n neutralLightBackgroundHover: string;\n neutralLightBorder: string;\n neutralLightBorderHover: string;\n neutralLighter: string;\n neutralLighterHover: string;\n neutralLighterBackground: string;\n neutralLighterBackgroundHover: string;\n neutralLighterBorder: string;\n neutralLighterBorderHover: string;\n neutralLighterAlt: string;\n neutralLighterAltHover: string;\n neutralLighterAltBackground: string;\n neutralLighterAltBackgroundHover: string;\n neutralLighterAltBorder: string;\n neutralLighterAltBorderHover: string;\n white: string;\n whiteHover: string;\n whiteBackground: string;\n whiteBackgroundHover: string;\n whiteBorder: string;\n whiteBorderHover: string;\n whiteTranslucent40: string;\n whiteTranslucent40Hover: string;\n whiteTranslucent40Background: string;\n whiteTranslucent40BackgroundHover: string;\n whiteTranslucent40Border: string;\n whiteTranslucent40BorderHover: string;\n yellow: string;\n yellowHover: string;\n yellowBackground: string;\n yellowBackgroundHover: string;\n yellowBorder: string;\n yellowBorderHover: string;\n yellowLight: string;\n yellowLightHover: string;\n yellowLightBackground: string;\n yellowLightBackgroundHover: string;\n yellowLightBorder: string;\n yellowLightBorderHover: string;\n orange: string;\n orangeHover: string;\n orangeBackground: string;\n orangeBackgroundHover: string;\n orangeBorder: string;\n orangeBorderHover: string;\n orangeLight: string;\n orangeLightHover: string;\n orangeLightBackground: string;\n orangeLightBackgroundHover: string;\n orangeLightBorder: string;\n orangeLightBorderHover: string;\n orangeLighter: string;\n orangeLighterHover: string;\n orangeLighterBackground: string;\n orangeLighterBackgroundHover: string;\n orangeLighterBorder: string;\n orangeLighterBorderHover: string;\n redDark: string;\n redDarkHover: string;\n redDarkBackground: string;\n redDarkBackgroundHover: string;\n redDarkBorder: string;\n redDarkBorderHover: string;\n red: string;\n redHover: string;\n redBackground: string;\n redBackgroundHover: string;\n redBorder: string;\n redBorderHover: string;\n magentaDark: string;\n magentaDarkHover: string;\n magentaDarkBackground: string;\n magentaDarkBackgroundHover: string;\n magentaDarkBorder: string;\n magentaDarkBorderHover: string;\n magenta: string;\n magentaHover: string;\n magentaBackground: string;\n magentaBackgroundHover: string;\n magentaBorder: string;\n magentaBorderHover: string;\n magentaLight: string;\n magentaLightHover: string;\n magentaLightBackground: string;\n magentaLightBackgroundHover: string;\n magentaLightBorder: string;\n magentaLightBorderHover: string;\n purpleDark: string;\n purpleDarkHover: string;\n purpleDarkBackground: string;\n purpleDarkBackgroundHover: string;\n purpleDarkBorder: string;\n purpleDarkBorderHover: string;\n purple: string;\n purpleHover: string;\n purpleBackground: string;\n purpleBackgroundHover: string;\n purpleBorder: string;\n purpleBorderHover: string;\n purpleLight: string;\n purpleLightHover: string;\n purpleLightBackground: string;\n purpleLightBackgroundHover: string;\n purpleLightBorder: string;\n purpleLightBorderHover: string;\n blueDark: string;\n blueDarkHover: string;\n blueDarkBackground: string;\n blueDarkBackgroundHover: string;\n blueDarkBorder: string;\n blueDarkBorderHover: string;\n blueMid: string;\n blueMidHover: string;\n blueMidBackground: string;\n blueMidBackgroundHover: string;\n blueMidBorder: string;\n blueMidBorderHover: string;\n blue: string;\n blueHover: string;\n blueBackground: string;\n blueBackgroundHover: string;\n blueBorder: string;\n blueBorderHover: string;\n blueLight: string;\n blueLightHover: string;\n blueLightBackground: string;\n blueLightBackgroundHover: string;\n blueLightBorder: string;\n blueLightBorderHover: string;\n tealDark: string;\n tealDarkHover: string;\n tealDarkBackground: string;\n tealDarkBackgroundHover: string;\n tealDarkBorder: string;\n tealDarkBorderHover: string;\n teal: string;\n tealHover: string;\n tealBackground: string;\n tealBackgroundHover: string;\n tealBorder: string;\n tealBorderHover: string;\n tealLight: string;\n tealLightHover: string;\n tealLightBackground: string;\n tealLightBackgroundHover: string;\n tealLightBorder: string;\n tealLightBorderHover: string;\n greenDark: string;\n greenDarkHover: string;\n greenDarkBackground: string;\n greenDarkBackgroundHover: string;\n greenDarkBorder: string;\n greenDarkBorderHover: string;\n green: string;\n greenHover: string;\n greenBackground: string;\n greenBackgroundHover: string;\n greenBorder: string;\n greenBorderHover: string;\n greenLight: string;\n greenLightHover: string;\n greenLightBackground: string;\n greenLightBackgroundHover: string;\n greenLightBorder: string;\n greenLightBorderHover: string;\n}\n\nexport const ColorClassNames: IColorClassNames = {} as IColorClassNames;\n\nfor (const colorName in DefaultPalette) {\n if (DefaultPalette.hasOwnProperty(colorName)) {\n // Foreground color\n _defineGetter(ColorClassNames, colorName, '', false, 'color');\n\n // Hover color\n _defineGetter(ColorClassNames, colorName, 'Hover', true, 'color');\n\n // Background color\n _defineGetter(ColorClassNames, colorName, 'Background', false, 'background');\n\n // Background hover\n _defineGetter(ColorClassNames, colorName, 'BackgroundHover', true, 'background');\n\n // Border color\n _defineGetter(ColorClassNames, colorName, 'Border', false, 'borderColor');\n\n // Border hover color\n _defineGetter(ColorClassNames, colorName, 'BorderHover', true, 'borderColor');\n }\n}\n\n/**\n * Defines a getter for the given class configuration.\n */\nfunction _defineGetter(\n obj: IColorClassNames,\n colorName: string,\n suffix: string,\n isHover: boolean,\n cssProperty: string,\n): void {\n Object.defineProperty(obj, colorName + suffix, {\n get: (): string => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const style: IRawStyle = { [cssProperty]: (getTheme().palette as any)[colorName] };\n\n return mergeStyles(isHover ? { selectors: { ':hover': style } } : style).toString();\n },\n enumerable: true,\n configurable: true,\n });\n}\n","import { IRawStyle } from '../MergeStyles';\n\nexport const HighContrastSelector = '@media screen and (-ms-high-contrast: active)';\nexport const HighContrastSelectorWhite = '@media screen and (-ms-high-contrast: black-on-white)';\nexport const HighContrastSelectorBlack = '@media screen and (-ms-high-contrast: white-on-black)';\nexport const EdgeChromiumHighContrastSelector = '@media screen and (forced-colors: active)';\n\nexport const ScreenWidthMinSmall = 320;\nexport const ScreenWidthMinMedium = 480;\nexport const ScreenWidthMinLarge = 640;\nexport const ScreenWidthMinXLarge = 1024;\nexport const ScreenWidthMinXXLarge = 1366;\nexport const ScreenWidthMinXXXLarge = 1920;\nexport const ScreenWidthMaxSmall = ScreenWidthMinMedium - 1;\nexport const ScreenWidthMaxMedium = ScreenWidthMinLarge - 1;\nexport const ScreenWidthMaxLarge = ScreenWidthMinXLarge - 1;\nexport const ScreenWidthMaxXLarge = ScreenWidthMinXXLarge - 1;\nexport const ScreenWidthMaxXXLarge = ScreenWidthMinXXXLarge - 1;\n\nexport const ScreenWidthMinUhfMobile = 768;\n\nexport function getScreenSelector(min: number, max: number): string {\n return `@media only screen and (min-width: ${min}px) and (max-width: ${max}px)`;\n}\n\n/**\n * The style which turns off high contrast adjustment in (only) Edge Chromium browser.\n */\nexport function getEdgeChromiumNoHighContrastAdjustSelector(): { [EdgeChromiumHighContrastSelector]: IRawStyle } {\n return {\n [EdgeChromiumHighContrastSelector]: {\n forcedColorAdjust: 'none',\n },\n };\n}\n","export namespace ZIndexes {\n export const Nav: number = 1;\n /**\n * @deprecated ScrollablePane\n */\n export const ScrollablePane: number = 1;\n export const FocusStyle: number = 1;\n export const Coachmark: number = 1000;\n export const Layer: number = 1000000;\n export const KeytipLayer: number = 1000001;\n}\n","import { IRawStyle } from '@uifabric/merge-styles';\nimport { IGetFocusStylesOptions, ITheme } from '../interfaces/index';\nimport { HighContrastSelector } from './CommonStyles';\nimport { IsFocusVisibleClassName } from '@uifabric/utilities';\nimport { ZIndexes } from './zIndexes';\n\n/**\n * Generates a focus style which can be used to define an :after focus border.\n *\n * @param theme - The theme object to use.\n * @param options - Options to customize the focus border.\n * @returns The style object.\n */\nexport function getFocusStyle(theme: ITheme, options?: IGetFocusStylesOptions): IRawStyle;\n/**\n * Generates a focus style which can be used to define an :after focus border.\n *\n * @param theme - The theme object to use.\n * @param inset - The number of pixels to inset the border.\n * @param position - The positioning applied to the container. Must\n * be 'relative' or 'absolute' so that the focus border can live around it.\n * @param highContrastStyle - Style for high contrast mode.\n * @param borderColor - Color of the border.\n * @param outlineColor - Color of the outline.\n * @param isFocusedOnly - If the styles should apply on focus or not.\n * @returns The style object.\n * @deprecated Use the object parameter version instead.\n */\nexport function getFocusStyle(\n theme: ITheme,\n inset?: number,\n position?: 'relative' | 'absolute',\n highContrastStyle?: IRawStyle | undefined,\n borderColor?: string,\n outlineColor?: string,\n isFocusedOnly?: boolean,\n): IRawStyle;\nexport function getFocusStyle(\n theme: ITheme,\n insetOrOptions?: number | IGetFocusStylesOptions,\n position?: 'relative' | 'absolute',\n highContrastStyle?: IRawStyle,\n borderColor?: string,\n outlineColor?: string,\n isFocusedOnly?: boolean,\n): IRawStyle {\n if (typeof insetOrOptions === 'number' || !insetOrOptions) {\n return _getFocusStyleInternal(theme, {\n inset: insetOrOptions,\n position,\n highContrastStyle,\n borderColor,\n outlineColor,\n isFocusedOnly,\n });\n } else {\n return _getFocusStyleInternal(theme, insetOrOptions);\n }\n}\n\nfunction _getFocusStyleInternal(theme: ITheme, options: IGetFocusStylesOptions = {}): IRawStyle {\n const {\n inset = 0,\n width = 1,\n position = 'relative',\n highContrastStyle,\n borderColor = theme.palette.white,\n outlineColor = theme.palette.neutralSecondary,\n isFocusedOnly = true,\n } = options;\n\n return {\n // Clear browser-specific focus styles and use 'transparent' as placeholder for focus style.\n outline: 'transparent',\n // Requirement because pseudo-element is absolutely positioned.\n position,\n\n selectors: {\n // Clear the focus border in Firefox.\n // Reference: http://stackoverflow.com/a/199319/1436671\n '::-moz-focus-inner': {\n border: '0',\n },\n\n // When the element that uses this mixin is in a :focus state, add a pseudo-element to\n // create a border.\n [`.${IsFocusVisibleClassName} &${isFocusedOnly ? ':focus' : ''}:after`]: {\n content: '\"\"',\n position: 'absolute',\n left: inset + 1,\n top: inset + 1,\n bottom: inset + 1,\n right: inset + 1,\n border: `${width}px solid ${borderColor}`,\n outline: `${width}px solid ${outlineColor}`,\n zIndex: ZIndexes.FocusStyle,\n selectors: {\n [HighContrastSelector]: highContrastStyle,\n },\n },\n },\n };\n}\n\n/**\n * Generates style to clear browser specific focus styles.\n */\nexport function focusClear(): IRawStyle {\n return {\n selectors: {\n '&::-moz-focus-inner': {\n // Clear the focus border in Firefox. Reference: http://stackoverflow.com/a/199319/1436671\n border: 0,\n },\n '&': {\n // Clear browser specific focus styles and use transparent as placeholder for focus style\n outline: 'transparent',\n },\n },\n };\n}\n\n/**\n * Generates a style which can be used to set a border on focus.\n *\n * @param theme - The theme object to use.\n * @param inset - The number of pixels to inset the border (default 0)\n * @param width - The border width in pixels (default 1)\n * @param color - Color of the outline (default `theme.palette.neutralSecondary`)\n * @returns The style object.\n */\nexport function getFocusOutlineStyle(theme: ITheme, inset: number = 0, width: number = 1, color?: string): IRawStyle {\n return {\n selectors: {\n [`:global(${IsFocusVisibleClassName}) &:focus`]: {\n outline: `${width} solid ${color || theme.palette.neutralSecondary}`,\n outlineOffset: `${-inset}px`,\n },\n },\n };\n}\n\n/**\n * Generates text input border styles on focus.\n *\n * @param borderColor - Color of the border.\n * @param borderRadius - Radius of the border.\n * @param borderType - Type of the border.\n * @param borderPosition - Position of the border relative to the input element (default to -1\n * as it's the most common border width of the input element)\n * @returns The style object.\n */\nexport const getInputFocusStyle = (\n borderColor: string,\n borderRadius: string | number,\n borderType: 'border' | 'borderBottom' = 'border',\n borderPosition: number = -1,\n): IRawStyle => {\n const isBorderBottom = borderType === 'borderBottom';\n\n return {\n borderColor,\n selectors: {\n ':after': {\n pointerEvents: 'none',\n content: \"''\",\n position: 'absolute',\n left: isBorderBottom ? 0 : borderPosition,\n top: borderPosition,\n bottom: borderPosition,\n right: isBorderBottom ? 0 : borderPosition,\n [borderType]: `2px solid ${borderColor}`,\n borderRadius,\n width: borderType === 'borderBottom' ? '100%' : undefined,\n selectors: {\n [HighContrastSelector]: {\n [borderType === 'border' ? 'borderColor' : 'borderBottomColor']: 'Highlight',\n },\n },\n },\n },\n };\n};\n","import { IRawStyle } from '@uifabric/merge-styles';\n\nexport const hiddenContentStyle: IRawStyle = {\n position: 'absolute',\n width: 1,\n height: 1,\n margin: -1,\n padding: 0,\n border: 0,\n overflow: 'hidden',\n};\n","import { IRawStyle, keyframes } from '@uifabric/merge-styles';\n\nconst DEFAULT_DURATION = '14s';\nconst DEFAULT_DELAY = '2s';\nconst DEFAULT_ITERATION_COUNT = '1';\n\nfunction _continuousPulseStepOne(beaconColorOne: string, innerDimension: string): IRawStyle {\n return {\n borderColor: beaconColorOne,\n borderWidth: '0px',\n width: innerDimension,\n height: innerDimension,\n };\n}\n\nfunction _continuousPulseStepTwo(borderWidth: string): IRawStyle {\n return {\n opacity: 1,\n borderWidth: borderWidth,\n };\n}\n\nfunction _continuousPulseStepThree(): IRawStyle {\n return {\n opacity: 1,\n };\n}\n\nfunction _continuousPulseStepFour(beaconColorTwo: string, outerDimension: string): IRawStyle {\n return {\n borderWidth: '0',\n width: outerDimension,\n height: outerDimension,\n opacity: 0,\n borderColor: beaconColorTwo,\n };\n}\n\nfunction _continuousPulseStepFive(beaconColorOne: string, innerDimension: string): IRawStyle {\n return {\n ..._continuousPulseStepOne(beaconColorOne, innerDimension),\n ...{\n opacity: 0,\n },\n };\n}\n\nfunction _continuousPulseAnimationDouble(\n beaconColorOne: string,\n beaconColorTwo: string,\n innerDimension: string,\n outerDimension: string,\n borderWidth: string,\n): string {\n return keyframes({\n '0%': _continuousPulseStepOne(beaconColorOne, innerDimension),\n '1.42%': _continuousPulseStepTwo(borderWidth),\n '3.57%': _continuousPulseStepThree(),\n '7.14%': _continuousPulseStepFour(beaconColorTwo, outerDimension),\n '8%': _continuousPulseStepFive(beaconColorOne, innerDimension),\n '29.99%': _continuousPulseStepFive(beaconColorOne, innerDimension),\n '30%': _continuousPulseStepOne(beaconColorOne, innerDimension),\n '31.42%': _continuousPulseStepTwo(borderWidth),\n '33.57%': _continuousPulseStepThree(),\n '37.14%': _continuousPulseStepFour(beaconColorTwo, outerDimension),\n '38%': _continuousPulseStepFive(beaconColorOne, innerDimension),\n '79.42%': _continuousPulseStepFive(beaconColorOne, innerDimension),\n '79.43': _continuousPulseStepOne(beaconColorOne, innerDimension),\n '81.85': _continuousPulseStepTwo(borderWidth),\n '83.42': _continuousPulseStepThree(),\n '87%': _continuousPulseStepFour(beaconColorTwo, outerDimension),\n '100%': {},\n });\n}\n\nfunction _continuousPulseAnimationSingle(\n beaconColorOne: string,\n beaconColorTwo: string,\n innerDimension: string,\n outerDimension: string,\n borderWidth: string,\n): string {\n return keyframes({\n '0%': _continuousPulseStepOne(beaconColorOne, innerDimension),\n '14.2%': _continuousPulseStepTwo(borderWidth),\n '35.7%': _continuousPulseStepThree(),\n '71.4%': _continuousPulseStepFour(beaconColorTwo, outerDimension),\n '100%': {},\n });\n}\n\nfunction _createDefaultAnimation(animationName: string, delayLength?: string): IRawStyle {\n return {\n animationName,\n animationIterationCount: DEFAULT_ITERATION_COUNT,\n animationDuration: DEFAULT_DURATION,\n animationDelay: delayLength || DEFAULT_DELAY,\n };\n}\n\nexport const PulsingBeaconAnimationStyles = {\n continuousPulseAnimationDouble: _continuousPulseAnimationDouble,\n continuousPulseAnimationSingle: _continuousPulseAnimationSingle,\n createDefaultAnimation: _createDefaultAnimation,\n};\n","import { ITheme } from '../interfaces/index';\nimport { Stylesheet } from '@uifabric/merge-styles';\nimport { memoizeFunction } from '@uifabric/utilities';\n\nexport type GlobalClassNames = Record;\n\n/**\n * Internal memoized function which simply takes in the class map and the\n * disable boolean. These immutable values can be memoized.\n */\nconst _getGlobalClassNames = memoizeFunction(\n (classNames: GlobalClassNames, disableGlobalClassNames?: boolean): GlobalClassNames => {\n const styleSheet = Stylesheet.getInstance();\n\n if (disableGlobalClassNames) {\n // disable global classnames\n return (Object.keys(classNames) as (keyof T)[]).reduce((acc, className) => {\n acc[className] = styleSheet.getClassName(classNames[className]);\n return acc;\n }, {} as GlobalClassNames);\n }\n\n // use global classnames\n return classNames;\n },\n);\n\n/**\n * Checks for the `disableGlobalClassNames` property on the `theme` to determine if it should return `classNames`\n * Note that calls to this function are memoized.\n *\n * @param classNames - The collection of global class names that apply when the flag is false. Make sure to pass in\n * the same instance on each call to benefit from memoization.\n * @param theme - The theme to check the flag on\n * @param disableGlobalClassNames - Optional. Explicitly opt in/out of disabling global classnames. Defaults to false.\n */\nexport function getGlobalClassNames(\n classNames: GlobalClassNames,\n theme: ITheme,\n disableGlobalClassNames?: boolean,\n): GlobalClassNames {\n return _getGlobalClassNames(\n classNames,\n disableGlobalClassNames !== undefined ? disableGlobalClassNames : theme.disableGlobalClassNames,\n );\n}\n","import { Customizations, mergeSettings, ICustomizerContext } from '@uifabric/utilities';\nimport { ISchemeNames, ITheme } from '../interfaces/index';\n\n/**\n * @internal\n * This function is still in experimental phase in support of Foundation experimental development.\n * Its API signature and existence are subject to change.\n *\n * Modify context to activate the specified scheme or theme. For schemes, look in context (if available) and fall back\n * to global Customizations. If both scheme and theme are specified, scheme will be looked up in theme. In this case,\n * scheme must be present in theme arg, otherwise new context will default to theme arg (there is no fallback to\n * settings to look up scheme.)\n *\n * @param context - Context in which to get schemed customizations.\n * @param scheme - Scheme to get customizations for from theme arg (if supplied) OR from context and global settings.\n * @param theme - Theme to merge into context.\n * @returns modified schemed context if scheme is valid and not already applied, unmodified context otherwise.\n */\nexport function getThemedContext(\n context: ICustomizerContext,\n scheme?: ISchemeNames,\n theme?: ITheme,\n): ICustomizerContext {\n let newContext: ICustomizerContext = context;\n let newSettings;\n\n // Only fall back to context and customizations when theme arg is not provided.\n let schemeSource = theme || Customizations.getSettings(['theme'], undefined, context.customizations).theme;\n\n if (theme) {\n newSettings = { theme };\n }\n\n const schemeTheme: ITheme | undefined =\n scheme && schemeSource && schemeSource.schemes && schemeSource.schemes[scheme];\n\n // These first two checks are logically redundant but TS doesn't infer schemeSource.schemes is defined\n // when schemeTheme is defined.\n if (schemeSource && schemeTheme && schemeSource !== schemeTheme) {\n newSettings = { theme: schemeTheme };\n newSettings.theme.schemes = schemeSource.schemes;\n }\n\n if (newSettings) {\n newContext = {\n customizations: {\n settings: mergeSettings(context.customizations.settings, newSettings),\n scopedSettings: context.customizations.scopedSettings,\n },\n };\n }\n\n return newContext;\n}\n","// This file mimics styles and mixins from _General.Mixins.scss\n\nimport { IRawStyle } from '@uifabric/merge-styles';\n\nexport const normalize: IRawStyle = {\n boxShadow: 'none',\n margin: 0,\n padding: 0,\n boxSizing: 'border-box',\n};\n\nexport const noWrap: IRawStyle = {\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n};\n","import { IRawStyle } from '@uifabric/merge-styles';\nimport { ITheme, ISemanticColors, IPalette } from '../interfaces/index';\n\ninterface IRGB {\n r: number;\n g: number;\n b: number;\n}\n\nconst DEFAULT_HEIGHT = '50%';\nconst DEFAULT_WIDTH = 20;\n\n/**\n * - Generates a style used to fade out an overflowing content by defining a style for an :after pseudo element.\n * - Apply it to the :after selector for all combination of states the parent of content might have (normal, hover,\n * selected, focus).\n * - Requires the target to have position set to relative and overflow set to hidden.\n *\n * @example\n * ```tsx\n * // Assuming the following DOM structure and the different background colors coming from\n * // the parent holding the content.\n *
\n * Overflown Content\n *
\n * ```\n * ```ts\n * // This is how the style set would look in Component.styles.ts\n * const { bodyBackground } = theme.semanticColors;\n * const { neutralLighter } = theme.palette;\n *\n * // The second argument of getFadedOverflowStyle function is a string representing a key of\n * // ISemanticColors or IPalette.\n *\n * const styles = {\n * parent: [\n * backgroundColor: bodyBackground,\n * selectors: {\n * '&:hover: {\n * backgroundColor: neutralLighter\n * },\n * '$content:after': {\n * ...getFadedOverflowStyle(theme, 'bodyBackground')\n * },\n * '&:hover $content:after': {\n * ...getFadedOverflowStyle(theme, 'neutralLighter')\n * }\n * }\n * ],\n * content: [\n * width: '100%',\n * display: 'inline-block',\n * position: 'relative',\n * overflow: 'hidden'\n * ]\n * }\n * ```\n * @param theme - The theme object to use.\n * @param color - The background color to fade out to. Accepts only keys of ISemanticColors or IPalette.\n * Defaults to 'bodyBackground'.\n * @param direction - The direction of the overflow. Defaults to horizontal.\n * @param width - The width of the fading overflow. Vertical direction defaults it to 100% vs 20px when horizontal.\n * @param height - The Height of the fading overflow. Vertical direction defaults it to 50% vs 100% when horizontal.\n * @returns The style object.\n */\nexport function getFadedOverflowStyle(\n theme: ITheme,\n color: keyof ISemanticColors | keyof IPalette = 'bodyBackground',\n direction: 'horizontal' | 'vertical' = 'horizontal',\n width: string | number = getDefaultValue('width', direction),\n height: string | number = getDefaultValue('height', direction),\n): IRawStyle {\n // Get the color value string from the theme semanticColors or palette.\n const colorValue: string =\n theme.semanticColors[color as keyof ISemanticColors] || theme.palette[color as keyof IPalette];\n // Get the red, green, blue values of the colorValue.\n const rgbColor: IRGB = color2rgb(colorValue);\n // Apply opacity 0 to serve as a start color of the gradient.\n const rgba = `rgba(${rgbColor.r}, ${rgbColor.g}, ${rgbColor.b}, 0)`;\n // Get the direction of the gradient. (mergeStyles takes care of RTL direction)\n const gradientDirection = direction === 'vertical' ? 'to bottom' : 'to right';\n\n return {\n content: '\"\"',\n position: 'absolute',\n right: 0,\n bottom: 0,\n width: width,\n height: height,\n pointerEvents: 'none',\n backgroundImage: `linear-gradient(${gradientDirection}, ${rgba} 0%, ${colorValue} 100%)`,\n };\n}\n\n// TODO consider moving this to a separate module along with some more color functions from OUFR/utilities.\n/**\n * Helper function to convert a string hex color to an RGB object.\n *\n * @param colorValue - Color to be converted from hex to rgba.\n */\nfunction color2rgb(colorValue: string): IRGB {\n if (colorValue[0] === '#') {\n // If it's a hex code\n return {\n r: parseInt(colorValue.slice(1, 3), 16),\n g: parseInt(colorValue.slice(3, 5), 16),\n b: parseInt(colorValue.slice(5, 7), 16),\n };\n } else if (colorValue.indexOf('rgba(') === 0) {\n // If it's an rgba color string\n colorValue = colorValue.match(/rgba\\(([^)]+)\\)/)![1];\n const parts = colorValue.split(/ *, */).map(Number);\n\n return {\n r: parts[0],\n g: parts[1],\n b: parts[2],\n };\n }\n // The only remaining possibility is transparent.\n return {\n r: 255,\n g: 255,\n b: 255,\n };\n}\n\n/**\n * Helper function to get the default values for parameters of main function.\n *\n * @param style - Which style to get the default value for.\n * @param direction - What direction to take into consideration.\n */\nfunction getDefaultValue(style: 'width' | 'height', direction: string): number | string {\n if (style === 'width') {\n return direction === 'horizontal' ? DEFAULT_WIDTH : '100%';\n } else {\n return direction === 'vertical' ? DEFAULT_HEIGHT : '100%';\n }\n}\n","import { IStyle } from '@uifabric/merge-styles';\n\n/**\n * Generates placeholder style for each of the browsers supported by office-ui-fabric-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';\nimport { IRawStyle, IFontFace, fontFace, mergeStyles, Stylesheet } from '@uifabric/merge-styles';\n\nexport interface IIconSubset {\n fontFace?: IFontFace;\n icons: {\n [key: string]: string | JSX.Element;\n };\n\n style?: IRawStyle;\n}\n\nexport interface IIconSubsetRecord extends IIconSubset {\n isRegistered?: boolean;\n className?: string;\n}\n\nexport interface IIconRecord {\n code: string | undefined;\n subset: IIconSubsetRecord;\n}\n\nexport interface IIconOptions {\n /**\n * By default, registering the same set of icons will generate a console warning per duplicate icon\n * registered, because this scenario can create unexpected consequences.\n *\n * Some scenarios include:\n *\n * Icon set was previously registered using a different base url.\n * Icon set was previously registered but a different version was provided.\n * Icons in a previous registered set overlap with a new set.\n *\n * To simply ignore previously registered icons, you can specify to disable warnings. This means\n * that if an icon which was previous registered is registered again, it will be silently ignored.\n * However, consider whether the problems listed above will cause issues.\n **/\n disableWarnings: boolean;\n\n /**\n * @deprecated\n * Use 'disableWarnings' instead.\n */\n warnOnMissingIcons?: boolean;\n}\n\nexport interface IIconRecords {\n __options: IIconOptions;\n __remapped: { [key: string]: string };\n [key: string]: IIconRecord | {};\n}\n\nconst ICON_SETTING_NAME = 'icons';\n\nconst _iconSettings = GlobalSettings.getValue(ICON_SETTING_NAME, {\n __options: {\n disableWarnings: false,\n warnOnMissingIcons: true,\n },\n __remapped: {},\n});\n\n// Reset icon registration on stylesheet resets.\nconst stylesheet = Stylesheet.getInstance();\n\nif (stylesheet && stylesheet.onReset) {\n stylesheet.onReset(() => {\n for (const name in _iconSettings) {\n if (_iconSettings.hasOwnProperty(name) && !!(_iconSettings[name] as IIconRecord).subset) {\n (_iconSettings[name] as IIconRecord).subset.className = undefined;\n }\n }\n });\n}\n\n/**\n * Normalizes an icon name for consistent mapping.\n * Current implementation is to convert the icon name to lower case.\n *\n * @param name - Icon name to normalize.\n * @returns {string} Normalized icon name to use for indexing and mapping.\n */\nconst normalizeIconName = (name: string): string => name.toLowerCase();\n\n/**\n * Registers a given subset of icons.\n *\n * @param iconSubset - the icon subset definition.\n */\nexport function registerIcons(iconSubset: IIconSubset, options?: Partial): void {\n let subset = {\n ...iconSubset,\n isRegistered: false,\n className: undefined,\n };\n let { icons } = iconSubset;\n\n // Grab options, optionally mix user provided ones on top.\n options = options ? { ..._iconSettings.__options, ...options } : _iconSettings.__options;\n\n for (const iconName in icons) {\n if (icons.hasOwnProperty(iconName)) {\n const code = icons[iconName];\n const normalizedIconName = normalizeIconName(iconName);\n\n if (_iconSettings[normalizedIconName]) {\n _warnDuplicateIcon(iconName);\n } else {\n _iconSettings[normalizedIconName] = {\n code,\n subset,\n } as IIconRecord;\n }\n }\n }\n}\n\n/**\n * Unregisters icons by name.\n *\n * @param iconNames - List of icons to unregister.\n */\nexport function unregisterIcons(iconNames: string[]): void {\n const options = _iconSettings.__options;\n\n for (const iconName of iconNames) {\n const normalizedIconName = normalizeIconName(iconName);\n if (_iconSettings[normalizedIconName]) {\n delete _iconSettings[normalizedIconName];\n } else {\n // Warn that we are trying to delete an icon that doesn't exist\n if (!options.disableWarnings) {\n warn(`The icon \"${iconName}\" tried to unregister but was not registered.`);\n }\n }\n\n // Delete any aliases for this iconName\n if (_iconSettings.__remapped[normalizedIconName]) {\n delete _iconSettings.__remapped[normalizedIconName];\n }\n\n // Delete any items that were an alias for this iconName\n Object.keys(_iconSettings.__remapped).forEach((key: string) => {\n if (_iconSettings.__remapped[key] === normalizedIconName) {\n delete _iconSettings.__remapped[key];\n }\n });\n }\n}\n\n/**\n * Remaps one icon name to another.\n */\nexport function registerIconAlias(iconName: string, mappedToName: string): void {\n _iconSettings.__remapped[normalizeIconName(iconName)] = normalizeIconName(mappedToName);\n}\n\n/**\n * Gets an icon definition. If an icon is requested but the subset has yet to be registered,\n * it will get registered immediately.\n *\n * @public\n * @param name - Name of icon.\n */\nexport function getIcon(name?: string): IIconRecord | undefined {\n let icon: IIconRecord | undefined = undefined;\n const options = _iconSettings.__options;\n\n name = name ? normalizeIconName(name) : '';\n name = _iconSettings.__remapped[name] || name;\n\n if (name) {\n icon = _iconSettings[name!] as IIconRecord;\n\n if (icon) {\n let { subset } = icon;\n if (subset && subset.fontFace) {\n if (!subset.isRegistered) {\n fontFace(subset.fontFace);\n subset.isRegistered = true;\n }\n\n if (!subset.className) {\n subset.className = mergeStyles(subset.style, {\n fontFamily: subset.fontFace.fontFamily,\n fontWeight: subset.fontFace.fontWeight || 'normal',\n fontStyle: subset.fontFace.fontStyle || 'normal',\n });\n }\n }\n } else {\n // eslint-disable-next-line deprecation/deprecation\n if (!options.disableWarnings && options.warnOnMissingIcons) {\n warn(\n `The icon \"${name}\" was used but not registered. See https://github.com/microsoft/fluentui/wiki/Using-icons for more information.`,\n );\n }\n }\n }\n\n return icon;\n}\n\n/**\n * Sets the icon options.\n *\n * @public\n */\nexport function setIconOptions(options: Partial): void {\n _iconSettings.__options = {\n ..._iconSettings.__options,\n ...options,\n };\n}\n\nlet _missingIcons: string[] = [];\nlet _missingIconsTimer: number | undefined = undefined;\n\nfunction _warnDuplicateIcon(iconName: string): void {\n const options = _iconSettings.__options;\n const warningDelay = 2000;\n const maxIconsInMessage = 10;\n\n if (!options.disableWarnings) {\n _missingIcons.push(iconName);\n if (_missingIconsTimer === undefined) {\n _missingIconsTimer = setTimeout(() => {\n warn(\n `Some icons were re-registered. Applications should only call registerIcons for any given ` +\n `icon once. Redefining what an icon is may have unintended consequences. Duplicates ` +\n `include: \\n` +\n _missingIcons.slice(0, maxIconsInMessage).join(', ') +\n (_missingIcons.length > maxIconsInMessage ? ` (+ ${_missingIcons.length - maxIconsInMessage} more)` : ''),\n );\n _missingIconsTimer = undefined;\n _missingIcons = [];\n }, warningDelay);\n }\n }\n}\n","import { mergeStyles, IStyle } from '@uifabric/merge-styles';\nimport { getIcon } from './icons';\n\nconst defaultIconStyles: IStyle = {\n display: 'inline-block',\n};\n\n/**\n * Gets an icon classname. You should be able to add this classname to an I tag with no\n * additional classnames, and render the icon.\n *\n * @public\n */\nexport function getIconClassName(name: string): string {\n let className = '';\n const icon = getIcon(name);\n\n if (icon) {\n className = mergeStyles(icon.subset.className, defaultIconStyles, {\n selectors: {\n '::before': {\n content: `\"${icon.code}\"`,\n },\n },\n });\n }\n\n return className;\n}\n","// Do not modify this file; it is generated as part of publish.\n// The checked in version is a placeholder only and will not be updated.\nimport { setVersion } from '@uifabric/set-version';\nsetVersion('@uifabric/file-type-icons', '7.5.2');","export { initializeFileTypeIcons } from './initializeFileTypeIcons';\n\nexport { FileTypeIconSize, IFileTypeIconOptions, ImageFileType, getFileTypeIconProps } from './getFileTypeIconProps';\n\nexport { FileIconType } from './FileIconType';\n\nimport './version';\n","export default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\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 { DirectionalHint } from '../../common/DirectionalHint';\nimport { IRectangle } 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}\nexport interface IPositionProps {\n target?: Element | MouseEvent | IPoint;\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 IPoint {\n x: number;\n y: number;\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","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","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} 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 {string[]} 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} 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} 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 {string} 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 { _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","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 {\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 at v1.3.6, to replace the src in case of errors, use `onLoadingStateChange` instead and\n * rerender the Image with a difference src.\n * @deprecated Use `onLoadingStateChange` instead and\n * rerender the Image with a difference 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/**\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 at v1.3.6, to replace the src in case of errors, use `onLoadingStateChange` instead\n * and rerender the Image with a difference src.\n * @deprecated Use `onLoadingStateChange` instead\n * and rerender the Image with a difference src.\n */\n 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","export * from './components/Icon/index';\n","/**\n * Simulated enum for keycodes. These will get inlined by uglify when used much like an enum\n *\n * @public\n * {@docCategory KeyCodes}\n */\nexport const KeyCodes = {\n backspace: 8 as 8,\n tab: 9 as 9,\n enter: 13 as 13,\n shift: 16 as 16,\n ctrl: 17 as 17,\n alt: 18 as 18,\n pauseBreak: 19 as 19,\n capslock: 20 as 20,\n escape: 27 as 27,\n space: 32 as 32,\n pageUp: 33 as 33,\n pageDown: 34 as 34,\n end: 35 as 35,\n home: 36 as 36,\n left: 37 as 37,\n up: 38 as 38,\n right: 39 as 39,\n down: 40 as 40,\n insert: 45 as 45,\n del: 46 as 46,\n zero: 48 as 48,\n one: 49 as 49,\n two: 50 as 50,\n three: 51 as 51,\n four: 52 as 52,\n five: 53 as 53,\n six: 54 as 54,\n seven: 55 as 55,\n eight: 56 as 56,\n nine: 57 as 57,\n a: 65 as 65,\n b: 66 as 66,\n c: 67 as 67,\n d: 68 as 68,\n e: 69 as 69,\n f: 70 as 70,\n g: 71 as 71,\n h: 72 as 72,\n i: 73 as 73,\n j: 74 as 74,\n k: 75 as 75,\n l: 76 as 76,\n m: 77 as 77,\n n: 78 as 78,\n o: 79 as 79,\n p: 80 as 80,\n q: 81 as 81,\n r: 82 as 82,\n s: 83 as 83,\n t: 84 as 84,\n u: 85 as 85,\n v: 86 as 86,\n w: 87 as 87,\n x: 88 as 88,\n y: 89 as 89,\n z: 90 as 90,\n leftWindow: 91 as 91,\n rightWindow: 92 as 92,\n select: 93 as 93,\n /* eslint-disable @typescript-eslint/naming-convention */\n zero_numpad: 96 as 96,\n one_numpad: 97 as 97,\n two_numpad: 98 as 98,\n three_numpad: 99 as 99,\n four_numpad: 100 as 100,\n five_numpad: 101 as 101,\n six_numpad: 102 as 102,\n seven_numpad: 103 as 103,\n eight_numpad: 104 as 104,\n nine_numpad: 105 as 105,\n /* eslint-enable @typescript-eslint/naming-convention */\n multiply: 106 as 106,\n add: 107 as 107,\n subtract: 109 as 109,\n decimalPoint: 110 as 110,\n divide: 111 as 111,\n f1: 112 as 112,\n f2: 113 as 113,\n f3: 114 as 114,\n f4: 115 as 115,\n f5: 116 as 116,\n f6: 117 as 117,\n f7: 118 as 118,\n f8: 119 as 119,\n f9: 120 as 120,\n f10: 121 as 121,\n f11: 122 as 122,\n f12: 123 as 123,\n numlock: 144 as 144,\n scrollLock: 145 as 145,\n semicolon: 186 as 186,\n equalSign: 187 as 187,\n comma: 188 as 188,\n dash: 189 as 189,\n period: 190 as 190,\n forwardSlash: 191 as 191,\n graveAccent: 192 as 192,\n openBracket: 219 as 219,\n backSlash: 220 as 220,\n closeBracket: 221 as 221,\n singleQuote: 222 as 222,\n};\nexport type KeyCodes = number;\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 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","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","import {\n labelProperties,\n audioProperties,\n videoProperties,\n olProperties,\n liProperties,\n anchorProperties,\n buttonProperties,\n inputProperties,\n textAreaProperties,\n selectProperties,\n optionProperties,\n tableProperties,\n trProperties,\n thProperties,\n tdProperties,\n colGroupProperties,\n colProperties,\n formProperties,\n iframeProperties,\n imgProperties,\n htmlElementProperties,\n getNativeProps,\n} from './properties';\nimport * as React from 'react';\n\nconst nativeElementMap: Record> = {\n label: labelProperties,\n audio: audioProperties,\n video: videoProperties,\n ol: olProperties,\n li: liProperties,\n a: anchorProperties,\n button: buttonProperties,\n input: inputProperties,\n textarea: textAreaProperties,\n select: selectProperties,\n option: optionProperties,\n table: tableProperties,\n tr: trProperties,\n th: thProperties,\n td: tdProperties,\n colGroup: colGroupProperties,\n col: colProperties,\n form: formProperties,\n iframe: iframeProperties,\n img: imgProperties,\n};\n\n/**\n * Given an element tagname and user props, filters the props to only allowed props for the given\n * element type.\n * @param tagName - Tag name (e.g. \"div\")\n * @param props - Props object\n * @param excludedPropNames - List of props to disallow\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function getNativeElementProps>(\n tagName: string,\n props: {},\n excludedPropNames?: string[],\n): TAttributes {\n const allowedPropNames = (tagName && nativeElementMap[tagName]) || htmlElementProperties;\n\n return getNativeProps(props, allowedPropNames, excludedPropNames);\n}\n","import { getWindow } from './dom/getWindow';\nimport { isDirectionalKeyCode } from './keyboard';\nimport { setFocusVisibility } from './setFocusVisibility';\n\ntype AppWindow =\n | (Window & {\n __hasInitializeFocusRects__: boolean;\n FabricConfig?: { disableFocusRects?: boolean };\n })\n | undefined;\n\n/**\n * Initializes the logic which:\n *\n * 1. Subscribes keydown and mousedown events. (It will only do it once per window,\n * so it's safe to call this method multiple times.)\n * 2. When the user presses directional keyboard keys, adds the 'ms-Fabric--isFocusVisible' classname\n * to the document body, removes the 'ms-Fabric-isFocusHidden' classname.\n * 3. When the user clicks a mouse button, adds the 'ms-Fabric-isFocusHidden' classname to the\n * document body, removes the 'ms-Fabric--isFocusVisible' classname.\n *\n * This logic allows components on the page to conditionally render focus treatments based on\n * the existence of global classnames, which simplifies logic overall.\n *\n * @param window - the window used to add the event listeners\n * @deprecated Use useFocusRects hook or FocusRects component instead.\n */\nexport function initializeFocusRects(window?: Window): void {\n const win = (window || getWindow()) as AppWindow;\n if (!win || win.FabricConfig?.disableFocusRects === true) {\n return;\n }\n\n if (!win.__hasInitializeFocusRects__) {\n win.__hasInitializeFocusRects__ = true;\n win.addEventListener('mousedown', _onMouseDown, true);\n win.addEventListener('pointerdown', _onPointerDown, true);\n win.addEventListener('keydown', _onKeyDown as () => void, true);\n }\n}\n\nfunction _onMouseDown(ev: MouseEvent): void {\n setFocusVisibility(false, ev.target as Element);\n}\n\nfunction _onPointerDown(ev: PointerEvent): void {\n if (ev.pointerType !== 'mouse') {\n setFocusVisibility(false, ev.target as Element);\n }\n}\n\nfunction _onKeyDown(ev: KeyboardEvent): void {\n // eslint-disable-next-line deprecation/deprecation\n isDirectionalKeyCode(ev.which) && setFocusVisibility(true, ev.target as Element);\n}\n","/**\n * The helper functions here will make the target element as modal to screen readers, by placing aria-hidden on elements\n * that are siblings to the target element and the target element's ancestors (because aria-hidden gets inherited).\n * That way, all other elements on the page are hidden to the screen reader.\n */\n\nimport { getDocument } from './dom/getDocument';\n\n/**\n * Call this on a target element to make it modal to screen readers.\n * Returns a function that undoes the changes it made.\n */\nexport function modalize(target: HTMLElement): () => void {\n let affectedNodes: HTMLElement[] = [];\n const targetDocument = getDocument(target) || document;\n\n // start at target, then recurse and do the same for parent, until we reach \n while (target !== targetDocument.body) {\n // grab all siblings of current element\n for (const sibling of (target.parentElement!.children as unknown) as Array) {\n // but ignore elements that are already aria-hidden\n if (sibling !== target && sibling.getAttribute('aria-hidden')?.toLowerCase() !== 'true') {\n affectedNodes.push(sibling);\n }\n }\n\n if (!target.parentElement) {\n break;\n }\n target = target.parentElement;\n }\n\n // take all those elements and set aria-hidden=true on them\n affectedNodes.forEach(node => {\n node.setAttribute('aria-hidden', 'true');\n });\n\n return () => {\n unmodalize(affectedNodes);\n affectedNodes = []; // dispose\n };\n}\n\n/**\n * Undoes the changes that modalize() did.\n */\nfunction unmodalize(affectedNodes: HTMLElement[]) {\n affectedNodes.forEach(node => {\n // set instead of removing in case other components explicitly set aria-hidden and do ==\"true\" or ==\"false\"\n node.setAttribute('aria-hidden', 'false');\n });\n}\n","let _baseUrl = '';\n\n/** Sets the current base url used for fetching images. */\nexport function getResourceUrl(url: string): string {\n return _baseUrl + url;\n}\n\n/** Gets the current base url used for fetching images. */\nexport function setBaseUrl(baseUrl: string): void {\n _baseUrl = baseUrl;\n}\n","import * as React from 'react';\r\nimport { extendComponent } from './extendComponent';\r\n\r\n/**\r\n * Generates a function to be attached to a React component, which can be called\r\n * as a replacement to setTimeout. In-flight async calls will be auto canceled if the component\r\n * is unmounting before the async code is executed, preventing bugs where code\r\n * accesses things within the component after being unmounted.\r\n */\r\nexport const safeSetTimeout = (component: React.Component) => {\r\n let activeTimeouts: Set;\r\n\r\n return (cb: Function, duration: number) => {\r\n if (!activeTimeouts) {\r\n activeTimeouts = new Set();\r\n\r\n extendComponent(component, {\r\n componentWillUnmount: () => {\r\n activeTimeouts.forEach((id: NodeJS.Timer) => clearTimeout(id));\r\n },\r\n });\r\n }\r\n\r\n const timeoutId = setTimeout(() => {\r\n activeTimeouts.delete(timeoutId);\r\n cb();\r\n }, duration);\r\n activeTimeouts.add(timeoutId);\r\n };\r\n};\r\n","/**\n * Function to apply default values to a component props object. This function is intended for function components,\n * to maintain parity with the `defaultProps` feature of class components. It accounts for properties that are\n * specified, but undefined.\n * @param defaultProps- An object with default values for various properties\n * @param propsWithoutDefaults- The props object passed into the component\n */\nexport function getPropsWithDefaults(\n defaultProps: Partial,\n propsWithoutDefaults: TProps,\n): TProps {\n const props = { ...propsWithoutDefaults };\n for (const key of Object.keys(defaultProps) as (keyof TProps)[]) {\n if (props[key] === undefined) {\n props[key] = defaultProps[key]!;\n }\n }\n\n return props;\n}\n","import * as React from 'react';\nimport { arraysEqual } from './array';\n\n/**\n * Internal state type for the ref.\n */\ntype LocalState = {\n refs: (React.Ref | undefined)[];\n resolver: (newValue: TType | TValue | null) => void;\n};\n\n/**\n * Set up a ref resolver function given internal state managed for the ref.\n * @param local Set\n */\nconst createResolver = (local: LocalState) => (newValue: TType | TValue | null) => {\n for (const ref of local.refs) {\n if (typeof ref === 'function') {\n ref(newValue);\n } else if (ref) {\n // work around the immutability of the React.Ref type\n ((ref as unknown) as React.MutableRefObject).current = newValue;\n }\n }\n};\n\n/**\n * Helper to merge refs from within class components.\n */\nexport const createMergedRef = (value?: TValue) => {\n const local: LocalState = ({\n refs: [],\n } as unknown) as LocalState;\n\n return (\n ...newRefs: (React.Ref | undefined)[]\n ): ((newValue: TType | TValue | null) => void) => {\n if (!local.resolver || !arraysEqual(local.refs, newRefs)) {\n local.resolver = createResolver(local);\n }\n\n local.refs = newRefs;\n\n return local.resolver;\n };\n};\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. BaseButton implementation\n * defaults to `true`.\n */\n openMenu: (shouldFocusOnContainer?: boolean, shouldFocusOnMount?: boolean) => void;\n}\n\n/**\n * {@docCategory Button}\n */\n// tslint:disable:deprecation\nexport interface IButtonProps\n extends React.AllHTMLAttributes<\n HTMLAnchorElement | HTMLButtonElement | HTMLDivElement | BaseButton | Button | HTMLSpanElement\n > {\n // tslint:enable: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 * 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 (if defined)\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 if this is a splitButton (split == true) then the primary action of a split button 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 provided and is true it adds 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 of onClick and setting the split property to true will\n * render a SplitButton.\n */\n menuProps?: IContextualMenuProps;\n\n /**\n * Callback that runs after Button's contextualmenu 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 * @defaultvalue 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 desciption 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 at v6.3.2, to be removed at \\>= v7.0.0. Use `menuAs` instead.\n * @deprecated 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 * Deprecated at v1.2.3, to be removed at \\>= v2.0.0. Use specific button component instead.\n * @defaultvalue ButtonType.default\n * @deprecated Use specific button component instead.\n */\n\n buttonType?: ButtonType;\n\n /**\n * Deprecated at v0.56.2, to be removed at \\>= v1.0.0. Just pass in button props instead.\n * they will be mixed into the button/anchor element rendered by the component.\n * @deprecated Use button props instead.\n */\n rootProps?: React.ButtonHTMLAttributes | React.AnchorHTMLAttributes;\n\n /**\n * Any custom data the developer wishes to associate with the menu item.\n * Deprecated, use `checked` if setting state.\n * @deprecated unused, use `checked` if setting state.\n */\n toggled?: boolean;\n\n /**\n * Any custom data the developer wishes to associate with the menu item.\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\n * defined in BaseButton.classnames.\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\n * defined in BaseButton.classnames.\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 * The default KeyCode is the down arrow.\n * A value of null can be provided to disable the key codes for opening the button menu.\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 perf is important.\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\n * initially mounts. Non-persisted menus will\n * 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 * See: https://github.com/microsoft/fluentui/issues/9034\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 */\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 * @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 /** \n \n \n \n {showCloseButton && (\n \n \n \n )}\n \n \n \n \n \n \n \n {showWeekNumbers && }\n {strings.shortDays.map((val, index) => (\n \n {strings.shortDays[(index + firstDayOfWeek) % DAYS_IN_WEEK]}\n \n ))}\n \n \n \n {weeks!.map((week, weekIndex) => (\n \n {showWeekNumbers && weekNumbers && (\n \n \n {weekNumbers[weekIndex]}\n \n \n )}\n {week.map((day, dayIndex) => {\n const isNavigatedDate = compareDates(navigatedDate, day.originalDate);\n return (\n this._setDayCellRef(element, day, isNavigatedDate)}\n onMouseOver={\n dateRangeType !== DateRangeType.Day && day.isInBounds\n ? this._onDayMouseOver(day.originalDate, weekIndex, dayIndex, dateRangeType)\n : undefined\n }\n onMouseLeave={\n dateRangeType !== DateRangeType.Day && day.isInBounds\n ? this._onDayMouseLeave(day.originalDate, weekIndex, dayIndex, dateRangeType)\n : undefined\n }\n onMouseDown={\n dateRangeType !== DateRangeType.Day && day.isInBounds\n ? this._onDayMouseDown(day.originalDate, weekIndex, dayIndex, dateRangeType)\n : undefined\n }\n onMouseUp={\n dateRangeType !== DateRangeType.Day && day.isInBounds\n ? this._onDayMouseUp(day.originalDate, weekIndex, dayIndex, dateRangeType)\n : undefined\n }\n role={'gridcell'}\n >\n this._setDayRef(element, day, isNavigatedDate)}\n disabled={!allFocusable && !day.isInBounds}\n aria-disabled={!day.isInBounds}\n type=\"button\"\n >\n {dateTimeFormatter.formatDay(day.originalDate)}\n \n \n );\n })}\n \n ))}\n \n \n \n \n );\n }\n\n public focus() {\n if (this.navigatedDay) {\n this.navigatedDay.tabIndex = 0;\n this.navigatedDay.focus();\n }\n }\n\n private _setDayRef(element: HTMLElement | null, day: IDayInfo, isNavigatedDate: boolean): void {\n if (isNavigatedDate) {\n this.navigatedDay = element;\n }\n }\n\n private _setDayCellRef(element: HTMLElement | null, day: IDayInfo, isNavigatedDate: boolean): void {\n this.days[day.key] = element;\n }\n\n private _getWeekCornerStyles(weeks: IDayInfo[][], dateRangeType: DateRangeType): IWeekCorners {\n const weekCornersStyled: any = {};\n\n switch (dateRangeType) {\n case DateRangeType.Month:\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 // 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 weeks[weekIndex - 1][dayIndex].originalDate.getMonth() ===\n weeks[weekIndex][dayIndex].originalDate.getMonth();\n const below =\n weeks[weekIndex + 1] &&\n weeks[weekIndex + 1][dayIndex] &&\n weeks[weekIndex + 1][dayIndex].originalDate.getMonth() ===\n weeks[weekIndex][dayIndex].originalDate.getMonth();\n const left =\n weeks[weekIndex][dayIndex - 1] &&\n weeks[weekIndex][dayIndex - 1].originalDate.getMonth() ===\n weeks[weekIndex][dayIndex].originalDate.getMonth();\n const right =\n weeks[weekIndex][dayIndex + 1] &&\n weeks[weekIndex][dayIndex + 1].originalDate.getMonth() ===\n weeks[weekIndex][dayIndex].originalDate.getMonth();\n\n const roundedTopLeft = !above && !left;\n const roundedTopRight = !above && !right;\n const roundedBottomLeft = !below && !left;\n const roundedBottomRight = !below && !right;\n\n let style = '';\n if (roundedTopLeft) {\n style = getRTL()\n ? style.concat(styles.topRightCornerDate + ' ')\n : style.concat(styles.topLeftCornerDate + ' ');\n }\n if (roundedTopRight) {\n style = getRTL()\n ? style.concat(styles.topLeftCornerDate + ' ')\n : style.concat(styles.topRightCornerDate + ' ');\n }\n if (roundedBottomLeft) {\n style = getRTL()\n ? style.concat(styles.bottomRightCornerDate + ' ')\n : style.concat(styles.bottomLeftCornerDate + ' ');\n }\n if (roundedBottomRight) {\n style = getRTL()\n ? style.concat(styles.bottomLeftCornerDate + ' ')\n : style.concat(styles.bottomRightCornerDate + ' ');\n }\n\n if (!above) {\n style = style.concat(styles.topDate + ' ');\n }\n\n if (!below) {\n style = style.concat(styles.bottomDate + ' ');\n }\n\n if (!right) {\n style = style.concat(styles.rightDate + ' ');\n }\n\n if (!left) {\n style = style.concat(styles.leftdate + ' ');\n }\n\n weekCornersStyled[weekIndex + '_' + dayIndex] = style;\n });\n });\n break;\n case DateRangeType.Week:\n case DateRangeType.WorkWeek:\n weeks.forEach((week: IDayInfo[], weekIndex: number) => {\n const minIndex = findIndex(week, (item: IDayInfo) => {\n return item.isInBounds;\n });\n const maxIndex = this._findLastIndex(week, (item: IDayInfo) => {\n return item.isInBounds;\n });\n\n const leftStyle = styles.topLeftCornerDate + ' ' + styles.bottomLeftCornerDate;\n const rightStyle = styles.topRightCornerDate + ' ' + styles.bottomRightCornerDate;\n weekCornersStyled[weekIndex + '_' + minIndex] = getRTL() ? rightStyle : leftStyle;\n weekCornersStyled[weekIndex + '_' + maxIndex] = getRTL() ? leftStyle : rightStyle;\n });\n break;\n }\n\n return weekCornersStyled;\n }\n\n private _getHighlightedCornerStyle(weekCorners: IWeekCorners, dayIndex: number, weekIndex: number): string {\n const cornerStyle = weekCorners[weekIndex + '_' + dayIndex] ? weekCorners[weekIndex + '_' + dayIndex] : '';\n return cornerStyle;\n }\n\n private _navigateMonthEdge(\n ev: React.KeyboardEvent,\n date: Date,\n weekIndex: number,\n dayIndex: number,\n ): void {\n const { minDate, maxDate } = this.props;\n let targetDate: Date | undefined = undefined;\n\n if (weekIndex === 0 && ev.which === KeyCodes.up) {\n targetDate = addWeeks(date, -1);\n } else if (weekIndex === this.state.weeks!.length - 1 && ev.which === KeyCodes.down) {\n targetDate = addWeeks(date, 1);\n } else if (dayIndex === 0 && ev.which === getRTLSafeKeyCode(KeyCodes.left)) {\n targetDate = addDays(date, -1);\n } else if (dayIndex === DAYS_IN_WEEK - 1 && ev.which === getRTLSafeKeyCode(KeyCodes.right)) {\n targetDate = addDays(date, 1);\n }\n\n // Don't navigate to out-of-bounds date\n if (\n targetDate &&\n (minDate ? compareDatePart(minDate, targetDate) < 1 : true) &&\n (maxDate ? compareDatePart(targetDate, maxDate) < 1 : true)\n ) {\n this.props.onNavigateDate(targetDate, true);\n ev.preventDefault();\n }\n }\n\n private _onKeyDown = (callback: () => void, ev: React.KeyboardEvent): void => {\n if (ev.which === KeyCodes.enter || ev.which === KeyCodes.space) {\n callback();\n }\n };\n\n private _onDayKeyDown = (\n originalDate: Date,\n weekIndex: number,\n dayIndex: number,\n ): ((ev: React.KeyboardEvent) => void) => {\n return (ev: React.KeyboardEvent): void => {\n if (ev.which === KeyCodes.enter) {\n this._onSelectDate(originalDate, ev);\n ev.preventDefault();\n } else {\n this._navigateMonthEdge(ev, originalDate, weekIndex, dayIndex);\n }\n };\n };\n\n private _onDayMouseDown = (\n originalDate: Date,\n weekIndex: number,\n dayIndex: number,\n dateRangeType: DateRangeType,\n ): ((ev: React.MouseEvent) => void) => {\n return (ev: React.MouseEvent): void => {\n // set the press styling\n if (dateRangeType === DateRangeType.Month) {\n this._applyFunctionToDayRefs((ref, day) => {\n if (ref && day.originalDate.getMonth() === originalDate.getMonth() && day.isInBounds) {\n ref.classList.add(styles.dayPress);\n }\n });\n } else {\n // week or work week view\n this._applyFunctionToDayRefs((ref, day, dayWeekIndex) => {\n if (ref && dayWeekIndex === weekIndex && day.isInBounds) {\n ref.classList.add(styles.dayPress);\n ref.classList.add(styles.dayIsHighlighted);\n } else if (ref) {\n ref.classList.remove(styles.dayIsHighlighted);\n }\n });\n }\n };\n };\n\n private _onDayMouseUp = (\n originalDate: Date,\n weekIndex: number,\n dayIndex: number,\n dateRangeType: DateRangeType,\n ): ((ev: React.MouseEvent) => void) => {\n return (ev: React.MouseEvent): void => {\n // remove press styling\n if (dateRangeType === DateRangeType.Month) {\n this._applyFunctionToDayRefs((ref, day) => {\n if (ref && day.originalDate.getMonth() === originalDate.getMonth() && day.isInBounds) {\n ref.classList.remove(styles.dayPress);\n }\n });\n } else {\n // week or work week view\n this._applyFunctionToDayRefs((ref, day, dayWeekIndex) => {\n if (ref && dayWeekIndex === weekIndex && day.isInBounds) {\n ref.classList.remove(styles.dayPress);\n }\n });\n }\n };\n };\n\n private _onDayMouseOver = (\n originalDate: Date,\n weekIndex: number,\n dayIndex: number,\n dateRangeType: DateRangeType,\n ): ((ev: React.MouseEvent) => void) => {\n return (ev: React.MouseEvent): void => {\n // set the hover styling on every day in the same month\n if (dateRangeType === DateRangeType.Month) {\n this._applyFunctionToDayRefs((ref, day) => {\n if (ref && day.originalDate.getMonth() === originalDate.getMonth() && day.isInBounds) {\n ref.classList.add(styles.dayHover);\n }\n });\n } else {\n // week or work week view\n this._applyFunctionToDayRefs((ref, day, dayWeekIndex) => {\n if (ref && dayWeekIndex === weekIndex && day.isInBounds) {\n ref.classList.add(styles.dayHover);\n }\n });\n }\n };\n };\n\n private _onDayMouseLeave = (\n originalDate: Date,\n weekIndex: number,\n dayIndex: number,\n dateRangeType: DateRangeType,\n ): ((ev: React.MouseEvent) => void) => {\n return (ev: React.MouseEvent): void => {\n // remove the hover and pressed styling\n if (dateRangeType === DateRangeType.Month) {\n this._applyFunctionToDayRefs((ref, day) => {\n if (ref && day.originalDate.getMonth() === originalDate.getMonth() && day.isInBounds) {\n ref.classList.remove(styles.dayHover);\n }\n });\n } else {\n // week or work week view\n this._applyFunctionToDayRefs((ref, day, dayWeekIndex) => {\n if (ref && dayWeekIndex === weekIndex && day.isInBounds) {\n ref.classList.remove(styles.dayHover);\n }\n });\n }\n };\n };\n\n private _onTableMouseLeave = (ev: React.MouseEvent): void => {\n if (\n (ev.target as HTMLElement).contains &&\n ev.relatedTarget &&\n (ev.relatedTarget as HTMLElement).contains &&\n (ev.target as HTMLElement).contains(ev.relatedTarget as HTMLElement)\n ) {\n return;\n }\n\n this._applyFunctionToDayRefs((ref, day) => {\n if (ref) {\n ref.classList.remove(styles.dayHover);\n ref.classList.remove(styles.dayPress);\n }\n });\n };\n\n private _onTableMouseUp = (ev: React.MouseEvent): void => {\n if (\n (ev.target as HTMLElement).contains &&\n ev.relatedTarget &&\n (ev.relatedTarget as HTMLElement).contains &&\n (ev.target as HTMLElement).contains(ev.relatedTarget as HTMLElement)\n ) {\n return;\n }\n\n this._applyFunctionToDayRefs((ref, day) => {\n if (ref) {\n ref.classList.remove(styles.dayPress);\n }\n });\n };\n\n private _applyFunctionToDayRefs(func: (ref: HTMLElement | null, day: IDayInfo, weekIndex?: number) => void) {\n if (this.state.weeks) {\n this.state.weeks.map((week: IDayInfo[], weekIndex: number) => {\n week.map(day => {\n const ref = this.days[day.key];\n func(ref, day, weekIndex);\n });\n });\n }\n }\n\n private _onSelectDate = (selectedDate: Date, ev: React.SyntheticEvent): void => {\n const {\n onSelectDate,\n dateRangeType,\n firstDayOfWeek,\n navigatedDate,\n autoNavigateOnSelection,\n minDate,\n maxDate,\n workWeekDays,\n } = this.props;\n\n if (ev) {\n ev.stopPropagation();\n }\n\n let dateRange = getDateRangeArray(selectedDate, dateRangeType, firstDayOfWeek, workWeekDays);\n if (dateRangeType !== DateRangeType.Day) {\n dateRange = this._getBoundedDateRange(dateRange, minDate, maxDate);\n }\n dateRange = dateRange.filter(d => {\n return !this._getIsRestrictedDate(d);\n });\n\n if (onSelectDate) {\n onSelectDate(selectedDate, dateRange);\n }\n\n // Navigate to next or previous month if needed\n if (autoNavigateOnSelection && selectedDate.getMonth() !== navigatedDate.getMonth()) {\n const compareResult = compareDatePart(selectedDate, navigatedDate);\n if (compareResult < 0) {\n this._onSelectPrevMonth();\n } else if (compareResult > 0) {\n this._onSelectNextMonth();\n }\n }\n };\n\n private _onSelectNextMonth = (): void => {\n this.props.onNavigateDate(addMonths(this.props.navigatedDate, 1), false);\n };\n\n private _onSelectPrevMonth = (): void => {\n this.props.onNavigateDate(addMonths(this.props.navigatedDate, -1), false);\n };\n\n private _onClose = (): void => {\n if (this.props.onDismiss) {\n this.props.onDismiss();\n }\n };\n\n private _onHeaderSelect = (): void => {\n const { onHeaderSelect } = this.props;\n if (onHeaderSelect) {\n onHeaderSelect(true);\n }\n };\n\n private _onHeaderKeyDown = (ev: React.KeyboardEvent): void => {\n const { onHeaderSelect } = this.props;\n if (onHeaderSelect && (ev.which === KeyCodes.enter || ev.which === KeyCodes.space)) {\n onHeaderSelect(true);\n }\n };\n\n private _onPrevMonthKeyDown = (ev: React.KeyboardEvent): void => {\n if (ev.which === KeyCodes.enter) {\n this._onKeyDown(this._onSelectPrevMonth, ev);\n }\n };\n\n private _onNextMonthKeyDown = (ev: React.KeyboardEvent): void => {\n if (ev.which === KeyCodes.enter) {\n this._onKeyDown(this._onSelectNextMonth, ev);\n }\n };\n\n private _onCloseButtonKeyDown = (ev: React.KeyboardEvent): void => {\n if (ev.which === KeyCodes.enter) {\n this._onKeyDown(this._onClose, ev);\n }\n };\n\n private _getWeeks(propsToUse: ICalendarDayProps): IDayInfo[][] {\n const {\n navigatedDate,\n selectedDate,\n dateRangeType,\n firstDayOfWeek,\n today,\n minDate,\n maxDate,\n showSixWeeksByDefault,\n workWeekDays,\n } = propsToUse;\n const date = new Date(navigatedDate.getFullYear(), navigatedDate.getMonth(), 1);\n const todaysDate = today || new Date();\n const weeks: IDayInfo[][] = [];\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 // a flag to indicate whether all days of the week are in the month\n let isAllDaysOfWeekOutOfMonth = false;\n\n // in work week view we want to select the whole week\n const selectedDateRangeType = dateRangeType === DateRangeType.WorkWeek ? DateRangeType.Week : dateRangeType;\n let selectedDates = getDateRangeArray(selectedDate, selectedDateRangeType, firstDayOfWeek, workWeekDays);\n if (dateRangeType !== DateRangeType.Day) {\n selectedDates = this._getBoundedDateRange(selectedDates, minDate, maxDate);\n }\n\n let shouldGetWeeks = true;\n\n for (let weekIndex = 0; shouldGetWeeks; weekIndex++) {\n const week: IDayInfo[] = [];\n\n isAllDaysOfWeekOutOfMonth = true;\n\n for (let dayIndex = 0; dayIndex < DAYS_IN_WEEK; dayIndex++) {\n const originalDate = new Date(date.toString());\n const dayInfo: IDayInfo = {\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 onSelected: this._onSelectDate.bind(this, originalDate),\n isInBounds:\n (minDate ? compareDatePart(minDate, date) < 1 : true) &&\n (maxDate ? compareDatePart(date, maxDate) < 1 : true) &&\n !this._getIsRestrictedDate(date),\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 = showSixWeeksByDefault\n ? !isAllDaysOfWeekOutOfMonth || weekIndex <= 5\n : !isAllDaysOfWeekOutOfMonth;\n if (shouldGetWeeks) {\n weeks.push(week);\n }\n }\n\n return weeks;\n }\n\n private _getIsRestrictedDate(date: Date): boolean {\n const { restrictedDates } = this.props;\n if (!restrictedDates) {\n return false;\n }\n const restrictedDate = find(restrictedDates, rd => {\n return compareDates(rd, date);\n });\n return restrictedDate ? true : false;\n }\n\n private _getBoundedDateRange(dateRange: Date[], minDate?: Date, maxDate?: Date): Date[] {\n let boundedDateRange = [...dateRange];\n if (minDate) {\n boundedDateRange = boundedDateRange.filter(date => compareDatePart(date, minDate as Date) >= 0);\n }\n if (maxDate) {\n boundedDateRange = boundedDateRange.filter(date => compareDatePart(date, maxDate as Date) <= 0);\n }\n return boundedDateRange;\n }\n\n /**\n * Returns the index of the last element in the array where the predicate is true, and -1\n * otherwise\n * @param items Array of items to be iterated over using the predicate\n * @param predicate find calls predicate once for each element of the array, in descending\n * order, until it finds one where predicate returns true if such an element is found.\n */\n private _findLastIndex(items: T[], predicate: (item: T) => boolean): number {\n for (let i = items.length - 1; i >= 0; i--) {\n const item = items[i];\n\n if (predicate(item)) {\n return i;\n }\n }\n\n return -1;\n }\n}\n","import * as React from 'react';\nimport { KeyCodes, css, getRTL } from '../../Utilities';\nimport { ICalendarIconStrings } from './Calendar.types';\nimport { FocusZone } from '../../FocusZone';\nimport * as stylesImport from './Calendar.scss';\nimport { Icon } from '../../Icon';\n\nconst styles: any = stylesImport;\n\nconst CELL_COUNT = 12;\n\nexport interface ICalendarYearRange {\n fromYear: number;\n toYear: number;\n}\n\nexport interface ICalendarYearRangeToString {\n (range: ICalendarYearRange): string;\n}\n\nexport interface ICalendarYearStrings {\n rangeAriaLabel?: string | ICalendarYearRangeToString;\n prevRangeAriaLabel?: string | ICalendarYearRangeToString;\n nextRangeAriaLabel?: string | ICalendarYearRangeToString;\n}\n\nexport interface ICalendarYear {\n focus(): void;\n}\n\nexport interface ICalendarYearProps {\n navigationIcons?: ICalendarIconStrings;\n navigatedYear?: number;\n selectedYear?: number;\n minYear?: number;\n maxYear?: number;\n onHeaderSelect?: (focus: boolean) => void;\n onSelectYear?: (year: number) => void;\n onRenderTitle?: (props: ICalendarYearHeaderProps) => React.ReactNode;\n onRenderYear?: (year: number) => React.ReactNode;\n className?: string;\n strings?: ICalendarYearStrings;\n}\n\nconst DefaultCalendarYearStrings: ICalendarYearStrings = {\n prevRangeAriaLabel: undefined,\n nextRangeAriaLabel: undefined,\n};\n\nconst DefaultNavigationIcons: ICalendarIconStrings = {\n leftNavigation: 'Up',\n rightNavigation: 'Down',\n closeIcon: 'CalculatorMultiply',\n};\n\ninterface ICalendarYearGridCell {\n focus(): void;\n}\n\ninterface ICalendarYearGridCellProps {\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\nclass CalendarYearGridCell extends React.Component implements ICalendarYearGridCell {\n private _buttonRef = React.createRef();\n\n public focus() {\n if (this._buttonRef.current) {\n this._buttonRef.current.focus();\n }\n }\n\n public render() {\n const { year, selected, disabled, onSelectYear } = this.props;\n return (\n \n {this._onRenderYear()}\n \n );\n }\n\n private _onRenderYear = () => {\n const { year, onRenderYear } = this.props;\n if (onRenderYear) {\n return onRenderYear(year);\n }\n return year;\n };\n\n private _onClick = () => {\n if (this.props.onSelectYear) {\n this.props.onSelectYear(this.props.year);\n }\n };\n\n private _onKeyDown = (ev: React.KeyboardEvent) => {\n if (this.props.onSelectYear && ev.which === KeyCodes.enter) {\n this.props.onSelectYear(this.props.year);\n }\n };\n}\n\ninterface ICalendarYearGrid {\n focus(): void;\n}\n\ninterface ICalendarYearGridProps extends ICalendarYearProps, ICalendarYearRange {\n selectedYear?: number;\n}\n\nclass CalendarYearGrid extends React.Component implements ICalendarYearGrid {\n private _selectedCellRef = React.createRef();\n private _currentCellRef = React.createRef();\n\n public focus() {\n if (this._selectedCellRef.current) {\n this._selectedCellRef.current.focus();\n } else if (this._currentCellRef.current) {\n this._currentCellRef.current.focus();\n }\n }\n\n public render() {\n const { fromYear, toYear } = this.props;\n let year = fromYear;\n const cells = [];\n while (year <= toYear) {\n cells.push(this._renderCell(year));\n year++;\n }\n return (\n \n
\n
{cells}
\n
\n
\n );\n }\n\n private _renderCell = (year: number): React.ReactNode => {\n const selected = year === this.props.selectedYear;\n const { minYear, maxYear, onSelectYear } = this.props;\n const disabled = (minYear !== undefined && year < minYear) || (maxYear !== undefined && year > maxYear);\n const current = year === new Date().getFullYear();\n return (\n \n );\n };\n}\n\nexport interface ICalendarYearHeaderProps extends ICalendarYearProps, ICalendarYearRange {\n onSelectPrev?: () => void;\n onSelectNext?: () => void;\n}\n\nclass CalendarYearNavPrev extends React.Component {\n public render() {\n const iconStrings = this.props.navigationIcons || DefaultNavigationIcons;\n const strings = this.props.strings || DefaultCalendarYearStrings;\n const prevRangeAriaLabel = strings.prevRangeAriaLabel;\n const prevRange = { fromYear: this.props.fromYear - CELL_COUNT, toYear: this.props.toYear - CELL_COUNT };\n const prevAriaLabel = prevRangeAriaLabel\n ? typeof prevRangeAriaLabel === 'string'\n ? (prevRangeAriaLabel as string)\n : (prevRangeAriaLabel as ICalendarYearRangeToString)(prevRange)\n : undefined;\n const disabled = this.isDisabled;\n const { onSelectPrev } = this.props;\n return (\n \n \n \n );\n }\n\n get isDisabled() {\n const { minYear } = this.props;\n return minYear !== undefined && this.props.fromYear < minYear;\n }\n\n private _onSelectPrev = () => {\n if (!this.isDisabled && this.props.onSelectPrev) {\n this.props.onSelectPrev();\n }\n };\n\n private _onKeyDown = (ev: React.KeyboardEvent) => {\n if (ev.which === KeyCodes.enter) {\n this._onSelectPrev();\n }\n };\n}\n\nclass CalendarYearNavNext extends React.Component {\n public render() {\n const iconStrings = this.props.navigationIcons || DefaultNavigationIcons;\n const strings = this.props.strings || DefaultCalendarYearStrings;\n const nextRangeAriaLabel = strings.nextRangeAriaLabel;\n const nextRange = { fromYear: this.props.fromYear + CELL_COUNT, toYear: this.props.toYear + CELL_COUNT };\n const nextAriaLabel = nextRangeAriaLabel\n ? typeof nextRangeAriaLabel === 'string'\n ? (nextRangeAriaLabel as string)\n : (nextRangeAriaLabel as ICalendarYearRangeToString)(nextRange)\n : undefined;\n const { onSelectNext } = this.props;\n const disabled = this.isDisabled;\n return (\n \n \n \n );\n }\n\n get isDisabled() {\n const { maxYear } = this.props;\n return maxYear !== undefined && this.props.fromYear + CELL_COUNT > maxYear;\n }\n\n private _onSelectNext = () => {\n if (!this.isDisabled && this.props.onSelectNext) {\n this.props.onSelectNext();\n }\n };\n\n private _onKeyDown = (ev: React.KeyboardEvent) => {\n if (ev.which === KeyCodes.enter) {\n this._onSelectNext();\n }\n };\n}\n\nclass CalendarYearNav extends React.Component {\n public render() {\n return (\n
\n
\n \n \n
\n
\n );\n }\n}\n\nclass CalendarYearTitle extends React.Component {\n public render() {\n const { fromYear, toYear, onHeaderSelect } = this.props;\n if (onHeaderSelect) {\n const strings = this.props.strings || DefaultCalendarYearStrings;\n const rangeAriaLabel = strings.rangeAriaLabel;\n const ariaLabel = rangeAriaLabel\n ? typeof rangeAriaLabel === 'string'\n ? (rangeAriaLabel as string)\n : (rangeAriaLabel as ICalendarYearRangeToString)(this.props)\n : undefined;\n return (\n \n {this._onRenderYear(fromYear)} - {this._onRenderYear(toYear)}\n \n );\n }\n return (\n
\n {this._onRenderYear(fromYear)} - {this._onRenderYear(toYear)}\n
\n );\n }\n\n private _onHeaderSelect = () => {\n if (this.props.onHeaderSelect) {\n this.props.onHeaderSelect(true);\n }\n };\n\n private _onHeaderKeyDown = (ev: React.KeyboardEvent) => {\n if (this.props.onHeaderSelect && (ev.which === KeyCodes.enter || ev.which === KeyCodes.space)) {\n this.props.onHeaderSelect(true);\n }\n };\n\n private _onRenderYear = (year: number) => {\n if (this.props.onRenderYear) {\n return this.props.onRenderYear(year);\n }\n return year;\n };\n}\n\nclass CalendarYearHeader extends React.Component {\n public render() {\n return (\n
\n {this._onRenderTitle()}\n {this._onRenderNav()}\n
\n );\n }\n\n private _onRenderTitle = () => {\n if (this.props.onRenderTitle) {\n return this.props.onRenderTitle(this.props);\n }\n return ;\n };\n\n private _onRenderNav = () => {\n return ;\n };\n}\n\nexport interface ICalendarYearState {\n fromYear: number;\n navigatedYear?: number;\n selectedYear?: number;\n}\n\nexport class CalendarYear extends React.Component implements ICalendarYear {\n private _gridRef = React.createRef();\n\n public constructor(props: ICalendarYearProps) {\n super(props);\n this.state = this._calculateInitialStateFromProps(props);\n }\n\n public focus() {\n if (this._gridRef.current) {\n this._gridRef.current.focus();\n }\n }\n\n public render() {\n return (\n
\n {this._renderHeader()}\n {this._renderGrid()}\n
\n );\n }\n\n private _onNavNext = () => {\n this.setState({ fromYear: this.state.fromYear + CELL_COUNT });\n };\n\n private _onNavPrev = () => {\n this.setState({ fromYear: this.state.fromYear - CELL_COUNT });\n };\n\n private _renderHeader = (): React.ReactNode => {\n return (\n \n );\n };\n\n private _renderGrid = (): React.ReactNode => {\n return (\n \n );\n };\n\n private _calculateInitialStateFromProps(props: ICalendarYearProps): ICalendarYearState {\n const { selectedYear, navigatedYear } = props;\n const rangeYear = selectedYear || navigatedYear || new Date().getFullYear();\n const fromYear = Math.floor(rangeYear / 10) * 10;\n return {\n fromYear: fromYear,\n navigatedYear: navigatedYear,\n selectedYear: selectedYear,\n };\n }\n}\n","import * as React from 'react';\nimport { KeyCodes, css, getRTL, IRefObject, initializeComponentRef } from '../../Utilities';\nimport { ICalendarStrings, ICalendarIconStrings, ICalendarFormatDateCallbacks } from './Calendar.types';\nimport { FocusZone } from '../../FocusZone';\nimport {\n addYears,\n setMonth,\n getYearStart,\n getYearEnd,\n getMonthStart,\n getMonthEnd,\n compareDatePart,\n} from '../../utilities/dateMath/DateMath';\nimport { Icon } from '../../Icon';\nimport * as stylesImport from './Calendar.scss';\nimport { CalendarYear, ICalendarYearRange } from './CalendarYear';\nconst styles: any = stylesImport;\nconst MONTHS_PER_ROW: number = 4;\n\nexport interface ICalendarMonth {\n focus(): void;\n}\n\nexport interface ICalendarMonthProps extends React.ClassAttributes {\n componentRef?: IRefObject;\n navigatedDate: Date;\n selectedDate: Date;\n strings: ICalendarStrings;\n onNavigateDate: (date: Date, focusOnNavigatedDay: boolean) => void;\n today?: Date;\n highlightCurrentMonth: boolean;\n highlightSelectedMonth: boolean;\n onHeaderSelect?: (focus: boolean) => void;\n navigationIcons: ICalendarIconStrings;\n dateTimeFormatter: ICalendarFormatDateCallbacks;\n minDate?: Date;\n maxDate?: Date;\n yearPickerHidden?: boolean;\n}\n\nexport interface ICalendarMonthState {\n /** State used to show/hide month picker */\n isYearPickerVisible?: boolean;\n}\n\nexport class CalendarMonth extends React.Component {\n /**\n * @deprecated unused, prefer 'ref' and 'componentRef' of ICalendarMonthProps.\n */\n public refs: {\n [key: string]: React.ReactInstance;\n navigatedMonth: HTMLElement;\n };\n\n private _selectMonthCallbacks: (() => void)[];\n private _calendarYearRef: CalendarYear;\n private _navigatedMonthRef: React.RefObject = React.createRef();\n private _focusOnUpdate: boolean;\n\n public constructor(props: ICalendarMonthProps) {\n super(props);\n\n initializeComponentRef(this);\n\n this._selectMonthCallbacks = [];\n props.strings.shortMonths.map((month, index) => {\n this._selectMonthCallbacks[index] = this._onSelectMonth.bind(this, index);\n });\n\n this._isCurrentMonth = this._isCurrentMonth.bind(this);\n this._onSelectNextYear = this._onSelectNextYear.bind(this);\n this._onSelectPrevYear = this._onSelectPrevYear.bind(this);\n this._onSelectMonth = this._onSelectMonth.bind(this);\n\n this.state = { isYearPickerVisible: false };\n }\n\n public componentDidUpdate(): void {\n if (this._focusOnUpdate) {\n this.focus();\n this._focusOnUpdate = false;\n }\n }\n\n public render(): JSX.Element {\n const {\n navigatedDate,\n selectedDate,\n strings,\n today,\n highlightCurrentMonth,\n highlightSelectedMonth,\n navigationIcons,\n dateTimeFormatter,\n minDate,\n maxDate,\n yearPickerHidden,\n } = this.props;\n\n if (this.state.isYearPickerVisible) {\n // default the year picker to the current navigated date\n const currentSelectedDate = navigatedDate ? navigatedDate.getFullYear() : undefined;\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 leftNavigationIcon = navigationIcons.leftNavigation;\n const rightNavigationIcon = navigationIcons.rightNavigation;\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 return (\n
\n
\n {this.props.onHeaderSelect || !yearPickerHidden ? (\n \n {dateTimeFormatter.formatYear(navigatedDate)}\n
\n ) : (\n
\n {dateTimeFormatter.formatYear(navigatedDate)}\n
\n )}\n
\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 isCurrentMonth = this._isCurrentMonth(monthIndex, navigatedDate.getFullYear(), today!);\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 }\n\n public focus() {\n if (this._calendarYearRef) {\n this._calendarYearRef.focus();\n } else if (this._navigatedMonthRef.current) {\n this._navigatedMonthRef.current.tabIndex = 0;\n this._navigatedMonthRef.current.focus();\n }\n }\n\n private _onCalendarYearRef = (ref: CalendarYear) => {\n this._calendarYearRef = ref;\n };\n\n private _isCurrentMonth(month: number, year: number, today: Date): boolean {\n return today.getFullYear() === year && today.getMonth() === month;\n }\n\n private _onKeyDown = (callback: () => void, ev: React.KeyboardEvent): void => {\n if (ev.which === KeyCodes.enter) {\n callback();\n }\n };\n\n private _onSelectYear = (selectedYear: number) => {\n this._focusOnUpdate = true;\n const { navigatedDate, onNavigateDate, maxDate, minDate } = this.props;\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 this.setState({ isYearPickerVisible: false });\n };\n\n private _yearToString = (year: number) => {\n const { navigatedDate, dateTimeFormatter } = this.props;\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 private _yearRangeToString = (yearRange: ICalendarYearRange) => {\n return `${this._yearToString(yearRange.fromYear)} - ${this._yearToString(yearRange.toYear)}`;\n };\n\n private _yearRangeToNextDecadeLabel = (yearRange: ICalendarYearRange) => {\n const { strings } = this.props;\n return strings.nextYearRangeAriaLabel\n ? `${strings.nextYearRangeAriaLabel} ${this._yearRangeToString(yearRange)}`\n : '';\n };\n\n private _yearRangeToPrevDecadeLabel = (yearRange: ICalendarYearRange) => {\n const { strings } = this.props;\n return strings.prevYearRangeAriaLabel\n ? `${strings.prevYearRangeAriaLabel} ${this._yearRangeToString(yearRange)}`\n : '';\n };\n\n private _onRenderYear = (year: number) => {\n return this._yearToString(year);\n };\n\n private _onSelectNextYear = (): void => {\n const { navigatedDate, onNavigateDate } = this.props;\n onNavigateDate(addYears(navigatedDate, 1), false);\n };\n\n private _onSelectNextYearKeyDown = (ev: React.KeyboardEvent): void => {\n if (ev.which === KeyCodes.enter) {\n this._onKeyDown(this._onSelectNextYear, ev);\n }\n };\n\n private _onSelectPrevYear = (): void => {\n const { navigatedDate, onNavigateDate } = this.props;\n onNavigateDate(addYears(navigatedDate, -1), false);\n };\n\n private _onSelectPrevYearKeyDown = (ev: React.KeyboardEvent): void => {\n if (ev.which === KeyCodes.enter) {\n this._onKeyDown(this._onSelectPrevYear, ev);\n }\n };\n\n private _onSelectMonthKeyDown = (index: number): ((ev: React.KeyboardEvent) => void) => {\n return (ev: React.KeyboardEvent) => this._onKeyDown(() => this._onSelectMonth(index), ev);\n };\n\n private _onSelectMonth = (newMonth: number): void => {\n const { navigatedDate, onNavigateDate, onHeaderSelect } = this.props;\n\n // If header is clickable the calendars are overlayed, switch back to day picker when month is clicked\n if (onHeaderSelect) {\n onHeaderSelect(true);\n }\n onNavigateDate(setMonth(navigatedDate, newMonth), true);\n };\n\n private _onHeaderSelect = (): void => {\n const { onHeaderSelect, yearPickerHidden } = this.props;\n if (!yearPickerHidden) {\n this._focusOnUpdate = true;\n this.setState({ isYearPickerVisible: true });\n } else if (onHeaderSelect) {\n onHeaderSelect(true);\n }\n };\n\n private _onYearPickerHeaderSelect = (focus: boolean): void => {\n this._focusOnUpdate = focus;\n this.setState({ isYearPickerVisible: false });\n };\n\n private _onHeaderKeyDown = (ev: React.KeyboardEvent): void => {\n if (this._onHeaderSelect && (ev.which === KeyCodes.enter || ev.which === KeyCodes.space)) {\n this._onHeaderSelect();\n }\n };\n}\n","import * as React from 'react';\nimport {\n ICalendar,\n ICalendarProps,\n ICalendarStrings,\n ICalendarIconStrings,\n ICalendarFormatDateCallbacks,\n} from './Calendar.types';\nimport { DayOfWeek, FirstWeekOfYear, DateRangeType } from '../../utilities/dateValues/DateValues';\nimport { CalendarDay, ICalendarDay } from './CalendarDay';\nimport { CalendarMonth, ICalendarMonth } from './CalendarMonth';\nimport { compareDates, getDateRangeArray } from '../../utilities/dateMath/DateMath';\nimport { css, KeyCodes, getNativeProps, divProperties, initializeComponentRef, FocusRects } from '../../Utilities';\nimport * as stylesImport from './Calendar.scss';\nconst styles: any = stylesImport;\n\nconst leftArrow = 'Up';\nconst rightArrow = 'Down';\nconst closeIcon = 'CalculatorMultiply';\nconst iconStrings: ICalendarIconStrings = {\n leftNavigation: leftArrow,\n rightNavigation: rightArrow,\n closeIcon: closeIcon,\n};\nconst defaultWorkWeekDays: DayOfWeek[] = [\n DayOfWeek.Monday,\n DayOfWeek.Tuesday,\n DayOfWeek.Wednesday,\n DayOfWeek.Thursday,\n DayOfWeek.Friday,\n];\n\nconst dateTimeFormatterCallbacks: ICalendarFormatDateCallbacks = {\n formatMonthDayYear: (date: Date, strings: ICalendarStrings) =>\n strings.months[date.getMonth()] + ' ' + date.getDate() + ', ' + date.getFullYear(),\n formatMonthYear: (date: Date, strings: ICalendarStrings) =>\n strings.months[date.getMonth()] + ' ' + date.getFullYear(),\n formatDay: (date: Date) => date.getDate().toString(),\n formatYear: (date: Date) => date.getFullYear().toString(),\n};\n\nexport interface ICalendarState {\n /** The currently focused date in the day picker, but not necessarily selected */\n navigatedDayDate?: Date;\n\n /** The currently focused date in the month picker, but not necessarily selected */\n navigatedMonthDate?: Date;\n\n /** The currently selected date in the calendar */\n selectedDate?: Date;\n\n /** State used to show/hide month picker */\n isMonthPickerVisible?: boolean;\n\n /** State used to show/hide day picker */\n isDayPickerVisible?: boolean;\n}\n\nexport class Calendar extends React.Component implements ICalendar {\n public static defaultProps: ICalendarProps = {\n onSelectDate: undefined,\n onDismiss: undefined,\n isMonthPickerVisible: true,\n isDayPickerVisible: true,\n showMonthPickerAsOverlay: false,\n value: undefined,\n today: new Date(),\n firstDayOfWeek: DayOfWeek.Sunday,\n dateRangeType: DateRangeType.Day,\n autoNavigateOnSelection: false,\n showGoToToday: true,\n strings: null,\n highlightCurrentMonth: false,\n highlightSelectedMonth: false,\n navigationIcons: iconStrings,\n showWeekNumbers: false,\n firstWeekOfYear: FirstWeekOfYear.FirstDay,\n dateTimeFormatter: dateTimeFormatterCallbacks,\n showSixWeeksByDefault: false,\n workWeekDays: defaultWorkWeekDays,\n showCloseButton: false,\n allFocusable: false,\n };\n\n private _dayPicker = React.createRef();\n private _monthPicker = React.createRef();\n\n private _focusOnUpdate: boolean;\n\n constructor(props: ICalendarProps) {\n super(props);\n\n initializeComponentRef(this);\n\n const currentDate = props.value && !isNaN(props.value.getTime()) ? props.value : props.today || new Date();\n\n this.state = {\n selectedDate: currentDate,\n navigatedDayDate: currentDate,\n navigatedMonthDate: currentDate,\n\n /** When showMonthPickerAsOverlay is active it overrides isMonthPickerVisible/isDayPickerVisible props\n (These props permanently set the visibility of their respective calendars). */\n isMonthPickerVisible: this.props.showMonthPickerAsOverlay ? false : this.props.isMonthPickerVisible,\n isDayPickerVisible: this.props.showMonthPickerAsOverlay ? true : this.props.isDayPickerVisible,\n };\n\n this._focusOnUpdate = false;\n }\n\n // tslint:disable-next-line function-name\n public UNSAFE_componentWillReceiveProps(nextProps: ICalendarProps): void {\n const { autoNavigateOnSelection, value, today = new Date() } = nextProps;\n\n // Make sure auto-navigation is supported for programmatic changes to selected date, i.e.,\n // if selected date is updated via props, we may need to modify the navigated date\n const overrideNavigatedDate = autoNavigateOnSelection && !compareDates(value!, this.props.value!);\n if (overrideNavigatedDate) {\n this.setState({\n navigatedMonthDate: value,\n navigatedDayDate: value,\n });\n }\n\n this.setState({\n selectedDate: value || today,\n });\n }\n\n public componentDidUpdate(): void {\n if (this._focusOnUpdate) {\n this.focus();\n this._focusOnUpdate = false;\n }\n }\n\n public render(): JSX.Element {\n const rootClass = 'ms-DatePicker';\n const {\n firstDayOfWeek,\n dateRangeType,\n strings,\n showMonthPickerAsOverlay,\n autoNavigateOnSelection,\n showGoToToday,\n highlightCurrentMonth,\n highlightSelectedMonth,\n navigationIcons,\n minDate,\n maxDate,\n restrictedDates,\n className,\n showCloseButton,\n allFocusable,\n yearPickerHidden,\n today,\n } = this.props;\n const nativeProps = getNativeProps>(this.props, divProperties, ['value']);\n\n const { selectedDate, navigatedDayDate, navigatedMonthDate, isMonthPickerVisible, isDayPickerVisible } = this.state;\n const onHeaderSelect = showMonthPickerAsOverlay ? this._onHeaderSelect : undefined;\n const monthPickerOnly = !showMonthPickerAsOverlay && !isDayPickerVisible;\n const overlayedWithButton = showMonthPickerAsOverlay && showGoToToday;\n\n let goTodayEnabled = showGoToToday;\n\n if (goTodayEnabled && navigatedDayDate && navigatedMonthDate && today) {\n goTodayEnabled =\n navigatedDayDate.getFullYear() !== today.getFullYear() ||\n navigatedDayDate.getMonth() !== today.getMonth() ||\n navigatedMonthDate.getFullYear() !== today.getFullYear() ||\n navigatedMonthDate.getMonth() !== today.getMonth();\n }\n\n return (\n
\n \n \n
\n
\n {isDayPickerVisible && (\n \n )}\n {isDayPickerVisible && isMonthPickerVisible &&
}\n {isMonthPickerVisible && (\n \n )}\n\n {showGoToToday && (\n \n {strings!.goToToday}\n \n )}\n
\n
\n
\n
\n \n \n );\n }\n\n public focus() {\n if (this.state.isDayPickerVisible && this._dayPicker.current) {\n this._dayPicker.current.focus();\n } else if (this.state.isMonthPickerVisible && this._monthPicker.current) {\n this._monthPicker.current.focus();\n }\n }\n\n private _navigateDayPickerDay = (date: Date): void => {\n this.setState({\n navigatedDayDate: date,\n navigatedMonthDate: date,\n });\n };\n\n private _navigateMonthPickerDay = (date: Date): void => {\n this.setState({\n navigatedMonthDate: date,\n });\n };\n\n private _onNavigateDayDate = (date: Date, focusOnNavigatedDay: boolean): void => {\n this._navigateDayPickerDay(date);\n this._focusOnUpdate = focusOnNavigatedDay;\n };\n\n private _onNavigateMonthDate = (date: Date, focusOnNavigatedDay: boolean): void => {\n if (!focusOnNavigatedDay) {\n this._navigateMonthPickerDay(date);\n this._focusOnUpdate = focusOnNavigatedDay;\n return;\n }\n\n const monthPickerOnly = !this.props.showMonthPickerAsOverlay && !this.props.isDayPickerVisible;\n\n if (monthPickerOnly) {\n this._onSelectDate(date);\n }\n\n this._navigateDayPickerDay(date);\n };\n\n private _onSelectDate = (date: Date, selectedDateRangeArray?: Date[]): void => {\n const { onSelectDate } = this.props;\n\n this.setState({\n selectedDate: date,\n });\n\n if (onSelectDate) {\n onSelectDate(date, selectedDateRangeArray);\n }\n };\n\n private _onHeaderSelect = (focus: boolean): void => {\n this.setState({\n isDayPickerVisible: !this.state.isDayPickerVisible,\n isMonthPickerVisible: !this.state.isMonthPickerVisible,\n });\n\n if (focus) {\n this._focusOnUpdate = true;\n }\n };\n\n private _onGotoToday = (): void => {\n const { dateRangeType, firstDayOfWeek, today, workWeekDays, selectDateOnClick } = this.props;\n\n if (selectDateOnClick) {\n // When using Defaultprops, TypeScript doesn't know that React is going to inject defaults\n // so we use exclamation mark as a hint to the type checker (see link below)\n // https://decembersoft.com/posts/error-ts2532-optional-react-component-props-in-typescript/\n const dates = getDateRangeArray(today!, dateRangeType!, firstDayOfWeek!, workWeekDays!);\n this._onSelectDate(today!, dates);\n }\n\n this._navigateDayPickerDay(today!);\n this._focusOnUpdate = true;\n };\n\n private _onGotoTodayClick = (ev: React.MouseEvent): void => {\n this._onGotoToday();\n };\n\n private _onGotoTodayKeyDown = (ev: React.KeyboardEvent): void => {\n if (ev.which === KeyCodes.enter) {\n ev.preventDefault();\n this._onGotoToday();\n }\n };\n\n private _onDatePickerPopupKeyDown = (ev: React.KeyboardEvent): void => {\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 this._handleEscKey(ev);\n break;\n\n default:\n break;\n }\n };\n\n private _handleEscKey = (ev: React.KeyboardEvent): void => {\n if (this.props.onDismiss) {\n this.props.onDismiss();\n }\n };\n}\n","import * as React from 'react';\nimport { ICheckProps } from './Check.types';\nimport { Icon, FontIcon } from '../../Icon';\nimport { classNamesFunction } from '../../Utilities';\nimport { ICheckStyleProps, ICheckStyles } from './Check.types';\n\nconst getClassNames = classNamesFunction();\n\nexport const CheckBase: React.FunctionComponent = props => {\n const { checked = false, className, theme, styles, useFastIcons = true } = props;\n\n const classNames = getClassNames(styles!, { theme: theme!, className, checked });\n const IconComponent = useFastIcons ? FontIcon : Icon;\n\n return (\n
\n \n \n
\n );\n};\n","import { ICheckStyleProps, ICheckStyles } from './Check.types';\nimport { HighContrastSelector, IStyle, getGlobalClassNames, IconFontSizes } from '../../Styling';\nimport { getRTL } from '../../Utilities';\n\nexport const CheckGlobalClassNames = {\n root: 'ms-Check',\n circle: 'ms-Check-circle',\n check: 'ms-Check-check',\n /** Must be manually applied to the parent element of the check. */\n checkHost: 'ms-Check-checkHost',\n};\n\nexport const getStyles = (props: ICheckStyleProps): ICheckStyles => {\n // tslint:disable-next-line:deprecation\n const { height = props.checkBoxHeight || '18px', checked, className, theme } = props;\n\n const { palette, semanticColors, fonts } = theme;\n const isRTL = getRTL(theme);\n\n const classNames = getGlobalClassNames(CheckGlobalClassNames, theme);\n\n const sharedCircleCheck: IStyle = {\n fontSize: height,\n position: 'absolute',\n left: 0,\n top: 0,\n width: height,\n height: height,\n textAlign: 'center',\n verticalAlign: 'middle',\n };\n\n return {\n root: [\n classNames.root,\n fonts.medium,\n {\n // lineHeight currently needs to be a string to output without 'px'\n lineHeight: '1',\n width: height,\n height: height,\n verticalAlign: 'top',\n position: 'relative',\n userSelect: 'none',\n\n selectors: {\n ':before': {\n content: '\"\"',\n position: 'absolute',\n top: '1px',\n right: '1px',\n bottom: '1px',\n left: '1px',\n borderRadius: '50%',\n opacity: 1,\n background: semanticColors.bodyBackground,\n },\n\n [`.${classNames.checkHost}:hover &, .${classNames.checkHost}:focus &, &:hover, &:focus`]: {\n opacity: 1,\n },\n },\n },\n\n checked && [\n 'is-checked',\n {\n selectors: {\n ':before': {\n background: palette.themePrimary,\n opacity: 1,\n selectors: {\n [HighContrastSelector]: {\n background: 'Window',\n },\n },\n },\n },\n },\n ],\n className,\n ],\n\n circle: [\n classNames.circle,\n sharedCircleCheck,\n\n {\n color: palette.neutralSecondary,\n\n selectors: {\n [HighContrastSelector]: {\n color: 'WindowText',\n },\n },\n },\n\n checked && {\n color: palette.white,\n },\n ],\n\n check: [\n classNames.check,\n sharedCircleCheck,\n\n {\n opacity: 0,\n color: palette.neutralSecondary,\n fontSize: IconFontSizes.medium,\n left: isRTL ? '-0.5px' : '.5px', // for centering the check icon inside the circle.\n\n selectors: {\n ':hover': {\n opacity: 1,\n },\n\n [HighContrastSelector]: {\n MsHighContrastAdjust: 'none',\n },\n },\n },\n\n checked && {\n opacity: 1,\n color: palette.white,\n fontWeight: 900,\n\n selectors: {\n [HighContrastSelector]: {\n border: 'none',\n color: 'WindowText',\n },\n },\n },\n ],\n\n checkHost: classNames.checkHost,\n };\n};\n","import * as React from 'react';\nimport { styled } from '../../Utilities';\nimport { ICheckProps, ICheckStyleProps, ICheckStyles } from './Check.types';\nimport { CheckBase } from './Check.base';\nimport { getStyles } from './Check.styles';\n\nexport const Check: React.FunctionComponent = styled(\n CheckBase,\n getStyles,\n undefined,\n {\n scope: 'Check',\n },\n true,\n);\n","import * as React from 'react';\nimport { Image } from '../../../Image';\nimport { Icon } from '../../../Icon';\nimport {\n IChoiceGroupOptionProps,\n IChoiceGroupOptionStyleProps,\n IChoiceGroupOptionStyles,\n} from './ChoiceGroupOption.types';\nimport { classNamesFunction, getNativeProps, inputProperties, css, initializeComponentRef } from '../../../Utilities';\nimport { IProcessedStyleSet } from '../../../Styling';\nimport { composeRenderFunction } from '@uifabric/utilities';\n\nconst getClassNames = classNamesFunction();\n\nconst LARGE_IMAGE_SIZE = 71;\n\n/**\n * {@docCategory ChoiceGroup}\n */\nexport class ChoiceGroupOptionBase extends React.Component {\n public static defaultProps: Partial = {\n // This ensures default imageSize value doesn't mutate. Mutation can cause style re-calcuation.\n imageSize: { width: 32, height: 32 },\n };\n\n private _classNames: IProcessedStyleSet;\n\n constructor(props: IChoiceGroupOptionProps) {\n super(props);\n initializeComponentRef(this);\n }\n\n public render(): JSX.Element {\n const {\n ariaLabel,\n focused,\n required,\n theme,\n iconProps,\n imageSrc,\n imageSize,\n disabled,\n // tslint:disable-next-line:deprecation\n checked,\n id,\n styles,\n name,\n onRenderField = this._onRenderField,\n ...rest\n } = this.props;\n\n this._classNames = getClassNames(styles!, {\n theme: theme!,\n hasIcon: !!iconProps,\n hasImage: !!imageSrc,\n checked,\n disabled,\n imageIsLarge: !!imageSrc && (imageSize!.width > LARGE_IMAGE_SIZE || imageSize!.height > LARGE_IMAGE_SIZE),\n imageSize,\n focused,\n });\n\n const { className, ...nativeProps } = getNativeProps<{ className: string }>(rest, inputProperties);\n\n return (\n
\n
\n \n {onRenderField(this.props, this._onRenderField)}\n
\n
\n );\n }\n\n private _onChange = (evt: React.FormEvent): void => {\n const { onChange } = this.props;\n if (onChange) {\n onChange(evt, this.props);\n }\n };\n\n private _onBlur = (evt: React.FocusEvent) => {\n const { onBlur } = this.props;\n if (onBlur) {\n onBlur(evt, this.props);\n }\n };\n\n private _onFocus = (evt: React.FocusEvent) => {\n const { onFocus } = this.props;\n if (onFocus) {\n onFocus(evt, this.props);\n }\n };\n\n private _onRenderField = (props: IChoiceGroupOptionProps): JSX.Element => {\n const { id, imageSrc, imageAlt = '', selectedImageSrc, iconProps } = props;\n\n const imageSize = props.imageSize ? props.imageSize : { width: 32, height: 32 };\n\n const onRenderLabel = props.onRenderLabel\n ? composeRenderFunction(props.onRenderLabel, this._onRenderLabel)\n : this._onRenderLabel;\n\n const label = onRenderLabel(props);\n\n return (\n \n );\n };\n\n private _onRenderLabel = (props: IChoiceGroupOptionProps): JSX.Element => {\n return (\n \n {props.text}\n \n );\n };\n}\n","import { HighContrastSelector, IStyle, getGlobalClassNames } from '../../../Styling';\nimport { IsFocusVisibleClassName } from '../../../Utilities';\nimport { IChoiceGroupOptionStyleProps, IChoiceGroupOptionStyles } from './ChoiceGroupOption.types';\n\nconst GlobalClassNames = {\n root: 'ms-ChoiceField',\n choiceFieldWrapper: 'ms-ChoiceField-wrapper',\n input: 'ms-ChoiceField-input',\n field: 'ms-ChoiceField-field',\n innerField: 'ms-ChoiceField-innerField',\n imageWrapper: 'ms-ChoiceField-imageWrapper',\n iconWrapper: 'ms-ChoiceField-iconWrapper',\n labelWrapper: 'ms-ChoiceField-labelWrapper',\n checked: 'is-checked',\n};\n\nconst labelWrapperLineHeight = 15;\nconst labelWrapperHeight = labelWrapperLineHeight * 2 + 2; // adding 2px height to ensure text doesn't get cutoff\nconst iconSize = 32;\nconst choiceFieldSize = 20;\nconst choiceFieldTransitionDuration = '200ms';\nconst choiceFieldTransitionTiming = 'cubic-bezier(.4, 0, .23, 1)';\nconst radioButtonSpacing = 3;\nconst radioButtonInnerSize = 5;\n\nfunction getChoiceGroupFocusStyle(focusBorderColor: string, hasIconOrImage?: boolean): IStyle {\n return [\n 'is-inFocus',\n {\n selectors: {\n [`.${IsFocusVisibleClassName} &`]: {\n position: 'relative',\n outline: 'transparent',\n selectors: {\n '::-moz-focus-inner': {\n border: 0,\n },\n ':after': {\n content: '\"\"',\n top: -2,\n right: -2,\n bottom: -2,\n left: -2,\n pointerEvents: 'none',\n border: `1px solid ${focusBorderColor}`,\n position: 'absolute',\n selectors: {\n [HighContrastSelector]: {\n borderColor: 'WindowText',\n borderWidth: hasIconOrImage ? 1 : 2,\n },\n },\n },\n },\n },\n },\n },\n ];\n}\n\nfunction getImageWrapperStyle(isSelectedImageWrapper: boolean, className?: string, checked?: boolean): IStyle {\n return [\n className,\n {\n paddingBottom: 2,\n transitionProperty: 'opacity',\n transitionDuration: choiceFieldTransitionDuration,\n transitionTimingFunction: 'ease',\n selectors: {\n '.ms-Image': {\n display: 'inline-block',\n borderStyle: 'none',\n },\n },\n },\n (checked ? !isSelectedImageWrapper : isSelectedImageWrapper) && [\n 'is-hidden',\n {\n position: 'absolute',\n left: 0,\n top: 0,\n width: '100%',\n height: '100%',\n overflow: 'hidden',\n opacity: 0,\n },\n ],\n ];\n}\n\nexport const getStyles = (props: IChoiceGroupOptionStyleProps): IChoiceGroupOptionStyles => {\n const { theme, hasIcon, hasImage, checked, disabled, imageIsLarge, focused, imageSize } = props;\n const { palette, semanticColors, fonts } = theme;\n\n const classNames = getGlobalClassNames(GlobalClassNames, theme);\n\n // Tokens\n // TODO: after updating the semanticColors slots mapping this needs to be semanticColors.smallInputBorder\n const circleBorderColor = palette.neutralPrimary;\n const circleHoveredBorderColor = semanticColors.inputBorderHovered;\n const circleCheckedBorderColor = semanticColors.inputBackgroundChecked;\n // TODO: after updating the semanticColors slots mapping this needs to be semanticColors.inputBackgroundCheckedHovered\n const circleCheckedHoveredBorderColor = palette.themeDark;\n const circleDisabledBorderColor = semanticColors.disabledBodySubtext;\n const circleBackgroundColor = semanticColors.bodyBackground;\n const dotUncheckedHoveredColor = palette.neutralSecondary;\n const dotCheckedColor = semanticColors.inputBackgroundChecked;\n // TODO: after updating the semanticColors slots mapping this needs to be semanticColors.inputBackgroundCheckedHovered\n const dotCheckedHoveredColor = palette.themeDark;\n const dotDisabledColor = semanticColors.disabledBodySubtext;\n // TODO: after updating the semanticColors slots mapping this needs to be semanticColors.bodyTextChecked\n const labelHoverFocusColor = palette.neutralDark;\n const focusBorderColor = semanticColors.focusBorder;\n const iconOrImageChoiceBorderUncheckedHoveredColor = semanticColors.inputBorderHovered;\n // TODO: after updating the semanticColors slots mapping this needs to be semanticColors.inputBackgroundCheckedHovered\n const iconOrImageChoiceBorderCheckedColor = semanticColors.inputBackgroundChecked;\n const iconOrImageChoiceBorderCheckedHoveredColor = palette.themeDark;\n const iconOrImageChoiceBackgroundColor = palette.neutralLighter;\n\n const fieldHoverOrFocusProperties = {\n selectors: {\n '.ms-ChoiceFieldLabel': {\n color: labelHoverFocusColor,\n },\n ':before': {\n borderColor: checked ? circleCheckedHoveredBorderColor : circleHoveredBorderColor,\n },\n ':after': [\n !hasIcon &&\n !hasImage &&\n !checked && {\n content: '\"\"',\n transitionProperty: 'background-color',\n left: 5,\n top: 5,\n width: 10,\n height: 10,\n backgroundColor: dotUncheckedHoveredColor,\n },\n checked && {\n borderColor: dotCheckedHoveredColor,\n },\n ],\n },\n };\n\n const enabledFieldWithImageHoverOrFocusProperties = {\n borderColor: checked ? iconOrImageChoiceBorderCheckedHoveredColor : iconOrImageChoiceBorderUncheckedHoveredColor,\n selectors: {\n ':before': {\n opacity: 1,\n borderColor: checked ? circleCheckedHoveredBorderColor : circleHoveredBorderColor,\n },\n },\n };\n\n const circleAreaProperties: IStyle = [\n {\n content: '\"\"',\n display: 'inline-block',\n backgroundColor: circleBackgroundColor,\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: circleBorderColor,\n width: choiceFieldSize,\n height: choiceFieldSize,\n fontWeight: 'normal',\n position: 'absolute',\n top: 0,\n left: 0,\n boxSizing: 'border-box',\n transitionProperty: 'border-color',\n transitionDuration: choiceFieldTransitionDuration,\n transitionTimingFunction: choiceFieldTransitionTiming,\n borderRadius: '50%',\n },\n disabled && {\n borderColor: circleDisabledBorderColor,\n selectors: {\n [HighContrastSelector]: {\n color: 'GrayText',\n },\n },\n },\n checked && {\n borderColor: disabled ? circleDisabledBorderColor : circleCheckedBorderColor,\n selectors: {\n [HighContrastSelector]: {\n borderColor: 'Highlight',\n },\n },\n },\n (hasIcon || hasImage) && {\n top: radioButtonSpacing,\n right: radioButtonSpacing,\n left: 'auto', // To reset the value of 'left' to its default value, so that 'right' works\n opacity: checked ? 1 : 0,\n },\n ];\n\n const dotAreaProperties: IStyle = [\n {\n content: '\"\"',\n width: 0,\n height: 0,\n borderRadius: '50%',\n position: 'absolute',\n left: choiceFieldSize / 2,\n right: 0,\n transitionProperty: 'border-width',\n transitionDuration: choiceFieldTransitionDuration,\n transitionTimingFunction: choiceFieldTransitionTiming,\n boxSizing: 'border-box',\n },\n checked && {\n borderWidth: 5,\n borderStyle: 'solid',\n borderColor: disabled ? dotDisabledColor : dotCheckedColor,\n left: 5,\n top: 5,\n width: 10,\n height: 10,\n selectors: {\n [HighContrastSelector]: {\n borderColor: 'Highlight',\n },\n },\n },\n checked &&\n (hasIcon || hasImage) && {\n top: radioButtonSpacing + radioButtonInnerSize,\n right: radioButtonSpacing + radioButtonInnerSize,\n left: 'auto', // To reset the value of 'left' to its default value, so that 'right' works\n },\n ];\n\n return {\n root: [\n classNames.root,\n theme.fonts.medium,\n {\n display: 'flex',\n alignItems: 'center',\n boxSizing: 'border-box',\n color: semanticColors.bodyText,\n minHeight: 26,\n border: 'none',\n position: 'relative',\n marginTop: 8,\n selectors: {\n '.ms-ChoiceFieldLabel': {\n display: 'inline-block',\n },\n },\n },\n !hasIcon &&\n !hasImage && {\n selectors: {\n '.ms-ChoiceFieldLabel': {\n paddingLeft: '26px',\n },\n },\n },\n hasImage && 'ms-ChoiceField--image',\n hasIcon && 'ms-ChoiceField--icon',\n (hasIcon || hasImage) && {\n display: 'inline-flex',\n fontSize: 0,\n margin: '0 4px 4px 0',\n paddingLeft: 0,\n backgroundColor: iconOrImageChoiceBackgroundColor,\n height: '100%',\n },\n ],\n choiceFieldWrapper: [\n classNames.choiceFieldWrapper,\n focused && getChoiceGroupFocusStyle(focusBorderColor, hasIcon || hasImage),\n ],\n // The hidden input\n input: [\n classNames.input,\n {\n position: 'absolute',\n opacity: 0,\n top: 0,\n right: 0,\n width: '100%',\n height: '100%',\n margin: 0,\n },\n disabled && 'is-disabled',\n ],\n field: [\n classNames.field,\n checked && classNames.checked,\n {\n display: 'inline-block',\n cursor: 'pointer',\n marginTop: 0,\n position: 'relative',\n verticalAlign: 'top',\n userSelect: 'none',\n minHeight: 20,\n selectors: {\n ':hover': !disabled && fieldHoverOrFocusProperties,\n ':focus': !disabled && fieldHoverOrFocusProperties,\n\n // The circle\n ':before': circleAreaProperties,\n\n // The dot\n ':after': dotAreaProperties,\n },\n },\n hasIcon && 'ms-ChoiceField--icon',\n hasImage && 'ms-ChoiceField-field--image',\n (hasIcon || hasImage) && {\n boxSizing: 'content-box',\n cursor: 'pointer',\n paddingTop: 22,\n margin: 0,\n textAlign: 'center',\n transitionProperty: 'all',\n transitionDuration: choiceFieldTransitionDuration,\n transitionTimingFunction: 'ease',\n border: '1px solid transparent',\n justifyContent: 'center',\n alignItems: 'center',\n display: 'flex',\n flexDirection: 'column',\n },\n checked && {\n borderColor: iconOrImageChoiceBorderCheckedColor,\n },\n (hasIcon || hasImage) &&\n !disabled && {\n selectors: {\n ':hover': enabledFieldWithImageHoverOrFocusProperties,\n ':focus': enabledFieldWithImageHoverOrFocusProperties,\n },\n },\n disabled && {\n cursor: 'default',\n selectors: {\n '.ms-ChoiceFieldLabel': {\n color: semanticColors.disabledBodyText,\n },\n [HighContrastSelector]: {\n color: 'GrayText',\n },\n },\n },\n checked &&\n disabled && {\n borderColor: iconOrImageChoiceBackgroundColor,\n },\n ],\n innerField: [\n classNames.innerField,\n hasImage && {\n // using non-null assertion because we have a default in `ChoiceGroupOptionBase` class.\n height: imageSize!.height,\n width: imageSize!.width,\n },\n (hasIcon || hasImage) && {\n position: 'relative',\n display: 'inline-block',\n paddingLeft: 30,\n paddingRight: 30,\n },\n (hasIcon || hasImage) &&\n imageIsLarge && {\n paddingLeft: 24,\n paddingRight: 24,\n },\n (hasIcon || hasImage) &&\n disabled && {\n opacity: 0.25,\n selectors: {\n [HighContrastSelector]: {\n color: 'GrayText',\n opacity: 1,\n },\n },\n },\n ],\n imageWrapper: getImageWrapperStyle(false, classNames.imageWrapper, checked),\n selectedImageWrapper: getImageWrapperStyle(true, classNames.imageWrapper, checked),\n iconWrapper: [\n classNames.iconWrapper,\n {\n fontSize: iconSize,\n lineHeight: iconSize,\n height: iconSize,\n },\n ],\n labelWrapper: [\n classNames.labelWrapper,\n fonts.medium,\n (hasIcon || hasImage) && {\n display: 'block',\n position: 'relative',\n margin: '4px 8px 2px 8px',\n height: labelWrapperHeight,\n lineHeight: labelWrapperLineHeight,\n // using non-null assertion because we have a default in `ChoiceGroupOptionBase` class.\n maxWidth: imageSize!.width * 2,\n overflow: 'hidden',\n whiteSpace: 'pre-wrap',\n },\n ],\n };\n};\n","import * as React from 'react';\nimport { styled } from '../../../Utilities';\nimport { ChoiceGroupOptionBase } from './ChoiceGroupOption.base';\nimport {\n IChoiceGroupOptionProps,\n IChoiceGroupOptionStyleProps,\n IChoiceGroupOptionStyles,\n} from './ChoiceGroupOption.types';\nimport { getStyles } from './ChoiceGroupOption.styles';\n\nexport const ChoiceGroupOption: React.FunctionComponent = styled<\n IChoiceGroupOptionProps,\n IChoiceGroupOptionStyleProps,\n IChoiceGroupOptionStyles\n>(ChoiceGroupOptionBase, getStyles, undefined, { scope: 'ChoiceGroupOption' });\n","import * as React from 'react';\n\nimport { Label } from '../../Label';\nimport {\n initializeComponentRef,\n warnDeprecations,\n warnMutuallyExclusive,\n classNamesFunction,\n find,\n getId,\n isControlled,\n getNativeProps,\n divProperties,\n} from '../../Utilities';\nimport {\n IChoiceGroup,\n IChoiceGroupOption,\n IChoiceGroupProps,\n IChoiceGroupStyleProps,\n IChoiceGroupStyles,\n} from './ChoiceGroup.types';\nimport { ChoiceGroupOption, IChoiceGroupOptionProps } from './ChoiceGroupOption/index';\n\nconst getClassNames = classNamesFunction();\n\nexport interface IChoiceGroupState {\n /**\n * Current selected option, for **internal use only**.\n * External users should access `IChoiceGroup.checkedOption` instead.\n */\n // TODO (Fabric 8?) - once we removed the checked property from individual options,\n // we can probably store only the uncontrolled value in the state (right now it tracks\n // the value regardless of controlled/uncontrolled--though if controlled, it only updates\n // the value in state when the selectedKey prop updates)\n keyChecked?: string | number;\n\n /** Is set when the control has focus. */\n keyFocused?: string | number;\n}\n\n/**\n * {@docCategory ChoiceGroup}\n */\nexport class ChoiceGroupBase extends React.Component implements IChoiceGroup {\n private _id: string;\n private _labelId: string;\n private _focusCallbacks: { [key: string]: IChoiceGroupOptionProps['onFocus'] } = {};\n private _changeCallbacks: { [key: string]: IChoiceGroupOptionProps['onBlur'] } = {};\n\n constructor(props: IChoiceGroupProps) {\n super(props);\n\n initializeComponentRef(this);\n\n if (process.env.NODE_ENV !== 'production') {\n warnDeprecations('ChoiceGroup', props, { onChanged: 'onChange' });\n warnMutuallyExclusive('ChoiceGroup', props, {\n selectedKey: 'defaultSelectedKey',\n });\n }\n\n const { defaultSelectedKey, options = [] } = props;\n const validDefaultSelectedKey =\n !_isControlled(props) &&\n defaultSelectedKey !== undefined &&\n options.some(option => option.key === defaultSelectedKey);\n\n this.state = {\n keyChecked: validDefaultSelectedKey ? defaultSelectedKey : this._getKeyChecked(props),\n };\n\n this._id = getId('ChoiceGroup');\n this._labelId = getId('ChoiceGroupLabel');\n }\n\n /**\n * Gets the current checked option.\n */\n public get checkedOption(): IChoiceGroupOption | undefined {\n const { options = [] } = this.props;\n return find(options, (value: IChoiceGroupOption) => value.key === this.state.keyChecked);\n }\n\n public componentDidUpdate(prevProps: IChoiceGroupProps, prevState: IChoiceGroupState): void {\n // Only update if a new props object has been passed in (don't care about state updates)\n if (prevProps !== this.props) {\n const newKeyChecked = this._getKeyChecked(this.props);\n const oldKeyChecked = this._getKeyChecked(prevProps);\n\n if (newKeyChecked !== oldKeyChecked) {\n this.setState({\n keyChecked: newKeyChecked,\n });\n }\n }\n }\n\n public render(): JSX.Element {\n const { className, theme, styles, options = [], label, required, disabled, name } = this.props;\n const { keyChecked, keyFocused } = this.state;\n\n const divProps = getNativeProps>(this.props, divProperties, [\n 'onChange',\n 'className',\n 'required',\n ]);\n\n const classNames = getClassNames(styles!, {\n theme: theme!,\n className,\n optionsContainIconOrImage: options.some(option => !!(option.iconProps || option.imageSrc)),\n });\n\n const labelId = this._id + '-label';\n const ariaLabelledBy = this.props.ariaLabelledBy || (label ? labelId : this.props['aria-labelledby']);\n\n // TODO (Fabric 8?) - if possible, move `root` class to the actual root and eliminate\n // `applicationRole` class (but the div structure will stay the same by necessity)\n return (\n // tslint:disable-next-line:deprecation\n
\n \n {label && (\n \n )}\n
\n {options.map((option: IChoiceGroupOption) => {\n const innerOptionProps = {\n ...option,\n focused: option.key === keyFocused,\n checked: option.key === keyChecked,\n disabled: option.disabled || disabled,\n id: this._getOptionId(option),\n labelId: `${this._labelId}-${option.key}`,\n name: name || this._id,\n required,\n };\n\n return (\n \n );\n })}\n
\n
\n \n );\n }\n\n public focus() {\n const { options = [] } = this.props;\n const optionToFocus = this.checkedOption || options.filter(option => !option.disabled)[0];\n const elementToFocus = optionToFocus && document.getElementById(this._getOptionId(optionToFocus));\n if (elementToFocus) {\n elementToFocus.focus();\n }\n }\n\n private _onFocus(key: string) {\n // This extra mess is necessary because React won't pass the `key` prop through to ChoiceGroupOption\n if (!this._focusCallbacks[key]) {\n this._focusCallbacks[key] = (\n ev: React.FocusEvent,\n option: IChoiceGroupOption,\n ) => {\n this.setState({\n keyFocused: key,\n });\n };\n }\n return this._focusCallbacks[key];\n }\n\n private _onBlur = (ev: React.FocusEvent, option: IChoiceGroupOption) => {\n this.setState({\n keyFocused: undefined,\n });\n };\n\n private _onChange(key: string) {\n // This extra mess is necessary because React won't pass the `key` prop through to ChoiceGroupOption\n if (!this._changeCallbacks[key]) {\n this._changeCallbacks[key] = (\n evt: React.FormEvent,\n option: IChoiceGroupOption,\n ) => {\n // tslint:disable-next-line:deprecation\n const { onChanged, onChange } = this.props;\n\n // Only manage state in uncontrolled scenarios.\n if (!_isControlled(this.props)) {\n this.setState({\n keyChecked: key,\n });\n }\n\n // Get the original option without the `key` prop removed\n const originalOption = find(this.props.options || [], (value: IChoiceGroupOption) => value.key === key);\n\n // TODO: onChanged deprecated, remove else if after 07/17/2017 when onChanged has been removed.\n if (onChange) {\n onChange(evt, originalOption);\n } else if (onChanged) {\n onChanged(originalOption!, evt);\n }\n };\n }\n return this._changeCallbacks[key];\n }\n\n /**\n * Returns `selectedKey` if provided, or the key of the first option with the `checked` prop set.\n */\n private _getKeyChecked(props: IChoiceGroupProps): string | number | undefined {\n if (props.selectedKey !== undefined) {\n return props.selectedKey;\n }\n\n const { options = [] } = props;\n // tslint:disable-next-line:deprecation\n const optionsChecked = options.filter((option: IChoiceGroupOption) => option.checked);\n return optionsChecked[0] && optionsChecked[0].key;\n }\n\n private _getOptionId(option: IChoiceGroupOption): string {\n return `${this._id}-${option.key}`;\n }\n}\n\nfunction _isControlled(props: IChoiceGroupProps): boolean {\n return isControlled(props, 'selectedKey');\n}\n","import { IChoiceGroupStyleProps, IChoiceGroupStyles } from './ChoiceGroup.types';\nimport { getGlobalClassNames } from '../../Styling';\n\nconst GlobalClassNames = {\n root: 'ms-ChoiceFieldGroup',\n flexContainer: 'ms-ChoiceFieldGroup-flexContainer',\n};\n\nexport const getStyles = (props: IChoiceGroupStyleProps): IChoiceGroupStyles => {\n const { className, optionsContainIconOrImage, theme } = props;\n\n const classNames = getGlobalClassNames(GlobalClassNames, theme);\n\n return {\n // TODO (Fabric 8?) - merge className back into `root` and apply root style to\n // the actual root role=application element\n applicationRole: className,\n root: [\n classNames.root,\n theme.fonts.medium,\n {\n display: 'block',\n },\n ],\n flexContainer: [\n classNames.flexContainer,\n optionsContainIconOrImage && {\n display: 'flex',\n flexDirection: 'row',\n flexWrap: 'wrap',\n },\n ],\n };\n};\n","import * as React from 'react';\nimport { styled } from '../../Utilities';\nimport { ChoiceGroupBase } from './ChoiceGroup.base';\nimport { IChoiceGroupProps, IChoiceGroupStyles, IChoiceGroupStyleProps } from './ChoiceGroup.types';\nimport { getStyles } from './ChoiceGroup.styles';\n\nexport const ChoiceGroup: React.FunctionComponent = styled<\n IChoiceGroupProps,\n IChoiceGroupStyleProps,\n IChoiceGroupStyles\n>(ChoiceGroupBase, getStyles, undefined, { scope: 'ChoiceGroup' });\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 isBeaconAnimating,\n isMeasuring,\n isMeasured,\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 && isBeaconAnimating && 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 width: COACHMARK_WIDTH,\n height: COACHMARK_HEIGHT,\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: isMeasured && 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 { Layer } from '../../../Layer';\n\n// Utilites/Helpers\nimport { DirectionalHint } from '../../../common/DirectionalHint';\nimport {\n IPoint,\n IRectangle,\n assign,\n css,\n elementContains,\n focusFirstChild,\n getWindow,\n getDocument,\n initializeComponentRef,\n Async,\n EventGroup,\n} from '../../../Utilities';\n\nimport {\n getMaxHeight,\n positionElement,\n IPositionedData,\n IPositionProps,\n IPosition,\n RectangleEdge,\n} from '../../../utilities/positioning';\n\nimport { AnimationClassNames, mergeStyles } from '../../../Styling';\n\nconst OFF_SCREEN_STYLE = { opacity: 0 };\n\n// In order for some of the max height logic to work\n// properly we need to set the border.\n// The value is abitrary.\nconst BORDER_WIDTH = 1;\nconst SLIDE_ANIMATIONS: { [key: number]: string } = {\n [RectangleEdge.top]: 'slideUpIn20',\n [RectangleEdge.bottom]: 'slideDownIn20',\n [RectangleEdge.left]: 'slideLeftIn20',\n [RectangleEdge.right]: 'slideRightIn20',\n};\n\nexport interface IPositioningContainerState {\n /**\n * Current set of calcualted positions for the outermost parent container.\n */\n positions?: IPositionedData;\n\n /**\n * Tracks the current height offset and updates during\n * the height animation when props.finalHeight is specified.\n */\n heightOffset?: number;\n}\n\nexport class PositioningContainer extends React.Component\n implements PositioningContainer {\n public static defaultProps: IPositioningContainerProps = {\n preventDismissOnScroll: false,\n offsetFromTarget: 0,\n minPagePadding: 8,\n directionalHint: DirectionalHint.bottomAutoEdge,\n };\n\n private _didSetInitialFocus: boolean;\n\n /**\n * The primary positioned div.\n */\n private _positionedHost = React.createRef();\n\n // @TODO rename to reflect the name of this class\n private _contentHost = React.createRef();\n\n /**\n * Stores an instance of Window, used to check\n * for server side rendering and if focus was lost.\n */\n private _targetWindow: Window;\n\n /**\n * The bounds used when determing if and where the\n * PositioningContainer should be placed.\n */\n private _positioningBounds: IRectangle;\n\n /**\n * The maximum height the PositioningContainer can grow to\n * without going being the window or target bounds\n */\n private _maxHeight: number | undefined;\n private _positionAttempts: number;\n private _target: HTMLElement | MouseEvent | IPoint | null;\n private _setHeightOffsetTimer: number;\n private _async: Async;\n private _events: EventGroup;\n\n constructor(props: IPositioningContainerProps) {\n super(props);\n\n initializeComponentRef(this);\n this._async = new Async(this);\n this._events = new EventGroup(this);\n\n this._didSetInitialFocus = false;\n this.state = {\n positions: undefined,\n heightOffset: 0,\n };\n this._positionAttempts = 0;\n }\n\n // tslint:disable-next-line function-name\n public UNSAFE_componentWillMount(): void {\n this._setTargetWindowAndElement(this._getTarget());\n }\n\n public componentDidMount(): void {\n this._onComponentDidMount();\n }\n\n public componentDidUpdate(): void {\n this._setInitialFocus();\n this._updateAsyncPosition();\n }\n\n // tslint:disable-next-line function-name\n public UNSAFE_componentWillUpdate(newProps: IPositioningContainerProps): void {\n // If the target element changed, find the new one. If we are tracking\n // target with class name, always find element because we do not know if\n // fabric has rendered a new element and disposed the old element.\n const newTarget = this._getTarget(newProps);\n const oldTarget = this._getTarget();\n if (newTarget !== oldTarget || typeof newTarget === 'string' || newTarget instanceof String) {\n this._maxHeight = undefined;\n this._setTargetWindowAndElement(newTarget!);\n }\n\n if (newProps.offsetFromTarget !== this.props.offsetFromTarget) {\n this._maxHeight = undefined;\n }\n\n if (newProps.finalHeight !== this.props.finalHeight) {\n this._setHeightOffsetEveryFrame();\n }\n }\n\n public componentWillUnmount(): void {\n this._async.dispose();\n this._events.dispose();\n }\n\n public render(): JSX.Element | null {\n // If there is no target window then we are likely in server side rendering and we should not render anything.\n if (!this._targetWindow) {\n return null;\n }\n\n const { className, positioningContainerWidth, positioningContainerMaxHeight, children } = this.props;\n const { positions } = this.state;\n\n const styles = getClassNames();\n\n const directionalClassName =\n positions && positions.targetEdge ? (AnimationClassNames as any)[SLIDE_ANIMATIONS[positions.targetEdge]] : '';\n\n const getContentMaxHeight: number = this._getMaxHeight() + this.state.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 this.props.doNotLayer ? content : {content};\n }\n\n /**\n * Deprecated, use `onResize` instead.\n * @deprecated Use `onResize` instead.\n */\n public dismiss = (ev?: Event | React.MouseEvent | React.KeyboardEvent): void => {\n this.onResize(ev);\n };\n\n public onResize = (ev?: Event | React.MouseEvent | React.KeyboardEvent): void => {\n const { onDismiss } = this.props;\n if (onDismiss) {\n onDismiss(ev);\n } else {\n this._updateAsyncPosition();\n }\n };\n\n protected _dismissOnScroll(ev: Event): void {\n const { preventDismissOnScroll } = this.props;\n if (this.state.positions && !preventDismissOnScroll) {\n this._dismissOnLostFocus(ev);\n }\n }\n\n protected _dismissOnLostFocus(ev: Event): void {\n const target = ev.target as HTMLElement;\n const clickedOutsideCallout =\n this._positionedHost.current && !elementContains(this._positionedHost.current, target);\n\n if (\n (!this._target && clickedOutsideCallout) ||\n (ev.target !== this._targetWindow &&\n clickedOutsideCallout &&\n ((this._target as MouseEvent).stopPropagation ||\n !this._target ||\n (target !== this._target && !elementContains(this._target as HTMLElement, target))))\n ) {\n this.onResize(ev);\n }\n }\n\n protected _setInitialFocus = (): void => {\n if (this._contentHost.current && this.props.setInitialFocus && !this._didSetInitialFocus && this.state.positions) {\n this._didSetInitialFocus = true;\n focusFirstChild(this._contentHost.current);\n }\n };\n\n protected _onComponentDidMount = (): void => {\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 this._async.setTimeout(() => {\n this._events.on(this._targetWindow, 'scroll', this._async.throttle(this._dismissOnScroll, 10), true);\n this._events.on(this._targetWindow, 'resize', this._async.throttle(this.onResize, 10), true);\n this._events.on(this._targetWindow.document.body, 'focus', this._dismissOnLostFocus, true);\n this._events.on(this._targetWindow.document.body, 'click', this._dismissOnLostFocus, true);\n }, 0);\n\n if (this.props.onLayerMounted) {\n this.props.onLayerMounted();\n }\n\n this._updateAsyncPosition();\n this._setHeightOffsetEveryFrame();\n };\n\n private _updateAsyncPosition(): void {\n this._async.requestAnimationFrame(() => this._updatePosition());\n }\n\n private _updatePosition(): void {\n const { positions } = this.state;\n const { offsetFromTarget, onPositioned } = this.props;\n\n const hostElement = this._positionedHost.current;\n const positioningContainerElement = this._contentHost.current;\n\n if (hostElement && positioningContainerElement) {\n let currentProps: IPositionProps | undefined;\n currentProps = assign(currentProps, this.props);\n currentProps!.bounds = this._getBounds();\n currentProps!.target = this._target!;\n if (document.body.contains(currentProps!.target as Node)) {\n currentProps!.gapSpace = offsetFromTarget;\n const newPositions: IPositionedData = positionElement(currentProps!, hostElement, positioningContainerElement);\n // Set the new position only when the positions are not exists or one of the new positioningContainer positions\n // are different. The position should not change if the position is within 2 decimal places.\n if (\n (!positions && newPositions) ||\n (positions && newPositions && !this._arePositionsEqual(positions, newPositions) && this._positionAttempts < 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 this._positionAttempts++;\n this.setState(\n {\n positions: newPositions,\n },\n () => {\n if (onPositioned) {\n onPositioned(newPositions);\n }\n },\n );\n } else {\n this._positionAttempts = 0;\n if (onPositioned) {\n onPositioned(newPositions);\n }\n }\n } else if (positions !== undefined) {\n this.setState({\n positions: undefined,\n });\n }\n }\n }\n\n private _getBounds(): IRectangle {\n if (!this._positioningBounds) {\n let currentBounds = this.props.bounds;\n\n if (!currentBounds) {\n currentBounds = {\n top: 0 + this.props.minPagePadding!,\n left: 0 + this.props.minPagePadding!,\n right: this._targetWindow.innerWidth - this.props.minPagePadding!,\n bottom: this._targetWindow.innerHeight - this.props.minPagePadding!,\n width: this._targetWindow.innerWidth - this.props.minPagePadding! * 2,\n height: this._targetWindow.innerHeight - this.props.minPagePadding! * 2,\n };\n }\n this._positioningBounds = currentBounds;\n }\n return this._positioningBounds;\n }\n\n /**\n * Return the maximum height the container can grow to\n * without going out of the specified bounds\n */\n private _getMaxHeight(): number {\n const { directionalHintFixed, offsetFromTarget, directionalHint } = this.props;\n\n if (!this._maxHeight) {\n if (directionalHintFixed && this._target) {\n const gapSpace = offsetFromTarget ? offsetFromTarget : 0;\n this._maxHeight = getMaxHeight(this._target, directionalHint!, gapSpace, this._getBounds());\n } else {\n this._maxHeight = this._getBounds().height! - BORDER_WIDTH * 2;\n }\n }\n return this._maxHeight!;\n }\n\n private _arePositionsEqual(positions: IPositionedData, newPosition: IPositionedData): boolean {\n return this._comparePositions(positions.elementPosition, newPosition.elementPosition);\n }\n\n private _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\n private _setTargetWindowAndElement(target: HTMLElement | string | MouseEvent | IPoint | null): void {\n const currentElement = this._positionedHost.current;\n\n if (target) {\n if (typeof target === 'string') {\n const currentDoc: Document = getDocument()!;\n this._target = currentDoc ? (currentDoc.querySelector(target) as HTMLElement) : null;\n this._targetWindow = getWindow(currentElement)!;\n } else if (!!(target as MouseEvent).stopPropagation) {\n this._targetWindow = getWindow((target as MouseEvent).target as HTMLElement)!;\n this._target = target;\n } else if ((target as IPoint).x !== undefined && (target as IPoint).y !== undefined) {\n this._targetWindow = getWindow(currentElement)!;\n this._target = target;\n } else {\n const targetElement: HTMLElement = target as HTMLElement;\n this._targetWindow = getWindow(targetElement)!;\n this._target = target;\n }\n } else {\n this._targetWindow = getWindow(currentElement)!;\n }\n }\n\n /**\n * Animates the height if finalHeight was given.\n */\n private _setHeightOffsetEveryFrame(): void {\n if (this._contentHost && this.props.finalHeight) {\n this._setHeightOffsetTimer = this._async.requestAnimationFrame(() => {\n if (!this._contentHost.current) {\n return;\n }\n\n const positioningContainerMainElem = this._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 this.setState({\n heightOffset: this.state.heightOffset! + scrollDiff,\n });\n\n if (positioningContainerMainElem.offsetHeight < this.props.finalHeight!) {\n this._setHeightOffsetEveryFrame();\n } else {\n this._async.cancelAnimationFrame(this._setHeightOffsetTimer);\n }\n });\n }\n }\n\n private _getTarget(\n props: IPositioningContainerProps = this.props,\n ): HTMLElement | string | MouseEvent | IPoint | null {\n const { target } = props;\n return target!;\n }\n}\n","import { IStyle } 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 },\n };\n}\n","import * as React from 'react';\nimport { classNamesFunction, initializeComponentRef } from '../../../Utilities';\nimport { IBeakProps } from './Beak.types';\nimport { getStyles, IBeakStyles } from './Beak.styles';\nimport { IBeakStylesProps } from './Beak.types';\nimport { RectangleEdge } from '../../../utilities/positioning';\n\nexport const BEAK_HEIGHT = 10;\nexport const BEAK_WIDTH = 18;\n\nexport class Beak extends React.Component {\n constructor(props: IBeakProps) {\n super(props);\n\n initializeComponentRef(this);\n }\n\n public render(): JSX.Element {\n const { left, top, bottom, right, color, direction = RectangleEdge.top } = this.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}\n","// Utilities\nimport * as React from 'react';\nimport {\n classNamesFunction,\n elementContains,\n focusFirstChild,\n getDocument,\n IRectangle,\n KeyCodes,\n shallowCompare,\n getRTL,\n warnDeprecations,\n EventGroup,\n Async,\n initializeComponentRef,\n} from '../../Utilities';\nimport { IPositionedData, RectangleEdge, getOppositeEdge } from '../../utilities/positioning';\n\n// Component Dependencies\nimport { PositioningContainer, IPositioningContainer } from './PositioningContainer/index';\nimport { Beak, BEAK_HEIGHT, BEAK_WIDTH } from './Beak/Beak';\nimport { DirectionalHint } from '../../common/DirectionalHint';\n\n// Coachmark\nimport { ICoachmark, ICoachmarkProps, ICoachmarkStyles, ICoachmarkStyleProps } from './Coachmark.types';\nimport { COACHMARK_HEIGHT, COACHMARK_WIDTH } from './Coachmark.styles';\nimport { FocusTrapZone } from '../../FocusTrapZone';\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\nexport interface ICoachmarkState {\n /**\n * Is the Coachmark currently collapsed into\n * a tear drop shape\n */\n isCollapsed: boolean;\n\n /**\n * Enables/Disables the beacon that radiates\n * from the center of the coachmark.\n */\n isBeaconAnimating: boolean;\n\n /**\n * Is the teaching bubble currently retreiving the\n * original dimensions of the hosted entity.\n */\n isMeasuring: boolean;\n\n /**\n * Is the Coachmark done measuring the hosted entity\n */\n isMeasured: boolean;\n\n /**\n * Cached width and height of _entityInnerHostElement\n */\n entityInnerHostRect: IEntityRect;\n\n /**\n * Is the mouse in proximity of the default target element\n */\n isMouseInProximity: boolean;\n\n /**\n * The left position of the beak\n */\n beakLeft?: string;\n\n /**\n * The right position of the beak\n */\n beakTop?: string;\n\n /**\n * The right position of the beak\n */\n beakRight?: string;\n\n /**\n * The bottom position of the beak\n */\n beakBottom?: string;\n\n /**\n * Alignment edge of callout in relation to target\n */\n targetAlignment?: RectangleEdge;\n\n /**\n * Position of Coachmark/TeachingBubble in relation to target\n */\n targetPosition?: RectangleEdge;\n\n /**\n * Transform origin of teaching bubble callout\n */\n transformOrigin?: string;\n\n /**\n * ARIA alert text to read aloud with Narrator once the Coachmark is mounted\n */\n alertText?: string;\n}\n\nconst COMPONENT_NAME = 'Coachmark';\n\nexport class CoachmarkBase extends React.Component implements ICoachmark {\n public static defaultProps: 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\n private _async: Async;\n private _events: EventGroup;\n\n /**\n * The cached HTMLElement reference to the Entity Inner Host\n * element.\n */\n private _entityHost = React.createRef();\n private _entityInnerHostElement = React.createRef();\n private _translateAnimationContainer = React.createRef();\n private _ariaAlertContainer = React.createRef();\n private _childrenContainer = React.createRef();\n private _positioningContainer = React.createRef();\n\n /**\n * The target element the mouse would be in\n * proximity to\n */\n private _targetElementRect: ClientRect;\n\n constructor(props: ICoachmarkProps) {\n super(props);\n\n this._async = new Async(this);\n this._events = new EventGroup(this);\n initializeComponentRef(this);\n\n warnDeprecations(COMPONENT_NAME, props, {\n teachingBubbleRef: undefined,\n collapsed: 'isCollapsed',\n beakWidth: undefined,\n beakHeight: undefined,\n width: undefined,\n height: undefined,\n });\n\n // Set defaults for state\n this.state = {\n isCollapsed: props.isCollapsed!,\n isBeaconAnimating: true,\n isMeasuring: true,\n entityInnerHostRect: {\n width: 0,\n height: 0,\n },\n isMouseInProximity: false,\n isMeasured: false,\n };\n }\n\n private get _beakDirection(): RectangleEdge {\n const { targetPosition } = this.state;\n if (targetPosition === undefined) {\n return RectangleEdge.bottom;\n }\n\n return getOppositeEdge(targetPosition);\n }\n\n public render(): JSX.Element {\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 } = this.props;\n\n const {\n beakLeft,\n beakTop,\n beakRight,\n beakBottom,\n isCollapsed,\n isBeaconAnimating,\n isMeasuring,\n entityInnerHostRect,\n transformOrigin,\n alertText,\n isMeasured,\n } = this.state;\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 isBeaconAnimating,\n isMeasuring,\n color: defaultColor,\n transformOrigin,\n isMeasured,\n entityHostHeight: `${entityInnerHostRect.height}px`,\n entityHostWidth: `${entityInnerHostRect.width}px`,\n width: `${COACHMARK_WIDTH}px`,\n height: `${COACHMARK_HEIGHT}px`,\n delayBeforeCoachmarkAnimation: `${delayBeforeCoachmarkAnimation}ms`,\n });\n\n const finalHeight: number = isCollapsed ? COACHMARK_HEIGHT : entityInnerHostRect.height;\n\n return (\n \n
\n {ariaAlertText && (\n \n {alertText}\n
\n )}\n
\n
\n
\n
\n {this._positioningContainer.current && (isCollapsed || persistentBeak) && (\n \n )}\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 }\n\n // tslint:disable-next-line function-name\n public UNSAFE_componentWillReceiveProps(newProps: ICoachmarkProps): void {\n if (this.props.isCollapsed && !newProps.isCollapsed) {\n // The coachmark is about to open\n this._openCoachmark();\n }\n }\n\n public shouldComponentUpdate(newProps: ICoachmarkProps, newState: ICoachmarkState): boolean {\n return !shallowCompare(newProps, this.props) || !shallowCompare(newState, this.state);\n }\n\n public componentDidUpdate(prevProps: ICoachmarkProps, prevState: ICoachmarkState): void {\n if (\n prevState.targetAlignment !== this.state.targetAlignment ||\n prevState.targetPosition !== this.state.targetPosition\n ) {\n this._setBeakPosition();\n }\n if (prevProps.preventDismissOnLostFocus !== this.props.preventDismissOnLostFocus) {\n this._addListeners();\n }\n }\n\n public componentDidMount(): void {\n this._async.requestAnimationFrame((): void => {\n if (\n this._entityInnerHostElement.current &&\n this.state.entityInnerHostRect.width + this.state.entityInnerHostRect.width === 0\n ) {\n this.setState({\n isMeasuring: false,\n entityInnerHostRect: {\n width: this._entityInnerHostElement.current.offsetWidth,\n height: this._entityInnerHostElement.current.offsetHeight,\n },\n isMeasured: true,\n });\n this._setBeakPosition();\n this.forceUpdate();\n }\n\n this._addListeners();\n\n // We don't want to the user to immediately trigger the Coachmark when it's opened\n this._async.setTimeout(() => {\n this._addProximityHandler(this.props.mouseProximityOffset);\n }, this.props.delayBeforeMouseOpen!);\n\n // Need to add setTimeout to have narrator read change in alert container\n if (this.props.ariaAlertText) {\n this._async.setTimeout(() => {\n if (this.props.ariaAlertText && this._ariaAlertContainer.current) {\n this.setState({\n alertText: this.props.ariaAlertText,\n });\n }\n }, 0);\n }\n\n if (!this.props.preventFocusOnMount) {\n this._async.setTimeout(() => {\n if (this._entityHost.current) {\n this._entityHost.current.focus();\n }\n }, 1000);\n }\n });\n }\n\n public componentWillUnmount(): void {\n this._async.dispose();\n this._events.dispose();\n }\n\n public dismiss = (ev?: Event | React.MouseEvent | React.KeyboardEvent): void => {\n const { onDismiss } = this.props;\n\n if (onDismiss) {\n onDismiss(ev);\n }\n };\n\n private _addListeners(): void {\n const { preventDismissOnLostFocus } = this.props;\n const currentDoc: Document = getDocument()!;\n\n this._events.off();\n\n if (currentDoc) {\n this._events.on(currentDoc, 'keydown', this._onKeyDown, true);\n\n if (!preventDismissOnLostFocus) {\n this._events.on(currentDoc, 'click', this._dismissOnLostFocus, true);\n this._events.on(currentDoc, 'focus', this._dismissOnLostFocus, true);\n }\n }\n }\n\n private _dismissOnLostFocus(ev: Event) {\n const clickTarget = ev.target as HTMLElement;\n const clickedOutsideCallout =\n this._translateAnimationContainer.current &&\n !elementContains(this._translateAnimationContainer.current, clickTarget);\n const { target } = this.props;\n\n if (clickedOutsideCallout && clickTarget !== target && !elementContains(target as HTMLElement, clickTarget)) {\n this.dismiss(ev);\n }\n }\n\n private _onKeyDown = (e: any): void => {\n // Open coachmark if user presses ALT + C (arbitrary keypress for now)\n if (\n (e.altKey && e.which === KeyCodes.c) ||\n (e.which === KeyCodes.enter &&\n this._translateAnimationContainer.current &&\n this._translateAnimationContainer.current.contains(e.target))\n ) {\n this._onFocusHandler();\n }\n };\n\n private _onFocusHandler = (): void => {\n if (this.state.isCollapsed) {\n this._openCoachmark();\n }\n };\n\n private _onPositioned = (positionData: IPositionedData): void => {\n this._async.requestAnimationFrame((): void => {\n this.setState({\n targetAlignment: positionData.alignmentEdge,\n targetPosition: positionData.targetEdge,\n });\n });\n };\n\n private _getBounds(): IRectangle | undefined {\n const { isPositionForced, positioningContainerProps } = this.props;\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\n private _setBeakPosition = (): void => {\n let beakLeft;\n let beakTop;\n let beakRight;\n let beakBottom;\n let transformOriginX;\n let transformOriginY;\n\n const { targetAlignment } = this.state;\n const distanceAdjustment = '3px'; // Adjustment distance for Beak to shift towards Coachmark bubble.\n\n switch (this._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 beakLeft = `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 beakLeft = `${COACHMARK_WIDTH / 2 - BEAK_WIDTH / 2}px`;\n transformOriginX = 'left';\n } else {\n // Beak is aligned to the right of target\n beakRight = `${COACHMARK_WIDTH / 2 - BEAK_WIDTH / 2}px`;\n transformOriginX = 'right';\n }\n }\n\n if (this._beakDirection === RectangleEdge.top) {\n beakTop = distanceAdjustment;\n transformOriginY = 'top';\n } else {\n beakBottom = 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 beakTop = `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 beakTop = `${COACHMARK_WIDTH / 2 - BEAK_WIDTH / 2}px`;\n transformOriginY = `top`;\n } else {\n // Beak is aligned to the bottom of target\n beakBottom = `${COACHMARK_WIDTH / 2 - BEAK_WIDTH / 2}px`;\n transformOriginY = `bottom`;\n }\n }\n\n if (this._beakDirection === RectangleEdge.left) {\n if (getRTL(this.props.theme)) {\n beakRight = distanceAdjustment;\n } else {\n beakLeft = distanceAdjustment;\n }\n transformOriginX = 'left';\n } else {\n if (getRTL(this.props.theme)) {\n beakLeft = distanceAdjustment;\n } else {\n beakRight = distanceAdjustment;\n }\n transformOriginX = 'right';\n }\n break;\n }\n\n this.setState({\n beakLeft: beakLeft,\n beakRight: beakRight,\n beakBottom: beakBottom,\n beakTop: beakTop,\n transformOrigin: `${transformOriginX} ${transformOriginY}`,\n });\n };\n\n private _openCoachmark = (): void => {\n this.setState({\n isCollapsed: false,\n });\n\n if (this.props.onAnimationOpenStart) {\n this.props.onAnimationOpenStart();\n }\n\n this._entityInnerHostElement.current &&\n this._entityInnerHostElement.current.addEventListener('transitionend', (): void => {\n // Need setTimeout to trigger narrator\n this._async.setTimeout(() => {\n if (this._entityInnerHostElement.current) {\n focusFirstChild(this._entityInnerHostElement.current);\n }\n }, 1000);\n\n if (this.props.onAnimationOpenEnd) {\n this.props.onAnimationOpenEnd();\n }\n });\n };\n\n private _addProximityHandler(mouseProximityOffset: number = 0): void {\n /**\n * An array of cached ids returned when setTimeout runs during\n * the window resize event trigger.\n */\n const timeoutIds: number[] = [];\n\n // Take the initial measure out of the initial render to prevent\n // an unnecessary render.\n this._async.setTimeout(() => {\n this._setTargetElementRect();\n\n // When the window resizes we want to async\n // get the bounding client rectangle.\n // Every time the event is triggered we want to\n // setTimeout and then clear any previous instances\n // of setTimeout.\n this._events.on(window, 'resize', (): void => {\n timeoutIds.forEach((value: number): void => {\n clearInterval(value);\n });\n\n timeoutIds.push(\n this._async.setTimeout((): void => {\n this._setTargetElementRect();\n }, 100),\n );\n });\n }, 10);\n\n // Every time the document's mouse move is triggered\n // we want to check if inside of an element and\n // set the state with the result.\n this._events.on(document, 'mousemove', (e: MouseEvent) => {\n if (this.state.isCollapsed) {\n const mouseY = e.clientY;\n const mouseX = e.clientX;\n this._setTargetElementRect();\n const isMouseInProximity = this._isInsideElement(mouseX, mouseY, mouseProximityOffset);\n\n if (isMouseInProximity !== this.state.isMouseInProximity) {\n this._openCoachmark();\n }\n }\n\n if (this.props.onMouseMove) {\n this.props.onMouseMove(e);\n }\n });\n }\n\n private _setTargetElementRect(): void {\n if (this._translateAnimationContainer && this._translateAnimationContainer.current) {\n this._targetElementRect = this._translateAnimationContainer!.current!.getBoundingClientRect();\n }\n }\n\n private _isInsideElement(mouseX: number, mouseY: number, mouseProximityOffset: number = 0): boolean {\n return (\n mouseX > this._targetElementRect.left - mouseProximityOffset &&\n mouseX < this._targetElementRect.left + this._targetElementRect.width + mouseProximityOffset &&\n mouseY > this._targetElementRect.top - mouseProximityOffset &&\n mouseY < this._targetElementRect.top + this._targetElementRect.height + mouseProximityOffset\n );\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] && 7 === str.length && /^#[\\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] && 4 === str.length && /^#[\\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 let s;\n let v;\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 s = Math.round((max === 0 ? 0 : delta / max) * 100);\n\n // value\n 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 { IProcessedStyleSet } from '../../Styling';\nimport { Label, ILabelStyleProps, ILabelStyles } from '../../Label';\nimport { Icon } from '../../Icon';\nimport {\n Async,\n DelayedRender,\n IStyleFunctionOrObject,\n classNamesFunction,\n getId,\n getNativeProps,\n initializeComponentRef,\n inputProperties,\n isControlled,\n textAreaProperties,\n warn,\n warnControlledUsage,\n warnMutuallyExclusive,\n} from '../../Utilities';\nimport { ITextField, ITextFieldProps, ITextFieldStyleProps, ITextFieldStyles } from './TextField.types';\n\nconst getClassNames = classNamesFunction();\n\n/** @internal */\nexport interface ITextFieldState {\n /** The currently displayed value if uncontrolled. */\n uncontrolledValue: string | undefined;\n\n /** Is true when the control has focus. */\n isFocused?: boolean;\n\n /**\n * Dynamic error message returned by `onGetErrorMessage`.\n * Use `this._errorMessage` to get the actual current error message.\n */\n errorMessage: string | JSX.Element;\n}\n\n/** @internal */\nexport interface ITextFieldSnapshot {\n /**\n * If set, the text field is changing between single- and multi-line, so we'll need to reset\n * selection/cursor after the change completes.\n */\n selection?: [number | null, number | null];\n}\n\nconst DEFAULT_STATE_VALUE = '';\nconst COMPONENT_NAME = 'TextField';\n\nexport class TextFieldBase extends React.Component\n implements ITextField {\n public static defaultProps: ITextFieldProps = {\n resizable: true,\n deferredValidationTime: 200,\n validateOnLoad: true,\n };\n\n /** Fallback ID if none is provided in props. Access proper value via `this._id`. */\n private _fallbackId: string;\n private _descriptionId: string;\n private _labelId: string;\n private _delayedValidate: (value: string | undefined) => void;\n private _lastValidation: number;\n private _latestValidateValue: string | undefined;\n private _hasWarnedNullValue: boolean | undefined;\n private _textElement = React.createRef();\n private _classNames: IProcessedStyleSet;\n private _async: Async;\n /** Most recent value from a change or input event, to help avoid processing events twice */\n private _lastChangeValue: string | undefined;\n\n public constructor(props: ITextFieldProps) {\n super(props);\n\n initializeComponentRef(this);\n this._async = new Async(this);\n\n if (process.env.NODE_ENV !== 'production') {\n warnMutuallyExclusive(COMPONENT_NAME, props, {\n errorMessage: 'onGetErrorMessage',\n });\n }\n\n this._fallbackId = getId(COMPONENT_NAME);\n this._descriptionId = getId(COMPONENT_NAME + 'Description');\n this._labelId = getId(COMPONENT_NAME + 'Label');\n\n this._warnControlledUsage();\n\n let { defaultValue = DEFAULT_STATE_VALUE } = props;\n if (typeof defaultValue === 'number') {\n // This isn't allowed per the props, but happens anyway.\n defaultValue = String(defaultValue);\n }\n this.state = {\n uncontrolledValue: this._isControlled ? undefined : defaultValue,\n isFocused: false,\n errorMessage: '',\n };\n\n this._delayedValidate = this._async.debounce(this._validate, this.props.deferredValidationTime);\n this._lastValidation = 0;\n }\n\n /**\n * Gets the current value of the text field.\n */\n public get value(): string | undefined {\n return _getValue(this.props, this.state);\n }\n\n public componentDidMount(): void {\n this._adjustInputHeight();\n\n if (this.props.validateOnLoad) {\n this._validate(this.value);\n }\n }\n\n public componentWillUnmount() {\n this._async.dispose();\n }\n\n public getSnapshotBeforeUpdate(prevProps: ITextFieldProps, prevState: ITextFieldState): ITextFieldSnapshot | null {\n return {\n selection: [this.selectionStart, this.selectionEnd],\n };\n }\n\n public componentDidUpdate(\n prevProps: ITextFieldProps,\n prevState: ITextFieldState,\n snapshot: ITextFieldSnapshot,\n ): void {\n const props = this.props;\n const { selection = [null, null] } = snapshot || {};\n const [start, end] = selection;\n\n if (!!prevProps.multiline !== !!props.multiline && prevState.isFocused) {\n // The text field has just changed between single- and multi-line, so we need to reset focus\n // and selection/cursor.\n this.focus();\n if (start !== null && end !== null && start >= 0 && end >= 0) {\n this.setSelectionRange(start, end);\n }\n }\n\n const prevValue = _getValue(prevProps, prevState);\n const value = this.value;\n if (prevValue !== value) {\n // Handle controlled/uncontrolled warnings and status\n this._warnControlledUsage(prevProps);\n\n // Clear error message if needed\n // TODO: is there any way to do this without an extra render?\n if (this.state.errorMessage && !props.errorMessage) {\n this.setState({ errorMessage: '' });\n }\n\n // Adjust height if needed based on new value\n this._adjustInputHeight();\n\n // Reset the record of the last value seen by a change/input event\n this._lastChangeValue = undefined;\n\n // TODO: #5875 added logic to trigger validation in componentWillReceiveProps and other places.\n // This seems a bit odd and hard to integrate with the new approach.\n // (Starting to think we should just put the validation logic in a separate wrapper component...?)\n if (_shouldValidateAllChanges(props)) {\n this._delayedValidate(value);\n }\n }\n }\n\n public render(): JSX.Element {\n const {\n borderless,\n className,\n disabled,\n iconProps,\n inputClassName,\n label,\n multiline,\n required,\n underlined,\n prefix,\n resizable,\n suffix,\n theme,\n styles,\n autoAdjustHeight,\n onRenderPrefix = this._onRenderPrefix,\n onRenderSuffix = this._onRenderSuffix,\n onRenderLabel = this._onRenderLabel,\n onRenderDescription = this._onRenderDescription,\n } = this.props;\n const { isFocused } = this.state;\n const errorMessage = this._errorMessage;\n\n this._classNames = getClassNames(styles!, {\n theme: theme!,\n className,\n disabled,\n focused: isFocused,\n required,\n multiline,\n hasLabel: !!label,\n hasErrorMessage: !!errorMessage,\n borderless,\n resizable,\n hasIcon: !!iconProps,\n underlined,\n inputClassName,\n autoAdjustHeight,\n });\n\n return (\n
\n
\n {onRenderLabel(this.props, this._onRenderLabel)}\n
\n {(prefix !== undefined || this.props.onRenderPrefix) && (\n
{onRenderPrefix(this.props, this._onRenderPrefix)}
\n )}\n {multiline ? this._renderTextArea() : this._renderInput()}\n {iconProps && }\n {(suffix !== undefined || this.props.onRenderSuffix) && (\n
{onRenderSuffix(this.props, this._onRenderSuffix)}
\n )}\n
\n
\n {this._isDescriptionAvailable && (\n \n {onRenderDescription(this.props, this._onRenderDescription)}\n {errorMessage && (\n
\n \n

\n {errorMessage}\n

\n
\n
\n )}\n
\n )}\n
\n );\n }\n\n /**\n * Sets focus on the text field\n */\n public focus() {\n if (this._textElement.current) {\n this._textElement.current.focus();\n }\n }\n\n /**\n * Blurs the text field.\n */\n public blur() {\n if (this._textElement.current) {\n this._textElement.current.blur();\n }\n }\n\n /**\n * Selects the text field\n */\n public select() {\n if (this._textElement.current) {\n this._textElement.current.select();\n }\n }\n\n /**\n * Sets the selection start of the text field to a specified value\n */\n public setSelectionStart(value: number): void {\n if (this._textElement.current) {\n this._textElement.current.selectionStart = value;\n }\n }\n\n /**\n * Sets the selection end of the text field to a specified value\n */\n public setSelectionEnd(value: number): void {\n if (this._textElement.current) {\n this._textElement.current.selectionEnd = value;\n }\n }\n\n /**\n * Gets the selection start of the text field\n */\n public get selectionStart(): number | null {\n return this._textElement.current ? this._textElement.current.selectionStart : -1;\n }\n\n /**\n * Gets the selection end of the text field\n */\n public get selectionEnd(): number | null {\n return this._textElement.current ? this._textElement.current.selectionEnd : -1;\n }\n\n /**\n * Sets the start and end positions of a selection in a text field.\n * @param start - Index of the start of the selection.\n * @param end - Index of the end of the selection.\n */\n public setSelectionRange(start: number, end: number): void {\n if (this._textElement.current) {\n (this._textElement.current as HTMLInputElement).setSelectionRange(start, end);\n }\n }\n\n private _warnControlledUsage(prevProps?: ITextFieldProps): void {\n // Show warnings if props are being used in an invalid way\n warnControlledUsage({\n componentId: this._id,\n componentName: COMPONENT_NAME,\n props: this.props,\n oldProps: prevProps,\n valueProp: 'value',\n defaultValueProp: 'defaultValue',\n onChangeProp: 'onChange',\n readOnlyProp: 'readOnly',\n });\n\n if (this.props.value === null && !this._hasWarnedNullValue) {\n this._hasWarnedNullValue = true;\n warn(\n `Warning: 'value' prop on '${COMPONENT_NAME}' should not be null. Consider using an ` +\n 'empty string to clear the component or undefined to indicate an uncontrolled component.',\n );\n }\n }\n\n /** Returns `props.id` if available, or a fallback if not. */\n private get _id(): string {\n return this.props.id || this._fallbackId;\n }\n\n private get _isControlled(): boolean {\n return isControlled(this.props, 'value');\n }\n\n private _onFocus = (ev: React.FocusEvent): void => {\n if (this.props.onFocus) {\n this.props.onFocus(ev);\n }\n\n this.setState({ isFocused: true }, () => {\n if (this.props.validateOnFocusIn) {\n this._validate(this.value);\n }\n });\n };\n\n private _onBlur = (ev: React.FocusEvent): void => {\n if (this.props.onBlur) {\n this.props.onBlur(ev);\n }\n\n this.setState({ isFocused: false }, () => {\n if (this.props.validateOnFocusOut) {\n this._validate(this.value);\n }\n });\n };\n\n private _onRenderLabel = (props: ITextFieldProps): JSX.Element | null => {\n const { label, required } = props;\n // IProcessedStyleSet definition requires casting for what Label expects as its styles prop\n const labelStyles = this._classNames.subComponentStyles\n ? (this._classNames.subComponentStyles.label as IStyleFunctionOrObject)\n : undefined;\n\n if (label) {\n return (\n \n );\n }\n return null;\n };\n\n private _onRenderDescription = (props: ITextFieldProps): JSX.Element | null => {\n if (props.description) {\n return {props.description};\n }\n return null;\n };\n\n private _onRenderPrefix(props: ITextFieldProps): JSX.Element {\n const { prefix } = props;\n return {prefix};\n }\n\n private _onRenderSuffix(props: ITextFieldProps): JSX.Element {\n const { suffix } = props;\n return {suffix};\n }\n\n /**\n * Current error message from either `props.errorMessage` or the result of `props.onGetErrorMessage`.\n *\n * - If there is no validation error or we have not validated the input value, errorMessage is an empty string.\n * - If we have done the validation and there is validation error, errorMessage is the validation error message.\n */\n private get _errorMessage(): string | JSX.Element {\n const { errorMessage = this.state.errorMessage } = this.props;\n return errorMessage || '';\n }\n\n /**\n * If a custom description render function is supplied then treat description as always available.\n * Otherwise defer to the presence of description or error message text.\n */\n private get _isDescriptionAvailable(): boolean {\n const props = this.props;\n return !!(props.onRenderDescription || props.description || this._errorMessage);\n }\n\n private _renderTextArea(): React.ReactElement> {\n const textAreaProps = getNativeProps>(\n this.props,\n textAreaProperties,\n ['defaultValue'],\n );\n const ariaLabelledBy = this.props['aria-labelledby'] || (this.props.label ? this._labelId : undefined);\n return (\n }\n value={this.value || ''}\n onInput={this._onInputChange}\n onChange={this._onInputChange}\n className={this._classNames.field}\n aria-labelledby={ariaLabelledBy}\n aria-describedby={this._isDescriptionAvailable ? this._descriptionId : this.props['aria-describedby']}\n aria-invalid={!!this._errorMessage}\n aria-label={this.props.ariaLabel}\n readOnly={this.props.readOnly}\n onFocus={this._onFocus}\n onBlur={this._onBlur}\n />\n );\n }\n\n private _renderInput(): React.ReactElement> {\n const inputProps = getNativeProps>(this.props, inputProperties, [\n 'defaultValue',\n ]);\n const ariaLabelledBy = this.props['aria-labelledby'] || (this.props.label ? this._labelId : undefined);\n return (\n }\n value={this.value || ''}\n onInput={this._onInputChange}\n onChange={this._onInputChange}\n className={this._classNames.field}\n aria-label={this.props.ariaLabel}\n aria-describedby={this._isDescriptionAvailable ? this._descriptionId : this.props['aria-describedby']}\n aria-invalid={!!this._errorMessage}\n readOnly={this.props.readOnly}\n onFocus={this._onFocus}\n onBlur={this._onBlur}\n />\n );\n }\n\n private _onInputChange = (event: React.FormEvent): void => {\n // Previously, we needed to call both onInput and onChange due to some weird IE/React issues,\n // which have *probably* been fixed now:\n // - https://github.com/microsoft/fluentui/issues/744 (likely fixed)\n // - https://github.com/microsoft/fluentui/issues/824 (confirmed fixed)\n\n // TODO (Fabric 8?) - Switch to calling only onChange. This switch is pretty disruptive for\n // tests (ours and maybe consumers' too), so it seemed best to do the switch in a major bump.\n\n const element = event.target as HTMLInputElement;\n const value = element.value;\n // Ignore this event if the value is undefined (in case one of the IE bugs comes back)\n if (value === undefined || value === this._lastChangeValue) {\n return;\n }\n this._lastChangeValue = value;\n\n // This is so developers can access the event properties in asynchronous callbacks\n // https://reactjs.org/docs/events.html#event-pooling\n event.persist();\n\n let isSameValue: boolean;\n this.setState(\n (prevState: ITextFieldState, props: ITextFieldProps) => {\n const prevValue = _getValue(props, prevState) || '';\n isSameValue = value === prevValue;\n // Avoid doing unnecessary work when the value has not changed.\n if (isSameValue) {\n return null;\n }\n\n // ONLY if this is an uncontrolled component, update the displayed value.\n // (Controlled components must update the `value` prop from `onChange`.)\n return this._isControlled ? null : { uncontrolledValue: value };\n },\n () => {\n // If the value actually changed, call onChange (for either controlled or uncontrolled)\n const { onChange } = this.props;\n if (!isSameValue && onChange) {\n onChange(event, value);\n }\n },\n );\n };\n\n private _validate(value: string | undefined): void {\n // In case _validate is called again while validation promise is executing\n if (this._latestValidateValue === value && _shouldValidateAllChanges(this.props)) {\n return;\n }\n\n this._latestValidateValue = value;\n const onGetErrorMessage = this.props.onGetErrorMessage;\n const result = onGetErrorMessage && onGetErrorMessage(value || '');\n\n if (result !== undefined) {\n if (typeof result === 'string' || !('then' in result)) {\n this.setState({ errorMessage: result });\n this._notifyAfterValidate(value, result);\n } else {\n const currentValidation: number = ++this._lastValidation;\n\n result.then((errorMessage: string | JSX.Element) => {\n if (currentValidation === this._lastValidation) {\n this.setState({ errorMessage });\n }\n this._notifyAfterValidate(value, errorMessage);\n });\n }\n } else {\n this._notifyAfterValidate(value, '');\n }\n }\n\n private _notifyAfterValidate(value: string | undefined, errorMessage: string | JSX.Element): void {\n if (value === this.value && this.props.onNotifyValidationResult) {\n this.props.onNotifyValidationResult(errorMessage, value);\n }\n }\n\n private _adjustInputHeight(): void {\n if (this._textElement.current && this.props.autoAdjustHeight && this.props.multiline) {\n const textField = this._textElement.current;\n textField.style.height = '';\n textField.style.height = textField.scrollHeight + 'px';\n }\n }\n}\n\n/** Get the value from the given state and props (converting from number to string if needed) */\nfunction _getValue(props: ITextFieldProps, state: ITextFieldState): string | undefined {\n const { value = state.uncontrolledValue } = props;\n if (typeof value === 'number') {\n // not allowed per typings, but happens anyway\n return String(value);\n }\n return value;\n}\n\n/**\n * If `validateOnFocusIn` or `validateOnFocusOut` is true, validation should run **only** on that event.\n * Otherwise, validation should run on every change.\n */\nfunction _shouldValidateAllChanges(props: ITextFieldProps): boolean {\n return !(props.validateOnFocusIn || props.validateOnFocusOut);\n}\n","import {\n AnimationClassNames,\n getGlobalClassNames,\n getInputFocusStyle,\n HighContrastSelector,\n IStyle,\n normalize,\n getPlaceholderStyles,\n IconFontSizes,\n} from '../../Styling';\nimport { ILabelStyles, ILabelStyleProps } from '../../Label';\nimport { ITextFieldStyleProps, ITextFieldStyles } from './TextField.types';\nimport { IStyleFunctionOrObject } from '@uifabric/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\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 } = 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 };\n\n // placeholder style constants\n const placeholderStyles: IStyle = [\n fonts.medium,\n {\n color: semanticColors.inputPlaceholderText,\n opacity: 1,\n },\n ];\n\n const disabledPlaceholderStyles: IStyle = {\n color: semanticColors.disabledText,\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 },\n },\n },\n !disabled && {\n selectors: {\n ':hover': {\n borderBottomColor: !hasErrorMessage ? semanticColors.inputBorderHovered : semanticColors.errorText,\n selectors: {\n [HighContrastSelector]: {\n borderBottomColor: 'Highlight',\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 },\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 },\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 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 },\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 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 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 * 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 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 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 // tslint:disable-next-line:no-bitwise\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 } from '../../../Styling';\nimport { IsFocusVisibleClassName } from '../../../Utilities';\nimport { hiddenContentStyle } from '@uifabric/styling';\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 MsHighContrastAdjust: 'none',\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 // tslint:disable-next-line: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 // tslint:disable-next-line: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 // tslint:disable-next-line: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 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:\n // tslint:disable-next-line:max-line-length\n 'linear-gradient(to left,red 0,#f09 10%,#cd00ff 20%,#3200ff 30%,#06f 40%,#00fffd 50%,#0f6 60%,#35ff00 70%,#cdff00 80%,#f90 90%,red 100%)',\n};\n\nconst alphaStyle = {\n backgroundImage:\n // tslint:disable-next-line:max-line-length\n 'url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAJUlEQVQYV2N89erVfwY0ICYmxoguxjgUFKI7GsTH5m4M3w1ChQC1/Ca8i2n1WgAAAABJRU5ErkJggg==)',\n};\n\nexport const getStyles = (props: IColorSliderStyleProps): IColorSliderStyles => {\n // tslint:disable-next-line: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 // tslint:disable-next-line: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 // tslint:disable: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 // tslint:enable: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 // tslint:disable-next-line: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 { Autofill, IAutofill } from '../Autofill/index';\nimport {\n initializeComponentRef,\n css,\n customizable,\n divProperties,\n findElementRecursive,\n findIndex,\n focusAsync,\n getId,\n getNativeProps,\n isIOS,\n isMac,\n KeyCodes,\n shallowCompare,\n mergeAriaAttributeValues,\n warnMutuallyExclusive,\n Async,\n EventGroup,\n} from '../../Utilities';\nimport { Callout } from '../../Callout';\nimport { Checkbox } from '../../Checkbox';\nimport { CommandButton, IButtonStyles, IconButton } from '../../Button';\nimport { DirectionalHint } from '../../common/DirectionalHint';\nimport { getCaretDownButtonStyles, getOptionStyles, getStyles } from './ComboBox.styles';\nimport { getClassNames, getComboBoxOptionClassNames, IComboBoxClassNames } from './ComboBox.classNames';\nimport { IComboBoxOption, IComboBoxOptionStyles, IComboBoxProps, IOnRenderComboBoxLabelProps } from './ComboBox.types';\nimport { KeytipData } from '../../KeytipData';\nimport { Label } from '../../Label';\nimport { SelectableOptionMenuItemType, getAllSelectedOptions } from '../../utilities/selectableOption/index';\nimport { BaseButton, Button } from '../Button/index';\nimport { ICalloutProps } from '../../Callout';\n\nexport interface IComboBoxState {\n /** The open state */\n isOpen?: boolean;\n\n /** The currently selected indices */\n selectedIndices?: number[];\n\n /** The focused state of the comboBox */\n focused?: boolean;\n\n /** This value is used for the autocomplete hint value */\n suggestedDisplayValue?: string;\n\n /** The options currently available for the callout */\n currentOptions: IComboBoxOption[];\n\n /**\n * When taking input, this will store the index that the options input matches\n * (-1 if no input or match)\n */\n currentPendingValueValidIndex: number;\n\n /**\n * Stores the hovered over value in the dropdown\n * (used for styling the options without updating the input)\n */\n currentPendingValueValidIndexOnHover: number;\n\n /** When taking input, this will store the actual text that is being entered */\n currentPendingValue?: string;\n}\n\nenum SearchDirection {\n backward = -1,\n none = 0,\n forward = 1,\n}\n\nenum HoverStatus {\n /** Used when the user was hovering and has since moused out of the menu items */\n clearAll = -2,\n /** Default \"normal\" state, when no hover has happened or a hover is in progress */\n default = -1,\n}\n\nconst ScrollIdleDelay = 250; /* ms */\nconst TouchIdleDelay = 500; /* ms */\n\n/**\n * This is used to clear any pending autocomplete text (used when autocomplete is true and\n * allowFreeform is false)\n */\nconst ReadOnlyPendingAutoCompleteTimeout = 1000; /* ms */\n\ninterface IComboBoxOptionWrapperProps extends IComboBoxOption {\n /** True if the option is currently selected */\n isSelected: boolean;\n\n /** True if the option is currently checked (multi-select) */\n isChecked: boolean;\n\n /**\n * A function that returns the children of the OptionWrapper. We pass this in as a function to ensure that\n * children methods don't get called unnecessarily if the component doesn't need to be updated. This leads\n * to a significant performance increase in ComboBoxes with many options and/or complex onRenderOption functions\n */\n render: () => JSX.Element;\n}\n\n/**\n * Internal class that is used to wrap all ComboBox options.\n * This is used to customize when we want to rerender components,\n * so we don't rerender every option every time render is executed.\n */\nclass ComboBoxOptionWrapper extends React.Component {\n public render(): React.ReactNode {\n return this.props.render();\n }\n\n public shouldComponentUpdate(newProps: IComboBoxOptionWrapperProps): boolean {\n // The render function will always be different, so we ignore that prop\n return !shallowCompare({ ...this.props, render: undefined }, { ...newProps, render: undefined });\n }\n}\n\nconst COMPONENT_NAME = 'ComboBox';\n\n@customizable('ComboBox', ['theme', 'styles'], true)\nexport class ComboBox extends React.Component {\n public static defaultProps: IComboBoxProps = {\n options: [],\n allowFreeform: false,\n autoComplete: 'on',\n buttonIconProps: { iconName: 'ChevronDown' },\n };\n\n private _root = React.createRef();\n\n /** The input aspect of the comboBox */\n private _autofill = React.createRef();\n\n /** The wrapping div of the input and button */\n private _comboBoxWrapper = React.createRef();\n\n /** The callout element */\n private _comboBoxMenu = React.createRef();\n\n /** The menu item element that is currently selected */\n private _selectedElement = React.createRef();\n\n /** The base id for the ComboBox */\n private _id: string;\n\n /**\n * After a character is inserted when autocomplete is true and allowFreeform is false,\n * remember the task that will clear the pending string of characters.\n */\n private _lastReadOnlyAutoCompleteChangeTimeoutId: number | undefined;\n\n /** Promise used when resolving the comboBox options */\n private _currentPromise: PromiseLike;\n\n /** The current visible value sent to the auto fill on render */\n private _currentVisibleValue: string | undefined;\n private _classNames: IComboBoxClassNames;\n private _isScrollIdle: boolean;\n private _hasPendingValue: boolean;\n private _scrollIdleTimeoutId: number | undefined;\n private _processingTouch: boolean;\n private _lastTouchTimeoutId: number | undefined;\n /** True if the most recent keydown event was for alt (option) or meta (command). */\n private _lastKeyDownWasAltOrMeta: boolean | undefined;\n\n /**\n * Determines if we should be setting focus back to the input when the menu closes.\n * The general rule of thumb is if the menu was launched via the keyboard focus should go back\n * to the input, if it was dropped via the mouse focus should not be forced back to the input.\n */\n private _focusInputAfterClose: boolean;\n\n /** Flag for when we get the first mouseMove */\n private _gotMouseMove: boolean;\n\n private _processingClearPendingInfo: boolean;\n\n private _async: Async;\n private _events: EventGroup;\n\n constructor(props: IComboBoxProps) {\n super(props);\n\n initializeComponentRef(this);\n this._async = new Async(this);\n this._events = new EventGroup(this);\n\n warnMutuallyExclusive(COMPONENT_NAME, props, {\n defaultSelectedKey: 'selectedKey',\n text: 'defaultSelectedKey',\n selectedKey: 'value',\n dropdownWidth: 'useComboBoxAsMenuWidth',\n });\n\n this._id = props.id || getId('ComboBox');\n const selectedKeys: string[] | number[] = this._buildDefaultSelectedKeys(\n props.defaultSelectedKey,\n props.selectedKey,\n );\n\n this._isScrollIdle = true;\n this._processingTouch = false;\n this._gotMouseMove = false;\n this._processingClearPendingInfo = false;\n\n const initialSelectedIndices: number[] = this._getSelectedIndices(props.options, selectedKeys);\n\n this.state = {\n isOpen: false,\n selectedIndices: initialSelectedIndices,\n focused: false,\n suggestedDisplayValue: undefined,\n currentOptions: this.props.options,\n currentPendingValueValidIndex: -1,\n currentPendingValue: undefined,\n currentPendingValueValidIndexOnHover: HoverStatus.default,\n };\n }\n\n /**\n * All selected options\n */\n public get selectedOptions(): IComboBoxOption[] {\n const { currentOptions, selectedIndices } = this.state;\n\n return getAllSelectedOptions(currentOptions, selectedIndices!);\n }\n\n public componentDidMount(): void {\n if (this._comboBoxWrapper.current && !this.props.disabled) {\n // hook up resolving the options if needed on focus\n this._events.on(this._comboBoxWrapper.current, 'focus', this._onResolveOptions, true);\n if ('onpointerdown' in this._comboBoxWrapper.current) {\n // For ComboBoxes, touching anywhere in the combo box should drop the dropdown, including the input element.\n // This gives more hit target space for touch environments. We're setting the onpointerdown here, because React\n // does not support Pointer events yet.\n this._events.on(this._comboBoxWrapper.current, 'pointerdown', this._onPointerDown, true);\n }\n }\n }\n\n // tslint:disable-next-line function-name\n public UNSAFE_componentWillReceiveProps(newProps: IComboBoxProps): void {\n // Update the selectedIndex and currentOptions state if\n // the selectedKey, value, or options have changed\n if (\n newProps.selectedKey !== this.props.selectedKey ||\n newProps.text !== this.props.text ||\n newProps.options !== this.props.options\n ) {\n const selectedKeys: string[] | number[] = this._buildSelectedKeys(newProps.selectedKey);\n const indices: number[] = this._getSelectedIndices(newProps.options, selectedKeys);\n\n this.setState({\n selectedIndices: indices,\n currentOptions: newProps.options,\n });\n if (newProps.selectedKey === null) {\n this.setState({\n suggestedDisplayValue: undefined,\n });\n }\n }\n }\n\n public componentDidUpdate(prevProps: IComboBoxProps, prevState: IComboBoxState) {\n const { allowFreeform, text, onMenuOpen, onMenuDismissed } = this.props;\n const { isOpen, focused, selectedIndices, currentPendingValueValidIndex } = this.state;\n\n // If we are newly open or are open and the pending valid index changed,\n // make sure the currently selected/pending option is scrolled into view\n if (isOpen && (!prevState.isOpen || prevState.currentPendingValueValidIndex !== currentPendingValueValidIndex)) {\n // Need this timeout so that the selectedElement ref is correctly updated\n this._async.setTimeout(() => this._scrollIntoView(), 0);\n }\n\n // if an action is taken that put focus in the ComboBox\n // and If we are open or we are just closed, shouldFocusAfterClose is set,\n // but we are not the activeElement set focus on the input\n if (\n focused &&\n (isOpen ||\n (prevState.isOpen &&\n !isOpen &&\n this._focusInputAfterClose &&\n this._autofill.current &&\n document.activeElement !== this._autofill.current.inputElement))\n ) {\n this.focus(undefined /*shouldOpenOnFocus*/, true /*useFocusAsync*/);\n }\n\n // If we should focusAfterClose AND\n // just opened/closed the menu OR\n // are focused AND\n // updated the selectedIndex with the menu closed OR\n // are not allowing freeform OR\n // the value changed\n // we need to set selection\n if (\n this._focusInputAfterClose &&\n ((prevState.isOpen && !isOpen) ||\n (focused &&\n ((!isOpen &&\n !this.props.multiSelect &&\n prevState.selectedIndices &&\n selectedIndices &&\n prevState.selectedIndices[0] !== selectedIndices[0]) ||\n !allowFreeform ||\n text !== prevProps.text)))\n ) {\n this._select();\n }\n\n this._notifyPendingValueChanged(prevState);\n\n if (isOpen && !prevState.isOpen && onMenuOpen) {\n onMenuOpen();\n }\n\n if (!isOpen && prevState.isOpen && onMenuDismissed) {\n onMenuDismissed();\n }\n }\n\n public componentWillUnmount(): void {\n this._async.dispose();\n this._events.dispose();\n }\n\n // Primary Render\n public render(): JSX.Element {\n const id = this._id;\n const errorMessageId = id + '-error';\n const {\n className,\n label,\n disabled,\n ariaLabel,\n ariaDescribedBy,\n required,\n errorMessage,\n onRenderContainer = this._onRenderContainer,\n onRenderLabel = this._onRenderLabel,\n onRenderList = this._onRenderList,\n onRenderItem = this._onRenderItem,\n onRenderOption = this._onRenderOptionContent,\n allowFreeform,\n buttonIconProps,\n isButtonAriaHidden = true,\n styles: customStyles,\n theme,\n title,\n keytipProps,\n placeholder: placeholderProp,\n tabIndex,\n autofill,\n persistMenu,\n iconButtonProps,\n multiSelect,\n } = this.props;\n const { isOpen, focused, suggestedDisplayValue } = this.state;\n this._currentVisibleValue = this._getVisibleValue();\n\n // Single select is already accessible since the whole text is selected\n // when focus enters the input. Since multiselect appears to clear the input\n // it needs special accessible text\n const multiselectAccessibleText = multiSelect\n ? this._getMultiselectDisplayString(this.state.selectedIndices, this.state.currentOptions, suggestedDisplayValue)\n : undefined;\n\n const divProps = getNativeProps>(this.props, divProperties, [\n 'onChange',\n 'value',\n ]);\n\n const hasErrorMessage = errorMessage && errorMessage.length > 0 ? true : false;\n\n // If the combobox has focus, is multiselect, and has a display string, then use that placeholder\n // so that the selected items don't appear to vanish. This is not ideal but it's the only reasonable way\n // to correct the behavior where the input is cleared so the user can type. If a full refactor is done, then this\n // should be removed and the multiselect combobox should behave like a picker.\n const placeholder =\n focused && this.props.multiSelect && multiselectAccessibleText ? multiselectAccessibleText : placeholderProp;\n\n this._classNames = this.props.getClassNames\n ? this.props.getClassNames(\n theme!,\n !!isOpen,\n !!disabled,\n !!required,\n !!focused,\n !!allowFreeform,\n !!hasErrorMessage,\n className,\n )\n : getClassNames(\n getStyles(theme!, customStyles),\n className!,\n !!isOpen,\n !!disabled,\n !!required,\n !!focused,\n !!allowFreeform,\n !!hasErrorMessage,\n );\n\n return (\n
\n {onRenderLabel({ props: this.props, multiselectAccessibleText }, this._onRenderLabel)}\n \n {(keytipAttributes: any): JSX.Element => (\n \n \n \n
\n )}\n \n {(persistMenu || isOpen) &&\n onRenderContainer(\n {\n ...this.props,\n onRenderList,\n onRenderItem,\n onRenderOption,\n options: this.state.currentOptions.map((item, index) => ({ ...item, index: index })),\n onDismiss: this._onDismiss,\n },\n this._onRenderContainer,\n )}\n \n {errorMessage !== undefined ? errorMessage : ''}\n
\n \n );\n }\n\n /**\n * {@inheritdoc}\n */\n public focus = (shouldOpenOnFocus?: boolean, useFocusAsync?: boolean): void => {\n if (this._autofill.current) {\n if (useFocusAsync) {\n focusAsync(this._autofill.current);\n } else {\n this._autofill.current.focus();\n }\n\n if (shouldOpenOnFocus) {\n this.setState({\n isOpen: true,\n });\n }\n }\n };\n\n /**\n * Close menu callout if it is open\n */\n public dismissMenu = (): void => {\n const { isOpen } = this.state;\n isOpen && this.setState({ isOpen: false });\n };\n\n /**\n * componentWillReceiveProps handler for the auto fill component\n * Checks/updates the iput value to set, if needed\n * @param defaultVisibleValue - the defaultVisibleValue that got passed\n * in to the auto fill's componentWillReceiveProps\n * @returns - the updated value to set, if needed\n */\n private _onUpdateValueInAutofillWillReceiveProps = (): string | null => {\n const comboBox = this._autofill.current;\n\n if (!comboBox) {\n return null;\n }\n\n if (comboBox.value === null || comboBox.value === undefined) {\n return null;\n }\n\n const visibleValue = this._normalizeToString(this._currentVisibleValue);\n if (comboBox.value !== visibleValue) {\n // If visibleValue is empty, ensure that the empty string is used\n return visibleValue || '';\n }\n\n return comboBox.value;\n };\n\n /**\n * componentDidUpdate handler for the auto fill component\n *\n * @param defaultVisibleValue - the current defaultVisibleValue in the auto fill's componentDidUpdate\n * @param suggestedDisplayValue - the current suggestedDisplayValue in the auto fill's componentDidUpdate\n * @returns - should the full value of the input be selected?\n * True if the defaultVisibleValue equals the suggestedDisplayValue, false otherwise\n */\n private _onShouldSelectFullInputValueInAutofillComponentDidUpdate = (): boolean => {\n return this._currentVisibleValue === this.state.suggestedDisplayValue;\n };\n\n /**\n * Get the correct value to pass to the input\n * to show to the user based off of the current props and state\n * @returns the value to pass to the input\n */\n private _getVisibleValue = (): string | undefined => {\n const { text, allowFreeform, autoComplete } = this.props;\n const {\n selectedIndices,\n currentPendingValueValidIndex,\n currentOptions,\n currentPendingValue,\n suggestedDisplayValue,\n isOpen,\n focused,\n } = this.state;\n\n const currentPendingIndexValid = this._indexWithinBounds(currentOptions, currentPendingValueValidIndex);\n\n // If the user passed is a value prop, use that\n // unless we are open and have a valid current pending index\n if (\n !(isOpen && currentPendingIndexValid) &&\n text &&\n (currentPendingValue === null || currentPendingValue === undefined)\n ) {\n return text;\n }\n\n if (this.props.multiSelect) {\n // Multi-select\n if (focused) {\n let index = -1;\n if (autoComplete === 'on' && currentPendingIndexValid) {\n index = currentPendingValueValidIndex;\n }\n return this._getPendingString(currentPendingValue, currentOptions, index);\n } else {\n return this._getMultiselectDisplayString(selectedIndices, currentOptions, suggestedDisplayValue);\n }\n } else {\n // Single-select\n let index: number = this._getFirstSelectedIndex();\n if (allowFreeform) {\n // If we are allowing freeform and autocomplete is also true\n // and we've got a pending value that matches an option, remember\n // the matched option's index\n if (autoComplete === 'on' && currentPendingIndexValid) {\n index = currentPendingValueValidIndex;\n }\n\n // Since we are allowing freeform, if there is currently a pending value, use that\n // otherwise use the index determined above (falling back to '' if we did not get a valid index)\n return this._getPendingString(currentPendingValue, currentOptions, index);\n } else {\n // If we are not allowing freeform and have a\n // valid index that matches the pending value,\n // we know we will need some version of the pending value\n if (currentPendingIndexValid && autoComplete === 'on') {\n // If autoComplete is on, return the\n // raw pending value, otherwise remember\n // the matched option's index\n index = currentPendingValueValidIndex;\n return this._normalizeToString(currentPendingValue);\n } else if (!this.state.isOpen && currentPendingValue) {\n return this._indexWithinBounds(currentOptions, index)\n ? currentPendingValue\n : this._normalizeToString(suggestedDisplayValue);\n } else {\n return this._indexWithinBounds(currentOptions, index)\n ? currentOptions[index].text\n : this._normalizeToString(suggestedDisplayValue);\n }\n }\n }\n };\n\n private _getPendingString(\n currentPendingValue: string | null | undefined,\n currentOptions: IComboBoxOption[],\n index: number,\n ) {\n return currentPendingValue !== null && currentPendingValue !== undefined\n ? currentPendingValue\n : this._indexWithinBounds(currentOptions, index)\n ? currentOptions[index].text\n : '';\n }\n\n /**\n * Returns a string that concatenates all of the selected values\n * for multiselect combobox.\n */\n private _getMultiselectDisplayString(\n selectedIndices: number[] | undefined,\n currentOptions: IComboBoxOption[],\n suggestedDisplayValue: string | undefined,\n ) {\n const displayValues = [];\n for (let idx = 0; selectedIndices && idx < selectedIndices.length; idx++) {\n const index: number = selectedIndices[idx];\n displayValues.push(\n this._indexWithinBounds(currentOptions, index)\n ? currentOptions[index].text\n : this._normalizeToString(suggestedDisplayValue),\n );\n }\n let displayString = '';\n for (let idx = 0; idx < displayValues.length; idx++) {\n if (idx > 0) {\n displayString += ', ';\n }\n displayString += displayValues[idx];\n }\n return displayString;\n }\n\n /**\n * Is the index within the bounds of the array?\n * @param options - options to check if the index is valid for\n * @param index - the index to check\n * @returns - true if the index is valid for the given options, false otherwise\n */\n private _indexWithinBounds(options: IComboBoxOption[] | undefined, index: number): boolean {\n if (!options) {\n return false;\n }\n return index >= 0 && index < options.length;\n }\n\n /**\n * Handler for typing changes on the input\n * @param updatedValue - the newly changed value\n */\n private _onInputChange = (updatedValue: string): void => {\n if (this.props.disabled) {\n this._handleInputWhenDisabled(null /* event */);\n return;\n }\n\n this.props.allowFreeform\n ? this._processInputChangeWithFreeform(updatedValue)\n : this._processInputChangeWithoutFreeform(updatedValue);\n };\n\n /**\n * Process the new input's new value when the comboBox\n * allows freeform entry\n * @param updatedValue - the input's newly changed value\n */\n private _processInputChangeWithFreeform(updatedValue: string): void {\n const { currentOptions } = this.state;\n let newCurrentPendingValueValidIndex = -1;\n\n // if the new value is empty, see if we have an exact match\n // and then set the pending info\n if (updatedValue === '') {\n const items = currentOptions\n .map((item, index) => {\n return { ...item, index };\n })\n .filter(\n option =>\n option.itemType !== SelectableOptionMenuItemType.Header &&\n option.itemType !== SelectableOptionMenuItemType.Divider,\n )\n .filter(option => this._getPreviewText(option) === updatedValue);\n\n // if we found a match remember the index\n if (items.length === 1) {\n newCurrentPendingValueValidIndex = items[0].index;\n }\n\n this._setPendingInfo(updatedValue, newCurrentPendingValueValidIndex, updatedValue);\n return;\n }\n\n // Remember the original value and then,\n // make the value lowercase for comparison\n const originalUpdatedValue: string = updatedValue;\n updatedValue = updatedValue.toLocaleLowerCase();\n\n let newSuggestedDisplayValue = '';\n\n // If autoComplete is on, attempt to find a match from the available options\n if (this.props.autoComplete === 'on') {\n // If autoComplete is on, attempt to find a match where the text of an option starts with the updated value\n const items = currentOptions\n .map((item, index) => {\n return { ...item, index };\n })\n .filter(\n option =>\n option.itemType !== SelectableOptionMenuItemType.Header &&\n option.itemType !== SelectableOptionMenuItemType.Divider,\n )\n .filter(\n option =>\n this._getPreviewText(option)\n .toLocaleLowerCase()\n .indexOf(updatedValue) === 0,\n );\n if (items.length > 0) {\n // use ariaLabel as the value when the option is set\n const text: string = this._getPreviewText(items[0]);\n\n // If the user typed out the complete option text, we don't need any suggested display text anymore\n newSuggestedDisplayValue = text.toLocaleLowerCase() !== updatedValue ? text : '';\n\n // remember the index of the match we found\n newCurrentPendingValueValidIndex = items[0].index;\n }\n } else {\n // If autoComplete is off, attempt to find a match only when the value is exactly equal to the text of an option\n const items = currentOptions\n .map((item, index) => {\n return { ...item, index };\n })\n .filter(\n option =>\n option.itemType !== SelectableOptionMenuItemType.Header &&\n option.itemType !== SelectableOptionMenuItemType.Divider,\n )\n .filter(option => this._getPreviewText(option).toLocaleLowerCase() === updatedValue);\n\n // if we found a match remember the index\n if (items.length === 1) {\n newCurrentPendingValueValidIndex = items[0].index;\n }\n }\n\n // Set the updated state\n this._setPendingInfo(originalUpdatedValue, newCurrentPendingValueValidIndex, newSuggestedDisplayValue);\n }\n\n /**\n * Process the new input's new value when the comboBox\n * does not allow freeform entry\n * @param updatedValue - the input's newly changed value\n */\n private _processInputChangeWithoutFreeform(updatedValue: string): void {\n const { currentPendingValue, currentPendingValueValidIndex, currentOptions } = this.state;\n\n if (this.props.autoComplete === 'on') {\n // If autoComplete is on while allow freeform is off,\n // we will remember the keypresses and build up a string to attempt to match\n // as long as characters are typed within a the timeout span of each other,\n // otherwise we will clear the string and start building a new one on the next keypress.\n // Also, only do this processing if we have a non-empty value\n if (updatedValue !== '') {\n // If we have a pending autocomplete clearing task,\n // we know that the user is typing with keypresses happening\n // within the timeout of each other so remove the clearing task\n // and continue building the pending value with the udpated value\n if (this._lastReadOnlyAutoCompleteChangeTimeoutId !== undefined) {\n this._async.clearTimeout(this._lastReadOnlyAutoCompleteChangeTimeoutId);\n this._lastReadOnlyAutoCompleteChangeTimeoutId = undefined;\n updatedValue = this._normalizeToString(currentPendingValue) + updatedValue;\n }\n\n const originalUpdatedValue: string = updatedValue;\n updatedValue = updatedValue.toLocaleLowerCase();\n\n // If autoComplete is on, attempt to find a match where the text of an option starts with the updated value\n const items = currentOptions\n .map((item, i) => {\n return { ...item, index: i };\n })\n .filter(\n option =>\n option.itemType !== SelectableOptionMenuItemType.Header &&\n option.itemType !== SelectableOptionMenuItemType.Divider,\n )\n .filter(option => option.text.toLocaleLowerCase().indexOf(updatedValue) === 0);\n\n // If we found a match, udpdate the state\n if (items.length > 0) {\n this._setPendingInfo(originalUpdatedValue, items[0].index, this._getPreviewText(items[0]));\n }\n\n // Schedule a timeout to clear the pending value after the timeout span\n this._lastReadOnlyAutoCompleteChangeTimeoutId = this._async.setTimeout(() => {\n this._lastReadOnlyAutoCompleteChangeTimeoutId = undefined;\n }, ReadOnlyPendingAutoCompleteTimeout);\n return;\n }\n }\n\n // If we get here, either autoComplete is on or we did not find a match with autoComplete on.\n // Remember we are not allowing freeform, so at this point, if we have a pending valid value index\n // use that; otherwise use the selectedIndex\n const index = currentPendingValueValidIndex >= 0 ? currentPendingValueValidIndex : this._getFirstSelectedIndex();\n\n // Since we are not allowing freeform, we need to\n // set both the pending and suggested values/index\n // to allow us to select all content in the input to\n // give the illusion that we are readonly (e.g. freeform off)\n this._setPendingInfoFromIndex(index);\n }\n\n private _getFirstSelectedIndex(): number {\n return this.state.selectedIndices && this.state.selectedIndices.length > 0 ? this.state.selectedIndices[0] : -1;\n }\n\n /**\n * Walk along the options starting at the index, stepping by the delta (positive or negative)\n * looking for the next valid selectable index (e.g. skipping headings and dividers)\n * @param index - the index to get the next selectable index from\n * @param delta - optional delta to step by when finding the next index, defaults to 0\n * @returns - the next valid selectable index. If the new index is outside of the bounds,\n * it will snap to the edge of the options array. If delta == 0 and the given index is not selectable\n */\n private _getNextSelectableIndex(index: number, searchDirection: SearchDirection): number {\n const { currentOptions } = this.state;\n\n let newIndex = index + searchDirection;\n\n newIndex = Math.max(0, Math.min(currentOptions.length - 1, newIndex));\n\n if (!this._indexWithinBounds(currentOptions, newIndex)) {\n return -1;\n }\n\n const option: IComboBoxOption = currentOptions[newIndex];\n\n if (\n option.itemType === SelectableOptionMenuItemType.Header ||\n option.itemType === SelectableOptionMenuItemType.Divider ||\n option.hidden === true\n ) {\n // Should we continue looking for an index to select?\n if (\n searchDirection !== SearchDirection.none &&\n ((newIndex > 0 && searchDirection < SearchDirection.none) ||\n (newIndex >= 0 && newIndex < currentOptions.length && searchDirection > SearchDirection.none))\n ) {\n newIndex = this._getNextSelectableIndex(newIndex, searchDirection);\n } else {\n // If we cannot perform a useful search just return the index we were given\n return index;\n }\n }\n\n // We have the next valid selectable index, return it\n return newIndex;\n }\n\n /**\n * Set the selected index. Note, this is\n * the \"real\" selected index, not the pending selected index\n * @param index - the index to set (or the index to set from if a search direction is provided)\n * @param searchDirection - the direction to search along the options from the given index\n */\n private _setSelectedIndex(\n index: number,\n submitPendingValueEvent: React.SyntheticEvent,\n searchDirection: SearchDirection = SearchDirection.none,\n ): void {\n const { onChange, onPendingValueChanged } = this.props;\n const { currentOptions } = this.state;\n const { selectedIndices: initialIndices } = this.state;\n\n // Clone selectedIndices so we don't mutate state\n let selectedIndices = initialIndices ? initialIndices.slice() : [];\n\n // Find the next selectable index, if searchDirection is none\n // we will get our starting index back\n index = this._getNextSelectableIndex(index, searchDirection);\n\n if (!this._indexWithinBounds(currentOptions, index)) {\n return;\n }\n\n // Are we at a new index? If so, update the state, otherwise\n // there is nothing to do\n if (\n this.props.multiSelect ||\n selectedIndices.length < 1 ||\n (selectedIndices.length === 1 && selectedIndices[0] !== index)\n ) {\n const option: IComboBoxOption = { ...currentOptions[index] };\n // if option doesn't existing, or option is disabled, we noop\n if (!option || option.disabled) {\n return;\n }\n if (this.props.multiSelect) {\n // Setting the initial state of option.selected in Multi-select combobox by checking the\n // selectedIndices array and overriding the undefined issue\n option.selected = option.selected !== undefined ? !option.selected : selectedIndices.indexOf(index) < 0;\n if (option.selected && selectedIndices.indexOf(index) < 0) {\n selectedIndices.push(index);\n } else if (!option.selected && selectedIndices.indexOf(index) >= 0) {\n selectedIndices = selectedIndices.filter((value: number) => value !== index);\n }\n } else {\n selectedIndices[0] = index;\n }\n\n submitPendingValueEvent.persist();\n\n // Only setstate if combobox is uncontrolled.\n if (this.props.selectedKey || this.props.selectedKey === null) {\n // If ComboBox value is changed, revert preview first\n if (this._hasPendingValue && onPendingValueChanged) {\n onPendingValueChanged();\n this._hasPendingValue = false;\n }\n if (onChange) {\n onChange(submitPendingValueEvent, option, index, undefined);\n }\n } else {\n // Update current options\n const changedOptions = currentOptions.slice();\n changedOptions[index] = option;\n\n // Call onChange after state is updated\n this.setState(\n {\n selectedIndices: selectedIndices,\n currentOptions: changedOptions,\n },\n () => {\n // If ComboBox value is changed, revert preview first\n if (this._hasPendingValue && onPendingValueChanged) {\n onPendingValueChanged();\n this._hasPendingValue = false;\n }\n\n if (onChange) {\n onChange(submitPendingValueEvent, option, index, undefined);\n }\n },\n );\n }\n }\n if (this.props.multiSelect && this.state.isOpen) {\n return;\n }\n // clear all of the pending info\n this._clearPendingInfo();\n }\n\n /**\n * Focus (and select) the content of the input\n * and set the focused state\n */\n private _select = (): void => {\n if (this._autofill.current && this._autofill.current.inputElement) {\n this._autofill.current.inputElement.select();\n }\n\n if (!this.state.focused) {\n const state: Pick | Pick = { focused: true };\n\n if (this.props.openOnKeyboardFocus && !this.state.isOpen && !this.props.disabled) {\n (state as Pick).isOpen = true;\n }\n this.setState(state);\n }\n };\n\n /**\n * Callback issued when the options should be resolved, if they have been updated or\n * if they need to be passed in the first time. This only does work if an onResolveOptions\n * callback was passed in\n */\n private _onResolveOptions = (): void => {\n if (this.props.onResolveOptions) {\n // get the options\n const newOptions = this.props.onResolveOptions([...this.state.currentOptions]);\n\n // Check to see if the returned value is an array, if it is update the state\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(newOptions)) {\n this.setState({\n currentOptions: newOptions,\n });\n } else if (newOptions && newOptions.then) {\n // Ensure that the promise will only use the callback if it was the most recent one\n // and update the state when the promise returns\n const promise: PromiseLike = (this._currentPromise = newOptions);\n promise.then((newOptionsFromPromise: IComboBoxOption[]) => {\n if (promise === this._currentPromise) {\n this.setState({\n currentOptions: newOptionsFromPromise,\n });\n }\n });\n }\n }\n };\n\n /**\n * OnBlur handler. Set the focused state to false\n * and submit any pending value\n */\n // tslint:disable-next-line:deprecation\n private _onBlur = (event: React.FocusEvent): void => {\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 = event.relatedTarget;\n if (event.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 as Element;\n }\n if (\n relatedTarget &&\n // when event coming from withing the comboBox title\n ((this._root.current && this._root.current.contains(relatedTarget as HTMLElement)) ||\n // when event coming from within the comboBox list menu\n (this._comboBoxMenu.current &&\n (this._comboBoxMenu.current.contains(relatedTarget as HTMLElement) ||\n // when event coming from the callout containing the comboBox list menu (ex: when scrollBar of the\n // Callout is clicked) checks if the relatedTarget is a parent of _comboBoxMenu\n findElementRecursive(this._comboBoxMenu.current, element => element === relatedTarget))))\n ) {\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n\n if (this.state.focused) {\n this.setState({ focused: false });\n if (!this.props.multiSelect || this.props.allowFreeform) {\n this._submitPendingValue(event);\n }\n }\n };\n\n /**\n * Submit a pending value if there is one\n */\n private _submitPendingValue(submitPendingValueEvent: any): void {\n const { onChange, allowFreeform, autoComplete } = this.props;\n const {\n currentPendingValue,\n currentPendingValueValidIndex,\n currentOptions,\n currentPendingValueValidIndexOnHover,\n } = this.state;\n let { selectedIndices } = this.state;\n\n // Do not submit any pending value if we\n // have already initiated clearing the pending info\n if (this._processingClearPendingInfo) {\n return;\n }\n\n // If we allow freeform we need to handle that\n if (allowFreeform) {\n // if currentPendingValue is null or undefined the user did not submit anything\n // (not even empty because we would have stored that as the pending value)\n if (currentPendingValue === null || currentPendingValue === undefined) {\n // if a user did not type anything they may just hovered over an item\n if (currentPendingValueValidIndexOnHover >= 0) {\n this._setSelectedIndex(currentPendingValueValidIndexOnHover, submitPendingValueEvent);\n this._clearPendingInfo();\n }\n\n return;\n }\n\n // Check to see if the user typed an exact match\n if (this._indexWithinBounds(currentOptions, currentPendingValueValidIndex)) {\n const pendingOptionText: string = this._getPreviewText(\n currentOptions[currentPendingValueValidIndex],\n ).toLocaleLowerCase();\n\n // By exact match, that means: our pending value is the same as the pending option text OR\n // the pending option starts with the pending value and we have an \"autoComplete\" selection\n // where the total length is equal to pending option length OR\n // the live value in the underlying input matches the pending option; update the state\n if (\n currentPendingValue.toLocaleLowerCase() === pendingOptionText ||\n (autoComplete &&\n pendingOptionText.indexOf(currentPendingValue.toLocaleLowerCase()) === 0 &&\n this._autofill.current &&\n this._autofill.current.isValueSelected &&\n currentPendingValue.length +\n (this._autofill.current.selectionEnd! - this._autofill.current.selectionStart!) ===\n pendingOptionText.length) ||\n (this._autofill.current &&\n this._autofill.current.inputElement &&\n this._autofill.current.inputElement.value.toLocaleLowerCase() === pendingOptionText)\n ) {\n this._setSelectedIndex(currentPendingValueValidIndex, submitPendingValueEvent);\n if (this.props.multiSelect && this.state.isOpen) {\n return;\n }\n this._clearPendingInfo();\n return;\n }\n }\n\n if (onChange) {\n if (onChange) {\n // trigger onChange to clear value\n onChange(submitPendingValueEvent, undefined, undefined, currentPendingValue);\n }\n } else {\n // If we are not controlled, create a new selected option\n const newOption: IComboBoxOption = {\n key: currentPendingValue || getId(),\n text: this._normalizeToString(currentPendingValue),\n };\n // If it's multiselect, set selected state to true\n if (this.props.multiSelect) {\n newOption.selected = true;\n }\n const newOptions: IComboBoxOption[] = currentOptions.concat([newOption]);\n if (selectedIndices) {\n if (!this.props.multiSelect) {\n selectedIndices = [];\n }\n selectedIndices.push(newOptions.length - 1);\n }\n this.setState({\n currentOptions: newOptions,\n selectedIndices: selectedIndices,\n });\n }\n } else if (currentPendingValueValidIndex >= 0) {\n // Since we are not allowing freeform, we must have a matching\n // to be able to update state\n this._setSelectedIndex(currentPendingValueValidIndex, submitPendingValueEvent);\n } else if (currentPendingValueValidIndexOnHover >= 0) {\n // If all else failed and we were hovering over an item, select it\n this._setSelectedIndex(currentPendingValueValidIndexOnHover, submitPendingValueEvent);\n }\n\n // Finally, clear the pending info\n this._clearPendingInfo();\n }\n\n // Render Callout container and pass in list\n private _onRenderContainer = (props: IComboBoxProps): JSX.Element => {\n const {\n onRenderList,\n calloutProps,\n dropdownWidth,\n dropdownMaxWidth,\n onRenderUpperContent = this._onRenderUpperContent,\n onRenderLowerContent = this._onRenderLowerContent,\n useComboBoxAsMenuWidth,\n persistMenu,\n shouldRestoreFocus = true,\n } = props;\n\n const { isOpen } = this.state;\n\n const comboBoxMenuWidth =\n useComboBoxAsMenuWidth && this._comboBoxWrapper.current\n ? this._comboBoxWrapper.current.clientWidth + 2\n : undefined;\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 LIST_ITEM_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, preview;\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 // tslint:disable:deprecation\n if (previewImages[0].accentColor) {\n style = {\n borderBottomColor: previewImages[0].accentColor,\n };\n }\n // tslint:enable: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 } = this.props;\n\n // Determine how many documents we won't be showing\n const overflowDocumentCount = previewImages.length - LIST_ITEM_COUNT;\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, LIST_ITEM_COUNT).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 '@uifabric/utilities';\n\nconst getClassNames = classNamesFunction();\n\nexport interface IDocumentCardTitleState {\n truncatedTitleFirstPiece?: string;\n truncatedTitleSecondPiece?: string;\n clientWidth?: number;\n previousTitle: string;\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 needMeasurement: boolean;\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 _measureTitleElement = React.createRef();\n\n private _titleTruncationTimer: number;\n private _classNames: IProcessedStyleSet;\n\n private _async: Async;\n private _events: EventGroup;\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\n this.state = {\n truncatedTitleFirstPiece: '',\n truncatedTitleSecondPiece: '',\n previousTitle: props.title,\n needMeasurement: !!props.shouldTruncate,\n };\n }\n\n public componentDidUpdate(): void {\n if (this.props.title !== this.state.previousTitle) {\n this.setState({\n truncatedTitleFirstPiece: undefined,\n truncatedTitleSecondPiece: undefined,\n clientWidth: undefined,\n previousTitle: this.props.title,\n needMeasurement: !!this.props.shouldTruncate,\n });\n }\n\n this._events.off(window, 'resize', this._updateTruncation);\n\n if (this.props.shouldTruncate) {\n this._truncateTitle();\n requestAnimationFrame(this._shrinkTitle);\n this._events.on(window, 'resize', this._updateTruncation);\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, needMeasurement } = this.state;\n\n this._classNames = getClassNames(styles!, {\n theme: theme!,\n className,\n showAsSecondaryTitle,\n });\n\n let documentCardTitle;\n if (needMeasurement) {\n documentCardTitle = (\n \n {title}\n \n );\n } else if (shouldTruncate && truncatedTitleFirstPiece && truncatedTitleSecondPiece) {\n documentCardTitle = (\n
    \n {truncatedTitleFirstPiece}\n …\n {truncatedTitleSecondPiece}\n
    \n );\n } else {\n documentCardTitle = (\n
    \n {title}\n
    \n );\n }\n return documentCardTitle;\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.state.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._measureTitleElement.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 const lines: number = Math.floor(\n (parseInt(style.height, 10) + TRUNCATION_VERTICAL_OVERFLOW_THRESHOLD) / parseInt(style.lineHeight, 10),\n );\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 clientWidth,\n needMeasurement: false,\n });\n }\n }\n }\n\n return this.setState({ needMeasurement: false });\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 this._async.requestAnimationFrame(() => {\n // Only update truncation if the title's size has changed since the last time we truncated\n if (this._titleElement.current) {\n const clientWidth: number = this._titleElement.current.clientWidth;\n // Throttle truncation so that it doesn't happen during a window resize\n clearTimeout(this._titleTruncationTimer);\n if (this.state.clientWidth !== clientWidth) {\n this._titleTruncationTimer = this._async.setTimeout(\n () =>\n this.setState({\n truncatedTitleFirstPiece: undefined,\n truncatedTitleSecondPiece: undefined,\n needMeasurement: true,\n }),\n 250,\n );\n }\n }\n });\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 // tslint:disable-next-line: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","/* tslint:disable */\nimport { loadStyles } from '@microsoft/load-themed-styles';\nloadStyles([{\"rawString\":\".pickerText_8d9d7e4e{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_8d9d7e4e:hover{border-color:\"},{\"theme\":\"themeLight\",\"defaultValue\":\"#c7e0f4\"},{\"rawString\":\"}.pickerInput_8d9d7e4e{height:34px;border:none;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;outline:none;padding:0 6px 0px;margin:1px}.pickerInput_8d9d7e4e::-ms-clear{display:none}\\n\"}]);\nexport const pickerText = \"pickerText_8d9d7e4e\";\nexport const pickerInput = \"pickerInput_8d9d7e4e\";","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 * 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// tslint:disable-next-line:no-any\nconst styles: any = stylesImport;\n\nexport interface IBaseExtendedPickerState {\n queryString: string | null;\n selectedItems: T[] | null;\n suggestionItems: T[] | 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 protected floatingPickerProps: IBaseFloatingPickerProps;\n protected selectedItemsListProps: IBaseSelectedItemsListProps;\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 suggestionItems: this.props.suggestionItems ? (this.props.suggestionItems as T[]) : null,\n selectedItems: this.props.defaultSelectedItems\n ? (this.props.defaultSelectedItems as T[])\n : this.props.selectedItems\n ? (this.props.selectedItems as T[])\n : null,\n };\n\n this.floatingPickerProps = this.props.floatingPickerProps;\n this.selectedItemsListProps = this.props.selectedItemsListProps;\n }\n\n // tslint:disable-next-line:no-any\n public get items(): any {\n return this.state.selectedItems\n ? this.state.selectedItems\n : this.selectedItemsList.current\n ? this.selectedItemsList.current.items\n : null;\n }\n\n public componentDidMount(): void {\n this.forceUpdate();\n }\n\n // tslint:disable-next-line function-name\n public UNSAFE_componentWillReceiveProps(newProps: P): void {\n if (newProps.floatingPickerProps) {\n this.floatingPickerProps = newProps.floatingPickerProps;\n }\n\n if (newProps.selectedItemsListProps) {\n this.selectedItemsListProps = newProps.selectedItemsListProps;\n }\n\n if (newProps.selectedItems) {\n this.setState({ selectedItems: newProps.selectedItems });\n }\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\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 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","/* tslint:disable */\nimport { IPickerItemProps } from '../../../Pickers';\n/* tslint:enable */\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 { warnDeprecations, classNamesFunction, divProperties, getNativeProps, IRenderFunction } from '../../Utilities';\nimport { TooltipHost, TooltipOverflowMode, DirectionalHint } 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';\n\nconst getClassNames = classNamesFunction();\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 class PersonaBase extends React.Component {\n public static defaultProps: IPersonaProps = {\n size: PersonaSize.size48,\n presence: PersonaPresenceEnum.none,\n imageAlt: '',\n };\n\n constructor(props: IPersonaProps) {\n super(props);\n\n if (process.env.NODE_ENV !== 'production') {\n warnDeprecations('Persona', props, { primaryText: 'text' });\n }\n }\n\n public render(): JSX.Element {\n // wrapping default render behavior based on various this.props properties\n const _onRenderPrimaryText = this._onRenderText(this._getText()),\n _onRenderSecondaryText = this._onRenderText(this.props.secondaryText),\n _onRenderTertiaryText = this._onRenderText(this.props.tertiaryText),\n _onRenderOptionalText = this._onRenderText(this.props.optionalText);\n\n const {\n hidePersonaDetails,\n onRenderOptionalText = _onRenderOptionalText,\n onRenderPrimaryText = _onRenderPrimaryText,\n onRenderSecondaryText = _onRenderSecondaryText,\n onRenderTertiaryText = _onRenderTertiaryText,\n onRenderPersonaCoin = this._onRenderPersonaCoin,\n } = this.props;\n const size = this.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 isOutOfOffice,\n onPhotoLoadingStateChange,\n // tslint:disable-next-line:deprecation\n onRenderCoin,\n onRenderInitials,\n presence,\n presenceTitle,\n presenceColors,\n showInitialsUntilImageLoads,\n showSecondaryText,\n theme,\n } = this.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 onPhotoLoadingStateChange,\n onRenderCoin,\n onRenderInitials,\n presence,\n presenceTitle,\n showInitialsUntilImageLoads,\n size,\n text: this._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>(this.props, divProperties);\n const personaDetails = (\n
    \n {this._renderElement(classNames.primaryText, onRenderPrimaryText, _onRenderPrimaryText)}\n {this._renderElement(classNames.secondaryText, onRenderSecondaryText, _onRenderSecondaryText)}\n {this._renderElement(classNames.tertiaryText, onRenderTertiaryText, _onRenderTertiaryText)}\n {this._renderElement(classNames.optionalText, onRenderOptionalText, _onRenderOptionalText)}\n {this.props.children}\n
    \n );\n\n return (\n \n {onRenderPersonaCoin(personaCoinProps, this._onRenderPersonaCoin)}\n {// tslint:disable:deprecation\n (!hidePersonaDetails ||\n size === PersonaSize.size8 ||\n size === PersonaSize.size10 ||\n size === PersonaSize.tiny) &&\n personaDetails\n // tslint:enable:deprecation\n }\n \n );\n }\n\n /**\n * Renders various types of Text (primaryText, secondaryText, etc)\n * based on the classNames passed\n * @param classNames - element className\n * @param renderFunction - render function\n * @param defaultRenderFunction - default render function\n */\n private _renderElement(\n classNames: string,\n renderFunction: IRenderFunction | undefined,\n defaultRenderFunction: IRenderFunction | undefined,\n ): JSX.Element {\n return (\n
    \n {renderFunction && renderFunction(this.props, defaultRenderFunction)}\n
    \n );\n }\n\n /**\n * Deprecation helper for getting text.\n */\n private _getText(): string {\n // tslint:disable-next-line:deprecation\n return this.props.text || this.props.primaryText || '';\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 private _onRenderText(text: string | undefined): IRenderFunction | undefined {\n // return default render behaviour for valid text or undefined\n return text\n ? (): JSX.Element => {\n // default onRender behaviour\n return (\n \n {text}\n \n );\n }\n : undefined;\n }\n\n private _onRenderPersonaCoin = (props: IPersonaCoinProps): JSX.Element | null => {\n return ;\n };\n}\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/Button.types';\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, // tslint:disable-line: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 {'+' + numPersonasNotPictured};\n };\n }\n}\n","import { IFacepileStyleProps, IFacepileStyles } from './Facepile.types';\n\nimport { IStyle, hiddenContentStyle, 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 },\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","/* tslint:disable */\nimport { loadStyles } from '@microsoft/load-themed-styles';\nloadStyles([{\"rawString\":\".callout_8212a800 .ms-Suggestions-itemButton{padding:0px;border:none}.callout_8212a800 .ms-Suggestions{min-width:300px}\\n\"}]);\nexport const callout = \"callout_8212a800\";","/* tslint:disable */\nimport { loadStyles } from '@microsoft/load-themed-styles';\nloadStyles([{\"rawString\":\".root_49a432f4{min-width:260px}.suggestionsItem_49a432f4{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_49a432f4:hover{background:\"},{\"theme\":\"neutralLighter\",\"defaultValue\":\"#f3f2f1\"},{\"rawString\":\"}.suggestionsItem_49a432f4:hover .closeButton_49a432f4{display:block}.suggestionsItem_49a432f4.suggestionsItemIsSuggested_49a432f4{background:\"},{\"theme\":\"neutralLight\",\"defaultValue\":\"#edebe9\"},{\"rawString\":\"}.suggestionsItem_49a432f4.suggestionsItemIsSuggested_49a432f4:hover{background:\"},{\"theme\":\"neutralTertiaryAlt\",\"defaultValue\":\"#c8c6c4\"},{\"rawString\":\"}@media screen and (-ms-high-contrast: active){.suggestionsItem_49a432f4.suggestionsItemIsSuggested_49a432f4:hover{background:Highlight;color:HighlightText}}@media screen and (-ms-high-contrast: active){.suggestionsItem_49a432f4.suggestionsItemIsSuggested_49a432f4{background:Highlight;color:HighlightText;-ms-high-contrast-adjust:none}}.suggestionsItem_49a432f4.suggestionsItemIsSuggested_49a432f4 .closeButton_49a432f4:hover{background:\"},{\"theme\":\"neutralTertiary\",\"defaultValue\":\"#a19f9d\"},{\"rawString\":\";color:\"},{\"theme\":\"neutralPrimary\",\"defaultValue\":\"#323130\"},{\"rawString\":\"}@media screen and (-ms-high-contrast: active){.suggestionsItem_49a432f4.suggestionsItemIsSuggested_49a432f4 .itemButton_49a432f4{color:HighlightText}}.suggestionsItem_49a432f4 .closeButton_49a432f4{display:none;color:\"},{\"theme\":\"neutralSecondary\",\"defaultValue\":\"#605e5c\"},{\"rawString\":\"}.suggestionsItem_49a432f4 .closeButton_49a432f4:hover{background:\"},{\"theme\":\"neutralLight\",\"defaultValue\":\"#edebe9\"},{\"rawString\":\"}.actionButton_49a432f4{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_49a432f4{padding-left:8px}[dir='rtl'] .actionButton_49a432f4{padding-right:8px}html[dir='ltr'] .actionButton_49a432f4{text-align:left}html[dir='rtl'] .actionButton_49a432f4{text-align:right}.actionButton_49a432f4:hover{background-color:\"},{\"theme\":\"neutralLight\",\"defaultValue\":\"#edebe9\"},{\"rawString\":\";cursor:pointer}.actionButton_49a432f4:focus,.actionButton_49a432f4:active{background-color:\"},{\"theme\":\"themeLight\",\"defaultValue\":\"#c7e0f4\"},{\"rawString\":\"}.actionButton_49a432f4 .ms-Button-icon{font-size:16px;width:25px}.actionButton_49a432f4 .ms-Button-label{margin:0 4px 0 9px}html[dir='rtl'] .actionButton_49a432f4 .ms-Button-label{margin:0 9px 0 4px}.buttonSelected_49a432f4{background-color:\"},{\"theme\":\"themeLight\",\"defaultValue\":\"#c7e0f4\"},{\"rawString\":\"}.suggestionsTitle_49a432f4{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_49a432f4{overflow-y:auto;overflow-x:hidden;max-height:300px;border-bottom:1px solid \"},{\"theme\":\"neutralLight\",\"defaultValue\":\"#edebe9\"},{\"rawString\":\"}.suggestionsNone_49a432f4{text-align:center;color:#797775;font-size:12px;line-height:30px}.suggestionsSpinner_49a432f4{margin:5px 0;white-space:nowrap;line-height:20px;font-size:12px}html[dir='ltr'] .suggestionsSpinner_49a432f4{padding-left:14px}html[dir='rtl'] .suggestionsSpinner_49a432f4{padding-right:14px}html[dir='ltr'] .suggestionsSpinner_49a432f4{text-align:left}html[dir='rtl'] .suggestionsSpinner_49a432f4{text-align:right}.suggestionsSpinner_49a432f4 .ms-Spinner-circle{display:inline-block;vertical-align:middle}.suggestionsSpinner_49a432f4 .ms-Spinner-label{display:inline-block;margin:0px 10px 0 16px;vertical-align:middle}html[dir='rtl'] .suggestionsSpinner_49a432f4 .ms-Spinner-label{margin:0px 16px 0 10px}.itemButton_49a432f4.itemButton_49a432f4{width:100%;padding:0px;min-width:0;height:100%}@media screen and (-ms-high-contrast: active){.itemButton_49a432f4.itemButton_49a432f4{color:WindowText}}.itemButton_49a432f4.itemButton_49a432f4:hover{color:\"},{\"theme\":\"neutralDark\",\"defaultValue\":\"#201f1e\"},{\"rawString\":\"}.closeButton_49a432f4.closeButton_49a432f4{padding:0 4px;height:auto;width:32px}@media screen and (-ms-high-contrast: active){.closeButton_49a432f4.closeButton_49a432f4{color:WindowText}}.closeButton_49a432f4.closeButton_49a432f4:hover{background:\"},{\"theme\":\"neutralTertiaryAlt\",\"defaultValue\":\"#c8c6c4\"},{\"rawString\":\";color:\"},{\"theme\":\"neutralDark\",\"defaultValue\":\"#201f1e\"},{\"rawString\":\"}.suggestionsAvailable_49a432f4{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}\\n\"}]);\nexport const root = \"root_49a432f4\";\nexport const suggestionsItem = \"suggestionsItem_49a432f4\";\nexport const closeButton = \"closeButton_49a432f4\";\nexport const suggestionsItemIsSuggested = \"suggestionsItemIsSuggested_49a432f4\";\nexport const itemButton = \"itemButton_49a432f4\";\nexport const actionButton = \"actionButton_49a432f4\";\nexport const buttonSelected = \"buttonSelected_49a432f4\";\nexport const suggestionsTitle = \"suggestionsTitle_49a432f4\";\nexport const suggestionsContainer = \"suggestionsContainer_49a432f4\";\nexport const suggestionsNone = \"suggestionsNone_49a432f4\";\nexport const suggestionsSpinner = \"suggestionsSpinner_49a432f4\";\nexport const suggestionsAvailable = \"suggestionsAvailable_49a432f4\";","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 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","/* tslint:disable */\nimport { loadStyles } from '@microsoft/load-themed-styles';\nloadStyles([{\"rawString\":\".suggestionsContainer_3d4990af{overflow-y:auto;overflow-x:hidden;max-height:300px}.suggestionsContainer_3d4990af .ms-Suggestion-item:hover{background-color:\"},{\"theme\":\"neutralLighter\",\"defaultValue\":\"#f3f2f1\"},{\"rawString\":\";cursor:pointer}.suggestionsContainer_3d4990af .is-suggested{background-color:\"},{\"theme\":\"themeLighter\",\"defaultValue\":\"#deecf9\"},{\"rawString\":\"}.suggestionsContainer_3d4990af .is-suggested:hover{background-color:\"},{\"theme\":\"themeLight\",\"defaultValue\":\"#c7e0f4\"},{\"rawString\":\";cursor:pointer}\\n\"}]);\nexport const suggestionsContainer = \"suggestionsContainer_3d4990af\";","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// tslint:disable-next-line:no-any\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","/* tslint:disable */\nimport { loadStyles } from '@microsoft/load-themed-styles';\nloadStyles([{\"rawString\":\".root_12a6a499{min-width:260px}.actionButton_12a6a499{background:none;background-color:transparent;border:0;cursor:pointer;margin:0;padding:0px;position:relative;width:100%;font-size:12px}html[dir='ltr'] .actionButton_12a6a499{text-align:left}html[dir='rtl'] .actionButton_12a6a499{text-align:right}.actionButton_12a6a499:hover{background-color:\"},{\"theme\":\"neutralLighter\",\"defaultValue\":\"#f3f2f1\"},{\"rawString\":\";cursor:pointer}.actionButton_12a6a499:focus,.actionButton_12a6a499:active{background-color:\"},{\"theme\":\"themeLight\",\"defaultValue\":\"#c7e0f4\"},{\"rawString\":\"}.actionButton_12a6a499 .ms-Button-icon{font-size:16px;width:25px}.actionButton_12a6a499 .ms-Button-label{margin:0 4px 0 9px}html[dir='rtl'] .actionButton_12a6a499 .ms-Button-label{margin:0 9px 0 4px}.buttonSelected_12a6a499{background-color:\"},{\"theme\":\"themeLighter\",\"defaultValue\":\"#deecf9\"},{\"rawString\":\"}.buttonSelected_12a6a499:hover{background-color:\"},{\"theme\":\"themeLight\",\"defaultValue\":\"#c7e0f4\"},{\"rawString\":\";cursor:pointer}.suggestionsTitle_12a6a499{font-size:12px}.suggestionsSpinner_12a6a499{margin:5px 0;white-space:nowrap;line-height:20px;font-size:12px}html[dir='ltr'] .suggestionsSpinner_12a6a499{padding-left:14px}html[dir='rtl'] .suggestionsSpinner_12a6a499{padding-right:14px}html[dir='ltr'] .suggestionsSpinner_12a6a499{text-align:left}html[dir='rtl'] .suggestionsSpinner_12a6a499{text-align:right}.suggestionsSpinner_12a6a499 .ms-Spinner-circle{display:inline-block;vertical-align:middle}.suggestionsSpinner_12a6a499 .ms-Spinner-label{display:inline-block;margin:0px 10px 0 16px;vertical-align:middle}html[dir='rtl'] .suggestionsSpinner_12a6a499 .ms-Spinner-label{margin:0px 16px 0 10px}.itemButton_12a6a499{height:100%;width:100%;padding:7px 12px}@media screen and (-ms-high-contrast: active){.itemButton_12a6a499{color:WindowText}}.screenReaderOnly_12a6a499{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}\\n\"}]);\nexport const root = \"root_12a6a499\";\nexport const actionButton = \"actionButton_12a6a499\";\nexport const buttonSelected = \"buttonSelected_12a6a499\";\nexport const suggestionsTitle = \"suggestionsTitle_12a6a499\";\nexport const suggestionsSpinner = \"suggestionsSpinner_12a6a499\";\nexport const itemButton = \"itemButton_12a6a499\";\nexport const screenReaderOnly = \"screenReaderOnly_12a6a499\";","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\n// tslint:disable-next-line:no-any\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 (props: ISuggestionsCoreProps) => SuggestionsCore<\n T\n > = 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(): void {\n this.scrollSelected();\n }\n\n // tslint:disable-next-line function-name\n public UNSAFE_componentWillReceiveProps(newProps: ISuggestionsControlProps): void {\n if (newProps.suggestions) {\n this.setState({ suggestions: newProps.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 { Callout, DirectionalHint } 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// tslint:disable-next-line:no-any\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 (props: ISuggestionsControlProps) => SuggestionsControl<\n T\n > = 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 // tslint:disable-next-line:no-any\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 // tslint:disable-next-line function-name\n public UNSAFE_componentWillReceiveProps(newProps: IBaseFloatingPickerProps): void {\n if (newProps.suggestionItems) {\n this.updateSuggestions(newProps.suggestionItems);\n }\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 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 // tslint:disable-next-line: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","/* tslint:disable */\nimport { loadStyles } from '@microsoft/load-themed-styles';\nloadStyles([{\"rawString\":\".resultContent_f536abdc{display:table-row}.resultContent_f536abdc .resultItem_f536abdc{display:table-cell;vertical-align:bottom}.peoplePickerPersona_f536abdc{width:180px}.peoplePickerPersona_f536abdc .ms-Persona-details{width:100%}.peoplePicker_f536abdc .ms-BasePicker-text{min-height:40px}.peoplePickerPersonaContent_f536abdc{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}\\n\"}]);\nexport const resultContent = \"resultContent_f536abdc\";\nexport const resultItem = \"resultItem_f536abdc\";\nexport const peoplePickerPersona = \"peoplePickerPersona_f536abdc\";\nexport const peoplePicker = \"peoplePicker_f536abdc\";\nexport const peoplePickerPersonaContent = \"peoplePickerPersonaContent_f536abdc\";","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 // tslint:disable-next-line:no-any\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 // tslint:disable-next-line:no-any\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","/* tslint:disable */\nimport * as React from 'react';\n/* tslint:enable */\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 || // tslint:disable-line:no-any\n (suggestion).text ||\n (suggestion).primaryText, // tslint:disable-line:deprecation\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 * as React from 'react';\nimport {\n getId,\n toMatrix,\n classNamesFunction,\n getNativeProps,\n htmlElementProperties,\n initializeComponentRef,\n} from '../../Utilities';\nimport { FocusZone } from '../../FocusZone';\nimport { IGrid, IGridProps, IGridStyleProps, IGridStyles } from './Grid.types';\n\nconst getClassNames = classNamesFunction();\n\nexport class GridBase extends React.Component implements IGrid {\n private _id: string;\n\n constructor(props: IGridProps) {\n super(props);\n\n initializeComponentRef(this);\n this._id = props.id || getId();\n }\n\n public render(): JSX.Element {\n const props = this.props;\n const {\n items,\n columnCount,\n onRenderItem,\n\n // tslint:disable:deprecation\n ariaPosInSet = props.positionInSet,\n ariaSetSize = props.setSize,\n // tslint:enable:deprecation\n\n styles,\n doNotContainWithinFocusZone,\n } = props;\n\n const htmlProps = getNativeProps>(\n this.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: this.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: any[], rowIndex: number) => {\n return (\n \n {rows.map((cell: any, cellIndex: number) => {\n return (\n \n {onRenderItem(cell, cellIndex)}\n \n );\n })}\n \n );\n })}\n \n \n );\n\n // Create the table/grid\n return doNotContainWithinFocusZone ? (\n content\n ) : (\n \n {content}\n \n );\n }\n}\n","import * as React from 'react';\r\nimport { styled } from '../../Utilities';\r\nimport { GridBase } from './Grid.base';\r\nimport { IGridProps, IGridStyleProps, IGridStyles } from './Grid.types';\r\nimport { getStyles } from './Grid.styles';\r\n\r\nexport const Grid: React.FunctionComponent = styled(\r\n GridBase,\r\n getStyles,\r\n);\r\n","import { IGridStyleProps, IGridStyles } from './Grid.types';\n\nexport const getStyles = (props: IGridStyleProps): IGridStyles => {\n return {\n root: {\n padding: 2,\n outline: 'none',\n },\n tableCell: {\n padding: 0,\n },\n };\n};\n","import * as React from 'react';\nimport { css, getId } from '../../Utilities';\nimport { IGridCellProps } from './GridCell.types';\nimport { CommandButton } from '../../Button';\n\nexport class GridCell> extends React.Component {\n public static defaultProps = {\n disabled: false,\n id: getId('gridCell'),\n };\n\n public render(): JSX.Element {\n const {\n item,\n id,\n className,\n role,\n selected,\n disabled,\n onRenderItem,\n cellDisabledStyle,\n cellIsSelectedStyle,\n index,\n label,\n getClassNames,\n } = this.props;\n\n return (\n \n {onRenderItem(item)}\n \n );\n }\n\n private _onClick = (): void => {\n const { onClick, disabled, item } = this.props as P;\n\n if (onClick && !disabled) {\n onClick(item);\n }\n };\n\n private _onMouseEnter = (ev: React.MouseEvent): void => {\n const { onHover, disabled, item, onMouseEnter } = this.props as P;\n\n const didUpdateOnEnter = onMouseEnter && onMouseEnter(ev);\n\n if (!didUpdateOnEnter && onHover && !disabled) {\n onHover(item);\n }\n };\n\n private _onMouseMove = (ev: React.MouseEvent): void => {\n const { onHover, disabled, item, onMouseMove } = this.props as P;\n\n const didUpdateOnMove = onMouseMove && onMouseMove(ev);\n\n if (!didUpdateOnMove && onHover && !disabled) {\n onHover(item);\n }\n };\n\n private _onMouseLeave = (ev: React.MouseEvent): void => {\n const { onHover, disabled, onMouseLeave } = this.props as P;\n\n const didUpdateOnLeave = onMouseLeave && onMouseLeave(ev);\n\n if (!didUpdateOnLeave && onHover && !disabled) {\n onHover();\n }\n };\n\n private _onFocus = (): void => {\n const { onFocus, disabled, item } = this.props as P;\n\n if (onFocus && !disabled) {\n onFocus(item);\n }\n };\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 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 if (ev.which === KeyCodes.escape) {\n this.props.onLeave && this.props.onLeave(ev);\n }\n };\n}\n","import { find, KeyCodes } from '../../Utilities';\n\nexport enum KeytipTransitionModifier {\n shift = KeyCodes.shift,\n ctrl = KeyCodes.ctrl,\n alt = KeyCodes.alt,\n meta = KeyCodes.leftWindow,\n}\n\nexport interface IKeytipTransitionKey {\n key: string;\n modifierKeys?: KeytipTransitionModifier[];\n}\n\n/**\n * Tests for equality between two IKeytipTransitionKeys.\n *\n * @param key1 - First IKeytipTransitionKey.\n * @param key2 - Second IKeytipTransitionKey.\n * @returns {boolean} T/F if the transition keys are equal.\n */\nexport function transitionKeysAreEqual(key1: IKeytipTransitionKey, key2: IKeytipTransitionKey): boolean {\n if (key1.key !== key2.key) {\n return false;\n }\n\n let mod1 = key1.modifierKeys;\n let mod2 = key2.modifierKeys;\n\n if ((!mod1 && mod2) || (mod1 && !mod2)) {\n // Not equal if one modifier is defined and the other isn't\n return false;\n }\n\n if (mod1 && mod2) {\n if (mod1.length !== mod2.length) {\n return false;\n }\n\n // Sort both arrays\n mod1 = mod1.sort();\n mod2 = mod2.sort();\n for (let i = 0; i < mod1.length; i++) {\n if (mod1[i] !== mod2[i]) {\n return false;\n }\n }\n }\n\n return true;\n}\n\n/**\n * Tests if 'key' is present in 'keys'.\n *\n * @param keys - Array of IKeytipTransitionKey.\n * @param key - IKeytipTransitionKey to find in 'keys'.\n * @returns {boolean} T/F if 'keys' contains 'key'.\n */\nexport function transitionKeysContain(keys: IKeytipTransitionKey[], key: IKeytipTransitionKey): boolean {\n return !!find(keys, (transitionKey: IKeytipTransitionKey) => {\n return transitionKeysAreEqual(transitionKey, key);\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 // tslint:disable-next-line: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 // tslint:disable-next-line: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 // tslint:disable-next-line: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","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, IPoint } 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: IPoint,\n): IStyleFunction => {\n return (props: ICalloutContentStyleProps): ICalloutContentStyles => {\n return mergeStyleSets(getCalloutStyles(props), {\n root: [\n {\n marginLeft: offset.x,\n marginTop: 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 { 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 { 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} 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: [KeytipTransitionModifier.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 // tslint:disable-next-line:no-any\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 managerKeytips = [...this._keytipManager.getKeytips()];\n this.state = {\n inKeytipMode: false,\n // Get the initial set of keytips\n keytips: managerKeytips,\n visibleKeytips: this._getVisibleKeytips(managerKeytips),\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 const keytipId = sequencesToID(keytip.keySequences);\n if (ids.indexOf(keytipId) >= 0) {\n keytip.visible = true;\n } else if (\n keytip.overflowSetSequence &&\n ids.indexOf(sequencesToID(mergeOverflows(keytip.keySequences, keytip.overflowSetSequence))) >= 0\n ) {\n // Check if the ID with the overflow is the keytip we're looking for\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 const keytipId = sequencesToID(keytip.keySequences);\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 'Alt':\n // ALT puts focus in the browser bar, so it should not be used as a key for keytips.\n // It can be used as a modifier\n break;\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 = [];\n if (ev.altKey && key !== 'Alt') {\n modifierKeys.push(KeytipTransitionModifier.alt);\n }\n if (ev.ctrlKey && key !== 'Control') {\n modifierKeys.push(KeytipTransitionModifier.ctrl);\n }\n if (ev.shiftKey && key !== 'Shift') {\n modifierKeys.push(KeytipTransitionModifier.shift);\n }\n if (ev.metaKey && key !== 'Meta') {\n modifierKeys.push(KeytipTransitionModifier.meta);\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 this._addKeytipToQueue(sequencesToID(keytipProps.keySequences));\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 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 _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 this._addKeytipToQueue(sequencesToID(keytipProps.keySequences));\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 { 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 {\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 // tslint:disable-next-line: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/**\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 * Deprecated at v0.48.0, to be removed at \\>= v1.0.0. Use `blocked` instead.\n * @deprecated Use `blocked` instead.\n */\n remove = 90000,\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 * as React from 'react';\n\nimport {\n Async,\n EventGroup,\n AutoScroll,\n IPoint,\n IRectangle,\n classNamesFunction,\n findScrollableParent,\n getDistanceBetweenPoints,\n getRTL,\n initializeComponentRef,\n} from '../../Utilities';\n\nimport { IMarqueeSelectionProps, IMarqueeSelectionStyleProps, IMarqueeSelectionStyles } from './MarqueeSelection.types';\nimport {} from '@uifabric/utilities';\n\nconst getClassNames = classNamesFunction();\n\nexport interface IMarqueeSelectionState {\n dragOrigin?: IPoint;\n dragRect?: IRectangle;\n}\n\n// We want to make the marquee selection start when the user drags a minimum distance. Otherwise we'd start\n// the drag even if they just click an item without moving.\nconst MIN_DRAG_DISTANCE = 5;\n\n/**\n * MarqueeSelection component abstracts managing a draggable rectangle which sets items selected/not selected.\n * Elements which have data-selectable-index attributes are queried and measured once to determine if they\n * fall within the bounds of the rectangle. The measure is memoized during the drag as a performance optimization\n * so if the items change sizes while dragging, that could cause incorrect results.\n */\nexport class MarqueeSelectionBase extends React.Component {\n public static defaultProps = {\n rootTagName: 'div',\n rootProps: {},\n isEnabled: true,\n };\n\n private _async: Async;\n private _events: EventGroup;\n private _root = React.createRef();\n private _dragOrigin: IPoint | undefined;\n private _rootRect: IRectangle;\n private _lastMouseEvent: MouseEvent | undefined;\n private _autoScroll: AutoScroll | undefined;\n private _selectedIndicies: { [key: string]: boolean } | undefined;\n private _preservedIndicies: number[] | undefined;\n private _itemRectCache: { [key: string]: IRectangle } | undefined;\n private _allSelectedIndices: { [key: string]: boolean } | undefined;\n private _scrollableParent: HTMLElement;\n private _scrollableSurface: HTMLElement;\n private _scrollTop: number;\n private _scrollLeft: number;\n private _isTouch: boolean;\n\n constructor(props: IMarqueeSelectionProps) {\n super(props);\n\n initializeComponentRef(this);\n this._async = new Async(this);\n this._events = new EventGroup(this);\n\n this.state = {\n dragRect: undefined,\n };\n }\n\n public componentDidMount(): void {\n this._scrollableParent = findScrollableParent(this._root.current) as HTMLElement;\n this._scrollableSurface = this._scrollableParent === (window as any) ? document.body : this._scrollableParent;\n // When scroll events come from window, we need to read scrollTop values from the body.\n\n const hitTarget = this.props.isDraggingConstrainedToRoot ? this._root.current : this._scrollableSurface;\n\n this._events.on(hitTarget, 'mousedown', this._onMouseDown);\n this._events.on(hitTarget, 'touchstart', this._onTouchStart, true);\n this._events.on(hitTarget, 'pointerdown', this._onPointerDown, true);\n }\n\n public componentWillUnmount(): void {\n if (this._autoScroll) {\n this._autoScroll.dispose();\n }\n delete this._scrollableParent;\n delete this._scrollableSurface;\n\n this._events.dispose();\n this._async.dispose();\n }\n\n public render(): JSX.Element {\n const { rootProps, children, theme, className, styles } = this.props;\n const { dragRect } = this.state;\n\n const classNames = getClassNames(styles!, {\n theme: theme!,\n className,\n });\n\n return (\n
    \n {children}\n {dragRect &&
    }\n {dragRect && (\n
    \n
    \n
    \n )}\n
    \n );\n }\n\n /** Determine if the mouse event occured on a scrollbar of the target element. */\n private _isMouseEventOnScrollbar(ev: MouseEvent): boolean {\n const targetElement = ev.target as HTMLElement;\n const targetScrollbarWidth = targetElement.offsetWidth - targetElement.clientWidth;\n\n if (targetScrollbarWidth) {\n const targetRect = targetElement.getBoundingClientRect();\n\n // Check vertical scroll\n if (getRTL(this.props.theme)) {\n if (ev.clientX < targetRect.left + targetScrollbarWidth) {\n return true;\n }\n } else {\n if (ev.clientX > targetRect.left + targetElement.clientWidth) {\n return true;\n }\n }\n\n // Check horizontal scroll\n if (ev.clientY > targetRect.top + targetElement.clientHeight) {\n return true;\n }\n }\n\n return false;\n }\n\n private _onMouseDown = (ev: MouseEvent): void => {\n const { isEnabled, onShouldStartSelection } = this.props;\n\n // Ensure the mousedown is within the boundaries of the target. If not, it may have been a click on a scrollbar.\n if (this._isMouseEventOnScrollbar(ev)) {\n return;\n }\n\n if (this._isInSelectionToggle(ev)) {\n return;\n }\n\n if (\n !this._isTouch &&\n isEnabled &&\n !this._isDragStartInSelection(ev) &&\n (!onShouldStartSelection || onShouldStartSelection(ev))\n ) {\n if (this._scrollableSurface && ev.button === 0 && this._root.current) {\n this._selectedIndicies = {};\n this._preservedIndicies = undefined;\n this._events.on(window, 'mousemove', this._onAsyncMouseMove, true);\n this._events.on(this._scrollableParent, 'scroll', this._onAsyncMouseMove);\n this._events.on(window, 'click', this._onMouseUp, true);\n\n this._autoScroll = new AutoScroll(this._root.current);\n this._scrollTop = this._scrollableSurface.scrollTop;\n this._scrollLeft = this._scrollableSurface.scrollLeft;\n this._rootRect = this._root.current.getBoundingClientRect();\n\n this._onMouseMove(ev);\n }\n }\n };\n\n private _onTouchStart = (ev: TouchEvent): void => {\n this._isTouch = true;\n\n this._async.setTimeout(() => {\n this._isTouch = false;\n }, 0);\n };\n\n private _onPointerDown = (ev: PointerEvent): void => {\n if (ev.pointerType === 'touch') {\n this._isTouch = true;\n\n this._async.setTimeout(() => {\n this._isTouch = false;\n }, 0);\n }\n };\n\n private _getRootRect(): IRectangle {\n return {\n left: this._rootRect.left + (this._scrollLeft - this._scrollableSurface.scrollLeft),\n top: this._rootRect.top + (this._scrollTop - this._scrollableSurface.scrollTop),\n width: this._rootRect.width,\n height: this._rootRect.height,\n };\n }\n\n private _onAsyncMouseMove(ev: MouseEvent): void {\n this._async.requestAnimationFrame(() => {\n this._onMouseMove(ev);\n });\n\n ev.stopPropagation();\n ev.preventDefault();\n }\n\n private _onMouseMove(ev: MouseEvent): boolean | undefined {\n if (!this._autoScroll) {\n return;\n }\n\n if (ev.clientX !== undefined) {\n this._lastMouseEvent = ev;\n }\n\n const rootRect = this._getRootRect();\n const currentPoint = { x: ev.clientX - rootRect.left, y: ev.clientY - rootRect.top };\n\n if (!this._dragOrigin) {\n this._dragOrigin = currentPoint;\n }\n\n if (ev.buttons !== undefined && ev.buttons === 0) {\n this._onMouseUp(ev);\n } else {\n if (this.state.dragRect || getDistanceBetweenPoints(this._dragOrigin, currentPoint) > MIN_DRAG_DISTANCE) {\n if (!this.state.dragRect) {\n const { selection } = this.props;\n\n if (!ev.shiftKey) {\n selection.setAllSelected(false);\n }\n\n this._preservedIndicies = selection && selection.getSelectedIndices && selection.getSelectedIndices();\n }\n\n // We need to constrain the current point to the rootRect boundaries.\n const constrainedPoint = this.props.isDraggingConstrainedToRoot\n ? {\n x: Math.max(0, Math.min(rootRect.width, this._lastMouseEvent!.clientX - rootRect.left)),\n y: Math.max(0, Math.min(rootRect.height, this._lastMouseEvent!.clientY - rootRect.top)),\n }\n : {\n x: this._lastMouseEvent!.clientX - rootRect.left,\n y: this._lastMouseEvent!.clientY - rootRect.top,\n };\n\n const dragRect = {\n left: Math.min(this._dragOrigin.x, constrainedPoint.x),\n top: Math.min(this._dragOrigin.y, constrainedPoint.y),\n width: Math.abs(constrainedPoint.x - this._dragOrigin.x),\n height: Math.abs(constrainedPoint.y - this._dragOrigin.y),\n };\n\n this._evaluateSelection(dragRect, rootRect);\n\n this.setState({ dragRect });\n }\n }\n\n return false;\n }\n\n private _onMouseUp(ev: MouseEvent): void {\n this._events.off(window);\n this._events.off(this._scrollableParent, 'scroll');\n\n if (this._autoScroll) {\n this._autoScroll.dispose();\n }\n\n this._autoScroll = this._dragOrigin = this._lastMouseEvent = undefined;\n this._selectedIndicies = this._itemRectCache = undefined;\n\n if (this.state.dragRect) {\n this.setState({\n dragRect: undefined,\n });\n\n ev.preventDefault();\n ev.stopPropagation();\n }\n }\n\n private _isPointInRectangle(rectangle: IRectangle, point: IPoint): boolean {\n return (\n rectangle.top < point.y && rectangle.bottom! > point.y && rectangle.left < point.x && rectangle.right! > point.x\n );\n }\n\n /**\n * We do not want to start the marquee if we're trying to marquee\n * from within an existing marquee selection.\n */\n private _isDragStartInSelection(ev: MouseEvent): boolean {\n const selection = this.props.selection;\n if (!this._root.current || (selection && selection.getSelectedCount() === 0)) {\n return false;\n }\n\n const allElements = this._root.current.querySelectorAll('[data-selection-index]');\n for (let i = 0; i < allElements.length; i++) {\n const element = allElements[i];\n const index = Number(element.getAttribute('data-selection-index'));\n if (selection.isIndexSelected(index)) {\n const itemRect = element.getBoundingClientRect();\n if (this._isPointInRectangle(itemRect, { x: ev.clientX, y: ev.clientY })) {\n return true;\n }\n }\n }\n\n return false;\n }\n\n private _isInSelectionToggle(ev: MouseEvent): boolean {\n let element: HTMLElement | null = ev.target as HTMLElement;\n\n while (element && element !== this._root.current) {\n if (element.getAttribute('data-selection-toggle') === 'true') {\n return true;\n }\n\n element = element.parentElement;\n }\n\n return false;\n }\n\n private _evaluateSelection(dragRect: IRectangle, rootRect: IRectangle): void {\n // Break early if we don't need to evaluate.\n if (!dragRect || !this._root.current) {\n return;\n }\n\n const { selection } = this.props;\n const allElements = this._root.current.querySelectorAll('[data-selection-index]');\n\n if (!this._itemRectCache) {\n this._itemRectCache = {};\n }\n\n for (let i = 0; i < allElements.length; i++) {\n const element = allElements[i];\n const index = element.getAttribute('data-selection-index') as string;\n\n // Pull the memoized rectangle for the item, or the get the rect and memoize.\n let itemRect = this._itemRectCache[index];\n\n if (!itemRect) {\n itemRect = element.getBoundingClientRect();\n\n // Normalize the item rect to the dragRect coordinates.\n itemRect = {\n left: itemRect.left - rootRect.left,\n top: itemRect.top - rootRect.top,\n width: itemRect.width,\n height: itemRect.height,\n right: itemRect.left - rootRect.left + itemRect.width,\n bottom: itemRect.top - rootRect.top + itemRect.height,\n };\n\n if (itemRect.width > 0 && itemRect.height > 0) {\n this._itemRectCache[index] = itemRect;\n }\n }\n\n if (\n itemRect.top < dragRect.top + dragRect.height &&\n itemRect.bottom! > dragRect.top &&\n itemRect.left < dragRect.left + dragRect.width &&\n itemRect.right! > dragRect.left\n ) {\n this._selectedIndicies![index] = true;\n } else {\n delete this._selectedIndicies![index];\n }\n }\n\n // set previousSelectedIndices to be all of the selected indices from last time\n const previousSelectedIndices = this._allSelectedIndices || {};\n this._allSelectedIndices = {};\n\n // set all indices that are supposed to be selected in _allSelectedIndices\n for (const index in this._selectedIndicies!) {\n if (this._selectedIndicies!.hasOwnProperty(index)) {\n this._allSelectedIndices![index] = true;\n }\n }\n\n if (this._preservedIndicies) {\n for (const index of this._preservedIndicies!) {\n this._allSelectedIndices![index] = true;\n }\n }\n\n // check if needs to update selection, only when current _allSelectedIndices\n // is different than previousSelectedIndices\n let needToUpdate = false;\n for (const index in this._allSelectedIndices!) {\n if (this._allSelectedIndices![index] !== previousSelectedIndices![index]) {\n needToUpdate = true;\n break;\n }\n }\n\n if (!needToUpdate) {\n for (const index in previousSelectedIndices!) {\n if (this._allSelectedIndices![index] !== previousSelectedIndices![index]) {\n needToUpdate = true;\n break;\n }\n }\n }\n\n // only update selection when needed\n if (needToUpdate) {\n // Stop change events, clear selection to re-populate.\n selection.setChangeEvents(false);\n selection.setAllSelected(false);\n\n for (const index of Object.keys(this._allSelectedIndices!)) {\n selection.setIndexSelected(Number(index), true, false);\n }\n\n selection.setChangeEvents(true);\n }\n }\n}\n","import * as React from 'react';\nimport { styled } from '../../Utilities';\nimport { MarqueeSelectionBase } from './MarqueeSelection.base';\nimport { getStyles } from './MarqueeSelection.styles';\nimport { IMarqueeSelectionProps, IMarqueeSelectionStyleProps, IMarqueeSelectionStyles } from './MarqueeSelection.types';\n\nexport const MarqueeSelection: React.FunctionComponent =\n // TODO: MarqueeSelectionBase defaultProps are not lining up with IMarqueeSelectionProps, so we have to be explicit\n // with styled here. defaultProps.rootTagName doesn't appear to be used anywhere and defaultProps.rootProps is not\n // in IMarqueeSelectionProps.\n styled(\n MarqueeSelectionBase,\n getStyles,\n undefined,\n {\n scope: 'MarqueeSelection',\n },\n );\n","import { IMarqueeSelectionStyleProps, IMarqueeSelectionStyles } from './MarqueeSelection.types';\nimport { HighContrastSelector } from '../../Styling';\n\nexport const getStyles = (props: IMarqueeSelectionStyleProps): IMarqueeSelectionStyles => {\n const { theme, className } = props;\n const { palette } = theme;\n\n return {\n root: [\n className,\n {\n position: 'relative',\n cursor: 'default',\n },\n ],\n dragMask: [\n {\n position: 'absolute',\n background: 'rgba(255, 0, 0, 0)',\n left: 0,\n top: 0,\n right: 0,\n bottom: 0,\n selectors: {\n [HighContrastSelector]: {\n background: 'none',\n backgroundColor: 'transparent',\n },\n },\n },\n ],\n box: [\n {\n position: 'absolute',\n boxSizing: 'border-box',\n border: `1px solid ${palette.themePrimary}`,\n pointerEvents: 'none',\n zIndex: 10,\n selectors: {\n [HighContrastSelector]: {\n borderColor: 'Highlight',\n },\n },\n },\n ],\n boxFill: [\n {\n position: 'absolute',\n boxSizing: 'border-box',\n backgroundColor: palette.themePrimary,\n opacity: 0.1,\n left: 0,\n top: 0,\n right: 0,\n bottom: 0,\n selectors: {\n [HighContrastSelector]: {\n background: 'none',\n backgroundColor: 'transparent',\n },\n },\n },\n ],\n };\n};\n","import * as React from 'react';\nimport {\n DelayedRender,\n getId,\n classNamesFunction,\n getNativeProps,\n htmlElementProperties,\n css,\n initializeComponentRef,\n} from '../../Utilities';\nimport { IconButton } from '../../Button';\nimport { Icon } from '../../Icon';\nimport { IMessageBarProps, IMessageBarStyleProps, IMessageBarStyles, MessageBarType } from './MessageBar.types';\n\nconst getClassNames = classNamesFunction();\n\nexport interface IMessageBarState {\n labelId?: string;\n showContent?: boolean;\n expandSingleLine?: boolean;\n}\n\nexport class MessageBarBase extends React.Component {\n public static defaultProps: IMessageBarProps = {\n messageBarType: MessageBarType.info,\n onDismiss: undefined,\n isMultiline: true,\n };\n\n private ICON_MAP = {\n [MessageBarType.info]: 'Info',\n [MessageBarType.warning]: 'Info',\n [MessageBarType.error]: 'ErrorBadge',\n [MessageBarType.blocked]: 'Blocked2',\n // tslint:disable-next-line:deprecation\n [MessageBarType.remove]: 'Blocked', // TODO remove deprecated value at >= 1.0.0\n [MessageBarType.severeWarning]: 'Warning',\n [MessageBarType.success]: 'Completed',\n };\n\n private _classNames: { [key in keyof IMessageBarStyles]: string };\n\n constructor(props: IMessageBarProps) {\n super(props);\n\n initializeComponentRef(this);\n this.state = {\n labelId: getId('MessageBar'),\n showContent: false,\n expandSingleLine: false,\n };\n }\n\n public render(): JSX.Element {\n const { isMultiline } = this.props;\n\n this._classNames = this._getClassNames();\n\n return isMultiline ? this._renderMultiLine() : this._renderSingleLine();\n }\n\n private _getActionsDiv(): JSX.Element | null {\n if (this.props.actions) {\n return
    {this.props.actions}
    ;\n }\n return null;\n }\n\n private _getDismissDiv(): JSX.Element | null {\n const { onDismiss, dismissIconProps } = this.props;\n if (onDismiss) {\n return (\n \n );\n }\n return null;\n }\n\n private _getDismissSingleLine(): JSX.Element | null {\n if (this.props.onDismiss) {\n return
    {this._getDismissDiv()}
    ;\n }\n return null;\n }\n\n private _getExpandSingleLine(): JSX.Element | null {\n if (!this.props.actions && this.props.truncated) {\n return (\n
    \n \n
    \n );\n }\n return null;\n }\n\n private _getIconSpan(): JSX.Element {\n const { messageBarIconProps } = this.props;\n return (\n
    \n {messageBarIconProps ? (\n \n ) : (\n \n )}\n
    \n );\n }\n\n private _renderMultiLine(): React.ReactElement> {\n const { theme } = this.props;\n\n return (\n
    \n
    \n
    \n {this._getIconSpan()}\n {this._renderInnerText()}\n {this._getDismissDiv()}\n
    \n {this._getActionsDiv()}\n
    \n
    \n );\n }\n\n private _renderSingleLine(): React.ReactElement> {\n const { theme } = this.props;\n return (\n
    \n
    \n
    \n {this._getIconSpan()}\n {this._renderInnerText()}\n {this._getExpandSingleLine()}\n {this._getActionsDiv()}\n {this._getDismissSingleLine()}\n
    \n
    \n
    \n );\n }\n\n private _renderInnerText(): JSX.Element {\n const nativeProps = getNativeProps>(this.props, htmlElementProperties, [\n 'className',\n ]);\n\n return (\n \n \n \n {this.props.children}\n \n \n
    \n );\n }\n\n private _getRegionProps = () => {\n const hasActions = !!this._getActionsDiv() || !!this._getDismissDiv();\n const regionProps = {\n 'aria-describedby': this.state.labelId,\n role: 'region',\n };\n\n return hasActions ? regionProps : {};\n };\n\n private _getClassNames(): { [key in keyof IMessageBarStyles]: string } {\n const { theme, className, messageBarType, onDismiss, actions, truncated, isMultiline } = this.props;\n const { expandSingleLine } = this.state;\n\n return getClassNames(this.props.styles!, {\n theme: theme!,\n messageBarType: messageBarType || MessageBarType.info,\n onDismiss: onDismiss !== undefined,\n actions: actions !== undefined,\n truncated: truncated,\n isMultiline: isMultiline,\n expandSingleLine: expandSingleLine,\n className,\n });\n }\n\n private _getAnnouncementPriority(): 'assertive' | 'polite' {\n switch (this.props.messageBarType) {\n case MessageBarType.blocked:\n case MessageBarType.error:\n case MessageBarType.severeWarning:\n return 'assertive';\n }\n return 'polite';\n }\n\n private _onClick = (ev: React.MouseEvent) => {\n this.setState({ expandSingleLine: !this.state.expandSingleLine });\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 { INav, INavLink, INavLinkGroup, INavProps, INavStyleProps, INavStyles } from './Nav.types';\nimport { composeComponentAs, composeRenderFunction } from '@uifabric/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 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 // tslint:disable-next-line: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 const classNames = getClassNames(styles!, {\n theme: theme!,\n isGroup: true,\n isExpanded: this._isGroupExpanded(group),\n groups,\n });\n\n return (\n
    \n {group.name ? onRenderGroupHeader(group, this._renderGroupHeader) : null}\n
    {this._renderLinks(group.links, 0 /* nestingLevel */)}
    \n
    \n );\n };\n\n private _renderGroupHeader = (group: INavLinkGroup): React.ReactElement<{}> => {\n // tslint:disable-next-line:deprecation\n const { styles, groups, theme, expandButtonAriaLabel } = this.props;\n const classNames = getClassNames(styles!, {\n theme: theme!,\n isGroup: true,\n isExpanded: this._isGroupExpanded(group),\n groups,\n });\n\n const isExpanded = this._isGroupExpanded(group);\n const label = (isExpanded ? group.collapseAriaLabel : group.expandAriaLabel) || expandButtonAriaLabel;\n\n return (\n \n \n {group.name}\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 ev.preventDefault();\n ev.stopPropagation();\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 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 {\n IStyle,\n IPalette,\n ISemanticColors,\n HighContrastSelector,\n ScreenWidthMaxSmall,\n getScreenSelector,\n getGlobalClassNames,\n getFocusStyle,\n IconFontSizes,\n} from '../../Styling';\nimport { IMessageBarStyleProps, IMessageBarStyles, MessageBarType } from './MessageBar.types';\n\nconst GlobalClassNames = {\n root: 'ms-MessageBar',\n error: 'ms-MessageBar--error',\n blocked: 'ms-MessageBar--blocked',\n severeWarning: 'ms-MessageBar--severeWarning',\n success: 'ms-MessageBar--success',\n warning: 'ms-MessageBar--warning',\n multiline: 'ms-MessageBar-multiline',\n singleline: 'ms-MessageBar-singleline',\n dismissalSingleLine: 'ms-MessageBar-dismissalSingleLine',\n expandingSingleLine: 'ms-MessageBar-expandingSingleLine',\n content: 'ms-MessageBar-content',\n iconContainer: 'ms-MessageBar-icon',\n text: 'ms-MessageBar-text',\n innerText: 'ms-MessageBar-innerText',\n dismissSingleLine: 'ms-MessageBar-dismissSingleLine',\n expandSingleLine: 'ms-MessageBar-expandSingleLine',\n dismissal: 'ms-MessageBar-dismissal',\n expand: 'ms-MessageBar-expand',\n actions: 'ms-MessageBar-actions',\n actionsSingleline: 'ms-MessageBar-actionsSingleLine',\n};\n\n// Returns the background color of the MessageBar root element based on the type of MessageBar.\nconst getRootBackground = (\n messageBarType: MessageBarType | undefined,\n palette: IPalette,\n semanticColors: ISemanticColors,\n): string => {\n switch (messageBarType) {\n case MessageBarType.error:\n case MessageBarType.blocked:\n return semanticColors.errorBackground;\n case MessageBarType.severeWarning:\n return semanticColors.blockingBackground;\n case MessageBarType.success:\n return semanticColors.successBackground;\n case MessageBarType.warning:\n return semanticColors.warningBackground;\n }\n return palette.neutralLighter;\n};\n\n/**\n * Returns the high contrast mode background color of the MessageBar root element based on the type of MessageBar.\n * The fact that the styles don't vary based on the theme is intentional since the objective is to show the message bar\n * type, and theme variations would not be appreciated in High Contrast either way.\n */\nconst getHighContrastRootBackground = (messageBarType: MessageBarType | undefined): string => {\n switch (messageBarType) {\n case MessageBarType.error:\n case MessageBarType.blocked:\n case MessageBarType.severeWarning:\n return 'rgba(255, 0, 0, 0.3)';\n case MessageBarType.success:\n return 'rgba(48, 241, 73, 0.3)';\n case MessageBarType.warning:\n return 'rgba(255, 254, 57, 0.3)';\n }\n return 'Window';\n};\n\n// Returns the icon color based on the type of MessageBar.\nconst getIconColor = (\n messageBarType: MessageBarType | undefined,\n palette: IPalette,\n semanticColors: ISemanticColors,\n): string => {\n switch (messageBarType) {\n case MessageBarType.error:\n case MessageBarType.blocked:\n case MessageBarType.severeWarning:\n return semanticColors.errorText;\n case MessageBarType.success:\n return palette.green;\n case MessageBarType.warning:\n return semanticColors.warningText;\n }\n return palette.neutralSecondary;\n};\n\nexport const getStyles = (props: IMessageBarStyleProps): IMessageBarStyles => {\n const { theme, className, messageBarType, onDismiss, truncated, isMultiline, expandSingleLine } = props;\n const { semanticColors, palette, fonts } = theme;\n\n const SmallScreenSelector = getScreenSelector(0, ScreenWidthMaxSmall);\n\n const classNames = getGlobalClassNames(GlobalClassNames, theme);\n\n const dismissalAndExpandIconStyle: IStyle = {\n fontSize: IconFontSizes.xSmall,\n height: 10,\n lineHeight: '10px',\n color: palette.neutralPrimary,\n selectors: {\n [HighContrastSelector]: {\n MsHighContrastAdjust: 'none',\n color: 'WindowText',\n },\n },\n };\n\n const dismissalAndExpandStyle: IStyle = [\n getFocusStyle(theme, {\n inset: 1,\n highContrastStyle: {\n outlineOffset: '-4px',\n outlineColor: 'Window',\n },\n borderColor: 'transparent',\n }),\n {\n flexShrink: 0,\n width: 32,\n height: 32,\n padding: '8px 12px',\n selectors: {\n '& .ms-Button-icon': dismissalAndExpandIconStyle,\n ':hover': {\n backgroundColor: 'transparent',\n },\n ':active': {\n backgroundColor: 'transparent',\n },\n },\n },\n ];\n\n return {\n root: [\n classNames.root,\n theme.fonts.medium,\n messageBarType === MessageBarType.error && classNames.error,\n messageBarType === MessageBarType.blocked && classNames.blocked,\n messageBarType === MessageBarType.severeWarning && classNames.severeWarning,\n messageBarType === MessageBarType.success && classNames.success,\n messageBarType === MessageBarType.warning && classNames.warning,\n isMultiline ? classNames.multiline : classNames.singleline,\n !isMultiline && onDismiss && classNames.dismissalSingleLine,\n !isMultiline && truncated && classNames.expandingSingleLine,\n {\n background: getRootBackground(messageBarType, palette, semanticColors),\n color: palette.neutralPrimary,\n minHeight: 32,\n width: '100%',\n display: 'flex',\n wordBreak: 'break-word',\n selectors: {\n '& .ms-Link': {\n color: palette.themeDark,\n ...fonts.small,\n selectors: {\n [HighContrastSelector]: {\n MsHighContrastAdjust: 'auto',\n },\n },\n },\n [HighContrastSelector]: {\n background: getHighContrastRootBackground(messageBarType),\n border: '1px solid WindowText',\n color: 'WindowText',\n },\n },\n },\n isMultiline && {\n flexDirection: 'column',\n },\n className,\n ],\n content: [\n classNames.content,\n {\n display: 'flex',\n width: '100%',\n lineHeight: 'normal',\n },\n ],\n iconContainer: [\n classNames.iconContainer,\n {\n fontSize: IconFontSizes.medium,\n minWidth: 16,\n minHeight: 16,\n display: 'flex',\n flexShrink: 0,\n margin: '8px 0 8px 12px',\n },\n ],\n icon: {\n color: getIconColor(messageBarType, palette, semanticColors),\n selectors: {\n [HighContrastSelector]: {\n MsHighContrastAdjust: 'none',\n color: 'WindowText',\n },\n },\n },\n text: [\n classNames.text,\n {\n minWidth: 0,\n display: 'flex',\n flexGrow: 1,\n margin: 8,\n ...fonts.small,\n selectors: {\n [HighContrastSelector]: {\n MsHighContrastAdjust: 'none',\n },\n },\n },\n !onDismiss && {\n marginRight: 12,\n },\n ],\n innerText: [\n classNames.innerText,\n {\n lineHeight: 16,\n selectors: {\n '& span a': {\n paddingLeft: 4,\n },\n },\n },\n truncated && {\n overflow: 'visible',\n whiteSpace: 'pre-wrap',\n },\n !isMultiline && {\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n },\n !isMultiline &&\n !truncated && {\n selectors: {\n [SmallScreenSelector]: {\n overflow: 'visible',\n whiteSpace: 'pre-wrap',\n },\n },\n },\n expandSingleLine && {\n overflow: 'visible',\n whiteSpace: 'pre-wrap',\n },\n ],\n dismissSingleLine: [classNames.dismissSingleLine],\n expandSingleLine: [classNames.expandSingleLine],\n dismissal: [classNames.dismissal, dismissalAndExpandStyle],\n expand: [classNames.expand, dismissalAndExpandStyle],\n actions: [\n isMultiline ? classNames.actions : classNames.actionsSingleline,\n {\n display: 'flex',\n flexGrow: 0,\n flexShrink: 0,\n flexBasis: 'auto',\n flexDirection: 'row-reverse',\n alignItems: 'center',\n margin: '0 12px 0 8px',\n selectors: {\n '& button:nth-child(n+2)': {\n marginLeft: 8,\n },\n },\n },\n isMultiline && {\n marginBottom: 8,\n },\n onDismiss &&\n !isMultiline && {\n marginRight: 0,\n },\n ],\n };\n};\n","import * as React from 'react';\nimport { styled } from '../../Utilities';\nimport { MessageBarBase } from './MessageBar.base';\nimport { getStyles } from './MessageBar.styles';\nimport { IMessageBarProps, IMessageBarStyleProps, IMessageBarStyles } from './MessageBar.types';\n\nexport const MessageBar: React.FunctionComponent = styled<\n IMessageBarProps,\n IMessageBarStyleProps,\n IMessageBarStyles\n>(MessageBarBase, getStyles, undefined, {\n scope: 'MessageBar',\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 borderColor: 'transparent',\n selectors: {\n ':focus': {\n borderColor: '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 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// tslint:disable-next-line: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 } from '../../../Styling';\nimport { ISuggestionsItemStyleProps, ISuggestionsItemStyles } from './SuggestionsItem.types';\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\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 MsHighContrastAdjust: 'none',\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 MsHighContrastAdjust: 'none',\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 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 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 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 // TODO get the element to scroll into view properly regardless of direction.\n public scrollSelected(): void {\n if (this._selectedElement.current && this._selectedElement.current.scrollIntoView !== undefined) {\n this._selectedElement.current.scrollIntoView(false);\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 onRenderSuggestion,\n removeSuggestionAriaLabel,\n suggestionsItemClassName,\n resultsMaximumNumber,\n showRemoveButtons,\n suggestionsContainerAriaLabel,\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 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// tslint:disable-next-line: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 * 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 * 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.\n */\n onDismiss?: (ev?: any, selectedItem?: T) => 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 { getGlobalClassNames, IStyle, hiddenContentStyle } 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 };\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 },\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","/* tslint:disable */\nimport { loadStyles } from '@microsoft/load-themed-styles';\nloadStyles([{\"rawString\":\".pickerText_19684fdb{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_19684fdb:hover{border-color:\"},{\"theme\":\"inputBorderHovered\",\"defaultValue\":\"#323130\"},{\"rawString\":\"}.pickerText_19684fdb.inputFocused_19684fdb{position:relative;border-color:\"},{\"theme\":\"inputFocusBorderAlt\",\"defaultValue\":\"#0078d4\"},{\"rawString\":\"}.pickerText_19684fdb.inputFocused_19684fdb:after{pointer-events:none;content:'';position:absolute;left:-1px;top:-1px;bottom:-1px;right:-1px;border:2px solid \"},{\"theme\":\"inputFocusBorderAlt\",\"defaultValue\":\"#0078d4\"},{\"rawString\":\"}.pickerInput_19684fdb{height:34px;border:none;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;outline:none;padding:0 6px 0px;-ms-flex-item-align:end;align-self:flex-end}.pickerItems_19684fdb{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;max-width:100%}.screenReaderOnly_19684fdb{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}\\n\"}]);\nexport const pickerText = \"pickerText_19684fdb\";\nexport const inputFocused = \"inputFocused_19684fdb\";\nexport const pickerInput = \"pickerInput_19684fdb\";\nexport const pickerItems = \"pickerItems_19684fdb\";\nexport const screenReaderOnly = \"screenReaderOnly_19684fdb\";","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 { IFocusZone, FocusZone, FocusZoneDirection } from '../../FocusZone';\nimport { Callout, DirectionalHint } from '../../Callout';\nimport { Selection, SelectionZone, SelectionMode } from '../../utilities/selection/index';\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\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> extends React.Component\n implements IBasePicker {\n // Refs\n protected root = React.createRef();\n protected input = React.createRef();\n protected focusZone = 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 // tslint:disable-next-line:deprecation\n private _styledSuggestions = getStyledSuggestions(this.SuggestionOfProperType);\n private _id: string;\n private _requestSuggestionsOnClick = false;\n private _async: Async;\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 };\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 // tslint:disable-next-line function-name\n public UNSAFE_componentWillUpdate(newProps: P, newState: IBasePickerState): void {\n if (newState.items && newState.items !== this.state.items) {\n this.selection.setItems(newState.items);\n }\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 // tslint:disable-next-line function-name\n public UNSAFE_componentWillReceiveProps(newProps: P): void {\n const newItems = newProps.selectedItems;\n\n if (newItems) {\n let focusIndex: number;\n\n // If there are less new items than old items then something was removed and we\n // should try to keep focus consistent\n if (newItems.length < this.state.items.length) {\n focusIndex = this.state.items.indexOf(this.selection.getSelection()[0]);\n }\n\n this.setState(\n {\n items: newProps.selectedItems,\n },\n () => {\n // Only update the focus if this component is currently focused to ensure that the basepicker\n // doesn't steal focus from something else.\n if (this.state.isFocused) {\n // Need to reset focus in the same that way that we do if an item is selected by a non-controlled component\n // See _onSelectedItemsUpdated.\n this.resetFocus(focusIndex);\n }\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.focusZone.current) {\n this.focusZone.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 if (this.props.onDismiss) {\n 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 when user leaves.\n if (this.canAddItems() && this.suggestionStore.hasSelectedSuggestion() && this.state.suggestedDisplayValue) {\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._requestSuggestionsOnClick = false;\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, theme, styles } = this.props;\n\n const selectedSuggestionAlertId = this.props.enableSelectedSuggestionAlert\n ? this._ariaMap.selectedSuggestionAlert\n : '';\n const suggestionsAvailable = this.state.suggestionsVisible ? this._ariaMap.suggestionList : '';\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 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 return (\n
    \n 0 ? 'listbox' : 'dialog'}\n >\n {this.getSuggestionsAlert(classNames.screenReaderText)}\n \n
    \n {items.length > 0 && (\n \n {this.renderItems()}\n \n )}\n {this.canAddItems() && (\n 0 ? this._ariaMap.selectedItems : undefined}\n aria-controls={`${suggestionsAvailable} ${selectedSuggestionAlertId}` || undefined}\n aria-activedescendant={this.getActiveDescendant()}\n role={'textbox'}\n disabled={disabled}\n onInputChange={this.props.onInputChange}\n />\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 && this.focusZone.current) {\n this.focusZone.current.focusElement(newEl);\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 protected onEmptyInputFocus() {\n const emptyResolveSuggestions = this.props.onEmptyResolveSuggestions\n ? this.props.onEmptyResolveSuggestions\n : // tslint:disable-next-line:deprecation\n this.props.onEmptyInputFocus;\n\n const suggestions = emptyResolveSuggestions!(this.state.items);\n this.updateSuggestionsList(suggestions);\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 this._requestSuggestionsOnClick = false;\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 // 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.setState({ isFocused: true });\n this.selection.setAllSelected(false);\n\n if (\n this.input.current &&\n this.input.current.value === '' &&\n // tslint:disable-next-line:deprecation\n (this.props.onEmptyResolveSuggestions || this.props.onEmptyInputFocus) &&\n !this._requestSuggestionsOnClick\n ) {\n this.onEmptyInputFocus();\n this.setState({\n isMostRecentlyUsedVisible: true,\n moreSuggestionsAvailable: false,\n suggestionsVisible: true,\n });\n } else if (this.input.current && this.input.current.value && !this._requestSuggestionsOnClick) {\n this.setState({\n isMostRecentlyUsedVisible: false,\n suggestionsVisible: true,\n });\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 const input = this.input.current ? this.input.current.value : '';\n\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 && !this.state.suggestionsVisible) {\n const emptyResolveSuggestions = this.props.onEmptyResolveSuggestions\n ? this.props.onEmptyResolveSuggestions\n : // tslint:disable-next-line:deprecation\n this.props.onEmptyInputFocus;\n\n if (input === '') {\n if (emptyResolveSuggestions) {\n this.setState({ suggestionsVisible: true });\n const suggestions = emptyResolveSuggestions!(this.state.items);\n this.updateSuggestionsList(suggestions);\n }\n } else {\n this._requestSuggestionsOnClick = true;\n this._onResolveSuggestions(input);\n }\n }\n };\n\n protected onKeyDown = (ev: React.KeyboardEvent): void => {\n const keyCode = ev.which;\n switch (keyCode) {\n case KeyCodes.escape:\n if (this.state.suggestionsVisible) {\n this._requestSuggestionsOnClick = false;\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 } 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 } 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, focusNextItem ? index : undefined);\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 const firstItemToRemove = itemsToRemove[0];\n const index: number = items.indexOf(firstItemToRemove);\n\n this._updateSelectedItems(newItems, index);\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 protected _isFocusZoneInnerKeystroke = (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 switch (ev.which) {\n case KeyCodes.up:\n case KeyCodes.down:\n return true;\n }\n }\n\n if (ev.which === KeyCodes.enter) {\n return true;\n }\n\n return false;\n };\n\n protected getActiveDescendant() {\n const currentIndex = this.suggestionStore.currentIndex;\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[], focusIndex?: number): 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, focusIndex);\n });\n }\n }\n\n private _onSelectedItemsUpdated(items?: T[], focusIndex?: number): void {\n this.resetFocus(focusIndex);\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 !== '' || this._requestSuggestionsOnClick);\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\nexport class BasePickerListBelow> extends BasePicker {\n public render(): JSX.Element {\n const { suggestedDisplayValue, isFocused } = this.state;\n const { className, inputProps, disabled, theme, styles } = this.props;\n\n const selectedSuggestionAlertId: string | undefined = this.props.enableSelectedSuggestionAlert\n ? this._ariaMap.selectedSuggestionAlert\n : '';\n const suggestionsAvailable: string | undefined = this.state.suggestionsVisible ? this._ariaMap.suggestionList : '';\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 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('ms-BasePicker-text', legacyStyles.pickerText, this.state.isFocused && legacyStyles.inputFocused),\n input: css('ms-BasePicker-input', legacyStyles.pickerInput, inputProps && inputProps.className),\n screenReaderText: legacyStyles.screenReaderOnly,\n };\n\n return (\n
    \n
    \n {this.getSuggestionsAlert(classNames.screenReaderText)}\n 0 ? 'listbox' : 'dialog'}\n role=\"combobox\"\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 { getGlobalClassNames, getFocusStyle, HighContrastSelector, IStyle } 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 MsHighContrastAdjust: 'none',\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';\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 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 { PivotBase } from './Pivot.base';\nimport { IStyle, ITheme } from '../../Styling';\nimport { IRefObject, IStyleFunctionOrObject } from '../../Utilities';\nimport { PivotItem } from './PivotItem';\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.ClassAttributes, React.HTMLAttributes {\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?: 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 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 * This property is also mutually exclusive with `defaultSelectedIndex`.\n */\n defaultSelectedKey?: string;\n\n /**\n * Default selected index for the pivot. Only provide this if the pivot is an uncontrolled component;\n * otherwise, use the `selectedKey` property.\n *\n * This property is also mutually exclusive with `defaultSelectedKey`.\n */\n defaultSelectedIndex?: number;\n\n /**\n * Index of the pivot item initially selected. Mutually exclusive with `initialSelectedKey`.\n * Only provide this if the pivot is an uncontrolled component; otherwise, use `selectedKey`.\n *\n * @deprecated Use `defaultSelectedIndex`\n */\n initialSelectedIndex?: number;\n\n /**\n * Key of the pivot item initially selected. Mutually exclusive with `initialSelectedIndex`.\n * Only provide this if the pivot is an uncontrolled component; otherwise, use `selectedKey`.\n *\n * @deprecated Use `defaultSelectedKey`\n */\n initialSelectedKey?: 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 * PivotLinkSize to use (normal, large)\n */\n linkSize?: PivotLinkSize;\n\n /**\n * PivotLinkFormat to use (links, tabs)\n */\n linkFormat?: PivotLinkFormat;\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/**\n * {@docCategory Pivot}\n */\nexport type IPivotStyleProps = Required> &\n Pick & {\n /** Indicates whether Pivot has large format. */\n rootIsLarge?: boolean;\n /** Indicates whether Pivot has tabbed format. */\n rootIsTabs?: boolean;\n /**\n * Indicates whether Pivot link is selected.\n * @deprecated Is not populated with valid value. Specify `linkIsSelected` styling instead.\n */\n linkIsSelected?: boolean;\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 linkContent: IStyle;\n linkIsSelected: IStyle;\n text: IStyle;\n count: IStyle;\n icon: IStyle;\n itemContainer?: IStyle;\n}\n\n/**\n * {@docCategory Pivot}\n */\nexport enum PivotLinkFormat {\n /**\n * Display Pivot Links as links\n */\n links = 0,\n\n /**\n * Display Pivot Links as Tabs\n */\n tabs = 1,\n}\n\n/**\n * {@docCategory Pivot}\n */\nexport enum PivotLinkSize {\n /**\n * Display Link using normal font size\n */\n normal = 0,\n\n /**\n * Display links using large font size\n */\n large = 1,\n}\n","/* tslint:disable */\nimport * as React from 'react';\n/* tslint:enable */\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';\nimport { getNativeProps, divProperties, initializeComponentRef, warnDeprecations } from '../../Utilities';\nimport { IPivotItemProps } from './PivotItem.types';\n\nconst COMPONENT_NAME = 'PivotItem';\n\nexport class PivotItem extends React.Component {\n constructor(props: IPivotItemProps) {\n super(props);\n\n initializeComponentRef(this);\n warnDeprecations(COMPONENT_NAME, props, {\n linkText: 'headerText',\n });\n }\n\n public render(): JSX.Element {\n return
    {this.props.children}
    ;\n }\n}\n","import * as React from 'react';\nimport {\n warnDeprecations,\n KeyCodes,\n getId,\n getNativeProps,\n divProperties,\n classNamesFunction,\n warn,\n initializeComponentRef,\n} from '../../Utilities';\nimport { CommandButton } from '../../Button';\nimport { IPivotProps, IPivotStyleProps, IPivotStyles } from './Pivot.types';\nimport { IPivotItemProps } from './PivotItem.types';\nimport { FocusZone, FocusZoneDirection } from '../../FocusZone';\nimport { PivotItem } from './PivotItem';\nimport { PivotLinkFormat } from './Pivot.types';\nimport { PivotLinkSize } from './Pivot.types';\nimport { Icon } from '../../Icon';\n\nconst getClassNames = classNamesFunction();\nconst PivotName = 'Pivot';\n\nexport interface IPivotState {\n selectedKey: string | undefined;\n}\n\ntype PivotLinkCollection = {\n links: IPivotItemProps[];\n keyToIndexMapping: { [key: string]: number };\n keyToTabIdMapping: { [key: string]: string };\n};\n\n/**\n * Usage:\n *\n * \n * \n * \n * \n * \n * \n * \n * \n * \n * \n * \n */\nexport class PivotBase extends React.Component {\n private _pivotId: string;\n private _focusZone = React.createRef();\n private _classNames: { [key in keyof IPivotStyles]: string };\n\n constructor(props: IPivotProps) {\n super(props);\n\n initializeComponentRef(this);\n\n if (process.env.NODE_ENV !== 'production') {\n warnDeprecations(PivotName, props, {\n initialSelectedKey: 'defaultSelectedKey',\n initialSelectedIndex: 'defaultSelectedIndex',\n });\n }\n\n this._pivotId = getId(PivotName);\n const links: IPivotItemProps[] = this._getPivotLinks(props).links;\n\n // tslint:disable-next-line:deprecation\n const { defaultSelectedKey = props.initialSelectedKey, defaultSelectedIndex = props.initialSelectedIndex } = props;\n\n let selectedKey: string | undefined;\n\n if (defaultSelectedKey) {\n selectedKey = defaultSelectedKey;\n } else if (typeof defaultSelectedIndex === 'number') {\n selectedKey = links[defaultSelectedIndex].itemKey!;\n } else if (links.length) {\n selectedKey = links[0].itemKey!;\n }\n\n this.state = {\n selectedKey,\n };\n }\n\n /**\n * Sets focus to the first pivot tab.\n */\n public focus(): void {\n if (this._focusZone.current) {\n this._focusZone.current.focus();\n }\n }\n\n public render(): JSX.Element {\n const linkCollection = this._getPivotLinks(this.props);\n const selectedKey = this._getSelectedKey(linkCollection);\n\n const divProps = getNativeProps>(this.props, divProperties);\n\n this._classNames = this._getClassNames(this.props);\n\n return (\n
    \n {this._renderPivotLinks(linkCollection, selectedKey)}\n {selectedKey && this._renderPivotItem(linkCollection, selectedKey)}\n
    \n );\n }\n\n private _getSelectedKey(linkCollection: PivotLinkCollection) {\n const { selectedKey: propsSelectedKey } = this.props;\n\n if (this._isKeyValid(linkCollection, propsSelectedKey) || propsSelectedKey === null) {\n return propsSelectedKey;\n }\n\n const { selectedKey: stateSelectedKey } = this.state;\n if (this._isKeyValid(linkCollection, stateSelectedKey)) {\n return stateSelectedKey;\n }\n\n if (linkCollection.links.length) {\n return linkCollection.links[0].itemKey;\n }\n\n return undefined;\n }\n\n /**\n * Renders the set of links to route between pivots\n */\n private _renderPivotLinks(linkCollection: PivotLinkCollection, selectedKey: string | null | undefined): JSX.Element {\n const items = linkCollection.links.map(l => this._renderPivotLink(linkCollection, l, selectedKey));\n\n return (\n \n {items}\n
    \n );\n }\n\n private _renderPivotLink = (\n linkCollection: PivotLinkCollection,\n link: IPivotItemProps,\n selectedKey: string | null | undefined,\n ): JSX.Element => {\n const { itemKey, headerButtonProps } = link;\n const tabId = linkCollection.keyToTabIdMapping[itemKey!];\n const { onRenderItemLink } = link;\n let linkContent: JSX.Element | null;\n const isSelected: boolean = selectedKey === itemKey;\n\n if (onRenderItemLink) {\n linkContent = onRenderItemLink(link, this._renderLinkContent);\n } else {\n linkContent = this._renderLinkContent(link);\n }\n\n let contentString = link.headerText || '';\n contentString += link.itemCount ? ' (' + link.itemCount + ')' : '';\n // Adding space supplementary for icon\n contentString += link.itemIcon ? ' xx' : '';\n\n return (\n \n {linkContent}\n \n );\n };\n\n private _renderLinkContent = (link: IPivotItemProps): JSX.Element => {\n const { itemCount, itemIcon, headerText } = link;\n const classNames = this._classNames;\n\n return (\n \n {itemIcon !== undefined && (\n \n \n \n )}\n {headerText !== undefined && {link.headerText}}\n {itemCount !== undefined && ({itemCount})}\n \n );\n };\n\n /**\n * Renders the current Pivot Item\n */\n private _renderPivotItem(linkCollection: PivotLinkCollection, itemKey: string | undefined): JSX.Element | null {\n if (this.props.headersOnly || !itemKey) {\n return null;\n }\n\n const index = linkCollection.keyToIndexMapping[itemKey];\n const selectedTabId = linkCollection.keyToTabIdMapping[itemKey];\n\n return (\n
    \n {React.Children.toArray(this.props.children)[index]}\n
    \n );\n }\n\n /**\n * Gets the set of PivotLinks as array of IPivotItemProps\n * The set of Links is determined by child components of type PivotItem\n */\n private _getPivotLinks(props: IPivotProps): PivotLinkCollection {\n const result: PivotLinkCollection = {\n links: [],\n keyToIndexMapping: {},\n keyToTabIdMapping: {},\n };\n\n React.Children.map(React.Children.toArray(props.children), (child: React.ReactChild, index: number) => {\n if (_isPivotItem(child)) {\n const pivotItem = child;\n const { linkText, ...pivotItemProps } = pivotItem.props;\n const itemKey = pivotItem.props.itemKey || index.toString();\n\n result.links.push({\n // Use linkText (deprecated) if headerText is not provided\n headerText: linkText,\n ...pivotItemProps,\n itemKey: itemKey,\n });\n result.keyToIndexMapping[itemKey] = index;\n result.keyToTabIdMapping[itemKey] = this._getTabId(itemKey, index);\n } else {\n warn('The children of a Pivot component must be of type PivotItem to be rendered.');\n }\n });\n\n return result;\n }\n\n /**\n * Generates the Id for the tab button.\n */\n private _getTabId(itemKey: string, index: number): string {\n if (this.props.getTabId) {\n return this.props.getTabId(itemKey, index);\n }\n\n return this._pivotId + `-Tab${index}`;\n }\n\n /**\n * whether the key exists in the pivot items.\n */\n private _isKeyValid(linkCollection: PivotLinkCollection, itemKey: string | null | undefined): boolean {\n return itemKey !== undefined && itemKey !== null && linkCollection.keyToIndexMapping[itemKey] !== undefined;\n }\n\n /**\n * Handles the onClick event on PivotLinks\n */\n private _onLinkClick(itemKey: string, ev: React.MouseEvent): void {\n ev.preventDefault();\n this._updateSelectedItem(itemKey, ev);\n }\n\n /**\n * Handle the onKeyPress event on the PivotLinks\n */\n private _onKeyPress(itemKey: string, ev: React.KeyboardEvent): void {\n if (ev.which === KeyCodes.enter) {\n ev.preventDefault();\n this._updateSelectedItem(itemKey);\n }\n }\n\n /**\n * Updates the state with the new selected index\n */\n private _updateSelectedItem(itemKey: string, ev?: React.MouseEvent): void {\n this.setState({\n selectedKey: itemKey,\n });\n\n const linkCollection = this._getPivotLinks(this.props);\n\n if (this.props.onLinkClick && linkCollection.keyToIndexMapping[itemKey] >= 0) {\n const index = linkCollection.keyToIndexMapping[itemKey];\n\n // React.Element cannot directly convert to PivotItem.\n const item = React.Children.toArray(this.props.children)[index];\n\n if (_isPivotItem(item)) {\n this.props.onLinkClick(item, ev);\n }\n }\n }\n\n private _getClassNames(props: IPivotProps): { [key in keyof IPivotStyles]: string } {\n const { theme } = props;\n const rootIsLarge: boolean = props.linkSize === PivotLinkSize.large;\n const rootIsTabs: boolean = props.linkFormat === PivotLinkFormat.tabs;\n\n return getClassNames(props.styles!, {\n theme: theme!,\n rootIsLarge,\n rootIsTabs,\n });\n }\n}\n\nfunction _isPivotItem(item: React.ReactNode): item is PivotItem {\n // In theory, we should be able to just check item.type === PivotItem.\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 ((item as React.ReactElement).type as React.ComponentType).name === PivotItem.name\n );\n}\n","import { IPivotStyleProps, IPivotStyles } from './Pivot.types';\nimport {\n AnimationVariables,\n getGlobalClassNames,\n HighContrastSelector,\n IStyle,\n normalize,\n FontWeights,\n} from '../../Styling';\nimport { IsFocusVisibleClassName } from '../../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};\n\nconst linkStyles = (props: IPivotStyleProps): IStyle[] => {\n const { rootIsLarge, rootIsTabs } = props;\n const { semanticColors, fonts } = props.theme;\n return [\n fonts.medium,\n {\n color: semanticColors.actionLink,\n display: 'inline-block',\n lineHeight: 44,\n height: 44,\n marginRight: 8,\n padding: '0 8px',\n textAlign: 'center',\n position: 'relative',\n backgroundColor: 'transparent',\n border: 0,\n borderRadius: 0,\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 ':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 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 selectors: {\n ':focus': {\n outlineOffset: '-1px',\n },\n [`.${IsFocusVisibleClassName} &:focus::before`]: {\n height: 'auto',\n background: 'transparent',\n transition: 'none',\n },\n },\n },\n ],\n ];\n};\n\nexport const getStyles = (props: IPivotStyleProps): IPivotStyles => {\n const { className, rootIsLarge, rootIsTabs, theme } = props;\n const { semanticColors, fonts } = theme;\n\n const classNames = getGlobalClassNames(globalClassNames, theme);\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 link: [\n classNames.link,\n ...linkStyles(props),\n rootIsTabs && {\n selectors: {\n '&:hover, &:focus': {\n color: semanticColors.buttonTextCheckedHovered,\n },\n '&:active, &:hover': {\n color: semanticColors.primaryButtonText,\n backgroundColor: semanticColors.primaryButtonBackground,\n },\n },\n },\n ],\n linkIsSelected: [\n classNames.link,\n classNames.linkIsSelected,\n ...linkStyles(props),\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 rootIsTabs && {\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: 'auto',\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 MsHighContrastAdjust: 'none',\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 '../../Styling';\nimport { IRefObject, IStyleFunctionOrObject } from '../../Utilities';\n\n/**\n * {@docCategory Rating}\n */\nexport interface IRating {}\n\n/**\n * Rating component props.\n * {@docCategory Rating}\n */\nexport interface IRatingProps extends React.AllHTMLAttributes {\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 * Selected rating, has to be an integer between min and max\n */\n rating?: number;\n\n /**\n * Minimum rating, defaults to 1, has to be \\>= 0\n * @deprecated No longer used.\n */\n min?: number;\n\n /**\n * Maximum rating, defaults to 5, has to be \\>= min\n */\n max?: number;\n\n /**\n * Allow the rating value to be set to 0 instead of a minimum of 1.\n */\n allowZeroStars?: boolean;\n\n /**\n * Custom icon\n * @defaultvalue FavoriteStarFill\n */\n icon?: string;\n\n /**\n * Custom icon for unselected rating elements.\n * @defaultvalue FavoriteStar\n */\n unselectedIcon?: string;\n\n /**\n * Size of rating, defaults to small\n */\n size?: RatingSize;\n\n /**\n * Callback issued when the rating changes.\n */\n onChange?: (event: React.FocusEvent, rating?: number) => void;\n\n /**\n * @deprecated Use `onChange` instead.\n */\n onChanged?: (rating: number) => void;\n\n /**\n * Optional label format for a rating star that will be read by screen readers.\n * Can be used like \"\\{0\\} of \\{1\\} stars selected\",\n * where \\{0\\} will be substituted by the current rating and \\{1\\} will be substituted by the max rating.\n * @defaultvalue empty string.\n */\n ariaLabelFormat?: string;\n\n /**\n * Deprecated: Optional id of label describing this instance of Rating.\n * @deprecated Use `getAriaLabel` instead.\n */\n ariaLabelId?: 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.\n */\n getAriaLabel?: (rating: number, max: number) => 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 * as React from 'react';\nimport { styled } from '../../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 { classNamesFunction } from '../../Utilities';\nimport {\n IProgressIndicatorProps,\n IProgressIndicatorStyleProps,\n IProgressIndicatorStyles,\n} from './ProgressIndicator.types';\n\nconst getClassNames = classNamesFunction();\n\n// if the percentComplete is near 0, don't animate it.\n// This prevents animations on reset to 0 scenarios\nconst ZERO_THRESHOLD = 0.01;\n\n/**\n * ProgressIndicator with no default styles.\n * [Use the `styles` API to add your own styles.](https://github.com/microsoft/fluentui/wiki/Styling)\n */\nexport class ProgressIndicatorBase extends React.Component {\n public static defaultProps = {\n label: '',\n description: '',\n width: 180,\n };\n\n public render() {\n const {\n barHeight,\n className,\n // tslint:disable-next-line:deprecation\n label = this.props.title, // Fall back to deprecated value.\n description,\n styles,\n theme,\n progressHidden,\n onRenderProgress = this._onRenderProgress,\n } = this.props;\n\n const percentComplete =\n typeof this.props.percentComplete === 'number'\n ? Math.min(100, Math.max(0, this.props.percentComplete * 100))\n : undefined;\n\n const classNames = getClassNames(styles, {\n theme: theme!,\n className,\n barHeight,\n indeterminate: percentComplete === undefined ? true : false,\n });\n\n return (\n
    \n {label ?
    {label}
    : null}\n {!progressHidden\n ? onRenderProgress(\n {\n ...(this.props as IProgressIndicatorProps),\n percentComplete: percentComplete,\n },\n this._onRenderProgress,\n )\n : null}\n {description ?
    {description}
    : null}\n
    \n );\n }\n\n private _onRenderProgress = (props: IProgressIndicatorProps): JSX.Element => {\n const { ariaValueText, barHeight, className, styles, theme } = this.props;\n\n const percentComplete =\n typeof this.props.percentComplete === 'number'\n ? Math.min(100, Math.max(0, this.props.percentComplete * 100))\n : undefined;\n\n const classNames = getClassNames(styles, {\n theme: theme!,\n className,\n barHeight,\n indeterminate: percentComplete === undefined ? true : false,\n });\n\n const progressBarStyles = {\n width: percentComplete !== undefined ? percentComplete + '%' : undefined,\n transition: percentComplete !== undefined && percentComplete < ZERO_THRESHOLD ? 'none' : undefined,\n };\n\n const ariaValueMin = percentComplete !== undefined ? 0 : undefined;\n const ariaValueMax = percentComplete !== undefined ? 100 : undefined;\n const ariaValueNow = percentComplete !== undefined ? Math.floor(percentComplete!) : undefined;\n\n return (\n
    \n
    \n \n
    \n );\n };\n}\n","import { HighContrastSelector, keyframes, noWrap, getGlobalClassNames, IRawStyle } from '../../Styling';\nimport { getRTL, memoizeFunction } from '../../Utilities';\nimport { IProgressIndicatorStyleProps, IProgressIndicatorStyles } from './ProgressIndicator.types';\n\nconst GlobalClassNames = {\n root: 'ms-ProgressIndicator',\n itemName: 'ms-ProgressIndicator-itemName',\n itemDescription: 'ms-ProgressIndicator-itemDescription',\n itemProgress: 'ms-ProgressIndicator-itemProgress',\n progressTrack: 'ms-ProgressIndicator-progressTrack',\n progressBar: 'ms-ProgressIndicator-progressBar',\n};\n\nconst IndeterminateProgress = memoizeFunction(() =>\n keyframes({\n '0%': {\n left: '-30%',\n },\n '100%': {\n left: '100%',\n },\n }),\n);\n\nconst IndeterminateProgressRTL = memoizeFunction(() =>\n keyframes({\n '100%': {\n right: '-30%',\n },\n '0%': {\n right: '100%',\n },\n }),\n);\n\nexport const getStyles = (props: IProgressIndicatorStyleProps): IProgressIndicatorStyles => {\n const isRTL = getRTL(props.theme);\n const { className, indeterminate, theme, barHeight = 2 } = props;\n\n const { palette, semanticColors, fonts } = theme;\n const classNames = getGlobalClassNames(GlobalClassNames, theme);\n\n const marginBetweenText = 8;\n const textHeight = 18;\n const progressTrackColor = palette.neutralLight;\n\n return {\n root: [classNames.root, fonts.medium, className],\n\n itemName: [\n classNames.itemName,\n noWrap,\n {\n color: semanticColors.bodyText,\n paddingTop: marginBetweenText / 2,\n lineHeight: textHeight + 2,\n },\n ],\n\n itemDescription: [\n classNames.itemDescription,\n {\n color: semanticColors.bodySubtext,\n fontSize: fonts.small.fontSize,\n lineHeight: textHeight,\n },\n ],\n\n itemProgress: [\n classNames.itemProgress,\n {\n position: 'relative',\n overflow: 'hidden',\n height: barHeight,\n padding: `${marginBetweenText}px 0`,\n },\n ],\n\n progressTrack: [\n classNames.progressTrack,\n {\n position: 'absolute',\n width: '100%',\n height: barHeight,\n backgroundColor: progressTrackColor,\n\n selectors: {\n [HighContrastSelector]: {\n borderBottom: '1px solid WindowText',\n },\n },\n },\n ],\n\n progressBar: [\n {\n backgroundColor: palette.themePrimary,\n height: barHeight,\n position: 'absolute',\n transition: 'width .3s ease',\n width: 0,\n\n selectors: {\n [HighContrastSelector]: {\n backgroundColor: 'highlight',\n },\n },\n },\n\n indeterminate\n ? ({\n position: 'absolute',\n minWidth: '33%',\n background:\n `linear-gradient(to right, ${progressTrackColor} 0%, ` +\n `${palette.themePrimary} 50%, ${progressTrackColor} 100%)`,\n animation: `${isRTL ? IndeterminateProgressRTL() : IndeterminateProgress()} 3s infinite`,\n selectors: {\n [HighContrastSelector]: {\n background: `highlight`,\n },\n },\n } as IRawStyle)\n : ({\n transition: 'width .15s linear',\n } as IRawStyle),\n classNames.progressBar,\n ],\n };\n};\n","import * as React from 'react';\nimport { styled } from '../../Utilities';\nimport {\n IProgressIndicatorProps,\n IProgressIndicatorStyleProps,\n IProgressIndicatorStyles,\n} from './ProgressIndicator.types';\nimport { ProgressIndicatorBase } from './ProgressIndicator.base';\nimport { getStyles } from './ProgressIndicator.styles';\n\n/**\n * ProgressIndicator description\n */\nexport const ProgressIndicator: React.FunctionComponent = styled<\n IProgressIndicatorProps,\n IProgressIndicatorStyleProps,\n IProgressIndicatorStyles\n>(ProgressIndicatorBase, getStyles, undefined, { scope: 'ProgressIndicator' });\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 {\n warnDeprecations,\n initializeComponentRef,\n classNamesFunction,\n css,\n format,\n getId,\n divProperties,\n getNativeProps,\n} from '../../Utilities';\nimport { IProcessedStyleSet } from '../../Styling';\nimport { Icon } from '../../Icon';\nimport { FocusZone, FocusZoneDirection, IFocusZoneProps } from '../../FocusZone';\nimport { IRatingProps, RatingSize, IRatingStyleProps, IRatingStyles } from './Rating.types';\n\nconst getClassNames = classNamesFunction();\n\ninterface IRatingStarProps extends React.AllHTMLAttributes {\n fillPercentage: number;\n disabled?: boolean;\n readOnly?: boolean;\n classNames: IProcessedStyleSet;\n icon?: string;\n}\n\nexport interface IRatingState {\n rating: number | null | undefined;\n}\n\nconst RatingStar = (props: IRatingStarProps) => {\n const icon = props.icon || 'FavoriteStarFill';\n return (\n
    \n \n {!props.disabled && (\n \n )}\n
    \n );\n};\n\nexport class RatingBase extends React.Component {\n public static defaultProps: IRatingProps = {\n min: 1,\n max: 5,\n };\n private _id: string;\n private _min: number;\n private _labelId: string;\n private _classNames: IProcessedStyleSet;\n\n constructor(props: IRatingProps) {\n super(props);\n\n initializeComponentRef(this);\n\n warnDeprecations('Rating', props, { onChanged: 'onChange' });\n\n this._id = getId('Rating');\n this._min = this.props.allowZeroStars ? 0 : 1;\n // tslint:disable:deprecation\n if (this.props.min !== undefined && this.props.min !== 1) {\n this._min = this.props.min;\n }\n // tslint:enable:deprecation\n this._labelId = getId('RatingLabel');\n\n this.state = {\n rating: this._getInitialValue(props),\n };\n }\n\n public render(): JSX.Element {\n const {\n disabled,\n getAriaLabel,\n styles,\n max,\n readOnly,\n size,\n theme,\n icon = 'FavoriteStarFill',\n unselectedIcon = 'FavoriteStar',\n } = this.props;\n\n const id = this._id;\n const stars = [];\n const starIds = [];\n const rating = this._getRating();\n const divProps = getNativeProps>(this.props, divProperties);\n\n this._classNames = getClassNames(styles!, {\n disabled,\n readOnly,\n theme: theme!,\n });\n\n for (let i = this._min as number; i <= (max as number); i++) {\n if (i !== 0) {\n const fillPercentage = this._getFillingPercentage(i);\n const ratingStarProps: IRatingStarProps = {\n fillPercentage,\n disabled,\n classNames: this._classNames,\n icon: fillPercentage > 0 ? icon : unselectedIcon,\n };\n\n starIds.push(this._getStarId(i - 1));\n\n stars.push(\n \n {this._getLabel(i)}\n \n ,\n );\n }\n }\n\n const ariaLabel = getAriaLabel ? getAriaLabel(rating ? rating : 0, max as number) : undefined;\n\n // When in read-only mode, we allow focus (per ARIA standards) and set up ARIA attributes to indicate element\n // is read-only. https://www.w3.org/TR/wai-aria-1.1/#aria-readonly\n const readOnlyProps: IFocusZoneProps | undefined = readOnly\n ? ({\n allowFocusRoot: true,\n disabled: true,\n 'aria-label': ariaLabel,\n 'aria-readonly': true,\n 'data-is-focusable': true,\n tabIndex: 0,\n } as IFocusZoneProps)\n : undefined;\n\n return (\n \n \n {stars}\n \n
    \n );\n }\n\n private _getStarId(index: number): string {\n return this._id + '-star-' + index;\n }\n\n private _onFocus(value: number, ev: React.FocusEvent): void {\n if (Math.ceil(this.state.rating!) !== value) {\n this.setState({\n rating: value,\n } as IRatingState);\n\n // tslint:disable-next-line:deprecation\n const { onChange, onChanged } = this.props;\n\n if (onChange) {\n onChange(ev, value);\n }\n\n if (onChanged) {\n onChanged(value);\n }\n }\n }\n\n private _getLabel(rating: number): JSX.Element {\n const text = this.props.ariaLabelFormat || '';\n\n return (\n \n {format(text, rating, this.props.max)}\n \n );\n }\n\n private _getInitialValue(props: IRatingProps): number | undefined {\n if (typeof props.rating === 'undefined') {\n return this._min;\n }\n\n if (props.rating === null) {\n return undefined;\n }\n\n return this._getClampedRating(props.rating);\n }\n\n private _getClampedRating(rating: number): number {\n return Math.min(Math.max(rating, this._min as number), this.props.max as number);\n }\n\n private _getRating(): number {\n if (this.props.rating !== undefined) {\n return this._getClampedRating(this.props.rating);\n }\n if (this.state.rating !== undefined && this.state.rating !== null) {\n return this._getClampedRating(this.state.rating);\n }\n return 0;\n }\n\n private _getFillingPercentage(starPosition: number): number {\n const rating = this._getRating();\n const ceilValue = Math.ceil(rating as number);\n let fillPercentage = 100;\n\n if (starPosition === rating) {\n fillPercentage = 100;\n } else if (starPosition === ceilValue) {\n fillPercentage = 100 * ((rating as number) % 1);\n } else if (starPosition > ceilValue) {\n fillPercentage = 0;\n }\n return fillPercentage;\n }\n}\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: 'auto',\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/**\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 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, 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 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 });\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 } from './SearchBox.types';\nimport {\n initializeComponentRef,\n warnDeprecations,\n getId,\n KeyCodes,\n classNamesFunction,\n getNativeProps,\n inputProperties,\n} from '../../Utilities';\n\nimport { IconButton } from '../../Button';\nimport { Icon } from '../../Icon';\n\nconst getClassNames = classNamesFunction();\nconst COMPONENT_NAME = 'SearchBox';\n\nexport interface ISearchBoxState {\n value?: string;\n hasFocus?: boolean;\n}\n\nexport class SearchBoxBase extends React.Component {\n public static defaultProps: Pick = {\n disableAnimation: false,\n clearButtonProps: { ariaLabel: 'Clear text' },\n };\n\n private _rootElement = React.createRef();\n private _inputElement = React.createRef();\n private _latestValue: string;\n private _fallbackId: string;\n\n public constructor(props: ISearchBoxProps) {\n super(props);\n\n initializeComponentRef(this);\n\n warnDeprecations(COMPONENT_NAME, props, {\n labelText: 'placeholder',\n defaultValue: 'value',\n });\n\n this._latestValue = props.value || '';\n this._fallbackId = getId(COMPONENT_NAME);\n\n this.state = {\n value: this._latestValue,\n hasFocus: false,\n };\n }\n\n // tslint:disable-next-line function-name\n public UNSAFE_componentWillReceiveProps(newProps: ISearchBoxProps): void {\n if (newProps.value !== undefined) {\n this._latestValue = newProps.value;\n // If the user passes in null, substitute an empty string\n // (passing null is not allowed per typings, but users might do it anyway)\n this.setState({\n value: newProps.value || '',\n });\n }\n }\n\n public render() {\n const {\n ariaLabel,\n placeholder,\n className,\n disabled,\n underlined,\n styles,\n // tslint:disable-next-line:deprecation\n labelText,\n theme,\n clearButtonProps,\n disableAnimation,\n iconProps,\n id = this._fallbackId,\n } = this.props;\n const { value, hasFocus } = this.state;\n const placeholderValue = placeholder !== undefined ? placeholder : labelText;\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 });\n\n const nativeProps = getNativeProps>(this.props, inputProperties, [\n 'className',\n 'placeholder',\n 'onFocus',\n 'onBlur',\n 'value',\n ]);\n\n return (\n
    \n
    \n \n
    \n \n {value!.length > 0 && (\n
    \n \n
    \n )}\n
    \n );\n }\n\n /**\n * Sets focus to the search box input field\n */\n public focus() {\n if (this._inputElement.current) {\n this._inputElement.current.focus();\n }\n }\n\n /**\n * Returns whether or not the SearchBox has focus\n */\n public hasFocus(): boolean {\n return !!this.state.hasFocus;\n }\n\n private _onClear(ev: React.MouseEvent | React.KeyboardEvent) {\n this.props.onClear && this.props.onClear(ev);\n if (!ev.defaultPrevented) {\n this._latestValue = '';\n this.setState({\n value: '',\n });\n this._callOnChange(undefined, '');\n ev.stopPropagation();\n ev.preventDefault();\n\n this.focus();\n }\n }\n\n private _onClickFocus = () => {\n const inputElement = this._inputElement.current;\n if (inputElement) {\n this.focus();\n inputElement.selectionStart = inputElement.selectionEnd = 0;\n }\n };\n\n private _onFocusCapture = (ev: React.FocusEvent) => {\n this.setState({\n hasFocus: true,\n });\n\n if (this.props.onFocus) {\n this.props.onFocus(ev as React.FocusEvent);\n }\n };\n\n private _onClearClick = (ev: React.MouseEvent) => {\n const { clearButtonProps } = this.props;\n\n if (clearButtonProps && clearButtonProps.onClick) {\n clearButtonProps.onClick(ev);\n }\n\n if (!ev.defaultPrevented) {\n this._onClear(ev);\n }\n };\n\n private _onKeyDown = (ev: React.KeyboardEvent) => {\n switch (ev.which) {\n case KeyCodes.escape:\n this.props.onEscape && this.props.onEscape(ev);\n if (!ev.defaultPrevented) {\n this._onClear(ev);\n }\n break;\n\n case KeyCodes.enter:\n if (this.props.onSearch) {\n this.props.onSearch(this.state.value);\n break;\n }\n // if we don't handle the enter press then we shouldn't prevent default\n return;\n\n default:\n this.props.onKeyDown && this.props.onKeyDown(ev);\n if (!ev.defaultPrevented) {\n return;\n }\n }\n\n // We only get here if the keypress has been handled,\n // or preventDefault was called in case of default keyDown handler\n ev.preventDefault();\n ev.stopPropagation();\n };\n\n private _onBlur = (ev: React.FocusEvent): void => {\n this.setState({\n hasFocus: false,\n });\n\n if (this.props.onBlur) {\n this.props.onBlur(ev);\n }\n };\n\n private _onInputChange = (ev: React.ChangeEvent) => {\n const value = ev.target.value;\n\n if (value === this._latestValue) {\n return;\n }\n this._latestValue = value;\n\n this.setState({ value });\n this._callOnChange(ev, value);\n };\n\n private _callOnChange(ev?: React.ChangeEvent, newValue?: string): void {\n // tslint:disable-next-line:deprecation\n const { onChange, onChanged } = this.props;\n\n // Call @deprecated method.\n if (onChanged) {\n onChanged(newValue);\n }\n\n if (onChange) {\n onChange(ev, newValue);\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 } = 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 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 ],\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 ],\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 implimented 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';\n\nexport interface IBaseSelectedItemsListState {\n // tslint:disable-next-line:no-any\n items: T[];\n}\n\nexport class BaseSelectedItemsList>\n extends React.Component>\n implements IBaseSelectedItemsList {\n protected root: HTMLElement;\n protected selection: Selection;\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.selection = this.props.selection\n ? (this.props.selection as Selection)\n : 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 // tslint:disable-next-line:no-any\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 // tslint:disable-next-line:no-any\n public removeItems = (itemsToRemove: any[]): void => {\n const { items } = this.state;\n const itemsCanRemove = itemsToRemove.filter((item: any) => this._canRemoveItem(item));\n // tslint:disable-next-line:no-any\n const newItems: T[] = items.filter((item: any) => 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 unselectAll(): void {\n this.selection.setAllSelected(false);\n }\n\n public highlightedItems(): T[] {\n return this.selection.getSelection() as T[];\n }\n\n // tslint:disable-next-line function-name\n public UNSAFE_componentWillUpdate(newProps: P, newState: IBaseSelectedItemsListState): void {\n if (newState.items && newState.items !== this.state.items) {\n this.selection.setItems(newState.items);\n }\n }\n\n public componentDidMount(): void {\n this.selection.setItems(this.state.items);\n }\n\n // tslint:disable-next-line function-name\n public UNSAFE_componentWillReceiveProps(newProps: P): void {\n const newItems = newProps.selectedItems;\n\n if (newItems) {\n this.setState({ items: newItems });\n }\n\n if (newProps.selection) {\n this.selection = newProps.selection;\n }\n }\n\n // tslint:disable-next-line:no-any\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 // tslint:disable-next-line:no-any\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 // tslint:disable-next-line:no-any\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","/* tslint:disable */\nimport { loadStyles } from '@microsoft/load-themed-styles';\nloadStyles([{\"rawString\":\".personaContainer_0374adf6{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_0374adf6::-moz-focus-inner{border:0}.personaContainer_0374adf6{outline:transparent}.personaContainer_0374adf6{position:relative}.ms-Fabric--isFocusVisible .personaContainer_0374adf6:focus:after{content:'';position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;pointer-events:none;border:1px solid \"},{\"theme\":\"focusBorder\",\"defaultValue\":\"#605e5c\"},{\"rawString\":\"}.personaContainer_0374adf6 .ms-Persona-primaryText{color:\"},{\"theme\":\"themeDark\",\"defaultValue\":\"#005a9e\"},{\"rawString\":\";font-size:14px;font-weight:400}.personaContainer_0374adf6 .ms-Persona-primaryText.hover_0374adf6{color:\"},{\"theme\":\"themeDark\",\"defaultValue\":\"#005a9e\"},{\"rawString\":\"}@media screen and (-ms-high-contrast: active){.personaContainer_0374adf6 .ms-Persona-primaryText{color:HighlightText}}.personaContainer_0374adf6 .actionButton_0374adf6:hover{background:\"},{\"theme\":\"themeLight\",\"defaultValue\":\"#c7e0f4\"},{\"rawString\":\"}.personaContainer_0374adf6 .actionButton_0374adf6 .ms-Button-icon{color:\"},{\"theme\":\"themeDark\",\"defaultValue\":\"#005a9e\"},{\"rawString\":\"}@media screen and (-ms-high-contrast: active){.personaContainer_0374adf6 .actionButton_0374adf6 .ms-Button-icon{color:HighlightText}}.personaContainer_0374adf6:hover{background:\"},{\"theme\":\"themeLighter\",\"defaultValue\":\"#deecf9\"},{\"rawString\":\"}.personaContainer_0374adf6:hover .ms-Persona-primaryText{color:\"},{\"theme\":\"themeDark\",\"defaultValue\":\"#005a9e\"},{\"rawString\":\";font-size:14px;font-weight:400}@media screen and (-ms-high-contrast: active){.personaContainer_0374adf6:hover .ms-Persona-primaryText{color:HighlightText}}.personaContainer_0374adf6.personaContainerIsSelected_0374adf6{background:\"},{\"theme\":\"themePrimary\",\"defaultValue\":\"#0078d4\"},{\"rawString\":\"}.personaContainer_0374adf6.personaContainerIsSelected_0374adf6 .ms-Persona-primaryText{color:\"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\"}@media screen and (-ms-high-contrast: active){.personaContainer_0374adf6.personaContainerIsSelected_0374adf6 .ms-Persona-primaryText{color:HighlightText}}.personaContainer_0374adf6.personaContainerIsSelected_0374adf6 .actionButton_0374adf6{color:\"},{\"theme\":\"white\",\"defaultValue\":\"#ffffff\"},{\"rawString\":\"}.personaContainer_0374adf6.personaContainerIsSelected_0374adf6 .actionButton_0374adf6 .ms-Button-icon{color:\"},{\"theme\":\"themeDark\",\"defaultValue\":\"#005a9e\"},{\"rawString\":\"}.personaContainer_0374adf6.personaContainerIsSelected_0374adf6 .actionButton_0374adf6 .ms-Button-icon:hover{background:\"},{\"theme\":\"themeDark\",\"defaultValue\":\"#005a9e\"},{\"rawString\":\"}@media screen and (-ms-high-contrast: active){.personaContainer_0374adf6.personaContainerIsSelected_0374adf6 .actionButton_0374adf6 .ms-Button-icon{color:HighlightText}}@media screen and (-ms-high-contrast: active){.personaContainer_0374adf6.personaContainerIsSelected_0374adf6{border-color:Highlight;background:Highlight;-ms-high-contrast-adjust:none}}.personaContainer_0374adf6.validationError_0374adf6 .ms-Persona-primaryText{color:\"},{\"theme\":\"red\",\"defaultValue\":\"#e81123\"},{\"rawString\":\"}.personaContainer_0374adf6.validationError_0374adf6 .ms-Persona-initials{font-size:20px}@media screen and (-ms-high-contrast: active){.personaContainer_0374adf6{border:1px solid WindowText}}.personaContainer_0374adf6 .itemContent_0374adf6{-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto;min-width:0px;max-width:100%}.personaContainer_0374adf6 .removeButton_0374adf6{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_0374adf6 .expandButton_0374adf6{border-radius:15px 0px 0px 15px;height:33px;width:44px;padding-right:16px;position:inherit;display:-webkit-box;display:-ms-flexbox;display:flex;margin-right:-17px}.personaContainer_0374adf6 .personaWrapper_0374adf6{position:relative;display:inherit}.personaContainer_0374adf6 .personaWrapper_0374adf6 .ms-Persona-details{padding:0px 8px}.personaContainer_0374adf6 .personaDetails_0374adf6{-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto}.itemContainer_0374adf6{display:inline-block;vertical-align:top}\\n\"}]);\nexport const personaContainer = \"personaContainer_0374adf6\";\nexport const hover = \"hover_0374adf6\";\nexport const actionButton = \"actionButton_0374adf6\";\nexport const personaContainerIsSelected = \"personaContainerIsSelected_0374adf6\";\nexport const validationError = \"validationError_0374adf6\";\nexport const itemContent = \"itemContent_0374adf6\";\nexport const removeButton = \"removeButton_0374adf6\";\nexport const expandButton = \"expandButton_0374adf6\";\nexport const personaWrapper = \"personaWrapper_0374adf6\";\nexport const personaDetails = \"personaDetails_0374adf6\";\nexport const itemContainer = \"itemContainer_0374adf6\";","import * as React from 'react';\nimport { IStyle, ITheme } from '../../Styling';\nimport { IRefObject, IStyleFunctionOrObject } from '../../Utilities';\n\n/**\n * {@docCategory Shimmer}\n */\nexport interface IShimmer {}\n\n/**\n * Shimmer component props.\n * {@docCategory Shimmer}\n */\nexport interface IShimmerProps extends React.AllHTMLAttributes {\n /**\n * Optional callback to access the IShimmer interface. Use this instead of ref for accessing\n * the public methods and properties of the component.\n */\n componentRef?: IRefObject;\n\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 { css, getId, initializeComponentRef } from '../../../../Utilities';\nimport { Persona, PersonaSize } from '../../../../Persona';\nimport { ISelectedPeopleItemProps } from '../SelectedPeopleList';\nimport { IconButton } from '../../../../Button';\nimport * as stylesImport from './ExtendedSelectedItem.scss';\n// tslint:disable-next-line:no-any\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 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 '@uifabric/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 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 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","/* tslint:disable */\nimport * as React from 'react';\n/* tslint:enable */\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 // tslint:disable-next-line:no-any\n public static defaultProps: any = {\n onRenderItem: (props: ISelectedPeopleItemProps) => ,\n };\n\n protected renderItems = (): JSX.Element[] => {\n const { items } = this.state;\n // tslint:disable-next-line:no-any\n return items.map((item: IExtendedPersonaProps, index: number) => this._renderItem(item, index));\n };\n\n // tslint:disable-next-line:no-any\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 // tslint:disable-next-line:no-any\n private _completeEditing = (oldItem: any, newItem: any): void => {\n oldItem.isEditing = false;\n this.replaceItem(oldItem, newItem);\n };\n\n // tslint:disable-next-line:no-any\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 * as React from 'react';\nimport { classNamesFunction } from '../../Utilities';\nimport { ISeparatorProps, ISeparatorStyles, ISeparatorStyleProps } from './Separator.types';\n\nconst getClassNames = classNamesFunction();\n\nexport const SeparatorBase: React.FunctionComponent = (props: ISeparatorProps): JSX.Element => {\n const { styles, theme, className, vertical, alignContent } = props;\n\n const _classNames = getClassNames(styles!, {\n theme: theme!,\n className,\n alignContent: alignContent,\n vertical: vertical,\n });\n\n return (\n
    \n
    \n {props.children}\n
    \n
    \n );\n};\n","import * as React from 'react';\nimport { styled } from '../../Utilities';\nimport { ISeparatorProps, ISeparatorStyleProps, ISeparatorStyles } from './Separator.types';\nimport { getStyles } from './Separator.styles';\nimport { SeparatorBase } from './Separator.base';\n\nexport const Separator: React.FunctionComponent = styled<\n ISeparatorProps,\n ISeparatorStyleProps,\n ISeparatorStyles\n>(SeparatorBase, getStyles, undefined, {\n scope: 'Separator',\n});\n","import { ISeparatorStyleProps, ISeparatorStyles } from './Separator.types';\n\nexport const getStyles = (props: ISeparatorStyleProps): ISeparatorStyles => {\n const { theme, alignContent, vertical, className } = props;\n\n const alignStart = alignContent === 'start';\n const alignCenter = alignContent === 'center';\n const alignEnd = alignContent === 'end';\n\n return {\n root: [\n theme.fonts.medium,\n {\n position: 'relative',\n },\n alignContent && {\n textAlign: alignContent,\n },\n !alignContent && {\n textAlign: 'center',\n },\n vertical &&\n (alignCenter || !alignContent) && {\n verticalAlign: 'middle',\n },\n vertical &&\n alignStart && {\n verticalAlign: 'top',\n },\n vertical &&\n alignEnd && {\n verticalAlign: 'bottom',\n },\n vertical && {\n padding: '0 4px',\n height: 'inherit',\n display: 'table-cell',\n zIndex: 1,\n selectors: {\n ':after': {\n backgroundColor: theme.palette.neutralLighter,\n width: '1px',\n content: '\"\"',\n position: 'absolute',\n top: '0',\n bottom: '0',\n left: '50%',\n right: '0',\n zIndex: -1,\n },\n },\n },\n !vertical && {\n padding: '4px 0',\n selectors: {\n ':before': {\n backgroundColor: theme.palette.neutralLighter,\n height: '1px',\n content: '\"\"',\n display: 'block',\n position: 'absolute',\n top: '50%',\n bottom: '0',\n left: '0',\n right: '0',\n },\n },\n },\n className,\n ],\n content: [\n {\n position: 'relative',\n display: 'inline-block',\n padding: '0 12px',\n color: theme.semanticColors.bodyText,\n background: theme.semanticColors.bodyBackground,\n },\n vertical && {\n padding: '12px 0',\n },\n ],\n };\n};\n","import { IShimmerStyleProps, IShimmerStyles } from './Shimmer.types';\nimport { keyframes, getGlobalClassNames, hiddenContentStyle, HighContrastSelector } 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 },\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 // tslint:disable-next-line: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 // tslint:disable-next-line:deprecation\n const { height, borderStyle, theme } = props;\n\n const { semanticColors } = theme;\n const globalClassNames = getGlobalClassNames(GlobalClassNames, theme);\n\n const borderStyles: IRawStyle = !!borderStyle ? 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 // tslint:disable-next-line: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 // tslint:disable-next-line:deprecation\n const { height, borderStyle, theme } = props;\n\n const { semanticColors } = theme;\n const globalClassNames = getGlobalClassNames(GlobalClassNames, theme);\n\n const borderStyles: IRawStyle = !!borderStyle ? 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 // tslint:disable-next-line:deprecation\n const { height, borderStyle, theme } = props;\n\n const { semanticColors } = theme;\n const globalClassNames = getGlobalClassNames(GlobalClassNames, theme);\n\n const borderStyles: IRawStyle = !!borderStyle ? 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 // tslint:disable-next-line: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 (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 case ShimmerElementType.line:\n if (!element.height) {\n element.height = ShimmerElementsDefaultHeights.line;\n }\n case ShimmerElementType.gap:\n if (!element.height) {\n element.height = ShimmerElementsDefaultHeights.gap;\n }\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 { IconButton } from '../../Button';\nimport { Label } from '../../Label';\nimport { Icon } from '../../Icon';\nimport {\n initializeComponentRef,\n warnMutuallyExclusive,\n Async,\n getId,\n KeyCodes,\n customizable,\n calculatePrecision,\n precisionRound,\n mergeAriaAttributeValues,\n getNativeProps,\n divProperties,\n} from '../../Utilities';\nimport { ISpinButton, ISpinButtonProps } from './SpinButton.types';\nimport { Position } from '../../utilities/positioning';\nimport { getStyles, getArrowButtonStyles } from './SpinButton.styles';\nimport { getClassNames } from './SpinButton.classNames';\nimport { KeytipData } from '../../KeytipData';\n\nexport enum KeyboardSpinDirection {\n down = -1,\n notSpinning = 0,\n up = 1,\n}\n\nexport interface ISpinButtonState {\n /**\n * Is true when the control has focus.\n */\n isFocused: boolean;\n\n /**\n * the value of the spin button\n */\n value: string;\n\n /**\n * keyboard spin direction, used to style the up or down button\n * as active when up/down arrow is pressed\n */\n keyboardSpinDirection: KeyboardSpinDirection;\n}\n\n// TODO (Fabric Next): remove default min/max values (issue #11358).\nexport type DefaultProps = Required<\n Pick<\n ISpinButtonProps,\n 'step' | 'min' | 'max' | 'disabled' | 'labelPosition' | 'label' | 'incrementButtonIcon' | 'decrementButtonIcon'\n >\n>;\n\n/** Internal only props */\ntype ISpinButtonInternalProps = ISpinButtonProps & DefaultProps;\n\n@customizable('SpinButton', ['theme', 'styles'], true)\nexport class SpinButton extends React.Component implements ISpinButton {\n public static defaultProps: DefaultProps = {\n step: 1,\n min: 0,\n max: 100,\n disabled: false,\n labelPosition: Position.start,\n label: '',\n incrementButtonIcon: { iconName: 'ChevronUpSmall' },\n decrementButtonIcon: { iconName: 'ChevronDownSmall' },\n };\n\n private _async: Async;\n private _input = React.createRef();\n private _inputId: string;\n private _labelId: string;\n private _lastValidValue: string;\n private _spinningByMouse: boolean;\n private _valueToValidate: string | undefined; // To avoid duplicate validations/submissions\n private _precision: number;\n\n private _currentStepFunctionHandle: number;\n private _initialStepDelay = 400;\n private _stepDelay = 75;\n\n constructor(props: ISpinButtonProps) {\n super(props);\n\n initializeComponentRef(this);\n\n warnMutuallyExclusive('SpinButton', props, {\n value: 'defaultValue',\n });\n\n const value = props.value || props.defaultValue || String(props.min) || '0';\n this._lastValidValue = value;\n\n // Ensure that the autocalculated precision is not negative.\n this._precision = this._calculatePrecision(this.props as ISpinButtonInternalProps);\n\n this.state = {\n isFocused: false,\n value: value,\n keyboardSpinDirection: KeyboardSpinDirection.notSpinning,\n };\n\n this._async = new Async(this);\n this._currentStepFunctionHandle = -1;\n this._labelId = getId('Label');\n this._inputId = getId('input');\n this._spinningByMouse = false;\n this._valueToValidate = undefined;\n }\n\n public componentWillUnmount(): void {\n this._async.dispose();\n }\n\n /**\n * Invoked when a component is receiving new props. This method is not called for the initial render.\n */\n // tslint:disable-next-line function-name\n public UNSAFE_componentWillReceiveProps(newProps: ISpinButtonProps): void {\n this._lastValidValue = this.state.value;\n let value: string = newProps.value !== undefined ? newProps.value : String(newProps.min);\n if (newProps.defaultValue) {\n value = String(Math.max(newProps.min as number, Math.min(newProps.max as number, Number(newProps.defaultValue))));\n }\n\n if (newProps.value !== undefined) {\n this.setState({\n value: value,\n });\n }\n this._precision = this._calculatePrecision(newProps as ISpinButtonProps & DefaultProps);\n }\n\n public render(): JSX.Element {\n const {\n disabled,\n label,\n min,\n max,\n labelPosition,\n iconProps,\n incrementButtonIcon,\n incrementButtonAriaLabel,\n decrementButtonIcon,\n decrementButtonAriaLabel,\n ariaLabel,\n ariaDescribedBy,\n styles: customStyles,\n upArrowButtonStyles: customUpArrowButtonStyles,\n downArrowButtonStyles: customDownArrowButtonStyles,\n theme,\n ariaPositionInSet,\n ariaSetSize,\n ariaValueNow,\n ariaValueText,\n keytipProps,\n className,\n inputProps,\n iconButtonProps,\n } = this.props as ISpinButtonInternalProps;\n\n const { isFocused, value, keyboardSpinDirection } = this.state;\n\n const classNames = this.props.getClassNames\n ? this.props.getClassNames(theme!, disabled, isFocused, keyboardSpinDirection, labelPosition, className)\n : getClassNames(\n getStyles(theme!, customStyles),\n disabled,\n isFocused,\n keyboardSpinDirection,\n labelPosition,\n className,\n );\n\n const nativeProps = getNativeProps>(this.props, divProperties, [\n 'onBlur',\n 'onFocus',\n 'className',\n ]);\n\n return (\n
    \n {labelPosition !== Position.bottom && (iconProps || label) && (\n
    \n {iconProps && }\n {label && (\n \n )}\n
    \n )}\n \n {(keytipAttributes: any): JSX.Element => (\n \n \n \n \n \n \n
    \n )}\n \n {labelPosition === Position.bottom && (iconProps || label) && (\n
    \n {iconProps && }\n {label && (\n \n )}\n
    \n )}\n \n );\n }\n\n public focus(): void {\n if (this._input.current) {\n this._input.current.focus();\n }\n }\n\n private _onFocus = (ev: React.FocusEvent): void => {\n // We can't set focus on a non-existing element\n if (!this._input.current) {\n return;\n }\n\n if (this._spinningByMouse || this.state.keyboardSpinDirection !== KeyboardSpinDirection.notSpinning) {\n this._stop();\n }\n\n this._input.current.select();\n\n this.setState({ isFocused: true });\n\n if (this.props.onFocus) {\n this.props.onFocus(ev);\n }\n };\n\n private _onBlur = (ev: React.FocusEvent): void => {\n this._validate(ev);\n this.setState({ isFocused: false });\n if (this.props.onBlur) {\n this.props.onBlur(ev);\n }\n };\n\n /**\n * Gets the value of the spin button.\n */\n public get value(): string | undefined {\n return this.props.value === undefined ? this.state.value : this.props.value;\n }\n\n private _onValidate = (value: string, event?: React.SyntheticEvent): string | void => {\n if (this.props.onValidate) {\n return this.props.onValidate(value, event);\n } else {\n return this._defaultOnValidate(value);\n }\n };\n\n private _calculatePrecision = (props: ISpinButtonProps & DefaultProps) => {\n const { precision = Math.max(calculatePrecision(props.step), 0) } = props;\n return precision;\n };\n\n /**\n * Validate function to use if one is not passed in\n */\n private _defaultOnValidate = (value: string) => {\n if (value === null || value.trim().length === 0 || isNaN(Number(value))) {\n return this._lastValidValue;\n }\n const newValue = Math.min(this.props.max as number, Math.max(this.props.min as number, Number(value)));\n return String(newValue);\n };\n\n private _onIncrement = (value: string): string | void => {\n if (this.props.onIncrement) {\n return this.props.onIncrement(value);\n } else {\n return this._defaultOnIncrement(value);\n }\n };\n\n /**\n * Increment function to use if one is not passed in\n */\n private _defaultOnIncrement = (value: string): string | void => {\n const { max, step } = this.props as ISpinButtonInternalProps;\n let newValue: number = Math.min(Number(value) + Number(step), max);\n newValue = precisionRound(newValue, this._precision);\n return String(newValue);\n };\n\n private _onDecrement = (value: string): string | void => {\n if (this.props.onDecrement) {\n return this.props.onDecrement(value);\n } else {\n return this._defaultOnDecrement(value);\n }\n };\n\n /**\n * Increment function to use if one is not passed in\n */\n private _defaultOnDecrement = (value: string): string | void => {\n const { min, step } = this.props as ISpinButtonInternalProps;\n let newValue: number = Math.max(Number(value) - Number(step), min);\n newValue = precisionRound(newValue, this._precision);\n return String(newValue);\n };\n\n private _onChange(): 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 /**\n * This is used when validating text entry\n * in the input (not when changed via the buttons)\n * @param event - the event that fired\n */\n private _validate = (event: React.FocusEvent | React.KeyboardEvent): void => {\n if (\n this.state.value !== undefined &&\n this._valueToValidate !== undefined &&\n this._valueToValidate !== this._lastValidValue\n ) {\n const newValue = this._onValidate!(this._valueToValidate, event);\n if (newValue) {\n this._lastValidValue = newValue;\n this._valueToValidate = undefined;\n this.setState({ value: newValue });\n }\n }\n };\n\n /**\n * The method is needed to ensure we are updating the actual input value.\n * without this our value will never change (and validation will not have the correct number)\n * @param event - the event that was fired\n */\n private _onInputChange = (event: React.FormEvent): void => {\n const element: HTMLInputElement = event.target as HTMLInputElement;\n const value: string = element.value;\n this._valueToValidate = value;\n this.setState({\n value: value,\n });\n };\n\n /**\n * Update the value with the given stepFunction\n * @param shouldSpin - should we fire off another updateValue when we are done here? This should be true\n * when spinning in response to a mouseDown\n * @param stepFunction - function to use to step by\n */\n private _updateValue = (\n shouldSpin: boolean,\n stepDelay: number,\n stepFunction: (value: string) => string | void,\n ): void => {\n const newValue: string | void = stepFunction(this.state.value);\n if (newValue) {\n this._lastValidValue = newValue;\n this.setState({ value: newValue });\n }\n\n if (this._spinningByMouse !== shouldSpin) {\n this._spinningByMouse = shouldSpin;\n }\n\n if (shouldSpin) {\n this._currentStepFunctionHandle = this._async.setTimeout(() => {\n this._updateValue(shouldSpin, this._stepDelay, stepFunction);\n }, stepDelay);\n }\n };\n\n /**\n * Stop spinning (clear any currently pending update and set spinning to false)\n */\n private _stop = (): void => {\n if (this._currentStepFunctionHandle >= 0) {\n this._async.clearTimeout(this._currentStepFunctionHandle);\n this._currentStepFunctionHandle = -1;\n }\n\n if (this._spinningByMouse || this.state.keyboardSpinDirection !== KeyboardSpinDirection.notSpinning) {\n this._spinningByMouse = false;\n this.setState({ keyboardSpinDirection: KeyboardSpinDirection.notSpinning });\n }\n };\n\n /**\n * Handle keydown on the text field. We need to update\n * the value when up or down arrow are depressed\n * @param event - the keyboardEvent that was fired\n */\n private _handleKeyDown = (event: 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 if (event.which === KeyCodes.up || event.which === KeyCodes.down || event.which === KeyCodes.enter) {\n event.preventDefault();\n event.stopPropagation();\n }\n\n if (this.props.disabled) {\n this._stop();\n return;\n }\n\n let spinDirection = KeyboardSpinDirection.notSpinning;\n\n switch (event.which) {\n case KeyCodes.up:\n spinDirection = KeyboardSpinDirection.up;\n this._updateValue(false /* shouldSpin */, this._initialStepDelay, this._onIncrement!);\n break;\n case KeyCodes.down:\n spinDirection = KeyboardSpinDirection.down;\n this._updateValue(false /* shouldSpin */, this._initialStepDelay, this._onDecrement!);\n break;\n case KeyCodes.enter:\n this._validate(event);\n break;\n case KeyCodes.escape:\n if (this.state.value !== this._lastValidValue) {\n this.setState({ value: this._lastValidValue });\n }\n break;\n default:\n break;\n }\n\n // style the increment/decrement button to look active\n // when the corresponding up/down arrow keys trigger a step\n if (this.state.keyboardSpinDirection !== spinDirection) {\n this.setState({ keyboardSpinDirection: spinDirection });\n }\n };\n\n /**\n * Make sure that we have stopped spinning on keyUp\n * if the up or down arrow fired this event\n * @param event - keyboard event\n */\n private _handleKeyUp = (event: React.KeyboardEvent): void => {\n if (this.props.disabled || event.which === KeyCodes.up || event.which === KeyCodes.down) {\n this._stop();\n return;\n }\n };\n\n private _onIncrementMouseDown = (): void => {\n this._updateValue(true /* shouldSpin */, this._initialStepDelay, this._onIncrement!);\n };\n\n private _onDecrementMouseDown = (): void => {\n this._updateValue(true /* shouldSpin */, this._initialStepDelay, this._onDecrement!);\n };\n}\n","import * as React from 'react';\nimport {\n classNamesFunction,\n DelayedRender,\n getNativeProps,\n divProperties,\n Async,\n initializeComponentRef,\n} from '../../Utilities';\nimport { IShimmerProps, IShimmerStyleProps, IShimmerStyles } from './Shimmer.types';\nimport { ShimmerElementsGroup } from './ShimmerElementsGroup/ShimmerElementsGroup';\n\nexport interface IShimmerState {\n /**\n * Flag for knowing when to remove the shimmerWrapper from the DOM.\n */\n contentLoaded?: boolean;\n}\n\nconst TRANSITION_ANIMATION_INTERVAL = 200; /* ms */\n\nconst getClassNames = classNamesFunction();\n\n/**\n * {@docCategory Shimmer}\n */\nexport class ShimmerBase extends React.Component {\n public static defaultProps: IShimmerProps = {\n isDataLoaded: false,\n };\n\n private _classNames: { [key in keyof IShimmerStyles]: string };\n private _lastTimeoutId: number;\n private _async: Async;\n\n constructor(props: IShimmerProps) {\n super(props);\n\n initializeComponentRef(this);\n\n this.state = {\n contentLoaded: props.isDataLoaded,\n };\n\n this._async = new Async(this);\n }\n\n public componentDidUpdate(prevProps: IShimmerProps): void {\n const { isDataLoaded } = this.props;\n\n if (isDataLoaded !== prevProps.isDataLoaded) {\n this._async.clearTimeout(this._lastTimeoutId);\n\n // Removing the shimmerWrapper div from the DOM only after the fade out animation completed.\n if (isDataLoaded) {\n this._lastTimeoutId = this._async.setTimeout(() => {\n this.setState({\n contentLoaded: isDataLoaded,\n });\n }, TRANSITION_ANIMATION_INTERVAL);\n } else {\n this.setState({\n contentLoaded: isDataLoaded,\n });\n }\n }\n }\n\n public componentWillUnmount(): void {\n this._async.dispose();\n }\n\n public render(): JSX.Element {\n const {\n styles,\n shimmerElements,\n children,\n isDataLoaded,\n width,\n className,\n customElementsGroup,\n theme,\n ariaLabel,\n shimmerColors,\n } = this.props;\n\n const { contentLoaded } = this.state;\n\n this._classNames = 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 divProps = getNativeProps>(this.props, divProperties);\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}\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 '../../utilities/selection/interfaces';\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.map((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 // tslint:disable-next-line:max-line-length\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 {\n KeyCodes,\n css,\n getId,\n getRTL,\n getRTLSafeKeyCode,\n warnMutuallyExclusive,\n initializeComponentRef,\n Async,\n on,\n FocusRects,\n} from '../../Utilities';\nimport { ISliderProps, ISlider, ISliderStyleProps, ISliderStyles } from './Slider.types';\nimport { classNamesFunction, getNativeProps, divProperties } from '../../Utilities';\nimport { Label } from '../../Label';\n\nexport interface ISliderState {\n value?: number;\n renderedValue?: number;\n}\n\nconst getClassNames = classNamesFunction();\nconst COMPONENT_NAME = 'SliderBase';\nexport const ONKEYDOWN_TIMEOUT_DURATION = 1000;\n\nexport class SliderBase extends React.Component implements ISlider {\n public static defaultProps: ISliderProps = {\n step: 1,\n min: 0,\n max: 10,\n showValue: true,\n disabled: false,\n vertical: false,\n buttonProps: {},\n originFromZero: false,\n };\n\n private _async: Async;\n private _disposables: (() => void)[] = [];\n private _sliderLine = React.createRef();\n private _thumb = React.createRef();\n private _id: string;\n private _onKeyDownTimer = -1;\n\n constructor(props: ISliderProps) {\n super(props);\n\n this._async = new Async(this);\n initializeComponentRef(this);\n\n warnMutuallyExclusive(COMPONENT_NAME, this.props, {\n value: 'defaultValue',\n });\n\n this._id = getId('Slider');\n\n const value =\n props.value !== undefined ? props.value : props.defaultValue !== undefined ? props.defaultValue : props.min;\n\n this.state = {\n value: value,\n renderedValue: undefined,\n };\n }\n\n public componentWillUnmount() {\n this._async.dispose();\n this._disposeListeners();\n }\n\n public render(): React.ReactElement<{}> {\n const {\n ariaLabel,\n className,\n disabled,\n label,\n max,\n min,\n showValue,\n buttonProps,\n vertical,\n valueFormat,\n styles,\n theme,\n originFromZero,\n } = this.props;\n const value = this.value;\n const renderedValue = this.renderedValue;\n const thumbOffsetPercent: number = min === max ? 0 : ((renderedValue! - min!) / (max! - min!)) * 100;\n const zeroOffsetPercent: number = min! >= 0 ? 0 : (-min! / (max! - min!)) * 100;\n const lengthString = vertical ? 'height' : 'width';\n const onMouseDownProp: {} = disabled ? {} : { onMouseDown: this._onMouseDownOrTouchStart };\n const onTouchStartProp: {} = disabled ? {} : { onTouchStart: this._onMouseDownOrTouchStart };\n const onKeyDownProp: {} = disabled ? {} : { onKeyDown: this._onKeyDown };\n const classNames = getClassNames(styles, {\n className,\n disabled,\n vertical,\n showTransitions: renderedValue === value,\n showValue,\n theme: theme!,\n });\n const divButtonProps = buttonProps\n ? getNativeProps>(buttonProps, divProperties)\n : undefined;\n\n return (\n
    \n {label && (\n \n )}\n
    \n \n
    \n {originFromZero && (\n \n )}\n \n {originFromZero ? (\n <>\n \n \n \n \n ) : (\n <>\n \n \n \n )}\n
    \n
    \n {showValue && (\n \n )}\n
    \n \n
    \n ) as React.ReactElement<{}>;\n }\n\n public focus(): void {\n if (this._thumb.current) {\n this._thumb.current.focus();\n }\n }\n\n public get value(): number | undefined {\n const { value = this.state.value } = this.props;\n if (this.props.min === undefined || this.props.max === undefined || value === undefined) {\n return undefined;\n } else {\n return Math.max(this.props.min, Math.min(this.props.max, value));\n }\n }\n\n private get renderedValue(): number | undefined {\n // renderedValue is expected to be defined while user is interacting with control, otherwise `undefined`.\n // Fall back to `value`.\n const { renderedValue = this.value } = this.state;\n return renderedValue;\n }\n\n private _getAriaValueText = (value: number | undefined): string | undefined => {\n const { ariaValueText } = this.props;\n if (value !== undefined) {\n return ariaValueText ? ariaValueText(value) : value.toString();\n }\n return undefined;\n };\n\n private _getStyleUsingOffsetPercent(vertical: boolean | undefined, thumbOffsetPercent: number): any {\n const direction: string = vertical ? 'bottom' : getRTL(this.props.theme) ? 'right' : 'left';\n return {\n [direction]: thumbOffsetPercent + '%',\n };\n }\n\n private _onMouseDownOrTouchStart = (event: MouseEvent | TouchEvent): void => {\n if (event.type === 'mousedown') {\n this._disposables.push(\n on(window, 'mousemove', this._onMouseMoveOrTouchMove, true),\n on(window, 'mouseup', this._onMouseUpOrTouchEnd, true),\n );\n } else if (event.type === 'touchstart') {\n this._disposables.push(\n on(window, 'touchmove', this._onMouseMoveOrTouchMove, true),\n on(window, 'touchend', this._onMouseUpOrTouchEnd, true),\n );\n }\n this._onMouseMoveOrTouchMove(event, true);\n };\n\n private _onMouseMoveOrTouchMove = (event: MouseEvent | TouchEvent, suppressEventCancelation?: boolean): void => {\n if (!this._sliderLine.current) {\n return;\n }\n\n const { max, min, step } = this.props;\n const steps: number = (max! - min!) / step!;\n const sliderPositionRect: ClientRect = this._sliderLine.current.getBoundingClientRect();\n const sliderLength: number = !this.props.vertical ? sliderPositionRect.width : sliderPositionRect.height;\n const stepLength: number = sliderLength / steps;\n let currentSteps: number | undefined;\n let distance: number | undefined;\n\n if (!this.props.vertical) {\n const left: number | undefined = this._getPosition(event, this.props.vertical);\n distance = getRTL(this.props.theme) ? sliderPositionRect.right - left! : left! - sliderPositionRect.left;\n currentSteps = distance / stepLength;\n } else {\n const bottom: number | undefined = this._getPosition(event, this.props.vertical);\n distance = sliderPositionRect.bottom - bottom!;\n currentSteps = distance / stepLength;\n }\n\n let currentValue: number | undefined;\n let renderedValue: number | undefined;\n\n // The value shouldn't be bigger than max or be smaller than min.\n if (currentSteps! > Math.floor(steps)) {\n renderedValue = currentValue = max as number;\n } else if (currentSteps! < 0) {\n renderedValue = currentValue = min as number;\n } else {\n renderedValue = min! + step! * currentSteps!;\n currentValue = min! + step! * Math.round(currentSteps!);\n }\n\n this._updateValue(currentValue, renderedValue);\n\n if (!suppressEventCancelation) {\n event.preventDefault();\n event.stopPropagation();\n }\n };\n\n private _getPosition(event: MouseEvent | TouchEvent, vertical: boolean | undefined): number | undefined {\n let currentPosition: number | undefined;\n switch (event.type) {\n case 'mousedown':\n case 'mousemove':\n currentPosition = !vertical ? (event as MouseEvent).clientX : (event as MouseEvent).clientY;\n break;\n case 'touchstart':\n case 'touchmove':\n currentPosition = !vertical\n ? (event as TouchEvent).touches[0].clientX\n : (event as TouchEvent).touches[0].clientY;\n break;\n }\n return currentPosition;\n }\n private _updateValue(value: number, renderedValue: number): void {\n const { step, snapToStep } = this.props;\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\n // Make sure value has correct number of decimal places based on number of decimals in step\n const roundedValue = parseFloat(value.toFixed(numDec));\n const valueChanged = roundedValue !== this.state.value;\n\n if (snapToStep) {\n renderedValue = roundedValue;\n }\n\n this.setState(\n {\n value: roundedValue,\n renderedValue,\n },\n () => {\n if (valueChanged && this.props.onChange) {\n this.props.onChange(this.state.value as number);\n }\n },\n );\n }\n\n private _onMouseUpOrTouchEnd = (event: MouseEvent | TouchEvent): void => {\n // Disable renderedValue override.\n this.setState({\n renderedValue: undefined,\n });\n\n if (this.props.onChanged) {\n this.props.onChanged(event, this.state.value as number);\n }\n\n this._disposeListeners();\n };\n\n private _disposeListeners = (): void => {\n this._disposables.forEach(dispose => dispose());\n this._disposables = [];\n };\n\n private _onKeyDown = (event: KeyboardEvent): void => {\n let value: number | undefined = this.state.value;\n const { max, min, step } = this.props;\n\n let diff: number | undefined = 0;\n\n // tslint:disable-next-line:deprecation\n switch (event.which) {\n case getRTLSafeKeyCode(KeyCodes.left, this.props.theme):\n case KeyCodes.down:\n diff = -(step as number);\n\n this._clearOnKeyDownTimer();\n this._setOnKeyDownTimer(event);\n\n break;\n case getRTLSafeKeyCode(KeyCodes.right, this.props.theme):\n case KeyCodes.up:\n diff = step;\n\n this._clearOnKeyDownTimer();\n this._setOnKeyDownTimer(event);\n\n break;\n\n case KeyCodes.home:\n value = min;\n break;\n\n case KeyCodes.end:\n value = max;\n break;\n\n default:\n return;\n }\n\n const newValue: number = Math.min(max as number, Math.max(min as number, value! + diff!));\n\n this._updateValue(newValue, newValue);\n\n event.preventDefault();\n event.stopPropagation();\n };\n\n private _clearOnKeyDownTimer = (): void => {\n this._async.clearTimeout(this._onKeyDownTimer);\n };\n\n private _setOnKeyDownTimer = (event: KeyboardEvent): void => {\n this._onKeyDownTimer = this._async.setTimeout(() => {\n if (this.props.onChanged) {\n this.props.onChanged(event, this.state.value as number);\n }\n }, ONKEYDOWN_TIMEOUT_DURATION);\n };\n}\n","import { ISliderStyleProps, ISliderStyles } from './Slider.types';\nimport { getGlobalClassNames, HighContrastSelector, AnimationVariables, getFocusStyle } from '../../Styling';\nimport { getRTL } from '@uifabric/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 } = 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 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 },\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 {\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 { styled } from '../../Utilities';\n\nimport { ISliderProps, ISliderStyleProps, ISliderStyles } from './Slider.types';\n\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 {\r\n IRawStyle,\r\n ITheme,\r\n concatStyleSets,\r\n HighContrastSelector,\r\n IconFontSizes,\r\n getInputFocusStyle,\r\n} from '../../Styling';\r\nimport { IButtonStyles } from '../../Button';\r\nimport { ISpinButtonStyles } from './SpinButton.types';\r\nimport { memoizeFunction } from '../../Utilities';\r\n\r\nconst ARROW_BUTTON_WIDTH = 23;\r\nconst ARROW_BUTTON_ICON_SIZE = 8;\r\nconst DEFAULT_HEIGHT = 32;\r\nconst DEFAULT_MIN_WIDTH = 86;\r\nconst LABEL_MARGIN = 10;\r\n\r\nconst _getDisabledStyles = memoizeFunction(\r\n (theme: ITheme): IRawStyle => {\r\n const { semanticColors } = theme;\r\n\r\n const SpinButtonTextColorDisabled = semanticColors.disabledText;\r\n const SpinButtonBackgroundColorDisabled = semanticColors.disabledBackground;\r\n\r\n return {\r\n backgroundColor: SpinButtonBackgroundColorDisabled,\r\n pointerEvents: 'none',\r\n cursor: 'default',\r\n color: SpinButtonTextColorDisabled,\r\n selectors: {\r\n ':after': {\r\n borderColor: SpinButtonBackgroundColorDisabled,\r\n },\r\n [HighContrastSelector]: {\r\n color: 'GrayText',\r\n },\r\n },\r\n };\r\n },\r\n);\r\n\r\nexport const getArrowButtonStyles = memoizeFunction(\r\n (theme: ITheme, isUpArrow: boolean, customSpecificArrowStyles?: Partial): IButtonStyles => {\r\n const { palette, semanticColors, effects } = theme;\r\n\r\n // TODO: after updating the semanticColor slots all this need to be reevaluated.\r\n const ArrowButtonTextColor = palette.neutralSecondary;\r\n const ArrowButtonTextColorHovered = semanticColors.buttonText;\r\n const ArrowButtonTextColorPressed = semanticColors.buttonText;\r\n\r\n const ArrowButtonBackgroundHovered = semanticColors.buttonBackgroundHovered;\r\n const ArrowButtonBackgroundPressed = semanticColors.buttonBackgroundPressed;\r\n\r\n const defaultArrowButtonStyles: IButtonStyles = {\r\n root: {\r\n outline: 'none',\r\n display: 'block',\r\n height: '50%',\r\n width: ARROW_BUTTON_WIDTH,\r\n padding: 0,\r\n backgroundColor: 'transparent',\r\n textAlign: 'center',\r\n cursor: 'default',\r\n color: ArrowButtonTextColor,\r\n selectors: {\r\n '&.ms-DownButton': {\r\n borderRadius: `0 0 ${effects.roundedCorner2} 0`,\r\n },\r\n '&.ms-UpButton': {\r\n borderRadius: `0 ${effects.roundedCorner2} 0 0`,\r\n },\r\n },\r\n },\r\n rootHovered: {\r\n backgroundColor: ArrowButtonBackgroundHovered,\r\n color: ArrowButtonTextColorHovered,\r\n },\r\n rootChecked: {\r\n backgroundColor: ArrowButtonBackgroundPressed,\r\n color: ArrowButtonTextColorPressed,\r\n selectors: {\r\n [HighContrastSelector]: {\r\n backgroundColor: 'Highlight',\r\n color: 'HighlightText',\r\n },\r\n },\r\n },\r\n rootPressed: {\r\n backgroundColor: ArrowButtonBackgroundPressed,\r\n color: ArrowButtonTextColorPressed,\r\n selectors: {\r\n [HighContrastSelector]: {\r\n backgroundColor: 'Highlight',\r\n color: 'HighlightText',\r\n },\r\n },\r\n },\r\n rootDisabled: {\r\n opacity: 0.5,\r\n selectors: {\r\n [HighContrastSelector]: {\r\n color: 'GrayText',\r\n opacity: 1,\r\n },\r\n },\r\n },\r\n icon: {\r\n fontSize: ARROW_BUTTON_ICON_SIZE,\r\n marginTop: 0,\r\n marginRight: 0,\r\n marginBottom: 0,\r\n marginLeft: 0,\r\n },\r\n };\r\n\r\n // No specific styles needed as of now.\r\n const defaultUpArrowButtonStyles: Partial = {};\r\n\r\n const defaultDownArrowButtonStyles: Partial = {};\r\n\r\n return concatStyleSets(\r\n defaultArrowButtonStyles,\r\n isUpArrow ? defaultUpArrowButtonStyles : defaultDownArrowButtonStyles,\r\n customSpecificArrowStyles,\r\n ) as IButtonStyles;\r\n },\r\n);\r\n\r\nexport const getStyles = memoizeFunction(\r\n (theme: ITheme, customStyles?: Partial): ISpinButtonStyles => {\r\n const { palette, semanticColors, effects, fonts } = theme;\r\n\r\n const SpinButtonRootBorderColor = semanticColors.inputBorder;\r\n const SpinButtonRootBackgroundColor = semanticColors.inputBackground;\r\n const SpinButtonRootBorderColorHovered = semanticColors.inputBorderHovered;\r\n const SpinButtonRootBorderColorFocused = semanticColors.inputFocusBorderAlt;\r\n\r\n const SpinButtonInputTextColor = semanticColors.inputText;\r\n const SpinButtonInputTextColorSelected = palette.white;\r\n const SpinButtonInputBackgroundColorSelected = semanticColors.inputBackgroundChecked;\r\n\r\n const SpinButtonIconDisabledColor = semanticColors.disabledText;\r\n\r\n const defaultStyles: ISpinButtonStyles = {\r\n root: {\r\n outline: 'none',\r\n fontSize: fonts.medium.fontSize,\r\n width: '100%',\r\n minWidth: DEFAULT_MIN_WIDTH,\r\n },\r\n labelWrapper: {\r\n display: 'inline-flex',\r\n alignItems: 'center',\r\n },\r\n labelWrapperStart: {\r\n height: DEFAULT_HEIGHT,\r\n float: 'left',\r\n marginRight: LABEL_MARGIN,\r\n },\r\n labelWrapperEnd: {\r\n height: DEFAULT_HEIGHT,\r\n float: 'right',\r\n marginLeft: LABEL_MARGIN,\r\n },\r\n labelWrapperTop: {\r\n // Due to the lineHeight set on the label (below), the height of the wrapper (contains icon+label)\r\n // ends up 1px taller than a standard label height, causing the vertical alignment to be off when\r\n // the SpinButton is displayed with the label on top next to other form fields.\r\n // Decrease the wrapper's effective height slightly to compensate.\r\n marginBottom: -1,\r\n },\r\n labelWrapperBottom: {},\r\n icon: {\r\n padding: '0 5px',\r\n fontSize: IconFontSizes.large,\r\n },\r\n iconDisabled: {\r\n color: SpinButtonIconDisabledColor,\r\n },\r\n label: {\r\n pointerEvents: 'none',\r\n // centering the label with the icon by forcing the exact same height as the icon.\r\n lineHeight: IconFontSizes.large,\r\n },\r\n labelDisabled: {},\r\n spinButtonWrapper: {\r\n display: 'flex',\r\n position: 'relative',\r\n boxSizing: 'border-box',\r\n height: DEFAULT_HEIGHT,\r\n minWidth: DEFAULT_MIN_WIDTH,\r\n selectors: {\r\n // setting border using pseudo-element here in order to prevent:\r\n // input and chevron buttons to overlap border under certain resolutions\r\n ':after': {\r\n pointerEvents: 'none',\r\n content: \"''\",\r\n position: 'absolute',\r\n left: 0,\r\n top: 0,\r\n bottom: 0,\r\n right: 0,\r\n borderWidth: '1px',\r\n borderStyle: 'solid',\r\n borderColor: SpinButtonRootBorderColor,\r\n borderRadius: effects.roundedCorner2,\r\n },\r\n },\r\n },\r\n spinButtonWrapperTopBottom: {\r\n width: '100%',\r\n },\r\n spinButtonWrapperHovered: {\r\n selectors: {\r\n ':after': {\r\n borderColor: SpinButtonRootBorderColorHovered,\r\n },\r\n [HighContrastSelector]: {\r\n selectors: {\r\n ':after': {\r\n borderColor: 'Highlight',\r\n },\r\n },\r\n },\r\n },\r\n },\r\n spinButtonWrapperFocused: getInputFocusStyle(SpinButtonRootBorderColorFocused, effects.roundedCorner2),\r\n spinButtonWrapperDisabled: _getDisabledStyles(theme),\r\n input: {\r\n boxSizing: 'border-box',\r\n boxShadow: 'none',\r\n borderStyle: 'none',\r\n flex: 1,\r\n margin: 0,\r\n fontSize: fonts.medium.fontSize,\r\n color: SpinButtonInputTextColor,\r\n backgroundColor: SpinButtonRootBackgroundColor,\r\n height: '100%',\r\n padding: '0 8px 0 9px',\r\n outline: 0,\r\n display: 'block',\r\n minWidth: DEFAULT_MIN_WIDTH - ARROW_BUTTON_WIDTH - 2,\r\n whiteSpace: 'nowrap',\r\n textOverflow: 'ellipsis',\r\n overflow: 'hidden',\r\n cursor: 'text',\r\n userSelect: 'text',\r\n borderRadius: `${effects.roundedCorner2} 0 0 ${effects.roundedCorner2}`,\r\n },\r\n inputTextSelected: {\r\n backgroundColor: SpinButtonInputBackgroundColorSelected,\r\n color: SpinButtonInputTextColorSelected,\r\n selectors: {\r\n [HighContrastSelector]: {\r\n backgroundColor: 'Highlight',\r\n borderColor: 'Highlight',\r\n color: 'HighlightText',\r\n },\r\n },\r\n },\r\n inputDisabled: _getDisabledStyles(theme),\r\n arrowButtonsContainer: {\r\n display: 'block',\r\n height: '100%',\r\n cursor: 'default',\r\n },\r\n arrowButtonsContainerDisabled: _getDisabledStyles(theme),\r\n };\r\n return concatStyleSets(defaultStyles, customStyles) as ISpinButtonStyles;\r\n },\r\n);\r\n","import { memoizeFunction } from '../../Utilities';\nimport { mergeStyles, IStyle } from '../../Styling';\nimport { ISpinButtonStyles } from './SpinButton.types';\nimport { KeyboardSpinDirection } from './SpinButton';\nimport { Position } from '../../utilities/positioning';\n\nexport interface ISpinButtonClassNames {\n root: string;\n labelWrapper: string;\n icon: string;\n label: string;\n spinButtonWrapper: string;\n input: string;\n arrowBox: string;\n}\n\nexport const getClassNames = memoizeFunction(\n (\n styles: ISpinButtonStyles,\n disabled: boolean,\n isFocused: boolean,\n keyboardSpinDirection: KeyboardSpinDirection,\n labelPosition: Position = Position.start,\n className: string | undefined = undefined,\n ): ISpinButtonClassNames => {\n return {\n root: mergeStyles(styles.root, className),\n labelWrapper: mergeStyles(styles.labelWrapper, _getStyleForLabelBasedOnPosition(labelPosition, styles)),\n icon: mergeStyles(styles.icon, disabled && styles.iconDisabled),\n label: mergeStyles(styles.label),\n spinButtonWrapper: mergeStyles(\n styles.spinButtonWrapper,\n _getStyleForRootBasedOnPosition(labelPosition, styles),\n !disabled && [\n {\n selectors: {\n ':hover': styles.spinButtonWrapperHovered,\n },\n },\n isFocused && {\n // This is to increase the specificity of the focus styles\n // and make it equal to that of the hover styles.\n selectors: {\n '&&': styles.spinButtonWrapperFocused,\n },\n },\n ],\n disabled && styles.spinButtonWrapperDisabled,\n ),\n input: mergeStyles(\n 'ms-spinButton-input',\n styles.input,\n !disabled && {\n selectors: {\n '::selection': styles.inputTextSelected,\n },\n },\n disabled && styles.inputDisabled,\n ),\n arrowBox: mergeStyles(styles.arrowButtonsContainer, disabled && styles.arrowButtonsContainerDisabled),\n };\n },\n);\n\n/**\n * Returns the Style corresponding to the label position\n */\nfunction _getStyleForLabelBasedOnPosition(labelPosition: Position, styles: ISpinButtonStyles): IStyle {\n switch (labelPosition) {\n case Position.start:\n return styles.labelWrapperStart;\n case Position.end:\n return styles.labelWrapperEnd;\n case Position.top:\n return styles.labelWrapperTop;\n case Position.bottom:\n return styles.labelWrapperBottom;\n }\n}\n\n/**\n * Returns the Style corresponding to the label position\n */\nfunction _getStyleForRootBasedOnPosition(labelPosition: Position, styles: ISpinButtonStyles): IStyle {\n switch (labelPosition) {\n case Position.top:\n case Position.bottom:\n return styles.spinButtonWrapperTopBottom;\n default:\n return {};\n }\n}\n","import { __assign } from 'tslib';\nexport const assign = __assign;\n","import * as React from 'react';\nimport { mergeCss } from '@uifabric/merge-styles';\nimport { IStyle, ITheme } from '@uifabric/styling';\nimport { getRTL, memoizeFunction } from '@uifabric/utilities';\nimport { assign } from './utilities';\nimport { IFactoryOptions } from './IComponent';\nimport {\n ISlottableReactType,\n ISlot,\n ISlots,\n ISlotDefinition,\n ISlotFactory,\n ISlotProp,\n ISlottableProps,\n ISlotOptions,\n IDefaultSlotProps,\n IProcessedSlotProps,\n ValidProps,\n ValidShorthand,\n} from './ISlots';\n\n/**\n * This function is required for any module that uses slots.\n *\n * This function is a slot resolver that automatically evaluates slot functions to generate React elements.\n * A byproduct of this resolver is that it removes slots from the React hierarchy by bypassing React.createElement.\n *\n * To use this function on a per-file basis, use the jsx directive targeting withSlots.\n * This directive must be the FIRST LINE in the file to work correctly.\n * Usage of this pragma also requires withSlots import statement.\n *\n * See React.createElement\n */\n// Can't use typeof on React.createElement since it's overloaded. Approximate createElement's signature for now\n// and widen as needed.\nexport function withSlots

    (\n type: ISlot

    | React.FunctionComponent

    | string,\n props?: (React.Attributes & P) | null,\n ...children: React.ReactNode[]\n): ReturnType> {\n const slotType = type as ISlot

    ;\n if (slotType.isSlot) {\n // TODO: There is something weird going on here with children embedded in props vs. rest args.\n // Comment out these lines to see. Make sure this function is doing the right things.\n const numChildren = React.Children.count(children);\n if (numChildren === 0) {\n return slotType(props);\n }\n\n // Since we are bypassing createElement, use React.Children.toArray to make sure children are\n // properly assigned keys.\n // TODO: should this be mutating? does React mutate children subprop with createElement?\n // TODO: will toArray clobber existing keys?\n // TODO: React generates warnings because it doesn't detect hidden member _store that is set in createElement.\n // Even children passed to createElement without keys don't generate this warning.\n // Is there a better way to prevent slots from appearing in hierarchy? toArray doesn't address root issue.\n children = React.Children.toArray(children);\n\n return slotType({ ...(props as any), children });\n } else {\n // TODO: Are there some cases where children should NOT be spread? Also, spreading reraises perf question.\n // Children had to be spread to avoid breaking KeytipData in Toggle.view:\n // react-dom.development.js:18931 Uncaught TypeError: children is not a function\n // Without spread, function child is a child array of one element\n // TODO: is there a reason this can't be:\n // return React.createElement.apply(this, arguments);\n return React.createElement(type, props, ...children);\n }\n}\n\n/**\n * This function creates factories that render ouput depending on the user ISlotProp props passed in.\n * @param DefaultComponent - Base component to render when not overridden by user props.\n * @param options - Factory options, including defaultProp value for shorthand prop mapping.\n * @returns ISlotFactory function used for rendering slots.\n */\nexport function createFactory(\n DefaultComponent: React.ComponentType,\n options: IFactoryOptions = {},\n): ISlotFactory {\n const { defaultProp = 'children' } = options;\n\n const result: ISlotFactory = (\n componentProps,\n userProps,\n userSlotOptions,\n defaultStyles,\n theme,\n ) => {\n // If they passed in raw JSX, just return that.\n if (React.isValidElement(userProps)) {\n return userProps;\n }\n\n const flattenedUserProps: TProps | undefined = _translateShorthand(defaultProp as string, userProps);\n const finalProps = _constructFinalProps(defaultStyles, theme, componentProps, flattenedUserProps);\n\n if (userSlotOptions) {\n if (userSlotOptions.component) {\n // TODO: Remove cast if possible. This cast is needed because TS errors on the intrinsic portion of ReactType.\n // return ;\n const UserComponent = userSlotOptions.component as React.ComponentType;\n return ;\n }\n\n if (userSlotOptions.render) {\n return userSlotOptions.render(finalProps, DefaultComponent);\n }\n }\n\n return ;\n };\n\n return result;\n}\n\n/**\n * Default factory for components without explicit factories.\n */\nconst defaultFactory = memoizeFunction(type => createFactory(type));\n\n/**\n * This function generates slots that can be used in JSX given a definition of slots and their corresponding types.\n * @param userProps - Props as pass to component.\n * @param slots - Slot definition object defining the default slot component for each slot.\n * @returns A set of created slots that components can render in JSX.\n */\nexport function getSlots, TComponentSlots>(\n userProps: TComponentProps,\n slots: ISlotDefinition>,\n): ISlots> {\n const result: ISlots> = {} as ISlots>;\n\n // userProps already has default props mixed in by createComponent. Recast here to gain typing for this function.\n const mixedProps = userProps as TComponentProps & IDefaultSlotProps;\n\n for (const name in slots) {\n if (slots.hasOwnProperty(name)) {\n // This closure method requires the use of withSlots to prevent unnecessary rerenders. This is because React\n // detects each closure as a different component (since it is a new instance) from the previous one and then\n // forces a rerender of the entire slot subtree. For now, the only way to avoid this is to use withSlots, which\n // bypasses the call to React.createElement.\n const slot: ISlots>[keyof TComponentSlots] = (componentProps, ...args: any[]) => {\n if (args.length > 0) {\n // If React.createElement is being incorrectly used with slots, there will be additional arguments.\n // We can detect these additional arguments and error on their presence.\n throw new Error('Any module using getSlots must use withSlots. Please see withSlots javadoc for more info.');\n }\n // TODO: having TS infer types here seems to cause infinite loop.\n // use explicit types or casting to preserve typing if possible.\n // TODO: this should be a lookup on TProps property instead of being TProps directly, which is probably\n // causing the infinite loop\n return _renderSlot(\n slots[name],\n // TODO: this cast to any is hiding a relationship issue between the first two args\n componentProps as any,\n mixedProps[name],\n mixedProps.slots && mixedProps.slots[name],\n // _defaultStyles should always be present, but a check for existence is added to make view tests\n // easier to use.\n mixedProps._defaultStyles && mixedProps._defaultStyles[name],\n (mixedProps as any).theme,\n );\n };\n slot.isSlot = true;\n result[name] = slot;\n }\n }\n\n return result;\n}\n\n/**\n * Helper function that translates shorthand as needed.\n * @param defaultProp\n * @param slotProps\n */\nfunction _translateShorthand(\n defaultProp: string,\n slotProps: ISlotProp,\n): TProps | undefined {\n let transformedProps: TProps | undefined;\n\n if (typeof slotProps === 'string' || typeof slotProps === 'number' || typeof slotProps === 'boolean') {\n transformedProps = {\n [defaultProp]: slotProps as any,\n } as TProps;\n } else {\n transformedProps = slotProps as TProps;\n }\n\n return transformedProps;\n}\n\n/**\n * Helper function that constructs final styles and props given a series of props ordered by increasing priority.\n */\nfunction _constructFinalProps(\n defaultStyles: IStyle,\n theme?: ITheme,\n ...allProps: (TProps | undefined)[]\n): TProps {\n const finalProps: TProps = {} as any;\n const classNames: (string | undefined)[] = [];\n\n for (const props of allProps) {\n classNames.push(props && props.className);\n assign(finalProps, props);\n }\n\n finalProps.className = mergeCss([defaultStyles, classNames], { rtl: getRTL(theme) });\n\n return finalProps;\n}\n\n/**\n * Render a slot given component and user props. Uses component factory if available, otherwise falls back\n * to default factory.\n * @param ComponentType Factory component type.\n * @param componentProps The properties passed into slot from within the component.\n * @param userProps The user properties passed in from outside of the component.\n */\nfunction _renderSlot<\n TSlotComponent extends ISlottableReactType,\n TSlotProps extends ValidProps,\n TSlotShorthand extends ValidShorthand\n>(\n ComponentType: TSlotComponent,\n componentProps: TSlotProps,\n userProps: ISlotProp,\n slotOptions: ISlotOptions | undefined,\n defaultStyles: IStyle,\n theme?: ITheme,\n): ReturnType {\n if (ComponentType.create !== undefined) {\n return ComponentType.create(componentProps, userProps, slotOptions, defaultStyles);\n } else {\n // TODO: need to resolve typing / generic issues passing through memoizeFunction. for now, cast to 'unknown'\n return ((defaultFactory(ComponentType) as unknown) as ISlotFactory)(\n componentProps,\n userProps,\n slotOptions,\n defaultStyles,\n theme,\n );\n }\n}\n","import * as React from 'react';\nimport { concatStyleSets, IStyleSet, ITheme } from '@uifabric/styling';\nimport { Customizations, CustomizerContext, ICustomizerContext } from '@uifabric/utilities';\nimport { createFactory } from './slots';\nimport { assign } from './utilities';\n\nimport {\n IComponentOptions,\n ICustomizationProps,\n IStyleableComponentProps,\n IStylesFunctionOrObject,\n IToken,\n ITokenFunction,\n IViewComponent,\n} from './IComponent';\nimport { IDefaultSlotProps, ISlotCreator, ValidProps } from './ISlots';\n\n/**\n * Assembles a higher order component based on the following: styles, theme, view, and state.\n * Imposes a separation of concern and centralizes styling processing to increase ease of use and robustness\n * in how components use and apply styling and theming.\n *\n * Automatically merges and applies themes and styles with theme / styleprops having the highest priority.\n * State component, if provided, is passed in props for processing. Props from state / user are automatically processed\n * and styled before finally being passed to view.\n *\n * State components should contain all stateful behavior and should not generate any JSX, but rather simply call\n * the view prop.\n *\n * Views should simply be stateless pure functions that receive all props needed for rendering their output.\n *\n * State component is optional. If state is not provided, created component is essentially a functional\n * stateless component.\n *\n * @param options - component Component options. See IComponentOptions for more detail.\n */\nexport function createComponent<\n TComponentProps extends ValidProps,\n TTokens,\n TStyleSet extends IStyleSet,\n TViewProps extends TComponentProps = TComponentProps,\n TStatics = {}\n>(\n view: IViewComponent,\n options: IComponentOptions = {},\n): React.FunctionComponent & TStatics {\n const { factoryOptions = {} } = options;\n const { defaultProp } = factoryOptions;\n\n const ResultComponent: React.FunctionComponent = (\n componentProps: TComponentProps & IStyleableComponentProps,\n ) => {\n const settings: ICustomizationProps = _getCustomizations(\n options.displayName,\n React.useContext(CustomizerContext),\n options.fields,\n );\n\n const stateReducer = options.state;\n\n if (stateReducer) {\n // Don't assume state will return all props, so spread useState result over component props.\n componentProps = {\n ...componentProps,\n ...stateReducer(componentProps),\n };\n }\n\n const theme = componentProps.theme || settings.theme;\n\n const tokens = _resolveTokens(componentProps, theme, options.tokens, settings.tokens, componentProps.tokens);\n const styles = _resolveStyles(\n componentProps,\n theme,\n tokens,\n options.styles,\n settings.styles,\n componentProps.styles,\n );\n\n const viewProps = {\n ...componentProps,\n styles,\n tokens,\n _defaultStyles: styles,\n theme,\n } as TViewProps & IDefaultSlotProps;\n\n return view(viewProps);\n };\n\n ResultComponent.displayName = options.displayName || view.name;\n\n // If a shorthand prop is defined, create a factory for the component.\n // TODO: This shouldn't be a concern of createComponent.. factoryOptions should just be forwarded.\n // Need to weigh creating default factories on component creation vs. memoizing them on use in slots.tsx.\n if (defaultProp) {\n (ResultComponent as ISlotCreator).create = createFactory(ResultComponent, { defaultProp });\n }\n\n assign(ResultComponent, options.statics);\n\n // Later versions of TypeSript should allow us to merge objects in a type safe way and avoid this cast.\n return ResultComponent as React.FunctionComponent & TStatics;\n}\n\n/**\n * Resolve all styles functions with both props and tokens and flatten results along with all styles objects.\n */\nfunction _resolveStyles>(\n props: TProps,\n theme: ITheme,\n tokens: TTokens,\n ...allStyles: (IStylesFunctionOrObject | undefined)[]\n): ReturnType {\n return concatStyleSets(\n ...allStyles.map((styles: IStylesFunctionOrObject | undefined) =>\n typeof styles === 'function' ? styles(props, theme, tokens) : styles,\n ),\n );\n}\n\n/**\n * Resolve all tokens functions with props flatten results along with all tokens objects.\n */\nfunction _resolveTokens(\n props: TViewProps,\n theme: ITheme,\n ...allTokens: (IToken | false | null | undefined)[]\n): TTokens {\n const tokens = {};\n\n for (let currentTokens of allTokens) {\n if (currentTokens) {\n // TODO: why is this cast needed? TS seems to think there is a (TToken | Function) union from somewhere.\n currentTokens =\n typeof currentTokens === 'function'\n ? (currentTokens as ITokenFunction)(props, theme)\n : currentTokens;\n\n if (Array.isArray(currentTokens)) {\n currentTokens = _resolveTokens(props, theme, ...currentTokens);\n }\n\n assign(tokens, currentTokens);\n }\n }\n\n return tokens as TTokens;\n}\n\n/**\n * Helper function for calling Customizations.getSettings falling back to default fields.\n *\n * @param displayName Displayable name for component.\n * @param context React context passed to component containing contextual settings.\n * @param fields Optional list of properties to grab from global store and context.\n */\nfunction _getCustomizations>(\n displayName: string | undefined,\n context: ICustomizerContext,\n fields?: string[],\n): ICustomizationProps {\n // TODO: do we want field props? should fields be part of IComponent and used here?\n // TODO: should we centrally define DefaultFields? (not exported from styling)\n // TODO: tie this array to ICustomizationProps, such that each array element is keyof ICustomizationProps\n const DefaultFields = ['theme', 'styles', 'tokens'];\n return Customizations.getSettings(fields || DefaultFields, displayName, context.customizations);\n}\n","import { getGlobalClassNames } from '../../../Styling';\nimport { IStackItemComponent, IStackItemStyles, IStackItemStylesReturnType } from './StackItem.types';\n\nconst GlobalClassNames = {\n root: 'ms-StackItem',\n};\n\nconst alignMap: { [key: string]: string } = {\n start: 'flex-start',\n end: 'flex-end',\n};\n\nexport const StackItemStyles: IStackItemComponent['styles'] = (props, theme, tokens): IStackItemStylesReturnType => {\n const { grow, shrink, disableShrink, align, verticalFill, order, className } = props;\n\n const classNames = getGlobalClassNames(GlobalClassNames, theme);\n\n return {\n root: [\n theme.fonts.medium,\n classNames.root,\n {\n margin: tokens.margin,\n height: verticalFill ? '100%' : 'auto',\n width: 'auto',\n },\n grow && { flexGrow: grow === true ? 1 : grow },\n (disableShrink || (!grow && !shrink)) && {\n flexShrink: 0,\n },\n shrink &&\n !disableShrink && {\n flexShrink: 1,\n },\n align && {\n alignSelf: alignMap[align] || align,\n },\n order && {\n order: order,\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 IStackItemStyles;\n};\n","/** @jsx withSlots */\nimport * as React from 'react';\nimport { withSlots, createComponent, getSlots } from '../../../Foundation';\nimport { IStackItemComponent, IStackItemProps, IStackItemSlots } from './StackItem.types';\nimport { StackItemStyles as styles } from './StackItem.styles';\n\nconst StackItemView: IStackItemComponent['view'] = props => {\n const { children } = props;\n if (React.Children.count(children) < 1) {\n return null;\n }\n\n const Slots = getSlots(props, {\n root: 'div',\n });\n\n return {children};\n};\n\nexport const StackItem: React.FunctionComponent = createComponent(StackItemView, {\n displayName: 'StackItem',\n styles,\n});\n\nexport default StackItem;\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 // tslint:disable: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 // tslint:enable: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","/** @jsx withSlots */\nimport * as React from 'react';\nimport { withSlots, createComponent, getSlots } from '../../Foundation';\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 * as React from 'react';\nimport { IRefObject } from '../../Utilities';\nimport { Sticky } from './Sticky';\n\n// tslint:disable-next-line: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 PropTypes from 'prop-types';\nimport * 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 interface IStickyContext {\n scrollablePane: PropTypes.Requireable;\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 // tslint:disable-next-line:deprecation\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 // tslint:disable-next-line:deprecation\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 // tslint:disable-next-line:deprecation\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 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 } from '../../Styling';\nimport { classNamesFunction, memoizeFunction } from '../../Utilities';\nimport { getColorFromString } from '../../utilities/color/getColorFromString';\nimport { GridCell } from '../../utilities/grid/GridCell';\nimport { IGridCellProps } from '../../utilities/grid/GridCell.types';\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 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\nconst getClassNames = classNamesFunction();\n\nclass ColorCell extends GridCell> {}\n\nexport class ColorPickerGridCellBase extends React.PureComponent {\n public static defaultProps: Partial = {\n circle: true,\n disabled: false,\n selected: false,\n };\n\n private _classNames: { [key in keyof IColorPickerGridCellStyles]: string };\n\n public render(): JSX.Element {\n const {\n item,\n // tslint:disable-next-line:deprecation\n idPrefix = this.props.id,\n selected,\n disabled,\n styles,\n theme,\n circle,\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 } = this.props;\n\n this._classNames = getClassNames(styles!, {\n theme: theme!,\n disabled,\n selected,\n circle,\n isWhite: this._isWhiteCell(color),\n height,\n width,\n borderWidth,\n });\n\n return (\n \n );\n }\n\n /**\n * Render the core of a color cell\n * @returns - Element representing the core of the item\n */\n private _onRenderColorOption = (colorOption: IColorCellProps): JSX.Element => {\n // Build an SVG for the cell with the given shape and color properties\n return (\n \n {this.props.circle ? : }\n \n );\n };\n\n /**\n * Validate if the cell's color is white or not to apply whiteCell style\n * @param inputColor - The color of the current cell\n * @returns - Whether the cell's color is white or not.\n */\n private _isWhiteCell(inputColor: string | undefined): boolean {\n const color = getColorFromString(inputColor!);\n return color!.hex === 'ffffff';\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 },\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 {\n Async,\n classNamesFunction,\n findIndex,\n KeyCodes,\n getId,\n warnMutuallyExclusive,\n warnConditionallyRequiredProps,\n} from '../../Utilities';\nimport {\n ISwatchColorPickerProps,\n ISwatchColorPickerStyleProps,\n ISwatchColorPickerStyles,\n} from './SwatchColorPicker.types';\nimport { Grid } from '../../utilities/grid/Grid';\nimport { IColorCellProps } from './ColorPickerGridCell.types';\nimport { ColorPickerGridCell } from './ColorPickerGridCell';\nimport { memoizeFunction, warnDeprecations } from '@uifabric/utilities';\n\nexport interface ISwatchColorPickerState {\n selectedIndex?: number;\n}\n\nconst getClassNames = classNamesFunction();\n\nconst COMPONENT_NAME = 'SwatchColorPicker';\n\nexport class SwatchColorPickerBase extends React.Component {\n public static defaultProps = {\n cellShape: 'circle',\n disabled: false,\n shouldFocusCircularNavigate: true,\n cellMargin: 10,\n } as ISwatchColorPickerProps;\n\n private _id: string;\n private _cellFocused: boolean;\n\n private navigationIdleTimeoutId: number | undefined;\n private isNavigationIdle: boolean;\n private readonly navigationIdleDelay: number = 250 /* ms */;\n private async: Async;\n\n // Add an index to each color cells. Memoizes this so that color cells do not re-render on every update.\n private _getItemsWithIndex = memoizeFunction((items: IColorCellProps[]) => {\n return items.map((item, index) => {\n return { ...item, index: index };\n });\n });\n\n constructor(props: ISwatchColorPickerProps) {\n super(props);\n\n this._id = props.id || getId('swatchColorPicker');\n\n if (process.env.NODE_ENV !== 'production') {\n warnMutuallyExclusive(COMPONENT_NAME, props, {\n focusOnHover: 'onHover',\n });\n\n warnConditionallyRequiredProps(\n COMPONENT_NAME,\n props,\n ['focusOnHover'],\n 'mouseLeaveParentSelector',\n !!props.mouseLeaveParentSelector,\n );\n\n warnDeprecations(COMPONENT_NAME, props, {\n positionInSet: 'ariaPosInSet',\n setSize: 'ariaSetSize',\n });\n }\n\n this.isNavigationIdle = true;\n this.async = new Async(this);\n\n let selectedIndex: number | undefined;\n if (props.selectedId) {\n selectedIndex = this._getSelectedIndex(props.colorCells, props.selectedId);\n }\n\n this.state = {\n selectedIndex,\n };\n }\n\n // tslint:disable-next-line function-name\n public UNSAFE_componentWillReceiveProps(newProps: ISwatchColorPickerProps): void {\n if (newProps.selectedId !== undefined) {\n this.setState({\n selectedIndex: this._getSelectedIndex(newProps.colorCells, newProps.selectedId),\n });\n }\n }\n\n public componentWillUnmount() {\n if (this.props.onCellFocused && this._cellFocused) {\n this._cellFocused = false;\n this.props.onCellFocused();\n }\n this.async.dispose();\n }\n\n public render(): JSX.Element | null {\n const {\n colorCells,\n columnCount,\n // tslint:disable:deprecation\n ariaPosInSet = this.props.positionInSet,\n ariaSetSize = this.props.setSize,\n // tslint:enable:deprecation\n shouldFocusCircularNavigate,\n className,\n doNotContainWithinFocusZone,\n styles,\n cellMargin,\n } = this.props;\n\n const classNames = getClassNames(styles!, {\n theme: this.props.theme!,\n className,\n cellMargin,\n });\n\n if (colorCells.length < 1 || columnCount < 1) {\n return null;\n }\n return (\n \n );\n }\n\n /**\n * When the whole swatchColorPicker is blurred,\n * make sure to clear the pending focused stated\n */\n private _onSwatchColorPickerBlur = (): void => {\n if (this.props.onCellFocused) {\n this._cellFocused = false;\n this.props.onCellFocused();\n }\n };\n\n /**\n * Get the selected item's index\n * @param items - The items to search\n * @param selectedId - The selected item's id to find\n * @returns - The index of the selected item's id, -1 if there was no match\n */\n private _getSelectedIndex(items: IColorCellProps[], selectedId: string): number | undefined {\n const selectedIndex = findIndex(items, item => item.id === selectedId);\n return selectedIndex >= 0 ? selectedIndex : undefined;\n }\n\n /**\n * Render a color cell\n * @param item - The item to render\n * @returns - Element representing the item\n */\n private _renderOption = (item: IColorCellProps): JSX.Element => {\n const props = this.props;\n const id = this._id;\n\n return (\n \n );\n };\n\n /**\n * Callback passed to the GridCell that will manage triggering the onCellHovered callback for mouseEnter\n */\n private _onMouseEnter = (ev: React.MouseEvent): boolean => {\n if (!this.props.focusOnHover) {\n return !this.isNavigationIdle || !!this.props.disabled;\n }\n\n if (this.isNavigationIdle && !this.props.disabled) {\n ev.currentTarget.focus();\n }\n\n return true;\n };\n\n /**\n * Callback passed to the GridCell that will manage Hover/Focus updates\n */\n private _onMouseMove = (ev: React.MouseEvent): boolean => {\n if (!this.props.focusOnHover) {\n return !this.isNavigationIdle || !!this.props.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 (!this.isNavigationIdle || (document && targetElement === (document.activeElement as HTMLElement))) {\n if (this.isNavigationIdle && !(document && targetElement === (document.activeElement as HTMLElement))) {\n targetElement.focus();\n }\n\n return true;\n };\n\n /**\n * Callback passed to the GridCell that will manage Hover/Focus updates\n */\n private _onMouseLeave = (ev: React.MouseEvent): void => {\n const parentSelector = this.props.mouseLeaveParentSelector;\n\n if (!this.props.focusOnHover || !parentSelector || !this.isNavigationIdle || this.props.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\n /**\n * Callback to make sure we don't update the hovered element during mouse wheel\n */\n private _onWheel = (): void => {\n this.setNavigationTimeout();\n };\n\n /**\n * Callback that\n */\n private _onKeyDown = (ev: React.KeyboardEvent): void => {\n if (\n ev.which === KeyCodes.up ||\n ev.which === KeyCodes.down ||\n ev.which === KeyCodes.left ||\n ev.which === KeyCodes.right\n ) {\n this.setNavigationTimeout();\n }\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 private setNavigationTimeout = () => {\n if (!this.isNavigationIdle && this.navigationIdleTimeoutId !== undefined) {\n this.async.clearTimeout(this.navigationIdleTimeoutId);\n this.navigationIdleTimeoutId = undefined;\n } else {\n this.isNavigationIdle = false;\n }\n\n this.navigationIdleTimeoutId = this.async.setTimeout(() => {\n this.isNavigationIdle = true;\n }, this.navigationIdleDelay);\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 private _onGridCellHovered = (item?: IColorCellProps): void => {\n const { onCellHovered } = this.props;\n\n if (onCellHovered) {\n return item ? onCellHovered(item.id, item.color) : onCellHovered();\n }\n };\n\n /**\n * Callback passed to the GridCell class that will trigger the onCellFocus callback of the SwatchColorPicker\n */\n private _onGridCellFocused = (item?: IColorCellProps): void => {\n const { onCellFocused } = this.props;\n if (onCellFocused) {\n if (item) {\n this._cellFocused = true;\n return onCellFocused(item.id, item.color);\n } else {\n this._cellFocused = false;\n return onCellFocused();\n }\n }\n };\n\n /**\n * Handle the click on a cell\n * @param item - The cell that the click was fired against\n */\n private _onCellClick = (item: IColorCellProps): void => {\n if (this.props.disabled) {\n return;\n }\n\n const index = item.index as number;\n\n // If we have a valid index and it is not already\n // selected, select it\n if (index >= 0 && index !== this.state.selectedIndex) {\n if (this.props.onCellFocused && this._cellFocused) {\n this._cellFocused = false;\n this.props.onCellFocused();\n }\n\n if (this.props.onColorChanged) {\n this.props.onColorChanged(item.id, item.color);\n }\n\n // Update internal state only if the component is uncontrolled\n if (this.props.isControlled !== true) {\n this.setState({\n selectedIndex: index,\n });\n }\n }\n };\n}\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","import * as React from 'react';\nimport { initializeComponentRef, classNamesFunction, KeyCodes } from '../../Utilities';\nimport { ITeachingBubbleProps, ITeachingBubbleStyleProps, ITeachingBubbleStyles } from './TeachingBubble.types';\nimport { ITeachingBubbleState } from './TeachingBubble.base';\nimport { PrimaryButton, DefaultButton, IconButton } from '../../Button';\nimport { Image, ImageFit } from '../../Image';\nimport { Stack } from '../../Stack';\nimport { FocusTrapZone } from '../../FocusTrapZone';\n\nconst getClassNames = classNamesFunction();\n\nexport class TeachingBubbleContentBase extends React.Component {\n // Specify default props values\n public static defaultProps = {\n hasCondensedHeadline: false,\n imageProps: {\n imageFit: ImageFit.cover,\n width: 364,\n height: 130,\n },\n };\n\n public rootElement = React.createRef();\n\n constructor(props: ITeachingBubbleProps) {\n super(props);\n\n initializeComponentRef(this);\n this.state = {};\n }\n\n public componentDidMount(): void {\n if (this.props.onDismiss) {\n document.addEventListener('keydown', this._onKeyDown, false);\n }\n }\n\n public componentWillUnmount(): void {\n if (this.props.onDismiss) {\n document.removeEventListener('keydown', this._onKeyDown);\n }\n }\n\n public focus(): void {\n if (this.rootElement.current) {\n this.rootElement.current.focus();\n }\n }\n\n public render(): JSX.Element {\n const {\n children,\n illustrationImage,\n primaryButtonProps,\n secondaryButtonProps,\n headline,\n hasCondensedHeadline,\n // tslint:disable-next-line:deprecation\n hasCloseButton = this.props.hasCloseIcon,\n onDismiss,\n closeButtonAriaLabel,\n hasSmallHeadline,\n isWide,\n styles,\n theme,\n ariaDescribedBy,\n ariaLabelledBy,\n footerContent: customFooterContent,\n focusTrapZoneProps,\n } = this.props;\n\n let imageContent;\n let headerContent;\n let bodyContent;\n let footerContent;\n let closeButton;\n\n const classNames = getClassNames(styles, {\n theme: theme!,\n hasCondensedHeadline,\n hasSmallHeadline,\n hasCloseButton,\n hasHeadline: !!headline,\n isWide,\n primaryButtonClassName: primaryButtonProps ? primaryButtonProps.className : undefined,\n secondaryButtonClassName: secondaryButtonProps ? secondaryButtonProps.className : undefined,\n });\n\n if (illustrationImage && illustrationImage.src) {\n imageContent = (\n
    \n \n
    \n );\n }\n\n if (headline) {\n const HeaderWrapperAs = typeof headline === 'string' ? 'p' : 'div';\n\n headerContent = (\n
    \n \n {headline}\n \n
    \n );\n }\n\n if (children) {\n const BodyContentWrapperAs = typeof children === 'string' ? 'p' : 'div';\n\n bodyContent = (\n
    \n \n {children}\n \n
    \n );\n }\n\n if (primaryButtonProps || secondaryButtonProps || customFooterContent) {\n footerContent = (\n \n {{customFooterContent}}\n \n {secondaryButtonProps && }\n {primaryButtonProps && }\n \n \n );\n }\n\n if (hasCloseButton) {\n closeButton = (\n \n );\n }\n\n return (\n \n {imageContent}\n \n
    \n {headerContent}\n {bodyContent}\n {footerContent}\n {closeButton}\n
    \n
    \n \n );\n }\n\n private _onKeyDown = (e: any): void => {\n if (this.props.onDismiss) {\n if (e.which === KeyCodes.escape) {\n this.props.onDismiss();\n }\n }\n };\n}\n","import { ITeachingBubbleStyleProps, ITeachingBubbleStyles } from './TeachingBubble.types';\nimport { ICalloutContentStyleProps } from '../../Callout';\nimport {\n AnimationVariables,\n FontWeights,\n getGlobalClassNames,\n GlobalClassNames,\n IStyle,\n keyframes,\n} from '../../Styling';\nimport { memoizeFunction } from '../../Utilities';\n\nconst globalClassNames = {\n root: 'ms-TeachingBubble',\n body: 'ms-TeachingBubble-body',\n bodyContent: 'ms-TeachingBubble-bodycontent',\n closeButton: 'ms-TeachingBubble-closebutton',\n content: 'ms-TeachingBubble-content',\n footer: 'ms-TeachingBubble-footer',\n header: 'ms-TeachingBubble-header',\n headerIsCondensed: 'ms-TeachingBubble-header--condensed',\n headerIsSmall: 'ms-TeachingBubble-header--small',\n headerIsLarge: 'ms-TeachingBubble-header--large',\n headline: 'ms-TeachingBubble-headline',\n image: 'ms-TeachingBubble-image',\n primaryButton: 'ms-TeachingBubble-primaryButton',\n secondaryButton: 'ms-TeachingBubble-secondaryButton',\n subText: 'ms-TeachingBubble-subText',\n\n // TODO: Button global class name usage should be converted to a styles function once\n // Button supports JS styling, which means these button names can be removed.\n button: 'ms-Button',\n buttonLabel: 'ms-Button-label',\n};\n\nconst opacityFadeIn = memoizeFunction(() =>\n keyframes({\n '0%': {\n opacity: 0,\n animationTimingFunction: AnimationVariables.easeFunction1,\n transform: 'scale3d(.90,.90,.90)',\n },\n '100%': {\n opacity: 1,\n transform: 'scale3d(1,1,1)',\n },\n }),\n);\n\nconst rootStyle = (isWide?: boolean, calloutProps?: ICalloutContentStyleProps): IStyle[] => {\n const { calloutWidth, calloutMaxWidth } = calloutProps || {};\n\n return [\n {\n display: 'block',\n maxWidth: 364,\n border: 0,\n outline: 'transparent',\n width: calloutWidth || 'calc(100% + 1px)',\n animationName: `${opacityFadeIn()}`,\n animationDuration: '300ms',\n animationTimingFunction: 'linear',\n animationFillMode: 'both',\n },\n isWide && {\n maxWidth: calloutMaxWidth || 456,\n },\n ];\n};\n\nconst headerStyle = (\n classNames: Partial>,\n hasCondensedHeadline?: boolean,\n hasSmallHeadline?: boolean,\n): IStyle[] => {\n if (hasCondensedHeadline) {\n return [\n classNames.headerIsCondensed,\n {\n marginBottom: 14,\n },\n ];\n }\n\n return [\n hasSmallHeadline && classNames.headerIsSmall,\n !hasSmallHeadline && classNames.headerIsLarge,\n {\n selectors: {\n ':not(:last-child)': {\n marginBottom: 14,\n },\n },\n },\n ];\n};\n\nexport const getStyles = (props: ITeachingBubbleStyleProps): ITeachingBubbleStyles => {\n const {\n hasCondensedHeadline,\n hasSmallHeadline,\n hasCloseButton,\n hasHeadline,\n isWide,\n primaryButtonClassName,\n secondaryButtonClassName,\n theme,\n calloutProps = { className: undefined, theme },\n } = props;\n const hasLargeHeadline: boolean = !hasCondensedHeadline && !hasSmallHeadline;\n const { palette, semanticColors, fonts } = theme;\n const classNames = getGlobalClassNames(globalClassNames, theme);\n\n return {\n root: [classNames.root, fonts.medium, calloutProps.className],\n body: [\n classNames.body,\n hasCloseButton && !hasHeadline && { marginRight: 24 },\n {\n selectors: {\n ':not(:last-child)': {\n marginBottom: 20,\n },\n },\n },\n ],\n bodyContent: [\n classNames.bodyContent,\n {\n padding: '20px 24px 20px 24px',\n },\n ],\n closeButton: [\n classNames.closeButton,\n {\n position: 'absolute',\n right: 0,\n top: 0,\n margin: '15px 15px 0 0',\n borderRadius: 0,\n color: palette.white,\n fontSize: fonts.small.fontSize,\n selectors: {\n ':hover': {\n background: palette.themeDarkAlt,\n color: palette.white,\n },\n ':active': {\n background: palette.themeDark,\n color: palette.white,\n },\n ':focus': {\n border: `1px solid ${semanticColors.variantBorder}`,\n },\n },\n },\n ],\n content: [\n classNames.content,\n ...rootStyle(isWide),\n isWide && {\n display: 'flex',\n },\n ],\n footer: [\n classNames.footer,\n {\n display: 'flex',\n flex: 'auto',\n alignItems: 'center',\n color: palette.white,\n selectors: {\n // TODO: global class name usage should be converted to a styles function once Button supports JS styling\n [`.${classNames.button}:not(:first-child)`]: {\n marginLeft: 10,\n },\n },\n },\n ],\n header: [\n classNames.header,\n ...headerStyle(classNames, hasCondensedHeadline, hasSmallHeadline),\n hasCloseButton && { marginRight: 24 },\n (hasCondensedHeadline || hasSmallHeadline) && [\n fonts.medium,\n {\n fontWeight: FontWeights.semibold,\n },\n ],\n ],\n headline: [\n classNames.headline,\n {\n margin: 0,\n color: palette.white,\n fontWeight: FontWeights.semibold,\n },\n hasLargeHeadline && [\n {\n fontSize: fonts.xLarge.fontSize,\n },\n ],\n ],\n imageContent: [\n classNames.header,\n classNames.image,\n isWide && {\n display: 'flex',\n alignItems: 'center',\n maxWidth: 154,\n },\n ],\n primaryButton: [\n classNames.primaryButton,\n primaryButtonClassName,\n {\n backgroundColor: palette.white,\n borderColor: palette.white,\n color: palette.themePrimary,\n whiteSpace: 'nowrap',\n selectors: {\n // TODO: global class name usage should be converted to a styles function once Button supports JS styling\n [`.${classNames.buttonLabel}`]: fonts.medium,\n ':hover': {\n backgroundColor: palette.themeLighter,\n borderColor: palette.themeLighter,\n color: palette.themePrimary,\n },\n ':focus': {\n backgroundColor: palette.themeLighter,\n borderColor: palette.white,\n },\n ':active': {\n backgroundColor: palette.white,\n borderColor: palette.white,\n color: palette.themePrimary,\n },\n },\n },\n ],\n secondaryButton: [\n classNames.secondaryButton,\n secondaryButtonClassName,\n {\n backgroundColor: palette.themePrimary,\n borderColor: palette.white,\n whiteSpace: 'nowrap',\n selectors: {\n // TODO: global class name usage should be converted to a styles function once Button supports JS styling\n [`.${classNames.buttonLabel}`]: [\n fonts.medium,\n {\n color: palette.white,\n },\n ],\n '&:hover, &:focus': {\n backgroundColor: palette.themeDarkAlt,\n borderColor: palette.white,\n },\n ':active': {\n backgroundColor: palette.themePrimary,\n borderColor: palette.white,\n },\n },\n },\n ],\n subText: [\n classNames.subText,\n {\n margin: 0,\n fontSize: fonts.medium.fontSize,\n color: palette.white,\n fontWeight: FontWeights.regular,\n },\n ],\n subComponentStyles: {\n callout: {\n root: [...rootStyle(isWide, calloutProps), fonts.medium],\n beak: [\n {\n background: palette.themePrimary,\n },\n ],\n calloutMain: [\n {\n background: palette.themePrimary,\n },\n ],\n },\n },\n };\n};\n","import * as React from 'react';\nimport { styled } from '../../Utilities';\nimport { ITeachingBubbleProps, ITeachingBubbleStyleProps, ITeachingBubbleStyles } from './TeachingBubble.types';\nimport { TeachingBubbleContentBase } from './TeachingBubbleContent.base';\nimport { getStyles } from './TeachingBubble.styles';\n\nexport const TeachingBubbleContent: React.FunctionComponent = styled<\n ITeachingBubbleProps,\n ITeachingBubbleStyleProps,\n ITeachingBubbleStyles\n>(TeachingBubbleContentBase, getStyles, undefined, { scope: 'TeachingBubbleContent' });\n","import * as React from 'react';\nimport { initializeComponentRef, classNamesFunction } from '../../Utilities';\nimport { TeachingBubbleContent } from './TeachingBubbleContent';\nimport {\n ITeachingBubbleProps,\n ITeachingBubbleStyleProps,\n ITeachingBubbleStyles,\n ITeachingBubbleSubComponentStyles,\n} from './TeachingBubble.types';\nimport { Callout, ICalloutProps } from '../../Callout';\nimport { DirectionalHint } from '../../common/DirectionalHint';\n\nconst getClassNames = classNamesFunction();\n\nexport interface ITeachingBubbleState {\n isTeachingBubbleVisible?: boolean;\n}\n\nexport class TeachingBubbleBase extends React.Component {\n public static defaultProps = {\n /**\n * Default calloutProps is deprecated in favor of private `_defaultCalloutProps`.\n * Remove in next release.\n * @deprecated In favor of private `_defaultCalloutProps`.\n */\n calloutProps: {\n beakWidth: 16,\n gapSpace: 0,\n setInitialFocus: true,\n doNotLayer: false,\n directionalHint: DirectionalHint.rightCenter,\n },\n };\n\n public rootElement = React.createRef();\n private _defaultCalloutProps: ICalloutProps;\n\n // Constructor\n constructor(props: ITeachingBubbleProps) {\n super(props);\n\n initializeComponentRef(this);\n this.state = {};\n\n this._defaultCalloutProps = {\n beakWidth: 16,\n gapSpace: 0,\n setInitialFocus: true,\n doNotLayer: false,\n directionalHint: DirectionalHint.rightCenter,\n };\n }\n\n public focus(): void {\n if (this.rootElement.current) {\n this.rootElement.current.focus();\n }\n }\n\n public render(): JSX.Element {\n const {\n calloutProps: setCalloutProps,\n // tslint:disable-next-line:deprecation\n targetElement,\n onDismiss,\n // Default to deprecated value if provided.\n // tslint:disable-next-line:deprecation\n hasCloseButton = this.props.hasCloseIcon,\n isWide,\n styles,\n theme,\n target,\n } = this.props;\n const calloutProps = { ...this._defaultCalloutProps, ...setCalloutProps };\n const stylesProps: ITeachingBubbleStyleProps = {\n theme: theme!,\n isWide,\n calloutProps: { ...calloutProps, theme: calloutProps.theme! },\n hasCloseButton,\n };\n\n const classNames = getClassNames(styles, stylesProps);\n const calloutStyles = classNames.subComponentStyles\n ? (classNames.subComponentStyles as ITeachingBubbleSubComponentStyles).callout\n : undefined;\n\n return (\n \n
    \n \n
    \n \n );\n }\n}\n","import * as React from 'react';\nimport { styled } from '../../Utilities';\nimport { ITeachingBubbleProps, ITeachingBubbleStyleProps, ITeachingBubbleStyles } from './TeachingBubble.types';\nimport { TeachingBubbleBase } from './TeachingBubble.base';\nimport { getStyles } from './TeachingBubble.styles';\n\nexport const TeachingBubble: React.FunctionComponent = styled<\n ITeachingBubbleProps,\n ITeachingBubbleStyleProps,\n ITeachingBubbleStyles\n>(TeachingBubbleBase, getStyles, undefined, { scope: 'TeachingBubble' });\n","/** @jsx withSlots */\nimport * as React from 'react';\nimport { withSlots, getSlots } from '../../Foundation';\nimport { getNativeProps, htmlElementProperties } from '../../Utilities';\nimport { ITextComponent, ITextProps, ITextSlots } from './Text.types';\n\nexport const TextView: ITextComponent['view'] = props => {\n if (React.Children.count(props.children) === 0) {\n return null;\n }\n\n const { block, className, as: RootType = 'span', variant, nowrap, ...rest } = props;\n\n const Slots = getSlots(props, {\n root: RootType,\n });\n\n return ;\n};\n","import { ITextComponent, ITextStyles, ITextStylesReturnType, ITextProps } from './Text.types';\n\nimport { ITheme } from '../../Styling';\n\nexport const TextStyles: ITextComponent['styles'] = (props: ITextProps, theme: ITheme): ITextStylesReturnType => {\n const { as, className, block, nowrap, variant } = props;\n const { fonts } = theme;\n const variantObject = fonts[variant || 'medium'];\n\n return {\n root: [\n theme.fonts.medium,\n {\n display: block ? (as === 'td' ? 'table-cell' : 'block') : 'inline',\n fontFamily: variantObject.fontFamily,\n fontSize: variantObject.fontSize,\n fontWeight: variantObject.fontWeight,\n color: variantObject.color,\n mozOsxFontSmoothing: variantObject.MozOsxFontSmoothing,\n webkitFontSmoothing: variantObject.WebkitFontSmoothing,\n },\n nowrap && {\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n },\n className,\n ],\n } as ITextStyles;\n};\n","import * as React from 'react';\nimport { createComponent } from '../../Foundation';\nimport { ITextProps } from './Text.types';\nimport { TextView } from './Text.view';\nimport { TextStyles as styles } from './Text.styles';\n\nexport const Text: React.FunctionComponent = createComponent(TextView, {\n displayName: 'Text',\n styles,\n});\n\nexport default Text;\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 { ITextField, ITextFieldProps } from '../TextField.types';\nimport { initializeComponentRef, KeyCodes } from '../../../Utilities';\n\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';\n\n/**\n * State for the MaskedTextField component.\n */\nexport interface IMaskedTextFieldState {\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 displayValue: string;\n /** The index into the rendered value of the first unfilled format character */\n maskCursorPosition?: number;\n}\n\nexport const DEFAULT_MASK_CHAR = '_';\n\ntype InputChangeType = 'default' | 'backspace' | 'delete' | 'textPasted';\n\nexport class MaskedTextField extends React.Component implements ITextField {\n public static defaultProps: ITextFieldProps = {\n maskChar: DEFAULT_MASK_CHAR,\n maskFormat: DEFAULT_MASK_FORMAT_CHARS,\n };\n\n private _textField = React.createRef();\n\n /**\n * An array of data containing information regarding the format characters,\n * their indices inside the display text, and their corresponding values.\n * @example\n * ```\n * [\n * { value: '1', displayIndex: 16, format: /[0-9]/ },\n * { value: '2', displayIndex: 17, format: /[0-9]/ },\n * { displayIndex: 18, format: /[0-9]/ },\n * { value: '4', displayIndex: 22, format: /[0-9]/ },\n * ...\n * ]\n * ```\n */\n private _maskCharData: IMaskValue[];\n /** True if the TextField is focused */\n private _isFocused: boolean;\n /** True if the TextField was not focused and it was clicked into */\n private _moveCursorOnMouseUp: boolean;\n\n /** The stored selection data prior to input change events. */\n private _changeSelectionData: {\n changeType: InputChangeType;\n selectionStart: number;\n selectionEnd: number;\n } | null;\n\n constructor(props: ITextFieldProps) {\n super(props);\n\n initializeComponentRef(this);\n\n // Translate mask into charData\n this._maskCharData = parseMask(props.mask, props.maskFormat);\n // If an initial value is provided, use it to populate the format chars\n props.value !== undefined && this.setValue(props.value);\n\n this._isFocused = false;\n this._moveCursorOnMouseUp = false;\n\n this.state = {\n displayValue: getMaskDisplay(props.mask, this._maskCharData, props.maskChar),\n };\n }\n\n // tslint:disable-next-line function-name\n public UNSAFE_componentWillReceiveProps(newProps: ITextFieldProps) {\n if (newProps.mask !== this.props.mask || newProps.value !== this.props.value) {\n this._maskCharData = parseMask(newProps.mask, newProps.maskFormat);\n newProps.value !== undefined && this.setValue(newProps.value);\n\n this.setState({\n displayValue: getMaskDisplay(newProps.mask, this._maskCharData, newProps.maskChar),\n });\n }\n }\n\n public componentDidUpdate() {\n // Move the cursor to the start of the mask format on update\n if (this._isFocused && this.state.maskCursorPosition !== undefined && this._textField.current) {\n this._textField.current.setSelectionRange(this.state.maskCursorPosition, this.state.maskCursorPosition);\n }\n }\n\n public render() {\n return (\n \n );\n }\n\n /**\n * @returns The value of all filled format characters or undefined if not all format characters are filled\n */\n public get value(): string | undefined {\n let value = '';\n\n for (let i = 0; i < this._maskCharData.length; i++) {\n if (!this._maskCharData[i].value) {\n return undefined;\n }\n value += this._maskCharData[i].value;\n }\n return value;\n }\n\n public setValue(newValue: string): void {\n let valueIndex = 0,\n charDataIndex = 0;\n\n while (valueIndex < newValue.length && charDataIndex < this._maskCharData.length) {\n // Test if the next character in the new value fits the next format character\n const testVal = newValue[valueIndex];\n if (this._maskCharData[charDataIndex].format.test(testVal)) {\n this._maskCharData[charDataIndex].value = testVal;\n charDataIndex++;\n }\n valueIndex++;\n }\n }\n\n public focus(): void {\n const { current } = this._textField;\n\n current && current.focus();\n }\n\n public blur(): void {\n const { current } = this._textField;\n\n current && current.blur();\n }\n\n public select(): void {\n const { current } = this._textField;\n\n current && current.select();\n }\n\n public setSelectionStart(value: number): void {\n const { current } = this._textField;\n\n current && current.setSelectionStart(value);\n }\n\n public setSelectionEnd(value: number): void {\n const { current } = this._textField;\n\n current && current.setSelectionEnd(value);\n }\n\n public setSelectionRange(start: number, end: number): void {\n const { current } = this._textField;\n current && current.setSelectionRange(start, end);\n }\n\n public get selectionStart(): number | null {\n const { current } = this._textField;\n\n return current && current.selectionStart !== null ? current.selectionStart : -1;\n }\n\n public get selectionEnd(): number | null {\n const { current } = this._textField;\n\n return current && current.selectionEnd ? current.selectionEnd : -1;\n }\n\n private _onFocus = (event: React.FocusEvent) => {\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n\n this._isFocused = true;\n\n // Move the cursor position to the leftmost unfilled position\n for (let i = 0; i < this._maskCharData.length; i++) {\n if (!this._maskCharData[i].value) {\n this.setState({\n maskCursorPosition: this._maskCharData[i].displayIndex,\n });\n break;\n }\n }\n };\n\n private _onBlur = (event: React.FocusEvent) => {\n if (this.props.onBlur) {\n this.props.onBlur(event);\n }\n\n this._isFocused = false;\n this._moveCursorOnMouseUp = true;\n };\n\n private _onMouseDown = (event: React.MouseEvent) => {\n if (this.props.onMouseDown) {\n this.props.onMouseDown(event);\n }\n\n if (!this._isFocused) {\n this._moveCursorOnMouseUp = true;\n }\n };\n\n private _onMouseUp = (event: React.MouseEvent) => {\n if (this.props.onMouseUp) {\n this.props.onMouseUp(event);\n }\n\n // Move the cursor on mouseUp after focusing the textField\n if (this._moveCursorOnMouseUp) {\n this._moveCursorOnMouseUp = false;\n // Move the cursor position to the rightmost unfilled position\n for (let i = 0; i < this._maskCharData.length; i++) {\n if (!this._maskCharData[i].value) {\n this.setState({\n maskCursorPosition: this._maskCharData[i].displayIndex,\n });\n break;\n }\n }\n }\n };\n\n private _onInputChange = (ev: React.FormEvent, value: string) => {\n const textField = this._textField.current;\n if (this._changeSelectionData === null && textField) {\n this._changeSelectionData = {\n changeType: 'default',\n selectionStart: textField.selectionStart !== null ? textField.selectionStart : -1,\n selectionEnd: textField.selectionEnd !== null ? textField.selectionEnd : -1,\n };\n }\n if (!this._changeSelectionData) {\n return;\n }\n\n const { displayValue } = this.state;\n\n // The initial value of cursorPos does not matter\n let cursorPos = 0;\n const { changeType, selectionStart, selectionEnd } = this._changeSelectionData;\n\n if (changeType === 'textPasted') {\n const charsSelected = selectionEnd - selectionStart,\n charCount = value.length + charsSelected - displayValue.length,\n startPos = selectionStart,\n pastedString = value.substr(startPos, charCount);\n\n // Clear any selected characters\n if (charsSelected) {\n this._maskCharData = clearRange(this._maskCharData, selectionStart, charsSelected);\n }\n cursorPos = insertString(this._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 charCount = selectionEnd - selectionStart;\n\n if (charCount) {\n // charCount is > 0 if range was deleted\n this._maskCharData = clearRange(this._maskCharData, selectionStart, charCount);\n cursorPos = getRightFormatIndex(this._maskCharData, selectionStart);\n } else {\n // If charCount === 0, there was no selection and a single character was deleted\n if (isDel) {\n this._maskCharData = clearNext(this._maskCharData, selectionStart);\n cursorPos = getRightFormatIndex(this._maskCharData, selectionStart);\n } else {\n this._maskCharData = clearPrev(this._maskCharData, selectionStart);\n cursorPos = getLeftFormatIndex(this._maskCharData, selectionStart);\n }\n }\n } else if (value.length > displayValue.length) {\n // This case is if the user added characters\n const charCount = value.length - displayValue.length,\n startPos = selectionEnd - charCount,\n enteredString = value.substr(startPos, charCount);\n\n cursorPos = insertString(this._maskCharData, startPos, enteredString);\n } else if (value.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 selectCount = displayValue.length + charCount - value.length,\n startPos = selectionEnd - charCount,\n enteredString = value.substr(startPos, charCount);\n\n // Clear the selected range\n this._maskCharData = clearRange(this._maskCharData, startPos, selectCount);\n // Insert the printed character\n cursorPos = insertString(this._maskCharData, startPos, enteredString);\n }\n\n this._changeSelectionData = null;\n\n const newValue = getMaskDisplay(this.props.mask, this._maskCharData, this.props.maskChar);\n\n this.setState({\n displayValue: newValue,\n maskCursorPosition: cursorPos,\n });\n\n // Perform onChange after input has been processed. Return value is expected to be the displayed text\n if (this.props.onChange) {\n this.props.onChange(ev, newValue);\n }\n };\n\n private _onKeyDown = (event: React.KeyboardEvent) => {\n const { current } = this._textField;\n\n if (this.props.onKeyDown) {\n this.props.onKeyDown(event);\n }\n\n this._changeSelectionData = null;\n if (current && current.value) {\n const { keyCode, ctrlKey, metaKey } = event;\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 = (event.target as HTMLInputElement).selectionStart,\n selectionEnd = (event.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 < current.value.length)\n ) {\n return;\n }\n\n this._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\n private _onPaste = (event: React.ClipboardEvent) => {\n if (this.props.onPaste) {\n this.props.onPaste(event);\n }\n\n const selectionStart = (event.target as HTMLInputElement).selectionStart,\n selectionEnd = (event.target as HTMLInputElement).selectionEnd;\n // Store the paste selection range\n this._changeSelectionData = {\n changeType: 'textPasted',\n selectionStart: selectionStart !== null ? selectionStart : -1,\n selectionEnd: selectionEnd !== null ? selectionEnd : -1,\n };\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 void 0;\n });\n\n return void 0;\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 { 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 '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 '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 * as React from 'react';\nimport {\n initializeComponentRef,\n classNamesFunction,\n getId,\n inputProperties,\n getNativeProps,\n warnDeprecations,\n warnMutuallyExclusive,\n FocusRects,\n} from '../../Utilities';\nimport { IToggleProps, IToggle, IToggleStyleProps, IToggleStyles } from './Toggle.types';\nimport { Label } from '../../Label';\nimport { KeytipData } from '../../KeytipData';\n\nexport interface IToggleState {\n checked: boolean;\n}\n\nconst getClassNames = classNamesFunction();\nconst COMPONENT_NAME = 'Toggle';\n\nexport class ToggleBase extends React.Component implements IToggle {\n private _id: string;\n private _toggleButton = React.createRef();\n\n public static getDerivedStateFromProps(\n nextProps: Readonly,\n prevState: Readonly,\n ): Partial | null {\n if (nextProps.checked === undefined) {\n return null;\n }\n\n return {\n checked: !!nextProps.checked,\n };\n }\n\n constructor(props: IToggleProps) {\n super(props);\n\n initializeComponentRef(this);\n warnMutuallyExclusive(COMPONENT_NAME, props, {\n checked: 'defaultChecked',\n });\n\n warnDeprecations(COMPONENT_NAME, props, {\n onAriaLabel: 'ariaLabel',\n offAriaLabel: undefined,\n onChanged: 'onChange',\n });\n\n this.state = {\n checked: !!(props.checked || props.defaultChecked),\n };\n this._id = props.id || getId('Toggle');\n }\n\n /**\n * Gets the current checked state of the toggle.\n */\n public get checked(): boolean {\n return this.state.checked;\n }\n\n public render(): JSX.Element {\n const {\n as: RootType = 'div',\n className,\n theme,\n disabled,\n keytipProps,\n label,\n ariaLabel,\n // tslint:disable:deprecation\n onAriaLabel,\n offAriaLabel,\n // tslint:enable:deprecation\n offText,\n onText,\n styles,\n inlineLabel,\n } = this.props;\n const { checked } = this.state;\n const stateText = checked ? onText : offText;\n const badAriaLabel = checked ? onAriaLabel : offAriaLabel;\n const toggleNativeProps = getNativeProps(this.props, inputProperties, ['defaultChecked']);\n const classNames = getClassNames(styles!, {\n theme: theme!,\n className,\n disabled,\n checked,\n inlineLabel,\n onOffMissing: !onText && !offText,\n });\n\n const labelId = `${this._id}-label`;\n const stateTextId = `${this._id}-stateText`;\n\n // The following properties take priority for what Narrator should read:\n // 1. ariaLabel\n // 2. onAriaLabel (if checked) or offAriaLabel (if not checked)\n // 3. label\n // 4. onText (if checked) or offText (if not checked)\n let labelledById: string | undefined = undefined;\n if (!ariaLabel && !badAriaLabel) {\n if (label) {\n labelledById = labelId;\n } else if (stateText) {\n labelledById = stateTextId;\n }\n }\n\n const ariaRole = this.props.role ? this.props.role : 'switch';\n\n return (\n \n );\n }\n\n public focus() {\n if (this._toggleButton.current) {\n this._toggleButton.current.focus();\n }\n }\n\n private _onClick = (ev: React.MouseEvent) => {\n // tslint:disable-next-line:deprecation\n const { disabled, checked: checkedProp, onChange, onChanged, onClick } = this.props;\n const { checked } = this.state;\n\n if (!disabled) {\n // Only update the state if the user hasn't provided it.\n if (checkedProp === undefined) {\n this.setState({\n checked: !checked,\n });\n }\n\n if (onChange) {\n onChange(ev, !checked);\n }\n\n if (onChanged) {\n onChanged(!checked);\n }\n\n if (onClick) {\n onClick(ev);\n }\n }\n };\n\n private _noop(): void {\n /* no-op */\n }\n}\n","import * as React from 'react';\nimport { styled } from '../../Utilities';\nimport { ToggleBase } from './Toggle.base';\nimport { getStyles } from './Toggle.styles';\nimport { IToggleProps, IToggleStyleProps, IToggleStyles } from './Toggle.types';\n\nexport const Toggle: React.FunctionComponent = styled(\n ToggleBase,\n getStyles,\n undefined,\n { scope: 'Toggle' },\n);\n","import { HighContrastSelector, getFocusStyle, FontWeights } from '../../Styling';\nimport { IToggleStyleProps, IToggleStyles } from './Toggle.types';\n\nconst DEFAULT_PILL_WIDTH = 40;\nconst DEFAULT_PILL_HEIGHT = 20;\nconst DEFAULT_THUMB_SIZE = 12;\n\nexport const getStyles = (props: IToggleStyleProps): IToggleStyles => {\n const { theme, className, disabled, checked, inlineLabel, onOffMissing } = props;\n const { semanticColors, palette } = theme;\n\n // Tokens\n const pillUncheckedBackground = semanticColors.bodyBackground;\n const pillCheckedBackground = semanticColors.inputBackgroundChecked;\n // TODO: after updating the semanticColors slots mapping this needs to be semanticColors.inputBackgroundCheckedHovered\n const pillCheckedHoveredBackground = palette.themeDark;\n const thumbUncheckedHoveredBackground = palette.neutralDark;\n const pillCheckedDisabledBackground = semanticColors.disabledBodySubtext;\n const thumbBackground = semanticColors.smallInputBorder;\n const thumbCheckedBackground = semanticColors.inputForegroundChecked;\n const thumbDisabledBackground = semanticColors.disabledBodySubtext;\n const thumbCheckedDisabledBackground = semanticColors.disabledBackground;\n const pillBorderColor = semanticColors.smallInputBorder;\n const pillBorderHoveredColor = semanticColors.inputBorderHovered;\n const pillBorderDisabledColor = semanticColors.disabledBodySubtext;\n const textDisabledColor = semanticColors.disabledText;\n\n return {\n root: [\n 'ms-Toggle',\n checked && 'is-checked',\n !disabled && 'is-enabled',\n disabled && 'is-disabled',\n theme.fonts.medium,\n {\n marginBottom: '8px',\n },\n inlineLabel && {\n display: 'flex',\n alignItems: 'center',\n },\n className,\n ],\n\n label: [\n 'ms-Toggle-label',\n disabled && {\n color: textDisabledColor,\n selectors: {\n [HighContrastSelector]: {\n color: 'GrayText',\n },\n },\n },\n inlineLabel &&\n !onOffMissing && {\n marginRight: 16,\n },\n onOffMissing &&\n inlineLabel && {\n order: 1,\n marginLeft: 16,\n },\n inlineLabel && { wordBreak: 'break-all' },\n ],\n\n container: [\n 'ms-Toggle-innerContainer',\n {\n display: 'inline-flex',\n position: 'relative',\n },\n ],\n\n pill: [\n 'ms-Toggle-background',\n getFocusStyle(theme, { inset: -3 }),\n {\n fontSize: '20px',\n boxSizing: 'border-box',\n width: DEFAULT_PILL_WIDTH,\n height: DEFAULT_PILL_HEIGHT,\n borderRadius: DEFAULT_PILL_HEIGHT / 2,\n transition: 'all 0.1s ease',\n border: `1px solid ${pillBorderColor}`,\n background: pillUncheckedBackground,\n cursor: 'pointer',\n display: 'flex',\n alignItems: 'center',\n padding: '0 3px',\n },\n !disabled && [\n !checked && {\n selectors: {\n ':hover': [\n {\n borderColor: pillBorderHoveredColor,\n },\n ],\n ':hover .ms-Toggle-thumb': [\n {\n backgroundColor: thumbUncheckedHoveredBackground,\n selectors: {\n [HighContrastSelector]: {\n borderColor: 'Highlight',\n },\n },\n },\n ],\n },\n },\n checked && [\n {\n background: pillCheckedBackground,\n borderColor: 'transparent',\n justifyContent: 'flex-end',\n },\n {\n selectors: {\n ':hover': [\n {\n backgroundColor: pillCheckedHoveredBackground,\n borderColor: 'transparent',\n selectors: {\n [HighContrastSelector]: {\n backgroundColor: 'Highlight',\n },\n },\n },\n ],\n [HighContrastSelector]: {\n backgroundColor: 'WindowText',\n },\n },\n },\n ],\n ],\n disabled && [\n {\n cursor: 'default',\n },\n !checked && [\n {\n borderColor: pillBorderDisabledColor,\n },\n ],\n checked && [\n {\n backgroundColor: pillCheckedDisabledBackground,\n borderColor: 'transparent',\n justifyContent: 'flex-end',\n },\n ],\n ],\n !disabled && {\n selectors: {\n '&:hover': {\n selectors: {\n [HighContrastSelector]: {\n borderColor: 'Highlight',\n },\n },\n },\n },\n },\n ],\n\n thumb: [\n 'ms-Toggle-thumb',\n {\n display: 'block',\n width: DEFAULT_THUMB_SIZE,\n height: DEFAULT_THUMB_SIZE,\n borderRadius: '50%',\n transition: 'all 0.1s ease',\n backgroundColor: thumbBackground,\n /* Border is added to handle high contrast mode for Firefox */\n borderColor: 'transparent',\n borderWidth: '.28em',\n borderStyle: 'solid',\n boxSizing: 'border-box',\n },\n !disabled &&\n checked && [\n {\n backgroundColor: thumbCheckedBackground,\n selectors: {\n [HighContrastSelector]: {\n backgroundColor: 'Window',\n borderColor: 'Window',\n },\n },\n },\n ],\n disabled && [\n !checked && [\n {\n backgroundColor: thumbDisabledBackground,\n },\n ],\n checked && [\n {\n backgroundColor: thumbCheckedDisabledBackground,\n },\n ],\n ],\n ],\n\n text: [\n 'ms-Toggle-stateText',\n {\n selectors: {\n // Workaround: make rules more specific than Label rules.\n '&&': {\n padding: '0',\n margin: '0 8px',\n userSelect: 'none',\n fontWeight: FontWeights.regular,\n },\n },\n },\n disabled && {\n selectors: {\n '&&': {\n color: textDisabledColor,\n selectors: {\n [HighContrastSelector]: {\n color: 'GrayText',\n },\n },\n },\n },\n },\n ],\n };\n};\n","import { IButtonStyles } from './Button.types';\nimport { memoizeFunction } from '../../Utilities';\nimport { HighContrastSelector, ITheme, IRawStyle, getFocusStyle, hiddenContentStyle } from '../../Styling';\n\nconst noOutline: IRawStyle = {\n outline: 0,\n};\n\nconst iconStyle = (fontSize?: string | number): IRawStyle => {\n return {\n fontSize: fontSize,\n margin: '0 4px',\n height: '16px',\n lineHeight: '16px',\n textAlign: 'center',\n flexShrink: 0,\n };\n};\n\n/**\n * Gets the base button styles. Note: because it is a base class to be used with the `mergeRules`\n * helper, it should have values for all class names in the interface. This let `mergeRules` optimize\n * mixing class names together.\n */\nexport const getStyles = memoizeFunction(\n (theme: ITheme): IButtonStyles => {\n const { semanticColors, effects, fonts } = theme;\n\n const border = semanticColors.buttonBorder;\n const disabledBackground = semanticColors.disabledBackground;\n const disabledText = semanticColors.disabledText;\n const buttonHighContrastFocus = {\n left: -2,\n top: -2,\n bottom: -2,\n right: -2,\n border: 'none',\n outlineColor: 'ButtonText',\n };\n\n return {\n root: [\n getFocusStyle(theme, { inset: 1, highContrastStyle: buttonHighContrastFocus, borderColor: 'transparent' }),\n theme.fonts.medium,\n {\n boxSizing: 'border-box',\n border: '1px solid ' + border,\n userSelect: 'none',\n display: 'inline-block',\n textDecoration: 'none',\n textAlign: 'center',\n cursor: 'pointer',\n padding: '0 16px',\n borderRadius: effects.roundedCorner2,\n\n selectors: {\n // IE11 workaround for preventing shift of child elements of a button when active.\n ':active > *': {\n position: 'relative',\n left: 0,\n top: 0,\n },\n },\n },\n ],\n\n rootDisabled: [\n getFocusStyle(theme, { inset: 1, highContrastStyle: buttonHighContrastFocus, borderColor: 'transparent' }),\n {\n backgroundColor: disabledBackground,\n borderColor: disabledBackground,\n color: disabledText,\n cursor: 'default',\n pointerEvents: 'none',\n selectors: {\n ':hover': noOutline,\n ':focus': noOutline,\n [HighContrastSelector]: {\n color: 'grayText',\n borderColor: 'grayText',\n },\n },\n },\n ],\n\n iconDisabled: {\n color: disabledText,\n },\n\n menuIconDisabled: {\n color: disabledText,\n },\n\n flexContainer: {\n display: 'flex',\n height: '100%',\n flexWrap: 'nowrap',\n justifyContent: 'center',\n alignItems: 'center',\n },\n description: {\n display: 'block',\n },\n\n textContainer: {\n flexGrow: 1,\n display: 'block',\n },\n\n icon: iconStyle(fonts.mediumPlus.fontSize),\n\n menuIcon: iconStyle(fonts.small.fontSize),\n\n label: {\n margin: '0 4px',\n lineHeight: '100%',\n display: 'block',\n },\n\n screenReaderText: hiddenContentStyle,\n };\n },\n);\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 { 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 if (parent && child) {\n if (allowVirtualParents) {\n isContained = false;\n while (child) {\n let nextParent: HTMLElement | null = getParent(child);\n if (nextParent === parent) {\n isContained = true;\n break;\n }\n child = nextParent;\n }\n } else if (parent.contains) {\n isContained = parent.contains(child);\n }\n }\n return isContained;\n}\n","import { KeyCodes } from './KeyCodes';\nimport { getDocument } from './dom/getDocument';\nimport { getItem, setItem } from './sessionStorage';\nimport { setRTL as mergeStylesSetRTL } from '@uifabric/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 * Fetches an item from session storage without throwing an exception\n * @param key The key of the item to fetch from session storage\n */\nexport function getItem(key: string): string | null {\n let result = null;\n try {\n result = window.sessionStorage.getItem(key);\n } catch (e) {\n /* Eat the exception */\n }\n return result;\n}\n\n/**\n * Inserts an item into session storage without throwing an exception\n * @param key The key of the item to add to session storage\n * @param data The data to put into session storage\n */\nexport function setItem(key: string, data: string): void {\n try {\n window.sessionStorage.setItem(key, data);\n } catch (e) {\n /* Eat the exception */\n }\n}\n","export function getDecoratedComponent(instanceRef) {\n var currentRef = instanceRef.current;\n\n if (currentRef == null) {\n return null;\n } else if (currentRef.decoratedRef) {\n // go through the private field in decorateHandler to avoid the invariant hit\n return currentRef.decoratedRef.current;\n } else {\n return currentRef;\n }\n}\nexport function isClassComponent(Component) {\n return Component && Component.prototype && typeof Component.prototype.render === 'function';\n}\nexport function isRefForwardingComponent(C) {\n var _item$$$typeof;\n\n var item = C;\n return (item === null || item === void 0 ? void 0 : (_item$$$typeof = item.$$typeof) === null || _item$$$typeof === void 0 ? void 0 : _item$$$typeof.toString()) === 'Symbol(react.forward_ref)';\n}\nexport function isRefable(C) {\n return isClassComponent(C) || isRefForwardingComponent(C);\n}\nexport function checkDecoratorArguments(functionName, signature) {\n if (process.env.NODE_ENV !== 'production') {\n for (var i = 0; i < (arguments.length <= 2 ? 0 : arguments.length - 2); i++) {\n var arg = i + 2 < 2 || arguments.length <= i + 2 ? undefined : arguments[i + 2];\n\n if (arg && arg.prototype && arg.prototype.render) {\n // eslint-disable-next-line no-console\n console.error('You seem to be applying the arguments in the wrong order. ' + \"It should be \".concat(functionName, \"(\").concat(signature, \")(Component), not the other way around. \") + 'Read more: http://react-dnd.github.io/react-dnd/docs/troubleshooting#you-seem-to-be-applying-the-arguments-in-the-wrong-order');\n return;\n }\n }\n }\n}","import { GlobalSettings } from '../GlobalSettings';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type ISettings = { [key: string]: any };\nexport type ISettingsFunction = (settings: ISettings) => ISettings;\n\n/**\n * @deprecated Use ISettings.\n */\nexport type Settings = ISettings;\n\n/**\n * @deprecated Use ISettingsFunction.\n */\nexport type SettingsFunction = ISettingsFunction;\n\nexport interface ICustomizations {\n settings: ISettings;\n scopedSettings: { [key: string]: ISettings };\n inCustomizerContext?: boolean;\n}\n\nconst CustomizationsGlobalKey = 'customizations';\nconst NO_CUSTOMIZATIONS = { settings: {}, scopedSettings: {}, inCustomizerContext: false };\n\nlet _allSettings = GlobalSettings.getValue(CustomizationsGlobalKey, {\n settings: {},\n scopedSettings: {},\n inCustomizerContext: false,\n});\n\nlet _events: (() => void)[] = [];\n\nexport class Customizations {\n private static _suppressUpdates: boolean;\n\n public static reset(): void {\n _allSettings.settings = {};\n _allSettings.scopedSettings = {};\n }\n\n /** Apply global Customization settings.\n * @example Customizations.applySettings(\\{ theme: \\{...\\} \\});\n */\n public static applySettings(settings: ISettings): void {\n _allSettings.settings = { ..._allSettings.settings, ...settings };\n Customizations._raiseChange();\n }\n\n /** Apply Customizations to a particular named scope, like a component.\n * @example Customizations.applyScopedSettings('Nav', \\{ styles: () =\\> \\{\\} \\});\n */\n public static applyScopedSettings(scopeName: string, settings: ISettings): void {\n _allSettings.scopedSettings[scopeName] = { ..._allSettings.scopedSettings[scopeName], ...settings };\n Customizations._raiseChange();\n }\n\n public static getSettings(\n properties: string[],\n scopeName?: string,\n localSettings: ICustomizations = NO_CUSTOMIZATIONS,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ): any {\n const settings: ISettings = {};\n const localScopedSettings = (scopeName && localSettings.scopedSettings[scopeName]) || {};\n const globalScopedSettings = (scopeName && _allSettings.scopedSettings[scopeName]) || {};\n\n for (let property of properties) {\n settings[property] =\n localScopedSettings[property] ||\n localSettings.settings[property] ||\n globalScopedSettings[property] ||\n _allSettings.settings[property];\n }\n\n return settings;\n }\n\n /** Used to run some code that sets Customizations without triggering an update until the end.\n * Useful for applying Customizations that don't affect anything currently rendered, or for\n * applying many customizations at once.\n * @param suppressUpdate - Do not raise the change event at the end, preventing all updates\n */\n public static applyBatchedUpdates(code: () => void, suppressUpdate?: boolean): void {\n Customizations._suppressUpdates = true;\n try {\n code();\n } catch {\n /* do nothing */\n }\n Customizations._suppressUpdates = false;\n if (!suppressUpdate) {\n Customizations._raiseChange();\n }\n }\n\n public static observe(onChange: () => void): void {\n _events.push(onChange);\n }\n\n public static unobserve(onChange: () => void): void {\n _events = _events.filter((cb: () => void) => cb !== onChange);\n }\n\n private static _raiseChange(): void {\n if (!Customizations._suppressUpdates) {\n _events.forEach((cb: () => void) => cb());\n }\n }\n}\n","export * from './components/Callout/index';\n","import { memoizeFunction } from '../../../Utilities';\nimport { mergeStyles } from '../../../Styling';\nimport { IButtonStyles } from '../Button.types';\n\nexport interface ISplitButtonClassNames {\n root?: string;\n icon?: string;\n splitButtonContainer?: string;\n flexContainer?: string;\n divider?: string;\n}\nexport const getClassNames = memoizeFunction(\n (\n styles: IButtonStyles,\n disabled: boolean,\n expanded: boolean,\n checked: boolean,\n primaryDisabled?: boolean,\n ): ISplitButtonClassNames => {\n return {\n root: mergeStyles(\n styles.splitButtonMenuButton,\n expanded && [styles.splitButtonMenuButtonExpanded],\n disabled && [styles.splitButtonMenuButtonDisabled],\n checked && !disabled && [styles.splitButtonMenuButtonChecked],\n ),\n\n splitButtonContainer: mergeStyles(\n styles.splitButtonContainer,\n !disabled &&\n checked && [\n styles.splitButtonContainerChecked,\n {\n selectors: {\n ':hover': styles.splitButtonContainerCheckedHovered,\n },\n },\n ],\n !disabled &&\n !checked && [\n {\n selectors: {\n ':hover': styles.splitButtonContainerHovered,\n ':focus': styles.splitButtonContainerFocused,\n },\n },\n ],\n disabled && styles.splitButtonContainerDisabled,\n ),\n\n icon: mergeStyles(\n styles.splitButtonMenuIcon,\n disabled && styles.splitButtonMenuIconDisabled,\n !disabled && primaryDisabled && styles.splitButtonMenuIcon,\n ),\n\n flexContainer: mergeStyles(styles.splitButtonFlexContainer),\n\n divider: mergeStyles(\n styles.splitButtonDivider,\n (primaryDisabled || disabled) && styles.splitButtonDividerDisabled,\n ),\n };\n },\n);\n","import * as React from 'react';\nimport {\n IRenderFunction,\n anchorProperties,\n assign,\n buttonProperties,\n getId,\n getNativeProps,\n KeyCodes,\n css,\n mergeAriaAttributeValues,\n portalContainsElement,\n memoizeFunction,\n nullRender,\n warnConditionallyRequiredProps,\n warnDeprecations,\n EventGroup,\n initializeComponentRef,\n Async,\n FocusRects,\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 getClassNames as getBaseSplitButtonClassNames,\n ISplitButtonClassNames,\n} from './SplitButton/SplitButton.classNames';\nimport { KeytipData } from '../../KeytipData';\nimport { IKeytipProps } from '../Keytip/Keytip.types';\n\n/**\n * {@docCategory Button}\n */\nexport interface IBaseButtonProps extends IButtonProps {\n baseClassName?: string;\n variantClassName?: string;\n}\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 _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 // tslint:disable-next-line: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 // tslint:disable-next-line: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 ariaLabel is given, use that as the label and we're done.\n // If an explicit aria-labelledby is given, use that and we're done.\n // If any kind of description is given (which will end up as an aria-describedby attribute),\n // set the labelledby element. Otherwise, the button is labeled implicitly by the descendent\n // text on the button (if it exists). Never set both aria-label and aria-labelledby.\n let ariaLabelledBy = undefined;\n if (!resolvedAriaLabel) {\n if ((nativeProps as any)['aria-labelledby']) {\n ariaLabelledBy = (nativeProps as any)['aria-labelledby'];\n } else if (ariaDescribedBy) {\n ariaLabelledBy = this._hasText() ? _labelId : undefined;\n }\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 ref: this._buttonElement,\n disabled: isPrimaryButtonDisabled && !allowDisabledFocus,\n onKeyDown: this._onKeyDown,\n onKeyPress: this._onKeyPress,\n onKeyUp: this._onKeyUp,\n onMouseDown: this._onMouseDown,\n onMouseUp: this._onMouseUp,\n onClick: this._onClick,\n 'aria-label': resolvedAriaLabel,\n 'aria-labelledby': ariaLabelledBy,\n 'aria-describedby': ariaDescribedBy,\n 'aria-disabled': isPrimaryButtonDisabled,\n 'data-is-focusable': dataIsFocusable,\n // aria-pressed attribute should only be present for toggle buttons\n // aria-checked attribute should only be present for toggle buttons with checkbox type role\n [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 assign(buttonProps, {\n 'aria-expanded': !menuHidden,\n 'aria-owns': !menuHidden ? this._labelId + '-menu' : null,\n 'aria-haspopup': true,\n });\n }\n\n return this._onRenderContent(tag, buttonProps);\n }\n\n 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 this._splitButtonContainer.current.focus();\n } else if (this._buttonElement.current) {\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 // tslint:disable-next-line: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 // tslint:disable-next-line: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 // tslint:disable-next-line: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 // tslint:disable-next-line: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