{"version":3,"file":"static/js/vendor.fluentui.react~328efd97.716c0557.js","mappings":"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","sources":["../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/OverflowSet/OverflowButton.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/OverflowSet/OverflowSet.base.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/OverflowSet/OverflowSet.styles.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/OverflowSet/OverflowSet.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/Overlay/Overlay.base.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/Overlay/Overlay.styles.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/Overlay/Overlay.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/Panel/Panel.base.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/Panel/Panel.styles.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/Panel/Panel.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/Panel/Panel.types.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/Persona/Persona.base.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/Persona/Persona.styles.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/Persona/Persona.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/Persona/Persona.types.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/Persona/PersonaPresence/PersonaPresence.base.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/Persona/PersonaPresence/PersonaPresence.styles.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/Persona/PersonaPresence/PersonaPresence.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/Persona/PersonaCoin/PersonaCoin.base.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/Persona/PersonaCoin/PersonaCoin.styles.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/Persona/PersonaCoin/PersonaCoin.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/Persona/PersonaConsts.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/Persona/PersonaInitialsColor.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/Pivot/Pivot.base.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/Pivot/Pivot.styles.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/Pivot/Pivot.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/Pivot/Pivot.types.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/Pivot/PivotItem.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/Popup/Popup.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/ProgressIndicator/ProgressIndicator.base.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/ProgressIndicator/ProgressIndicator.styles.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/ProgressIndicator/ProgressIndicator.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/Rating/Rating.styles.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/Rating/Rating.types.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/Rating/Rating.base.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/Rating/Rating.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/ResizeGroup/ResizeGroup.base.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/ResizeGroup/ResizeGroup.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/ResizeGroup/ResizeGroup.types.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/ScrollablePane/ScrollablePane.types.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/ScrollablePane/ScrollablePane.styles.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/ScrollablePane/ScrollablePane.base.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/ScrollablePane/ScrollablePane.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/SearchBox/SearchBox.base.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/SearchBox/SearchBox.styles.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/SearchBox/SearchBox.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/SelectedItemsList/BaseSelectedItemsList.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/SelectedItemsList/SelectedPeopleList/Items/ExtendedSelectedItem.scss.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/SelectedItemsList/SelectedPeopleList/Items/ExtendedSelectedItem.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/SelectedItemsList/SelectedPeopleList/Items/SelectedItemWithContextMenu.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/SelectedItemsList/SelectedPeopleList/Items/EditingItem.styles.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/SelectedItemsList/SelectedPeopleList/Items/EditingItem.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/SelectedItemsList/SelectedPeopleList/SelectedPeopleList.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/Separator/Separator.base.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/Separator/Separator.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/Separator/Separator.styles.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/Shimmer/Shimmer.base.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/Shimmer/Shimmer.styles.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/Shimmer/Shimmer.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/Shimmer/Shimmer.types.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/Shimmer/ShimmerCircle/ShimmerCircle.base.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/Shimmer/ShimmerCircle/ShimmerCircle.styles.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/Shimmer/ShimmerCircle/ShimmerCircle.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/Shimmer/ShimmerElementsGroup/ShimmerElementsGroup.base.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/Shimmer/ShimmerElementsGroup/ShimmerElementsGroup.styles.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/Shimmer/ShimmerElementsGroup/ShimmerElementsGroup.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/Shimmer/ShimmerGap/ShimmerGap.base.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/Shimmer/ShimmerGap/ShimmerGap.styles.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/Shimmer/ShimmerGap/ShimmerGap.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/Shimmer/ShimmerLine/ShimmerLine.base.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/Shimmer/ShimmerLine/ShimmerLine.styles.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/Shimmer/ShimmerLine/ShimmerLine.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/Slider/useSlider.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/Slider/Slider.base.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/Slider/Slider.styles.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/Slider/Slider.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/SpinButton/SpinButton.styles.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/SpinButton/SpinButton.base.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/SpinButton/SpinButton.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/SpinButton/SpinButton.types.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/Spinner/Spinner.base.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/Spinner/Spinner.styles.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/Spinner/Spinner.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/Spinner/Spinner.types.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/Stack/StackUtils.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/Stack/Stack.styles.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/Stack/Stack.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/Stack/StackItem/StackItem.styles.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/Stack/StackItem/StackItem.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/Sticky/Sticky.types.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/Sticky/Sticky.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/SwatchColorPicker/ColorPickerGridCell.base.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/SwatchColorPicker/ColorPickerGridCell.styles.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/SwatchColorPicker/ColorPickerGridCell.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/SwatchColorPicker/SwatchColorPicker.base.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/SwatchColorPicker/SwatchColorPicker.styles.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/SwatchColorPicker/SwatchColorPicker.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/TeachingBubble/TeachingBubbleContent.base.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/TeachingBubble/TeachingBubble.styles.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/TeachingBubble/TeachingBubbleContent.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/TeachingBubble/TeachingBubble.base.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/TeachingBubble/TeachingBubble.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/TextField/TextField.base.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/TextField/TextField.styles.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/TextField/TextField.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/TextField/MaskedTextField/inputMask.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/TextField/MaskedTextField/MaskedTextField.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/Text/Text.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/Text/Text.styles.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/Text/Text.view.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/ThemeGenerator/ThemeRulesStandard.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/ThemeGenerator/ThemeGenerator.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/TimePicker/TimePicker.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/Toggle/Toggle.base.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/Toggle/Toggle.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/Toggle/Toggle.styles.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/Tooltip/Tooltip.base.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/Tooltip/Tooltip.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/Tooltip/Tooltip.styles.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/Tooltip/Tooltip.types.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/Tooltip/TooltipHost.base.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/Tooltip/TooltipHost.styles.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/Tooltip/TooltipHost.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/Tooltip/TooltipHost.types.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/WeeklyDayPicker/defaults.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/WeeklyDayPicker/WeeklyDayPicker.base.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/WeeklyDayPicker/WeeklyDayPicker.styles.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/WeeklyDayPicker/WeeklyDayPicker.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/pickers/Suggestions/Suggestions.scss.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/pickers/Suggestions/SuggestionsItem.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/pickers/Suggestions/Suggestions.types.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/pickers/Suggestions/SuggestionsItem.styles.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/pickers/BasePicker.types.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/pickers/Suggestions/Suggestions.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/pickers/Suggestions/SuggestionsController.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/pickers/Suggestions/Suggestions.styles.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/pickers/BasePicker.scss.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/pickers/BasePicker.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/pickers/PeoplePicker/PeoplePickerItems/PeoplePickerItem.styles.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/pickers/PeoplePicker/PeoplePickerItems/PeoplePickerItem.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/pickers/PeoplePicker/PeoplePickerItems/PeoplePickerItemSuggestion.styles.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/pickers/PeoplePicker/PeoplePickerItems/PeoplePickerItemSuggestion.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/pickers/BasePicker.styles.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/pickers/PeoplePicker/PeoplePicker.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/pickers/TagPicker/TagItem.styles.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/pickers/TagPicker/TagItem.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/pickers/TagPicker/TagItemSuggestion.styles.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/pickers/TagPicker/TagItemSuggestion.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/components/pickers/TagPicker/TagPicker.js"],"sourcesContent":["import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { KeytipManager } from '../../utilities/keytips/KeytipManager';\nimport { useConst, usePrevious } from '@fluentui/react-hooks';\nvar registerPersistedKeytips = function (keytipsToRegister, keytipManager, registeredPersistedKeytips) {\n for (var _i = 0, keytipsToRegister_1 = keytipsToRegister; _i < keytipsToRegister_1.length; _i++) {\n var keytip = keytipsToRegister_1[_i];\n var uniqueID = keytipManager.register(keytip, true);\n // Update map\n registeredPersistedKeytips[uniqueID] = keytip;\n }\n};\nvar unregisterPersistedKeytips = function (keytipManager, registeredPersistedKeytips) {\n for (var _i = 0, _a = Object.keys(registeredPersistedKeytips); _i < _a.length; _i++) {\n var uniqueID = _a[_i];\n keytipManager.unregister(registeredPersistedKeytips[uniqueID], uniqueID, true);\n delete registeredPersistedKeytips[uniqueID];\n }\n};\nvar useKeytipRegistrations = function (registeredPersistedKeytips, keytipsToRegister, keytipManager) {\n var prevPersistedKeytips = usePrevious(registeredPersistedKeytips);\n // Update\n React.useEffect(function () {\n if (prevPersistedKeytips) {\n // Unregister old keytips\n unregisterPersistedKeytips(keytipManager, prevPersistedKeytips);\n // Register new keytips\n registerPersistedKeytips(keytipsToRegister, keytipManager, registeredPersistedKeytips);\n }\n });\n // Mount/Unmount\n React.useEffect(function () {\n // Register on mount\n registerPersistedKeytips(keytipsToRegister, keytipManager, registeredPersistedKeytips);\n return function () {\n // Unregister on unmount\n unregisterPersistedKeytips(keytipManager, registeredPersistedKeytips);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n};\nexport var OverflowButton = function (props) {\n var keytipManager = KeytipManager.getInstance();\n var className = props.className, overflowItems = props.overflowItems, keytipSequences = props.keytipSequences, itemSubMenuProvider = props.itemSubMenuProvider, onRenderOverflowButton = props.onRenderOverflowButton;\n var persistedKeytips = useConst({});\n // Gets the subMenu for an overflow item\n var getSubMenuForItem = React.useCallback(function (item) {\n // Checks if itemSubMenuProvider has been defined, if not defaults to subMenuProps\n if (itemSubMenuProvider) {\n return itemSubMenuProvider(item);\n }\n if (item.subMenuProps) {\n return item.subMenuProps.items;\n }\n return undefined;\n }, [itemSubMenuProvider]);\n var _a = React.useMemo(function () {\n var newKeytipsToRegister = [];\n var newOverflowItems = [];\n if (keytipSequences) {\n overflowItems === null || overflowItems === void 0 ? void 0 : overflowItems.forEach(function (overflowItem) {\n var _a;\n var keytip = overflowItem.keytipProps;\n if (keytip) {\n // Create persisted keytip\n var persistedKeytip = {\n content: keytip.content,\n keySequences: keytip.keySequences,\n disabled: keytip.disabled || !!(overflowItem.disabled || overflowItem.isDisabled),\n hasDynamicChildren: keytip.hasDynamicChildren,\n hasMenu: keytip.hasMenu,\n };\n if (keytip.hasDynamicChildren || getSubMenuForItem(overflowItem)) {\n // If the keytip has a submenu or children nodes, change onExecute to persistedKeytipExecute\n persistedKeytip.onExecute = keytipManager.menuExecute.bind(keytipManager, keytipSequences, (_a = overflowItem === null || overflowItem === void 0 ? void 0 : overflowItem.keytipProps) === null || _a === void 0 ? void 0 : _a.keySequences);\n persistedKeytip.hasOverflowSubMenu = true;\n }\n else {\n // If the keytip doesn't have a submenu, just execute the original function\n persistedKeytip.onExecute = keytip.onExecute;\n }\n newKeytipsToRegister.push(persistedKeytip);\n // Add the overflow sequence to this item\n var newOverflowItem = __assign(__assign({}, overflowItem), { keytipProps: __assign(__assign({}, keytip), { overflowSetSequence: keytipSequences }) });\n newOverflowItems === null || newOverflowItems === void 0 ? void 0 : newOverflowItems.push(newOverflowItem);\n }\n else {\n // Nothing to change, add overflowItem to list\n newOverflowItems === null || newOverflowItems === void 0 ? void 0 : newOverflowItems.push(overflowItem);\n }\n });\n }\n else {\n newOverflowItems = overflowItems;\n }\n return { modifiedOverflowItems: newOverflowItems, keytipsToRegister: newKeytipsToRegister };\n }, [overflowItems, getSubMenuForItem, keytipManager, keytipSequences]), modifiedOverflowItems = _a.modifiedOverflowItems, keytipsToRegister = _a.keytipsToRegister;\n useKeytipRegistrations(persistedKeytips, keytipsToRegister, keytipManager);\n return React.createElement(\"div\", { className: className }, onRenderOverflowButton(modifiedOverflowItems));\n};\n//# sourceMappingURL=OverflowButton.js.map","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { useMergedRefs } from '@fluentui/react-hooks';\nimport { classNamesFunction, divProperties, elementContains, getNativeProps, focusFirstChild } from '../../Utilities';\nimport { OverflowButton } from './OverflowButton';\nvar getClassNames = classNamesFunction();\nvar COMPONENT_NAME = 'OverflowSet';\nvar useComponentRef = function (props, divContainer) {\n React.useImperativeHandle(props.componentRef, function () { return ({\n focus: function () {\n var focusSucceeded = false;\n if (divContainer.current) {\n focusSucceeded = focusFirstChild(divContainer.current);\n }\n return focusSucceeded;\n },\n focusElement: function (childElement) {\n var focusSucceeded = false;\n if (!childElement) {\n return false;\n }\n if (divContainer.current && elementContains(divContainer.current, childElement)) {\n childElement.focus();\n focusSucceeded = document.activeElement === childElement;\n }\n return focusSucceeded;\n },\n }); }, [divContainer]);\n};\nexport var OverflowSetBase = React.forwardRef(function (props, forwardedRef) {\n var divContainer = React.useRef(null);\n var mergedRef = useMergedRefs(divContainer, forwardedRef);\n useComponentRef(props, divContainer);\n var items = props.items, overflowItems = props.overflowItems, className = props.className, styles = props.styles, vertical = props.vertical, role = props.role, _a = props.overflowSide, overflowSide = _a === void 0 ? 'end' : _a, onRenderItem = props.onRenderItem;\n var classNames = getClassNames(styles, { className: className, vertical: vertical });\n var showOverflow = !!overflowItems && overflowItems.length > 0;\n return (React.createElement(\"div\", __assign({}, getNativeProps(props, divProperties), { role: role || 'group', \"aria-orientation\": role === 'menubar' ? (vertical === true ? 'vertical' : 'horizontal') : undefined, className: classNames.root, ref: mergedRef }),\n overflowSide === 'start' && showOverflow && React.createElement(OverflowButton, __assign({}, props, { className: classNames.overflowButton })),\n items &&\n items.map(function (item, i) { return (React.createElement(\"div\", { className: classNames.item, key: item.key, role: \"none\" }, onRenderItem(item))); }),\n overflowSide === 'end' && showOverflow && React.createElement(OverflowButton, __assign({}, props, { className: classNames.overflowButton }))));\n});\nOverflowSetBase.displayName = COMPONENT_NAME;\n//# sourceMappingURL=OverflowSet.base.js.map","var overflowItemStyle = {\n flexShrink: 0,\n display: 'inherit',\n};\nexport var getStyles = function (props) {\n var className = props.className, vertical = props.vertical;\n return {\n root: [\n 'ms-OverflowSet',\n {\n position: 'relative',\n display: 'flex',\n flexWrap: 'nowrap',\n },\n vertical && { flexDirection: 'column' },\n className,\n ],\n item: ['ms-OverflowSet-item', overflowItemStyle],\n overflowButton: ['ms-OverflowSet-overflowButton', overflowItemStyle],\n };\n};\n//# sourceMappingURL=OverflowSet.styles.js.map","import { styled } from '../../Utilities';\nimport { OverflowSetBase } from './OverflowSet.base';\nimport { getStyles } from './OverflowSet.styles';\nexport var OverflowSet = styled(OverflowSetBase, getStyles, undefined, {\n scope: 'OverflowSet',\n});\n//# sourceMappingURL=OverflowSet.js.map","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { classNamesFunction, getNativeProps, divProperties, enableBodyScroll, disableBodyScroll, initializeComponentRef, } from '../../Utilities';\nvar getClassNames = classNamesFunction();\nvar OverlayBase = /** @class */ (function (_super) {\n __extends(OverlayBase, _super);\n function OverlayBase(props) {\n var _this = _super.call(this, props) || this;\n initializeComponentRef(_this);\n var _a = _this.props.allowTouchBodyScroll, allowTouchBodyScroll = _a === void 0 ? false : _a;\n _this._allowTouchBodyScroll = allowTouchBodyScroll;\n return _this;\n }\n OverlayBase.prototype.componentDidMount = function () {\n !this._allowTouchBodyScroll && disableBodyScroll();\n };\n OverlayBase.prototype.componentWillUnmount = function () {\n !this._allowTouchBodyScroll && enableBodyScroll();\n };\n OverlayBase.prototype.render = function () {\n var _a = this.props, isDark = _a.isDarkThemed, className = _a.className, theme = _a.theme, styles = _a.styles;\n var divProps = getNativeProps(this.props, divProperties);\n var classNames = getClassNames(styles, {\n theme: theme,\n className: className,\n isDark: isDark,\n });\n return React.createElement(\"div\", __assign({}, divProps, { className: classNames.root }));\n };\n return OverlayBase;\n}(React.Component));\nexport { OverlayBase };\n//# sourceMappingURL=Overlay.base.js.map","import { HighContrastSelector, getGlobalClassNames } from '../../Styling';\nvar GlobalClassNames = {\n root: 'ms-Overlay',\n rootDark: 'ms-Overlay--dark',\n};\nexport var getStyles = function (props) {\n var _a;\n var className = props.className, theme = props.theme, isNone = props.isNone, isDark = props.isDark;\n var palette = theme.palette;\n var classNames = getGlobalClassNames(GlobalClassNames, theme);\n return {\n root: [\n classNames.root,\n theme.fonts.medium,\n {\n backgroundColor: palette.whiteTranslucent40,\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n position: 'absolute',\n selectors: (_a = {},\n _a[HighContrastSelector] = {\n border: '1px solid WindowText',\n opacity: 0,\n },\n _a),\n },\n isNone && {\n visibility: 'hidden',\n },\n isDark && [\n classNames.rootDark,\n {\n backgroundColor: palette.blackTranslucent40,\n },\n ],\n className,\n ],\n };\n};\n//# sourceMappingURL=Overlay.styles.js.map","import { styled } from '../../Utilities';\nimport { OverlayBase } from './Overlay.base';\nimport { getStyles } from './Overlay.styles';\nexport var Overlay = styled(OverlayBase, getStyles, undefined, {\n scope: 'Overlay',\n});\n//# sourceMappingURL=Overlay.js.map","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { IconButton } from '../../Button';\nimport { Layer } from '../../Layer';\nimport { Overlay } from '../../Overlay';\nimport { Popup } from '../../Popup';\nimport { allowScrollOnElement, allowOverscrollOnElement, classNamesFunction, divProperties, elementContains, getId, getNativeProps, getRTL, css, warnDeprecations, Async, EventGroup, initializeComponentRef, } from '../../Utilities';\nimport { FocusTrapZone } from '../FocusTrapZone/index';\nimport { PanelType } from './Panel.types';\nvar getClassNames = classNamesFunction();\nvar COMPONENT_NAME = 'Panel';\nvar PanelVisibilityState;\n(function (PanelVisibilityState) {\n PanelVisibilityState[PanelVisibilityState[\"closed\"] = 0] = \"closed\";\n PanelVisibilityState[PanelVisibilityState[\"animatingOpen\"] = 1] = \"animatingOpen\";\n PanelVisibilityState[PanelVisibilityState[\"open\"] = 2] = \"open\";\n PanelVisibilityState[PanelVisibilityState[\"animatingClosed\"] = 3] = \"animatingClosed\";\n})(PanelVisibilityState || (PanelVisibilityState = {}));\nvar PanelBase = /** @class */ (function (_super) {\n __extends(PanelBase, _super);\n function PanelBase(props) {\n var _this = _super.call(this, props) || this;\n _this._panel = React.createRef();\n _this._animationCallback = null;\n _this._hasCustomNavigation = !!(_this.props.onRenderNavigation || _this.props.onRenderNavigationContent);\n _this.dismiss = function (ev) {\n if (_this.props.onDismiss && _this.isActive) {\n _this.props.onDismiss(ev);\n }\n if (!ev || (ev && !ev.defaultPrevented)) {\n _this.close();\n }\n };\n // Allow the user to scroll within the panel but not on the body\n _this._allowScrollOnPanel = function (elt) {\n if (elt) {\n if (_this._allowTouchBodyScroll) {\n allowOverscrollOnElement(elt, _this._events);\n }\n else {\n allowScrollOnElement(elt, _this._events);\n }\n }\n else {\n _this._events.off(_this._scrollableContent);\n }\n _this._scrollableContent = elt;\n };\n _this._onRenderNavigation = function (props) {\n if (!_this.props.onRenderNavigationContent && !_this.props.onRenderNavigation && !_this.props.hasCloseButton) {\n return null;\n }\n var _a = _this.props.onRenderNavigationContent, onRenderNavigationContent = _a === void 0 ? _this._onRenderNavigationContent : _a;\n return (React.createElement(\"div\", { className: _this._classNames.navigation }, onRenderNavigationContent(props, _this._onRenderNavigationContent)));\n };\n _this._onRenderNavigationContent = function (props) {\n var _a;\n var closeButtonAriaLabel = props.closeButtonAriaLabel, hasCloseButton = props.hasCloseButton, _b = props.onRenderHeader, onRenderHeader = _b === void 0 ? _this._onRenderHeader : _b;\n if (hasCloseButton) {\n var iconButtonStyles = (_a = _this._classNames.subComponentStyles) === null || _a === void 0 ? void 0 : _a.closeButton();\n return (React.createElement(React.Fragment, null,\n !_this._hasCustomNavigation && onRenderHeader(_this.props, _this._onRenderHeader, _this._headerTextId),\n React.createElement(IconButton, { styles: iconButtonStyles, className: _this._classNames.closeButton, onClick: _this._onPanelClick, ariaLabel: closeButtonAriaLabel, title: closeButtonAriaLabel, \"data-is-visible\": true, iconProps: { iconName: 'Cancel' } })));\n }\n return null;\n };\n _this._onRenderHeader = function (props, defaultRender, headerTextId) {\n var headerText = props.headerText, _a = props.headerTextProps, headerTextProps = _a === void 0 ? {} : _a;\n if (headerText) {\n return (React.createElement(\"div\", { className: _this._classNames.header },\n React.createElement(\"div\", __assign({ id: headerTextId, role: \"heading\", \"aria-level\": 1 }, headerTextProps, { className: css(_this._classNames.headerText, headerTextProps.className) }), headerText)));\n }\n return null;\n };\n _this._onRenderBody = function (props) {\n return React.createElement(\"div\", { className: _this._classNames.content }, props.children);\n };\n _this._onRenderFooter = function (props) {\n var _a = _this.props.onRenderFooterContent, onRenderFooterContent = _a === void 0 ? null : _a;\n if (onRenderFooterContent) {\n return (React.createElement(\"div\", { className: _this._classNames.footer },\n React.createElement(\"div\", { className: _this._classNames.footerInner }, onRenderFooterContent())));\n }\n return null;\n };\n _this._animateTo = function (newVisibilityState) {\n if (newVisibilityState === PanelVisibilityState.open && _this.props.onOpen) {\n _this.props.onOpen();\n }\n _this._animationCallback = _this._async.setTimeout(function () {\n _this.setState({ visibility: newVisibilityState });\n _this._onTransitionComplete();\n }, 200);\n };\n _this._clearExistingAnimationTimer = function () {\n if (_this._animationCallback !== null) {\n _this._async.clearTimeout(_this._animationCallback);\n }\n };\n _this._onPanelClick = function (ev) {\n _this.dismiss(ev);\n };\n _this._onTransitionComplete = function () {\n _this._updateFooterPosition();\n if (_this.state.visibility === PanelVisibilityState.open && _this.props.onOpened) {\n _this.props.onOpened();\n }\n if (_this.state.visibility === PanelVisibilityState.closed && _this.props.onDismissed) {\n _this.props.onDismissed();\n }\n };\n var _a = _this.props.allowTouchBodyScroll, allowTouchBodyScroll = _a === void 0 ? false : _a;\n _this._allowTouchBodyScroll = allowTouchBodyScroll;\n _this._async = new Async(_this);\n _this._events = new EventGroup(_this);\n initializeComponentRef(_this);\n warnDeprecations(COMPONENT_NAME, props, {\n ignoreExternalFocusing: 'focusTrapZoneProps',\n forceFocusInsideTrap: 'focusTrapZoneProps',\n firstFocusableSelector: 'focusTrapZoneProps',\n });\n _this.state = {\n isFooterSticky: false,\n // intentionally ignore props so animation takes place during componentDidMount\n visibility: PanelVisibilityState.closed,\n id: getId('Panel'),\n };\n return _this;\n }\n PanelBase.getDerivedStateFromProps = function (nextProps, prevState) {\n if (nextProps.isOpen === undefined) {\n return null; // no state update\n }\n if (nextProps.isOpen &&\n (prevState.visibility === PanelVisibilityState.closed ||\n prevState.visibility === PanelVisibilityState.animatingClosed)) {\n return { visibility: PanelVisibilityState.animatingOpen };\n }\n if (!nextProps.isOpen &&\n (prevState.visibility === PanelVisibilityState.open ||\n prevState.visibility === PanelVisibilityState.animatingOpen)) {\n return { visibility: PanelVisibilityState.animatingClosed };\n }\n return null;\n };\n PanelBase.prototype.componentDidMount = function () {\n this._events.on(window, 'resize', this._updateFooterPosition);\n if (this._shouldListenForOuterClick(this.props)) {\n this._events.on(document.body, 'mousedown', this._dismissOnOuterClick, true);\n }\n if (this.props.isOpen) {\n this.setState({ visibility: PanelVisibilityState.animatingOpen });\n }\n };\n PanelBase.prototype.componentDidUpdate = function (previousProps, previousState) {\n var shouldListenOnOuterClick = this._shouldListenForOuterClick(this.props);\n var previousShouldListenOnOuterClick = this._shouldListenForOuterClick(previousProps);\n if (this.state.visibility !== previousState.visibility) {\n this._clearExistingAnimationTimer();\n if (this.state.visibility === PanelVisibilityState.animatingOpen) {\n this._animateTo(PanelVisibilityState.open);\n }\n else if (this.state.visibility === PanelVisibilityState.animatingClosed) {\n this._animateTo(PanelVisibilityState.closed);\n }\n }\n if (shouldListenOnOuterClick && !previousShouldListenOnOuterClick) {\n this._events.on(document.body, 'mousedown', this._dismissOnOuterClick, true);\n }\n else if (!shouldListenOnOuterClick && previousShouldListenOnOuterClick) {\n this._events.off(document.body, 'mousedown', this._dismissOnOuterClick, true);\n }\n };\n PanelBase.prototype.componentWillUnmount = function () {\n this._async.dispose();\n this._events.dispose();\n };\n PanelBase.prototype.render = function () {\n var _a = this.props, _b = _a.className, className = _b === void 0 ? '' : _b, elementToFocusOnDismiss = _a.elementToFocusOnDismiss, \n /* eslint-disable deprecation/deprecation */\n firstFocusableSelector = _a.firstFocusableSelector, focusTrapZoneProps = _a.focusTrapZoneProps, forceFocusInsideTrap = _a.forceFocusInsideTrap, hasCloseButton = _a.hasCloseButton, headerText = _a.headerText, _c = _a.headerClassName, headerClassName = _c === void 0 ? '' : _c, ignoreExternalFocusing = _a.ignoreExternalFocusing, isBlocking = _a.isBlocking, isFooterAtBottom = _a.isFooterAtBottom, isLightDismiss = _a.isLightDismiss, isHiddenOnDismiss = _a.isHiddenOnDismiss, layerProps = _a.layerProps, overlayProps = _a.overlayProps, popupProps = _a.popupProps, type = _a.type, styles = _a.styles, theme = _a.theme, customWidth = _a.customWidth, _d = _a.onLightDismissClick, onLightDismissClick = _d === void 0 ? this._onPanelClick : _d, _e = _a.onRenderNavigation, onRenderNavigation = _e === void 0 ? this._onRenderNavigation : _e, _f = _a.onRenderHeader, onRenderHeader = _f === void 0 ? this._onRenderHeader : _f, _g = _a.onRenderBody, onRenderBody = _g === void 0 ? this._onRenderBody : _g, _h = _a.onRenderFooter, onRenderFooter = _h === void 0 ? this._onRenderFooter : _h;\n var _j = this.state, isFooterSticky = _j.isFooterSticky, visibility = _j.visibility, id = _j.id;\n var isLeft = type === PanelType.smallFixedNear || type === PanelType.customNear ? true : false;\n var isRTL = getRTL(theme);\n var isOnRightSide = isRTL ? isLeft : !isLeft;\n var customWidthStyles = type === PanelType.custom || type === PanelType.customNear ? { width: customWidth } : {};\n var nativeProps = getNativeProps(this.props, divProperties);\n var isOpen = this.isActive;\n var isAnimating = visibility === PanelVisibilityState.animatingClosed || visibility === PanelVisibilityState.animatingOpen;\n this._headerTextId = headerText && id + '-headerText';\n if (!isOpen && !isAnimating && !isHiddenOnDismiss) {\n return null;\n }\n this._classNames = getClassNames(styles, {\n theme: theme,\n className: className,\n focusTrapZoneClassName: focusTrapZoneProps ? focusTrapZoneProps.className : undefined,\n hasCloseButton: hasCloseButton,\n headerClassName: headerClassName,\n isAnimating: isAnimating,\n isFooterSticky: isFooterSticky,\n isFooterAtBottom: isFooterAtBottom,\n isOnRightSide: isOnRightSide,\n isOpen: isOpen,\n isHiddenOnDismiss: isHiddenOnDismiss,\n type: type,\n hasCustomNavigation: this._hasCustomNavigation,\n });\n var _k = this, _classNames = _k._classNames, _allowTouchBodyScroll = _k._allowTouchBodyScroll;\n var overlay;\n if (isBlocking && isOpen) {\n overlay = (React.createElement(Overlay, __assign({ className: _classNames.overlay, isDarkThemed: false, onClick: isLightDismiss ? onLightDismissClick : undefined, allowTouchBodyScroll: _allowTouchBodyScroll }, overlayProps)));\n }\n return (React.createElement(Layer, __assign({}, layerProps),\n React.createElement(Popup, __assign({ role: \"dialog\", \"aria-modal\": isBlocking ? 'true' : undefined, ariaLabelledBy: this._headerTextId ? this._headerTextId : undefined, onDismiss: this.dismiss, className: _classNames.hiddenPanel }, popupProps),\n React.createElement(\"div\", __assign({ \"aria-hidden\": !isOpen && isAnimating }, nativeProps, { ref: this._panel, className: _classNames.root }),\n overlay,\n React.createElement(FocusTrapZone, __assign({ ignoreExternalFocusing: ignoreExternalFocusing, forceFocusInsideTrap: !isBlocking || (isHiddenOnDismiss && !isOpen) ? false : forceFocusInsideTrap, firstFocusableSelector: firstFocusableSelector, isClickableOutsideFocusTrap: true }, focusTrapZoneProps, { className: _classNames.main, style: customWidthStyles, elementToFocusOnDismiss: elementToFocusOnDismiss }),\n React.createElement(\"div\", { className: _classNames.contentInner },\n React.createElement(\"div\", { ref: this._allowScrollOnPanel, className: _classNames.scrollableContent, \"data-is-scrollable\": true },\n React.createElement(\"div\", { className: _classNames.commands, \"data-is-visible\": true }, onRenderNavigation(this.props, this._onRenderNavigation)),\n (this._hasCustomNavigation || !hasCloseButton) &&\n onRenderHeader(this.props, this._onRenderHeader, this._headerTextId),\n onRenderBody(this.props, this._onRenderBody),\n onRenderFooter(this.props, this._onRenderFooter))))))));\n };\n PanelBase.prototype.open = function () {\n if (this.props.isOpen !== undefined) {\n return;\n }\n if (this.isActive) {\n return;\n }\n this.setState({ visibility: PanelVisibilityState.animatingOpen });\n };\n PanelBase.prototype.close = function () {\n if (this.props.isOpen !== undefined) {\n return;\n }\n if (!this.isActive) {\n return;\n }\n this.setState({ visibility: PanelVisibilityState.animatingClosed });\n };\n Object.defineProperty(PanelBase.prototype, \"isActive\", {\n /** isActive is true when panel is open or opening. */\n get: function () {\n return (this.state.visibility === PanelVisibilityState.open ||\n this.state.visibility === PanelVisibilityState.animatingOpen);\n },\n enumerable: false,\n configurable: true\n });\n PanelBase.prototype._shouldListenForOuterClick = function (props) {\n return !!props.isBlocking && !!props.isOpen;\n };\n PanelBase.prototype._updateFooterPosition = function () {\n var scrollableContent = this._scrollableContent;\n if (scrollableContent) {\n var height = scrollableContent.clientHeight;\n var innerHeight_1 = scrollableContent.scrollHeight;\n this.setState({\n isFooterSticky: height < innerHeight_1 ? true : false,\n });\n }\n };\n PanelBase.prototype._dismissOnOuterClick = function (ev) {\n var panel = this._panel.current;\n if (this.isActive && panel && !ev.defaultPrevented) {\n if (!elementContains(panel, ev.target)) {\n if (this.props.onOuterClick) {\n this.props.onOuterClick(ev);\n }\n else {\n this.dismiss(ev);\n }\n }\n }\n };\n PanelBase.defaultProps = {\n isHiddenOnDismiss: false,\n isOpen: undefined,\n isBlocking: true,\n hasCloseButton: true,\n type: PanelType.smallFixedFar,\n };\n return PanelBase;\n}(React.Component));\nexport { PanelBase };\n//# sourceMappingURL=Panel.base.js.map","var _a, _b, _c, _d, _e;\nimport { __assign } from \"tslib\";\nimport { PanelType } from './Panel.types';\nimport { AnimationClassNames, AnimationVariables, getGlobalClassNames, HighContrastSelector, ScreenWidthMinMedium, ScreenWidthMinLarge, ScreenWidthMinXLarge, ScreenWidthMinXXLarge, ScreenWidthMinUhfMobile, IconFontSizes, } from '../../Styling';\nvar GlobalClassNames = {\n root: 'ms-Panel',\n main: 'ms-Panel-main',\n commands: 'ms-Panel-commands',\n contentInner: 'ms-Panel-contentInner',\n scrollableContent: 'ms-Panel-scrollableContent',\n navigation: 'ms-Panel-navigation',\n closeButton: 'ms-Panel-closeButton ms-PanelAction-close',\n header: 'ms-Panel-header',\n headerText: 'ms-Panel-headerText',\n content: 'ms-Panel-content',\n footer: 'ms-Panel-footer',\n footerInner: 'ms-Panel-footerInner',\n isOpen: 'is-open',\n hasCloseButton: 'ms-Panel--hasCloseButton',\n smallFluid: 'ms-Panel--smFluid',\n smallFixedNear: 'ms-Panel--smLeft',\n smallFixedFar: 'ms-Panel--sm',\n medium: 'ms-Panel--md',\n large: 'ms-Panel--lg',\n largeFixed: 'ms-Panel--fixed',\n extraLarge: 'ms-Panel--xl',\n custom: 'ms-Panel--custom',\n customNear: 'ms-Panel--customLeft',\n};\nvar panelWidth = {\n full: '100%',\n auto: 'auto',\n xs: 272,\n sm: 340,\n md1: 592,\n md2: 644,\n lg: 940,\n};\nvar panelMargin = {\n auto: 'auto',\n none: 0,\n md: 48,\n lg: 428,\n xl: 176,\n};\n// Following consts are used below in `getPanelBreakpoints()` function to provide\n// necessary fallbacks for different types of Panel in different breakpoints.\nvar smallPanelSelectors = (_a = {},\n _a[\"@media (min-width: \" + ScreenWidthMinMedium + \"px)\"] = {\n width: panelWidth.sm,\n },\n _a);\nvar mediumPanelSelectors = (_b = {},\n _b[\"@media (min-width: \" + ScreenWidthMinLarge + \"px)\"] = {\n width: panelWidth.md1,\n },\n _b[\"@media (min-width: \" + ScreenWidthMinXLarge + \"px)\"] = {\n width: panelWidth.md2,\n },\n _b);\nvar largePanelSelectors = (_c = {},\n _c[\"@media (min-width: \" + ScreenWidthMinUhfMobile + \"px)\"] = {\n left: panelMargin.md,\n width: panelWidth.auto,\n },\n _c[\"@media (min-width: \" + ScreenWidthMinXXLarge + \"px)\"] = {\n left: panelMargin.lg,\n },\n _c);\nvar largeFixedPanelSelectors = (_d = {},\n _d[\"@media (min-width: \" + ScreenWidthMinXXLarge + \"px)\"] = {\n left: panelMargin.auto,\n width: panelWidth.lg,\n },\n _d);\nvar extraLargePanelSelectors = (_e = {},\n _e[\"@media (min-width: \" + ScreenWidthMinXXLarge + \"px)\"] = {\n left: panelMargin.xl,\n },\n _e);\n// Make sure Panels have fallbacks to different breakpoints by reusing same selectors.\n// This is done in the effort to follow design redlines.\nvar getPanelBreakpoints = function (type) {\n var selectors;\n // Panel types `smallFluid`, `smallFixedNear`, `custom` and `customNear`\n // are not checked in here because they render the same in all the breakpoints\n // and have the checks done separately in the `getStyles` function below.\n switch (type) {\n case PanelType.smallFixedFar:\n selectors = __assign({}, smallPanelSelectors);\n break;\n case PanelType.medium:\n selectors = __assign(__assign({}, smallPanelSelectors), mediumPanelSelectors);\n break;\n case PanelType.large:\n selectors = __assign(__assign(__assign({}, smallPanelSelectors), mediumPanelSelectors), largePanelSelectors);\n break;\n case PanelType.largeFixed:\n selectors = __assign(__assign(__assign(__assign({}, smallPanelSelectors), mediumPanelSelectors), largePanelSelectors), largeFixedPanelSelectors);\n break;\n case PanelType.extraLarge:\n selectors = __assign(__assign(__assign(__assign({}, smallPanelSelectors), mediumPanelSelectors), largePanelSelectors), extraLargePanelSelectors);\n break;\n default:\n break;\n }\n return selectors;\n};\nvar commandBarHeight = '44px';\nvar sharedPaddingStyles = {\n paddingLeft: '24px',\n paddingRight: '24px',\n};\nexport var getStyles = function (props) {\n var _a, _b, _c, _d;\n var className = props.className, focusTrapZoneClassName = props.focusTrapZoneClassName, hasCloseButton = props.hasCloseButton, headerClassName = props.headerClassName, isAnimating = props.isAnimating, isFooterSticky = props.isFooterSticky, isFooterAtBottom = props.isFooterAtBottom, isOnRightSide = props.isOnRightSide, isOpen = props.isOpen, isHiddenOnDismiss = props.isHiddenOnDismiss, hasCustomNavigation = props.hasCustomNavigation, theme = props.theme, _e = props.type, type = _e === void 0 ? PanelType.smallFixedFar : _e;\n var effects = theme.effects, fonts = theme.fonts, semanticColors = theme.semanticColors;\n var classNames = getGlobalClassNames(GlobalClassNames, theme);\n var isCustomPanel = type === PanelType.custom || type === PanelType.customNear;\n return {\n root: [\n classNames.root,\n theme.fonts.medium,\n isOpen && classNames.isOpen,\n hasCloseButton && classNames.hasCloseButton,\n {\n pointerEvents: 'none',\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n },\n isCustomPanel && isOnRightSide && classNames.custom,\n isCustomPanel && !isOnRightSide && classNames.customNear,\n className,\n ],\n overlay: [\n {\n pointerEvents: 'auto',\n cursor: 'pointer',\n },\n isOpen && isAnimating && AnimationClassNames.fadeIn100,\n !isOpen && isAnimating && AnimationClassNames.fadeOut100,\n ],\n hiddenPanel: [\n !isOpen &&\n !isAnimating &&\n isHiddenOnDismiss && {\n visibility: 'hidden',\n },\n ],\n main: [\n classNames.main,\n {\n backgroundColor: semanticColors.bodyBackground,\n boxShadow: effects.elevation64,\n pointerEvents: 'auto',\n position: 'absolute',\n display: 'flex',\n flexDirection: 'column',\n overflowX: 'hidden',\n overflowY: 'auto',\n WebkitOverflowScrolling: 'touch',\n bottom: 0,\n top: 0,\n // left, right, width are overridden depending on the type of the Panel and the screen breakpoint.\n left: panelMargin.auto,\n right: panelMargin.none,\n width: panelWidth.full,\n selectors: __assign((_a = {}, _a[HighContrastSelector] = {\n borderLeft: \"3px solid \" + semanticColors.variantBorder,\n borderRight: \"3px solid \" + semanticColors.variantBorder,\n }, _a), getPanelBreakpoints(type)),\n },\n type === PanelType.smallFluid && {\n left: panelMargin.none,\n },\n type === PanelType.smallFixedNear && {\n left: panelMargin.none,\n right: panelMargin.auto,\n width: panelWidth.xs,\n },\n type === PanelType.customNear && {\n right: 'auto',\n left: 0,\n },\n isCustomPanel && {\n maxWidth: '100vw',\n },\n isOpen && isAnimating && !isOnRightSide && AnimationClassNames.slideRightIn40,\n isOpen && isAnimating && isOnRightSide && AnimationClassNames.slideLeftIn40,\n !isOpen && isAnimating && !isOnRightSide && AnimationClassNames.slideLeftOut40,\n !isOpen && isAnimating && isOnRightSide && AnimationClassNames.slideRightOut40,\n focusTrapZoneClassName,\n ],\n commands: [\n classNames.commands,\n {\n marginTop: 18,\n selectors: (_b = {},\n _b[\"@media (min-height: \" + ScreenWidthMinMedium + \"px)\"] = {\n backgroundColor: semanticColors.bodyBackground,\n position: 'sticky',\n top: 0,\n zIndex: 1,\n },\n _b),\n },\n hasCustomNavigation && {\n marginTop: 'inherit',\n },\n ],\n navigation: [\n classNames.navigation,\n {\n display: 'flex',\n justifyContent: 'flex-end',\n },\n hasCustomNavigation && {\n height: commandBarHeight,\n },\n ],\n contentInner: [\n classNames.contentInner,\n {\n display: 'flex',\n flexDirection: 'column',\n flexGrow: 1,\n overflowY: 'hidden',\n },\n ],\n header: [\n classNames.header,\n sharedPaddingStyles,\n {\n alignSelf: 'flex-start',\n },\n hasCloseButton &&\n !hasCustomNavigation && {\n flexGrow: 1,\n },\n hasCustomNavigation && {\n // Ensure that title doesn't shrink if screen is too small\n flexShrink: 0,\n },\n ],\n headerText: [\n classNames.headerText,\n fonts.xLarge,\n {\n color: semanticColors.bodyText,\n lineHeight: '27px',\n overflowWrap: 'break-word',\n wordWrap: 'break-word',\n wordBreak: 'break-word',\n hyphens: 'auto',\n },\n headerClassName,\n ],\n scrollableContent: [\n classNames.scrollableContent,\n {\n overflowY: 'auto',\n },\n isFooterAtBottom && {\n flexGrow: 1,\n display: 'inherit',\n flexDirection: 'inherit',\n },\n ],\n content: [\n classNames.content,\n sharedPaddingStyles,\n {\n paddingBottom: 20,\n },\n isFooterAtBottom && {\n selectors: (_c = {},\n _c[\"@media (min-height: \" + ScreenWidthMinMedium + \"px)\"] = {\n flexGrow: 1,\n },\n _c),\n },\n ],\n footer: [\n classNames.footer,\n {\n // Ensure that footer doesn't shrink if screen is too small\n flexShrink: 0,\n borderTop: '1px solid transparent',\n transition: \"opacity \" + AnimationVariables.durationValue3 + \" \" + AnimationVariables.easeFunction2,\n selectors: (_d = {},\n _d[\"@media (min-height: \" + ScreenWidthMinMedium + \"px)\"] = {\n background: semanticColors.bodyBackground,\n position: 'sticky',\n bottom: 0,\n },\n _d),\n },\n isFooterSticky && {\n background: semanticColors.bodyBackground,\n borderTopColor: semanticColors.variantBorder,\n },\n ],\n footerInner: [\n classNames.footerInner,\n sharedPaddingStyles,\n {\n paddingBottom: 16,\n paddingTop: 16,\n },\n ],\n subComponentStyles: {\n closeButton: {\n root: [\n classNames.closeButton,\n {\n marginRight: 14,\n color: theme.palette.neutralSecondary,\n fontSize: IconFontSizes.large,\n },\n hasCustomNavigation && {\n marginRight: 0,\n height: 'auto',\n width: '44px',\n },\n ],\n rootHovered: {\n color: theme.palette.neutralPrimary,\n },\n },\n },\n };\n};\n//# sourceMappingURL=Panel.styles.js.map","import { styled } from '../../Utilities';\nimport { PanelBase } from './Panel.base';\nimport { getStyles } from './Panel.styles';\n/**\n * Panel description\n */\nexport var Panel = styled(PanelBase, getStyles, undefined, {\n scope: 'Panel',\n});\n//# sourceMappingURL=Panel.js.map","/**\n * {@docCategory Panel}\n */\nexport var PanelType;\n(function (PanelType) {\n /**\n * Renders the Panel with a `fluid` (full screen) width.\n * Recommended for use on small screen breakpoints.\n * - Small (320-479): full screen width, 16px left/right padding\n * - Medium (480-639): full screen width, 16px left/right padding\n * - Large (640-1023): full screen width, 32px left/right padding\n * - XLarge (1024-1365): full screen width, 32px left/right padding\n * - XXLarge (1366-up): full screen width, 40px left/right padding\n */\n PanelType[PanelType[\"smallFluid\"] = 0] = \"smallFluid\";\n /**\n * Renders the Panel in fixed-width `small` size, anchored to the far side (right in LTR mode).\n * - Small (320-479): adapts to `PanelType.smallFluid` at this breakpoint\n * - Medium (480-639): 340px width, 16px left/right padding\n * - Large (640-1023): 340px width, 32px left/right padding\n * - XLarge (1024-1365): 340px width, 32px left/right padding\n * - XXLarge (1366-up): 340px width, 40px left/right padding\n */\n PanelType[PanelType[\"smallFixedFar\"] = 1] = \"smallFixedFar\";\n /**\n * Renders the Panel in fixed-width `small` size, anchored to the near side (left in LTR mode).\n * - Small (320-479): 272px width, 16px left/right padding\n * - Medium (480-639): 272px width, 16px left/right padding\n * - Large (640-1023): 272px width, 32px left/right padding\n * - XLarge (1024-1365): 272px width, 32px left/right padding\n * - XXLarge (1366-up): 272px width, 40px left/right padding\n */\n PanelType[PanelType[\"smallFixedNear\"] = 2] = \"smallFixedNear\";\n /**\n * Renders the Panel in `medium` size, anchored to the far side (right in LTR mode).\n * - Small (320-479): adapts to `PanelType.smallFluid` at this breakpoint\n * - Medium (480-639): adapts to `PanelType.smallFixedFar` at this breakpoint\n * - Large (640-1023): 592px width, 32px left/right padding\n * - XLarge (1024-1365): 644px width, 32px left/right padding\n * - XXLarge (1366-up): 644px width, 40px left/right padding\n */\n PanelType[PanelType[\"medium\"] = 3] = \"medium\";\n /**\n * Renders the Panel in `large` size, anchored to the far side (right in LTR mode).\n * - Small (320-479): adapts to `PanelType.smallFluid` at this breakpoint\n * - Medium (480-639): adapts to `PanelType.smallFixedFar` at this breakpoint\n * - Large (640-1023): adapts to `PanelType.medium` at this breakpoint\n * - XLarge (1024-1365): 48px fixed left margin, fluid width, 32px left/right padding\n * - XXLarge (1366-up): 428px fixed left margin, fluid width, 40px left/right padding\n */\n PanelType[PanelType[\"large\"] = 4] = \"large\";\n /**\n * Renders the Panel in `large` size, anchored to the far side (right in LTR mode), with a fixed width at\n * XX-Large breakpoint.\n * - Small (320-479): adapts to `PanelType.smallFluid` at this breakpoint\n * - Medium (480-639): adapts to `PanelType.smallFixedFar` at this breakpoint\n * - Large (640-1023): adapts to `PanelType.medium` at this breakpoint\n * - XLarge (1024-1365): 48px fixed left margin, fluid width, 32px left/right padding\n * - XXLarge (1366-up): 940px width, 40px left/right padding\n */\n PanelType[PanelType[\"largeFixed\"] = 5] = \"largeFixed\";\n /**\n * Renders the Panel in `extra large` size, anchored to the far side (right in LTR mode).\n * - Small (320-479): adapts to `PanelType.smallFluid` at this breakpoint\n * - Medium (480-639): adapts to `PanelType.smallFixedFar` at this breakpoint\n * - Large (640-1023): adapts to `PanelType.medium` at this breakpoint\n * - XLarge (1024-1365): adapts to `PanelType.large` at this breakpoint\n * - XXLarge (1366-1919): 176px fixed left margin, fluid width, 40px left/right padding\n * - XXXLarge (1920-up): 176px fixed left margin, fluid width, 40px left/right padding\n */\n PanelType[PanelType[\"extraLarge\"] = 6] = \"extraLarge\";\n /**\n * Renders the Panel in `custom` size using `customWidth`, anchored to the far side (right in LTR mode).\n * - Has a fixed width provided by the `customWidth` prop\n * - When screen width reaches the `customWidth` value it will behave like a fluid width Panel\n * taking up 100% of the viewport width\n */\n PanelType[PanelType[\"custom\"] = 7] = \"custom\";\n /**\n * Renders the Panel in `custom` size using `customWidth`, anchored to the near side (left in LTR mode).\n * - Has a fixed width provided by the `customWidth` prop\n * - When screen width reaches the `customWidth` value it will behave like a fluid width Panel\n * taking up 100% of the viewport width\n */\n PanelType[PanelType[\"customNear\"] = 8] = \"customNear\";\n})(PanelType || (PanelType = {}));\n//# sourceMappingURL=Panel.types.js.map","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { classNamesFunction, divProperties, getNativeProps, getPropsWithDefaults } from '../../Utilities';\nimport { TooltipHost, TooltipOverflowMode } from '../../Tooltip';\nimport { PersonaCoin } from './PersonaCoin/PersonaCoin';\nimport { PersonaPresence as PersonaPresenceEnum, PersonaSize } from './Persona.types';\nimport { useWarnings, useMergedRefs } from '@fluentui/react-hooks';\nimport { DirectionalHint } from '../../common/DirectionalHint';\nvar getClassNames = classNamesFunction();\nvar DEFAULT_PROPS = {\n size: PersonaSize.size48,\n presence: PersonaPresenceEnum.none,\n imageAlt: '',\n showOverflowTooltip: true,\n};\nfunction useDebugWarnings(props) {\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks -- build-time conditional\n useWarnings({\n name: 'Persona',\n props: props,\n deprecations: { primaryText: 'text' },\n });\n }\n}\n/**\n * Persona with no default styles.\n * [Use the `styles` API to add your own styles.](https://github.com/microsoft/fluentui/wiki/Styling)\n */\nexport var PersonaBase = React.forwardRef(function (propsWithoutDefaults, forwardedRef) {\n var props = getPropsWithDefaults(DEFAULT_PROPS, propsWithoutDefaults);\n useDebugWarnings(props);\n var rootRef = React.useRef(null);\n var mergedRootRef = useMergedRefs(forwardedRef, rootRef);\n /**\n * Deprecation helper for getting text.\n */\n var getText = function () {\n // eslint-disable-next-line deprecation/deprecation\n return props.text || props.primaryText || '';\n };\n /**\n * Renders various types of Text (primaryText, secondaryText, etc)\n * based on the classNames passed\n * @param elementClassNames - element className\n * @param renderFunction - render function\n * @param defaultRenderFunction - default render function\n */\n var renderElement = function (elementClassNames, renderFunction, defaultRenderFunction) {\n return (React.createElement(\"div\", { dir: \"auto\", className: elementClassNames }, renderFunction && renderFunction(props, defaultRenderFunction)));\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 var onRenderText = function (text, tooltip) {\n if (tooltip === void 0) { tooltip = true; }\n // return default render behavior for valid text or undefined\n return text\n ? tooltip\n ? function () {\n // default onRender behavior\n return (React.createElement(TooltipHost, { content: text, overflowMode: TooltipOverflowMode.Parent, directionalHint: DirectionalHint.topLeftEdge }, text));\n }\n : function () { return React.createElement(React.Fragment, null, text); }\n : undefined;\n };\n var onInternalRenderPersonaCoin = function (providedCoinProps) {\n return React.createElement(PersonaCoin, __assign({}, providedCoinProps));\n };\n // wrapping default render behavior based on various props properties\n var onInternalRenderPrimaryText = onRenderText(getText(), props.showOverflowTooltip);\n var onInternalRenderSecondaryText = onRenderText(props.secondaryText, props.showOverflowTooltip);\n var onInternalRenderTertiaryText = onRenderText(props.tertiaryText, props.showOverflowTooltip);\n var onInternalRenderOptionalText = onRenderText(props.optionalText, props.showOverflowTooltip);\n var hidePersonaDetails = props.hidePersonaDetails, _a = props.onRenderOptionalText, onRenderOptionalText = _a === void 0 ? onInternalRenderOptionalText : _a, _b = props.onRenderPrimaryText, onRenderPrimaryText = _b === void 0 ? onInternalRenderPrimaryText : _b, _c = props.onRenderSecondaryText, onRenderSecondaryText = _c === void 0 ? onInternalRenderSecondaryText : _c, _d = props.onRenderTertiaryText, onRenderTertiaryText = _d === void 0 ? onInternalRenderTertiaryText : _d, _e = props.onRenderPersonaCoin, onRenderPersonaCoin = _e === void 0 ? onInternalRenderPersonaCoin : _e;\n var size = props.size;\n // These properties are to be explicitly passed into PersonaCoin because they are the only props directly used\n var allowPhoneInitials = props.allowPhoneInitials, className = props.className, coinProps = props.coinProps, showUnknownPersonaCoin = props.showUnknownPersonaCoin, coinSize = props.coinSize, styles = props.styles, imageAlt = props.imageAlt, imageInitials = props.imageInitials, imageShouldFadeIn = props.imageShouldFadeIn, imageShouldStartVisible = props.imageShouldStartVisible, imageUrl = props.imageUrl, initialsColor = props.initialsColor, initialsTextColor = props.initialsTextColor, isOutOfOffice = props.isOutOfOffice, onPhotoLoadingStateChange = props.onPhotoLoadingStateChange, \n // eslint-disable-next-line deprecation/deprecation\n onRenderCoin = props.onRenderCoin, onRenderInitials = props.onRenderInitials, presence = props.presence, presenceTitle = props.presenceTitle, presenceColors = props.presenceColors, showInitialsUntilImageLoads = props.showInitialsUntilImageLoads, showSecondaryText = props.showSecondaryText, theme = props.theme;\n var personaCoinProps = __assign({ allowPhoneInitials: allowPhoneInitials, showUnknownPersonaCoin: showUnknownPersonaCoin, coinSize: coinSize, imageAlt: imageAlt, imageInitials: imageInitials, imageShouldFadeIn: imageShouldFadeIn, imageShouldStartVisible: imageShouldStartVisible, imageUrl: imageUrl, initialsColor: initialsColor, initialsTextColor: initialsTextColor, onPhotoLoadingStateChange: onPhotoLoadingStateChange, onRenderCoin: onRenderCoin, onRenderInitials: onRenderInitials, presence: presence, presenceTitle: presenceTitle, showInitialsUntilImageLoads: showInitialsUntilImageLoads, size: size, text: getText(), isOutOfOffice: isOutOfOffice, presenceColors: presenceColors }, coinProps);\n var classNames = getClassNames(styles, {\n theme: theme,\n className: className,\n showSecondaryText: showSecondaryText,\n presence: presence,\n size: size,\n });\n var divProps = getNativeProps(props, divProperties);\n var personaDetails = (React.createElement(\"div\", { className: classNames.details },\n renderElement(classNames.primaryText, onRenderPrimaryText, onInternalRenderPrimaryText),\n renderElement(classNames.secondaryText, onRenderSecondaryText, onInternalRenderSecondaryText),\n renderElement(classNames.tertiaryText, onRenderTertiaryText, onInternalRenderTertiaryText),\n renderElement(classNames.optionalText, onRenderOptionalText, onInternalRenderOptionalText),\n props.children));\n return (React.createElement(\"div\", __assign({}, divProps, { ref: mergedRootRef, className: classNames.root, style: coinSize ? { height: coinSize, minWidth: coinSize } : undefined }),\n onRenderPersonaCoin(personaCoinProps, onRenderPersonaCoin),\n /* eslint-disable deprecation/deprecation */\n (!hidePersonaDetails ||\n size === PersonaSize.size8 ||\n size === PersonaSize.size10 ||\n size === PersonaSize.tiny) &&\n personaDetails\n /* eslint-enable deprecation/deprecation */\n ));\n});\nPersonaBase.displayName = 'PersonaBase';\n//# sourceMappingURL=Persona.base.js.map","import { FontWeights, normalize, noWrap, getGlobalClassNames } from '../../Styling';\nimport { personaSize, presenceBoolean, sizeBoolean } from './PersonaConsts';\nvar 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};\nexport var getStyles = function (props) {\n var className = props.className, showSecondaryText = props.showSecondaryText, theme = props.theme;\n var semanticColors = theme.semanticColors, fonts = theme.fonts;\n var classNames = getGlobalClassNames(GlobalClassNames, theme);\n var size = sizeBoolean(props.size);\n var presence = presenceBoolean(props.presence);\n var showSecondaryTextDefaultHeight = '16px';\n var sharedTextStyles = {\n color: semanticColors.bodySubtext,\n fontWeight: FontWeights.regular,\n fontSize: fonts.small.fontSize,\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 selectors: {\n '.contextualHost': {\n display: 'none',\n },\n },\n },\n size.isSize8 && [\n classNames.size8,\n {\n height: personaSize.size8,\n minWidth: personaSize.size8,\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 // 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 size.isSize24 && [\n classNames.size24,\n {\n height: personaSize.size24,\n minWidth: personaSize.size24,\n },\n ],\n size.isSize24 &&\n showSecondaryText && {\n height: '36px',\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 size.isSize28 &&\n showSecondaryText && {\n height: '32px',\n },\n size.isSize32 && [\n classNames.size32,\n {\n height: personaSize.size32,\n minWidth: personaSize.size32,\n },\n ],\n size.isSize40 && [\n classNames.size40,\n {\n height: personaSize.size40,\n minWidth: personaSize.size40,\n },\n ],\n size.isSize48 && classNames.size48,\n size.isSize56 && [\n classNames.size56,\n {\n height: personaSize.size56,\n minWidth: personaSize.size56,\n },\n ],\n size.isSize72 && [\n classNames.size72,\n {\n height: personaSize.size72,\n minWidth: personaSize.size72,\n },\n ],\n size.isSize100 && [\n classNames.size100,\n {\n height: personaSize.size100,\n minWidth: personaSize.size100,\n },\n ],\n size.isSize120 && [\n classNames.size120,\n {\n height: personaSize.size120,\n minWidth: personaSize.size120,\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 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 (size.isSize8 || size.isSize10) && {\n paddingLeft: 17, // increased padding because we don't render a coin at this size\n },\n (size.isSize24 || size.isSize28 || size.isSize32) && {\n padding: '0 8px',\n },\n (size.isSize40 || size.isSize48) && {\n padding: '0 12px',\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 showSecondaryText && {\n height: showSecondaryTextDefaultHeight,\n lineHeight: showSecondaryTextDefaultHeight,\n overflowX: 'hidden',\n },\n (size.isSize8 || size.isSize10) && {\n fontSize: fonts.small.fontSize,\n lineHeight: personaSize.size8,\n },\n size.isSize16 && {\n lineHeight: personaSize.size28,\n },\n (size.isSize24 || size.isSize28 || size.isSize32 || size.isSize40 || size.isSize48) &&\n showSecondaryText && {\n height: 18,\n },\n (size.isSize56 || size.isSize72 || size.isSize100 || size.isSize120) && {\n fontSize: fonts.xLarge.fontSize,\n },\n (size.isSize56 || size.isSize72 || size.isSize100 || size.isSize120) &&\n showSecondaryText && {\n height: 22,\n },\n ],\n secondaryText: [\n classNames.secondaryText,\n noWrap,\n sharedTextStyles,\n (size.isSize8 || size.isSize10 || size.isSize16 || size.isSize24 || size.isSize28 || size.isSize32) && {\n display: 'none',\n },\n showSecondaryText && {\n display: 'block',\n height: showSecondaryTextDefaultHeight,\n lineHeight: showSecondaryTextDefaultHeight,\n overflowX: 'hidden',\n },\n size.isSize24 &&\n showSecondaryText && {\n height: 18,\n },\n (size.isSize56 || size.isSize72 || size.isSize100 || size.isSize120) && {\n fontSize: fonts.medium.fontSize,\n },\n (size.isSize56 || size.isSize72 || size.isSize100 || size.isSize120) &&\n showSecondaryText && {\n height: 18,\n },\n ],\n tertiaryText: [\n classNames.tertiaryText,\n noWrap,\n sharedTextStyles,\n {\n display: 'none',\n fontSize: fonts.medium.fontSize,\n },\n (size.isSize72 || size.isSize100 || size.isSize120) && {\n display: 'block',\n },\n ],\n optionalText: [\n classNames.optionalText,\n noWrap,\n sharedTextStyles,\n {\n display: 'none',\n fontSize: fonts.medium.fontSize,\n },\n (size.isSize100 || size.isSize120) && {\n display: 'block',\n },\n ],\n textContent: [classNames.textContent, noWrap],\n };\n};\n//# sourceMappingURL=Persona.styles.js.map","import { styled } from '../../Utilities';\nimport { PersonaBase } from './Persona.base';\nimport { getStyles } from './Persona.styles';\n/**\n * Personas are used for rendering an individual's avatar, presence and details.\n * They are used within the PeoplePicker components.\n */\nexport var Persona = styled(PersonaBase, getStyles, undefined, {\n scope: 'Persona',\n});\n//# sourceMappingURL=Persona.js.map","/**\n * {@docCategory Persona}\n */\nexport var PersonaSize;\n(function (PersonaSize) {\n /**\n * Deprecated in favor of standardized numeric sizing.\n * @deprecated Use `size8` instead.\n */\n PersonaSize[PersonaSize[\"tiny\"] = 0] = \"tiny\";\n /**\n * Deprecated in favor of standardized numeric sizing.\n * @deprecated Use `size24` instead.\n */\n PersonaSize[PersonaSize[\"extraExtraSmall\"] = 1] = \"extraExtraSmall\";\n /**\n * Deprecated in favor of standardized numeric sizing.\n * @deprecated Use `size32` instead.\n */\n PersonaSize[PersonaSize[\"extraSmall\"] = 2] = \"extraSmall\";\n /**\n * Deprecated in favor of standardized numeric sizing.\n * @deprecated Use `size40` instead.\n */\n PersonaSize[PersonaSize[\"small\"] = 3] = \"small\";\n /**\n * Deprecated in favor of standardized numeric sizing.\n * @deprecated Use `size48` instead.\n */\n PersonaSize[PersonaSize[\"regular\"] = 4] = \"regular\";\n /**\n * Deprecated in favor of standardized numeric sizing.\n * @deprecated Use `size72` instead.\n */\n PersonaSize[PersonaSize[\"large\"] = 5] = \"large\";\n /**\n * Deprecated in favor of standardized numeric sizing.\n * @deprecated Use `size100` instead.\n */\n PersonaSize[PersonaSize[\"extraLarge\"] = 6] = \"extraLarge\";\n /**\n * No `PersonaCoin` is rendered.\n */\n PersonaSize[PersonaSize[\"size8\"] = 17] = \"size8\";\n /**\n * No `PersonaCoin` is rendered. Deprecated to align with design specifications.\n * @deprecated Use `size8` instead.\n */\n PersonaSize[PersonaSize[\"size10\"] = 9] = \"size10\";\n /**\n * Renders a 16px `PersonaCoin`.\n * @deprecated Deprecated due to not being in the design specification.\n */\n PersonaSize[PersonaSize[\"size16\"] = 8] = \"size16\";\n /**\n * Renders a 24px `PersonaCoin`.\n */\n PersonaSize[PersonaSize[\"size24\"] = 10] = \"size24\";\n /**\n * Renders a 28px `PersonaCoin`.\n * @deprecated Deprecated due to not being in the design specification.\n */\n PersonaSize[PersonaSize[\"size28\"] = 7] = \"size28\";\n /**\n * Renders a 32px `PersonaCoin`.\n */\n PersonaSize[PersonaSize[\"size32\"] = 11] = \"size32\";\n /**\n * Renders a 40px `PersonaCoin`.\n */\n PersonaSize[PersonaSize[\"size40\"] = 12] = \"size40\";\n /**\n * Renders a 48px `PersonaCoin`.\n */\n PersonaSize[PersonaSize[\"size48\"] = 13] = \"size48\";\n /**\n * Renders a 56px `PersonaCoin`.\n */\n PersonaSize[PersonaSize[\"size56\"] = 16] = \"size56\";\n /**\n * Renders a 72px `PersonaCoin`.\n */\n PersonaSize[PersonaSize[\"size72\"] = 14] = \"size72\";\n /**\n * Renders a 100px `PersonaCoin`.\n */\n PersonaSize[PersonaSize[\"size100\"] = 15] = \"size100\";\n /**\n * Renders a 120px `PersonaCoin`.\n */\n PersonaSize[PersonaSize[\"size120\"] = 18] = \"size120\";\n})(PersonaSize || (PersonaSize = {}));\n/**\n * {@docCategory Persona}\n */\nexport var PersonaPresence;\n(function (PersonaPresence) {\n PersonaPresence[PersonaPresence[\"none\"] = 0] = \"none\";\n PersonaPresence[PersonaPresence[\"offline\"] = 1] = \"offline\";\n PersonaPresence[PersonaPresence[\"online\"] = 2] = \"online\";\n PersonaPresence[PersonaPresence[\"away\"] = 3] = \"away\";\n PersonaPresence[PersonaPresence[\"dnd\"] = 4] = \"dnd\";\n PersonaPresence[PersonaPresence[\"blocked\"] = 5] = \"blocked\";\n PersonaPresence[PersonaPresence[\"busy\"] = 6] = \"busy\";\n})(PersonaPresence || (PersonaPresence = {}));\n/**\n * {@docCategory Persona}\n */\nexport var PersonaInitialsColor;\n(function (PersonaInitialsColor) {\n PersonaInitialsColor[PersonaInitialsColor[\"lightBlue\"] = 0] = \"lightBlue\";\n PersonaInitialsColor[PersonaInitialsColor[\"blue\"] = 1] = \"blue\";\n PersonaInitialsColor[PersonaInitialsColor[\"darkBlue\"] = 2] = \"darkBlue\";\n PersonaInitialsColor[PersonaInitialsColor[\"teal\"] = 3] = \"teal\";\n PersonaInitialsColor[PersonaInitialsColor[\"lightGreen\"] = 4] = \"lightGreen\";\n PersonaInitialsColor[PersonaInitialsColor[\"green\"] = 5] = \"green\";\n PersonaInitialsColor[PersonaInitialsColor[\"darkGreen\"] = 6] = \"darkGreen\";\n PersonaInitialsColor[PersonaInitialsColor[\"lightPink\"] = 7] = \"lightPink\";\n PersonaInitialsColor[PersonaInitialsColor[\"pink\"] = 8] = \"pink\";\n PersonaInitialsColor[PersonaInitialsColor[\"magenta\"] = 9] = \"magenta\";\n PersonaInitialsColor[PersonaInitialsColor[\"purple\"] = 10] = \"purple\";\n /**\n * @deprecated `black` is a color that can result in offensive persona coins with some initials combinations,\n * so it can only be set with overrides. Will be removed in a future major release.\n */\n PersonaInitialsColor[PersonaInitialsColor[\"black\"] = 11] = \"black\";\n PersonaInitialsColor[PersonaInitialsColor[\"orange\"] = 12] = \"orange\";\n /**\n * @deprecated `red` is a color that often has a special meaning, so it is considered a reserved color and\n * can only be set with overrides. Will be removed in a future major release.\n */\n PersonaInitialsColor[PersonaInitialsColor[\"red\"] = 13] = \"red\";\n PersonaInitialsColor[PersonaInitialsColor[\"darkRed\"] = 14] = \"darkRed\";\n /**\n * Transparent is not intended to be used with typical initials due to accessibility issues.\n * Its primary use is for overflow buttons, so it is considered a reserved color and can only be set with overrides.\n */\n PersonaInitialsColor[PersonaInitialsColor[\"transparent\"] = 15] = \"transparent\";\n PersonaInitialsColor[PersonaInitialsColor[\"violet\"] = 16] = \"violet\";\n PersonaInitialsColor[PersonaInitialsColor[\"lightRed\"] = 17] = \"lightRed\";\n PersonaInitialsColor[PersonaInitialsColor[\"gold\"] = 18] = \"gold\";\n PersonaInitialsColor[PersonaInitialsColor[\"burgundy\"] = 19] = \"burgundy\";\n PersonaInitialsColor[PersonaInitialsColor[\"warmGray\"] = 20] = \"warmGray\";\n PersonaInitialsColor[PersonaInitialsColor[\"coolGray\"] = 21] = \"coolGray\";\n /**\n * `gray` is a color that can result in offensive persona coins with some initials combinations,\n * so it can only be set with overrides.\n */\n PersonaInitialsColor[PersonaInitialsColor[\"gray\"] = 22] = \"gray\";\n PersonaInitialsColor[PersonaInitialsColor[\"cyan\"] = 23] = \"cyan\";\n PersonaInitialsColor[PersonaInitialsColor[\"rust\"] = 24] = \"rust\";\n})(PersonaInitialsColor || (PersonaInitialsColor = {}));\n//# sourceMappingURL=Persona.types.js.map","import * as React from 'react';\nimport { classNamesFunction } from '../../../Utilities';\nimport { Icon } from '../../../Icon';\nimport { PersonaPresence as PersonaPresenceEnum } from '../Persona.types';\nimport { sizeBoolean } from '../PersonaConsts';\nimport { useMergedRefs } from '@fluentui/react-hooks';\nvar coinSizeFontScaleFactor = 6;\nvar coinSizePresenceScaleFactor = 3;\nvar presenceMaxSize = 40;\nvar presenceFontMaxSize = 20;\nvar getClassNames = classNamesFunction({\n // There can be many PersonaPresence rendered with different sizes.\n // Therefore setting a larger cache size.\n cacheSize: 100,\n});\n/**\n * PersonaPresence with no default styles.\n * [Use the `getStyles` API to add your own styles.](https://github.com/microsoft/fluentui/wiki/Styling)\n */\nexport var PersonaPresenceBase = React.forwardRef(function (props, forwardedRef) {\n var coinSize = props.coinSize, isOutOfOffice = props.isOutOfOffice, styles = props.styles, // Use getStyles from props.\n presence = props.presence, theme = props.theme, presenceTitle = props.presenceTitle, presenceColors = props.presenceColors;\n var rootRef = React.useRef(null);\n var mergedRootRef = useMergedRefs(forwardedRef, rootRef);\n var size = sizeBoolean(props.size);\n // Render Presence Icon if Persona is above size 32.\n var renderIcon = !(size.isSize8 || size.isSize10 || size.isSize16 || size.isSize24 || size.isSize28 || size.isSize32) &&\n (coinSize ? coinSize > 32 : true);\n var presenceHeightWidth = coinSize\n ? coinSize / coinSizePresenceScaleFactor < presenceMaxSize\n ? coinSize / coinSizePresenceScaleFactor + 'px'\n : presenceMaxSize + 'px'\n : '';\n var presenceFontSize = coinSize\n ? coinSize / coinSizeFontScaleFactor < presenceFontMaxSize\n ? coinSize / coinSizeFontScaleFactor + 'px'\n : presenceFontMaxSize + 'px'\n : '';\n var coinSizeWithPresenceIconStyle = coinSize\n ? { fontSize: presenceFontSize, lineHeight: presenceHeightWidth }\n : undefined;\n var coinSizeWithPresenceStyle = coinSize ? { width: presenceHeightWidth, height: presenceHeightWidth } : undefined;\n // Use getStyles from props, or fall back to getStyles from styles file.\n var classNames = getClassNames(styles, {\n theme: theme,\n presence: presence,\n size: props.size,\n isOutOfOffice: isOutOfOffice,\n presenceColors: presenceColors,\n });\n if (presence === PersonaPresenceEnum.none) {\n return null;\n }\n return (React.createElement(\"div\", { role: \"presentation\", className: classNames.presence, style: coinSizeWithPresenceStyle, title: presenceTitle, ref: mergedRootRef }, renderIcon && (React.createElement(Icon, { className: classNames.presenceIcon, iconName: determineIcon(props.presence, props.isOutOfOffice), style: coinSizeWithPresenceIconStyle }))));\n});\nPersonaPresenceBase.displayName = 'PersonaPresenceBase';\nfunction determineIcon(presence, isOutOfOffice) {\n if (!presence) {\n return undefined;\n }\n var oofIcon = 'SkypeArrow';\n switch (PersonaPresenceEnum[presence]) {\n case 'online':\n return 'SkypeCheck';\n case 'away':\n return isOutOfOffice ? oofIcon : 'SkypeClock';\n case 'dnd':\n return 'SkypeMinus';\n case 'offline':\n return isOutOfOffice ? oofIcon : '';\n }\n return '';\n}\n//# sourceMappingURL=PersonaPresence.base.js.map","import { __assign } from \"tslib\";\nimport { HighContrastSelector, getGlobalClassNames, getHighContrastNoAdjustStyle } from '../../../Styling';\nimport { personaPresenceSize, presenceBoolean, sizeBoolean } from '../PersonaConsts';\nvar GlobalClassNames = {\n presence: 'ms-Persona-presence',\n presenceIcon: 'ms-Persona-presenceIcon',\n};\nexport var getStyles = function (props) {\n var _a, _b, _c, _d, _e, _f;\n var theme = props.theme, presenceColors = props.presenceColors;\n var semanticColors = theme.semanticColors, fonts = theme.fonts;\n var classNames = getGlobalClassNames(GlobalClassNames, theme);\n var size = sizeBoolean(props.size);\n var presence = presenceBoolean(props.presence);\n // Presence colors\n var presenceColorAvailable = (presenceColors && presenceColors.available) || '#6BB700';\n var presenceColorAway = (presenceColors && presenceColors.away) || '#FFAA44';\n var presenceColorBusy = (presenceColors && presenceColors.busy) || '#C43148';\n var presenceColorDnd = (presenceColors && presenceColors.dnd) || '#C50F1F';\n var presenceColorOffline = (presenceColors && presenceColors.offline) || '#8A8886';\n var presenceColorOof = (presenceColors && presenceColors.oof) || '#B4009E';\n var presenceColorBackground = (presenceColors && presenceColors.background) || semanticColors.bodyBackground;\n var isOpenCirclePresence = presence.isOffline ||\n (props.isOutOfOffice && (presence.isAvailable || presence.isBusy || presence.isAway || presence.isDoNotDisturb));\n var borderSizeForSmallPersonas = '1px';\n var borderSizeForLargePersonas = '2px';\n var borderSize = size.isSize72 || size.isSize100 ? borderSizeForLargePersonas : borderSizeForSmallPersonas;\n return {\n presence: [\n classNames.presence,\n __assign(__assign({ position: 'absolute', height: personaPresenceSize.size12, width: personaPresenceSize.size12, borderRadius: '50%', top: 'auto', right: '-2px', bottom: '-2px', border: \"2px solid \" + presenceColorBackground, textAlign: 'center', boxSizing: 'content-box', backgroundClip: 'border-box' }, getHighContrastNoAdjustStyle()), { selectors: (_a = {},\n _a[HighContrastSelector] = {\n borderColor: 'Window',\n backgroundColor: 'WindowText',\n },\n _a) }),\n (size.isSize8 || size.isSize10) && {\n right: 'auto',\n top: '7px',\n left: 0,\n border: 0,\n selectors: (_b = {},\n _b[HighContrastSelector] = {\n top: '9px',\n border: '1px solid WindowText',\n },\n _b),\n },\n (size.isSize8 || size.isSize10 || size.isSize24 || size.isSize28 || size.isSize32) &&\n makeSizeStyle(personaPresenceSize.size8),\n (size.isSize40 || size.isSize48) && makeSizeStyle(personaPresenceSize.size12),\n size.isSize16 && {\n height: personaPresenceSize.size6,\n width: personaPresenceSize.size6,\n borderWidth: '1.5px',\n },\n size.isSize56 && makeSizeStyle(personaPresenceSize.size16),\n size.isSize72 && makeSizeStyle(personaPresenceSize.size20),\n size.isSize100 && makeSizeStyle(personaPresenceSize.size28),\n size.isSize120 && makeSizeStyle(personaPresenceSize.size32),\n presence.isAvailable && {\n backgroundColor: presenceColorAvailable,\n selectors: (_c = {},\n _c[HighContrastSelector] = backgroundColor('Highlight'),\n _c),\n },\n presence.isAway && backgroundColor(presenceColorAway),\n presence.isBlocked && [\n {\n selectors: (_d = {\n // Only show :after at larger sizes\n ':after': size.isSize40 || size.isSize48 || size.isSize72 || size.isSize100\n ? {\n content: '\"\"',\n width: '100%',\n height: borderSize,\n backgroundColor: presenceColorBusy,\n transform: 'translateY(-50%) rotate(-45deg)',\n position: 'absolute',\n top: '50%',\n left: 0,\n }\n : undefined\n },\n _d[HighContrastSelector] = {\n selectors: {\n ':after': {\n width: \"calc(100% - 4px)\",\n left: '2px',\n backgroundColor: 'Window',\n },\n },\n },\n _d),\n },\n ],\n presence.isBusy && backgroundColor(presenceColorBusy),\n presence.isDoNotDisturb && backgroundColor(presenceColorDnd),\n presence.isOffline && backgroundColor(presenceColorOffline),\n (isOpenCirclePresence || presence.isBlocked) && [\n {\n backgroundColor: presenceColorBackground,\n selectors: (_e = {\n ':before': {\n content: '\"\"',\n width: '100%',\n height: '100%',\n position: 'absolute',\n top: 0,\n left: 0,\n border: borderSize + \" solid \" + presenceColorBusy,\n borderRadius: '50%',\n boxSizing: 'border-box',\n }\n },\n _e[HighContrastSelector] = {\n backgroundColor: 'WindowText',\n selectors: {\n ':before': {\n width: \"calc(100% - 2px)\",\n height: \"calc(100% - 2px)\",\n top: '1px',\n left: '1px',\n borderColor: 'Window',\n },\n },\n },\n _e),\n },\n ],\n isOpenCirclePresence && presence.isAvailable && makeBeforeBorderStyle(borderSize, presenceColorAvailable),\n isOpenCirclePresence && presence.isBusy && makeBeforeBorderStyle(borderSize, presenceColorBusy),\n isOpenCirclePresence && presence.isAway && makeBeforeBorderStyle(borderSize, presenceColorOof),\n isOpenCirclePresence && presence.isDoNotDisturb && makeBeforeBorderStyle(borderSize, presenceColorDnd),\n isOpenCirclePresence && presence.isOffline && makeBeforeBorderStyle(borderSize, presenceColorOffline),\n isOpenCirclePresence &&\n presence.isOffline &&\n props.isOutOfOffice &&\n makeBeforeBorderStyle(borderSize, presenceColorOof),\n ],\n presenceIcon: [\n classNames.presenceIcon,\n {\n color: presenceColorBackground,\n fontSize: '6px',\n lineHeight: personaPresenceSize.size12,\n verticalAlign: 'top',\n selectors: (_f = {},\n _f[HighContrastSelector] = {\n color: 'Window',\n },\n _f),\n },\n size.isSize56 && {\n fontSize: '8px',\n lineHeight: personaPresenceSize.size16,\n },\n size.isSize72 && {\n fontSize: fonts.small.fontSize,\n lineHeight: personaPresenceSize.size20,\n },\n size.isSize100 && {\n fontSize: fonts.medium.fontSize,\n lineHeight: personaPresenceSize.size28,\n },\n size.isSize120 && {\n fontSize: fonts.medium.fontSize,\n lineHeight: personaPresenceSize.size32,\n },\n presence.isAway && {\n position: 'relative',\n left: isOpenCirclePresence ? undefined : '1px',\n },\n isOpenCirclePresence && presence.isAvailable && makeOpenCircleIconStyle(presenceColorAvailable),\n isOpenCirclePresence && presence.isBusy && makeOpenCircleIconStyle(presenceColorBusy),\n isOpenCirclePresence && presence.isAway && makeOpenCircleIconStyle(presenceColorOof),\n isOpenCirclePresence && presence.isDoNotDisturb && makeOpenCircleIconStyle(presenceColorDnd),\n isOpenCirclePresence && presence.isOffline && makeOpenCircleIconStyle(presenceColorOffline),\n isOpenCirclePresence && presence.isOffline && props.isOutOfOffice && makeOpenCircleIconStyle(presenceColorOof),\n ],\n };\n};\nfunction makeOpenCircleIconStyle(color) {\n return {\n color: color,\n borderColor: color,\n };\n}\nfunction makeBeforeBorderStyle(borderSize, color) {\n return {\n selectors: {\n ':before': {\n border: borderSize + \" solid \" + color,\n },\n },\n };\n}\nfunction makeSizeStyle(size) {\n return {\n height: size,\n width: size,\n };\n}\nfunction backgroundColor(color) {\n return { backgroundColor: color };\n}\n//# sourceMappingURL=PersonaPresence.styles.js.map","import { styled } from '../../../Utilities';\nimport { PersonaPresenceBase } from './PersonaPresence.base';\nimport { getStyles } from './PersonaPresence.styles';\n/**\n * PersonaPresence is used to render an individual's presence.\n */\nexport var PersonaPresence = styled(PersonaPresenceBase, getStyles, undefined, { scope: 'PersonaPresence' });\n//# sourceMappingURL=PersonaPresence.js.map","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { classNamesFunction, divProperties, memoizeFunction, getInitials, getNativeProps, getRTL, getPropsWithDefaults, } from '../../../Utilities';\nimport { mergeStyles } from '../../../Styling';\nimport { PersonaPresence } from '../PersonaPresence/index';\nimport { Icon } from '../../../Icon';\nimport { Image, ImageFit, ImageLoadState } from '../../../Image';\nimport { PersonaPresence as PersonaPresenceEnum, PersonaSize } from '../Persona.types';\nimport { getPersonaInitialsColor } from '../PersonaInitialsColor';\nimport { sizeToPixels } from '../PersonaConsts';\nimport { useWarnings } from '@fluentui/react-hooks';\nvar getClassNames = classNamesFunction({\n // There can be many PersonaCoin rendered with different sizes.\n // Therefore setting a larger cache size.\n cacheSize: 100,\n});\nvar getInitialsStyles = memoizeFunction(function (className, initialsColor, initialsTextColor, text, primaryText, showUnknownPersonaCoin) {\n return mergeStyles(className, !showUnknownPersonaCoin && {\n backgroundColor: getPersonaInitialsColor({ text: text, initialsColor: initialsColor, primaryText: primaryText }),\n color: initialsTextColor,\n });\n});\nvar DEFAULT_PROPS = {\n size: PersonaSize.size48,\n presence: PersonaPresenceEnum.none,\n imageAlt: '',\n};\nfunction useDebugWarnings(props) {\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks -- build-time conditional\n useWarnings({\n name: 'PersonaCoin',\n props: props,\n deprecations: { primaryText: 'text' },\n });\n }\n}\nfunction useImageLoadState(_a) {\n var onPhotoLoadingStateChange = _a.onPhotoLoadingStateChange, imageUrl = _a.imageUrl;\n var _b = React.useState(ImageLoadState.notLoaded), imageLoadState = _b[0], setImageLoadstate = _b[1];\n React.useEffect(function () {\n setImageLoadstate(ImageLoadState.notLoaded);\n }, [imageUrl]);\n var onLoadingStateChange = function (loadState) {\n setImageLoadstate(loadState);\n onPhotoLoadingStateChange === null || onPhotoLoadingStateChange === void 0 ? void 0 : onPhotoLoadingStateChange(loadState);\n };\n return [imageLoadState, onLoadingStateChange];\n}\n/**\n * PersonaCoin with no default styles.\n * [Use the `getStyles` API to add your own styles.](https://github.com/microsoft/fluentui/wiki/Styling)\n */\nexport var PersonaCoinBase = React.forwardRef(function (propsWithoutDefaults, forwardedRef) {\n var props = getPropsWithDefaults(DEFAULT_PROPS, propsWithoutDefaults);\n useDebugWarnings(props);\n var _a = useImageLoadState(props), imageLoadState = _a[0], onLoadingStateChange = _a[1];\n var renderCoin = getCoinRenderer(onLoadingStateChange);\n var className = props.className, coinProps = props.coinProps, showUnknownPersonaCoin = props.showUnknownPersonaCoin, coinSize = props.coinSize, styles = props.styles, imageUrl = props.imageUrl, initialsColor = props.initialsColor, initialsTextColor = props.initialsTextColor, isOutOfOffice = props.isOutOfOffice, \n // eslint-disable-next-line deprecation/deprecation\n _b = props.onRenderCoin, \n // eslint-disable-next-line deprecation/deprecation\n onRenderCoin = _b === void 0 ? renderCoin : _b, \n // eslint-disable-next-line deprecation/deprecation\n _c = props.onRenderPersonaCoin, \n // eslint-disable-next-line deprecation/deprecation\n onRenderPersonaCoin = _c === void 0 ? onRenderCoin : _c, _d = props.onRenderInitials, onRenderInitials = _d === void 0 ? renderPersonaCoinInitials : _d, presence = props.presence, presenceTitle = props.presenceTitle, presenceColors = props.presenceColors, \n // eslint-disable-next-line deprecation/deprecation\n primaryText = props.primaryText, showInitialsUntilImageLoads = props.showInitialsUntilImageLoads, text = props.text, theme = props.theme, size = props.size;\n var divProps = getNativeProps(props, divProperties);\n var divCoinProps = getNativeProps(coinProps || {}, divProperties);\n var coinSizeStyle = coinSize ? { width: coinSize, height: coinSize } : undefined;\n var hideImage = showUnknownPersonaCoin;\n var personaPresenceProps = {\n coinSize: coinSize,\n isOutOfOffice: isOutOfOffice,\n presence: presence,\n presenceTitle: presenceTitle,\n presenceColors: presenceColors,\n size: size,\n theme: theme,\n };\n // Use getStyles from props, or fall back to getStyles from styles file.\n var classNames = getClassNames(styles, {\n theme: theme,\n className: coinProps && coinProps.className ? coinProps.className : className,\n size: size,\n coinSize: coinSize,\n showUnknownPersonaCoin: showUnknownPersonaCoin,\n });\n var shouldRenderInitials = Boolean(imageLoadState !== ImageLoadState.loaded &&\n ((showInitialsUntilImageLoads && imageUrl) || !imageUrl || imageLoadState === ImageLoadState.error || hideImage));\n return (React.createElement(\"div\", __assign({ role: \"presentation\" }, divProps, { className: classNames.coin, ref: forwardedRef }),\n // Render PersonaCoin if size is not size8. size10 and tiny need to removed after a deprecation cleanup.\n // eslint-disable-next-line deprecation/deprecation\n size !== PersonaSize.size8 && size !== PersonaSize.size10 && size !== PersonaSize.tiny ? (React.createElement(\"div\", __assign({ role: \"presentation\" }, divCoinProps, { className: classNames.imageArea, style: coinSizeStyle }),\n shouldRenderInitials && (React.createElement(\"div\", { className: getInitialsStyles(classNames.initials, initialsColor, initialsTextColor, text, primaryText, showUnknownPersonaCoin), style: coinSizeStyle, \"aria-hidden\": \"true\" }, onRenderInitials(props, renderPersonaCoinInitials))),\n !hideImage && onRenderPersonaCoin(props, renderCoin),\n React.createElement(PersonaPresence, __assign({}, personaPresenceProps)))) : // Otherwise, render just PersonaPresence.\n props.presence ? (React.createElement(PersonaPresence, __assign({}, personaPresenceProps))) : (\n // Just render Contact Icon if there isn't a Presence prop.\n React.createElement(Icon, { iconName: \"Contact\", className: classNames.size10WithoutPresenceIcon })),\n props.children));\n});\nPersonaCoinBase.displayName = 'PersonaCoinBase';\nvar getCoinRenderer = function (onLoadingStateChange) { return function (_a) {\n var coinSize = _a.coinSize, styles = _a.styles, imageUrl = _a.imageUrl, imageAlt = _a.imageAlt, imageShouldFadeIn = _a.imageShouldFadeIn, imageShouldStartVisible = _a.imageShouldStartVisible, theme = _a.theme, showUnknownPersonaCoin = _a.showUnknownPersonaCoin, _b = _a.size, size = _b === void 0 ? DEFAULT_PROPS.size : _b;\n // Render the Image component only if an image URL is provided\n if (!imageUrl) {\n return null;\n }\n var classNames = getClassNames(styles, {\n theme: theme,\n size: size,\n showUnknownPersonaCoin: showUnknownPersonaCoin,\n });\n var dimension = coinSize || sizeToPixels[size];\n return (React.createElement(Image, { className: classNames.image, imageFit: ImageFit.cover, src: imageUrl, width: dimension, height: dimension, alt: imageAlt, shouldFadeIn: imageShouldFadeIn, shouldStartVisible: imageShouldStartVisible, onLoadingStateChange: onLoadingStateChange }));\n}; };\nvar renderPersonaCoinInitials = function (_a) {\n var imageInitials = _a.imageInitials, allowPhoneInitials = _a.allowPhoneInitials, showUnknownPersonaCoin = _a.showUnknownPersonaCoin, text = _a.text, \n // eslint-disable-next-line deprecation/deprecation\n primaryText = _a.primaryText, theme = _a.theme;\n if (showUnknownPersonaCoin) {\n return React.createElement(Icon, { iconName: \"Help\" });\n }\n var isRTL = getRTL(theme);\n imageInitials = imageInitials || getInitials(text || primaryText || '', isRTL, allowPhoneInitials);\n return imageInitials !== '' ? React.createElement(\"span\", null, imageInitials) : React.createElement(Icon, { iconName: \"Contact\" });\n};\n//# sourceMappingURL=PersonaCoin.base.js.map","import { __assign } from \"tslib\";\nimport { HighContrastSelector, FontWeights, getGlobalClassNames, getHighContrastNoAdjustStyle } from '../../../Styling';\nimport { sizeBoolean, sizeToPixels } from '../PersonaConsts';\nvar GlobalClassNames = {\n coin: 'ms-Persona-coin',\n imageArea: 'ms-Persona-imageArea',\n image: 'ms-Persona-image',\n initials: 'ms-Persona-initials',\n size8: 'ms-Persona--size8',\n size10: 'ms-Persona--size10',\n size16: 'ms-Persona--size16',\n size24: 'ms-Persona--size24',\n size28: 'ms-Persona--size28',\n size32: 'ms-Persona--size32',\n size40: 'ms-Persona--size40',\n size48: 'ms-Persona--size48',\n size56: 'ms-Persona--size56',\n size72: 'ms-Persona--size72',\n size100: 'ms-Persona--size100',\n size120: 'ms-Persona--size120',\n};\nexport var getStyles = function (props) {\n var _a;\n var className = props.className, theme = props.theme, coinSize = props.coinSize;\n var palette = theme.palette, fonts = theme.fonts;\n var size = sizeBoolean(props.size);\n var classNames = getGlobalClassNames(GlobalClassNames, theme);\n // Static colors used when displaying 'unknown persona' coin\n var unknownPersonaBackgroundColor = 'rgb(234, 234, 234)';\n var unknownPersonaFontColor = 'rgb(168, 0, 0)';\n var dimension = coinSize || (props.size && sizeToPixels[props.size]) || 48;\n return {\n coin: [\n classNames.coin,\n fonts.medium,\n size.isSize8 && classNames.size8,\n size.isSize10 && classNames.size10,\n size.isSize16 && classNames.size16,\n size.isSize24 && classNames.size24,\n size.isSize28 && classNames.size28,\n size.isSize32 && classNames.size32,\n size.isSize40 && classNames.size40,\n size.isSize48 && classNames.size48,\n size.isSize56 && classNames.size56,\n size.isSize72 && classNames.size72,\n size.isSize100 && classNames.size100,\n size.isSize120 && classNames.size120,\n className,\n ],\n size10WithoutPresenceIcon: {\n fontSize: fonts.xSmall.fontSize,\n position: 'absolute',\n top: '5px',\n right: 'auto',\n left: 0,\n },\n imageArea: [\n classNames.imageArea,\n {\n position: 'relative',\n textAlign: 'center',\n flex: '0 0 auto',\n height: dimension,\n width: dimension,\n },\n dimension <= 10 && {\n overflow: 'visible',\n background: 'transparent',\n height: 0,\n width: 0,\n },\n ],\n image: [\n classNames.image,\n {\n marginRight: '10px',\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n border: 0,\n borderRadius: '50%',\n perspective: '1px',\n },\n dimension <= 10 && {\n overflow: 'visible',\n background: 'transparent',\n height: 0,\n width: 0,\n },\n dimension > 10 && {\n height: dimension,\n width: dimension,\n },\n ],\n initials: [\n classNames.initials,\n {\n borderRadius: '50%',\n color: props.showUnknownPersonaCoin ? unknownPersonaFontColor : palette.white,\n fontSize: fonts.large.fontSize,\n fontWeight: FontWeights.semibold,\n // copying the logic for the dimensions; defaulted to 46 for size48\n lineHeight: dimension === 48 ? 46 : dimension,\n height: dimension,\n selectors: (_a = {},\n _a[HighContrastSelector] = __assign(__assign({ border: '1px solid WindowText' }, getHighContrastNoAdjustStyle()), { color: 'WindowText', boxSizing: 'border-box', backgroundColor: 'Window !important' }),\n _a.i = {\n fontWeight: FontWeights.semibold,\n },\n _a),\n },\n props.showUnknownPersonaCoin && {\n backgroundColor: unknownPersonaBackgroundColor,\n },\n dimension < 32 && {\n fontSize: fonts.xSmall.fontSize,\n },\n dimension >= 32 &&\n dimension < 40 && {\n fontSize: fonts.medium.fontSize,\n },\n dimension >= 40 &&\n dimension < 56 && {\n fontSize: fonts.mediumPlus.fontSize,\n },\n dimension >= 56 &&\n dimension < 72 && {\n fontSize: fonts.xLarge.fontSize,\n },\n dimension >= 72 &&\n dimension < 100 && {\n fontSize: fonts.xxLarge.fontSize,\n },\n dimension >= 100 && {\n fontSize: fonts.superLarge.fontSize,\n },\n ],\n };\n};\n//# sourceMappingURL=PersonaCoin.styles.js.map","import { styled } from '../../../Utilities';\nimport { PersonaCoinBase } from './PersonaCoin.base';\nimport { getStyles } from './PersonaCoin.styles';\n/**\n * PersonaCoin is used to render an individual's avatar and presence.\n */\nexport var PersonaCoin = styled(PersonaCoinBase, getStyles, undefined, {\n scope: 'PersonaCoin',\n});\n//# sourceMappingURL=PersonaCoin.js.map","var _a;\nimport { PersonaPresence, PersonaSize } from './Persona.types';\n// Persona Sizes\nexport var personaSize;\n(function (personaSize) {\n personaSize.size8 = '20px';\n // TODO: remove in a future major release as it's deprecated.\n personaSize.size10 = '20px';\n // TODO: remove in a future major release as it's deprecated.\n personaSize.size16 = '16px';\n personaSize.size24 = '24px';\n // TODO: remove in a future major release as it's deprecated.\n personaSize.size28 = '28px';\n personaSize.size32 = '32px';\n personaSize.size40 = '40px';\n personaSize.size48 = '48px';\n personaSize.size56 = '56px';\n personaSize.size72 = '72px';\n personaSize.size100 = '100px';\n personaSize.size120 = '120px';\n})(personaSize || (personaSize = {}));\n// Persona Presence Sizes\nexport var personaPresenceSize;\n(function (personaPresenceSize) {\n personaPresenceSize.size6 = '6px';\n personaPresenceSize.size8 = '8px';\n personaPresenceSize.size12 = '12px';\n personaPresenceSize.size16 = '16px';\n personaPresenceSize.size20 = '20px';\n personaPresenceSize.size28 = '28px';\n personaPresenceSize.size32 = '32px';\n /**\n * @deprecated This is now unused\n */\n personaPresenceSize.border = '2px';\n})(personaPresenceSize || (personaPresenceSize = {}));\n// TODO: remove the deprecated parts in a future major release.\nexport var sizeBoolean = function (size) { return ({\n isSize8: size === PersonaSize.size8,\n /* eslint-disable deprecation/deprecation */\n isSize10: size === PersonaSize.size10 || size === PersonaSize.tiny,\n isSize16: size === PersonaSize.size16,\n isSize24: size === PersonaSize.size24 || size === PersonaSize.extraExtraSmall,\n isSize28: size === PersonaSize.size28 || size === PersonaSize.extraSmall,\n isSize32: size === PersonaSize.size32,\n isSize40: size === PersonaSize.size40 || size === PersonaSize.small,\n isSize48: size === PersonaSize.size48 || size === PersonaSize.regular,\n isSize56: size === PersonaSize.size56,\n isSize72: size === PersonaSize.size72 || size === PersonaSize.large,\n isSize100: size === PersonaSize.size100 || size === PersonaSize.extraLarge,\n isSize120: size === PersonaSize.size120,\n}); };\nexport var sizeToPixels = (_a = {},\n // Old deprecated sizes\n _a[PersonaSize.tiny] = 10,\n _a[PersonaSize.extraExtraSmall] = 24,\n _a[PersonaSize.extraSmall] = 28,\n _a[PersonaSize.small] = 40,\n _a[PersonaSize.regular] = 48,\n _a[PersonaSize.large] = 72,\n _a[PersonaSize.extraLarge] = 100,\n // New sizes\n _a[PersonaSize.size8] = 8,\n _a[PersonaSize.size10] = 10,\n _a[PersonaSize.size16] = 16,\n _a[PersonaSize.size24] = 24,\n _a[PersonaSize.size28] = 28,\n /* eslint-enable deprecation/deprecation */\n _a[PersonaSize.size32] = 32,\n _a[PersonaSize.size40] = 40,\n _a[PersonaSize.size48] = 48,\n _a[PersonaSize.size56] = 56,\n _a[PersonaSize.size72] = 72,\n _a[PersonaSize.size100] = 100,\n _a[PersonaSize.size120] = 120,\n _a);\nexport var presenceBoolean = function (presence) { return ({\n isAvailable: presence === PersonaPresence.online,\n isAway: presence === PersonaPresence.away,\n isBlocked: presence === PersonaPresence.blocked,\n isBusy: presence === PersonaPresence.busy,\n isDoNotDisturb: presence === PersonaPresence.dnd,\n isOffline: presence === PersonaPresence.offline,\n}); };\n//# sourceMappingURL=PersonaConsts.js.map","import { PersonaInitialsColor } from './Persona.types';\n/**\n * Following colors are considered reserved and can only be set with overrides, so they are excluded from this set:\n * - `gray` and `black` can result in offensive persona coins with some initials combinations\n * - `red` often has a special meaning\n * - `transparent` is not intended to be used with typical initials due to accessibility issues;\n * its primary use is for Facepile overflow buttons.\n */\nvar COLOR_SWATCHES_LOOKUP = [\n PersonaInitialsColor.lightBlue,\n PersonaInitialsColor.blue,\n PersonaInitialsColor.darkBlue,\n PersonaInitialsColor.teal,\n PersonaInitialsColor.green,\n PersonaInitialsColor.darkGreen,\n PersonaInitialsColor.lightPink,\n PersonaInitialsColor.pink,\n PersonaInitialsColor.magenta,\n PersonaInitialsColor.purple,\n PersonaInitialsColor.orange,\n PersonaInitialsColor.lightRed,\n PersonaInitialsColor.darkRed,\n PersonaInitialsColor.violet,\n PersonaInitialsColor.gold,\n PersonaInitialsColor.burgundy,\n PersonaInitialsColor.warmGray,\n PersonaInitialsColor.cyan,\n PersonaInitialsColor.rust,\n PersonaInitialsColor.coolGray,\n];\nvar COLOR_SWATCHES_NUM_ENTRIES = COLOR_SWATCHES_LOOKUP.length;\nfunction getInitialsColorFromName(displayName) {\n var color = PersonaInitialsColor.blue;\n if (!displayName) {\n return color;\n }\n var hashCode = 0;\n for (var iLen = displayName.length - 1; iLen >= 0; iLen--) {\n var ch = displayName.charCodeAt(iLen);\n var shift = iLen % 8;\n // eslint-disable-next-line no-bitwise\n hashCode ^= (ch << shift) + (ch >> (8 - shift));\n }\n color = COLOR_SWATCHES_LOOKUP[hashCode % COLOR_SWATCHES_NUM_ENTRIES];\n return color;\n}\nfunction personaInitialsColorToHexCode(personaInitialsColor) {\n switch (personaInitialsColor) {\n case PersonaInitialsColor.lightBlue:\n return '#4F6BED';\n case PersonaInitialsColor.blue:\n return '#0078D4';\n case PersonaInitialsColor.darkBlue:\n return '#004E8C';\n case PersonaInitialsColor.teal:\n return '#038387';\n case PersonaInitialsColor.lightGreen:\n case PersonaInitialsColor.green:\n return '#498205';\n case PersonaInitialsColor.darkGreen:\n return '#0B6A0B';\n case PersonaInitialsColor.lightPink:\n return '#C239B3';\n case PersonaInitialsColor.pink:\n return '#E3008C';\n case PersonaInitialsColor.magenta:\n return '#881798';\n case PersonaInitialsColor.purple:\n return '#5C2E91';\n case PersonaInitialsColor.orange:\n return '#CA5010';\n // eslint-disable-next-line deprecation/deprecation\n case PersonaInitialsColor.red:\n return '#EE1111';\n case PersonaInitialsColor.lightRed:\n return '#D13438';\n case PersonaInitialsColor.darkRed:\n return '#A4262C';\n case PersonaInitialsColor.transparent:\n return 'transparent';\n case PersonaInitialsColor.violet:\n return '#8764B8';\n case PersonaInitialsColor.gold:\n return '#986F0B';\n case PersonaInitialsColor.burgundy:\n return '#750B1C';\n case PersonaInitialsColor.warmGray:\n return '#7A7574';\n case PersonaInitialsColor.cyan:\n return '#005B70';\n case PersonaInitialsColor.rust:\n return '#8E562E';\n case PersonaInitialsColor.coolGray:\n return '#69797E';\n // eslint-disable-next-line deprecation/deprecation\n case PersonaInitialsColor.black:\n return '#1D1D1D';\n case PersonaInitialsColor.gray:\n return '#393939';\n }\n}\n/** @deprecated Use `getPersonaInitialsColor` */\nexport function initialsColorPropToColorCode(props) {\n return getPersonaInitialsColor(props);\n}\n/**\n * Gets the hex color string (prefixed with #) for the given persona props.\n * This is the logic used internally by the Persona control.\n * @param props - Current persona props\n * @returns Hex color string prefixed with #\n */\nexport function getPersonaInitialsColor(props) {\n // eslint-disable-next-line deprecation/deprecation\n var primaryText = props.primaryText, text = props.text;\n var initialsColor = props.initialsColor;\n var initialsColorCode;\n if (typeof initialsColor === 'string') {\n initialsColorCode = initialsColor;\n }\n else {\n initialsColor = initialsColor !== undefined ? initialsColor : getInitialsColorFromName(text || primaryText);\n initialsColorCode = personaInitialsColorToHexCode(initialsColor);\n }\n return initialsColorCode;\n}\n//# sourceMappingURL=PersonaInitialsColor.js.map","import { __assign, __rest } from \"tslib\";\nimport * as React from 'react';\nimport { useControllableValue, useId } from '@fluentui/react-hooks';\nimport { classNamesFunction, css, divProperties, getNativeProps, getRTL, KeyCodes, warn } from '@fluentui/utilities';\nimport { CommandButton } from '../../Button';\nimport { useOverflow } from '../../utilities/useOverflow';\nimport { FocusZone, FocusZoneDirection } from '../../FocusZone';\nimport { DirectionalHint } from '../ContextualMenu/ContextualMenu.types';\nimport { Icon } from '../Icon/Icon';\nimport { PivotItem } from './PivotItem';\nvar getClassNames = classNamesFunction();\nvar COMPONENT_NAME = 'Pivot';\nvar getTabId = function (props, pivotId, itemKey, index) {\n if (props.getTabId) {\n return props.getTabId(itemKey, index);\n }\n return pivotId + (\"-Tab\" + index);\n};\n// Gets the set of PivotLinks as array of IPivotItemProps\n// The set of Links is determined by child components of type PivotItem\nvar getLinkItems = function (props, pivotId) {\n var result = {\n links: [],\n keyToIndexMapping: {},\n keyToTabIdMapping: {},\n };\n React.Children.forEach(React.Children.toArray(props.children), function (child, index) {\n if (isPivotItem(child)) {\n // eslint-disable-next-line deprecation/deprecation\n var _a = child.props, linkText = _a.linkText, pivotItemProps = __rest(_a, [\"linkText\"]);\n var itemKey = child.props.itemKey || index.toString();\n result.links.push(__assign(__assign({ headerText: linkText }, pivotItemProps), { itemKey: itemKey }));\n result.keyToIndexMapping[itemKey] = index;\n result.keyToTabIdMapping[itemKey] = getTabId(props, pivotId, itemKey, index);\n }\n else if (child) {\n warn('The children of a Pivot component must be of type PivotItem to be rendered.');\n }\n });\n return result;\n};\nvar isPivotItem = function (item) {\n var _a;\n return React.isValidElement(item) && ((_a = item.type) === null || _a === void 0 ? void 0 : _a.name) === PivotItem.name;\n};\nexport var PivotBase = React.forwardRef(function (props, ref) {\n var focusZoneRef = React.useRef(null);\n var overflowMenuButtonComponentRef = React.useRef(null);\n var pivotId = useId('Pivot');\n var _a = useControllableValue(props.selectedKey, props.defaultSelectedKey), selectedKey = _a[0], setSelectedKey = _a[1];\n var componentRef = props.componentRef, theme = props.theme, linkSize = props.linkSize, linkFormat = props.linkFormat, overflowBehavior = props.overflowBehavior, overflowAriaLabel = props.overflowAriaLabel, focusZoneProps = props.focusZoneProps;\n var classNames;\n var nameProps = {\n 'aria-label': props['aria-label'],\n 'aria-labelledby': props['aria-labelledby'],\n };\n var divProps = getNativeProps(props, divProperties, [\n 'aria-label',\n 'aria-labelledby',\n ]);\n var linkCollection = getLinkItems(props, pivotId);\n React.useImperativeHandle(componentRef, function () { return ({\n focus: function () {\n var _a;\n (_a = focusZoneRef.current) === null || _a === void 0 ? void 0 : _a.focus();\n },\n }); });\n var renderLinkContent = function (link) {\n if (!link) {\n return null;\n }\n var itemCount = link.itemCount, itemIcon = link.itemIcon, headerText = link.headerText;\n return (React.createElement(\"span\", { className: classNames.linkContent },\n itemIcon !== undefined && (React.createElement(\"span\", { className: classNames.icon },\n React.createElement(Icon, { iconName: itemIcon }))),\n headerText !== undefined && React.createElement(\"span\", { className: classNames.text },\n \" \",\n link.headerText),\n itemCount !== undefined && React.createElement(\"span\", { className: classNames.count },\n \" (\",\n itemCount,\n \")\")));\n };\n var renderPivotLink = function (renderLinkCollection, link, renderPivotLinkSelectedKey, className) {\n var itemKey = link.itemKey, headerButtonProps = link.headerButtonProps, onRenderItemLink = link.onRenderItemLink;\n var tabId = renderLinkCollection.keyToTabIdMapping[itemKey];\n var linkContent;\n var isSelected = renderPivotLinkSelectedKey === itemKey;\n if (onRenderItemLink) {\n linkContent = onRenderItemLink(link, renderLinkContent);\n }\n else {\n linkContent = renderLinkContent(link);\n }\n var contentString = link.headerText || '';\n contentString += link.itemCount ? ' (' + link.itemCount + ')' : '';\n // Adding space supplementary for icon\n contentString += link.itemIcon ? ' xx' : '';\n return (React.createElement(CommandButton, __assign({}, headerButtonProps, { id: tabId, key: itemKey, className: css(className, isSelected && classNames.linkIsSelected), \n // eslint-disable-next-line react/jsx-no-bind\n onClick: function (ev) { return onLinkClick(itemKey, ev); }, \n // eslint-disable-next-line react/jsx-no-bind\n onKeyDown: function (ev) { return onKeyDown(itemKey, ev); }, \"aria-label\": link.ariaLabel, role: link.role || 'tab', \"aria-selected\": isSelected, name: link.headerText, keytipProps: link.keytipProps, \"data-content\": contentString }), linkContent));\n };\n var onLinkClick = function (itemKey, ev) {\n ev.preventDefault();\n updateSelectedItem(itemKey, ev);\n };\n var onKeyDown = function (itemKey, ev) {\n // eslint-disable-next-line deprecation/deprecation\n if (ev.which === KeyCodes.enter) {\n ev.preventDefault();\n updateSelectedItem(itemKey);\n }\n };\n var updateSelectedItem = function (itemKey, ev) {\n var _a;\n setSelectedKey(itemKey);\n linkCollection = getLinkItems(props, pivotId);\n if (props.onLinkClick && linkCollection.keyToIndexMapping[itemKey] >= 0) {\n var selectedIndex = linkCollection.keyToIndexMapping[itemKey];\n var item = React.Children.toArray(props.children)[selectedIndex];\n if (isPivotItem(item)) {\n props.onLinkClick(item, ev);\n }\n }\n (_a = overflowMenuButtonComponentRef.current) === null || _a === void 0 ? void 0 : _a.dismissMenu();\n };\n var renderPivotItem = function (itemKey, isActive) {\n if (props.headersOnly || !itemKey) {\n return null;\n }\n var index = linkCollection.keyToIndexMapping[itemKey];\n var selectedTabId = linkCollection.keyToTabIdMapping[itemKey];\n return (React.createElement(\"div\", { role: \"tabpanel\", hidden: !isActive, key: itemKey, \"aria-hidden\": !isActive, \"aria-labelledby\": selectedTabId, className: classNames.itemContainer }, React.Children.toArray(props.children)[index]));\n };\n var isKeyValid = function (itemKey) {\n return itemKey === null || (itemKey !== undefined && linkCollection.keyToIndexMapping[itemKey] !== undefined);\n };\n var getSelectedKey = function () {\n if (isKeyValid(selectedKey)) {\n return selectedKey;\n }\n if (linkCollection.links.length) {\n return linkCollection.links[0].itemKey;\n }\n return undefined;\n };\n classNames = getClassNames(props.styles, {\n theme: theme,\n linkSize: linkSize,\n linkFormat: linkFormat,\n });\n var renderedSelectedKey = getSelectedKey();\n var renderedSelectedIndex = renderedSelectedKey ? linkCollection.keyToIndexMapping[renderedSelectedKey] : 0;\n var items = linkCollection.links.map(function (l) {\n return renderPivotLink(linkCollection, l, renderedSelectedKey, classNames.link);\n });\n // The overflow menu starts empty and items[] is updated as the overflow items change\n var overflowMenuProps = React.useMemo(function () { return ({\n items: [],\n alignTargetEdge: true,\n directionalHint: DirectionalHint.bottomRightEdge,\n }); }, []);\n var overflowMenuButtonRef = useOverflow({\n onOverflowItemsChanged: function (overflowIndex, elements) {\n // Set data-is-overflowing on each item\n elements.forEach(function (_a) {\n var ele = _a.ele, isOverflowing = _a.isOverflowing;\n return (ele.dataset.isOverflowing = \"\" + isOverflowing);\n });\n // Update the menu items\n overflowMenuProps.items = linkCollection.links\n .slice(overflowIndex)\n .filter(function (link) { return link.itemKey !== renderedSelectedKey; })\n .map(function (link, index) {\n return {\n key: link.itemKey || \"\" + (overflowIndex + index),\n onRender: function () { return renderPivotLink(linkCollection, link, renderedSelectedKey, classNames.linkInMenu); },\n };\n });\n },\n rtl: getRTL(theme),\n pinnedIndex: renderedSelectedIndex,\n }).menuButtonRef;\n return (React.createElement(\"div\", __assign({ ref: ref }, divProps),\n React.createElement(FocusZone, __assign({ componentRef: focusZoneRef, role: \"tablist\" }, nameProps, { direction: FocusZoneDirection.horizontal }, focusZoneProps, { className: css(classNames.root, focusZoneProps === null || focusZoneProps === void 0 ? void 0 : focusZoneProps.className) }),\n items,\n overflowBehavior === 'menu' && (React.createElement(CommandButton, { className: css(classNames.link, classNames.overflowMenuButton), elementRef: overflowMenuButtonRef, componentRef: overflowMenuButtonComponentRef, menuProps: overflowMenuProps, menuIconProps: { iconName: 'More', style: { color: 'inherit' } }, ariaLabel: overflowAriaLabel }))),\n renderedSelectedKey &&\n linkCollection.links.map(function (link) {\n return (link.alwaysRender === true || renderedSelectedKey === link.itemKey) &&\n renderPivotItem(link.itemKey, renderedSelectedKey === link.itemKey);\n })));\n});\nPivotBase.displayName = COMPONENT_NAME;\n//# sourceMappingURL=Pivot.base.js.map","import { __assign, __spreadArray } from \"tslib\";\nimport { AnimationVariables, getGlobalClassNames, HighContrastSelector, normalize, FontWeights, getHighContrastNoAdjustStyle, } from '@fluentui/style-utilities';\nimport { IsFocusVisibleClassName } from '@fluentui/utilities';\nvar globalClassNames = {\n count: 'ms-Pivot-count',\n icon: 'ms-Pivot-icon',\n linkIsSelected: 'is-selected',\n link: 'ms-Pivot-link',\n linkContent: 'ms-Pivot-linkContent',\n root: 'ms-Pivot',\n rootIsLarge: 'ms-Pivot--large',\n rootIsTabs: 'ms-Pivot--tabs',\n text: 'ms-Pivot-text',\n linkInMenu: 'ms-Pivot-linkInMenu',\n overflowMenuButton: 'ms-Pivot-overflowMenuButton',\n};\nvar getLinkStyles = function (props, classNames, isLinkInOverflowMenu) {\n var _a, _b, _c;\n if (isLinkInOverflowMenu === void 0) { isLinkInOverflowMenu = false; }\n var linkSize = props.linkSize, linkFormat = props.linkFormat;\n var _d = props.theme, semanticColors = _d.semanticColors, fonts = _d.fonts;\n var rootIsLarge = linkSize === 'large';\n var rootIsTabs = linkFormat === 'tabs';\n return [\n fonts.medium,\n {\n color: semanticColors.actionLink,\n padding: '0 8px',\n position: 'relative',\n backgroundColor: 'transparent',\n border: 0,\n borderRadius: 0,\n selectors: (_a = {\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 },\n _a[\".\" + IsFocusVisibleClassName + \" &:focus\"] = {\n outline: \"1px solid \" + semanticColors.focusBorder,\n },\n _a[\".\" + IsFocusVisibleClassName + \" &:focus:after\"] = {\n content: 'attr(data-content)',\n position: 'relative',\n border: 0,\n },\n _a),\n },\n !isLinkInOverflowMenu && [\n {\n display: 'inline-block',\n lineHeight: 44,\n height: 44,\n marginRight: 8,\n textAlign: 'center',\n selectors: {\n ':before': {\n backgroundColor: 'transparent',\n bottom: 0,\n content: '\"\"',\n height: 2,\n left: 8,\n position: 'absolute',\n right: 8,\n transition: \"left \" + AnimationVariables.durationValue2 + \" \" + AnimationVariables.easeFunction2 + \",\\n right \" + AnimationVariables.durationValue2 + \" \" + AnimationVariables.easeFunction2,\n },\n ':after': {\n color: 'transparent',\n content: 'attr(data-content)',\n display: 'block',\n fontWeight: FontWeights.bold,\n height: 1,\n overflow: 'hidden',\n visibility: 'hidden',\n },\n },\n },\n rootIsLarge && {\n fontSize: fonts.large.fontSize,\n },\n rootIsTabs && [\n {\n marginRight: 0,\n height: 44,\n lineHeight: 44,\n backgroundColor: semanticColors.buttonBackground,\n padding: '0 10px',\n verticalAlign: 'top',\n selectors: (_b = {\n ':focus': {\n outlineOffset: '-1px',\n }\n },\n _b[\".\" + IsFocusVisibleClassName + \" &:focus::before\"] = {\n height: 'auto',\n background: 'transparent',\n transition: 'none',\n },\n _b['&:hover, &:focus'] = {\n color: semanticColors.buttonTextCheckedHovered,\n },\n _b['&:active, &:hover'] = {\n color: semanticColors.primaryButtonText,\n backgroundColor: semanticColors.primaryButtonBackground,\n },\n _b[\"&.\" + classNames.linkIsSelected] = {\n backgroundColor: semanticColors.primaryButtonBackground,\n color: semanticColors.primaryButtonText,\n fontWeight: FontWeights.regular,\n selectors: (_c = {\n ':before': {\n backgroundColor: 'transparent',\n transition: 'none',\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n content: '\"\"',\n height: 0,\n },\n ':hover': {\n backgroundColor: semanticColors.primaryButtonBackgroundHovered,\n color: semanticColors.primaryButtonText,\n },\n '&:active': {\n backgroundColor: semanticColors.primaryButtonBackgroundPressed,\n color: semanticColors.primaryButtonText,\n }\n },\n _c[HighContrastSelector] = __assign({ fontWeight: FontWeights.semibold, color: 'HighlightText', background: 'Highlight' }, getHighContrastNoAdjustStyle()),\n _c),\n },\n _b),\n },\n ],\n ],\n ];\n};\nexport var getStyles = function (props) {\n var _a, _b, _c, _d;\n var className = props.className, linkSize = props.linkSize, linkFormat = props.linkFormat, theme = props.theme;\n var semanticColors = theme.semanticColors, fonts = theme.fonts;\n var classNames = getGlobalClassNames(globalClassNames, theme);\n var rootIsLarge = linkSize === 'large';\n var rootIsTabs = linkFormat === 'tabs';\n return {\n root: [\n classNames.root,\n fonts.medium,\n normalize,\n {\n position: 'relative',\n color: semanticColors.link,\n whiteSpace: 'nowrap',\n },\n rootIsLarge && classNames.rootIsLarge,\n rootIsTabs && classNames.rootIsTabs,\n className,\n ],\n itemContainer: {\n selectors: {\n '&[hidden]': {\n display: 'none',\n },\n },\n },\n link: __spreadArray(__spreadArray([\n classNames.link\n ], getLinkStyles(props, classNames)), [\n (_a = {},\n _a[\"&[data-is-overflowing='true']\"] = {\n display: 'none',\n },\n _a),\n ]),\n overflowMenuButton: [\n classNames.overflowMenuButton,\n (_b = {\n visibility: 'hidden',\n position: 'absolute',\n right: 0\n },\n _b[\".\" + classNames.link + \"[data-is-overflowing='true'] ~ &\"] = {\n visibility: 'visible',\n position: 'relative',\n },\n _b),\n ],\n linkInMenu: __spreadArray(__spreadArray([\n classNames.linkInMenu\n ], getLinkStyles(props, classNames, true)), [\n {\n textAlign: 'left',\n width: '100%',\n height: 36,\n lineHeight: 36,\n },\n ]),\n linkIsSelected: [\n classNames.link,\n classNames.linkIsSelected,\n {\n fontWeight: FontWeights.semibold,\n selectors: (_c = {\n ':before': {\n backgroundColor: semanticColors.inputBackgroundChecked,\n selectors: (_d = {},\n _d[HighContrastSelector] = {\n backgroundColor: 'Highlight',\n },\n _d),\n },\n ':hover::before': {\n left: 0,\n right: 0,\n }\n },\n _c[HighContrastSelector] = {\n color: 'Highlight',\n },\n _c),\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//# sourceMappingURL=Pivot.styles.js.map","import { styled } from '@fluentui/utilities';\nimport { PivotBase } from './Pivot.base';\nimport { getStyles } from './Pivot.styles';\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 var Pivot = styled(PivotBase, getStyles, undefined, {\n scope: 'Pivot',\n});\n//# sourceMappingURL=Pivot.js.map","/**\n * {@docCategory Pivot}\n * @deprecated Use strings 'links' or 'tabs' instead of this enum\n */\nexport var PivotLinkFormat;\n(function (PivotLinkFormat) {\n /**\n * Display Pivot Links as links\n */\n PivotLinkFormat[\"links\"] = \"links\";\n /**\n * Display Pivot Links as Tabs\n */\n PivotLinkFormat[\"tabs\"] = \"tabs\";\n})(PivotLinkFormat || (PivotLinkFormat = {}));\n/**\n * {@docCategory Pivot}\n * @deprecated Use strings 'normal' or 'large' instead of this enum\n */\nexport var PivotLinkSize;\n(function (PivotLinkSize) {\n /**\n * Display Link using normal font size\n */\n PivotLinkSize[\"normal\"] = \"normal\";\n /**\n * Display links using large font size\n */\n PivotLinkSize[\"large\"] = \"large\";\n})(PivotLinkSize || (PivotLinkSize = {}));\n//# sourceMappingURL=Pivot.types.js.map","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { getNativeProps, divProperties, initializeComponentRef, warnDeprecations } from '@fluentui/utilities';\nvar COMPONENT_NAME = 'PivotItem';\nvar PivotItem = /** @class */ (function (_super) {\n __extends(PivotItem, _super);\n function PivotItem(props) {\n var _this = _super.call(this, props) || this;\n initializeComponentRef(_this);\n warnDeprecations(COMPONENT_NAME, props, {\n linkText: 'headerText',\n });\n return _this;\n }\n PivotItem.prototype.render = function () {\n return React.createElement(\"div\", __assign({}, getNativeProps(this.props, divProperties)), this.props.children);\n };\n return PivotItem;\n}(React.Component));\nexport { PivotItem };\n//# sourceMappingURL=PivotItem.js.map","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { KeyCodes, divProperties, doesElementContainFocus, getDocument, getNativeProps, getWindow, } from '../../Utilities';\nimport { useMergedRefs, useAsync, useOnEvent } from '@fluentui/react-hooks';\nimport { useWindow } from '@fluentui/react-window-provider';\nfunction useScrollbarAsync(props, root) {\n var async = useAsync();\n var _a = React.useState(false), needsVerticalScrollBarState = _a[0], setNeedsVerticalScrollBar = _a[1];\n React.useEffect(function () {\n async.requestAnimationFrame(function () {\n var _a;\n // If overflowY is overridden, don't waste time calculating whether the scrollbar is necessary.\n if (props.style && props.style.overflowY) {\n return;\n }\n var needsVerticalScrollBar = false;\n if (root && root.current && ((_a = root.current) === null || _a === void 0 ? void 0 : _a.firstElementChild)) {\n // ClientHeight returns the client height of an element rounded to an\n // integer. On some browsers at different zoom levels this rounding\n // can generate different results for the root container and child even\n // though they are the same height. This causes us to show a scroll bar\n // when not needed. Ideally we would use BoundingClientRect().height\n // instead however seems that the API is 90% slower than using ClientHeight.\n // Therefore instead we will calculate the difference between heights and\n // allow for a 1px difference to still be considered ok and not show the\n // scroll bar.\n var rootHeight = root.current.clientHeight;\n var firstChildHeight = root.current.firstElementChild.clientHeight;\n if (rootHeight > 0 && firstChildHeight > rootHeight) {\n needsVerticalScrollBar = firstChildHeight - rootHeight > 1;\n }\n }\n if (needsVerticalScrollBarState !== needsVerticalScrollBar) {\n setNeedsVerticalScrollBar(needsVerticalScrollBar);\n }\n });\n return function () { return async.dispose(); };\n });\n return needsVerticalScrollBarState;\n}\nfunction defaultFocusRestorer(options) {\n var originalElement = options.originalElement, containsFocus = options.containsFocus;\n if (originalElement && containsFocus && originalElement !== getWindow()) {\n // Make sure that the focus method actually exists\n // In some cases the object might exist but not be a real element.\n // This is primarily for IE 11 and should be removed once IE 11 is no longer in use.\n // This is wrapped in a setTimeout because of a React 16 bug that is resolved in 17.\n // Once we move to 17, the setTimeout should be removed (ref: https://github.com/facebook/react/issues/17894#issuecomment-656094405)\n setTimeout(function () {\n var _a;\n (_a = originalElement.focus) === null || _a === void 0 ? void 0 : _a.call(originalElement);\n }, 0);\n }\n}\nfunction useRestoreFocus(props, root) {\n var _a = props.onRestoreFocus, onRestoreFocus = _a === void 0 ? defaultFocusRestorer : _a;\n var originalFocusedElement = React.useRef();\n var containsFocus = React.useRef(false);\n React.useEffect(function () {\n originalFocusedElement.current = getDocument().activeElement;\n if (doesElementContainFocus(root.current)) {\n containsFocus.current = true;\n }\n return function () {\n var _a;\n onRestoreFocus === null || onRestoreFocus === void 0 ? void 0 : onRestoreFocus({\n originalElement: originalFocusedElement.current,\n containsFocus: containsFocus.current,\n documentContainsFocus: ((_a = getDocument()) === null || _a === void 0 ? void 0 : _a.hasFocus()) || false,\n });\n // De-reference DOM Node to avoid retainment via transpiled closure of _onKeyDown\n originalFocusedElement.current = undefined;\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps -- should only run on first render\n }, []);\n useOnEvent(root, 'focus', React.useCallback(function () {\n containsFocus.current = true;\n }, []), true);\n useOnEvent(root, 'blur', React.useCallback(function (ev) {\n /** The popup should update this._containsFocus when:\n * relatedTarget exists AND\n * the relatedTarget is not contained within the popup.\n * If the relatedTarget is within the popup, that means the popup still has focus\n * and focused moved from one element to another within the popup.\n * If relatedTarget is undefined or null that usually means that a\n * keyboard event occurred and focus didn't change\n */\n if (root.current && ev.relatedTarget && !root.current.contains(ev.relatedTarget)) {\n containsFocus.current = false;\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps -- should only run on first render\n }, []), true);\n}\nfunction useHideSiblingNodes(props, root) {\n var isModalOrPanel = props['aria-modal'];\n React.useEffect(function () {\n var _a;\n var targetDocument = getDocument();\n if (isModalOrPanel && targetDocument && root && root.current) {\n var popupPortalNode = (_a = root.current.parentElement) === null || _a === void 0 ? void 0 : _a.parentElement;\n var nodesToHide_1 = findSiblingNodes(popupPortalNode, popupPortalNode === null || popupPortalNode === void 0 ? void 0 : popupPortalNode.parentElement);\n //if popupPortalNode is not a direct child of body, its ancestor's siblings need to be hidden as well.\n if ((popupPortalNode === null || popupPortalNode === void 0 ? void 0 : popupPortalNode.parentElement) !== targetDocument.body) {\n var popupAncestorNode = findAncestorNode(root.current, targetDocument);\n nodesToHide_1.concat(findSiblingNodes(popupAncestorNode, targetDocument.body));\n }\n nodesToHide_1 = nodesToHide_1.filter(function (child) {\n return child.tagName !== 'TEMPLATE' &&\n child.tagName !== 'SCRIPT' &&\n child.tagName !== 'STYLE' &&\n !child.hasAttribute('aria-hidden');\n });\n nodesToHide_1.forEach(function (node) { return node.setAttribute('aria-hidden', 'true'); });\n return function () { return nodesToHide_1.forEach(function (child) { return child.removeAttribute('aria-hidden'); }); };\n }\n }, [isModalOrPanel, root]);\n}\nfunction findAncestorNode(node, targetDocument) {\n var currNode = node;\n while (currNode && currNode.parentElement !== targetDocument.body) {\n currNode = currNode.parentElement;\n }\n return currNode;\n}\nvar findSiblingNodes = function (node, parentNode) {\n return node && parentNode ? [].slice.call(parentNode.children).filter(function (child) { return child !== node; }) : [];\n};\n/**\n * This adds accessibility to Dialog and Panel controls\n */\nexport var Popup = React.forwardRef(function (props, forwardedRef) {\n // Default props\n // eslint-disable-next-line deprecation/deprecation\n props = __assign({ shouldRestoreFocus: true }, props);\n var root = React.useRef();\n var mergedRootRef = useMergedRefs(root, forwardedRef);\n useHideSiblingNodes(props, root);\n useRestoreFocus(props, root);\n var role = props.role, className = props.className, ariaLabel = props.ariaLabel, ariaLabelledBy = props.ariaLabelledBy, ariaDescribedBy = props.ariaDescribedBy, style = props.style, children = props.children, onDismiss = props.onDismiss;\n var needsVerticalScrollBar = useScrollbarAsync(props, root);\n var onKeyDown = React.useCallback(function (ev) {\n // eslint-disable-next-line deprecation/deprecation\n switch (ev.which) {\n case KeyCodes.escape:\n if (onDismiss) {\n onDismiss(ev);\n ev.preventDefault();\n ev.stopPropagation();\n }\n break;\n }\n }, [onDismiss]);\n var win = useWindow();\n useOnEvent(win, 'keydown', onKeyDown);\n return (React.createElement(\"div\", __assign({ ref: mergedRootRef }, getNativeProps(props, divProperties), { className: className, role: role, \"aria-label\": ariaLabel, \"aria-labelledby\": ariaLabelledBy, \"aria-describedby\": ariaDescribedBy, onKeyDown: onKeyDown, style: __assign({ overflowY: needsVerticalScrollBar ? 'scroll' : undefined, outline: 'none' }, style) }), children));\n});\n//# sourceMappingURL=Popup.js.map","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { classNamesFunction, getId } from '../../Utilities';\nvar getClassNames = classNamesFunction();\n// if the percentComplete is near 0, don't animate it.\n// This prevents animations on reset to 0 scenarios\nvar ZERO_THRESHOLD = 0.01;\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 */\nvar ProgressIndicatorBase = /** @class */ (function (_super) {\n __extends(ProgressIndicatorBase, _super);\n function ProgressIndicatorBase(props) {\n var _this = _super.call(this, props) || this;\n _this._onRenderProgress = function (props) {\n // eslint-disable-next-line deprecation/deprecation\n var _a = _this.props, ariaValueText = _a.ariaValueText, barHeight = _a.barHeight, className = _a.className, description = _a.description, _b = _a.label, label = _b === void 0 ? _this.props.title : _b, styles = _a.styles, theme = _a.theme;\n var percentComplete = typeof _this.props.percentComplete === 'number'\n ? Math.min(100, Math.max(0, _this.props.percentComplete * 100))\n : undefined;\n var classNames = getClassNames(styles, {\n theme: theme,\n className: className,\n barHeight: barHeight,\n indeterminate: percentComplete === undefined ? true : false,\n });\n var progressBarStyles = {\n width: percentComplete !== undefined ? percentComplete + '%' : undefined,\n transition: percentComplete !== undefined && percentComplete < ZERO_THRESHOLD ? 'none' : undefined,\n };\n var ariaValueMin = percentComplete !== undefined ? 0 : undefined;\n var ariaValueMax = percentComplete !== undefined ? 100 : undefined;\n var ariaValueNow = percentComplete !== undefined ? Math.floor(percentComplete) : undefined;\n return (React.createElement(\"div\", { className: classNames.itemProgress },\n React.createElement(\"div\", { className: classNames.progressTrack }),\n React.createElement(\"div\", { className: classNames.progressBar, style: progressBarStyles, role: \"progressbar\", \"aria-describedby\": description ? _this._descriptionId : undefined, \"aria-labelledby\": label ? _this._labelId : undefined, \"aria-valuemin\": ariaValueMin, \"aria-valuemax\": ariaValueMax, \"aria-valuenow\": ariaValueNow, \"aria-valuetext\": ariaValueText })));\n };\n var id = getId('progress-indicator');\n _this._labelId = id + '-label';\n _this._descriptionId = id + '-description';\n return _this;\n }\n ProgressIndicatorBase.prototype.render = function () {\n var _a = this.props, barHeight = _a.barHeight, className = _a.className, \n // eslint-disable-next-line deprecation/deprecation\n _b = _a.label, \n // eslint-disable-next-line deprecation/deprecation\n label = _b === void 0 ? this.props.title : _b, // Fall back to deprecated value.\n description = _a.description, styles = _a.styles, theme = _a.theme, progressHidden = _a.progressHidden, _c = _a.onRenderProgress, onRenderProgress = _c === void 0 ? this._onRenderProgress : _c;\n var percentComplete = typeof this.props.percentComplete === 'number'\n ? Math.min(100, Math.max(0, this.props.percentComplete * 100))\n : undefined;\n var classNames = getClassNames(styles, {\n theme: theme,\n className: className,\n barHeight: barHeight,\n indeterminate: percentComplete === undefined ? true : false,\n });\n return (React.createElement(\"div\", { className: classNames.root },\n label ? (React.createElement(\"div\", { id: this._labelId, className: classNames.itemName }, label)) : null,\n !progressHidden\n ? onRenderProgress(__assign(__assign({}, this.props), { percentComplete: percentComplete }), this._onRenderProgress)\n : null,\n description ? (React.createElement(\"div\", { id: this._descriptionId, className: classNames.itemDescription }, description)) : null));\n };\n ProgressIndicatorBase.defaultProps = {\n label: '',\n description: '',\n width: 180,\n };\n return ProgressIndicatorBase;\n}(React.Component));\nexport { ProgressIndicatorBase };\n//# sourceMappingURL=ProgressIndicator.base.js.map","import { __assign } from \"tslib\";\nimport { HighContrastSelector, keyframes, noWrap, getGlobalClassNames, getHighContrastNoAdjustStyle, } from '../../Styling';\nimport { getRTL, memoizeFunction } from '../../Utilities';\nvar 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};\nvar IndeterminateProgress = memoizeFunction(function () {\n return keyframes({\n '0%': {\n left: '-30%',\n },\n '100%': {\n left: '100%',\n },\n });\n});\nvar IndeterminateProgressRTL = memoizeFunction(function () {\n return keyframes({\n '100%': {\n right: '-30%',\n },\n '0%': {\n right: '100%',\n },\n });\n});\nexport var getStyles = function (props) {\n var _a, _b, _c;\n var isRTL = getRTL(props.theme);\n var className = props.className, indeterminate = props.indeterminate, theme = props.theme, _d = props.barHeight, barHeight = _d === void 0 ? 2 : _d;\n var palette = theme.palette, semanticColors = theme.semanticColors, fonts = theme.fonts;\n var classNames = getGlobalClassNames(GlobalClassNames, theme);\n var marginBetweenText = 8;\n var textHeight = 18;\n var progressTrackColor = palette.neutralLight;\n return {\n root: [classNames.root, fonts.medium, className],\n itemName: [\n classNames.itemName,\n noWrap,\n {\n color: semanticColors.bodyText,\n paddingTop: marginBetweenText / 2,\n lineHeight: textHeight + 2,\n },\n ],\n itemDescription: [\n classNames.itemDescription,\n {\n color: semanticColors.bodySubtext,\n fontSize: fonts.small.fontSize,\n lineHeight: textHeight,\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 progressTrack: [\n classNames.progressTrack,\n {\n position: 'absolute',\n width: '100%',\n height: barHeight,\n backgroundColor: progressTrackColor,\n selectors: (_a = {},\n _a[HighContrastSelector] = {\n borderBottom: '1px solid WindowText',\n },\n _a),\n },\n ],\n progressBar: [\n {\n backgroundColor: palette.themePrimary,\n height: barHeight,\n position: 'absolute',\n transition: 'width .3s ease',\n width: 0,\n selectors: (_b = {},\n _b[HighContrastSelector] = __assign({ backgroundColor: 'highlight' }, getHighContrastNoAdjustStyle()),\n _b),\n },\n indeterminate\n ? {\n position: 'absolute',\n minWidth: '33%',\n background: \"linear-gradient(to right, \" + progressTrackColor + \" 0%, \" +\n (palette.themePrimary + \" 50%, \" + progressTrackColor + \" 100%)\"),\n animation: (isRTL ? IndeterminateProgressRTL() : IndeterminateProgress()) + \" 3s infinite\",\n selectors: (_c = {},\n _c[HighContrastSelector] = {\n background: \"highlight\",\n },\n _c),\n }\n : {\n transition: 'width .15s linear',\n },\n classNames.progressBar,\n ],\n };\n};\n//# sourceMappingURL=ProgressIndicator.styles.js.map","import { styled } from '../../Utilities';\nimport { ProgressIndicatorBase } from './ProgressIndicator.base';\nimport { getStyles } from './ProgressIndicator.styles';\n/**\n * ProgressIndicator description\n */\nexport var ProgressIndicator = styled(ProgressIndicatorBase, getStyles, undefined, { scope: 'ProgressIndicator' });\n//# sourceMappingURL=ProgressIndicator.js.map","import { getFocusStyle, hiddenContentStyle, HighContrastSelector, getGlobalClassNames } from '../../Styling';\nvar 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};\nfunction _getColorWithHighContrast(color, highContrastColor) {\n var _a;\n return {\n color: color,\n selectors: (_a = {},\n _a[HighContrastSelector] = {\n color: highContrastColor,\n },\n _a),\n };\n}\nexport function getStyles(props) {\n var disabled = props.disabled, readOnly = props.readOnly, theme = props.theme;\n var semanticColors = theme.semanticColors, palette = theme.palette;\n var classNames = getGlobalClassNames(GlobalClassNames, theme);\n var ratingSmallIconSize = 16;\n var ratingLargeIconSize = 20;\n var ratingVerticalPadding = 8;\n var ratingHorizontalPadding = 2;\n var ratingStarUncheckedColor = palette.neutralSecondary;\n var ratingStarUncheckedHoverColor = palette.themePrimary;\n var ratingStarUncheckedHoverSelectedColor = palette.themeDark;\n var ratingStarCheckedColor = palette.neutralPrimary;\n var ratingStarDisabledColor = semanticColors.disabledBodySubtext;\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//# sourceMappingURL=Rating.styles.js.map","/**\n * {@docCategory Rating}\n */\nexport var RatingSize;\n(function (RatingSize) {\n RatingSize[RatingSize[\"Small\"] = 0] = \"Small\";\n RatingSize[RatingSize[\"Large\"] = 1] = \"Large\";\n})(RatingSize || (RatingSize = {}));\n//# sourceMappingURL=Rating.types.js.map","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { classNamesFunction, css, format, divProperties, getNativeProps } from '../../Utilities';\nimport { Icon } from '../../Icon';\nimport { FocusZone, FocusZoneDirection } from '../../FocusZone';\nimport { RatingSize } from './Rating.types';\nimport { useId, useWarnings, useControllableValue } from '@fluentui/react-hooks';\nvar getClassNames = classNamesFunction();\nvar RatingStar = function (props) {\n return (React.createElement(\"div\", { className: props.classNames.ratingStar },\n React.createElement(Icon, { className: props.classNames.ratingStarBack, iconName: props.fillPercentage === 0 || props.fillPercentage === 100 ? props.icon : props.unselectedIcon }),\n !props.disabled && (React.createElement(Icon, { className: props.classNames.ratingStarFront, iconName: props.icon, style: { width: props.fillPercentage + '%' } }))));\n};\nvar useComponentRef = function (componentRef, rating) {\n React.useImperativeHandle(componentRef, function () { return ({\n rating: rating,\n }); }, [rating]);\n};\nvar useDebugWarnings = function (props) {\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks -- build-time conditional\n useWarnings({\n name: 'Rating',\n props: props,\n controlledUsage: {\n valueProp: 'rating',\n defaultValueProp: 'defaultRating',\n onChangeProp: 'onChange',\n readOnlyProp: 'readOnly',\n },\n });\n }\n};\nvar getClampedRating = function (rating, min, max) {\n return Math.min(Math.max(rating !== null && rating !== void 0 ? rating : min, min), max);\n};\nvar getFillingPercentage = function (starNum, displayRating) {\n var ceilValue = Math.ceil(displayRating);\n var fillPercentage = 100;\n if (starNum === displayRating) {\n fillPercentage = 100;\n }\n else if (starNum === ceilValue) {\n fillPercentage = 100 * (displayRating % 1);\n }\n else if (starNum > ceilValue) {\n fillPercentage = 0;\n }\n return fillPercentage;\n};\nvar getStarId = function (id, starNum) {\n return id + \"-star-\" + (starNum - 1);\n};\nexport var RatingBase = React.forwardRef(function (props, ref) {\n var id = useId('Rating');\n var labelId = useId('RatingLabel');\n var ariaLabel = props.ariaLabel, ariaLabelFormat = props.ariaLabelFormat, disabled = props.disabled, getAriaLabel = props.getAriaLabel, styles = props.styles, \n // eslint-disable-next-line deprecation/deprecation\n _a = props.min, \n // eslint-disable-next-line deprecation/deprecation\n minFromProps = _a === void 0 ? props.allowZeroStars ? 0 : 1 : _a, _b = props.max, max = _b === void 0 ? 5 : _b, readOnly = props.readOnly, size = props.size, theme = props.theme, _c = props.icon, icon = _c === void 0 ? 'FavoriteStarFill' : _c, _d = props.unselectedIcon, unselectedIcon = _d === void 0 ? 'FavoriteStar' : _d, onRenderStar = props.onRenderStar;\n // Ensure min is >= 0 to avoid issues elsewhere\n var min = Math.max(minFromProps, 0);\n var _e = useControllableValue(props.rating, props.defaultRating, props.onChange), rating = _e[0], setRating = _e[1];\n /** Rating clamped within valid range. Will be `min` if `rating` is undefined. */\n var displayRating = getClampedRating(rating, min, max);\n useDebugWarnings(props);\n useComponentRef(props.componentRef, displayRating);\n var divProps = getNativeProps(props, divProperties);\n var classNames = getClassNames(styles, {\n disabled: disabled,\n readOnly: readOnly,\n theme: theme,\n });\n var readOnlyAriaLabel = getAriaLabel === null || getAriaLabel === void 0 ? void 0 : getAriaLabel(displayRating, max);\n var normalModeAriaLabel = ariaLabel ? ariaLabel : readOnlyAriaLabel;\n var stars = [];\n var renderStar = function (starProps, renderer) {\n return renderer ? renderer(starProps) : React.createElement(RatingStar, __assign({}, starProps));\n };\n var _loop_1 = function (starNum) {\n var fillPercentage = getFillingPercentage(starNum, displayRating);\n var onSelectStar = function (ev) {\n // Use the actual rating (not display value) here, to ensure that we update if the actual\n // rating is undefined and the user clicks the first star.\n if (rating === undefined || Math.ceil(rating) !== starNum) {\n setRating(starNum, ev);\n }\n };\n stars.push(React.createElement(\"button\", __assign({ className: css(classNames.ratingButton, size === RatingSize.Large ? classNames.ratingStarIsLarge : classNames.ratingStarIsSmall), id: getStarId(id, starNum), key: starNum }, (starNum === Math.ceil(displayRating) && { 'data-is-current': true }), { onFocus: onSelectStar, onClick: onSelectStar, disabled: !!(disabled || readOnly), role: \"radio\", \"aria-hidden\": readOnly ? 'true' : undefined, type: \"button\", \"aria-checked\": starNum === Math.ceil(displayRating) }),\n React.createElement(\"span\", { id: labelId + \"-\" + starNum, className: classNames.labelText }, format(ariaLabelFormat || '', starNum, max)),\n renderStar({\n fillPercentage: fillPercentage,\n disabled: disabled,\n classNames: classNames,\n icon: fillPercentage > 0 ? icon : unselectedIcon,\n starNum: starNum,\n unselectedIcon: unselectedIcon,\n }, onRenderStar)));\n };\n for (var starNum = 1; starNum <= max; starNum++) {\n _loop_1(starNum);\n }\n var rootSizeClass = size === RatingSize.Large ? classNames.rootIsLarge : classNames.rootIsSmall;\n return (React.createElement(\"div\", __assign({ ref: ref, className: css('ms-Rating-star', classNames.root, rootSizeClass), \"aria-label\": !readOnly ? normalModeAriaLabel : undefined, id: id, role: !readOnly ? 'radiogroup' : undefined }, divProps),\n React.createElement(FocusZone, __assign({ direction: FocusZoneDirection.bidirectional, className: css(classNames.ratingFocusZone, rootSizeClass), defaultActiveElement: '#' + getStarId(id, Math.ceil(displayRating)) }, (readOnly && {\n allowFocusRoot: true,\n disabled: true,\n role: 'textbox',\n 'aria-label': readOnlyAriaLabel,\n 'aria-readonly': true,\n 'data-is-focusable': true,\n tabIndex: 0,\n })), stars)));\n});\nRatingBase.displayName = 'RatingBase';\n//# sourceMappingURL=Rating.base.js.map","import { styled } from '../../Utilities';\nimport { getStyles } from './Rating.styles';\nimport { RatingBase } from './Rating.base';\nexport var Rating = styled(RatingBase, getStyles, undefined, { scope: 'Rating' });\n//# sourceMappingURL=Rating.js.map","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { divProperties, getNativeProps } from '../../Utilities';\nimport { ResizeGroupDirection } from './ResizeGroup.types';\nimport { useConst, useMergedRefs, useAsync, useOnEvent, useWarnings } from '@fluentui/react-hooks';\nimport { useWindow } from '../../WindowProvider';\nvar RESIZE_DELAY = 16;\n/**\n * Returns a simple object is able to store measurements with a given key.\n */\nexport var getMeasurementCache = function () {\n var measurementsCache = {};\n return {\n /**\n * Checks if the provided data has a cacheKey. If it has a cacheKey and there is a\n * corresponding entry in the measurementsCache, then it will return that value.\n * Returns undefined otherwise.\n */\n getCachedMeasurement: function (data) {\n if (data && data.cacheKey && measurementsCache.hasOwnProperty(data.cacheKey)) {\n return measurementsCache[data.cacheKey];\n }\n return undefined;\n },\n /**\n * Should be called whenever there is a new measurement associated with a given data object.\n * If the data has a cacheKey, store that measurement in the measurementsCache.\n */\n addMeasurementToCache: function (data, measurement) {\n if (data.cacheKey) {\n measurementsCache[data.cacheKey] = measurement;\n }\n },\n };\n};\n/**\n * Returns a function that is able to compute the next state for the ResizeGroup given the current\n * state and any measurement updates.\n */\nexport var getNextResizeGroupStateProvider = function (measurementCache) {\n if (measurementCache === void 0) { measurementCache = getMeasurementCache(); }\n var _measurementCache = measurementCache;\n var _containerDimension;\n /**\n * Gets the width/height of the data rendered in a hidden div.\n * @param measuredData - The data corresponding to the measurement we wish to take.\n * @param getElementToMeasureDimension - A function that returns the measurement of the rendered data.\n * Only called when the measurement is not in the cache.\n */\n function _getMeasuredDimension(measuredData, getElementToMeasureDimension) {\n var cachedDimension = _measurementCache.getCachedMeasurement(measuredData);\n if (cachedDimension !== undefined) {\n return cachedDimension;\n }\n var measuredDimension = getElementToMeasureDimension();\n _measurementCache.addMeasurementToCache(measuredData, measuredDimension);\n return measuredDimension;\n }\n /**\n * Will get the next IResizeGroupState based on the current data while trying to shrink contents\n * to fit in the container.\n * @param data - The initial data point to start measuring.\n * @param onReduceData - Function that transforms the data into something that should render with less width/height.\n * @param getElementToMeasureDimension - A function that returns the measurement of the rendered data.\n * Only called when the measurement is not in the cache.\n */\n function _shrinkContentsUntilTheyFit(data, onReduceData, getElementToMeasureDimension) {\n var dataToMeasure = data;\n var measuredDimension = _getMeasuredDimension(data, getElementToMeasureDimension);\n while (measuredDimension > _containerDimension) {\n var nextMeasuredData = onReduceData(dataToMeasure);\n // We don't want to get stuck in an infinite render loop when there are no more\n // scaling steps, so implementations of onReduceData should return undefined when\n // there are no more scaling states to apply.\n if (nextMeasuredData === undefined) {\n return {\n renderedData: dataToMeasure,\n resizeDirection: undefined,\n dataToMeasure: undefined,\n };\n }\n measuredDimension = _measurementCache.getCachedMeasurement(nextMeasuredData);\n // If the measurement isn't in the cache, we need to re-render with some data in a hidden div\n if (measuredDimension === undefined) {\n return {\n dataToMeasure: nextMeasuredData,\n resizeDirection: 'shrink',\n };\n }\n dataToMeasure = nextMeasuredData;\n }\n return {\n renderedData: dataToMeasure,\n resizeDirection: undefined,\n dataToMeasure: undefined,\n };\n }\n /**\n * This function should be called when the state changes in a manner that might allow for more content to fit\n * on the screen, such as the window width/height growing.\n * @param data - The initial data point to start measuring.\n * @param onGrowData - Function that transforms the data into something that may take up more space when rendering.\n * @param getElementToMeasureDimension - A function that returns the measurement of the rendered data.\n * Only called when the measurement is not in the cache.\n */\n function _growDataUntilItDoesNotFit(data, onGrowData, getElementToMeasureDimension, onReduceData) {\n var dataToMeasure = data;\n var measuredDimension = _getMeasuredDimension(data, getElementToMeasureDimension);\n while (measuredDimension < _containerDimension) {\n var nextMeasuredData = onGrowData(dataToMeasure);\n // We don't want to get stuck in an infinite render loop when there are no more\n // scaling steps, so implementations of onGrowData should return undefined when\n // there are no more scaling states to apply.\n if (nextMeasuredData === undefined) {\n return {\n renderedData: dataToMeasure,\n resizeDirection: undefined,\n dataToMeasure: undefined,\n };\n }\n measuredDimension = _measurementCache.getCachedMeasurement(nextMeasuredData);\n // If the measurement isn't in the cache, we need to re-render with some data in a hidden div\n if (measuredDimension === undefined) {\n return {\n dataToMeasure: nextMeasuredData,\n };\n }\n dataToMeasure = nextMeasuredData;\n }\n // Once the loop is done, we should now shrink until the contents fit.\n return __assign({ resizeDirection: 'shrink' }, _shrinkContentsUntilTheyFit(dataToMeasure, onReduceData, getElementToMeasureDimension));\n }\n /**\n * Handles an update to the container width/height.\n * Should only be called when we knew the previous container width/height.\n * @param newDimension - The new width/height of the container.\n * @param fullDimensionData - The initial data passed in as a prop to resizeGroup.\n * @param renderedData - The data that was rendered prior to the container size changing.\n * @param onGrowData - Set to true if the Resize group has an onGrowData function.\n */\n function _updateContainerDimension(newDimension, fullDimensionData, renderedData, onGrowData) {\n var nextState;\n if (newDimension > _containerDimension) {\n if (onGrowData) {\n nextState = {\n resizeDirection: 'grow',\n dataToMeasure: onGrowData(renderedData),\n };\n }\n else {\n nextState = {\n resizeDirection: 'shrink',\n dataToMeasure: fullDimensionData,\n };\n }\n }\n else {\n nextState = {\n resizeDirection: 'shrink',\n dataToMeasure: renderedData,\n };\n }\n _containerDimension = newDimension;\n return __assign(__assign({}, nextState), { measureContainer: false });\n }\n function getNextState(props, currentState, getElementToMeasureDimension, newContainerDimension) {\n // If there is no new container width/height or data to measure, there is no need for a new state update\n if (newContainerDimension === undefined && currentState.dataToMeasure === undefined) {\n return undefined;\n }\n if (newContainerDimension) {\n // If we know the last container size and we rendered data at that width/height, we can do an optimized render\n if (_containerDimension && currentState.renderedData && !currentState.dataToMeasure) {\n return __assign(__assign({}, currentState), _updateContainerDimension(newContainerDimension, props.data, currentState.renderedData, props.onGrowData));\n }\n // If we are just setting the container width/height for the first time, we can't do any optimizations\n _containerDimension = newContainerDimension;\n }\n var nextState = __assign(__assign({}, currentState), { measureContainer: false });\n if (currentState.dataToMeasure) {\n if (currentState.resizeDirection === 'grow' && props.onGrowData) {\n nextState = __assign(__assign({}, nextState), _growDataUntilItDoesNotFit(currentState.dataToMeasure, props.onGrowData, getElementToMeasureDimension, props.onReduceData));\n }\n else {\n nextState = __assign(__assign({}, nextState), _shrinkContentsUntilTheyFit(currentState.dataToMeasure, props.onReduceData, getElementToMeasureDimension));\n }\n }\n return nextState;\n }\n /** Function that determines if we need to render content for measurement based on the measurement cache contents. */\n function shouldRenderDataForMeasurement(dataToMeasure) {\n if (!dataToMeasure || _measurementCache.getCachedMeasurement(dataToMeasure) !== undefined) {\n return false;\n }\n return true;\n }\n function getInitialResizeGroupState(data) {\n return {\n dataToMeasure: __assign({}, data),\n resizeDirection: 'grow',\n measureContainer: true,\n };\n }\n return {\n getNextState: getNextState,\n shouldRenderDataForMeasurement: shouldRenderDataForMeasurement,\n getInitialResizeGroupState: getInitialResizeGroupState,\n };\n};\n// Provides a context property that (if true) tells any child components that\n// they are only being used for measurement purposes and will not be visible.\nexport var MeasuredContext = React.createContext({ isMeasured: false });\n// Styles for the hidden div used for measurement\nvar hiddenDivStyles = { position: 'fixed', visibility: 'hidden' };\nvar hiddenParentStyles = { position: 'relative' };\nvar COMPONENT_NAME = 'ResizeGroup';\n/**\n * Use useReducer instead of userState because React is not batching the state updates\n * when state is set in callbacks of setTimeout or requestAnimationFrame.\n * See issue: https://github.com/facebook/react/issues/14259\n */\nfunction resizeDataReducer(state, action) {\n var _a;\n switch (action.type) {\n case 'resizeData':\n return __assign({}, action.value);\n case 'dataToMeasure':\n return __assign(__assign({}, state), { dataToMeasure: action.value, resizeDirection: 'grow', measureContainer: true });\n default:\n return __assign(__assign({}, state), (_a = {}, _a[action.type] = action.value, _a));\n }\n}\nfunction useResizeState(props, nextResizeGroupStateProvider, rootRef) {\n var initialStateData = useConst(function () { return nextResizeGroupStateProvider.getInitialResizeGroupState(props.data); });\n var _a = React.useReducer(resizeDataReducer, initialStateData), resizeData = _a[0], dispatchResizeDataAction = _a[1];\n // Reset state when new data is provided\n React.useEffect(function () {\n dispatchResizeDataAction({\n type: 'dataToMeasure',\n value: props.data,\n });\n }, [props.data]);\n // Because it's possible that we may force more than one re-render per animation frame, we\n // want to make sure that the RAF request is using the most recent data.\n var stateRef = React.useRef(initialStateData);\n stateRef.current = __assign({}, resizeData);\n var updateResizeState = React.useCallback(function (nextState) {\n if (nextState) {\n dispatchResizeDataAction({\n type: 'resizeData',\n value: nextState,\n });\n }\n }, []);\n var remeasure = React.useCallback(function () {\n if (rootRef.current) {\n dispatchResizeDataAction({\n type: 'measureContainer',\n value: true,\n });\n }\n }, [rootRef]);\n return [stateRef, updateResizeState, remeasure];\n}\nfunction useResizingBehavior(props, rootRef) {\n var nextResizeGroupStateProvider = useConst(getNextResizeGroupStateProvider);\n // A div that can be used for the initial measurement so that we can avoid mounting a second instance\n // of the component being measured for the initial render.\n var initialHiddenDiv = React.useRef(null);\n // A hidden div that is used for mounting a new instance of the component for measurement in a hidden\n // div without unmounting the currently visible content.\n var updateHiddenDiv = React.useRef(null);\n // Tracks if any content has been rendered to the user. This enables us to do some performance optimizations\n // for the initial render.\n var hasRenderedContent = React.useRef(false);\n var async = useAsync();\n var _a = useResizeState(props, nextResizeGroupStateProvider, rootRef), stateRef = _a[0], updateResizeState = _a[1], remeasure = _a[2];\n React.useEffect(function () {\n var _a;\n if (stateRef.current.renderedData) {\n hasRenderedContent.current = true;\n (_a = props.dataDidRender) === null || _a === void 0 ? void 0 : _a.call(props, stateRef.current.renderedData);\n }\n });\n React.useEffect(function () {\n async.requestAnimationFrame(function () {\n var containerDimension = undefined;\n if (stateRef.current.measureContainer && rootRef.current) {\n var boundingRect = rootRef.current.getBoundingClientRect();\n containerDimension =\n props.direction === ResizeGroupDirection.vertical ? boundingRect.height : boundingRect.width;\n }\n var nextState = nextResizeGroupStateProvider.getNextState(props, stateRef.current, function () {\n var refToMeasure = !hasRenderedContent.current ? initialHiddenDiv : updateHiddenDiv;\n if (!refToMeasure.current) {\n return 0;\n }\n return props.direction === ResizeGroupDirection.vertical\n ? refToMeasure.current.scrollHeight\n : refToMeasure.current.scrollWidth;\n }, containerDimension);\n updateResizeState(nextState);\n }, rootRef.current);\n });\n var win = useWindow();\n useOnEvent(win, 'resize', async.debounce(remeasure, RESIZE_DELAY, { leading: true }));\n var dataNeedsMeasuring = nextResizeGroupStateProvider.shouldRenderDataForMeasurement(stateRef.current.dataToMeasure);\n var isInitialMeasure = !hasRenderedContent.current && dataNeedsMeasuring;\n return [\n stateRef.current.dataToMeasure,\n stateRef.current.renderedData,\n remeasure,\n initialHiddenDiv,\n updateHiddenDiv,\n dataNeedsMeasuring,\n isInitialMeasure,\n ];\n}\nfunction useDebugWarnings(props) {\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks -- build-time conditional\n useWarnings({\n name: COMPONENT_NAME,\n props: props,\n deprecations: { styles: 'className' },\n });\n }\n}\nvar measuredContextValue = { isMeasured: true };\nexport var ResizeGroupBase = React.forwardRef(function (props, forwardedRef) {\n var rootRef = React.useRef(null);\n // The root div which is the container inside of which we are trying to fit content.\n var mergedRootRef = useMergedRefs(rootRef, forwardedRef);\n var _a = useResizingBehavior(props, rootRef), dataToMeasure = _a[0], renderedData = _a[1], remeasure = _a[2], initialHiddenDiv = _a[3], updateHiddenDiv = _a[4], dataNeedsMeasuring = _a[5], isInitialMeasure = _a[6];\n React.useImperativeHandle(props.componentRef, function () { return ({ remeasure: remeasure }); }, [remeasure]);\n useDebugWarnings(props);\n var className = props.className, onRenderData = props.onRenderData;\n var divProps = getNativeProps(props, divProperties, ['data']);\n // We only ever render the final content to the user. All measurements are done in a hidden div.\n // For the initial render, we want this to be as fast as possible, so we need to make sure that we only mount one\n // version of the component for measurement and the final render. For renders that update what is on screen, we\n // want to make sure that there are no jarring effects such as the screen flashing as we apply scaling steps for\n // measurement. In the update case, we mount a second version of the component just for measurement purposes and\n // leave the rendered content untouched until we know the next state to show to the user.\n return (React.createElement(\"div\", __assign({}, divProps, { className: className, ref: mergedRootRef }),\n React.createElement(\"div\", { style: hiddenParentStyles },\n dataNeedsMeasuring && !isInitialMeasure && (React.createElement(\"div\", { style: hiddenDivStyles, ref: updateHiddenDiv },\n React.createElement(MeasuredContext.Provider, { value: measuredContextValue }, onRenderData(dataToMeasure)))),\n React.createElement(\"div\", { ref: initialHiddenDiv, style: isInitialMeasure ? hiddenDivStyles : undefined, \"data-automation-id\": \"visibleContent\" }, isInitialMeasure ? onRenderData(dataToMeasure) : renderedData && onRenderData(renderedData)))));\n});\nResizeGroupBase.displayName = 'ResizeGroupBase';\n//# sourceMappingURL=ResizeGroup.base.js.map","import { ResizeGroupBase } from './ResizeGroup.base';\nexport var ResizeGroup = ResizeGroupBase;\n//# sourceMappingURL=ResizeGroup.js.map","/**\n * {@docCategory ResizeGroup}\n */\nexport var ResizeGroupDirection;\n(function (ResizeGroupDirection) {\n ResizeGroupDirection[ResizeGroupDirection[\"horizontal\"] = 0] = \"horizontal\";\n ResizeGroupDirection[ResizeGroupDirection[\"vertical\"] = 1] = \"vertical\";\n})(ResizeGroupDirection || (ResizeGroupDirection = {}));\n//# sourceMappingURL=ResizeGroup.types.js.map","import * as React from 'react';\n/**\n * {@docCategory ScrollablePane}\n */\nexport var ScrollbarVisibility = {\n auto: 'auto',\n always: 'always',\n};\nexport var ScrollablePaneContext = React.createContext({ scrollablePane: undefined });\n//# sourceMappingURL=ScrollablePane.types.js.map","import { HighContrastSelector, getGlobalClassNames } from '../../Styling';\nvar GlobalClassNames = {\n root: 'ms-ScrollablePane',\n contentContainer: 'ms-ScrollablePane--contentContainer',\n};\nexport var getStyles = function (props) {\n var _a, _b;\n var className = props.className, theme = props.theme;\n var classNames = getGlobalClassNames(GlobalClassNames, theme);\n var AboveAndBelowStyles = {\n position: 'absolute',\n pointerEvents: 'none',\n };\n var positioningStyle = {\n position: 'absolute',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n WebkitOverflowScrolling: 'touch',\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: (_a = {},\n _a[HighContrastSelector] = {\n borderBottom: '1px solid WindowText',\n },\n _a),\n },\n AboveAndBelowStyles,\n ],\n stickyBelow: [\n {\n bottom: 0,\n selectors: (_b = {},\n _b[HighContrastSelector] = {\n borderTop: '1px solid WindowText',\n },\n _b),\n },\n AboveAndBelowStyles,\n ],\n stickyBelowItems: [\n {\n bottom: 0,\n },\n AboveAndBelowStyles,\n {\n width: '100%',\n },\n ],\n };\n};\n//# sourceMappingURL=ScrollablePane.styles.js.map","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { Async, EventGroup, classNamesFunction, divProperties, getNativeProps, getRTL, initializeComponentRef, } from '../../Utilities';\nimport { ScrollablePaneContext } from './ScrollablePane.types';\nvar getClassNames = classNamesFunction();\nvar ScrollablePaneBase = /** @class */ (function (_super) {\n __extends(ScrollablePaneBase, _super);\n function ScrollablePaneBase(props) {\n var _this = _super.call(this, props) || this;\n _this._root = React.createRef();\n _this._stickyAboveRef = React.createRef();\n _this._stickyBelowRef = React.createRef();\n _this._contentContainer = React.createRef();\n _this.subscribe = function (handler) {\n _this._subscribers.add(handler);\n };\n _this.unsubscribe = function (handler) {\n _this._subscribers.delete(handler);\n };\n _this.addSticky = function (sticky) {\n _this._stickies.add(sticky);\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 _this.removeSticky = function (sticky) {\n _this._stickies.delete(sticky);\n _this._removeStickyFromContainers(sticky);\n _this.notifySubscribers();\n };\n _this.sortSticky = function (sticky, sortAgain) {\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 if (sticky.canStickyBottom && sticky.stickyContentBottom) {\n _this._addToStickyContainer(sticky, _this.stickyBelow, sticky.stickyContentBottom);\n }\n }\n };\n _this.updateStickyRefHeights = function () {\n var stickyItems = _this._stickies;\n var stickyTopHeight = 0;\n var stickyBottomHeight = 0;\n stickyItems.forEach(function (sticky) {\n var _a = sticky.state, isStickyTop = _a.isStickyTop, isStickyBottom = _a.isStickyBottom;\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 _this.setState({\n stickyTopHeight: stickyTopHeight,\n stickyBottomHeight: stickyBottomHeight,\n });\n };\n _this.notifySubscribers = function () {\n if (_this.contentContainer) {\n _this._subscribers.forEach(function (handle) {\n // this.stickyBelow is passed in for calculating distance to determine Sticky status\n handle(_this.contentContainer, _this.stickyBelow);\n });\n }\n };\n _this.getScrollPosition = function () {\n if (_this.contentContainer) {\n return _this.contentContainer.scrollTop;\n }\n return 0;\n };\n _this.syncScrollSticky = function (sticky) {\n if (sticky && _this.contentContainer) {\n sticky.syncScroll(_this.contentContainer);\n }\n };\n _this._getScrollablePaneContext = function () {\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 _this._addToStickyContainer = function (sticky, stickyContainer, stickyContentToAdd) {\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 }\n else {\n // If stickyContentToAdd isn't a child element of target container, then append\n if (!stickyContainer.contains(stickyContentToAdd)) {\n var stickyChildrenElements_1 = [].slice.call(stickyContainer.children);\n var stickyList_1 = [];\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(function (stickyItem) {\n if (stickyContainer === _this.stickyAbove && sticky.canStickyTop) {\n stickyList_1.push(stickyItem);\n }\n else if (sticky.canStickyBottom) {\n stickyList_1.push(stickyItem);\n }\n });\n var stickyListSorted = stickyList_1\n .sort(function (a, b) {\n return (a.state.distanceFromTop || 0) - (b.state.distanceFromTop || 0);\n })\n .filter(function (item) {\n var stickyContent = stickyContainer === _this.stickyAbove ? item.stickyContentTop : item.stickyContentBottom;\n if (stickyContent) {\n return stickyChildrenElements_1.indexOf(stickyContent) > -1;\n }\n return false;\n });\n // Get first element that has a distance from top that is further than our sticky that is being added\n var targetStickyToAppendBefore = undefined;\n for (var _i = 0, stickyListSorted_1 = stickyListSorted; _i < stickyListSorted_1.length; _i++) {\n var stickyListItem = stickyListSorted_1[_i];\n if ((stickyListItem.state.distanceFromTop || 0) >= (sticky.state.distanceFromTop || 0)) {\n targetStickyToAppendBefore = stickyListItem;\n break;\n }\n }\n // If target element to append before is known, grab respective stickyContentTop/Bottom element\n // and insert before\n var targetContainer = 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 _this._removeStickyFromContainers = function (sticky) {\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 _this._onWindowResize = function () {\n var scrollbarWidth = _this._getScrollbarWidth();\n var scrollbarHeight = _this._getScrollbarHeight();\n _this.setState({\n scrollbarWidth: scrollbarWidth,\n scrollbarHeight: scrollbarHeight,\n });\n _this.notifySubscribers();\n };\n _this._getStickyContainerStyle = function (height, isTop) {\n return __assign(__assign({ height: height }, (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 })), (isTop\n ? {\n top: '0',\n }\n : {\n bottom: (_this.state.scrollbarHeight || _this._getScrollbarHeight() || 0) + \"px\",\n }));\n };\n _this._onScroll = function () {\n var contentContainer = _this.contentContainer;\n if (contentContainer) {\n _this._stickies.forEach(function (sticky) {\n sticky.syncScroll(contentContainer);\n });\n }\n _this._notifyThrottled();\n };\n _this._subscribers = new Set();\n _this._stickies = new Set();\n initializeComponentRef(_this);\n _this._async = new Async(_this);\n _this._events = new EventGroup(_this);\n _this.state = {\n stickyTopHeight: 0,\n stickyBottomHeight: 0,\n scrollbarWidth: 0,\n scrollbarHeight: 0,\n };\n _this._notifyThrottled = _this._async.throttle(_this.notifySubscribers, 50);\n return _this;\n }\n Object.defineProperty(ScrollablePaneBase.prototype, \"root\", {\n get: function () {\n return this._root.current;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ScrollablePaneBase.prototype, \"stickyAbove\", {\n get: function () {\n return this._stickyAboveRef.current;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ScrollablePaneBase.prototype, \"stickyBelow\", {\n get: function () {\n return this._stickyBelowRef.current;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ScrollablePaneBase.prototype, \"contentContainer\", {\n get: function () {\n return this._contentContainer.current;\n },\n enumerable: false,\n configurable: true\n });\n ScrollablePaneBase.prototype.componentDidMount = function () {\n var _this = this;\n var initialScrollPosition = this.props.initialScrollPosition;\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 // Set sticky distances from top property, then sort in correct order and notify subscribers\n this.setStickiesDistanceFromTop();\n this._stickies.forEach(function (sticky) {\n _this.sortSticky(sticky);\n });\n this.notifySubscribers();\n if ('MutationObserver' in window) {\n this._mutationObserver = new MutationObserver(function (mutation) {\n // Function to check if mutation is occuring in stickyAbove or stickyBelow\n function checkIfMutationIsSticky(mutationRecord) {\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 // Compute the scrollbar height, which might have changed if the content's width changed and caused overflow\n var 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 // Notify subscribers again to re-check whether Sticky should be Sticky'd or not\n _this.notifySubscribers();\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 }\n else {\n // If mutation occurs in scrollable region, then find Sticky it belongs to and force update\n var stickyList_2 = [];\n _this._stickies.forEach(function (sticky) {\n if (sticky.root && sticky.root.contains(mutation[0].target)) {\n stickyList_2.push(sticky);\n }\n });\n if (stickyList_2.length) {\n stickyList_2.forEach(function (sticky) {\n sticky.forceUpdate();\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 ScrollablePaneBase.prototype.componentWillUnmount = function () {\n this._events.dispose();\n this._async.dispose();\n if (this._mutationObserver) {\n this._mutationObserver.disconnect();\n }\n };\n // Only updates if props/state change, just to prevent excessive setState with updateStickyRefHeights\n ScrollablePaneBase.prototype.shouldComponentUpdate = function (nextProps, nextState) {\n return (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 ScrollablePaneBase.prototype.componentDidUpdate = function (prevProps, prevState) {\n var initialScrollPosition = this.props.initialScrollPosition;\n if (this.contentContainer &&\n typeof initialScrollPosition === 'number' &&\n prevProps.initialScrollPosition !== initialScrollPosition) {\n this.contentContainer.scrollTop = initialScrollPosition;\n }\n // Update subscribers when stickyTopHeight/stickyBottomHeight changes\n if (prevState.stickyTopHeight !== this.state.stickyTopHeight ||\n prevState.stickyBottomHeight !== this.state.stickyBottomHeight) {\n this.notifySubscribers();\n }\n this._async.setTimeout(this._onWindowResize, 0);\n };\n ScrollablePaneBase.prototype.render = function () {\n var _a = this.props, className = _a.className, scrollContainerFocus = _a.scrollContainerFocus, scrollContainerAriaLabel = _a.scrollContainerAriaLabel, theme = _a.theme, styles = _a.styles;\n var _b = this.state, stickyTopHeight = _b.stickyTopHeight, stickyBottomHeight = _b.stickyBottomHeight;\n var classNames = getClassNames(styles, {\n theme: theme,\n className: className,\n scrollbarVisibility: this.props.scrollbarVisibility,\n });\n var scrollContainerProps = scrollContainerFocus\n ? {\n role: 'group',\n tabIndex: 0,\n 'aria-label': scrollContainerAriaLabel,\n }\n : {};\n return (React.createElement(\"div\", __assign({}, getNativeProps(this.props, divProperties), { ref: this._root, className: classNames.root }),\n React.createElement(\"div\", { ref: this._stickyAboveRef, className: classNames.stickyAbove, style: this._getStickyContainerStyle(stickyTopHeight, true) }),\n React.createElement(\"div\", __assign({ ref: this._contentContainer }, scrollContainerProps, { className: classNames.contentContainer, \"data-is-scrollable\": true }),\n React.createElement(ScrollablePaneContext.Provider, { value: this._getScrollablePaneContext() }, this.props.children)),\n React.createElement(\"div\", { className: classNames.stickyBelow, style: this._getStickyContainerStyle(stickyBottomHeight, false) },\n React.createElement(\"div\", { ref: this._stickyBelowRef, className: classNames.stickyBelowItems }))));\n };\n ScrollablePaneBase.prototype.setStickiesDistanceFromTop = function () {\n var _this = this;\n if (this.contentContainer) {\n this._stickies.forEach(function (sticky) {\n sticky.setDistanceFromTop(_this.contentContainer);\n });\n }\n };\n ScrollablePaneBase.prototype.forceLayoutUpdate = function () {\n this._onWindowResize();\n };\n ScrollablePaneBase.prototype._checkStickyStatus = function (sticky) {\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 (sticky.state.isStickyTop &&\n !this.stickyAbove.contains(sticky.nonStickyContent) &&\n sticky.stickyContentTop) {\n sticky.addSticky(sticky.stickyContentTop);\n }\n if (sticky.state.isStickyBottom &&\n !this.stickyBelow.contains(sticky.nonStickyContent) &&\n sticky.stickyContentBottom) {\n sticky.addSticky(sticky.stickyContentBottom);\n }\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 ScrollablePaneBase.prototype._getScrollbarWidth = function () {\n var contentContainer = this.contentContainer;\n return contentContainer ? contentContainer.offsetWidth - contentContainer.clientWidth : 0;\n };\n ScrollablePaneBase.prototype._getScrollbarHeight = function () {\n var contentContainer = this.contentContainer;\n return contentContainer ? contentContainer.offsetHeight - contentContainer.clientHeight : 0;\n };\n return ScrollablePaneBase;\n}(React.Component));\nexport { ScrollablePaneBase };\n//# sourceMappingURL=ScrollablePane.base.js.map","import { getStyles } from './ScrollablePane.styles';\nimport { ScrollablePaneBase } from './ScrollablePane.base';\nimport { styled } from '../../Utilities';\nexport var ScrollablePane = styled(ScrollablePaneBase, getStyles, undefined, { scope: 'ScrollablePane' });\n//# sourceMappingURL=ScrollablePane.js.map","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { KeyCodes, classNamesFunction, getNativeProps, inputProperties } from '../../Utilities';\nimport { useControllableValue, useId, useMergedRefs, useWarnings } from '@fluentui/react-hooks';\nimport { IconButton } from '../../Button';\nimport { Icon } from '../../Icon';\nvar COMPONENT_NAME = 'SearchBox';\nvar iconButtonStyles = { root: { height: 'auto' }, icon: { fontSize: '12px' } };\nvar iconButtonProps = { iconName: 'Clear' };\nvar defaultClearButtonProps = { ariaLabel: 'Clear text' };\nvar getClassNames = classNamesFunction();\nvar useComponentRef = function (componentRef, inputElementRef, hasFocus) {\n React.useImperativeHandle(componentRef, function () { return ({\n focus: function () { var _a; return (_a = inputElementRef.current) === null || _a === void 0 ? void 0 : _a.focus(); },\n hasFocus: function () { return hasFocus; },\n }); }, [inputElementRef, hasFocus]);\n};\nexport var SearchBoxBase = React.forwardRef(function (props, forwardedRef) {\n var ariaLabel = props.ariaLabel, className = props.className, _a = props.defaultValue, defaultValue = _a === void 0 ? '' : _a, disabled = props.disabled, underlined = props.underlined, styles = props.styles, \n // eslint-disable-next-line deprecation/deprecation\n labelText = props.labelText, \n // eslint-disable-next-line deprecation/deprecation\n _b = props.placeholder, \n // eslint-disable-next-line deprecation/deprecation\n placeholder = _b === void 0 ? labelText : _b, theme = props.theme, _c = props.clearButtonProps, clearButtonProps = _c === void 0 ? defaultClearButtonProps : _c, _d = props.disableAnimation, disableAnimation = _d === void 0 ? false : _d, _e = props.showIcon, showIcon = _e === void 0 ? false : _e, customOnClear = props.onClear, customOnBlur = props.onBlur, customOnEscape = props.onEscape, customOnSearch = props.onSearch, customOnKeyDown = props.onKeyDown, iconProps = props.iconProps, role = props.role, onChange = props.onChange, \n // eslint-disable-next-line deprecation/deprecation\n onChanged = props.onChanged;\n var _f = React.useState(false), hasFocus = _f[0], setHasFocus = _f[1];\n var _g = useControllableValue(props.value, defaultValue, React.useCallback(function (ev) {\n onChange === null || onChange === void 0 ? void 0 : onChange(ev, ev === null || ev === void 0 ? void 0 : ev.target.value);\n onChanged === null || onChanged === void 0 ? void 0 : onChanged(ev === null || ev === void 0 ? void 0 : ev.target.value);\n }, [onChange, onChanged])), uncastValue = _g[0], setValue = _g[1];\n var value = String(uncastValue);\n var rootElementRef = React.useRef(null);\n var inputElementRef = React.useRef(null);\n var mergedRootRef = useMergedRefs(rootElementRef, forwardedRef);\n var id = useId(COMPONENT_NAME, props.id);\n var customOnClearClick = clearButtonProps.onClick;\n var classNames = getClassNames(styles, {\n theme: theme,\n className: className,\n underlined: underlined,\n hasFocus: hasFocus,\n disabled: disabled,\n hasInput: value.length > 0,\n disableAnimation: disableAnimation,\n showIcon: showIcon,\n });\n var nativeProps = getNativeProps(props, inputProperties, [\n 'className',\n 'placeholder',\n 'onFocus',\n 'onBlur',\n 'value',\n 'role',\n ]);\n var onClear = React.useCallback(function (ev) {\n var _a;\n customOnClear === null || customOnClear === void 0 ? void 0 : customOnClear(ev);\n if (!ev.defaultPrevented) {\n setValue('');\n (_a = inputElementRef.current) === null || _a === void 0 ? void 0 : _a.focus();\n ev.stopPropagation();\n ev.preventDefault();\n }\n }, [customOnClear, setValue]);\n var onClearClick = React.useCallback(function (ev) {\n customOnClearClick === null || customOnClearClick === void 0 ? void 0 : customOnClearClick(ev);\n if (!ev.defaultPrevented) {\n onClear(ev);\n }\n }, [customOnClearClick, onClear]);\n var onFocusCapture = function (ev) {\n var _a;\n setHasFocus(true);\n (_a = props.onFocus) === null || _a === void 0 ? void 0 : _a.call(props, ev);\n };\n var onClickFocus = function () {\n if (inputElementRef.current) {\n inputElementRef.current.focus();\n inputElementRef.current.selectionStart = inputElementRef.current.selectionEnd = 0;\n }\n };\n var onBlur = React.useCallback(function (ev) {\n setHasFocus(false);\n customOnBlur === null || customOnBlur === void 0 ? void 0 : customOnBlur(ev);\n }, [customOnBlur]);\n var onInputChange = function (ev) {\n setValue(ev.target.value, ev);\n };\n var onKeyDown = function (ev) {\n // eslint-disable-next-line deprecation/deprecation\n switch (ev.which) {\n case KeyCodes.escape:\n customOnEscape === null || customOnEscape === void 0 ? void 0 : customOnEscape(ev);\n // Only call onClear if the search box has a value to clear. Otherwise, allow the Esc key\n // to propagate from the empty search box to a parent element such as a dialog, etc.\n if (value && !ev.defaultPrevented) {\n onClear(ev);\n }\n break;\n case KeyCodes.enter:\n if (customOnSearch) {\n customOnSearch(value);\n ev.preventDefault();\n ev.stopPropagation();\n }\n break;\n default:\n // REVIEW: Why aren't we calling customOnKeyDown for Escape or Enter?\n customOnKeyDown === null || customOnKeyDown === void 0 ? void 0 : customOnKeyDown(ev);\n // REVIEW: Why are we calling stopPropagation if customOnKeyDown called preventDefault?\n // customOnKeyDown should call stopPropagation if it needs it.\n if (ev.defaultPrevented) {\n ev.stopPropagation();\n }\n break;\n }\n };\n useDebugWarning(props);\n useComponentRef(props.componentRef, inputElementRef, hasFocus);\n return (React.createElement(\"div\", { role: role, ref: mergedRootRef, className: classNames.root, onFocusCapture: onFocusCapture },\n React.createElement(\"div\", { className: classNames.iconContainer, onClick: onClickFocus, \"aria-hidden\": true },\n React.createElement(Icon, __assign({ iconName: \"Search\" }, iconProps, { className: classNames.icon }))),\n React.createElement(\"input\", __assign({}, nativeProps, { id: id, className: classNames.field, placeholder: placeholder, onChange: onInputChange, onInput: onInputChange, onBlur: onBlur, onKeyDown: onKeyDown, value: value, disabled: disabled, role: \"searchbox\", \"aria-label\": ariaLabel, ref: inputElementRef })),\n value.length > 0 && (React.createElement(\"div\", { className: classNames.clearButton },\n React.createElement(IconButton, __assign({ onBlur: onBlur, styles: iconButtonStyles, iconProps: iconButtonProps }, clearButtonProps, { onClick: onClearClick }))))));\n});\nSearchBoxBase.displayName = COMPONENT_NAME;\nfunction useDebugWarning(props) {\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks -- build-time conditional\n useWarnings({\n name: COMPONENT_NAME,\n props: props,\n deprecations: { labelText: 'placeholder' },\n });\n }\n}\n//# sourceMappingURL=SearchBox.base.js.map","import { HighContrastSelector, AnimationVariables, normalize, getPlaceholderStyles, getGlobalClassNames, getInputFocusStyle, } from '../../Styling';\nimport { getRTL } from '../../Utilities';\nvar 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};\nexport function getStyles(props) {\n var _a, _b, _c, _d, _e;\n var theme = props.theme, underlined = props.underlined, disabled = props.disabled, hasFocus = props.hasFocus, className = props.className, hasInput = props.hasInput, disableAnimation = props.disableAnimation, showIcon = props.showIcon;\n var palette = theme.palette, fonts = theme.fonts, semanticColors = theme.semanticColors, effects = theme.effects;\n var classNames = getGlobalClassNames(GlobalClassNames, theme);\n // placeholder style constants\n var placeholderStyles = {\n color: semanticColors.inputPlaceholderText,\n opacity: 1,\n };\n var inputIconAlt = palette.neutralSecondary;\n var inputIconAltHovered = palette.neutralPrimary;\n var inputBorderDisabled = palette.neutralLighter;\n var inputBackgroundHovered = palette.neutralLighter;\n var inputBackgroundDisabled = palette.neutralLighter;\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: (_a = {},\n _a[HighContrastSelector] = {\n borderColor: 'WindowText',\n },\n _a[':hover'] = {\n borderColor: semanticColors.inputBorderHovered,\n selectors: (_b = {},\n _b[HighContrastSelector] = {\n borderColor: 'Highlight',\n },\n _b),\n },\n _a[\":hover .\" + classNames.iconContainer] = {\n color: semanticColors.inputIconHovered,\n },\n _a),\n },\n !hasFocus &&\n hasInput && {\n selectors: (_c = {},\n _c[\":hover .\" + classNames.iconContainer] = {\n width: 4,\n },\n _c[\":hover .\" + classNames.icon] = {\n opacity: 0,\n pointerEvents: 'none',\n },\n _c),\n },\n hasFocus && [\n 'is-active',\n {\n position: 'relative',\n },\n getInputFocusStyle(semanticColors.inputFocusBorderAlt, underlined ? 0 : effects.roundedCorner2, underlined ? 'borderBottom' : 'border'),\n ],\n showIcon && [\n {\n selectors: (_d = {},\n _d[\":hover .\" + classNames.iconContainer] = {\n width: 32,\n },\n _d[\":hover .\" + classNames.icon] = {\n opacity: 1,\n },\n _d),\n },\n ],\n disabled && [\n 'is-disabled',\n {\n borderColor: inputBorderDisabled,\n backgroundColor: inputBackgroundDisabled,\n pointerEvents: 'none',\n cursor: 'default',\n selectors: (_e = {},\n _e[HighContrastSelector] = {\n borderColor: 'GrayText',\n },\n _e),\n },\n ],\n underlined && [\n 'is-underlined',\n {\n borderWidth: '0 0 1px 0',\n borderRadius: 0,\n // Underlined SearchBox has a larger padding left to vertically align with the waffle in product\n padding: '1px 0 1px 8px',\n },\n ],\n underlined &&\n disabled && {\n backgroundColor: 'transparent',\n },\n hasInput && 'can-clear',\n className,\n ],\n iconContainer: [\n classNames.iconContainer,\n {\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n flexShrink: 0,\n fontSize: 16,\n width: 32,\n textAlign: 'center',\n color: semanticColors.inputIcon,\n cursor: 'text',\n },\n hasFocus && {\n width: 4,\n },\n disabled && {\n color: semanticColors.inputIconDisabled,\n },\n !disableAnimation && {\n transition: \"width \" + AnimationVariables.durationValue1,\n },\n showIcon &&\n hasFocus && {\n width: 32,\n },\n ],\n icon: [\n classNames.icon,\n {\n opacity: 1,\n },\n hasFocus && {\n opacity: 0,\n pointerEvents: 'none',\n },\n !disableAnimation && {\n transition: \"opacity \" + AnimationVariables.durationValue1 + \" 0s\",\n },\n showIcon &&\n hasFocus && {\n opacity: 1,\n },\n ],\n clearButton: [\n classNames.clearButton,\n {\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'stretch',\n cursor: 'pointer',\n flexBasis: '32px',\n flexShrink: 0,\n padding: 0,\n margin: '-1px 0px',\n selectors: {\n '&:hover .ms-Button': {\n backgroundColor: inputBackgroundHovered,\n },\n '&:hover .ms-Button-icon': {\n color: inputIconAltHovered,\n },\n '.ms-Button': {\n borderRadius: getRTL(theme) ? '1px 0 0 1px' : '0 1px 1px 0',\n },\n '.ms-Button-icon': {\n color: inputIconAlt,\n },\n },\n },\n ],\n field: [\n classNames.field,\n normalize,\n getPlaceholderStyles(placeholderStyles),\n {\n backgroundColor: 'transparent',\n border: 'none',\n outline: 'none',\n fontWeight: 'inherit',\n fontFamily: 'inherit',\n fontSize: 'inherit',\n color: semanticColors.inputText,\n flex: '1 1 0px',\n // The default implicit value of 'auto' prevents the input from shrinking. Setting min-width to\n // 0px allows the input element to shrink to fit the container.\n minWidth: '0px',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n // This padding forces the text placement to round up.\n paddingBottom: 0.5,\n // This removes the IE specific clear button in the input since we implemented our own\n selectors: {\n '::-ms-clear': {\n display: 'none',\n },\n },\n },\n disabled && {\n color: semanticColors.disabledText,\n },\n ],\n };\n}\n//# sourceMappingURL=SearchBox.styles.js.map","import { styled } from '../../Utilities';\nimport { SearchBoxBase } from './SearchBox.base';\nimport { getStyles } from './SearchBox.styles';\nexport var SearchBox = styled(SearchBoxBase, getStyles, undefined, { scope: 'SearchBox' });\n//# sourceMappingURL=SearchBox.js.map","import { __extends } from \"tslib\";\nimport * as React from 'react';\nimport { Selection } from '../../Selection';\nimport { initializeComponentRef } from '../../Utilities';\nvar BaseSelectedItemsList = /** @class */ (function (_super) {\n __extends(BaseSelectedItemsList, _super);\n function BaseSelectedItemsList(basePickerProps) {\n var _this = _super.call(this, basePickerProps) || this;\n _this.addItems = function (items) {\n var processedItems = _this.props.onItemSelected\n ? _this.props.onItemSelected(items)\n : items;\n var processedItemObjects = processedItems;\n var processedItemPromiseLikes = processedItems;\n if (processedItemPromiseLikes && processedItemPromiseLikes.then) {\n processedItemPromiseLikes.then(function (resolvedProcessedItems) {\n var newItems = _this.state.items.concat(resolvedProcessedItems);\n _this.updateItems(newItems);\n });\n }\n else {\n var newItems = _this.state.items.concat(processedItemObjects);\n _this.updateItems(newItems);\n }\n };\n _this.removeItemAt = function (index) {\n var items = _this.state.items;\n if (_this._canRemoveItem(items[index])) {\n if (index > -1) {\n if (_this.props.onItemsDeleted) {\n _this.props.onItemsDeleted([items[index]]);\n }\n var newItems = items.slice(0, index).concat(items.slice(index + 1));\n _this.updateItems(newItems);\n }\n }\n };\n _this.removeItem = function (item) {\n var items = _this.state.items;\n var index = items.indexOf(item);\n _this.removeItemAt(index);\n };\n _this.replaceItem = function (itemToReplace, itemsToReplaceWith) {\n var items = _this.state.items;\n var index = items.indexOf(itemToReplace);\n if (index > -1) {\n var newItems = items\n .slice(0, index)\n .concat(itemsToReplaceWith)\n .concat(items.slice(index + 1));\n _this.updateItems(newItems);\n }\n };\n _this.removeItems = function (itemsToRemove) {\n var items = _this.state.items;\n var itemsCanRemove = itemsToRemove.filter(function (item) { return _this._canRemoveItem(item); });\n var newItems = items.filter(function (item) { return itemsCanRemove.indexOf(item) === -1; });\n var firstItemToRemove = itemsCanRemove[0];\n var index = items.indexOf(firstItemToRemove);\n if (_this.props.onItemsDeleted) {\n _this.props.onItemsDeleted(itemsCanRemove);\n }\n _this.updateItems(newItems, index);\n };\n _this.onCopy = function (ev) {\n if (_this.props.onCopyItems && _this.selection.getSelectedCount() > 0) {\n var selectedItems = _this.selection.getSelection();\n _this.copyItems(selectedItems);\n }\n };\n _this.renderItems = function () {\n var removeButtonAriaLabel = _this.props.removeButtonAriaLabel;\n var onRenderItem = _this.props.onRenderItem;\n var items = _this.state.items;\n return items.map(function (item, index) {\n return onRenderItem({\n item: item,\n index: index,\n key: item.key ? item.key : index,\n selected: _this.selection.isIndexSelected(index),\n onRemoveItem: function () { return _this.removeItem(item); },\n onItemChange: _this.onItemChange,\n removeButtonAriaLabel: removeButtonAriaLabel,\n onCopyItem: function (itemToCopy) { return _this.copyItems([itemToCopy]); },\n });\n });\n };\n _this.onSelectionChanged = function () {\n _this.forceUpdate();\n };\n _this.onItemChange = function (changedItem, index) {\n var items = _this.state.items;\n if (index >= 0) {\n var newItems = items;\n newItems[index] = changedItem;\n _this.updateItems(newItems);\n }\n };\n initializeComponentRef(_this);\n var items = basePickerProps.selectedItems || basePickerProps.defaultSelectedItems || [];\n _this.state = {\n items: items,\n };\n // Create a new selection if one is not specified\n _this._defaultSelection = new Selection({ onSelectionChanged: _this.onSelectionChanged });\n return _this;\n }\n BaseSelectedItemsList.getDerivedStateFromProps = function (newProps) {\n if (newProps.selectedItems) {\n return { items: newProps.selectedItems };\n }\n return null;\n };\n Object.defineProperty(BaseSelectedItemsList.prototype, \"items\", {\n get: function () {\n return this.state.items;\n },\n enumerable: false,\n configurable: true\n });\n BaseSelectedItemsList.prototype.removeSelectedItems = function () {\n if (this.state.items.length && this.selection.getSelectedCount() > 0) {\n this.removeItems(this.selection.getSelection());\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 BaseSelectedItemsList.prototype.updateItems = function (items, focusIndex) {\n var _this = this;\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 }\n else {\n this.setState({ items: items }, function () {\n _this._onSelectedItemsUpdated(items, focusIndex);\n });\n }\n };\n BaseSelectedItemsList.prototype.hasSelectedItems = function () {\n return this.selection.getSelectedCount() > 0;\n };\n BaseSelectedItemsList.prototype.componentDidUpdate = function (oldProps, oldState) {\n if (this.state.items && this.state.items !== oldState.items) {\n this.selection.setItems(this.state.items);\n }\n };\n BaseSelectedItemsList.prototype.unselectAll = function () {\n this.selection.setAllSelected(false);\n };\n BaseSelectedItemsList.prototype.highlightedItems = function () {\n return this.selection.getSelection();\n };\n BaseSelectedItemsList.prototype.componentDidMount = function () {\n this.selection.setItems(this.state.items);\n };\n Object.defineProperty(BaseSelectedItemsList.prototype, \"selection\", {\n get: function () {\n var _a;\n return (_a = this.props.selection) !== null && _a !== void 0 ? _a : this._defaultSelection;\n },\n enumerable: false,\n configurable: true\n });\n BaseSelectedItemsList.prototype.render = function () {\n return this.renderItems();\n };\n BaseSelectedItemsList.prototype.onChange = function (items) {\n if (this.props.onChange) {\n this.props.onChange(items);\n }\n };\n BaseSelectedItemsList.prototype.copyItems = function (items) {\n if (this.props.onCopyItems) {\n var copyText = this.props.onCopyItems(items);\n var copyInput = document.createElement('input');\n document.body.appendChild(copyInput);\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 }\n catch (err) {\n // no op\n }\n finally {\n document.body.removeChild(copyInput);\n }\n }\n };\n BaseSelectedItemsList.prototype._onSelectedItemsUpdated = function (items, focusIndex) {\n this.onChange(items);\n };\n BaseSelectedItemsList.prototype._canRemoveItem = function (item) {\n return !this.props.canRemoveItem || this.props.canRemoveItem(item);\n };\n return BaseSelectedItemsList;\n}(React.Component));\nexport { BaseSelectedItemsList };\n//# sourceMappingURL=BaseSelectedItemsList.js.map","/* eslint-disable */\nimport { loadStyles } from '@microsoft/load-themed-styles';\nloadStyles([{ \"rawString\": \".personaContainer_cbad3345{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_cbad3345::-moz-focus-inner{border:0}.personaContainer_cbad3345{outline:transparent}.personaContainer_cbad3345{position:relative}.ms-Fabric--isFocusVisible .personaContainer_cbad3345:focus:after{-webkit-box-sizing:border-box;box-sizing:border-box;content:'';position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;pointer-events:none;border:1px solid \" }, { \"theme\": \"focusBorder\", \"defaultValue\": \"#605e5c\" }, { \"rawString\": \";border-radius:0}.personaContainer_cbad3345 .ms-Persona-primaryText{color:\" }, { \"theme\": \"themeDark\", \"defaultValue\": \"#005a9e\" }, { \"rawString\": \";font-size:14px;font-weight:400}.personaContainer_cbad3345 .ms-Persona-primaryText.hover_cbad3345{color:\" }, { \"theme\": \"themeDark\", \"defaultValue\": \"#005a9e\" }, { \"rawString\": \"}@media screen and (-ms-high-contrast:active){.personaContainer_cbad3345 .ms-Persona-primaryText{color:HighlightText}}.personaContainer_cbad3345 .actionButton_cbad3345:hover{background:\" }, { \"theme\": \"themeLight\", \"defaultValue\": \"#c7e0f4\" }, { \"rawString\": \"}.personaContainer_cbad3345 .actionButton_cbad3345 .ms-Button-icon{color:\" }, { \"theme\": \"themeDark\", \"defaultValue\": \"#005a9e\" }, { \"rawString\": \"}@media screen and (-ms-high-contrast:active){.personaContainer_cbad3345 .actionButton_cbad3345 .ms-Button-icon{color:HighlightText}}.personaContainer_cbad3345:hover{background:\" }, { \"theme\": \"themeLighter\", \"defaultValue\": \"#deecf9\" }, { \"rawString\": \"}.personaContainer_cbad3345:hover .ms-Persona-primaryText{color:\" }, { \"theme\": \"themeDark\", \"defaultValue\": \"#005a9e\" }, { \"rawString\": \";font-size:14px;font-weight:400}@media screen and (-ms-high-contrast:active){.personaContainer_cbad3345:hover .ms-Persona-primaryText{color:HighlightText}}.personaContainer_cbad3345.personaContainerIsSelected_cbad3345{background:\" }, { \"theme\": \"themePrimary\", \"defaultValue\": \"#0078d4\" }, { \"rawString\": \"}.personaContainer_cbad3345.personaContainerIsSelected_cbad3345 .ms-Persona-primaryText{color:\" }, { \"theme\": \"white\", \"defaultValue\": \"#ffffff\" }, { \"rawString\": \"}@media screen and (-ms-high-contrast:active){.personaContainer_cbad3345.personaContainerIsSelected_cbad3345 .ms-Persona-primaryText{color:HighlightText}}.personaContainer_cbad3345.personaContainerIsSelected_cbad3345 .actionButton_cbad3345{color:\" }, { \"theme\": \"white\", \"defaultValue\": \"#ffffff\" }, { \"rawString\": \"}.personaContainer_cbad3345.personaContainerIsSelected_cbad3345 .actionButton_cbad3345 .ms-Button-icon{color:\" }, { \"theme\": \"themeDark\", \"defaultValue\": \"#005a9e\" }, { \"rawString\": \"}.personaContainer_cbad3345.personaContainerIsSelected_cbad3345 .actionButton_cbad3345 .ms-Button-icon:hover{background:\" }, { \"theme\": \"themeDark\", \"defaultValue\": \"#005a9e\" }, { \"rawString\": \"}@media screen and (-ms-high-contrast:active){.personaContainer_cbad3345.personaContainerIsSelected_cbad3345 .actionButton_cbad3345 .ms-Button-icon{color:HighlightText}}@media screen and (-ms-high-contrast:active){.personaContainer_cbad3345.personaContainerIsSelected_cbad3345{border-color:Highlight;background:Highlight;-ms-high-contrast-adjust:none}}.personaContainer_cbad3345.validationError_cbad3345 .ms-Persona-primaryText{color:\" }, { \"theme\": \"red\", \"defaultValue\": \"#e81123\" }, { \"rawString\": \"}.personaContainer_cbad3345.validationError_cbad3345 .ms-Persona-initials{font-size:20px}@media screen and (-ms-high-contrast:active){.personaContainer_cbad3345{border:1px solid WindowText}}.personaContainer_cbad3345 .itemContent_cbad3345{-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto;min-width:0;max-width:100%}.personaContainer_cbad3345 .removeButton_cbad3345{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_cbad3345 .expandButton_cbad3345{border-radius:15px 0 0 15px;height:33px;width:44px;padding-right:16px;position:inherit;display:-webkit-box;display:-ms-flexbox;display:flex;margin-right:-17px}.personaContainer_cbad3345 .personaWrapper_cbad3345{position:relative;display:inherit}.personaContainer_cbad3345 .personaWrapper_cbad3345 .ms-Persona-details{padding:0 8px}.personaContainer_cbad3345 .personaDetails_cbad3345{-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto}.itemContainer_cbad3345{display:inline-block;vertical-align:top}\" }]);\nexport var personaContainer = \"personaContainer_cbad3345\";\nexport var hover = \"hover_cbad3345\";\nexport var actionButton = \"actionButton_cbad3345\";\nexport var personaContainerIsSelected = \"personaContainerIsSelected_cbad3345\";\nexport var validationError = \"validationError_cbad3345\";\nexport var itemContent = \"itemContent_cbad3345\";\nexport var removeButton = \"removeButton_cbad3345\";\nexport var expandButton = \"expandButton_cbad3345\";\nexport var personaWrapper = \"personaWrapper_cbad3345\";\nexport var personaDetails = \"personaDetails_cbad3345\";\nexport var itemContainer = \"itemContainer_cbad3345\";\n//# sourceMappingURL=ExtendedSelectedItem.scss.js.map","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { IconButton } from '../../../../Button';\nimport { css, getId, initializeComponentRef } from '../../../../Utilities';\nimport { Persona, PersonaSize } from '../../../../Persona';\nimport * as stylesImport from './ExtendedSelectedItem.scss';\nvar styles = stylesImport;\nvar ExtendedSelectedItem = /** @class */ (function (_super) {\n __extends(ExtendedSelectedItem, _super);\n function ExtendedSelectedItem(props) {\n var _this = _super.call(this, props) || this;\n _this.persona = React.createRef();\n initializeComponentRef(_this);\n // eslint-disable-next-line react/no-unused-state\n _this.state = { contextualMenuVisible: false };\n return _this;\n }\n ExtendedSelectedItem.prototype.render = function () {\n var _a, _b;\n var _c = this.props, item = _c.item, onExpandItem = _c.onExpandItem, onRemoveItem = _c.onRemoveItem, removeButtonAriaLabel = _c.removeButtonAriaLabel, index = _c.index, selected = _c.selected;\n var itemId = getId();\n return (React.createElement(\"div\", { ref: this.persona, className: css('ms-PickerPersona-container', styles.personaContainer, (_a = {}, _a['is-selected ' + styles.personaContainerIsSelected] = selected, _a), (_b = {}, _b['is-invalid ' + styles.validationError] = !item.isValid, _b)), \"data-is-focusable\": true, \"data-is-sub-focuszone\": true, \"data-selection-index\": index, role: 'listitem', \"aria-labelledby\": 'selectedItemPersona-' + itemId },\n React.createElement(\"div\", { hidden: !item.canExpand || onExpandItem === undefined },\n React.createElement(IconButton, { onClick: this._onClickIconButton(onExpandItem), iconProps: { iconName: 'Add', style: { fontSize: '14px' } }, className: css('ms-PickerItem-removeButton', styles.expandButton, styles.actionButton), ariaLabel: removeButtonAriaLabel })),\n React.createElement(\"div\", { className: css(styles.personaWrapper) },\n React.createElement(\"div\", { className: css('ms-PickerItem-content', styles.itemContent), id: 'selectedItemPersona-' + itemId },\n React.createElement(Persona, __assign({}, item, { onRenderCoin: this.props.renderPersonaCoin, onRenderPrimaryText: this.props.renderPrimaryText, size: PersonaSize.size32 }))),\n React.createElement(IconButton, { onClick: this._onClickIconButton(onRemoveItem), iconProps: { iconName: 'Cancel', style: { fontSize: '14px' } }, className: css('ms-PickerItem-removeButton', styles.removeButton, styles.actionButton), ariaLabel: removeButtonAriaLabel }))));\n };\n ExtendedSelectedItem.prototype._onClickIconButton = function (action) {\n return function (ev) {\n ev.stopPropagation();\n ev.preventDefault();\n if (action) {\n action();\n }\n };\n };\n return ExtendedSelectedItem;\n}(React.Component));\nexport { ExtendedSelectedItem };\n//# sourceMappingURL=ExtendedSelectedItem.js.map","import { __extends } from \"tslib\";\nimport * as React from 'react';\nimport { initializeComponentRef } from '../../../../Utilities';\nimport { ContextualMenu, DirectionalHint } from '../../../../ContextualMenu';\nvar SelectedItemWithContextMenu = /** @class */ (function (_super) {\n __extends(SelectedItemWithContextMenu, _super);\n function SelectedItemWithContextMenu(props) {\n var _this = _super.call(this, props) || this;\n _this.itemElement = React.createRef();\n _this._onClick = function (ev) {\n ev.preventDefault();\n if (_this.props.beginEditing && !_this.props.item.isValid) {\n _this.props.beginEditing(_this.props.item);\n }\n else {\n _this.setState({ contextualMenuVisible: true });\n }\n };\n _this._onCloseContextualMenu = function (ev) {\n _this.setState({ contextualMenuVisible: false });\n };\n initializeComponentRef(_this);\n _this.state = { contextualMenuVisible: false };\n return _this;\n }\n SelectedItemWithContextMenu.prototype.render = function () {\n return (React.createElement(\"div\", { ref: this.itemElement, onContextMenu: this._onClick },\n this.props.renderedItem,\n this.state.contextualMenuVisible ? (React.createElement(ContextualMenu, { items: this.props.menuItems, shouldFocusOnMount: true, target: this.itemElement.current, onDismiss: this._onCloseContextualMenu, directionalHint: DirectionalHint.bottomLeftEdge })) : null));\n };\n return SelectedItemWithContextMenu;\n}(React.Component));\nexport { SelectedItemWithContextMenu };\n//# sourceMappingURL=SelectedItemWithContextMenu.js.map","import { getGlobalClassNames, getTheme } from '../../../../Styling';\nvar GlobalClassNames = {\n root: 'ms-EditingItem',\n input: 'ms-EditingItem-input',\n};\nexport var getStyles = function (prop) {\n var theme = getTheme();\n if (!theme) {\n throw new Error('theme is undefined or null in Editing item getStyles function.');\n }\n var semanticColors = theme.semanticColors;\n var classNames = getGlobalClassNames(GlobalClassNames, theme);\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//# sourceMappingURL=EditingItem.styles.js.map","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { KeyCodes, getId, getNativeProps, inputProperties, classNamesFunction, initializeComponentRef, } from '../../../../Utilities';\nimport { getStyles } from './EditingItem.styles';\nvar EditingItem = /** @class */ (function (_super) {\n __extends(EditingItem, _super);\n function EditingItem(props) {\n var _this = _super.call(this, props) || this;\n _this._editingFloatingPicker = React.createRef();\n _this._renderEditingSuggestions = function () {\n var FloatingPicker = _this.props.onRenderFloatingPicker;\n var floatingPickerProps = _this.props.floatingPickerProps;\n if (!FloatingPicker || !floatingPickerProps) {\n return React.createElement(React.Fragment, null);\n }\n return (React.createElement(FloatingPicker, __assign({ componentRef: _this._editingFloatingPicker, onChange: _this._onSuggestionSelected, inputElement: _this._editingInput, selectedItems: [] }, floatingPickerProps)));\n };\n _this._resolveInputRef = function (ref) {\n _this._editingInput = ref;\n _this.forceUpdate(function () {\n _this._editingInput.focus();\n });\n };\n _this._onInputClick = function () {\n _this._editingFloatingPicker.current && _this._editingFloatingPicker.current.showPicker(true /*updatevalue*/);\n };\n _this._onInputBlur = function (ev) {\n if (_this._editingFloatingPicker.current && ev.relatedTarget !== null) {\n var target = ev.relatedTarget;\n if (target.className.indexOf('ms-Suggestions-itemButton') === -1 &&\n target.className.indexOf('ms-Suggestions-sectionButton') === -1) {\n _this._editingFloatingPicker.current.forceResolveSuggestion();\n }\n }\n };\n _this._onInputChange = function (ev) {\n var value = ev.target.value;\n if (value === '') {\n if (_this.props.onRemoveItem) {\n _this.props.onRemoveItem();\n }\n }\n else {\n _this._editingFloatingPicker.current && _this._editingFloatingPicker.current.onQueryStringChanged(value);\n }\n };\n _this._onSuggestionSelected = function (item) {\n _this.props.onEditingComplete(_this.props.item, item);\n };\n initializeComponentRef(_this);\n // eslint-disable-next-line react/no-unused-state\n _this.state = { contextualMenuVisible: false };\n return _this;\n }\n EditingItem.prototype.componentDidMount = function () {\n var getEditingItemText = this.props.getEditingItemText;\n var itemText = getEditingItemText(this.props.item);\n this._editingFloatingPicker.current && this._editingFloatingPicker.current.onQueryStringChanged(itemText);\n this._editingInput.value = itemText;\n this._editingInput.focus();\n };\n EditingItem.prototype.render = function () {\n var itemId = getId();\n var nativeProps = getNativeProps(this.props, inputProperties);\n var getClassNames = classNamesFunction();\n var classNames = getClassNames(getStyles);\n return (React.createElement(\"div\", { \"aria-labelledby\": 'editingItemPersona-' + itemId, className: classNames.root },\n React.createElement(\"input\", __assign({ autoCapitalize: 'off', autoComplete: 'off' }, nativeProps, { ref: this._resolveInputRef, onChange: this._onInputChange, onKeyDown: this._onInputKeyDown, onBlur: this._onInputBlur, onClick: this._onInputClick, \"data-lpignore\": true, className: classNames.input, id: itemId })),\n this._renderEditingSuggestions()));\n };\n EditingItem.prototype._onInputKeyDown = function (ev) {\n // eslint-disable-next-line deprecation/deprecation\n if (ev.which === KeyCodes.backspace || ev.which === KeyCodes.del) {\n ev.stopPropagation();\n }\n };\n return EditingItem;\n}(React.Component));\nexport { EditingItem };\n//# sourceMappingURL=EditingItem.js.map","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { BaseSelectedItemsList } from '../BaseSelectedItemsList';\nimport { ExtendedSelectedItem } from './Items/ExtendedSelectedItem';\nimport { SelectedItemWithContextMenu } from './Items/SelectedItemWithContextMenu';\nimport { EditingItem } from './Items/EditingItem';\n/**\n * {@docCategory SelectedPeopleList}\n */\nvar BasePeopleSelectedItemsList = /** @class */ (function (_super) {\n __extends(BasePeopleSelectedItemsList, _super);\n function BasePeopleSelectedItemsList() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return BasePeopleSelectedItemsList;\n}(BaseSelectedItemsList));\nexport { BasePeopleSelectedItemsList };\n/**\n * Standard People Picker.\n */\nvar SelectedPeopleList = /** @class */ (function (_super) {\n __extends(SelectedPeopleList, _super);\n function SelectedPeopleList() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.renderItems = function () {\n var items = _this.state.items;\n return items.map(function (item, index) { return _this._renderItem(item, index); });\n };\n _this._beginEditing = function (item) {\n item.isEditing = true;\n _this.forceUpdate();\n };\n _this._completeEditing = function (oldItem, newItem) {\n oldItem.isEditing = false;\n _this.replaceItem(oldItem, newItem);\n };\n return _this;\n }\n SelectedPeopleList.prototype._renderItem = function (item, index) {\n var _this = this;\n var removeButtonAriaLabel = this.props.removeButtonAriaLabel;\n var expandGroup = this.props.onExpandGroup;\n var props = {\n item: item,\n index: index,\n key: item.key ? item.key : index,\n selected: this.selection.isIndexSelected(index),\n onRemoveItem: function () { return _this.removeItem(item); },\n onItemChange: this.onItemChange,\n removeButtonAriaLabel: removeButtonAriaLabel,\n onCopyItem: function (itemToCopy) { return _this.copyItems([itemToCopy]); },\n onExpandItem: expandGroup ? function () { return expandGroup(item); } : undefined,\n menuItems: this._createMenuItems(item),\n };\n var hasContextMenu = props.menuItems.length > 0;\n if (item.isEditing && hasContextMenu) {\n return (React.createElement(EditingItem, __assign({}, props, { onRenderFloatingPicker: this.props.onRenderFloatingPicker, floatingPickerProps: this.props.floatingPickerProps, onEditingComplete: this._completeEditing, getEditingItemText: this.props.getEditingItemText })));\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 var onRenderItem = this.props.onRenderItem;\n var renderedItem = onRenderItem(props);\n return hasContextMenu ? (React.createElement(SelectedItemWithContextMenu, { key: props.key, renderedItem: renderedItem, beginEditing: this._beginEditing, menuItems: this._createMenuItems(props.item), item: props.item })) : (renderedItem);\n }\n };\n SelectedPeopleList.prototype._createMenuItems = function (item) {\n var _this = this;\n var menuItems = [];\n if (this.props.editMenuItemText && this.props.getEditingItemText) {\n menuItems.push({\n key: 'Edit',\n text: this.props.editMenuItemText,\n onClick: function (ev, menuItem) {\n _this._beginEditing(menuItem.data);\n },\n data: item,\n });\n }\n if (this.props.removeMenuItemText) {\n menuItems.push({\n key: 'Remove',\n text: this.props.removeMenuItemText,\n onClick: function (ev, menuItem) {\n _this.removeItem(menuItem.data);\n },\n data: item,\n });\n }\n if (this.props.copyMenuItemText) {\n menuItems.push({\n key: 'Copy',\n text: this.props.copyMenuItemText,\n onClick: function (ev, menuItem) {\n if (_this.props.onCopyItems) {\n _this.copyItems([menuItem.data]);\n }\n },\n data: item,\n });\n }\n return menuItems;\n };\n SelectedPeopleList.defaultProps = {\n onRenderItem: function (props) { return React.createElement(ExtendedSelectedItem, __assign({}, props)); },\n };\n return SelectedPeopleList;\n}(BasePeopleSelectedItemsList));\nexport { SelectedPeopleList };\n//# sourceMappingURL=SelectedPeopleList.js.map","import * as React from 'react';\nimport { classNamesFunction } from '../../Utilities';\nvar getClassNames = classNamesFunction();\nexport var SeparatorBase = React.forwardRef(function (props, ref) {\n var styles = props.styles, theme = props.theme, className = props.className, vertical = props.vertical, alignContent = props.alignContent, children = props.children;\n var classNames = getClassNames(styles, {\n theme: theme,\n className: className,\n alignContent: alignContent,\n vertical: vertical,\n });\n return (React.createElement(\"div\", { className: classNames.root, ref: ref },\n React.createElement(\"div\", { className: classNames.content, role: \"separator\", \"aria-orientation\": vertical ? 'vertical' : 'horizontal' }, children)));\n});\n//# sourceMappingURL=Separator.base.js.map","import { styled } from '../../Utilities';\nimport { getStyles } from './Separator.styles';\nimport { SeparatorBase } from './Separator.base';\nexport var Separator = styled(SeparatorBase, getStyles, undefined, {\n scope: 'Separator',\n});\nSeparator.displayName = 'Separator';\n//# sourceMappingURL=Separator.js.map","import { HighContrastSelector } from '../../Styling';\nexport var getStyles = function (props) {\n var _a, _b;\n var theme = props.theme, alignContent = props.alignContent, vertical = props.vertical, className = props.className;\n var alignStart = alignContent === 'start';\n var alignCenter = alignContent === 'center';\n var alignEnd = alignContent === 'end';\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': (_a = {\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 _a[HighContrastSelector] = {\n backgroundColor: 'WindowText',\n },\n _a),\n },\n },\n !vertical && {\n padding: '4px 0',\n selectors: {\n ':before': (_b = {\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 _b[HighContrastSelector] = {\n backgroundColor: 'WindowText',\n },\n _b),\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//# sourceMappingURL=Separator.styles.js.map","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { classNamesFunction, DelayedRender, getNativeProps, divProperties } from '../../Utilities';\nimport { ShimmerElementsGroup } from './ShimmerElementsGroup/ShimmerElementsGroup';\nimport { useSetTimeout, useConst } from '@fluentui/react-hooks';\nvar TRANSITION_ANIMATION_INTERVAL = 200; /* ms */\nvar COMPONENT_NAME = 'Shimmer';\nvar getClassNames = classNamesFunction();\n/**\n * {@docCategory Shimmer}\n */\nexport var ShimmerBase = React.forwardRef(function (props, ref) {\n var styles = props.styles, shimmerElements = props.shimmerElements, children = props.children, width = props.width, className = props.className, customElementsGroup = props.customElementsGroup, theme = props.theme, ariaLabel = props.ariaLabel, shimmerColors = props.shimmerColors, _a = props.isDataLoaded, isDataLoaded = _a === void 0 ? false : _a;\n var divProps = getNativeProps(props, divProperties);\n var classNames = getClassNames(styles, {\n theme: theme,\n isDataLoaded: isDataLoaded,\n className: className,\n transitionAnimationInterval: TRANSITION_ANIMATION_INTERVAL,\n shimmerColor: shimmerColors && shimmerColors.shimmer,\n shimmerWaveColor: shimmerColors && shimmerColors.shimmerWave,\n });\n var internalState = useConst({\n lastTimeoutId: 0,\n });\n var _b = useSetTimeout(), setTimeout = _b.setTimeout, clearTimeout = _b.clearTimeout;\n /**\n * Flag for knowing when to remove the shimmerWrapper from the DOM.\n */\n var _c = React.useState(isDataLoaded), contentLoaded = _c[0], setContentLoaded = _c[1];\n var divStyleProp = { width: width ? width : '100%' };\n React.useEffect(function () {\n if (isDataLoaded !== contentLoaded) {\n if (isDataLoaded) {\n internalState.lastTimeoutId = setTimeout(function () {\n setContentLoaded(true);\n }, TRANSITION_ANIMATION_INTERVAL);\n return function () { return clearTimeout(internalState.lastTimeoutId); };\n }\n else {\n setContentLoaded(false);\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps -- Should only run when isDataLoaded changes.\n }, [isDataLoaded]);\n return (React.createElement(\"div\", __assign({}, divProps, { className: classNames.root, ref: ref }),\n !contentLoaded && (React.createElement(\"div\", { style: divStyleProp, className: classNames.shimmerWrapper },\n React.createElement(\"div\", { className: classNames.shimmerGradient }),\n customElementsGroup ? (customElementsGroup) : (React.createElement(ShimmerElementsGroup, { shimmerElements: shimmerElements, backgroundColor: shimmerColors && shimmerColors.background })))),\n children && React.createElement(\"div\", { className: classNames.dataWrapper }, children),\n ariaLabel && !isDataLoaded && (React.createElement(\"div\", { role: \"status\", \"aria-live\": \"polite\" },\n React.createElement(DelayedRender, null,\n React.createElement(\"div\", { className: classNames.screenReaderText }, ariaLabel))))));\n});\nShimmerBase.displayName = COMPONENT_NAME;\n//# sourceMappingURL=Shimmer.base.js.map","import { __assign } from \"tslib\";\nimport { keyframes, getGlobalClassNames, hiddenContentStyle, HighContrastSelector, getHighContrastNoAdjustStyle, } from '../../Styling';\nimport { getRTL, memoizeFunction } from '../../Utilities';\nvar GlobalClassNames = {\n root: 'ms-Shimmer-container',\n shimmerWrapper: 'ms-Shimmer-shimmerWrapper',\n shimmerGradient: 'ms-Shimmer-shimmerGradient',\n dataWrapper: 'ms-Shimmer-dataWrapper',\n};\nvar BACKGROUND_OFF_SCREEN_POSITION = '100%';\nvar shimmerAnimation = memoizeFunction(function () {\n return keyframes({\n '0%': {\n transform: \"translateX(-\" + BACKGROUND_OFF_SCREEN_POSITION + \")\",\n },\n '100%': {\n transform: \"translateX(\" + BACKGROUND_OFF_SCREEN_POSITION + \")\",\n },\n });\n});\nvar shimmerAnimationRTL = memoizeFunction(function () {\n return keyframes({\n '100%': {\n transform: \"translateX(-\" + BACKGROUND_OFF_SCREEN_POSITION + \")\",\n },\n '0%': {\n transform: \"translateX(\" + BACKGROUND_OFF_SCREEN_POSITION + \")\",\n },\n });\n});\nexport function getStyles(props) {\n var _a;\n var isDataLoaded = props.isDataLoaded, className = props.className, theme = props.theme, transitionAnimationInterval = props.transitionAnimationInterval, shimmerColor = props.shimmerColor, shimmerWaveColor = props.shimmerWaveColor;\n var semanticColors = theme.semanticColors;\n var classNames = getGlobalClassNames(GlobalClassNames, theme);\n var isRTL = getRTL(theme);\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: (_a = {\n '> *': {\n transform: 'translateZ(0)',\n }\n },\n _a[HighContrastSelector] = __assign({ 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\" }, getHighContrastNoAdjustStyle()),\n _a),\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//# sourceMappingURL=Shimmer.styles.js.map","import { styled } from '../../Utilities';\nimport { getStyles } from './Shimmer.styles';\nimport { ShimmerBase } from './Shimmer.base';\nexport var Shimmer = styled(ShimmerBase, getStyles, undefined, {\n scope: 'Shimmer',\n});\n//# sourceMappingURL=Shimmer.js.map","/**\n * Describes the possible types for shimmer elements used.\n * {@docCategory Shimmer}\n */\nexport var ShimmerElementType;\n(function (ShimmerElementType) {\n /**\n * Line element type\n */\n ShimmerElementType[ShimmerElementType[\"line\"] = 1] = \"line\";\n /**\n * Circle element type\n */\n ShimmerElementType[ShimmerElementType[\"circle\"] = 2] = \"circle\";\n /**\n * Gap element type\n */\n ShimmerElementType[ShimmerElementType[\"gap\"] = 3] = \"gap\";\n})(ShimmerElementType || (ShimmerElementType = {}));\n/**\n * Describes the default heights for shimmer elements when omitted in implementation.\n * {@docCategory Shimmer}\n */\nexport var ShimmerElementsDefaultHeights;\n(function (ShimmerElementsDefaultHeights) {\n /**\n * Default height of the line element when not provided by user: 16px\n */\n ShimmerElementsDefaultHeights[ShimmerElementsDefaultHeights[\"line\"] = 16] = \"line\";\n /**\n * Default height of the gap element when not provided by user: 16px\n */\n ShimmerElementsDefaultHeights[ShimmerElementsDefaultHeights[\"gap\"] = 16] = \"gap\";\n /**\n * Default height of the circle element when not provided by user: 24px\n */\n ShimmerElementsDefaultHeights[ShimmerElementsDefaultHeights[\"circle\"] = 24] = \"circle\";\n})(ShimmerElementsDefaultHeights || (ShimmerElementsDefaultHeights = {}));\n//# sourceMappingURL=Shimmer.types.js.map","import * as React from 'react';\nimport { classNamesFunction } from '../../../Utilities';\nvar getClassNames = classNamesFunction();\nexport var ShimmerCircleBase = function (props) {\n // eslint-disable-next-line deprecation/deprecation\n var height = props.height, styles = props.styles, borderStyle = props.borderStyle, theme = props.theme;\n var classNames = getClassNames(styles, {\n theme: theme,\n height: height,\n borderStyle: borderStyle,\n });\n return (React.createElement(\"div\", { className: classNames.root },\n React.createElement(\"svg\", { viewBox: \"0 0 10 10\", width: height, height: height, className: classNames.svg },\n React.createElement(\"path\", { d: \"M0,0 L10,0 L10,10 L0,10 L0,0 Z M0,5 C0,7.76142375 2.23857625,10 5,10 C7.76142375,10 10,7.76142375 10,5 C10,2.23857625 7.76142375,2.22044605e-16 5,0 C2.23857625,-2.22044605e-16 0,2.23857625 0,5 L0,5 Z\" }))));\n};\n//# sourceMappingURL=ShimmerCircle.base.js.map","import { getGlobalClassNames, HighContrastSelector } from '../../../Styling';\nvar GlobalClassNames = {\n root: 'ms-ShimmerCircle-root',\n svg: 'ms-ShimmerCircle-svg',\n};\nexport function getStyles(props) {\n var _a, _b;\n // eslint-disable-next-line deprecation/deprecation\n var height = props.height, borderStyle = props.borderStyle, theme = props.theme;\n var semanticColors = theme.semanticColors;\n var globalClassNames = getGlobalClassNames(GlobalClassNames, theme);\n var borderStyles = borderStyle || {};\n return {\n root: [\n globalClassNames.root,\n theme.fonts.medium,\n {\n width: height + \"px\",\n height: height + \"px\",\n minWidth: height + \"px\",\n boxSizing: 'content-box',\n borderTopStyle: 'solid',\n borderBottomStyle: 'solid',\n borderColor: semanticColors.bodyBackground,\n selectors: (_a = {},\n _a[HighContrastSelector] = {\n borderColor: 'Window',\n },\n _a),\n },\n borderStyles,\n ],\n svg: [\n globalClassNames.svg,\n {\n display: 'block',\n fill: semanticColors.bodyBackground,\n selectors: (_b = {},\n _b[HighContrastSelector] = {\n fill: 'Window',\n },\n _b),\n },\n ],\n };\n}\n//# sourceMappingURL=ShimmerCircle.styles.js.map","import { styled } from '../../../Utilities';\nimport { getStyles } from './ShimmerCircle.styles';\nimport { ShimmerCircleBase } from './ShimmerCircle.base';\nexport var ShimmerCircle = styled(ShimmerCircleBase, getStyles, undefined, { scope: 'ShimmerCircle' });\n//# sourceMappingURL=ShimmerCircle.js.map","import { __assign, __rest } from \"tslib\";\nimport * as React from 'react';\nimport { classNamesFunction, memoizeFunction } from '../../../Utilities';\nimport { ShimmerElementType, ShimmerElementsDefaultHeights } from '../Shimmer.types';\nimport { ShimmerLine } from '../ShimmerLine/ShimmerLine';\nimport { ShimmerGap } from '../ShimmerGap/ShimmerGap';\nimport { ShimmerCircle } from '../ShimmerCircle/ShimmerCircle';\nvar getClassNames = classNamesFunction();\n/**\n * {@docCategory Shimmer}\n */\nexport var ShimmerElementsGroupBase = function (props) {\n var styles = props.styles, _a = props.width, width = _a === void 0 ? 'auto' : _a, shimmerElements = props.shimmerElements, _b = props.rowHeight, rowHeight = _b === void 0 ? findMaxElementHeight(shimmerElements || []) : _b, _c = props.flexWrap, flexWrap = _c === void 0 ? false : _c, theme = props.theme, backgroundColor = props.backgroundColor;\n var classNames = getClassNames(styles, {\n theme: theme,\n flexWrap: flexWrap,\n });\n return (React.createElement(\"div\", { style: { width: width }, className: classNames.root }, getRenderedElements(shimmerElements, backgroundColor, rowHeight)));\n};\nfunction getRenderedElements(shimmerElements, backgroundColor, rowHeight) {\n var renderedElements = shimmerElements ? (shimmerElements.map(\n // false positive\n // eslint-disable-next-line array-callback-return\n function (element, index) {\n var type = element.type, filteredElem = __rest(element, [\"type\"]);\n var verticalAlign = filteredElem.verticalAlign, height = filteredElem.height;\n var styles = getElementStyles(verticalAlign, type, height, backgroundColor, rowHeight);\n switch (element.type) {\n case ShimmerElementType.circle:\n return React.createElement(ShimmerCircle, __assign({ key: index }, filteredElem, { styles: styles }));\n case ShimmerElementType.gap:\n return React.createElement(ShimmerGap, __assign({ key: index }, filteredElem, { styles: styles }));\n case ShimmerElementType.line:\n return React.createElement(ShimmerLine, __assign({ key: index }, filteredElem, { styles: styles }));\n }\n })) : (React.createElement(ShimmerLine, { height: ShimmerElementsDefaultHeights.line }));\n return renderedElements;\n}\nvar getElementStyles = memoizeFunction(function (verticalAlign, elementType, elementHeight, backgroundColor, rowHeight) {\n var dif = rowHeight && elementHeight ? rowHeight - elementHeight : 0;\n var borderStyle;\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 }\n else if (verticalAlign && verticalAlign === 'top') {\n borderStyle = {\n borderBottomWidth: dif + \"px\",\n borderTopWidth: \"0px\",\n };\n }\n else if (verticalAlign && verticalAlign === 'bottom') {\n borderStyle = {\n borderBottomWidth: \"0px\",\n borderTopWidth: dif + \"px\",\n };\n }\n if (backgroundColor) {\n switch (elementType) {\n case ShimmerElementType.circle:\n return {\n root: __assign(__assign({}, borderStyle), { borderColor: backgroundColor }),\n svg: { fill: backgroundColor },\n };\n case ShimmerElementType.gap:\n return {\n root: __assign(__assign({}, borderStyle), { borderColor: backgroundColor, backgroundColor: backgroundColor }),\n };\n case ShimmerElementType.line:\n return {\n root: __assign(__assign({}, borderStyle), { borderColor: backgroundColor }),\n topLeftCorner: { fill: backgroundColor },\n topRightCorner: { fill: backgroundColor },\n bottomLeftCorner: { fill: backgroundColor },\n bottomRightCorner: { fill: backgroundColor },\n };\n }\n }\n return {\n root: borderStyle,\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) {\n var shimmerElementsDefaulted = shimmerElements.map(function (element) {\n switch (element.type) {\n case ShimmerElementType.circle:\n if (!element.height) {\n element.height = ShimmerElementsDefaultHeights.circle;\n }\n break;\n case ShimmerElementType.line:\n if (!element.height) {\n element.height = ShimmerElementsDefaultHeights.line;\n }\n break;\n case ShimmerElementType.gap:\n if (!element.height) {\n element.height = ShimmerElementsDefaultHeights.gap;\n }\n break;\n }\n return element;\n });\n var rowHeight = shimmerElementsDefaulted.reduce(function (acc, next) {\n return next.height ? (next.height > acc ? next.height : acc) : acc;\n }, 0);\n return rowHeight;\n}\n//# sourceMappingURL=ShimmerElementsGroup.base.js.map","import { getGlobalClassNames } from '../../../Styling';\nvar GlobalClassNames = {\n root: 'ms-ShimmerElementsGroup-root',\n};\nexport function getStyles(props) {\n var flexWrap = props.flexWrap, theme = props.theme;\n var classNames = getGlobalClassNames(GlobalClassNames, theme);\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//# sourceMappingURL=ShimmerElementsGroup.styles.js.map","import { styled } from '../../../Utilities';\nimport { ShimmerElementsGroupBase } from './ShimmerElementsGroup.base';\nimport { getStyles } from './ShimmerElementsGroup.styles';\nexport var ShimmerElementsGroup = styled(ShimmerElementsGroupBase, getStyles, undefined, { scope: 'ShimmerElementsGroup' });\n//# sourceMappingURL=ShimmerElementsGroup.js.map","import * as React from 'react';\nimport { classNamesFunction } from '../../../Utilities';\nvar getClassNames = classNamesFunction();\n/**\n * {@docCategory Shimmer}\n */\nexport var ShimmerGapBase = function (props) {\n // eslint-disable-next-line deprecation/deprecation\n var height = props.height, styles = props.styles, _a = props.width, width = _a === void 0 ? '10px' : _a, borderStyle = props.borderStyle, theme = props.theme;\n var classNames = getClassNames(styles, {\n theme: theme,\n height: height,\n borderStyle: borderStyle,\n });\n return (React.createElement(\"div\", { style: { width: width, minWidth: typeof width === 'number' ? width + \"px\" : 'auto' }, className: classNames.root }));\n};\n//# sourceMappingURL=ShimmerGap.base.js.map","import { getGlobalClassNames, HighContrastSelector } from '../../../Styling';\nvar GlobalClassNames = {\n root: 'ms-ShimmerGap-root',\n};\nexport function getStyles(props) {\n var _a;\n // eslint-disable-next-line deprecation/deprecation\n var height = props.height, borderStyle = props.borderStyle, theme = props.theme;\n var semanticColors = theme.semanticColors;\n var globalClassNames = getGlobalClassNames(GlobalClassNames, theme);\n var borderStyles = borderStyle || {};\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: (_a = {},\n _a[HighContrastSelector] = {\n backgroundColor: 'Window',\n borderColor: 'Window',\n },\n _a),\n },\n borderStyles,\n ],\n };\n}\n//# sourceMappingURL=ShimmerGap.styles.js.map","import { styled } from '../../../Utilities';\nimport { ShimmerGapBase } from './ShimmerGap.base';\nimport { getStyles } from './ShimmerGap.styles';\nexport var ShimmerGap = styled(ShimmerGapBase, getStyles, undefined, {\n scope: 'ShimmerGap',\n});\n//# sourceMappingURL=ShimmerGap.js.map","import * as React from 'react';\nimport { classNamesFunction } from '../../../Utilities';\nvar getClassNames = classNamesFunction();\n/**\n * {@docCategory Shimmer}\n */\nexport var ShimmerLineBase = function (props) {\n // eslint-disable-next-line deprecation/deprecation\n var height = props.height, styles = props.styles, _a = props.width, width = _a === void 0 ? '100%' : _a, borderStyle = props.borderStyle, theme = props.theme;\n var classNames = getClassNames(styles, {\n theme: theme,\n height: height,\n borderStyle: borderStyle,\n });\n return (React.createElement(\"div\", { style: { width: width, minWidth: typeof width === 'number' ? width + \"px\" : 'auto' }, className: classNames.root },\n React.createElement(\"svg\", { width: \"2\", height: \"2\", className: classNames.topLeftCorner },\n React.createElement(\"path\", { d: \"M0 2 A 2 2, 0, 0, 1, 2 0 L 0 0 Z\" })),\n React.createElement(\"svg\", { width: \"2\", height: \"2\", className: classNames.topRightCorner },\n React.createElement(\"path\", { d: \"M0 0 A 2 2, 0, 0, 1, 2 2 L 2 0 Z\" })),\n React.createElement(\"svg\", { width: \"2\", height: \"2\", className: classNames.bottomRightCorner },\n React.createElement(\"path\", { d: \"M2 0 A 2 2, 0, 0, 1, 0 2 L 2 2 Z\" })),\n React.createElement(\"svg\", { width: \"2\", height: \"2\", className: classNames.bottomLeftCorner },\n React.createElement(\"path\", { d: \"M2 2 A 2 2, 0, 0, 1, 0 0 L 0 2 Z\" }))));\n};\n//# sourceMappingURL=ShimmerLine.base.js.map","import { getGlobalClassNames, HighContrastSelector } from '../../../Styling';\nvar 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};\nexport function getStyles(props) {\n var _a;\n // eslint-disable-next-line deprecation/deprecation\n var height = props.height, borderStyle = props.borderStyle, theme = props.theme;\n var semanticColors = theme.semanticColors;\n var globalClassNames = getGlobalClassNames(GlobalClassNames, theme);\n var borderStyles = borderStyle || {};\n var sharedCornerStyles = {\n position: 'absolute',\n fill: semanticColors.bodyBackground,\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: (_a = {},\n _a[HighContrastSelector] = {\n borderColor: 'Window',\n selectors: {\n '> *': {\n fill: 'Window',\n },\n },\n },\n _a),\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//# sourceMappingURL=ShimmerLine.styles.js.map","import { styled } from '../../../Utilities';\nimport { ShimmerLineBase } from './ShimmerLine.base';\nimport { getStyles } from './ShimmerLine.styles';\nexport var ShimmerLine = styled(ShimmerLineBase, getStyles, undefined, {\n scope: 'ShimmerLine',\n});\n//# sourceMappingURL=ShimmerLine.js.map","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { useId, useControllableValue, useConst, useSetTimeout } from '@fluentui/react-hooks';\nimport { KeyCodes, css, getRTL, getRTLSafeKeyCode, on, classNamesFunction, getNativeProps, divProperties, } from '@fluentui/utilities';\nexport var ONKEYDOWN_TIMEOUT_DURATION = 1000;\nvar getClassNames = classNamesFunction();\nvar getSlotStyleFn = function (sty) {\n return function (value) {\n var _a;\n return _a = {},\n _a[sty] = value + \"%\",\n _a;\n };\n};\nvar getPercent = function (value, sliderMin, sliderMax) {\n return sliderMax === sliderMin ? 0 : ((value - sliderMin) / (sliderMax - sliderMin)) * 100;\n};\nvar useComponentRef = function (props, thumb, value, range) {\n React.useImperativeHandle(props.componentRef, function () { return ({\n get value() {\n return value;\n },\n get range() {\n return range;\n },\n focus: function () {\n if (thumb.current) {\n thumb.current.focus();\n }\n },\n }); }, [thumb, value, range]);\n};\nexport var useSlider = function (props, ref) {\n var _a = props.step, step = _a === void 0 ? 1 : _a, className = props.className, _b = props.disabled, disabled = _b === void 0 ? false : _b, label = props.label, _c = props.max, max = _c === void 0 ? 10 : _c, _d = props.min, min = _d === void 0 ? 0 : _d, _e = props.showValue, showValue = _e === void 0 ? true : _e, _f = props.buttonProps, buttonProps = _f === void 0 ? {} : _f, _g = props.vertical, vertical = _g === void 0 ? false : _g, snapToStep = props.snapToStep, valueFormat = props.valueFormat, styles = props.styles, theme = props.theme, originFromZero = props.originFromZero, ariaLabelledBy = props[\"aria-labelledby\"], ariaLabel = props[\"aria-label\"], ranged = props.ranged, onChange = props.onChange, onChanged = props.onChanged;\n var disposables = React.useRef([]);\n var _h = useSetTimeout(), setTimeout = _h.setTimeout, clearTimeout = _h.clearTimeout;\n var sliderLine = React.useRef(null);\n // Casting here is necessary because useControllableValue expects the event for the change callback\n // to extend React.SyntheticEvent, when in fact for Slider, the event could be either a React event\n // or a native browser event depending on the context.\n var _j = useControllableValue(props.value, props.defaultValue, function (ev, v) {\n return onChange === null || onChange === void 0 ? void 0 : onChange(v, ranged ? [internalState.latestLowerValue, v] : undefined, ev);\n }), unclampedValue = _j[0], setValue = _j[1];\n var _k = useControllableValue(props.lowerValue, props.defaultLowerValue, function (ev, lv) { return onChange === null || onChange === void 0 ? void 0 : onChange(internalState.latestValue, [lv, internalState.latestValue], ev); }), unclampedLowerValue = _k[0], setLowerValue = _k[1];\n // Ensure that value is always a number and is clamped by min/max.\n var value = Math.max(min, Math.min(max, unclampedValue || 0));\n var lowerValue = Math.max(min, Math.min(value, unclampedLowerValue || 0));\n var internalState = useConst({\n onKeyDownTimer: -1,\n isAdjustingLowerValue: false,\n latestValue: value,\n latestLowerValue: lowerValue,\n });\n // On each render, update this saved value used by callbacks. (This should be safe even if render\n // is called multiple times, because an event handler or timeout callback will only run once.)\n internalState.latestValue = value;\n internalState.latestLowerValue = lowerValue;\n var id = useId('Slider', props.id || (buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.id));\n var classNames = getClassNames(styles, {\n className: className,\n disabled: disabled,\n vertical: vertical,\n showTransitions: !snapToStep && !internalState.isBetweenSteps,\n showValue: showValue,\n ranged: ranged,\n theme: theme,\n });\n var steps = (max - min) / step;\n var clearOnKeyDownTimer = function () {\n clearTimeout(internalState.onKeyDownTimer);\n internalState.onKeyDownTimer = -1;\n };\n var setOnKeyDownTimer = function (event) {\n clearOnKeyDownTimer();\n if (onChanged) {\n internalState.onKeyDownTimer = setTimeout(function () {\n onChanged(event, internalState.latestValue, ranged ? [internalState.latestLowerValue, internalState.latestValue] : undefined);\n }, ONKEYDOWN_TIMEOUT_DURATION);\n }\n };\n var getAriaValueText = function (valueProps) {\n var ariaValueText = props.ariaValueText;\n if (valueProps !== undefined) {\n return ariaValueText ? ariaValueText(valueProps) : valueProps.toString();\n }\n return undefined;\n };\n /**\n * Update `value` or `lowerValue`, including clamping between min/max and rounding to\n * appropriate precision.\n * @param newValue - New current value of the slider, possibly rounded to a whole step.\n * @param newUnroundedValue - Like `newValue` but without the rounding to a step. If this is\n * provided and not equal to `newValue`, `internalState.isBetweenSteps` will be set, which\n * may cause thumb movement animations to be disabled.\n */\n var updateValue = function (ev, newValue, newUnroundedValue) {\n newValue = Math.min(max, Math.max(min, newValue));\n newUnroundedValue = newUnroundedValue !== undefined ? Math.min(max, Math.max(min, newUnroundedValue)) : undefined;\n var numDec = 0;\n if (isFinite(step)) {\n while (Math.round(step * Math.pow(10, numDec)) / Math.pow(10, numDec) !== step) {\n numDec++;\n }\n }\n // Make sure value has correct number of decimal places based on number of decimals in step\n var roundedValue = parseFloat(newValue.toFixed(numDec));\n internalState.isBetweenSteps = newUnroundedValue !== undefined && newUnroundedValue !== roundedValue;\n if (ranged) {\n // decided which thumb value to change\n if (internalState.isAdjustingLowerValue &&\n (originFromZero ? roundedValue <= 0 : roundedValue <= internalState.latestValue)) {\n setLowerValue(roundedValue, ev);\n }\n else if (!internalState.isAdjustingLowerValue &&\n (originFromZero ? roundedValue >= 0 : roundedValue >= internalState.latestLowerValue)) {\n setValue(roundedValue, ev);\n }\n }\n else {\n setValue(roundedValue, ev);\n }\n };\n var onKeyDown = function (event) {\n var newCurrentValue = internalState.isAdjustingLowerValue\n ? internalState.latestLowerValue\n : internalState.latestValue;\n var diff = 0;\n // eslint-disable-next-line deprecation/deprecation\n switch (event.which) {\n case getRTLSafeKeyCode(KeyCodes.left, props.theme):\n case KeyCodes.down:\n diff = -step;\n clearOnKeyDownTimer();\n setOnKeyDownTimer(event);\n break;\n case getRTLSafeKeyCode(KeyCodes.right, props.theme):\n case KeyCodes.up:\n diff = step;\n clearOnKeyDownTimer();\n setOnKeyDownTimer(event);\n break;\n case KeyCodes.home:\n newCurrentValue = min;\n clearOnKeyDownTimer();\n setOnKeyDownTimer(event);\n break;\n case KeyCodes.end:\n newCurrentValue = max;\n clearOnKeyDownTimer();\n setOnKeyDownTimer(event);\n break;\n default:\n return;\n }\n updateValue(event, newCurrentValue + diff);\n event.preventDefault();\n event.stopPropagation();\n };\n var getPosition = function (event, verticalProp) {\n var currentPosition = 0;\n switch (event.type) {\n case 'mousedown':\n case 'mousemove':\n currentPosition = !verticalProp ? event.clientX : event.clientY;\n break;\n case 'touchstart':\n case 'touchmove':\n currentPosition = !verticalProp\n ? event.touches[0].clientX\n : event.touches[0].clientY;\n break;\n }\n return currentPosition;\n };\n var calculateCurrentSteps = function (event) {\n var sliderPositionRect = sliderLine.current.getBoundingClientRect();\n var sliderLength = !props.vertical ? sliderPositionRect.width : sliderPositionRect.height;\n var stepLength = sliderLength / steps;\n var currentSteps;\n var distance;\n if (!props.vertical) {\n var left = getPosition(event, props.vertical);\n distance = getRTL(props.theme) ? sliderPositionRect.right - left : left - sliderPositionRect.left;\n currentSteps = distance / stepLength;\n }\n else {\n var bottom = getPosition(event, props.vertical);\n distance = sliderPositionRect.bottom - bottom;\n currentSteps = distance / stepLength;\n }\n return currentSteps;\n };\n var onMouseMoveOrTouchMove = function (event, suppressEventCancelation) {\n var currentSteps = calculateCurrentSteps(event);\n var newUnroundedValue = min + step * currentSteps;\n var newCurrentValue = min + step * Math.round(currentSteps);\n updateValue(event, newCurrentValue, newUnroundedValue);\n if (!suppressEventCancelation) {\n event.preventDefault();\n event.stopPropagation();\n }\n };\n var onMouseDownOrTouchStart = function (event) {\n if (ranged) {\n var currentSteps = calculateCurrentSteps(event);\n var newValue = min + step * currentSteps;\n internalState.isAdjustingLowerValue =\n newValue <= internalState.latestLowerValue ||\n newValue - internalState.latestLowerValue <= internalState.latestValue - newValue;\n }\n if (event.type === 'mousedown') {\n disposables.current.push(on(window, 'mousemove', onMouseMoveOrTouchMove, true), on(window, 'mouseup', onMouseUpOrTouchEnd, true));\n }\n else if (event.type === 'touchstart') {\n disposables.current.push(on(window, 'touchmove', onMouseMoveOrTouchMove, true), on(window, 'touchend', onMouseUpOrTouchEnd, true));\n }\n onMouseMoveOrTouchMove(event, true);\n };\n var onMouseUpOrTouchEnd = function (event) {\n // Done adjusting, so clear this value\n internalState.isBetweenSteps = undefined;\n onChanged === null || onChanged === void 0 ? void 0 : onChanged(event, internalState.latestValue, ranged ? [internalState.latestLowerValue, internalState.latestValue] : undefined);\n disposeListeners();\n };\n var onThumbFocus = function (event) {\n internalState.isAdjustingLowerValue = event.target === lowerValueThumbRef.current;\n };\n var disposeListeners = function () {\n disposables.current.forEach(function (dispose) { return dispose(); });\n disposables.current = [];\n };\n var lowerValueThumbRef = React.useRef(null);\n var thumbRef = React.useRef(null);\n useComponentRef(props, ranged && !vertical ? lowerValueThumbRef : thumbRef, value, ranged ? [lowerValue, value] : undefined);\n var getPositionStyles = getSlotStyleFn(vertical ? 'bottom' : getRTL(props.theme) ? 'right' : 'left');\n var getTrackStyles = getSlotStyleFn(vertical ? 'height' : 'width');\n var originValue = originFromZero ? 0 : min;\n var valuePercent = getPercent(value, min, max);\n var lowerValuePercent = getPercent(lowerValue, min, max);\n var originPercentOfLine = getPercent(originValue, min, max);\n var activeSectionWidth = ranged ? valuePercent - lowerValuePercent : Math.abs(originPercentOfLine - valuePercent);\n var topSectionWidth = Math.min(100 - valuePercent, 100 - originPercentOfLine);\n var bottomSectionWidth = ranged ? lowerValuePercent : Math.min(valuePercent, originPercentOfLine);\n var rootProps = {\n className: classNames.root,\n ref: ref,\n };\n var labelProps = {\n className: classNames.titleLabel,\n children: label,\n disabled: disabled,\n htmlFor: ariaLabel ? undefined : id,\n };\n var valueLabelProps = showValue\n ? {\n className: classNames.valueLabel,\n children: valueFormat ? valueFormat(value) : value,\n disabled: disabled,\n htmlFor: disabled ? id : undefined,\n }\n : undefined;\n var lowerValueLabelProps = ranged && showValue\n ? {\n className: classNames.valueLabel,\n children: valueFormat ? valueFormat(lowerValue) : lowerValue,\n disabled: disabled,\n }\n : undefined;\n var zeroTickProps = originFromZero\n ? {\n className: classNames.zeroTick,\n style: getPositionStyles(originPercentOfLine),\n }\n : undefined;\n var trackActiveProps = {\n className: css(classNames.lineContainer, classNames.activeSection),\n style: getTrackStyles(activeSectionWidth),\n };\n var trackTopInactiveProps = {\n className: css(classNames.lineContainer, classNames.inactiveSection),\n style: getTrackStyles(topSectionWidth),\n };\n var trackBottomInactiveProps = {\n className: css(classNames.lineContainer, classNames.inactiveSection),\n style: getTrackStyles(bottomSectionWidth),\n };\n var sliderProps = __assign({ 'aria-disabled': disabled, role: 'slider', tabIndex: disabled ? undefined : 0 }, { 'data-is-focusable': !disabled });\n var sliderBoxProps = __assign(__assign(__assign({ id: id, className: css(classNames.slideBox, buttonProps.className) }, (!disabled && {\n onMouseDown: onMouseDownOrTouchStart,\n onTouchStart: onMouseDownOrTouchStart,\n onKeyDown: onKeyDown,\n })), (buttonProps &&\n getNativeProps(buttonProps, divProperties, ['id', 'className']))), (!ranged && __assign(__assign({}, sliderProps), { 'aria-valuemin': min, 'aria-valuemax': max, 'aria-valuenow': value, 'aria-valuetext': getAriaValueText(value), 'aria-label': ariaLabel || label, 'aria-labelledby': ariaLabelledBy })));\n var onFocusProp = disabled ? {} : { onFocus: onThumbFocus };\n var thumbProps = __assign({ ref: thumbRef, className: classNames.thumb, style: getPositionStyles(valuePercent) }, (ranged && __assign(__assign(__assign({}, sliderProps), onFocusProp), { id: \"max-\" + id, 'aria-valuemin': lowerValue, 'aria-valuemax': max, 'aria-valuenow': value, 'aria-valuetext': getAriaValueText(value), 'aria-label': \"max \" + (ariaLabel || label) })));\n var lowerValueThumbProps = ranged\n ? __assign(__assign(__assign({ ref: lowerValueThumbRef, className: classNames.thumb, style: getPositionStyles(lowerValuePercent) }, sliderProps), onFocusProp), { id: \"min-\" + id, 'aria-valuemin': min, 'aria-valuemax': value, 'aria-valuenow': lowerValue, 'aria-valuetext': getAriaValueText(lowerValue), 'aria-label': \"min \" + (ariaLabel || label) }) : undefined;\n var containerProps = {\n className: classNames.container,\n };\n var sliderLineProps = {\n ref: sliderLine,\n className: classNames.line,\n };\n return {\n root: rootProps,\n label: labelProps,\n sliderBox: sliderBoxProps,\n container: containerProps,\n valueLabel: valueLabelProps,\n lowerValueLabel: lowerValueLabelProps,\n thumb: thumbProps,\n lowerValueThumb: lowerValueThumbProps,\n zeroTick: zeroTickProps,\n activeTrack: trackActiveProps,\n topInactiveTrack: trackTopInactiveProps,\n bottomInactiveTrack: trackBottomInactiveProps,\n sliderLine: sliderLineProps,\n };\n};\n//# sourceMappingURL=useSlider.js.map","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { useWarnings } from '@fluentui/react-hooks';\nimport { FocusRects } from '@fluentui/utilities';\nimport { Label } from '../Label/Label';\nimport { useSlider } from './useSlider';\nvar COMPONENT_NAME = 'SliderBase';\nexport var SliderBase = React.forwardRef(function (props, ref) {\n var slotProps = useSlider(props, ref);\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks -- build-time conditional\n useWarnings({\n name: COMPONENT_NAME,\n props: props,\n mutuallyExclusive: { value: 'defaultValue' },\n });\n }\n return (React.createElement(\"div\", __assign({}, slotProps.root),\n slotProps && React.createElement(Label, __assign({}, slotProps.label)),\n React.createElement(\"div\", __assign({}, slotProps.container),\n props.ranged &&\n (props.vertical\n ? slotProps.valueLabel && React.createElement(Label, __assign({}, slotProps.valueLabel))\n : slotProps.lowerValueLabel && React.createElement(Label, __assign({}, slotProps.lowerValueLabel))),\n React.createElement(\"div\", __assign({}, slotProps.sliderBox),\n React.createElement(\"div\", __assign({}, slotProps.sliderLine),\n props.ranged && React.createElement(\"span\", __assign({}, slotProps.lowerValueThumb)),\n React.createElement(\"span\", __assign({}, slotProps.thumb)),\n slotProps.zeroTick && React.createElement(\"span\", __assign({}, slotProps.zeroTick)),\n React.createElement(\"span\", __assign({}, slotProps.bottomInactiveTrack)),\n React.createElement(\"span\", __assign({}, slotProps.activeTrack)),\n React.createElement(\"span\", __assign({}, slotProps.topInactiveTrack)))),\n props.ranged && props.vertical\n ? slotProps.lowerValueLabel && React.createElement(Label, __assign({}, slotProps.lowerValueLabel))\n : slotProps.valueLabel && React.createElement(Label, __assign({}, slotProps.valueLabel))),\n React.createElement(FocusRects, null)));\n});\nSliderBase.displayName = COMPONENT_NAME;\n//# sourceMappingURL=Slider.base.js.map","import { __spreadArray } from \"tslib\";\nimport { getGlobalClassNames, HighContrastSelector, AnimationVariables, getFocusStyle, } from '@fluentui/style-utilities';\nimport { getRTL } from '@fluentui/utilities';\nvar 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};\nexport var getStyles = function (props) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;\n var className = props.className, titleLabelClassName = props.titleLabelClassName, theme = props.theme, vertical = props.vertical, disabled = props.disabled, showTransitions = props.showTransitions, showValue = props.showValue, ranged = props.ranged;\n var semanticColors = theme.semanticColors;\n var classNames = getGlobalClassNames(GlobalClassNames, theme);\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 var pressedActiveSectionColor = semanticColors.inputBackgroundCheckedHovered;\n var hoveredActiveSectionColor = semanticColors.inputBackgroundChecked;\n var hoveredPressedinactiveSectionColor = semanticColors.inputPlaceholderBackgroundChecked;\n var restActiveSectionColor = semanticColors.smallInputBorder;\n var restInactiveSectionColor = semanticColors.disabledBorder;\n var disabledActiveSectionColor = semanticColors.disabledText;\n var disabledInactiveSectionColor = semanticColors.disabledBackground;\n var thumbBackgroundColor = semanticColors.inputBackground;\n var thumbBorderColor = semanticColors.smallInputBorder;\n var thumbDisabledBorderColor = semanticColors.disabledBorder;\n var slideBoxActiveSectionStyles = !disabled && {\n backgroundColor: pressedActiveSectionColor,\n selectors: (_a = {},\n _a[HighContrastSelector] = {\n backgroundColor: 'Highlight',\n },\n _a),\n };\n var slideBoxInactiveSectionStyles = !disabled && {\n backgroundColor: hoveredPressedinactiveSectionColor,\n selectors: (_b = {},\n _b[HighContrastSelector] = {\n borderColor: 'Highlight',\n },\n _b),\n };\n var slideHoverSectionStyles = !disabled && {\n backgroundColor: hoveredActiveSectionColor,\n selectors: (_c = {},\n _c[HighContrastSelector] = {\n backgroundColor: 'Highlight',\n },\n _c),\n };\n var slideBoxActiveThumbStyles = !disabled && {\n border: \"2px solid \" + pressedActiveSectionColor,\n selectors: (_d = {},\n _d[HighContrastSelector] = {\n borderColor: 'Highlight',\n },\n _d),\n };\n var slideBoxActiveZeroTickStyles = !props.disabled && {\n backgroundColor: semanticColors.inputPlaceholderBackgroundChecked,\n selectors: (_e = {},\n _e[HighContrastSelector] = {\n backgroundColor: 'Highlight',\n },\n _e),\n };\n return {\n root: __spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([\n classNames.root,\n theme.fonts.medium,\n {\n userSelect: 'none',\n },\n vertical && {\n marginRight: 8,\n }\n ], [!disabled ? classNames.enabled : undefined]), [disabled ? classNames.disabled : undefined]), [!vertical ? classNames.row : undefined]), [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: __spreadArray(__spreadArray([\n classNames.slideBox,\n !ranged && getFocusStyle(theme),\n {\n background: 'transparent',\n border: 'none',\n flexGrow: 1,\n lineHeight: 28,\n display: 'flex',\n alignItems: 'center',\n selectors: (_f = {},\n _f[\":active .\" + classNames.activeSection] = slideBoxActiveSectionStyles,\n _f[\":hover .\" + classNames.activeSection] = slideHoverSectionStyles,\n _f[\":active .\" + classNames.inactiveSection] = slideBoxInactiveSectionStyles,\n _f[\":hover .\" + classNames.inactiveSection] = slideBoxInactiveSectionStyles,\n _f[\":active .\" + classNames.thumb] = slideBoxActiveThumbStyles,\n _f[\":hover .\" + classNames.thumb] = slideBoxActiveThumbStyles,\n _f[\":active .\" + classNames.zeroTick] = slideBoxActiveZeroTickStyles,\n _f[\":hover .\" + classNames.zeroTick] = slideBoxActiveZeroTickStyles,\n _f[HighContrastSelector] = {\n forcedColorAdjust: 'none',\n },\n _f),\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]), [showTransitions ? classNames.showTransitions : undefined]),\n thumb: [\n classNames.thumb,\n ranged && getFocusStyle(theme, { inset: -4 }),\n {\n borderWidth: 2,\n borderStyle: 'solid',\n borderColor: thumbBorderColor,\n borderRadius: 10,\n boxSizing: 'border-box',\n background: thumbBackgroundColor,\n display: 'block',\n width: 16,\n height: 16,\n position: 'absolute',\n },\n vertical\n ? {\n left: -6,\n margin: '0 auto',\n transform: 'translateY(8px)',\n }\n : {\n top: -6,\n transform: getRTL(theme) ? 'translateX(50%)' : 'translateX(-50%)',\n },\n showTransitions && {\n transition: \"left \" + AnimationVariables.durationValue3 + \" \" + AnimationVariables.easeFunction1,\n },\n disabled && {\n borderColor: thumbDisabledBorderColor,\n selectors: (_g = {},\n _g[HighContrastSelector] = {\n borderColor: 'GrayText',\n },\n _g),\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: (_h = {},\n _h[HighContrastSelector] = {\n backgroundColor: 'WindowText',\n },\n _h),\n },\n showTransitions && {\n transition: \"width \" + AnimationVariables.durationValue3 + \" \" + AnimationVariables.easeFunction1,\n },\n disabled && {\n background: disabledActiveSectionColor,\n selectors: (_j = {},\n _j[HighContrastSelector] = {\n backgroundColor: 'GrayText',\n borderColor: 'GrayText',\n },\n _j),\n },\n ],\n inactiveSection: [\n classNames.inactiveSection,\n {\n background: restInactiveSectionColor,\n selectors: (_k = {},\n _k[HighContrastSelector] = {\n border: '1px solid WindowText',\n },\n _k),\n },\n showTransitions && {\n transition: \"width \" + AnimationVariables.durationValue3 + \" \" + AnimationVariables.easeFunction1,\n },\n disabled && {\n background: disabledInactiveSectionColor,\n selectors: (_l = {},\n _l[HighContrastSelector] = {\n borderColor: 'GrayText',\n },\n _l),\n },\n ],\n zeroTick: [\n classNames.zeroTick,\n {\n position: 'absolute',\n background: semanticColors.disabledBorder,\n selectors: (_m = {},\n _m[HighContrastSelector] = {\n backgroundColor: 'WindowText',\n },\n _m),\n },\n props.disabled && {\n background: semanticColors.disabledBackground,\n selectors: (_o = {},\n _o[HighContrastSelector] = {\n backgroundColor: 'GrayText',\n },\n _o),\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//# sourceMappingURL=Slider.styles.js.map","import { styled } from '@fluentui/utilities';\nimport { SliderBase } from './Slider.base';\nimport { getStyles } from './Slider.styles';\nexport var Slider = styled(SliderBase, getStyles, undefined, {\n scope: 'Slider',\n});\n//# sourceMappingURL=Slider.js.map","import { concatStyleSets, HighContrastSelector, IconFontSizes, getInputFocusStyle } from '../../Styling';\nimport { memoizeFunction } from '../../Utilities';\nimport { Position } from '../../Positioning';\nvar ARROW_BUTTON_WIDTH = 23;\nvar ARROW_BUTTON_ICON_SIZE = 8;\nvar DEFAULT_HEIGHT = 32;\nvar DEFAULT_MIN_WIDTH = 86;\nvar LABEL_MARGIN = 10;\nvar getDisabledStyles = memoizeFunction(function (theme) {\n var _a;\n var semanticColors = theme.semanticColors;\n var SpinButtonTextColorDisabled = semanticColors.disabledText;\n var SpinButtonBackgroundColorDisabled = semanticColors.disabledBackground;\n return {\n backgroundColor: SpinButtonBackgroundColorDisabled,\n pointerEvents: 'none',\n cursor: 'default',\n color: SpinButtonTextColorDisabled,\n selectors: (_a = {\n ':after': {\n borderColor: SpinButtonBackgroundColorDisabled,\n }\n },\n _a[HighContrastSelector] = {\n color: 'GrayText',\n },\n _a),\n };\n});\nexport var getArrowButtonStyles = memoizeFunction(function (theme, isUpArrow, customSpecificArrowStyles) {\n var _a, _b, _c;\n var palette = theme.palette, semanticColors = theme.semanticColors, effects = theme.effects;\n // TODO: after updating the semanticColor slots all this need to be reevaluated.\n var ArrowButtonTextColor = palette.neutralSecondary;\n var ArrowButtonTextColorHovered = semanticColors.buttonText;\n var ArrowButtonTextColorPressed = semanticColors.buttonText;\n var ArrowButtonBackgroundHovered = semanticColors.buttonBackgroundHovered;\n var ArrowButtonBackgroundPressed = semanticColors.buttonBackgroundPressed;\n var defaultArrowButtonStyles = {\n root: {\n outline: 'none',\n display: 'block',\n height: '50%',\n width: ARROW_BUTTON_WIDTH,\n padding: 0,\n backgroundColor: 'transparent',\n textAlign: 'center',\n cursor: 'default',\n color: ArrowButtonTextColor,\n selectors: {\n '&.ms-DownButton': {\n borderRadius: \"0 0 \" + effects.roundedCorner2 + \" 0\",\n },\n '&.ms-UpButton': {\n borderRadius: \"0 \" + effects.roundedCorner2 + \" 0 0\",\n },\n },\n },\n rootHovered: {\n backgroundColor: ArrowButtonBackgroundHovered,\n color: ArrowButtonTextColorHovered,\n },\n rootChecked: {\n backgroundColor: ArrowButtonBackgroundPressed,\n color: ArrowButtonTextColorPressed,\n selectors: (_a = {},\n _a[HighContrastSelector] = {\n backgroundColor: 'Highlight',\n color: 'HighlightText',\n },\n _a),\n },\n rootPressed: {\n backgroundColor: ArrowButtonBackgroundPressed,\n color: ArrowButtonTextColorPressed,\n selectors: (_b = {},\n _b[HighContrastSelector] = {\n backgroundColor: 'Highlight',\n color: 'HighlightText',\n },\n _b),\n },\n rootDisabled: {\n opacity: 0.5,\n selectors: (_c = {},\n _c[HighContrastSelector] = {\n color: 'GrayText',\n opacity: 1,\n },\n _c),\n },\n icon: {\n fontSize: ARROW_BUTTON_ICON_SIZE,\n marginTop: 0,\n marginRight: 0,\n marginBottom: 0,\n marginLeft: 0,\n },\n };\n // No specific styles needed as of now.\n var defaultUpArrowButtonStyles = {};\n var defaultDownArrowButtonStyles = {};\n return concatStyleSets(defaultArrowButtonStyles, isUpArrow ? defaultUpArrowButtonStyles : defaultDownArrowButtonStyles, customSpecificArrowStyles);\n});\nexport var getStyles = function (props) {\n var _a, _b;\n var theme = props.theme, className = props.className, labelPosition = props.labelPosition, disabled = props.disabled, isFocused = props.isFocused;\n var palette = theme.palette, semanticColors = theme.semanticColors, effects = theme.effects, fonts = theme.fonts;\n var SpinButtonRootBorderColor = semanticColors.inputBorder;\n var SpinButtonRootBackgroundColor = semanticColors.inputBackground;\n var SpinButtonRootBorderColorHovered = semanticColors.inputBorderHovered;\n var SpinButtonRootBorderColorFocused = semanticColors.inputFocusBorderAlt;\n var SpinButtonInputTextColor = semanticColors.inputText;\n var SpinButtonInputTextColorSelected = palette.white;\n var SpinButtonInputBackgroundColorSelected = semanticColors.inputBackgroundChecked;\n var SpinButtonIconDisabledColor = semanticColors.disabledText;\n return {\n root: [\n fonts.medium,\n {\n outline: 'none',\n width: '100%',\n minWidth: DEFAULT_MIN_WIDTH,\n },\n className,\n ],\n labelWrapper: [\n {\n display: 'inline-flex',\n alignItems: 'center',\n },\n labelPosition === Position.start && {\n height: DEFAULT_HEIGHT,\n float: 'left',\n marginRight: LABEL_MARGIN,\n },\n labelPosition === Position.end && {\n height: DEFAULT_HEIGHT,\n float: 'right',\n marginLeft: LABEL_MARGIN,\n },\n labelPosition === Position.top && {\n // Due to the lineHeight set on the label (below), the height of the wrapper (contains icon+label)\n // ends up 1px taller than a standard label height, causing the vertical alignment to be off when\n // the SpinButton is displayed with the label on top next to other form fields.\n // Decrease the wrapper's effective height slightly to compensate.\n marginBottom: -1,\n },\n ],\n icon: [\n {\n padding: '0 5px',\n fontSize: IconFontSizes.large,\n },\n disabled && {\n color: SpinButtonIconDisabledColor,\n },\n ],\n label: {\n pointerEvents: 'none',\n // centering the label with the icon by forcing the exact same height as the icon.\n lineHeight: IconFontSizes.large,\n },\n spinButtonWrapper: [\n {\n display: 'flex',\n position: 'relative',\n boxSizing: 'border-box',\n height: DEFAULT_HEIGHT,\n minWidth: DEFAULT_MIN_WIDTH,\n selectors: {\n // setting border using pseudo-element here in order to prevent:\n // input and chevron buttons to overlap border under certain resolutions\n ':after': {\n pointerEvents: 'none',\n content: \"''\",\n position: 'absolute',\n left: 0,\n top: 0,\n bottom: 0,\n right: 0,\n borderWidth: '1px',\n borderStyle: 'solid',\n borderColor: SpinButtonRootBorderColor,\n borderRadius: effects.roundedCorner2,\n },\n },\n },\n (labelPosition === Position.top || labelPosition === Position.bottom) && {\n width: '100%',\n },\n !disabled && [\n {\n selectors: {\n ':hover': {\n selectors: (_a = {\n ':after': {\n borderColor: SpinButtonRootBorderColorHovered,\n }\n },\n _a[HighContrastSelector] = {\n selectors: {\n ':after': {\n borderColor: 'Highlight',\n },\n },\n },\n _a),\n },\n },\n },\n isFocused && {\n selectors: {\n '&&': getInputFocusStyle(SpinButtonRootBorderColorFocused, effects.roundedCorner2),\n },\n },\n ],\n disabled && getDisabledStyles(theme),\n ],\n input: [\n 'ms-spinButton-input',\n {\n boxSizing: 'border-box',\n boxShadow: 'none',\n borderStyle: 'none',\n flex: 1,\n margin: 0,\n fontSize: fonts.medium.fontSize,\n fontFamily: 'inherit',\n color: SpinButtonInputTextColor,\n backgroundColor: SpinButtonRootBackgroundColor,\n height: '100%',\n padding: '0 8px 0 9px',\n outline: 0,\n display: 'block',\n minWidth: DEFAULT_MIN_WIDTH - ARROW_BUTTON_WIDTH - 2,\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n cursor: 'text',\n userSelect: 'text',\n borderRadius: effects.roundedCorner2 + \" 0 0 \" + effects.roundedCorner2,\n },\n !disabled && {\n selectors: {\n '::selection': {\n backgroundColor: SpinButtonInputBackgroundColorSelected,\n color: SpinButtonInputTextColorSelected,\n selectors: (_b = {},\n _b[HighContrastSelector] = {\n backgroundColor: 'Highlight',\n borderColor: 'Highlight',\n color: 'HighlightText',\n },\n _b),\n },\n },\n },\n disabled && getDisabledStyles(theme),\n ],\n arrowButtonsContainer: [\n {\n display: 'block',\n height: '100%',\n cursor: 'default',\n },\n disabled && getDisabledStyles(theme),\n ],\n };\n};\n//# sourceMappingURL=SpinButton.styles.js.map","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { IconButton } from '../../Button';\nimport { Label } from '../../Label';\nimport { Icon } from '../../Icon';\nimport { KeyCodes, calculatePrecision, classNamesFunction, precisionRound, getNativeProps, getPropsWithDefaults, divProperties, } from '../../Utilities';\nimport { getArrowButtonStyles } from './SpinButton.styles';\nimport { KeyboardSpinDirection } from './SpinButton.types';\nimport { Position } from '../../Positioning';\nimport { useAsync, useControllableValue, useWarnings, useId, usePrevious } from '@fluentui/react-hooks';\nvar getClassNames = classNamesFunction();\nvar COMPONENT_NAME = 'SpinButton';\nvar DEFAULT_PROPS = {\n disabled: false,\n label: '',\n step: 1,\n labelPosition: Position.start,\n incrementButtonIcon: { iconName: 'ChevronUpSmall' },\n decrementButtonIcon: { iconName: 'ChevronDownSmall' },\n};\nvar INITIAL_STEP_DELAY = 400;\nvar STEP_DELAY = 75;\nvar useComponentRef = function (props, input, value) {\n React.useImperativeHandle(props.componentRef, function () { return ({\n get value() {\n return value;\n },\n focus: function () {\n if (input.current) {\n input.current.focus();\n }\n },\n }); }, [input, value]);\n};\nvar noOp = function () {\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/** Clamp the value to the provided min and/or max */\nvar clampValue = function (value, _a) {\n var min = _a.min, max = _a.max;\n if (typeof max === 'number') {\n value = Math.min(value, max);\n }\n if (typeof min === 'number') {\n value = Math.max(value, min);\n }\n return value;\n};\nexport var SpinButtonBase = React.forwardRef(function (propsWithoutDefaults, ref) {\n var props = getPropsWithDefaults(DEFAULT_PROPS, propsWithoutDefaults);\n var disabled = props.disabled, label = props.label, min = props.min, max = props.max, step = props.step, defaultValue = props.defaultValue, valueFromProps = props.value, precisionFromProps = props.precision, labelPosition = props.labelPosition, iconProps = props.iconProps, incrementButtonIcon = props.incrementButtonIcon, incrementButtonAriaLabel = props.incrementButtonAriaLabel, decrementButtonIcon = props.decrementButtonIcon, decrementButtonAriaLabel = props.decrementButtonAriaLabel, ariaLabel = props.ariaLabel, ariaDescribedBy = props.ariaDescribedBy, customUpArrowButtonStyles = props.upArrowButtonStyles, customDownArrowButtonStyles = props.downArrowButtonStyles, theme = props.theme, ariaPositionInSet = props.ariaPositionInSet, ariaSetSize = props.ariaSetSize, ariaValueNow = props.ariaValueNow, ariaValueText = props.ariaValueText, className = props.className, inputProps = props.inputProps, onDecrement = props.onDecrement, onIncrement = props.onIncrement, iconButtonProps = props.iconButtonProps, onValidate = props.onValidate, onChange = props.onChange, styles = props.styles;\n var input = React.useRef(null);\n var inputId = useId('input');\n var labelId = useId('Label');\n var _a = React.useState(false), isFocused = _a[0], setIsFocused = _a[1];\n var _b = React.useState(KeyboardSpinDirection.notSpinning), keyboardSpinDirection = _b[0], setKeyboardSpinDirection = _b[1];\n var async = useAsync();\n var precision = React.useMemo(function () {\n return precisionFromProps !== null && precisionFromProps !== void 0 ? precisionFromProps : Math.max(calculatePrecision(step), 0);\n }, [precisionFromProps, step]);\n /**\n * Actual current value. If `props.value` is provided (controlled), it will always be used.\n * If not (uncontrolled), this tracks the current value based on user modifications.\n * Note that while the user is editing text in the field, this will not be updated until \"commit\"\n * (blur or press enter).\n */\n var _c = useControllableValue(valueFromProps, defaultValue !== null && defaultValue !== void 0 ? defaultValue : String(min || 0), onChange), value = _c[0], setValue = _c[1];\n /**\n * \"Uncommitted\" internal value while the user is editing text in the field. This lets us wait to\n * call `onChange` (and possibly update the real value) until the user \"commits\" the value by\n * pressing enter or blurring the field.\n */\n var _d = React.useState(), intermediateValue = _d[0], setIntermediateValue = _d[1];\n var internalState = React.useRef({\n stepTimeoutHandle: -1,\n latestValue: undefined,\n latestIntermediateValue: undefined,\n }).current;\n // On each render, update this saved value used by callbacks. (This should be safe even if render\n // is called multiple times, because an event handler or timeout callback will only run once.)\n internalState.latestValue = value;\n internalState.latestIntermediateValue = intermediateValue;\n var previousValueFromProps = usePrevious(valueFromProps);\n React.useEffect(function () {\n // If props.value changes while editing, clear the intermediate value\n if (valueFromProps !== previousValueFromProps && intermediateValue !== undefined) {\n setIntermediateValue(undefined);\n }\n }, [valueFromProps, previousValueFromProps, intermediateValue]);\n var classNames = getClassNames(styles, {\n theme: theme,\n disabled: disabled,\n isFocused: isFocused,\n keyboardSpinDirection: keyboardSpinDirection,\n labelPosition: labelPosition,\n className: className,\n });\n var nativeProps = getNativeProps(props, divProperties, [\n 'onBlur',\n 'onFocus',\n 'className',\n 'onChange',\n ]);\n /** Validate (commit) function called on blur or enter keypress. */\n var validate = React.useCallback(function (ev) {\n // Only run validation if the value changed\n var enteredValue = internalState.latestIntermediateValue;\n if (enteredValue !== undefined && enteredValue !== internalState.latestValue) {\n var newValue = void 0;\n if (onValidate) {\n newValue = onValidate(enteredValue, ev);\n }\n else if (enteredValue && enteredValue.trim().length && !isNaN(Number(enteredValue))) {\n // default validation handling\n newValue = String(clampValue(Number(enteredValue), { min: min, max: max }));\n }\n if (newValue !== undefined && newValue !== internalState.latestValue) {\n // Commit the value if it changed\n setValue(newValue, ev);\n }\n }\n // Done validating, so clear the intermediate typed value (if any)\n setIntermediateValue(undefined);\n }, [internalState, max, min, onValidate, setValue]);\n /**\n * Stop spinning (clear any currently pending update and set spinning to false)\n */\n var stop = React.useCallback(function () {\n if (internalState.stepTimeoutHandle >= 0) {\n async.clearTimeout(internalState.stepTimeoutHandle);\n internalState.stepTimeoutHandle = -1;\n }\n if (internalState.spinningByMouse || keyboardSpinDirection !== KeyboardSpinDirection.notSpinning) {\n internalState.spinningByMouse = false;\n setKeyboardSpinDirection(KeyboardSpinDirection.notSpinning);\n }\n }, [internalState, keyboardSpinDirection, async]);\n /**\n * Update the value with the given stepFunction.\n * Also starts spinning for mousedown events by scheduling another update with setTimeout.\n * @param stepFunction - function to use to step by\n * @param event - The event that triggered the updateValue\n */\n var updateValue = React.useCallback(function (stepFunction, ev) {\n ev.persist();\n if (internalState.latestIntermediateValue !== undefined) {\n // Edge case: if intermediateValue is set, this means that the user was editing the input\n // text and then started spinning (either with mouse or keyboard). We need to validate and\n // call onChange before starting to spin.\n if (ev.type === 'keydown') {\n // For the arrow keys, we have to manually trigger validation.\n // (For the buttons, validation will happen automatically since the input's onBlur will\n // be triggered after mousedown on the button completes.)\n validate(ev);\n }\n async.requestAnimationFrame(function () {\n // After handling any value updates, do the spinning update\n updateValue(stepFunction, ev);\n });\n return;\n }\n // Call the step function and update the value.\n // (Note: we access the latest value via internalState (not directly) to ensure we don't use\n // a stale captured value. This is mainly important for spinning by mouse, where we trigger\n // additional calls to the original updateValue function via setTimeout. It also lets us\n // avoid useCallback deps on frequently changing values.)\n var newValue = stepFunction(internalState.latestValue || '', ev);\n if (newValue !== undefined && newValue !== internalState.latestValue) {\n setValue(newValue, ev);\n }\n // Schedule the next spin if applicable\n // (will be canceled if there's a mouseup before the timeout runs)\n var wasSpinning = internalState.spinningByMouse;\n internalState.spinningByMouse = ev.type === 'mousedown';\n if (internalState.spinningByMouse) {\n internalState.stepTimeoutHandle = async.setTimeout(function () {\n updateValue(stepFunction, ev);\n }, wasSpinning ? STEP_DELAY : INITIAL_STEP_DELAY);\n }\n }, [internalState, async, validate, setValue]);\n /** Composed increment handler (uses `props.onIncrement` or default) */\n var handleIncrement = React.useCallback(function (newValue) {\n if (onIncrement) {\n return onIncrement(newValue);\n }\n else {\n var numericValue = clampValue(Number(newValue) + Number(step), { max: max });\n numericValue = precisionRound(numericValue, precision);\n return String(numericValue);\n }\n }, [precision, max, onIncrement, step]);\n /** Composed decrement handler (uses `props.onDecrement` or default) */\n var handleDecrement = React.useCallback(function (newValue) {\n if (onDecrement) {\n return onDecrement(newValue);\n }\n else {\n var numericValue = clampValue(Number(newValue) - Number(step), { min: min });\n numericValue = precisionRound(numericValue, precision);\n return String(numericValue);\n }\n }, [precision, min, onDecrement, step]);\n /** Handles when the user types in the input */\n var handleInputChange = function (ev) {\n setIntermediateValue(ev.target.value);\n };\n /** Composed focus handler (does internal stuff and calls `props.onFocus`) */\n var handleFocus = function (ev) {\n var _a;\n // We can't set focus on a non-existing element\n if (!input.current) {\n return;\n }\n if (internalState.spinningByMouse || keyboardSpinDirection !== KeyboardSpinDirection.notSpinning) {\n stop();\n }\n input.current.select();\n setIsFocused(true);\n (_a = props.onFocus) === null || _a === void 0 ? void 0 : _a.call(props, ev);\n };\n /** Composed blur handler (does internal stuff and calls `props.onBlur`) */\n var handleBlur = function (ev) {\n var _a;\n validate(ev);\n setIsFocused(false);\n (_a = props.onBlur) === null || _a === void 0 ? void 0 : _a.call(props, ev);\n };\n /** Update value when arrow keys are pressed, commit on enter, or revert on escape */\n var handleKeyDown = function (ev) {\n // eat the up and down arrow keys to keep focus in the spinButton\n // (especially when a spinButton is inside of a FocusZone)\n // eslint-disable-next-line deprecation/deprecation\n if (ev.which === KeyCodes.up || ev.which === KeyCodes.down || ev.which === KeyCodes.enter) {\n ev.preventDefault();\n ev.stopPropagation();\n }\n if (disabled) {\n stop();\n return;\n }\n var spinDirection = KeyboardSpinDirection.notSpinning;\n // eslint-disable-next-line deprecation/deprecation\n switch (ev.which) {\n case KeyCodes.up:\n spinDirection = KeyboardSpinDirection.up;\n updateValue(handleIncrement, ev);\n break;\n case KeyCodes.down:\n spinDirection = KeyboardSpinDirection.down;\n updateValue(handleDecrement, ev);\n break;\n case KeyCodes.enter:\n // Commit the edited value\n validate(ev);\n break;\n case KeyCodes.escape:\n // Revert to previous value\n setIntermediateValue(undefined);\n break;\n }\n // style the increment/decrement button to look active\n // when the corresponding up/down arrow keys trigger a step\n if (keyboardSpinDirection !== spinDirection) {\n setKeyboardSpinDirection(spinDirection);\n }\n };\n /** Stop spinning on keyUp if the up or down arrow key fired this event */\n var handleKeyUp = React.useCallback(function (ev) {\n // eslint-disable-next-line deprecation/deprecation\n if (disabled || ev.which === KeyCodes.up || ev.which === KeyCodes.down) {\n stop();\n return;\n }\n }, [disabled, stop]);\n var handleIncrementMouseDown = React.useCallback(function (ev) {\n updateValue(handleIncrement, ev);\n }, [handleIncrement, updateValue]);\n var handleDecrementMouseDown = React.useCallback(function (ev) {\n updateValue(handleDecrement, ev);\n }, [handleDecrement, updateValue]);\n useComponentRef(props, input, value);\n useDebugWarnings(props);\n var valueIsNumber = !!value && !isNaN(Number(value)); // Number('') is 0 which may not be desirable\n var labelContent = (iconProps || label) && (React.createElement(\"div\", { className: classNames.labelWrapper },\n iconProps && React.createElement(Icon, __assign({}, iconProps, { className: classNames.icon, \"aria-hidden\": \"true\" })),\n label && (React.createElement(Label, { id: labelId, htmlFor: inputId, className: classNames.label, disabled: disabled }, label))));\n return (React.createElement(\"div\", { className: classNames.root, ref: ref },\n labelPosition !== Position.bottom && labelContent,\n React.createElement(\"div\", __assign({}, nativeProps, { className: classNames.spinButtonWrapper, \"aria-label\": ariaLabel && ariaLabel, \"aria-posinset\": ariaPositionInSet, \"aria-setsize\": ariaSetSize, \"data-ktp-target\": true }),\n React.createElement(\"input\", __assign({ \n // Display intermediateValue while editing the text (before commit)\n value: intermediateValue !== null && intermediateValue !== void 0 ? intermediateValue : value, id: inputId, onChange: noOp, onInput: handleInputChange, className: classNames.input, type: \"text\", autoComplete: \"off\", role: \"spinbutton\", \"aria-labelledby\": label && labelId, \"aria-valuenow\": ariaValueNow !== null && ariaValueNow !== void 0 ? ariaValueNow : (valueIsNumber ? Number(value) : undefined), \"aria-valuetext\": ariaValueText !== null && ariaValueText !== void 0 ? ariaValueText : (valueIsNumber ? undefined : value), \"aria-valuemin\": min, \"aria-valuemax\": max, \"aria-describedby\": ariaDescribedBy, onBlur: handleBlur, ref: input, onFocus: handleFocus, onKeyDown: handleKeyDown, onKeyUp: handleKeyUp, disabled: disabled, \"aria-disabled\": disabled, \"data-lpignore\": true, \"data-ktp-execute-target\": true }, inputProps)),\n React.createElement(\"span\", { className: classNames.arrowButtonsContainer },\n React.createElement(IconButton, __assign({ styles: getArrowButtonStyles(theme, true, customUpArrowButtonStyles), className: 'ms-UpButton', checked: keyboardSpinDirection === KeyboardSpinDirection.up, disabled: disabled, iconProps: incrementButtonIcon, onMouseDown: handleIncrementMouseDown, onMouseLeave: stop, onMouseUp: stop, tabIndex: -1, ariaLabel: incrementButtonAriaLabel, \"data-is-focusable\": false }, iconButtonProps)),\n React.createElement(IconButton, __assign({ styles: getArrowButtonStyles(theme, false, customDownArrowButtonStyles), className: 'ms-DownButton', checked: keyboardSpinDirection === KeyboardSpinDirection.down, disabled: disabled, iconProps: decrementButtonIcon, onMouseDown: handleDecrementMouseDown, onMouseLeave: stop, onMouseUp: stop, tabIndex: -1, ariaLabel: decrementButtonAriaLabel, \"data-is-focusable\": false }, iconButtonProps)))),\n labelPosition === Position.bottom && labelContent));\n});\nSpinButtonBase.displayName = COMPONENT_NAME;\nvar useDebugWarnings = function (props) {\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks -- build-time conditional\n useWarnings({\n name: COMPONENT_NAME,\n props: props,\n mutuallyExclusive: { value: 'defaultValue' },\n });\n }\n};\n//# sourceMappingURL=SpinButton.base.js.map","import { styled } from '../../Utilities';\nimport { SpinButtonBase } from './SpinButton.base';\nimport { getStyles } from './SpinButton.styles';\n/**\n * The SpinButton control and related tabs pattern are used for navigating frequently accessed,\n * distinct content categories. SpinButtons allow for navigation between two or more content\n * views and relies on text headers to articulate the different sections of content.\n */\nexport var SpinButton = styled(SpinButtonBase, getStyles, undefined, {\n scope: 'SpinButton',\n});\n//# sourceMappingURL=SpinButton.js.map","/**\n * {@docCategory SpinButton}\n */\nexport var KeyboardSpinDirection;\n(function (KeyboardSpinDirection) {\n KeyboardSpinDirection[KeyboardSpinDirection[\"down\"] = -1] = \"down\";\n KeyboardSpinDirection[KeyboardSpinDirection[\"notSpinning\"] = 0] = \"notSpinning\";\n KeyboardSpinDirection[KeyboardSpinDirection[\"up\"] = 1] = \"up\";\n})(KeyboardSpinDirection || (KeyboardSpinDirection = {}));\n//# sourceMappingURL=SpinButton.types.js.map","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { SpinnerType, SpinnerSize } from './Spinner.types';\nimport { classNamesFunction, DelayedRender, getNativeProps, divProperties } from '../../Utilities';\nvar getClassNames = classNamesFunction();\nvar SpinnerBase = /** @class */ (function (_super) {\n __extends(SpinnerBase, _super);\n function SpinnerBase() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n SpinnerBase.prototype.render = function () {\n // eslint-disable-next-line deprecation/deprecation\n var _a = this.props, type = _a.type, size = _a.size, ariaLabel = _a.ariaLabel, ariaLive = _a.ariaLive, styles = _a.styles, label = _a.label, theme = _a.theme, className = _a.className, labelPosition = _a.labelPosition;\n var statusMessage = ariaLabel;\n var nativeProps = getNativeProps(this.props, divProperties, ['size']);\n // SpinnerType is deprecated. If someone is still using this property, rather than putting the SpinnerType into the\n // ISpinnerStyleProps, we'll map SpinnerType to its equivalent SpinnerSize and pass that in. Once SpinnerType\n // finally goes away we should delete this.\n var styleSize = size;\n if (styleSize === undefined && type !== undefined) {\n // eslint-disable-next-line deprecation/deprecation\n styleSize = type === SpinnerType.large ? SpinnerSize.large : SpinnerSize.medium;\n }\n var classNames = getClassNames(styles, {\n theme: theme,\n size: styleSize,\n className: className,\n labelPosition: labelPosition,\n });\n return (React.createElement(\"div\", __assign({}, nativeProps, { className: classNames.root }),\n React.createElement(\"div\", { className: classNames.circle }),\n label && React.createElement(\"div\", { className: classNames.label }, label),\n statusMessage && (React.createElement(\"div\", { role: \"status\", \"aria-live\": ariaLive },\n React.createElement(DelayedRender, null,\n React.createElement(\"div\", { className: classNames.screenReaderText }, statusMessage))))));\n };\n SpinnerBase.defaultProps = {\n size: SpinnerSize.medium,\n ariaLive: 'polite',\n labelPosition: 'bottom',\n };\n return SpinnerBase;\n}(React.Component));\nexport { SpinnerBase };\n//# sourceMappingURL=Spinner.base.js.map","import { __assign } from \"tslib\";\nimport { SpinnerSize } from './Spinner.types';\nimport { hiddenContentStyle, keyframes, HighContrastSelector, getGlobalClassNames, getHighContrastNoAdjustStyle, } from '../../Styling';\nimport { memoizeFunction } from '../../Utilities';\nvar GlobalClassNames = {\n root: 'ms-Spinner',\n circle: 'ms-Spinner-circle',\n label: 'ms-Spinner-label',\n};\nvar spinAnimation = memoizeFunction(function () {\n return keyframes({\n '0%': {\n transform: 'rotate(0deg)',\n },\n '100%': {\n transform: 'rotate(360deg)',\n },\n });\n});\nexport var getStyles = function (props) {\n var _a;\n var theme = props.theme, size = props.size, className = props.className, labelPosition = props.labelPosition;\n var palette = theme.palette;\n var classNames = getGlobalClassNames(GlobalClassNames, theme);\n return {\n root: [\n classNames.root,\n {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n },\n labelPosition === 'top' && {\n flexDirection: 'column-reverse',\n },\n labelPosition === 'right' && {\n flexDirection: 'row',\n },\n labelPosition === 'left' && {\n flexDirection: 'row-reverse',\n },\n className,\n ],\n circle: [\n classNames.circle,\n {\n boxSizing: 'border-box',\n borderRadius: '50%',\n border: '1.5px solid ' + palette.themeLight,\n borderTopColor: palette.themePrimary,\n animationName: spinAnimation(),\n animationDuration: '1.3s',\n animationIterationCount: 'infinite',\n animationTimingFunction: 'cubic-bezier(.53,.21,.29,.67)',\n selectors: (_a = {},\n _a[HighContrastSelector] = __assign({ borderTopColor: 'Highlight' }, getHighContrastNoAdjustStyle()),\n _a),\n },\n size === SpinnerSize.xSmall && [\n 'ms-Spinner--xSmall',\n {\n width: 12,\n height: 12,\n },\n ],\n size === SpinnerSize.small && [\n 'ms-Spinner--small',\n {\n width: 16,\n height: 16,\n },\n ],\n size === SpinnerSize.medium && [\n 'ms-Spinner--medium',\n {\n width: 20,\n height: 20,\n },\n ],\n size === SpinnerSize.large && [\n 'ms-Spinner--large',\n {\n width: 28,\n height: 28,\n },\n ],\n ],\n label: [\n classNames.label,\n theme.fonts.small,\n {\n color: palette.themePrimary,\n margin: '8px 0 0',\n textAlign: 'center',\n },\n labelPosition === 'top' && {\n margin: '0 0 8px',\n },\n labelPosition === 'right' && {\n margin: '0 0 0 8px',\n },\n labelPosition === 'left' && {\n margin: '0 8px 0 0',\n },\n ],\n screenReaderText: hiddenContentStyle,\n };\n};\n//# sourceMappingURL=Spinner.styles.js.map","import { styled } from '../../Utilities';\nimport { SpinnerBase } from './Spinner.base';\nimport { getStyles } from './Spinner.styles';\nexport var Spinner = styled(SpinnerBase, getStyles, undefined, { scope: 'Spinner' });\n//# sourceMappingURL=Spinner.js.map","/**\n * Possible variations of the spinner circle size.\n * {@docCategory Spinner}\n */\nexport var SpinnerSize;\n(function (SpinnerSize) {\n /**\n * 12px Spinner diameter\n */\n SpinnerSize[SpinnerSize[\"xSmall\"] = 0] = \"xSmall\";\n /**\n * 16px Spinner diameter\n */\n SpinnerSize[SpinnerSize[\"small\"] = 1] = \"small\";\n /**\n * 20px Spinner diameter\n */\n SpinnerSize[SpinnerSize[\"medium\"] = 2] = \"medium\";\n /**\n * 28px Spinner diameter\n */\n SpinnerSize[SpinnerSize[\"large\"] = 3] = \"large\";\n})(SpinnerSize || (SpinnerSize = {}));\n/**\n * @deprecated Use `SpinnerSize` instead. Will be removed at \\>= 2.0.0.\n * {@docCategory Spinner}\n */\nexport var SpinnerType;\n(function (SpinnerType) {\n /**\n * @deprecated Use `SpinnerSize.medium` instead. Will be removed at \\>= 2.0.0.\n */\n SpinnerType[SpinnerType[\"normal\"] = 0] = \"normal\";\n /**\n * @deprecated Use `SpinnerSize.large` instead. Will be removed at \\>= 2.0.0.\n */\n SpinnerType[SpinnerType[\"large\"] = 1] = \"large\";\n})(SpinnerType || (SpinnerType = {}));\n//# sourceMappingURL=Spinner.types.js.map","// Helper function that converts a themed spacing key (if given) to the corresponding themed spacing value.\nvar _getThemedSpacing = function (space, theme) {\n if (theme.spacing.hasOwnProperty(space)) {\n return theme.spacing[space];\n }\n return space;\n};\n// Helper function that takes a gap as a string and converts it into a { value, unit } representation.\nvar _getValueUnitGap = function (gap) {\n var numericalPart = parseFloat(gap);\n var numericalValue = isNaN(numericalPart) ? 0 : numericalPart;\n var numericalString = isNaN(numericalPart) ? '' : numericalPart.toString();\n var unitPart = gap.substring(numericalString.toString().length);\n return {\n value: numericalValue,\n unit: unitPart || 'px',\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 var parseGap = function (gap, theme) {\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 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 var splitGap = gap.split(' ');\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 // 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 // Else, parse the numerical value and pass it as both the vertical and horizontal gap.\n var calculatedGap = _getValueUnitGap(_getThemedSpacing(gap, theme));\n return {\n rowGap: calculatedGap,\n columnGap: calculatedGap,\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 var parsePadding = function (padding, theme) {\n if (padding === undefined || typeof padding === 'number' || padding === '') {\n return padding;\n }\n var paddingValues = padding.split(' ');\n if (paddingValues.length < 2) {\n return _getThemedSpacing(padding, theme);\n }\n return paddingValues.reduce(function (padding1, padding2) {\n return _getThemedSpacing(padding1, theme) + ' ' + _getThemedSpacing(padding2, theme);\n });\n};\n//# sourceMappingURL=StackUtils.js.map","import { __assign } from \"tslib\";\nimport { parseGap, parsePadding } from './StackUtils';\nimport { getGlobalClassNames } from '../../Styling';\nvar nameMap = {\n start: 'flex-start',\n end: 'flex-end',\n};\nvar GlobalClassNames = {\n root: 'ms-Stack',\n inner: 'ms-Stack-inner',\n};\nexport var styles = function (props, theme, tokens) {\n var _a, _b, _c, _d, _e, _f, _g;\n var verticalFill = props.verticalFill, horizontal = props.horizontal, reversed = props.reversed, grow = props.grow, wrap = props.wrap, horizontalAlign = props.horizontalAlign, verticalAlign = props.verticalAlign, disableShrink = props.disableShrink, className = props.className;\n var classNames = getGlobalClassNames(GlobalClassNames, theme);\n /* eslint-disable deprecation/deprecation */\n var childrenGap = tokens && tokens.childrenGap ? tokens.childrenGap : props.gap;\n var maxHeight = tokens && tokens.maxHeight ? tokens.maxHeight : props.maxHeight;\n var maxWidth = tokens && tokens.maxWidth ? tokens.maxWidth : props.maxWidth;\n var padding = tokens && tokens.padding ? tokens.padding : props.padding;\n /* eslint-enable deprecation/deprecation */\n var _h = parseGap(childrenGap, theme), rowGap = _h.rowGap, columnGap = _h.columnGap;\n var horizontalMargin = \"\" + -0.5 * columnGap.value + columnGap.unit;\n var verticalMargin = \"\" + -0.5 * rowGap.value + rowGap.unit;\n // styles to be applied to all direct children regardless of wrap or direction\n var childStyles = {\n textOverflow: 'ellipsis',\n };\n // selectors to be applied regardless of wrap or direction\n var commonSelectors = {\n // flexShrink styles are applied by the StackItem\n '> *:not(.ms-StackItem)': {\n flexShrink: disableShrink ? 0 : 1,\n },\n };\n if (wrap) {\n return {\n root: [\n classNames.root,\n {\n flexWrap: 'wrap',\n maxWidth: maxWidth,\n maxHeight: maxHeight,\n width: 'auto',\n overflow: 'visible',\n height: '100%',\n },\n horizontalAlign && (_a = {},\n _a[horizontal ? 'justifyContent' : 'alignItems'] = nameMap[horizontalAlign] || horizontalAlign,\n _a),\n verticalAlign && (_b = {},\n _b[horizontal ? 'alignItems' : 'justifyContent'] = nameMap[verticalAlign] || verticalAlign,\n _b),\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 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 selectors: __assign({ '> *': __assign({ margin: \"\" + 0.5 * rowGap.value + rowGap.unit + \" \" + 0.5 * columnGap.value + columnGap.unit }, childStyles) }, commonSelectors),\n },\n horizontalAlign && (_c = {},\n _c[horizontal ? 'justifyContent' : 'alignItems'] = nameMap[horizontalAlign] || horizontalAlign,\n _c),\n verticalAlign && (_d = {},\n _d[horizontal ? 'alignItems' : 'justifyContent'] = nameMap[verticalAlign] || verticalAlign,\n _d),\n horizontal && {\n flexDirection: reversed ? 'row-reverse' : 'row',\n // avoid unnecessary calc() calls if vertical gap is 0\n height: rowGap.value === 0 ? '100%' : \"calc(100% + \" + rowGap.value + rowGap.unit + \")\",\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 selectors: {\n '> *': {\n maxHeight: rowGap.value === 0 ? '100%' : \"calc(100% - \" + rowGap.value + rowGap.unit + \")\",\n },\n },\n },\n ],\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: maxWidth,\n maxHeight: maxHeight,\n padding: parsePadding(padding, theme),\n boxSizing: 'border-box',\n selectors: __assign((_e = { '> *': childStyles }, _e[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 ], _e), commonSelectors),\n },\n grow && {\n flexGrow: grow === true ? 1 : grow,\n },\n horizontalAlign && (_f = {},\n _f[horizontal ? 'justifyContent' : 'alignItems'] = nameMap[horizontalAlign] || horizontalAlign,\n _f),\n verticalAlign && (_g = {},\n _g[horizontal ? 'alignItems' : 'justifyContent'] = nameMap[verticalAlign] || verticalAlign,\n _g),\n className,\n ],\n // TODO: this cast may be hiding some potential issues with styling and name\n // lookups and should be removed\n };\n};\n//# sourceMappingURL=Stack.styles.js.map","import { __assign, __rest } from \"tslib\";\n/** @jsxRuntime classic */\n/** @jsx withSlots */\nimport * as React from 'react';\nimport { withSlots, createComponent, getSlots } from '@fluentui/foundation-legacy';\nimport { getNativeProps, htmlElementProperties, warnDeprecations } from '../../Utilities';\nimport { styles } from './Stack.styles';\nimport { StackItem } from './StackItem/StackItem';\nvar StackView = function (props) {\n var _a = props.as, RootType = _a === void 0 ? 'div' : _a, disableShrink = props.disableShrink, wrap = props.wrap, rest = __rest(props, [\"as\", \"disableShrink\", \"wrap\"]);\n warnDeprecations('Stack', props, {\n gap: 'tokens.childrenGap',\n maxHeight: 'tokens.maxHeight',\n maxWidth: 'tokens.maxWidth',\n padding: 'tokens.padding',\n });\n var stackChildren = React.Children.map(props.children, function (child, index) {\n if (!child) {\n return null;\n }\n if (_isStackItem(child)) {\n var defaultItemProps = {\n shrink: !disableShrink,\n };\n return React.cloneElement(child, __assign(__assign({}, defaultItemProps), child.props));\n }\n return child;\n });\n var nativeProps = getNativeProps(rest, htmlElementProperties);\n var Slots = getSlots(props, {\n root: RootType,\n inner: 'div',\n });\n if (wrap) {\n return (withSlots(Slots.root, __assign({}, nativeProps),\n withSlots(Slots.inner, null, stackChildren)));\n }\n return withSlots(Slots.root, __assign({}, nativeProps), stackChildren);\n};\nfunction _isStackItem(item) {\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 (!!item &&\n typeof item === 'object' &&\n !!item.type &&\n // StackItem is generated by createComponent, so we need to check its displayName instead of name\n item.type.displayName === StackItem.displayName);\n}\nvar StackStatics = {\n Item: StackItem,\n};\nexport var Stack = createComponent(StackView, {\n displayName: 'Stack',\n styles: styles,\n statics: StackStatics,\n});\nexport default Stack;\n//# sourceMappingURL=Stack.js.map","import { getGlobalClassNames } from '../../../Styling';\nvar GlobalClassNames = {\n root: 'ms-StackItem',\n};\nvar alignMap = {\n start: 'flex-start',\n end: 'flex-end',\n};\nexport var StackItemStyles = function (props, theme, tokens) {\n var grow = props.grow, shrink = props.shrink, disableShrink = props.disableShrink, align = props.align, verticalFill = props.verticalFill, order = props.order, className = props.className;\n var classNames = getGlobalClassNames(GlobalClassNames, theme);\n return {\n root: [\n theme.fonts.medium,\n classNames.root,\n {\n margin: tokens.margin,\n padding: tokens.padding,\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 };\n};\n//# sourceMappingURL=StackItem.styles.js.map","import { __assign } from \"tslib\";\nimport { withSlots, createComponent, getSlots } from '@fluentui/foundation-legacy';\nimport { getNativeProps, htmlElementProperties } from '../../../Utilities';\nimport { StackItemStyles as styles } from './StackItem.styles';\nvar StackItemView = function (props) {\n var children = props.children;\n var nativeProps = getNativeProps(props, htmlElementProperties);\n // eslint-disable-next-line eqeqeq\n if (children == null) {\n return null;\n }\n var Slots = getSlots(props, {\n root: 'div',\n });\n return withSlots(Slots.root, __assign({}, nativeProps), children);\n};\nexport var StackItem = createComponent(StackItemView, {\n displayName: 'StackItem',\n styles: styles,\n});\nexport default StackItem;\n//# sourceMappingURL=StackItem.js.map","export var StickyPositionType;\n(function (StickyPositionType) {\n StickyPositionType[StickyPositionType[\"Both\"] = 0] = \"Both\";\n StickyPositionType[StickyPositionType[\"Header\"] = 1] = \"Header\";\n StickyPositionType[StickyPositionType[\"Footer\"] = 2] = \"Footer\";\n})(StickyPositionType || (StickyPositionType = {}));\n//# sourceMappingURL=Sticky.types.js.map","import { __extends } from \"tslib\";\nimport * as React from 'react';\nimport { initializeComponentRef } from '../../Utilities';\nimport { hiddenContentStyle } from '../../Styling';\nimport { ScrollablePaneContext } from '../ScrollablePane/ScrollablePane.types';\nimport { StickyPositionType } from './Sticky.types';\nvar Sticky = /** @class */ (function (_super) {\n __extends(Sticky, _super);\n function Sticky(props) {\n var _this = _super.call(this, props) || this;\n _this._root = React.createRef();\n _this._stickyContentTop = React.createRef();\n _this._stickyContentBottom = React.createRef();\n _this._nonStickyContent = React.createRef();\n _this._placeHolder = React.createRef();\n _this.syncScroll = function (container) {\n var nonStickyContent = _this.nonStickyContent;\n if (nonStickyContent && _this.props.isScrollSynced) {\n nonStickyContent.scrollLeft = container.scrollLeft;\n }\n };\n _this._getContext = function () { return _this.context; };\n _this._onScrollEvent = function (container, footerStickyContainer) {\n if (_this.root && _this.nonStickyContent) {\n var distanceFromTop = _this._getNonStickyDistanceFromTop(container);\n var isStickyTop = false;\n var isStickyBottom = false;\n if (_this.canStickyTop) {\n var distanceToStickTop = distanceFromTop - _this._getStickyDistanceFromTop();\n isStickyTop = distanceToStickTop < container.scrollTop;\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 if (document.activeElement &&\n _this.nonStickyContent.contains(document.activeElement) &&\n (_this.state.isStickyTop !== isStickyTop || _this.state.isStickyBottom !== isStickyBottom)) {\n _this._activeElement = document.activeElement;\n }\n else {\n _this._activeElement = undefined;\n }\n _this.setState({\n isStickyTop: _this.canStickyTop && isStickyTop,\n isStickyBottom: isStickyBottom,\n distanceFromTop: distanceFromTop,\n });\n }\n };\n _this._getStickyDistanceFromTop = function () {\n var distance = 0;\n if (_this.stickyContentTop) {\n distance = _this.stickyContentTop.offsetTop;\n }\n return distance;\n };\n _this._getStickyDistanceFromTopForFooter = function (container, footerStickyVisibleContainer) {\n var distance = 0;\n if (_this.stickyContentBottom) {\n distance =\n container.clientHeight - footerStickyVisibleContainer.offsetHeight + _this.stickyContentBottom.offsetTop;\n }\n return distance;\n };\n _this._getNonStickyDistanceFromTop = function (container) {\n var distance = 0;\n var currElem = _this.root;\n if (currElem) {\n while (currElem && currElem.offsetParent !== container) {\n distance += currElem.offsetTop;\n currElem = currElem.offsetParent;\n }\n if (currElem && currElem.offsetParent === container) {\n distance += currElem.offsetTop;\n }\n }\n return distance;\n };\n initializeComponentRef(_this);\n _this.state = {\n isStickyTop: false,\n isStickyBottom: false,\n distanceFromTop: undefined,\n };\n _this._activeElement = undefined;\n return _this;\n }\n Object.defineProperty(Sticky.prototype, \"root\", {\n get: function () {\n return this._root.current;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Sticky.prototype, \"placeholder\", {\n get: function () {\n return this._placeHolder.current;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Sticky.prototype, \"stickyContentTop\", {\n get: function () {\n return this._stickyContentTop.current;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Sticky.prototype, \"stickyContentBottom\", {\n get: function () {\n return this._stickyContentBottom.current;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Sticky.prototype, \"nonStickyContent\", {\n get: function () {\n return this._nonStickyContent.current;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Sticky.prototype, \"canStickyTop\", {\n get: function () {\n return (this.props.stickyPosition === StickyPositionType.Both || this.props.stickyPosition === StickyPositionType.Header);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Sticky.prototype, \"canStickyBottom\", {\n get: function () {\n return (this.props.stickyPosition === StickyPositionType.Both || this.props.stickyPosition === StickyPositionType.Footer);\n },\n enumerable: false,\n configurable: true\n });\n Sticky.prototype.componentDidMount = function () {\n var scrollablePane = this._getContext().scrollablePane;\n if (!scrollablePane) {\n return;\n }\n scrollablePane.subscribe(this._onScrollEvent);\n scrollablePane.addSticky(this);\n };\n Sticky.prototype.componentWillUnmount = function () {\n var scrollablePane = this._getContext().scrollablePane;\n if (!scrollablePane) {\n return;\n }\n scrollablePane.unsubscribe(this._onScrollEvent);\n scrollablePane.removeSticky(this);\n };\n Sticky.prototype.componentDidUpdate = function (prevProps, prevState) {\n var scrollablePane = this._getContext().scrollablePane;\n if (!scrollablePane) {\n return;\n }\n var _a = this.state, isStickyBottom = _a.isStickyBottom, isStickyTop = _a.isStickyTop, distanceFromTop = _a.distanceFromTop;\n var syncScroll = 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 Sticky.prototype.shouldComponentUpdate = function (nextProps, nextState) {\n if (!this.context.scrollablePane) {\n return true;\n }\n var _a = this.state, isStickyTop = _a.isStickyTop, isStickyBottom = _a.isStickyBottom, distanceFromTop = _a.distanceFromTop;\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));\n };\n Sticky.prototype.render = function () {\n var _a = this.state, isStickyTop = _a.isStickyTop, isStickyBottom = _a.isStickyBottom;\n var _b = this.props, stickyClassName = _b.stickyClassName, children = _b.children;\n if (!this.context.scrollablePane) {\n return React.createElement(\"div\", null, this.props.children);\n }\n return (React.createElement(\"div\", { ref: this._root },\n this.canStickyTop && (React.createElement(\"div\", { ref: this._stickyContentTop, style: { pointerEvents: isStickyTop ? 'auto' : 'none' } },\n React.createElement(\"div\", { style: this._getStickyPlaceholderHeight(isStickyTop) }))),\n this.canStickyBottom && (React.createElement(\"div\", { ref: this._stickyContentBottom, style: { pointerEvents: isStickyBottom ? 'auto' : 'none' } },\n React.createElement(\"div\", { style: this._getStickyPlaceholderHeight(isStickyBottom) }))),\n React.createElement(\"div\", { style: this._getNonStickyPlaceholderHeightAndWidth(), ref: this._placeHolder },\n (isStickyTop || isStickyBottom) && React.createElement(\"span\", { style: hiddenContentStyle }, children),\n React.createElement(\"div\", { ref: this._nonStickyContent, className: isStickyTop || isStickyBottom ? stickyClassName : undefined, style: this._getContentStyles(isStickyTop || isStickyBottom) }, children))));\n };\n Sticky.prototype.addSticky = function (stickyContent) {\n if (this.nonStickyContent) {\n stickyContent.appendChild(this.nonStickyContent);\n }\n };\n Sticky.prototype.resetSticky = function () {\n if (this.nonStickyContent && this.placeholder) {\n this.placeholder.appendChild(this.nonStickyContent);\n }\n };\n Sticky.prototype.setDistanceFromTop = function (container) {\n var distanceFromTop = this._getNonStickyDistanceFromTop(container);\n this.setState({ distanceFromTop: distanceFromTop });\n };\n Sticky.prototype._getContentStyles = function (isSticky) {\n return {\n backgroundColor: this.props.stickyBackgroundColor || this._getBackground(),\n overflow: isSticky ? 'hidden' : '',\n };\n };\n Sticky.prototype._getStickyPlaceholderHeight = function (isSticky) {\n var height = this.nonStickyContent ? this.nonStickyContent.offsetHeight : 0;\n return {\n visibility: isSticky ? 'hidden' : 'visible',\n height: isSticky ? 0 : height,\n };\n };\n Sticky.prototype._getNonStickyPlaceholderHeightAndWidth = function () {\n var _a = this.state, isStickyTop = _a.isStickyTop, isStickyBottom = _a.isStickyBottom;\n if (isStickyTop || isStickyBottom) {\n var height = 0;\n var 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.offsetWidth -\n this.nonStickyContent.firstElementChild.clientWidth);\n }\n return {\n height: height,\n width: width,\n };\n }\n else {\n return {};\n }\n };\n // Gets background of nearest parent element that has a declared background-color attribute\n Sticky.prototype._getBackground = function () {\n if (!this.root) {\n return undefined;\n }\n var curr = this.root;\n while (window.getComputedStyle(curr).getPropertyValue('background-color') === 'rgba(0, 0, 0, 0)' ||\n window.getComputedStyle(curr).getPropertyValue('background-color') === 'transparent') {\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 Sticky.defaultProps = {\n stickyPosition: StickyPositionType.Both,\n isScrollSynced: true,\n };\n Sticky.contextType = ScrollablePaneContext;\n return Sticky;\n}(React.Component));\nexport { Sticky };\nfunction _isOffsetHeightDifferent(a, b) {\n return (a && b && a.current && b.current && a.current.offsetHeight !== b.current.offsetHeight);\n}\n//# sourceMappingURL=Sticky.js.map","import * as React from 'react';\nimport { mergeStyleSets } from '../../Styling';\nimport { classNamesFunction, memoizeFunction } from '../../Utilities';\nimport { getColorFromString } from '../../Color';\nimport { ButtonGridCell } from '../../utilities/ButtonGrid/ButtonGridCell';\nimport { getStyles as getActionButtonStyles } from '../Button/ActionButton/ActionButton.styles';\nvar getClassNames = classNamesFunction();\n/** Validate if the cell's color is white or not to apply whiteCell style */\nvar isWhiteCell = function (inputColor) {\n var currentColor = getColorFromString(inputColor);\n return (currentColor === null || currentColor === void 0 ? void 0 : currentColor.hex) === 'ffffff';\n};\nvar getColorPickerGridCellButtonClassNames = memoizeFunction(function (theme, className, variantClassName, iconClassName, menuIconClassName, disabled, checked, expanded, isSplit) {\n var 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});\nexport var ColorPickerGridCellBase = function (props) {\n var item = props.item, \n // eslint-disable-next-line deprecation/deprecation\n _a = props.idPrefix, \n // eslint-disable-next-line deprecation/deprecation\n idPrefix = _a === void 0 ? props.id : _a, _b = props.selected, selected = _b === void 0 ? false : _b, _c = props.disabled, disabled = _c === void 0 ? false : _c, styles = props.styles, _d = props.circle, circle = _d === void 0 ? true : _d, color = props.color, onClick = props.onClick, onHover = props.onHover, onFocus = props.onFocus, onMouseEnter = props.onMouseEnter, onMouseMove = props.onMouseMove, onMouseLeave = props.onMouseLeave, onWheel = props.onWheel, onKeyDown = props.onKeyDown, height = props.height, width = props.width, borderWidth = props.borderWidth;\n var classNames = getClassNames(styles, {\n theme: props.theme,\n disabled: disabled,\n selected: selected,\n circle: circle,\n isWhite: isWhiteCell(color),\n height: height,\n width: width,\n borderWidth: borderWidth,\n });\n // Render the core of a color cell\n var onRenderColorOption = function (colorOption) {\n var _a;\n var svgClassName = classNames.svg;\n // Build an SVG for the cell with the given shape and color properties\n return (React.createElement(\"svg\", { className: svgClassName, viewBox: \"0 0 20 20\", fill: (_a = getColorFromString(colorOption.color)) === null || _a === void 0 ? void 0 : _a.str }, circle ? React.createElement(\"circle\", { cx: \"50%\", cy: \"50%\", r: \"50%\" }) : React.createElement(\"rect\", { width: \"100%\", height: \"100%\" })));\n };\n return (React.createElement(ButtonGridCell, { item: item, id: idPrefix + \"-\" + item.id + \"-\" + item.index, key: item.id, disabled: disabled, role: 'gridcell', \n // eslint-disable-next-line react/jsx-no-bind\n onRenderItem: onRenderColorOption, selected: selected, onClick: onClick, onHover: onHover, onFocus: onFocus, label: item.label, className: classNames.colorCell, getClassNames: getColorPickerGridCellButtonClassNames, index: item.index, onMouseEnter: onMouseEnter, onMouseMove: onMouseMove, onMouseLeave: onMouseLeave, onWheel: onWheel, onKeyDown: onKeyDown }));\n};\n//# sourceMappingURL=ColorPickerGridCell.base.js.map","import { IsFocusVisibleClassName } from '../../Utilities';\nimport { HighContrastSelector, getFocusStyle } from '../../Styling';\n// Size breakpoint when the default border width changes from 2px to 4px.\nvar CELL_BORDER_BREAKPOINT = 24;\nvar LARGE_BORDER = 4;\nvar SMALL_BORDER = 2;\nvar DIVIDING_PADDING = 2;\nvar DEFAULT_CELL_SIZE = 20;\nvar cellHighContrastFocus = {\n left: -2,\n top: -2,\n bottom: -2,\n right: -2,\n border: 'none',\n outlineColor: 'ButtonText',\n};\nexport var getStyles = function (props) {\n var _a, _b, _c, _d, _e;\n var theme = props.theme, disabled = props.disabled, selected = props.selected, circle = props.circle, isWhite = props.isWhite, _f = props.height, height = _f === void 0 ? DEFAULT_CELL_SIZE : _f, _g = props.width, width = _g === void 0 ? DEFAULT_CELL_SIZE : _g, borderWidth = props.borderWidth;\n var semanticColors = theme.semanticColors, palette = theme.palette;\n var buttonBorderHovered = palette.neutralLighter;\n var buttonBorderChecked = palette.neutralLight;\n var buttonBorderCheckedHovered = palette.neutralSecondary;\n var buttonBorderIsWhite = palette.neutralTertiary;\n // If user provided a value, use it. If not, then we decide depending on the 24px size breakpoint.\n var calculatedBorderWidth = borderWidth\n ? borderWidth\n : width < CELL_BORDER_BREAKPOINT\n ? SMALL_BORDER\n : LARGE_BORDER;\n return {\n // this is a button that wraps the color\n colorCell: [\n getFocusStyle(theme, { inset: -1, position: 'relative', highContrastStyle: cellHighContrastFocus }),\n {\n backgroundColor: semanticColors.bodyBackground,\n padding: 0,\n position: 'relative',\n boxSizing: 'border-box',\n display: 'inline-block',\n cursor: 'pointer',\n userSelect: 'none',\n borderRadius: 0,\n border: 'none',\n height: height,\n width: width,\n verticalAlign: 'top',\n },\n !circle && {\n selectors: (_a = {},\n _a[\".\" + IsFocusVisibleClassName + \" &:focus::after\"] = {\n // -1px so that we don't increase visually the size of the cell.\n outlineOffset: calculatedBorderWidth - 1 + \"px\",\n },\n _a),\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: (_b = {},\n _b[\".\" + 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: (_c = {},\n _c[HighContrastSelector] = {\n outline: \"1px solid ButtonText\",\n },\n _c),\n },\n _b),\n },\n selected && {\n padding: DIVIDING_PADDING,\n border: calculatedBorderWidth + \"px solid \" + buttonBorderChecked,\n selectors: (_d = {},\n _d['&: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 _d),\n },\n !selected && {\n selectors: (_e = {},\n _e['&:hover, &:active, &:focus'] = {\n backgroundColor: semanticColors.bodyBackground,\n padding: DIVIDING_PADDING,\n border: calculatedBorderWidth + \"px solid \" + buttonBorderHovered,\n },\n _e['&: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 _e),\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//# sourceMappingURL=ColorPickerGridCell.styles.js.map","import { styled } from '../../Utilities';\nimport { ColorPickerGridCellBase } from './ColorPickerGridCell.base';\nimport { getStyles } from './ColorPickerGridCell.styles';\nexport var ColorPickerGridCell = styled(ColorPickerGridCellBase, getStyles, undefined, { scope: 'ColorPickerGridCell' }, true);\n//# sourceMappingURL=ColorPickerGridCell.js.map","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { classNamesFunction, KeyCodes } from '../../Utilities';\nimport { ButtonGrid } from '../../utilities/ButtonGrid/ButtonGrid';\nimport { ColorPickerGridCell } from './ColorPickerGridCell';\nimport { useId, useConst, useSetTimeout, useControllableValue, useWarnings } from '@fluentui/react-hooks';\nvar getClassNames = classNamesFunction();\nvar COMPONENT_NAME = 'SwatchColorPicker';\nfunction useDebugWarnings(props) {\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks -- build-time conditional\n useWarnings({\n name: COMPONENT_NAME,\n props: props,\n mutuallyExclusive: { focusOnHover: 'onHover', selectedId: 'defaultSelectedId' },\n deprecations: { isControlled: \"selectedId' or 'defaultSelectedId\", onColorChanged: 'onChange' },\n });\n }\n}\nexport var SwatchColorPickerBase = React.forwardRef(function (props, ref) {\n var defaultId = useId('swatchColorPicker');\n var id = props.id || defaultId;\n var internalState = useConst({\n isNavigationIdle: true,\n cellFocused: false,\n navigationIdleTimeoutId: undefined,\n navigationIdleDelay: 250,\n });\n var _a = useSetTimeout(), setTimeout = _a.setTimeout, clearTimeout = _a.clearTimeout;\n useDebugWarnings(props);\n var colorCells = props.colorCells, _b = props.cellShape, cellShape = _b === void 0 ? 'circle' : _b, columnCount = props.columnCount, _c = props.shouldFocusCircularNavigate, shouldFocusCircularNavigate = _c === void 0 ? true : _c, className = props.className, _d = props.disabled, disabled = _d === void 0 ? false : _d, doNotContainWithinFocusZone = props.doNotContainWithinFocusZone, styles = props.styles, _e = props.cellMargin, cellMargin = _e === void 0 ? 10 : _e, defaultSelectedId = props.defaultSelectedId, focusOnHover = props.focusOnHover, mouseLeaveParentSelector = props.mouseLeaveParentSelector, onChange = props.onChange, \n // eslint-disable-next-line deprecation/deprecation\n onColorChanged = props.onColorChanged, onCellHovered = props.onCellHovered, onCellFocused = props.onCellFocused, getColorGridCellStyles = props.getColorGridCellStyles, cellHeight = props.cellHeight, cellWidth = props.cellWidth, cellBorderWidth = props.cellBorderWidth;\n /**\n * Add an index to each color cells. Memoizes this so that color cells do not re-render on every update.\n */\n var itemsWithIndex = React.useMemo(function () {\n return colorCells.map(function (item, index) {\n return __assign(__assign({}, item), { index: index });\n });\n }, [colorCells]);\n var mergedOnChange = React.useCallback(function (ev, newSelectedId) {\n var _a;\n // Call both new and old change handlers, and add the extra `color` parameter\n var newColor = (_a = colorCells.filter(function (c) { return c.id === newSelectedId; })[0]) === null || _a === void 0 ? void 0 : _a.color;\n onChange === null || onChange === void 0 ? void 0 : onChange(ev, newSelectedId, newColor);\n onColorChanged === null || onColorChanged === void 0 ? void 0 : onColorChanged(newSelectedId, newColor);\n }, [onChange, onColorChanged, colorCells]);\n var _f = useControllableValue(props.selectedId, defaultSelectedId, mergedOnChange), selectedId = _f[0], setSelectedId = _f[1];\n var classNames = getClassNames(styles, {\n theme: props.theme,\n className: className,\n cellMargin: cellMargin,\n });\n var gridStyles = {\n root: classNames.root,\n tableCell: classNames.tableCell,\n focusedContainer: classNames.focusedContainer,\n };\n /**\n * When the whole swatchColorPicker is blurred,\n * make sure to clear the pending focused stated\n */\n var onSwatchColorPickerBlur = React.useCallback(function () {\n if (onCellFocused) {\n internalState.cellFocused = false;\n onCellFocused();\n }\n }, [internalState, onCellFocused]);\n /**\n * Callback passed to the GridCell that will manage triggering the onCellHovered callback for mouseEnter\n */\n var onMouseEnter = React.useCallback(function (ev) {\n if (!focusOnHover) {\n return !internalState.isNavigationIdle || !!disabled;\n }\n if (internalState.isNavigationIdle && !disabled) {\n ev.currentTarget.focus();\n }\n return true;\n }, [focusOnHover, internalState, disabled]);\n /**\n * Callback passed to the GridCell that will manage Hover/Focus updates\n */\n var onMouseMove = React.useCallback(function (ev) {\n if (!focusOnHover) {\n return !internalState.isNavigationIdle || !!disabled;\n }\n var targetElement = ev.currentTarget;\n // If navigation is idle and the targetElement is the focused element bail out\n if (internalState.isNavigationIdle && !(document && targetElement === document.activeElement)) {\n targetElement.focus();\n }\n return true;\n }, [focusOnHover, internalState, disabled]);\n /**\n * Callback passed to the GridCell that will manage Hover/Focus updates\n */\n var onMouseLeave = React.useCallback(function (ev) {\n var parentSelector = mouseLeaveParentSelector;\n if (!focusOnHover || !parentSelector || !internalState.isNavigationIdle || disabled) {\n return;\n }\n // Get the elements that math the given selector\n var elements = document.querySelectorAll(parentSelector);\n // iterate over the elements return to make sure it is a parent of the target and focus it\n for (var 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].setActive) {\n try {\n elements[index].setActive();\n }\n catch (e) {\n /* no-op */\n }\n }\n else {\n elements[index].focus();\n }\n break;\n }\n }\n }, [disabled, focusOnHover, internalState, mouseLeaveParentSelector]);\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 var onGridCellHovered = React.useCallback(function (item) {\n if (onCellHovered) {\n return item ? onCellHovered(item.id, item.color) : onCellHovered();\n }\n }, [onCellHovered]);\n /**\n * Callback passed to the GridCell class that will trigger the onCellFocus callback of the SwatchColorPicker\n */\n var onGridCellFocused = React.useCallback(function (item) {\n if (onCellFocused) {\n if (item) {\n internalState.cellFocused = true;\n return onCellFocused(item.id, item.color);\n }\n else {\n internalState.cellFocused = false;\n return onCellFocused();\n }\n }\n }, [internalState, onCellFocused]);\n /**\n * Handle the click on a cell\n */\n var onCellClick = React.useCallback(function (item) {\n if (disabled) {\n return;\n }\n if (item.id !== selectedId) {\n if (onCellFocused && internalState.cellFocused) {\n internalState.cellFocused = false;\n onCellFocused();\n }\n setSelectedId(item.id);\n }\n }, [disabled, internalState, onCellFocused, selectedId, setSelectedId]);\n /**\n * Sets a timeout so we won't process any mouse \"hover\" events\n * while navigating (via mouseWheel or arrowKeys)\n */\n var setNavigationTimeout = React.useCallback(function () {\n if (!internalState.isNavigationIdle && internalState.navigationIdleTimeoutId !== undefined) {\n clearTimeout(internalState.navigationIdleTimeoutId);\n internalState.navigationIdleTimeoutId = undefined;\n }\n else {\n internalState.isNavigationIdle = false;\n }\n internalState.navigationIdleTimeoutId = setTimeout(function () {\n internalState.isNavigationIdle = true;\n }, internalState.navigationIdleDelay);\n }, [clearTimeout, internalState, setTimeout]);\n /**\n * Callback used to handle KeyCode events\n */\n var onKeyDown = React.useCallback(function (ev) {\n if (\n // eslint-disable-next-line deprecation/deprecation\n ev.which === KeyCodes.up ||\n // eslint-disable-next-line deprecation/deprecation\n ev.which === KeyCodes.down ||\n // eslint-disable-next-line deprecation/deprecation\n ev.which === KeyCodes.left ||\n // eslint-disable-next-line deprecation/deprecation\n ev.which === KeyCodes.right) {\n setNavigationTimeout();\n }\n }, [setNavigationTimeout]);\n /**\n * Render a color cell\n * @param item - The item to render\n * @returns - Element representing the item\n */\n var renderOption = function (item) {\n return (React.createElement(ColorPickerGridCell, { item: item, idPrefix: id, color: item.color, styles: getColorGridCellStyles, disabled: disabled, onClick: onCellClick, onHover: onGridCellHovered, onFocus: onGridCellFocused, selected: selectedId === item.id, circle: cellShape === 'circle', label: item.label, onMouseEnter: onMouseEnter, onMouseMove: onMouseMove, onMouseLeave: onMouseLeave, onWheel: setNavigationTimeout, onKeyDown: onKeyDown, height: cellHeight, width: cellWidth, borderWidth: cellBorderWidth }));\n };\n if (colorCells.length < 1 || columnCount < 1) {\n return null;\n }\n var onRenderItem = function (item, index) {\n var _a = props.onRenderColorCell, onRenderColorCell = _a === void 0 ? renderOption : _a;\n return onRenderColorCell(item, renderOption);\n };\n return (React.createElement(ButtonGrid, __assign({}, props, { ref: ref, id: id, items: itemsWithIndex, columnCount: columnCount, \n // eslint-disable-next-line react/jsx-no-bind\n onRenderItem: onRenderItem, shouldFocusCircularNavigate: shouldFocusCircularNavigate, doNotContainWithinFocusZone: doNotContainWithinFocusZone, onBlur: onSwatchColorPickerBlur, theme: props.theme, styles: gridStyles })));\n});\nSwatchColorPickerBase.displayName = COMPONENT_NAME;\n//# sourceMappingURL=SwatchColorPicker.base.js.map","import { getGlobalClassNames } from '../../Styling';\nvar GlobalClassNames = {\n focusedContainer: 'ms-swatchColorPickerBodyContainer',\n};\nexport var getStyles = function (props) {\n var className = props.className, theme = props.theme, cellMargin = props.cellMargin;\n var classNames = getGlobalClassNames(GlobalClassNames, theme);\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//# sourceMappingURL=SwatchColorPicker.styles.js.map","import { styled } from '../../Utilities';\nimport { SwatchColorPickerBase } from './SwatchColorPicker.base';\nimport { getStyles } from './SwatchColorPicker.styles';\nexport var SwatchColorPicker = styled(SwatchColorPickerBase, getStyles, undefined, { scope: 'SwatchColorPicker' });\n//# sourceMappingURL=SwatchColorPicker.js.map","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { classNamesFunction, KeyCodes } from '../../Utilities';\nimport { PrimaryButton, DefaultButton, IconButton } from '../../Button';\nimport { Stack } from '../../Stack';\nimport { FocusTrapZone } from '../../FocusTrapZone';\nimport { Image } from '../../Image';\nimport { useOnEvent, useMergedRefs, useId } from '@fluentui/react-hooks';\nimport { useDocument } from '../../WindowProvider';\nvar getClassNames = classNamesFunction();\nvar useComponentRef = function (componentRef, rootElementRef) {\n React.useImperativeHandle(componentRef, function () { return ({\n focus: function () { var _a; return (_a = rootElementRef.current) === null || _a === void 0 ? void 0 : _a.focus(); },\n }); }, [rootElementRef]);\n};\nexport var TeachingBubbleContentBase = React.forwardRef(function (props, forwardedRef) {\n var _a, _b;\n var rootElementRef = React.useRef(null);\n var documentRef = useDocument();\n var mergedRootRef = useMergedRefs(rootElementRef, forwardedRef);\n var ariaDescribedById = useId('teaching-bubble-content-');\n var ariaLabelledById = useId('teaching-bubble-title-');\n var ariaDescribedBy = (_a = props.ariaDescribedBy) !== null && _a !== void 0 ? _a : ariaDescribedById;\n var ariaLabelledBy = (_b = props.ariaLabelledBy) !== null && _b !== void 0 ? _b : ariaLabelledById;\n var illustrationImage = props.illustrationImage, primaryButtonProps = props.primaryButtonProps, secondaryButtonProps = props.secondaryButtonProps, headline = props.headline, hasCondensedHeadline = props.hasCondensedHeadline, \n // eslint-disable-next-line deprecation/deprecation\n _c = props.hasCloseButton, \n // eslint-disable-next-line deprecation/deprecation\n hasCloseButton = _c === void 0 ? props.hasCloseIcon : _c, onDismiss = props.onDismiss, closeButtonAriaLabel = props.closeButtonAriaLabel, hasSmallHeadline = props.hasSmallHeadline, isWide = props.isWide, styles = props.styles, theme = props.theme, customFooterContent = props.footerContent, focusTrapZoneProps = props.focusTrapZoneProps;\n var classNames = getClassNames(styles, {\n theme: theme,\n hasCondensedHeadline: hasCondensedHeadline,\n hasSmallHeadline: hasSmallHeadline,\n hasCloseButton: hasCloseButton,\n hasHeadline: !!headline,\n isWide: isWide,\n primaryButtonClassName: primaryButtonProps ? primaryButtonProps.className : undefined,\n secondaryButtonClassName: secondaryButtonProps ? secondaryButtonProps.className : undefined,\n });\n var onKeyDown = React.useCallback(function (ev) {\n if (onDismiss) {\n // eslint-disable-next-line deprecation/deprecation\n if (ev.which === KeyCodes.escape) {\n onDismiss(ev);\n }\n }\n }, [onDismiss]);\n useOnEvent(documentRef, 'keydown', onKeyDown);\n var imageContent;\n var headerContent;\n var bodyContent;\n var footerContent;\n var closeButton;\n if (illustrationImage && illustrationImage.src) {\n imageContent = (React.createElement(\"div\", { className: classNames.imageContent },\n React.createElement(Image, __assign({}, illustrationImage))));\n }\n if (headline) {\n var HeaderWrapperAs = typeof headline === 'string' ? 'p' : 'div';\n headerContent = (React.createElement(\"div\", { className: classNames.header },\n React.createElement(HeaderWrapperAs, { role: \"heading\", \"aria-level\": 3, className: classNames.headline, id: ariaLabelledBy }, headline)));\n }\n if (props.children) {\n var BodyContentWrapperAs = typeof props.children === 'string' ? 'p' : 'div';\n bodyContent = (React.createElement(\"div\", { className: classNames.body },\n React.createElement(BodyContentWrapperAs, { className: classNames.subText, id: ariaDescribedBy }, props.children)));\n }\n if (primaryButtonProps || secondaryButtonProps || customFooterContent) {\n footerContent = (React.createElement(Stack, { className: classNames.footer, horizontal: true, horizontalAlign: customFooterContent ? 'space-between' : 'end' },\n React.createElement(Stack.Item, { align: \"center\" }, React.createElement(\"span\", null, customFooterContent)),\n React.createElement(Stack.Item, null,\n secondaryButtonProps && React.createElement(DefaultButton, __assign({}, secondaryButtonProps, { className: classNames.secondaryButton })),\n primaryButtonProps && React.createElement(PrimaryButton, __assign({}, primaryButtonProps, { className: classNames.primaryButton })))));\n }\n if (hasCloseButton) {\n closeButton = (React.createElement(IconButton, { className: classNames.closeButton, iconProps: { iconName: 'Cancel' }, ariaLabel: closeButtonAriaLabel, onClick: onDismiss }));\n }\n useComponentRef(props.componentRef, rootElementRef);\n return (React.createElement(\"div\", { className: classNames.content, ref: mergedRootRef, role: 'dialog', tabIndex: -1, \"aria-labelledby\": ariaLabelledBy, \"aria-describedby\": ariaDescribedBy, \"data-is-focusable\": true },\n imageContent,\n React.createElement(FocusTrapZone, __assign({ isClickableOutsideFocusTrap: true }, focusTrapZoneProps),\n React.createElement(\"div\", { className: classNames.bodyContent },\n headerContent,\n bodyContent,\n footerContent,\n closeButton))));\n});\n//# sourceMappingURL=TeachingBubbleContent.base.js.map","import { __spreadArray } from \"tslib\";\nimport { AnimationVariables, FontWeights, getFocusStyle, getGlobalClassNames, keyframes } from '../../Styling';\nimport { memoizeFunction } from '../../Utilities';\nvar 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 // 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};\nvar opacityFadeIn = memoizeFunction(function () {\n return 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});\nvar rootStyle = function (isWide, calloutProps) {\n var _a = calloutProps || {}, calloutWidth = _a.calloutWidth, calloutMaxWidth = _a.calloutMaxWidth;\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};\nvar headerStyle = function (classNames, hasCondensedHeadline, hasSmallHeadline) {\n if (hasCondensedHeadline) {\n return [\n classNames.headerIsCondensed,\n {\n marginBottom: 14,\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};\nexport var getStyles = function (props) {\n var _a, _b, _c;\n var hasCondensedHeadline = props.hasCondensedHeadline, hasSmallHeadline = props.hasSmallHeadline, hasCloseButton = props.hasCloseButton, hasHeadline = props.hasHeadline, isWide = props.isWide, primaryButtonClassName = props.primaryButtonClassName, secondaryButtonClassName = props.secondaryButtonClassName, theme = props.theme, _d = props.calloutProps, calloutProps = _d === void 0 ? { className: undefined, theme: theme } : _d;\n var hasLargeHeadline = !hasCondensedHeadline && !hasSmallHeadline;\n var palette = theme.palette, semanticColors = theme.semanticColors, fonts = theme.fonts;\n var classNames = getGlobalClassNames(globalClassNames, theme);\n var hideDefaultFocusRing = getFocusStyle(theme, {\n outlineColor: 'transparent',\n borderColor: 'transparent',\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: __spreadArray(__spreadArray([\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: (_a = {},\n // TODO: global class name usage should be converted to a styles function once Button supports JS styling\n _a[\".\" + classNames.button + \":not(:first-child)\"] = {\n marginLeft: 10,\n },\n _a),\n },\n ],\n header: __spreadArray(__spreadArray([\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 overflowWrap: 'break-word',\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 hideDefaultFocusRing,\n {\n backgroundColor: palette.white,\n borderColor: palette.white,\n color: palette.themePrimary,\n whiteSpace: 'nowrap',\n selectors: (_b = {},\n // TODO: global class name usage should be converted to a styles function once Button supports JS styling\n _b[\".\" + classNames.buttonLabel] = fonts.medium,\n _b[':hover'] = {\n backgroundColor: palette.themeLighter,\n borderColor: palette.themeLighter,\n color: palette.themeDark,\n },\n _b[':focus'] = {\n backgroundColor: palette.themeLighter,\n border: \"1px solid \" + palette.black,\n color: palette.themeDark,\n outline: \"1px solid \" + palette.white,\n outlineOffset: '-2px',\n },\n _b[':active'] = {\n backgroundColor: palette.white,\n borderColor: palette.white,\n color: palette.themePrimary,\n },\n _b),\n },\n ],\n secondaryButton: [\n classNames.secondaryButton,\n secondaryButtonClassName,\n hideDefaultFocusRing,\n {\n backgroundColor: palette.themePrimary,\n borderColor: palette.white,\n whiteSpace: 'nowrap',\n selectors: (_c = {},\n // TODO: global class name usage should be converted to a styles function once Button supports JS styling\n _c[\".\" + classNames.buttonLabel] = [\n fonts.medium,\n {\n color: palette.white,\n },\n ],\n _c[':hover'] = {\n backgroundColor: palette.themeDarkAlt,\n borderColor: palette.white,\n },\n _c[':focus'] = {\n backgroundColor: palette.themeDark,\n border: \"1px solid \" + palette.black,\n outline: \"1px solid \" + palette.white,\n outlineOffset: '-2px',\n },\n _c[':active'] = {\n backgroundColor: palette.themePrimary,\n borderColor: palette.white,\n },\n _c),\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: __spreadArray(__spreadArray([], 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//# sourceMappingURL=TeachingBubble.styles.js.map","import { styled } from '../../Utilities';\nimport { TeachingBubbleContentBase } from './TeachingBubbleContent.base';\nimport { getStyles } from './TeachingBubble.styles';\nexport var TeachingBubbleContent = styled(TeachingBubbleContentBase, getStyles, undefined, { scope: 'TeachingBubbleContent' });\n//# sourceMappingURL=TeachingBubbleContent.js.map","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { classNamesFunction } from '../../Utilities';\nimport { TeachingBubbleContent } from './TeachingBubbleContent';\nimport { Callout } from '../../Callout';\nimport { DirectionalHint } from '../../common/DirectionalHint';\nimport { useMergedRefs } from '@fluentui/react-hooks';\nvar COMPONENT_NAME = 'TeachingBubble';\nvar defaultCalloutProps = {\n beakWidth: 16,\n gapSpace: 0,\n setInitialFocus: true,\n doNotLayer: false,\n directionalHint: DirectionalHint.rightCenter,\n};\nvar getClassNames = classNamesFunction();\nvar useComponentRef = function (componentRef, rootElementRef) {\n React.useImperativeHandle(componentRef, function () { return ({\n focus: function () { var _a; return (_a = rootElementRef.current) === null || _a === void 0 ? void 0 : _a.focus(); },\n }); }, [rootElementRef]);\n};\nexport var TeachingBubbleBase = React.forwardRef(function (props, forwardedRef) {\n var rootElementRef = React.useRef(null);\n var mergedRootRef = useMergedRefs(rootElementRef, forwardedRef);\n var setCalloutProps = props.calloutProps, \n // eslint-disable-next-line deprecation/deprecation\n targetElement = props.targetElement, onDismiss = props.onDismiss, \n // eslint-disable-next-line deprecation/deprecation\n _a = props.hasCloseButton, \n // eslint-disable-next-line deprecation/deprecation\n hasCloseButton = _a === void 0 ? props.hasCloseIcon : _a, isWide = props.isWide, styles = props.styles, theme = props.theme, target = props.target;\n var calloutProps = React.useMemo(function () { return (__assign(__assign(__assign({}, defaultCalloutProps), setCalloutProps), { theme: theme })); }, [setCalloutProps, theme]);\n var stylesProps = {\n theme: theme,\n isWide: isWide,\n calloutProps: calloutProps,\n hasCloseButton: hasCloseButton,\n };\n var classNames = getClassNames(styles, stylesProps);\n var calloutStyles = classNames.subComponentStyles\n ? classNames.subComponentStyles.callout\n : undefined;\n useComponentRef(props.componentRef, rootElementRef);\n return (React.createElement(Callout, __assign({ target: target || targetElement, onDismiss: onDismiss }, calloutProps, { className: classNames.root, styles: calloutStyles, hideOverflow: true }),\n React.createElement(\"div\", { ref: mergedRootRef },\n React.createElement(TeachingBubbleContent, __assign({}, props)))));\n});\nTeachingBubbleBase.displayName = COMPONENT_NAME;\n//# sourceMappingURL=TeachingBubble.base.js.map","import { styled } from '../../Utilities';\nimport { TeachingBubbleBase } from './TeachingBubble.base';\nimport { getStyles } from './TeachingBubble.styles';\nexport var TeachingBubble = styled(TeachingBubbleBase, getStyles, undefined, { scope: 'TeachingBubble' });\n//# sourceMappingURL=TeachingBubble.js.map","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { Label } from '../../Label';\nimport { Icon } from '../../Icon';\nimport { Async, classNamesFunction, DelayedRender, getId, getNativeProps, getWindow, initializeComponentRef, inputProperties, isControlled, isIE11, textAreaProperties, warn, warnControlledUsage, warnMutuallyExclusive, } from '../../Utilities';\nvar getClassNames = classNamesFunction();\nvar DEFAULT_STATE_VALUE = '';\nvar COMPONENT_NAME = 'TextField';\nvar REVEAL_ICON_NAME = 'RedEye';\nvar HIDE_ICON_NAME = 'Hide';\nvar TextFieldBase = /** @class */ (function (_super) {\n __extends(TextFieldBase, _super);\n function TextFieldBase(props) {\n var _this = _super.call(this, props) || this;\n _this._textElement = React.createRef();\n _this._onFocus = function (ev) {\n if (_this.props.onFocus) {\n _this.props.onFocus(ev);\n }\n _this.setState({ isFocused: true }, function () {\n if (_this.props.validateOnFocusIn) {\n _this._validate(_this.value);\n }\n });\n };\n _this._onBlur = function (ev) {\n if (_this.props.onBlur) {\n _this.props.onBlur(ev);\n }\n _this.setState({ isFocused: false }, function () {\n if (_this.props.validateOnFocusOut) {\n _this._validate(_this.value);\n }\n });\n };\n _this._onRenderLabel = function (props) {\n var label = props.label, required = props.required;\n // IProcessedStyleSet definition requires casting for what Label expects as its styles prop\n var labelStyles = _this._classNames.subComponentStyles\n ? _this._classNames.subComponentStyles.label\n : undefined;\n if (label) {\n return (React.createElement(Label, { required: required, htmlFor: _this._id, styles: labelStyles, disabled: props.disabled, id: _this._labelId }, props.label));\n }\n return null;\n };\n _this._onRenderDescription = function (props) {\n if (props.description) {\n return React.createElement(\"span\", { className: _this._classNames.description }, props.description);\n }\n return null;\n };\n _this._onRevealButtonClick = function (event) {\n _this.setState(function (prevState) { return ({ isRevealingPassword: !prevState.isRevealingPassword }); });\n };\n _this._onInputChange = function (event) {\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 var _a, _b;\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 var element = event.target;\n var value = element.value;\n // Ignore this event if any of the following are true:\n // - the value is undefined (in case one of the IE bugs comes back)\n // - it's a duplicate event (important since onInputChange is called twice per actual user event)\n // - it's the same as the previous value\n var previousValue = _getValue(_this.props, _this.state) || '';\n if (value === undefined || value === _this._lastChangeValue || value === previousValue) {\n _this._lastChangeValue = undefined;\n return;\n }\n _this._lastChangeValue = value;\n (_b = (_a = _this.props).onChange) === null || _b === void 0 ? void 0 : _b.call(_a, event, value);\n if (!_this._isControlled) {\n // ONLY if this is an uncontrolled component, update the displayed value.\n // (Controlled components must update the `value` prop from `onChange`.)\n _this.setState({ uncontrolledValue: value });\n }\n };\n initializeComponentRef(_this);\n _this._async = new Async(_this);\n if (process.env.NODE_ENV !== 'production') {\n warnMutuallyExclusive(COMPONENT_NAME, props, {\n errorMessage: 'onGetErrorMessage',\n });\n }\n _this._fallbackId = getId(COMPONENT_NAME);\n _this._descriptionId = getId(COMPONENT_NAME + 'Description');\n _this._labelId = getId(COMPONENT_NAME + 'Label');\n _this._warnControlledUsage();\n var _a = props.defaultValue, defaultValue = _a === void 0 ? DEFAULT_STATE_VALUE : _a;\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 _this._delayedValidate = _this._async.debounce(_this._validate, _this.props.deferredValidationTime);\n _this._lastValidation = 0;\n return _this;\n }\n Object.defineProperty(TextFieldBase.prototype, \"value\", {\n /**\n * Gets the current value of the text field.\n */\n get: function () {\n return _getValue(this.props, this.state);\n },\n enumerable: false,\n configurable: true\n });\n TextFieldBase.prototype.componentDidMount = function () {\n this._adjustInputHeight();\n if (this.props.validateOnLoad) {\n this._validate(this.value);\n }\n };\n TextFieldBase.prototype.componentWillUnmount = function () {\n this._async.dispose();\n };\n TextFieldBase.prototype.getSnapshotBeforeUpdate = function (prevProps, prevState) {\n return {\n selection: [this.selectionStart, this.selectionEnd],\n };\n };\n TextFieldBase.prototype.componentDidUpdate = function (prevProps, prevState, snapshot) {\n var props = this.props;\n var _a = (snapshot || {}).selection, selection = _a === void 0 ? [null, null] : _a;\n var start = selection[0], end = selection[1];\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 if (prevProps.value !== props.value) {\n // Only if the value in props changed, reset the record of the last value seen by a\n // change/input event (don't do this if the value in state changed, since at least in tests\n // the state update may happen before the second event in a series)\n this._lastChangeValue = undefined;\n }\n var prevValue = _getValue(prevProps, prevState);\n var value = this.value;\n if (prevValue !== value) {\n // Handle controlled/uncontrolled warnings and status\n this._warnControlledUsage(prevProps);\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 // Adjust height if needed based on new value\n this._adjustInputHeight();\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 TextFieldBase.prototype.render = function () {\n var _a = this.props, borderless = _a.borderless, className = _a.className, disabled = _a.disabled, invalid = _a.invalid, iconProps = _a.iconProps, inputClassName = _a.inputClassName, label = _a.label, multiline = _a.multiline, required = _a.required, underlined = _a.underlined, prefix = _a.prefix, resizable = _a.resizable, suffix = _a.suffix, theme = _a.theme, styles = _a.styles, autoAdjustHeight = _a.autoAdjustHeight, canRevealPassword = _a.canRevealPassword, revealPasswordAriaLabel = _a.revealPasswordAriaLabel, type = _a.type, _b = _a.onRenderPrefix, onRenderPrefix = _b === void 0 ? this._onRenderPrefix : _b, _c = _a.onRenderSuffix, onRenderSuffix = _c === void 0 ? this._onRenderSuffix : _c, _d = _a.onRenderLabel, onRenderLabel = _d === void 0 ? this._onRenderLabel : _d, _e = _a.onRenderDescription, onRenderDescription = _e === void 0 ? this._onRenderDescription : _e;\n var _f = this.state, isFocused = _f.isFocused, isRevealingPassword = _f.isRevealingPassword;\n var errorMessage = this._errorMessage;\n var isInvalid = typeof invalid === 'boolean' ? invalid : !!errorMessage;\n var hasRevealButton = !!canRevealPassword && type === 'password' && _browserNeedsRevealButton();\n var classNames = (this._classNames = getClassNames(styles, {\n theme: theme,\n className: className,\n disabled: disabled,\n focused: isFocused,\n required: required,\n multiline: multiline,\n hasLabel: !!label,\n hasErrorMessage: isInvalid,\n borderless: borderless,\n resizable: resizable,\n hasIcon: !!iconProps,\n underlined: underlined,\n inputClassName: inputClassName,\n autoAdjustHeight: autoAdjustHeight,\n hasRevealButton: hasRevealButton,\n }));\n return (\n // eslint-disable-next-line deprecation/deprecation\n React.createElement(\"div\", { ref: this.props.elementRef, className: classNames.root },\n React.createElement(\"div\", { className: classNames.wrapper },\n onRenderLabel(this.props, this._onRenderLabel),\n React.createElement(\"div\", { className: classNames.fieldGroup },\n (prefix !== undefined || this.props.onRenderPrefix) && (React.createElement(\"div\", { className: classNames.prefix }, onRenderPrefix(this.props, this._onRenderPrefix))),\n multiline ? this._renderTextArea() : this._renderInput(),\n iconProps && React.createElement(Icon, __assign({ className: classNames.icon }, iconProps)),\n hasRevealButton && (\n // Explicitly set type=\"button\" since the default button type within a form is \"submit\"\n React.createElement(\"button\", { \"aria-label\": revealPasswordAriaLabel, className: classNames.revealButton, onClick: this._onRevealButtonClick, \"aria-pressed\": !!isRevealingPassword, type: \"button\" },\n React.createElement(\"span\", { className: classNames.revealSpan },\n React.createElement(Icon, { className: classNames.revealIcon, iconName: isRevealingPassword ? HIDE_ICON_NAME : REVEAL_ICON_NAME })))),\n (suffix !== undefined || this.props.onRenderSuffix) && (React.createElement(\"div\", { className: classNames.suffix }, onRenderSuffix(this.props, this._onRenderSuffix))))),\n this._isDescriptionAvailable && (React.createElement(\"span\", { id: this._descriptionId },\n onRenderDescription(this.props, this._onRenderDescription),\n errorMessage && (React.createElement(\"div\", { role: \"alert\" },\n React.createElement(DelayedRender, null, this._renderErrorMessage())))))));\n };\n /**\n * Sets focus on the text field\n */\n TextFieldBase.prototype.focus = function () {\n if (this._textElement.current) {\n this._textElement.current.focus();\n }\n };\n /**\n * Blurs the text field.\n */\n TextFieldBase.prototype.blur = function () {\n if (this._textElement.current) {\n this._textElement.current.blur();\n }\n };\n /**\n * Selects the text field\n */\n TextFieldBase.prototype.select = function () {\n if (this._textElement.current) {\n this._textElement.current.select();\n }\n };\n /**\n * Sets the selection start of the text field to a specified value\n */\n TextFieldBase.prototype.setSelectionStart = function (value) {\n if (this._textElement.current) {\n this._textElement.current.selectionStart = value;\n }\n };\n /**\n * Sets the selection end of the text field to a specified value\n */\n TextFieldBase.prototype.setSelectionEnd = function (value) {\n if (this._textElement.current) {\n this._textElement.current.selectionEnd = value;\n }\n };\n Object.defineProperty(TextFieldBase.prototype, \"selectionStart\", {\n /**\n * Gets the selection start of the text field\n */\n get: function () {\n return this._textElement.current ? this._textElement.current.selectionStart : -1;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TextFieldBase.prototype, \"selectionEnd\", {\n /**\n * Gets the selection end of the text field\n */\n get: function () {\n return this._textElement.current ? this._textElement.current.selectionEnd : -1;\n },\n enumerable: false,\n configurable: true\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 TextFieldBase.prototype.setSelectionRange = function (start, end) {\n if (this._textElement.current) {\n this._textElement.current.setSelectionRange(start, end);\n }\n };\n TextFieldBase.prototype._warnControlledUsage = function (prevProps) {\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 if (this.props.value === null && !this._hasWarnedNullValue) {\n this._hasWarnedNullValue = true;\n warn(\"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 Object.defineProperty(TextFieldBase.prototype, \"_id\", {\n /** Returns `props.id` if available, or a fallback if not. */\n get: function () {\n return this.props.id || this._fallbackId;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TextFieldBase.prototype, \"_isControlled\", {\n get: function () {\n return isControlled(this.props, 'value');\n },\n enumerable: false,\n configurable: true\n });\n TextFieldBase.prototype._onRenderPrefix = function (props) {\n var prefix = props.prefix;\n return React.createElement(\"span\", { style: { paddingBottom: '1px' } }, prefix);\n };\n TextFieldBase.prototype._onRenderSuffix = function (props) {\n var suffix = props.suffix;\n return React.createElement(\"span\", { style: { paddingBottom: '1px' } }, suffix);\n };\n Object.defineProperty(TextFieldBase.prototype, \"_errorMessage\", {\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 get: function () {\n var _a = this.props.errorMessage, errorMessage = _a === void 0 ? this.state.errorMessage : _a;\n return errorMessage || '';\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Renders error message based on the type of the message.\n *\n * - If error message is string, it will render using the built in styles.\n * - If error message is an element, user has full control over how it's rendered.\n */\n TextFieldBase.prototype._renderErrorMessage = function () {\n var errorMessage = this._errorMessage;\n return errorMessage ? (typeof errorMessage === 'string' ? (React.createElement(\"p\", { className: this._classNames.errorMessage },\n React.createElement(\"span\", { \"data-automation-id\": \"error-message\" }, errorMessage))) : (React.createElement(\"div\", { className: this._classNames.errorMessage, \"data-automation-id\": \"error-message\" }, errorMessage))) : null;\n };\n Object.defineProperty(TextFieldBase.prototype, \"_isDescriptionAvailable\", {\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 get: function () {\n var props = this.props;\n return !!(props.onRenderDescription || props.description || this._errorMessage);\n },\n enumerable: false,\n configurable: true\n });\n TextFieldBase.prototype._renderTextArea = function () {\n var _a = this.props.invalid, invalid = _a === void 0 ? !!this._errorMessage : _a;\n var textAreaProps = getNativeProps(this.props, textAreaProperties, ['defaultValue']);\n var ariaLabelledBy = this.props['aria-labelledby'] || (this.props.label ? this._labelId : undefined);\n return (React.createElement(\"textarea\", __assign({ id: this._id }, textAreaProps, { ref: this._textElement, value: this.value || '', onInput: this._onInputChange, onChange: this._onInputChange, className: this._classNames.field, \"aria-labelledby\": ariaLabelledBy, \"aria-describedby\": this._isDescriptionAvailable ? this._descriptionId : this.props['aria-describedby'], \"aria-invalid\": invalid, \"aria-label\": this.props.ariaLabel, readOnly: this.props.readOnly, onFocus: this._onFocus, onBlur: this._onBlur })));\n };\n TextFieldBase.prototype._renderInput = function () {\n var _a = this.props, ariaLabel = _a.ariaLabel, _b = _a.invalid, invalid = _b === void 0 ? !!this._errorMessage : _b, _c = _a.type, type = _c === void 0 ? 'text' : _c, label = _a.label;\n var inputProps = __assign(__assign({ type: this.state.isRevealingPassword ? 'text' : type, id: this._id }, getNativeProps(this.props, inputProperties, ['defaultValue', 'type'])), { 'aria-labelledby': this.props['aria-labelledby'] || (label ? this._labelId : undefined), ref: this._textElement, value: this.value || '', onInput: this._onInputChange, onChange: this._onInputChange, className: this._classNames.field, 'aria-label': ariaLabel, 'aria-describedby': this._isDescriptionAvailable ? this._descriptionId : this.props['aria-describedby'], 'aria-invalid': invalid, onFocus: this._onFocus, onBlur: this._onBlur });\n var defaultRender = function (updatedInputProps) {\n return React.createElement(\"input\", __assign({}, updatedInputProps));\n };\n var onRenderInput = this.props.onRenderInput || defaultRender;\n return onRenderInput(inputProps, defaultRender);\n };\n TextFieldBase.prototype._validate = function (value) {\n var _this = this;\n // In case _validate is called again while validation promise is executing\n if (this._latestValidateValue === value && _shouldValidateAllChanges(this.props)) {\n return;\n }\n this._latestValidateValue = value;\n var onGetErrorMessage = this.props.onGetErrorMessage;\n var result = onGetErrorMessage && onGetErrorMessage(value || '');\n if (result !== undefined) {\n if (typeof result === 'string' || !('then' in result)) {\n this.setState({ errorMessage: result });\n this._notifyAfterValidate(value, result);\n }\n else {\n var currentValidation_1 = ++this._lastValidation;\n result.then(function (errorMessage) {\n if (currentValidation_1 === _this._lastValidation) {\n _this.setState({ errorMessage: errorMessage });\n }\n _this._notifyAfterValidate(value, errorMessage);\n });\n }\n }\n else {\n this._notifyAfterValidate(value, '');\n }\n };\n TextFieldBase.prototype._notifyAfterValidate = function (value, errorMessage) {\n if (value === this.value && this.props.onNotifyValidationResult) {\n this.props.onNotifyValidationResult(errorMessage, value);\n }\n };\n TextFieldBase.prototype._adjustInputHeight = function () {\n if (this._textElement.current && this.props.autoAdjustHeight && this.props.multiline) {\n var textField = this._textElement.current;\n textField.style.height = '';\n textField.style.height = textField.scrollHeight + 'px';\n }\n };\n TextFieldBase.defaultProps = {\n resizable: true,\n deferredValidationTime: 200,\n validateOnLoad: true,\n };\n return TextFieldBase;\n}(React.Component));\nexport { TextFieldBase };\n/** Get the value from the given state and props (converting from number to string if needed) */\nfunction _getValue(props, state) {\n var _a = props.value, value = _a === void 0 ? state.uncontrolledValue : _a;\n if (typeof value === 'number') {\n // not allowed per typings, but happens anyway\n return String(value);\n }\n return value;\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) {\n return !(props.validateOnFocusIn || props.validateOnFocusOut);\n}\n// Only calculate this once across all TextFields, since will stay the same\nvar __browserNeedsRevealButton;\nfunction _browserNeedsRevealButton() {\n if (typeof __browserNeedsRevealButton !== 'boolean') {\n var win = getWindow();\n if (win === null || win === void 0 ? void 0 : win.navigator) {\n // Edge, Chromium Edge\n var isEdge = /^Edg/.test(win.navigator.userAgent || '');\n __browserNeedsRevealButton = !(isIE11() || isEdge);\n }\n else {\n __browserNeedsRevealButton = true;\n }\n }\n return __browserNeedsRevealButton;\n}\n//# sourceMappingURL=TextField.base.js.map","import { __assign } from \"tslib\";\nimport { AnimationClassNames, getFocusStyle, getGlobalClassNames, getInputFocusStyle, HighContrastSelector, normalize, getPlaceholderStyles, IconFontSizes, getHighContrastNoAdjustStyle, } from '../../Styling';\nvar globalClassNames = {\n root: 'ms-TextField',\n description: 'ms-TextField-description',\n errorMessage: 'ms-TextField-errorMessage',\n field: 'ms-TextField-field',\n fieldGroup: 'ms-TextField-fieldGroup',\n prefix: 'ms-TextField-prefix',\n suffix: 'ms-TextField-suffix',\n wrapper: 'ms-TextField-wrapper',\n revealButton: 'ms-TextField-reveal',\n multiline: 'ms-TextField--multiline',\n borderless: 'ms-TextField--borderless',\n underlined: 'ms-TextField--underlined',\n unresizable: 'ms-TextField--unresizable',\n required: 'is-required',\n disabled: 'is-disabled',\n active: 'is-active',\n};\nfunction getLabelStyles(props) {\n var underlined = props.underlined, disabled = props.disabled, focused = props.focused, theme = props.theme;\n var palette = theme.palette, fonts = theme.fonts;\n return function () {\n var _a;\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: (_a = {},\n _a[HighContrastSelector] = {\n height: 31, // -1px to prevent jumpiness in HC with the increased border-width to 2px\n },\n _a),\n },\n ],\n });\n };\n}\nexport function getStyles(props) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;\n var theme = props.theme, className = props.className, disabled = props.disabled, focused = props.focused, required = props.required, multiline = props.multiline, hasLabel = props.hasLabel, borderless = props.borderless, underlined = props.underlined, hasIcon = props.hasIcon, resizable = props.resizable, hasErrorMessage = props.hasErrorMessage, inputClassName = props.inputClassName, autoAdjustHeight = props.autoAdjustHeight, hasRevealButton = props.hasRevealButton;\n var semanticColors = theme.semanticColors, effects = theme.effects, fonts = theme.fonts;\n var classNames = getGlobalClassNames(globalClassNames, theme);\n var fieldPrefixSuffix = {\n // Suffix/Prefix are not editable so the disabled slot perfectly fits.\n background: semanticColors.disabledBackground,\n color: !disabled ? semanticColors.inputPlaceholderText : semanticColors.disabledText,\n display: 'flex',\n alignItems: 'center',\n padding: '0 10px',\n lineHeight: 1,\n whiteSpace: 'nowrap',\n flexShrink: 0,\n selectors: (_a = {},\n _a[HighContrastSelector] = {\n background: 'Window',\n color: disabled ? 'GrayText' : 'WindowText',\n },\n _a),\n };\n // placeholder style constants\n var placeholderStyles = [\n {\n color: semanticColors.inputPlaceholderText,\n opacity: 1,\n selectors: (_b = {},\n _b[HighContrastSelector] = {\n color: 'GrayText',\n },\n _b),\n },\n ];\n var disabledPlaceholderStyles = {\n color: semanticColors.disabledText,\n selectors: (_c = {},\n _c[HighContrastSelector] = {\n color: 'GrayText',\n },\n _c),\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 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: (_d = {},\n _d[HighContrastSelector] = __assign({ borderColor: 'GrayText' }, getHighContrastNoAdjustStyle()),\n _d),\n },\n !disabled && {\n selectors: {\n ':hover': {\n borderBottomColor: !hasErrorMessage ? semanticColors.inputBorderHovered : semanticColors.errorText,\n selectors: (_e = {},\n _e[HighContrastSelector] = __assign({ borderBottomColor: 'Highlight' }, getHighContrastNoAdjustStyle()),\n _e),\n },\n },\n },\n focused && [\n {\n position: 'relative',\n },\n getInputFocusStyle(!hasErrorMessage ? semanticColors.inputFocusBorderAlt : semanticColors.errorText, 0, 'borderBottom'),\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 !focused &&\n !disabled && {\n selectors: {\n ':hover': {\n borderColor: semanticColors.inputBorderHovered,\n selectors: (_f = {},\n _f[HighContrastSelector] = __assign({ borderColor: 'Highlight' }, getHighContrastNoAdjustStyle()),\n _f),\n },\n },\n },\n focused &&\n !underlined &&\n getInputFocusStyle(!hasErrorMessage ? semanticColors.inputFocusBorderAlt : semanticColors.errorText, effects.roundedCorner2),\n disabled && {\n borderColor: semanticColors.disabledBackground,\n selectors: (_g = {},\n _g[HighContrastSelector] = __assign({ borderColor: 'GrayText' }, getHighContrastNoAdjustStyle()),\n _g),\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 hasErrorMessage &&\n !underlined && {\n borderColor: semanticColors.errorText,\n selectors: {\n '&:hover': {\n borderColor: semanticColors.errorText,\n },\n },\n },\n !hasLabel &&\n required && {\n selectors: (_h = {\n ':before': {\n content: \"'*'\",\n color: semanticColors.errorText,\n position: 'absolute',\n top: -5,\n right: -10,\n }\n },\n _h[HighContrastSelector] = {\n selectors: {\n ':before': {\n color: 'WindowText',\n right: -14, // moving the * 4 pixel to right to alleviate border clipping in HC mode.\n },\n },\n },\n _h),\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: (_j = {\n '&:active, &:focus, &:hover': { outline: 0 },\n '::-ms-clear': {\n display: 'none',\n }\n },\n _j[HighContrastSelector] = {\n background: 'Window',\n color: disabled ? 'GrayText' : 'WindowText',\n },\n _j),\n },\n getPlaceholderStyles(placeholderStyles),\n multiline &&\n !resizable && [\n classNames.unresizable,\n {\n resize: 'none',\n },\n ],\n multiline && {\n minHeight: 'inherit',\n lineHeight: 17,\n flexGrow: 1,\n paddingTop: 6,\n paddingBottom: 6,\n overflow: 'auto',\n width: '100%',\n },\n multiline &&\n autoAdjustHeight && {\n overflow: 'hidden',\n },\n hasIcon &&\n !hasRevealButton && {\n paddingRight: 24,\n },\n multiline &&\n hasIcon && {\n paddingRight: 40,\n },\n disabled && [\n {\n backgroundColor: semanticColors.disabledBackground,\n color: semanticColors.disabledText,\n borderColor: semanticColors.disabledBackground,\n },\n getPlaceholderStyles(disabledPlaceholderStyles),\n ],\n underlined && {\n textAlign: 'left',\n },\n focused &&\n !borderless && {\n selectors: (_k = {},\n _k[HighContrastSelector] = {\n paddingLeft: 11,\n paddingRight: 11,\n },\n _k),\n },\n focused &&\n multiline &&\n !borderless && {\n selectors: (_l = {},\n _l[HighContrastSelector] = {\n paddingTop: 4, // take into consideration the 2px increased border-width (not when borderless).\n },\n _l),\n },\n inputClassName,\n ],\n icon: [\n multiline && {\n paddingRight: 24,\n alignItems: 'flex-end',\n },\n {\n pointerEvents: 'none',\n position: 'absolute',\n bottom: 6,\n right: 8,\n top: 'auto',\n fontSize: IconFontSizes.medium,\n lineHeight: 18,\n },\n disabled && {\n color: semanticColors.disabledText,\n },\n ],\n description: [\n classNames.description,\n {\n color: semanticColors.bodySubtext,\n fontSize: fonts.xSmall.fontSize,\n },\n ],\n errorMessage: [\n classNames.errorMessage,\n AnimationClassNames.slideDownIn20,\n fonts.small,\n {\n color: semanticColors.errorText,\n margin: 0,\n paddingTop: 5,\n display: 'flex',\n alignItems: 'center',\n },\n ],\n prefix: [classNames.prefix, fieldPrefixSuffix],\n suffix: [classNames.suffix, fieldPrefixSuffix],\n revealButton: [\n classNames.revealButton,\n 'ms-Button',\n 'ms-Button--icon',\n getFocusStyle(theme, { inset: 1 }),\n {\n height: 30,\n width: 32,\n border: 'none',\n padding: '0px 4px',\n backgroundColor: 'transparent',\n color: semanticColors.link,\n selectors: {\n ':hover': {\n outline: 0,\n color: semanticColors.primaryButtonBackgroundHovered,\n backgroundColor: semanticColors.buttonBackgroundHovered,\n selectors: (_m = {},\n _m[HighContrastSelector] = {\n borderColor: 'Highlight',\n color: 'Highlight',\n },\n _m),\n },\n ':focus': { outline: 0 },\n },\n },\n hasIcon && {\n marginRight: 28,\n },\n ],\n revealSpan: {\n display: 'flex',\n height: '100%',\n alignItems: 'center',\n },\n revealIcon: {\n margin: '0px 4px',\n pointerEvents: 'none',\n bottom: 6,\n right: 8,\n top: 'auto',\n fontSize: IconFontSizes.medium,\n lineHeight: 18,\n },\n subComponentStyles: {\n label: getLabelStyles(props),\n },\n };\n}\n//# sourceMappingURL=TextField.styles.js.map","import { styled } from '../../Utilities';\nimport { TextFieldBase } from './TextField.base';\nimport { getStyles } from './TextField.styles';\nexport var TextField = styled(TextFieldBase, getStyles, undefined, {\n scope: 'TextField',\n});\n//# sourceMappingURL=TextField.js.map","export var DEFAULT_MASK_FORMAT_CHARS = {\n '9': /[0-9]/,\n a: /[a-zA-Z]/,\n '*': /[a-zA-Z0-9]/,\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(mask, formatChars) {\n if (formatChars === void 0) { formatChars = DEFAULT_MASK_FORMAT_CHARS; }\n if (!mask) {\n return [];\n }\n var maskCharData = [];\n // Count the escape characters in the mask string.\n var escapedChars = 0;\n for (var i = 0; i + escapedChars < mask.length; i++) {\n var maskChar = mask.charAt(i + escapedChars);\n if (maskChar === '\\\\') {\n escapedChars++;\n }\n else {\n // Check if the maskChar is a format character.\n var 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 return maskCharData;\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, maskCharData, maskChar) {\n var maskDisplay = mask;\n if (!maskDisplay) {\n return '';\n }\n // Remove all backslashes\n maskDisplay = maskDisplay.replace(/\\\\/g, '');\n // lastDisplayIndex is is used to truncate the string if necessary.\n var lastDisplayIndex = 0;\n if (maskCharData.length > 0) {\n lastDisplayIndex = maskCharData[0].displayIndex - 1;\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 (var _i = 0, maskCharData_1 = maskCharData; _i < maskCharData_1.length; _i++) {\n var charData = maskCharData_1[_i];\n var nextChar = ' ';\n if (charData.value) {\n nextChar = charData.value;\n if (charData.displayIndex > lastDisplayIndex) {\n lastDisplayIndex = charData.displayIndex;\n }\n }\n else {\n if (maskChar) {\n nextChar = maskChar;\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 // Cut off all mask characters after the last filled format value\n if (!maskChar) {\n maskDisplay = maskDisplay.slice(0, lastDisplayIndex + 1);\n }\n return maskDisplay;\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, index) {\n for (var 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 * 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, index) {\n for (var 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 * 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, selectionStart, selectionCount) {\n for (var 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 * 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, selectionStart) {\n for (var 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 * 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, selectionStart) {\n for (var 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 * 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, selectionStart, newString) {\n var stringIndex = 0;\n var nextIndex = 0;\n var isStringInserted = false;\n // Iterate through _maskCharData finding values with a displayIndex after the specified range start\n for (var 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 }\n else {\n nextIndex++;\n }\n break;\n }\n stringIndex++;\n }\n }\n }\n return isStringInserted ? nextIndex : selectionStart;\n}\n//# sourceMappingURL=inputMask.js.map","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { TextField } from '../TextField';\nimport { KeyCodes } from '../../../Utilities';\nimport { clearNext, clearPrev, clearRange, DEFAULT_MASK_FORMAT_CHARS, getLeftFormatIndex, getMaskDisplay, getRightFormatIndex, insertString, parseMask, } from './inputMask';\nimport { useConst } from '@fluentui/react-hooks';\nvar COMPONENT_NAME = 'MaskedTextField';\nvar useComponentRef = function (componentRef, internalState, textField) {\n React.useImperativeHandle(componentRef, function () { return ({\n get value() {\n var value = '';\n for (var i = 0; i < internalState.maskCharData.length; i++) {\n if (!internalState.maskCharData[i].value) {\n return undefined;\n }\n value += internalState.maskCharData[i].value;\n }\n return value;\n },\n get selectionStart() {\n return textField.current && textField.current.selectionStart !== null ? textField.current.selectionStart : -1;\n },\n get selectionEnd() {\n return textField.current && textField.current.selectionEnd ? textField.current.selectionEnd : -1;\n },\n focus: function () {\n textField.current && textField.current.focus();\n },\n blur: function () {\n textField.current && textField.current.blur();\n },\n select: function () {\n textField.current && textField.current.select();\n },\n setSelectionStart: function (value) {\n textField.current && textField.current.setSelectionStart(value);\n },\n setSelectionEnd: function (value) {\n textField.current && textField.current.setSelectionEnd(value);\n },\n setSelectionRange: function (start, end) {\n textField.current && textField.current.setSelectionRange(start, end);\n },\n }); }, [internalState, textField]);\n};\nexport var DEFAULT_MASK_CHAR = '_';\nexport var MaskedTextField = React.forwardRef(function (props, ref) {\n var textField = React.useRef(null);\n var componentRef = props.componentRef, onFocus = props.onFocus, onBlur = props.onBlur, onMouseDown = props.onMouseDown, onMouseUp = props.onMouseUp, onChange = props.onChange, onPaste = props.onPaste, onKeyDown = props.onKeyDown, mask = props.mask, _a = props.maskChar, maskChar = _a === void 0 ? DEFAULT_MASK_CHAR : _a, _b = props.maskFormat, maskFormat = _b === void 0 ? DEFAULT_MASK_FORMAT_CHARS : _b, value = props.value;\n var internalState = useConst(function () { return ({\n maskCharData: parseMask(mask, maskFormat),\n isFocused: false,\n moveCursorOnMouseUp: false,\n changeSelectionData: null,\n }); });\n /** The index into the rendered value of the first unfilled format character */\n var _c = React.useState(), maskCursorPosition = _c[0], setMaskCursorPosition = _c[1];\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 var _d = React.useState(function () {\n return getMaskDisplay(mask, internalState.maskCharData, maskChar);\n }), displayValue = _d[0], setDisplayValue = _d[1];\n var setValue = React.useCallback(function (newValue) {\n var valueIndex = 0;\n var charDataIndex = 0;\n while (valueIndex < newValue.length && charDataIndex < internalState.maskCharData.length) {\n // Test if the next character in the new value fits the next format character\n var testVal = newValue[valueIndex];\n if (internalState.maskCharData[charDataIndex].format.test(testVal)) {\n internalState.maskCharData[charDataIndex].value = testVal;\n charDataIndex++;\n }\n valueIndex++;\n }\n }, [internalState]);\n var handleFocus = React.useCallback(function (ev) {\n onFocus === null || onFocus === void 0 ? void 0 : onFocus(ev);\n internalState.isFocused = true;\n // Move the cursor position to the leftmost unfilled position\n for (var i = 0; i < internalState.maskCharData.length; i++) {\n if (!internalState.maskCharData[i].value) {\n setMaskCursorPosition(internalState.maskCharData[i].displayIndex);\n break;\n }\n }\n }, [internalState, onFocus]);\n var handleBlur = React.useCallback(function (ev) {\n onBlur === null || onBlur === void 0 ? void 0 : onBlur(ev);\n internalState.isFocused = false;\n internalState.moveCursorOnMouseUp = true;\n }, [internalState, onBlur]);\n var handleMouseDown = React.useCallback(function (ev) {\n onMouseDown === null || onMouseDown === void 0 ? void 0 : onMouseDown(ev);\n if (!internalState.isFocused) {\n internalState.moveCursorOnMouseUp = true;\n }\n }, [internalState, onMouseDown]);\n var handleMouseUp = React.useCallback(function (ev) {\n onMouseUp === null || onMouseUp === void 0 ? void 0 : onMouseUp(ev);\n // Move the cursor on mouseUp after focusing the textField\n if (internalState.moveCursorOnMouseUp) {\n internalState.moveCursorOnMouseUp = false;\n // Move the cursor position to the rightmost unfilled position\n for (var i = 0; i < internalState.maskCharData.length; i++) {\n if (!internalState.maskCharData[i].value) {\n setMaskCursorPosition(internalState.maskCharData[i].displayIndex);\n break;\n }\n }\n }\n }, [internalState, onMouseUp]);\n var handleInputChange = React.useCallback(function (ev, inputValue) {\n if (internalState.changeSelectionData === null && textField.current) {\n internalState.changeSelectionData = {\n changeType: 'default',\n selectionStart: textField.current.selectionStart !== null ? textField.current.selectionStart : -1,\n selectionEnd: textField.current.selectionEnd !== null ? textField.current.selectionEnd : -1,\n };\n }\n if (!internalState.changeSelectionData) {\n return;\n }\n // The initial value of cursorPos does not matter\n var cursorPos = 0;\n var _a = internalState.changeSelectionData, changeType = _a.changeType, selectionStart = _a.selectionStart, selectionEnd = _a.selectionEnd;\n if (changeType === 'textPasted') {\n var charsSelected = selectionEnd - selectionStart;\n var charCount = inputValue.length + charsSelected - displayValue.length;\n var startPos = selectionStart;\n var pastedString = inputValue.substr(startPos, charCount);\n // Clear any selected characters\n if (charsSelected) {\n internalState.maskCharData = clearRange(internalState.maskCharData, selectionStart, charsSelected);\n }\n cursorPos = insertString(internalState.maskCharData, startPos, pastedString);\n }\n else if (changeType === 'delete' || changeType === 'backspace') {\n // isDel is true If the characters are removed LTR, otherwise RTL\n var isDel = changeType === 'delete';\n var charCount = selectionEnd - selectionStart;\n if (charCount) {\n // charCount is > 0 if range was deleted\n internalState.maskCharData = clearRange(internalState.maskCharData, selectionStart, charCount);\n cursorPos = getRightFormatIndex(internalState.maskCharData, selectionStart);\n }\n else {\n // If charCount === 0, there was no selection and a single character was deleted\n if (isDel) {\n internalState.maskCharData = clearNext(internalState.maskCharData, selectionStart);\n cursorPos = getRightFormatIndex(internalState.maskCharData, selectionStart);\n }\n else {\n internalState.maskCharData = clearPrev(internalState.maskCharData, selectionStart);\n cursorPos = getLeftFormatIndex(internalState.maskCharData, selectionStart);\n }\n }\n }\n else if (inputValue.length > displayValue.length) {\n // This case is if the user added characters\n var charCount = inputValue.length - displayValue.length;\n var startPos = selectionEnd - charCount;\n var enteredString = inputValue.substr(startPos, charCount);\n cursorPos = insertString(internalState.maskCharData, startPos, enteredString);\n }\n else if (inputValue.length <= displayValue.length) {\n /**\n * This case is reached only if the user has selected a block of 1 or more\n * characters and input a character replacing the characters they've selected.\n */\n var charCount = 1;\n var selectCount = displayValue.length + charCount - inputValue.length;\n var startPos = selectionEnd - charCount;\n var enteredString = inputValue.substr(startPos, charCount);\n // Clear the selected range\n internalState.maskCharData = clearRange(internalState.maskCharData, startPos, selectCount);\n // Insert the printed character\n cursorPos = insertString(internalState.maskCharData, startPos, enteredString);\n }\n internalState.changeSelectionData = null;\n var newValue = getMaskDisplay(mask, internalState.maskCharData, maskChar);\n setDisplayValue(newValue);\n setMaskCursorPosition(cursorPos);\n // Perform onChange after input has been processed. Return value is expected to be the displayed text\n onChange === null || onChange === void 0 ? void 0 : onChange(ev, newValue);\n }, [displayValue.length, internalState, mask, maskChar, onChange]);\n var handleKeyDown = React.useCallback(function (ev) {\n onKeyDown === null || onKeyDown === void 0 ? void 0 : onKeyDown(ev);\n internalState.changeSelectionData = null;\n if (textField.current && textField.current.value) {\n var keyCode = ev.keyCode, ctrlKey = ev.ctrlKey, metaKey = ev.metaKey;\n // Ignore ctrl and meta keydown\n if (ctrlKey || metaKey) {\n return;\n }\n // On backspace or delete, store the selection and the keyCode\n if (keyCode === KeyCodes.backspace || keyCode === KeyCodes.del) {\n var selectionStart = ev.target.selectionStart;\n var selectionEnd = ev.target.selectionEnd;\n // Check if backspace or delete press is valid.\n if (!(keyCode === KeyCodes.backspace && selectionEnd && selectionEnd > 0) &&\n !(keyCode === KeyCodes.del && selectionStart !== null && selectionStart < textField.current.value.length)) {\n return;\n }\n internalState.changeSelectionData = {\n changeType: keyCode === KeyCodes.backspace ? 'backspace' : 'delete',\n selectionStart: selectionStart !== null ? selectionStart : -1,\n selectionEnd: selectionEnd !== null ? selectionEnd : -1,\n };\n }\n }\n }, [internalState, onKeyDown]);\n var handlePaste = React.useCallback(function (ev) {\n onPaste === null || onPaste === void 0 ? void 0 : onPaste(ev);\n var selectionStart = ev.target.selectionStart;\n var selectionEnd = ev.target.selectionEnd;\n // Store the paste selection range\n internalState.changeSelectionData = {\n changeType: 'textPasted',\n selectionStart: selectionStart !== null ? selectionStart : -1,\n selectionEnd: selectionEnd !== null ? selectionEnd : -1,\n };\n }, [internalState, onPaste]);\n // Updates the display value if mask or value props change.\n React.useEffect(function () {\n internalState.maskCharData = parseMask(mask, maskFormat);\n value !== undefined && setValue(value);\n setDisplayValue(getMaskDisplay(mask, internalState.maskCharData, maskChar));\n // eslint-disable-next-line react-hooks/exhaustive-deps -- Should only update when mask or value changes.\n }, [mask, value]);\n // Run before browser paint to avoid flickering from selection reset.\n // eslint-disable-next-line no-restricted-properties\n React.useLayoutEffect(function () {\n // Move the cursor to position before paint.\n if (maskCursorPosition !== undefined && textField.current) {\n textField.current.setSelectionRange(maskCursorPosition, maskCursorPosition);\n }\n }, [maskCursorPosition]);\n // Run after browser paint.\n React.useEffect(function () {\n // Move the cursor to the start of the mask format after values update.\n if (internalState.isFocused && maskCursorPosition !== undefined && textField.current) {\n textField.current.setSelectionRange(maskCursorPosition, maskCursorPosition);\n }\n });\n useComponentRef(componentRef, internalState, textField);\n return (React.createElement(TextField, __assign({}, props, { elementRef: ref, onFocus: handleFocus, onBlur: handleBlur, onMouseDown: handleMouseDown, onMouseUp: handleMouseUp, onChange: handleInputChange, onKeyDown: handleKeyDown, onPaste: handlePaste, value: displayValue || '', componentRef: textField })));\n});\nMaskedTextField.displayName = COMPONENT_NAME;\n//# sourceMappingURL=MaskedTextField.js.map","import { createComponent } from '@fluentui/foundation-legacy';\nimport { TextView } from './Text.view';\nimport { TextStyles as styles } from './Text.styles';\nexport var Text = createComponent(TextView, {\n displayName: 'Text',\n styles: styles,\n});\nexport default Text;\n//# sourceMappingURL=Text.js.map","export var TextStyles = function (props, theme) {\n var as = props.as, className = props.className, block = props.block, nowrap = props.nowrap, variant = props.variant;\n var fonts = theme.fonts, semanticColors = theme.semanticColors;\n var variantObject = fonts[variant || 'medium'];\n return {\n root: [\n variantObject,\n {\n color: variantObject.color || semanticColors.bodyText,\n display: block ? (as === 'td' ? 'table-cell' : 'block') : 'inline',\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 };\n};\n//# sourceMappingURL=Text.styles.js.map","import { __assign, __rest } from \"tslib\";\n/** @jsxRuntime classic */\n/** @jsx withSlots */\nimport { withSlots, getSlots } from '@fluentui/foundation-legacy';\nimport { getNativeProps, htmlElementProperties } from '../../Utilities';\nexport var TextView = function (props) {\n // eslint-disable-next-line eqeqeq\n if (props.children == null) {\n return null;\n }\n var block = props.block, className = props.className, _a = props.as, RootType = _a === void 0 ? 'span' : _a, variant = props.variant, nowrap = props.nowrap, rest = __rest(props, [\"block\", \"className\", \"as\", \"variant\", \"nowrap\"]);\n var Slots = getSlots(props, {\n root: RootType,\n });\n return withSlots(Slots.root, __assign({}, getNativeProps(rest, htmlElementProperties)));\n};\n//# sourceMappingURL=Text.view.js.map","import { Shade } from '../../utilities/color/shades';\nimport { getColorFromString } from '../../utilities/color/getColorFromString';\nimport { mapEnumByName } from '../../Utilities';\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/* 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 var BaseSlots;\n(function (BaseSlots) {\n BaseSlots[BaseSlots[\"primaryColor\"] = 0] = \"primaryColor\";\n BaseSlots[BaseSlots[\"backgroundColor\"] = 1] = \"backgroundColor\";\n BaseSlots[BaseSlots[\"foregroundColor\"] = 2] = \"foregroundColor\";\n})(BaseSlots || (BaseSlots = {}));\n/* The original Fabric palette, only for back-compat. */\nexport var FabricSlots;\n(function (FabricSlots) {\n FabricSlots[FabricSlots[\"themePrimary\"] = 0] = \"themePrimary\";\n FabricSlots[FabricSlots[\"themeLighterAlt\"] = 1] = \"themeLighterAlt\";\n FabricSlots[FabricSlots[\"themeLighter\"] = 2] = \"themeLighter\";\n FabricSlots[FabricSlots[\"themeLight\"] = 3] = \"themeLight\";\n FabricSlots[FabricSlots[\"themeTertiary\"] = 4] = \"themeTertiary\";\n FabricSlots[FabricSlots[\"themeSecondary\"] = 5] = \"themeSecondary\";\n FabricSlots[FabricSlots[\"themeDarkAlt\"] = 6] = \"themeDarkAlt\";\n FabricSlots[FabricSlots[\"themeDark\"] = 7] = \"themeDark\";\n FabricSlots[FabricSlots[\"themeDarker\"] = 8] = \"themeDarker\";\n FabricSlots[FabricSlots[\"neutralLighterAlt\"] = 9] = \"neutralLighterAlt\";\n FabricSlots[FabricSlots[\"neutralLighter\"] = 10] = \"neutralLighter\";\n FabricSlots[FabricSlots[\"neutralLight\"] = 11] = \"neutralLight\";\n FabricSlots[FabricSlots[\"neutralQuaternaryAlt\"] = 12] = \"neutralQuaternaryAlt\";\n FabricSlots[FabricSlots[\"neutralQuaternary\"] = 13] = \"neutralQuaternary\";\n FabricSlots[FabricSlots[\"neutralTertiaryAlt\"] = 14] = \"neutralTertiaryAlt\";\n FabricSlots[FabricSlots[\"neutralTertiary\"] = 15] = \"neutralTertiary\";\n // deprecated: neutralSecondaryAlt, // BaseSlots.foregroundColor, Shade[Shade.Shade4]);\n FabricSlots[FabricSlots[\"neutralSecondary\"] = 16] = \"neutralSecondary\";\n FabricSlots[FabricSlots[\"neutralPrimaryAlt\"] = 17] = \"neutralPrimaryAlt\";\n FabricSlots[FabricSlots[\"neutralPrimary\"] = 18] = \"neutralPrimary\";\n FabricSlots[FabricSlots[\"neutralDark\"] = 19] = \"neutralDark\";\n FabricSlots[FabricSlots[\"black\"] = 20] = \"black\";\n FabricSlots[FabricSlots[\"white\"] = 21] = \"white\";\n})(FabricSlots || (FabricSlots = {}));\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 var SemanticColorSlots;\n(function (SemanticColorSlots) {\n SemanticColorSlots[SemanticColorSlots[\"bodyBackground\"] = 0] = \"bodyBackground\";\n SemanticColorSlots[SemanticColorSlots[\"bodyText\"] = 1] = \"bodyText\";\n SemanticColorSlots[SemanticColorSlots[\"disabledBackground\"] = 2] = \"disabledBackground\";\n SemanticColorSlots[SemanticColorSlots[\"disabledText\"] = 3] = \"disabledText\";\n})(SemanticColorSlots || (SemanticColorSlots = {}));\nexport function themeRulesStandardCreator() {\n var slotRules = {};\n /*** BASE COLORS and their SHADES */\n // iterate through each base slot and make the SlotRules for those\n mapEnumByName(BaseSlots, function (baseSlot) {\n // first make the SlotRule for the unshaded base Color\n slotRules[baseSlot] = {\n name: baseSlot,\n isCustomized: true,\n dependentRules: [],\n };\n // then make a rule for each shade of this base color, but skip unshaded\n mapEnumByName(Shade, function (shadeName, shadeValue) {\n if (shadeName === Shade[Shade.Unshaded]) {\n return;\n }\n var inherits = slotRules[baseSlot];\n var 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 return undefined;\n });\n return undefined;\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 function _makeFabricSlotRule(slotName, inheritedBase, inheritedShade, isBackgroundShade) {\n if (isBackgroundShade === void 0) { isBackgroundShade = false; }\n var inherits = slotRules[BaseSlots[inheritedBase]];\n var 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 _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 _makeFabricSlotRule(FabricSlots[FabricSlots.black], BaseSlots.foregroundColor, Shade.Shade8);\n _makeFabricSlotRule(FabricSlots[FabricSlots.white], BaseSlots.backgroundColor, Shade.Unshaded, true);\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 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 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 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 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 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 return slotRules;\n}\n//# sourceMappingURL=ThemeRulesStandard.js.map","import { getColorFromString } from '../../utilities/color/getColorFromString';\nimport { isValidShade, getShade, getBackgroundShade } from '../../utilities/color/shades';\nimport { format } from '../../Utilities';\nvar ThemeGenerator = /** @class */ (function () {\n function ThemeGenerator() {\n }\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 ThemeGenerator.setSlot = function (rule, color, isInverted, isCustomization, overwriteCustomColor) {\n if (isInverted === void 0) { isInverted = false; }\n if (isCustomization === void 0) { isCustomization = false; }\n if (overwriteCustomColor === void 0) { overwriteCustomColor = true; }\n if (!rule.color && rule.value) {\n // not a color rule\n return;\n }\n if (overwriteCustomColor) {\n var colorAsIColor = void 0;\n if (typeof color === 'string') {\n colorAsIColor = getColorFromString(color); // the ! is a lie here but we'll verify it in the next line\n if (!colorAsIColor) {\n throw new Error('color is invalid in setSlot(): ' + color);\n }\n }\n else {\n colorAsIColor = color;\n }\n ThemeGenerator._setSlot(rule, colorAsIColor, isInverted, isCustomization, overwriteCustomColor);\n }\n else if (rule.color) {\n ThemeGenerator._setSlot(rule, rule.color, isInverted, isCustomization, overwriteCustomColor);\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 ThemeGenerator.insureSlots = function (slotRules, isInverted) {\n // Get all the \"root\" rules, the ones which don't inherit. Then \"set\" them to trigger updating dependent slots.\n for (var ruleName in slotRules) {\n if (slotRules.hasOwnProperty(ruleName)) {\n var rule = slotRules[ruleName];\n if (!rule.inherits && !rule.value) {\n if (!rule.color) {\n throw new Error('A color slot rule that does not inherit must provide its own color.');\n }\n ThemeGenerator._setSlot(rule, rule.color, isInverted, false, false);\n }\n }\n }\n };\n /**\n * 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 ThemeGenerator.getThemeAsJson = function (slotRules) {\n var theme = {};\n for (var ruleName in slotRules) {\n if (slotRules.hasOwnProperty(ruleName)) {\n var rule = slotRules[ruleName];\n theme[rule.name] = rule.color ? rule.color.str : rule.value || '';\n }\n }\n return theme;\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 ThemeGenerator.getThemeAsCode = function (slotRules) {\n var output = 'loadTheme({\\n palette: {\\n';\n return ThemeGenerator._makeRemainingCode(output, slotRules);\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 ThemeGenerator.getThemeAsCodeWithCreateTheme = function (slotRules) {\n var output = 'const myTheme = createTheme({\\n palette: {\\n';\n return ThemeGenerator._makeRemainingCode(output, slotRules);\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 ThemeGenerator.getThemeAsSass = function (slotRules) {\n var sassVarTemplate = '${0}Color: \"[theme: {1}, default: {2}]\";\\n';\n var output = '';\n for (var ruleName in slotRules) {\n if (slotRules.hasOwnProperty(ruleName)) {\n var rule = slotRules[ruleName];\n var camelCasedName = rule.name.charAt(0).toLowerCase() + rule.name.slice(1);\n output += format(sassVarTemplate, camelCasedName, camelCasedName, rule.color ? rule.color.str : rule.value || '');\n }\n }\n return output;\n };\n /**\n * Gets the theme formatted for PowerShell scripts\n * ```\n * @{\n * \"tokenName\" = \"#f00f00\";\n * \"tokenName2\" = \"#ba2ba2\";\n * ...\n * }\n * ```\n */\n ThemeGenerator.getThemeForPowerShell = function (slotRules) {\n var psVarTemplate = '\"{0}\" = \"{1}\";\\n';\n var output = '';\n for (var ruleName in slotRules) {\n if (slotRules.hasOwnProperty(ruleName)) {\n var rule = slotRules[ruleName];\n if (rule.value) {\n // skip this one, it's not a color\n continue;\n }\n var camelCasedName = rule.name.charAt(0).toLowerCase() + rule.name.slice(1);\n var 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 * 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 ThemeGenerator._setSlot = function (rule, color, isInverted, isCustomization, overwriteCustomColor) {\n if (overwriteCustomColor === void 0) { overwriteCustomColor = true; }\n if (!rule.color && rule.value) {\n // not a color rule\n return;\n }\n if (overwriteCustomColor || !rule.color || !rule.isCustomized || !rule.inherits) {\n // set the rule's color under these conditions\n if ((overwriteCustomColor || !rule.isCustomized) &&\n !isCustomization &&\n rule.inherits &&\n isValidShade(rule.asShade)) {\n // it's inheriting by shade\n if (rule.isBackgroundShade) {\n rule.color = getBackgroundShade(color, rule.asShade, isInverted);\n }\n else {\n rule.color = getShade(color, rule.asShade, isInverted);\n }\n rule.isCustomized = false;\n }\n else {\n rule.color = color;\n rule.isCustomized = true;\n }\n // then update dependent colors\n for (var _i = 0, _a = rule.dependentRules; _i < _a.length; _i++) {\n var ruleToUpdate = _a[_i];\n ThemeGenerator._setSlot(ruleToUpdate, rule.color, isInverted, false, overwriteCustomColor);\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 ThemeGenerator._makeRemainingCode = function (output, slotRules) {\n var attributeTemplate = \" {0}: '{1}',\\n\";\n for (var ruleName in slotRules) {\n if (slotRules.hasOwnProperty(ruleName)) {\n var rule = slotRules[ruleName];\n var camelCasedName = rule.name.charAt(0).toLowerCase() + rule.name.slice(1);\n var outputColor = rule.color ? '#' + rule.color.hex : rule.value || '';\n output += format(attributeTemplate, camelCasedName, outputColor);\n }\n }\n output += ' }});';\n return output;\n };\n return ThemeGenerator;\n}());\nexport { ThemeGenerator };\n//# sourceMappingURL=ThemeGenerator.js.map","import { __assign, __rest } from \"tslib\";\nimport * as React from 'react';\nimport { KeyCodes } from '../../Utilities';\nimport { TimeConstants, addMinutes, formatTimeString, ceilMinuteToIncrement } from '@fluentui/date-time-utilities';\nimport { ComboBox } from '../../ComboBox';\nvar REGEX_SHOW_SECONDS_HOUR_12 = /^((1[0-2]|0?[1-9]):([0-5][0-9]):([0-5][0-9])\\s([AaPp][Mm]))$/;\nvar REGEX_HIDE_SECONDS_HOUR_12 = /^((1[0-2]|0?[1-9]):[0-5][0-9]\\s([AaPp][Mm]))$/;\nvar REGEX_SHOW_SECONDS_HOUR_24 = /^([0-1]?[0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/;\nvar REGEX_HIDE_SECONDS_HOUR_24 = /^([0-1]?[0-9]|2[0-3]):[0-5][0-9]$/;\nvar TIME_LOWER_BOUND = 0;\nvar TIME_UPPER_BOUND = 23;\nvar getDefaultStrings = function (useHour12, showSeconds) {\n var hourUnits = useHour12 ? '12-hour' : '24-hour';\n var timeFormat = \"hh:mm\" + (showSeconds ? ':ss' : '') + (useHour12 ? ' AP' : '');\n var errorMessageToDisplay = \"Enter a valid time in the \" + hourUnits + \" format: \" + timeFormat;\n return {\n invalidInputErrorMessage: errorMessageToDisplay,\n };\n};\nexport var TimePicker = function (_a) {\n var label = _a.label, _b = _a.increments, increments = _b === void 0 ? 30 : _b, _c = _a.showSeconds, showSeconds = _c === void 0 ? false : _c, _d = _a.allowFreeform, allowFreeform = _d === void 0 ? true : _d, _e = _a.useHour12, useHour12 = _e === void 0 ? false : _e, timeRange = _a.timeRange, _f = _a.strings, strings = _f === void 0 ? getDefaultStrings(useHour12, showSeconds) : _f, onFormatDate = _a.onFormatDate, onValidateUserInput = _a.onValidateUserInput, onChange = _a.onChange, rest = __rest(_a, [\"label\", \"increments\", \"showSeconds\", \"allowFreeform\", \"useHour12\", \"timeRange\", \"strings\", \"onFormatDate\", \"onValidateUserInput\", \"onChange\"]);\n var _g = React.useState(''), userText = _g[0], setUserText = _g[1];\n var _h = React.useState(''), errorMessage = _h[0], setErrorMessage = _h[1];\n var optionsCount = getDropdownOptionsCount(increments, timeRange);\n var timePickerOptions = React.useMemo(function () {\n var optionsList = Array(optionsCount);\n for (var i = 0; i < optionsCount; i++) {\n optionsList[i] = 0;\n }\n var defaultTime = generateDefaultTime(increments, timeRange);\n return optionsList.map(function (_, index) {\n var option = addMinutes(defaultTime, increments * index);\n option.setSeconds(0);\n var optionText = onFormatDate ? onFormatDate(option) : formatTimeString(option, showSeconds, useHour12);\n return {\n key: optionText,\n text: optionText,\n };\n });\n }, [timeRange, increments, optionsCount, showSeconds, onFormatDate, useHour12]);\n var _j = React.useState(timePickerOptions[0].key), selectedKey = _j[0], setSelectedKey = _j[1];\n var onInputChange = React.useCallback(function (event, option, index, value) {\n if (onChange) {\n onChange(event, option, index, value);\n }\n var validateUserInput = function (userInput) {\n var errorMessageToDisplay = '';\n var regex;\n if (useHour12) {\n regex = showSeconds ? REGEX_SHOW_SECONDS_HOUR_12 : REGEX_HIDE_SECONDS_HOUR_12;\n }\n else {\n regex = showSeconds ? REGEX_SHOW_SECONDS_HOUR_24 : REGEX_HIDE_SECONDS_HOUR_24;\n }\n if (!regex.test(userInput)) {\n errorMessageToDisplay = strings.invalidInputErrorMessage;\n }\n return errorMessageToDisplay;\n };\n var key = option === null || option === void 0 ? void 0 : option.key;\n var updatedUserText = '';\n var errorMessageToDisplay = '';\n if (value) {\n if (allowFreeform && !option) {\n if (!onFormatDate) {\n // Validate only if user did not add onFormatDate\n errorMessageToDisplay = validateUserInput(value);\n }\n else {\n // Use user provided validation if onFormatDate is provided\n if (onValidateUserInput) {\n errorMessageToDisplay = onValidateUserInput(value);\n }\n }\n }\n updatedUserText = value;\n }\n else if (option) {\n updatedUserText = option.text;\n }\n setErrorMessage(errorMessageToDisplay);\n setUserText(updatedUserText);\n setSelectedKey(key);\n }, [\n allowFreeform,\n onFormatDate,\n onValidateUserInput,\n showSeconds,\n useHour12,\n onChange,\n strings.invalidInputErrorMessage,\n ]);\n var evaluatePressedKey = function (event) {\n if (!onFormatDate &&\n // Only permit input of digits, space, colon, A/P/M characters\n !((event.charCode >= KeyCodes.zero && event.charCode <= KeyCodes.colon) ||\n event.charCode === KeyCodes.space ||\n event.charCode === KeyCodes.a ||\n event.charCode === KeyCodes.m ||\n event.charCode === KeyCodes.p)) {\n event.preventDefault();\n }\n };\n return (React.createElement(ComboBox, __assign({}, rest, { allowFreeform: allowFreeform, selectedKey: selectedKey, label: label, errorMessage: errorMessage, options: timePickerOptions, onChange: onInputChange, text: userText, \n //eslint-disable-next-line\n onKeyPress: evaluatePressedKey })));\n};\nTimePicker.displayName = 'TimePicker';\nvar clampTimeRange = function (timeRange) {\n return {\n start: Math.min(Math.max(timeRange.start, TIME_LOWER_BOUND), TIME_UPPER_BOUND),\n end: Math.min(Math.max(timeRange.end, TIME_LOWER_BOUND), TIME_UPPER_BOUND),\n };\n};\nvar generateDefaultTime = function (increments, timeRange) {\n var newDefaultTime = new Date();\n if (timeRange) {\n var clampedTimeRange = clampTimeRange(timeRange);\n newDefaultTime.setHours(clampedTimeRange.start);\n }\n return ceilMinuteToIncrement(newDefaultTime, increments);\n};\nvar getDropdownOptionsCount = function (increments, timeRange) {\n var hoursInRange = TimeConstants.HoursInOneDay;\n if (timeRange) {\n var clampedTimeRange = clampTimeRange(timeRange);\n if (clampedTimeRange.start > clampedTimeRange.end) {\n hoursInRange = TimeConstants.HoursInOneDay - timeRange.start - timeRange.end;\n }\n else if (timeRange.end > timeRange.start) {\n hoursInRange = timeRange.end - timeRange.start;\n }\n }\n return Math.floor((TimeConstants.MinutesInOneHour * hoursInRange) / increments);\n};\n//# sourceMappingURL=TimePicker.js.map","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { useControllableValue, useId, useWarnings } from '@fluentui/react-hooks';\nimport { classNamesFunction, getNativeProps, inputProperties, useFocusRects } from '@fluentui/utilities';\nimport { Label } from '../Label/Label';\nvar getClassNames = classNamesFunction();\nvar COMPONENT_NAME = 'Toggle';\nexport var ToggleBase = React.forwardRef(function (props, forwardedRef) {\n var _a = props.as, RootType = _a === void 0 ? 'div' : _a, ariaLabel = props.ariaLabel, controlledChecked = props.checked, className = props.className, _b = props.defaultChecked, defaultChecked = _b === void 0 ? false : _b, disabled = props.disabled, inlineLabel = props.inlineLabel, label = props.label, \n // eslint-disable-next-line deprecation/deprecation\n offAriaLabel = props.offAriaLabel, offText = props.offText, \n // eslint-disable-next-line deprecation/deprecation\n onAriaLabel = props.onAriaLabel, onChange = props.onChange, \n // eslint-disable-next-line deprecation/deprecation\n onChanged = props.onChanged, onToggleClick = props.onClick, onText = props.onText, role = props.role, styles = props.styles, theme = props.theme;\n var _c = useControllableValue(controlledChecked, defaultChecked, React.useCallback(function (ev, isChecked) {\n onChange === null || onChange === void 0 ? void 0 : onChange(ev, isChecked);\n onChanged === null || onChanged === void 0 ? void 0 : onChanged(isChecked);\n }, [onChange, onChanged])), checked = _c[0], setChecked = _c[1];\n var classNames = getClassNames(styles, {\n theme: theme,\n className: className,\n disabled: disabled,\n checked: checked,\n inlineLabel: inlineLabel,\n onOffMissing: !onText && !offText,\n });\n var badAriaLabel = checked ? onAriaLabel : offAriaLabel;\n var id = useId(COMPONENT_NAME, props.id);\n var labelId = id + \"-label\";\n var stateTextId = id + \"-stateText\";\n var stateText = checked ? onText : offText;\n var toggleNativeProps = getNativeProps(props, inputProperties, [\n 'defaultChecked',\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, if existent\n var labelledById = undefined;\n if (!ariaLabel && !badAriaLabel) {\n if (label) {\n labelledById = labelId;\n }\n if (stateText && !labelledById) {\n labelledById = stateTextId;\n }\n }\n var toggleButton = React.useRef(null);\n useFocusRects(toggleButton);\n useComponentRef(props, checked, toggleButton);\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks -- build-time conditional\n useWarnings({\n name: COMPONENT_NAME,\n props: props,\n deprecations: {\n offAriaLabel: undefined,\n onAriaLabel: 'ariaLabel',\n onChanged: 'onChange',\n },\n mutuallyExclusive: { checked: 'defaultChecked' },\n });\n }\n var onClick = function (ev) {\n if (!disabled) {\n setChecked(!checked, ev);\n if (onToggleClick) {\n onToggleClick(ev);\n }\n }\n };\n var slotProps = {\n root: {\n className: classNames.root,\n hidden: toggleNativeProps.hidden,\n },\n label: {\n children: label,\n className: classNames.label,\n htmlFor: id,\n id: labelId,\n },\n container: {\n className: classNames.container,\n },\n pill: __assign(__assign({}, toggleNativeProps), { 'aria-disabled': disabled, 'aria-checked': checked, 'aria-label': ariaLabel ? ariaLabel : badAriaLabel, 'aria-labelledby': labelledById, className: classNames.pill, 'data-is-focusable': true, 'data-ktp-target': true, disabled: disabled, id: id, onClick: onClick, ref: toggleButton, role: role ? role : 'switch', type: 'button' }),\n thumb: {\n className: classNames.thumb,\n },\n stateText: {\n children: stateText,\n className: classNames.text,\n htmlFor: id,\n id: stateTextId,\n },\n };\n return (React.createElement(RootType, __assign({ ref: forwardedRef }, slotProps.root),\n label && React.createElement(Label, __assign({}, slotProps.label)),\n React.createElement(\"div\", __assign({}, slotProps.container),\n React.createElement(\"button\", __assign({}, slotProps.pill),\n React.createElement(\"span\", __assign({}, slotProps.thumb))),\n ((checked && onText) || offText) && React.createElement(Label, __assign({}, slotProps.stateText)))));\n});\nToggleBase.displayName = COMPONENT_NAME + 'Base';\nvar useComponentRef = function (props, isChecked, toggleButtonRef) {\n React.useImperativeHandle(props.componentRef, function () { return ({\n get checked() {\n return !!isChecked;\n },\n focus: function () {\n if (toggleButtonRef.current) {\n toggleButtonRef.current.focus();\n }\n },\n }); }, [isChecked, toggleButtonRef]);\n};\n//# sourceMappingURL=Toggle.base.js.map","import { styled } from '@fluentui/utilities';\nimport { ToggleBase } from './Toggle.base';\nimport { getStyles } from './Toggle.styles';\nexport var Toggle = styled(ToggleBase, getStyles, undefined, {\n scope: 'Toggle',\n});\n//# sourceMappingURL=Toggle.js.map","import { __assign } from \"tslib\";\nimport { HighContrastSelector, getFocusStyle, FontWeights, getHighContrastNoAdjustStyle, } from '@fluentui/style-utilities';\nvar DEFAULT_PILL_WIDTH = 40;\nvar DEFAULT_PILL_HEIGHT = 20;\nvar DEFAULT_THUMB_SIZE = 12;\nexport var getStyles = function (props) {\n var _a, _b, _c, _d, _e, _f, _g;\n var theme = props.theme, className = props.className, disabled = props.disabled, checked = props.checked, inlineLabel = props.inlineLabel, onOffMissing = props.onOffMissing;\n var semanticColors = theme.semanticColors, palette = theme.palette;\n // Tokens\n var pillUncheckedBackground = semanticColors.bodyBackground;\n var pillCheckedBackground = semanticColors.inputBackgroundChecked;\n var pillCheckedHoveredBackground = semanticColors.inputBackgroundCheckedHovered;\n var thumbUncheckedHoveredBackground = palette.neutralDark;\n var pillCheckedDisabledBackground = semanticColors.disabledBodySubtext;\n var thumbBackground = semanticColors.smallInputBorder;\n var thumbCheckedBackground = semanticColors.inputForegroundChecked;\n var thumbDisabledBackground = semanticColors.disabledBodySubtext;\n var thumbCheckedDisabledBackground = semanticColors.disabledBackground;\n var pillBorderColor = semanticColors.smallInputBorder;\n var pillBorderHoveredColor = semanticColors.inputBorderHovered;\n var pillBorderDisabledColor = semanticColors.disabledBodySubtext;\n var textDisabledColor = semanticColors.disabledText;\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 label: [\n 'ms-Toggle-label',\n { display: 'inline-block' },\n disabled && {\n color: textDisabledColor,\n selectors: (_a = {},\n _a[HighContrastSelector] = {\n color: 'GrayText',\n },\n _a),\n },\n inlineLabel &&\n !onOffMissing && {\n marginRight: 16,\n },\n onOffMissing &&\n inlineLabel && {\n order: 1,\n marginLeft: 16,\n },\n inlineLabel && { wordBreak: 'break-word' },\n ],\n container: [\n 'ms-Toggle-innerContainer',\n {\n display: 'flex',\n position: 'relative',\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: (_b = {},\n _b[HighContrastSelector] = {\n borderColor: 'Highlight',\n },\n _b),\n },\n ],\n },\n },\n checked && [\n {\n background: pillCheckedBackground,\n borderColor: 'transparent',\n justifyContent: 'flex-end',\n },\n {\n selectors: (_c = {\n ':hover': [\n {\n backgroundColor: pillCheckedHoveredBackground,\n borderColor: 'transparent',\n selectors: (_d = {},\n _d[HighContrastSelector] = {\n backgroundColor: 'Highlight',\n },\n _d),\n },\n ]\n },\n _c[HighContrastSelector] = __assign({ backgroundColor: 'Highlight' }, getHighContrastNoAdjustStyle()),\n _c),\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: (_e = {},\n _e[HighContrastSelector] = {\n borderColor: 'Highlight',\n },\n _e),\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: DEFAULT_THUMB_SIZE / 2,\n borderStyle: 'solid',\n boxSizing: 'border-box',\n },\n !disabled &&\n checked && [\n {\n backgroundColor: thumbCheckedBackground,\n selectors: (_f = {},\n _f[HighContrastSelector] = {\n backgroundColor: 'Window',\n borderColor: 'Window',\n },\n _f),\n },\n ],\n disabled && [\n !checked && [\n {\n backgroundColor: thumbDisabledBackground,\n },\n ],\n checked && [\n {\n backgroundColor: thumbCheckedDisabledBackground,\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: (_g = {},\n _g[HighContrastSelector] = {\n color: 'GrayText',\n },\n _g),\n },\n },\n },\n ],\n };\n};\n//# sourceMappingURL=Toggle.styles.js.map","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { classNamesFunction, divProperties, getNativeProps } from '../../Utilities';\nimport { Callout } from '../../Callout';\nimport { DirectionalHint } from '../../common/DirectionalHint';\nvar getClassNames = classNamesFunction();\nvar TooltipBase = /** @class */ (function (_super) {\n __extends(TooltipBase, _super);\n function TooltipBase() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._onRenderContent = function (props) {\n if (typeof props.content === 'string') {\n return React.createElement(\"p\", { className: _this._classNames.subText }, props.content);\n }\n else {\n return React.createElement(\"div\", { className: _this._classNames.subText }, props.content);\n }\n };\n return _this;\n }\n TooltipBase.prototype.render = function () {\n var _a = this.props, className = _a.className, calloutProps = _a.calloutProps, directionalHint = _a.directionalHint, directionalHintForRTL = _a.directionalHintForRTL, styles = _a.styles, id = _a.id, maxWidth = _a.maxWidth, _b = _a.onRenderContent, onRenderContent = _b === void 0 ? this._onRenderContent : _b, targetElement = _a.targetElement, theme = _a.theme;\n this._classNames = getClassNames(styles, {\n theme: theme,\n className: className || (calloutProps && calloutProps.className),\n beakWidth: calloutProps && calloutProps.beakWidth,\n gapSpace: calloutProps && calloutProps.gapSpace,\n maxWidth: maxWidth,\n });\n return (React.createElement(Callout, __assign({ target: targetElement, directionalHint: directionalHint, directionalHintForRTL: directionalHintForRTL }, calloutProps, getNativeProps(this.props, divProperties, ['id']), { className: this._classNames.root }),\n React.createElement(\"div\", { className: this._classNames.content, id: id, onMouseEnter: this.props.onMouseEnter, onMouseLeave: this.props.onMouseLeave }, onRenderContent(this.props, this._onRenderContent))));\n };\n // Specify default props values\n TooltipBase.defaultProps = {\n directionalHint: DirectionalHint.topCenter,\n maxWidth: '364px',\n calloutProps: {\n isBeakVisible: true,\n beakWidth: 16,\n gapSpace: 0,\n setInitialFocus: true,\n doNotLayer: false,\n },\n };\n return TooltipBase;\n}(React.Component));\nexport { TooltipBase };\n//# sourceMappingURL=Tooltip.base.js.map","import { styled } from '../../Utilities';\nimport { TooltipBase } from './Tooltip.base';\nimport { getStyles } from './Tooltip.styles';\nexport var Tooltip = styled(TooltipBase, getStyles, undefined, {\n scope: 'Tooltip',\n});\n//# sourceMappingURL=Tooltip.js.map","import { AnimationClassNames } from '../../Styling';\nexport var getStyles = function (props) {\n var className = props.className, _a = props.beakWidth, beakWidth = _a === void 0 ? 16 : _a, _b = props.gapSpace, gapSpace = _b === void 0 ? 0 : _b, maxWidth = props.maxWidth, theme = props.theme;\n var semanticColors = theme.semanticColors, fonts = theme.fonts, effects = theme.effects;\n // The math here is done to account for the 45 degree rotation of the beak\n // and sub-pixel rounding that differs across browsers, which is more noticeable when\n // the device pixel ratio is larger\n var tooltipGapSpace = -(Math.sqrt((beakWidth * beakWidth) / 2) + gapSpace) + 1 / window.devicePixelRatio;\n return {\n root: [\n 'ms-Tooltip',\n theme.fonts.medium,\n AnimationClassNames.fadeIn200,\n {\n background: semanticColors.menuBackground,\n boxShadow: effects.elevation8,\n padding: '8px',\n maxWidth: maxWidth,\n selectors: {\n ':after': {\n content: \"''\",\n position: 'absolute',\n bottom: tooltipGapSpace,\n left: tooltipGapSpace,\n right: tooltipGapSpace,\n top: tooltipGapSpace,\n zIndex: 0,\n },\n },\n },\n className,\n ],\n content: [\n 'ms-Tooltip-content',\n fonts.small,\n {\n position: 'relative',\n zIndex: 1,\n color: semanticColors.menuItemText,\n wordWrap: 'break-word',\n overflowWrap: 'break-word',\n overflow: 'hidden',\n },\n ],\n subText: [\n 'ms-Tooltip-subtext',\n {\n // Using inherit here to avoid unintentional global overrides of the

tag.\n fontSize: 'inherit',\n fontWeight: 'inherit',\n color: 'inherit',\n margin: 0,\n },\n ],\n };\n};\n//# sourceMappingURL=Tooltip.styles.js.map","/**\n * {@docCategory Tooltip}\n */\nexport var TooltipDelay;\n(function (TooltipDelay) {\n TooltipDelay[TooltipDelay[\"zero\"] = 0] = \"zero\";\n /** 300 ms delay before showing the tooltip */\n TooltipDelay[TooltipDelay[\"medium\"] = 1] = \"medium\";\n /** 500 ms delay before showing the tooltip */\n TooltipDelay[TooltipDelay[\"long\"] = 2] = \"long\";\n})(TooltipDelay || (TooltipDelay = {}));\n//# sourceMappingURL=Tooltip.types.js.map","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { hiddenContentStyle } from '../../Styling';\nimport { initializeComponentRef, Async, divProperties, getNativeProps, getId, assign, hasOverflow, portalContainsElement, classNamesFunction, KeyCodes, } from '../../Utilities';\nimport { TooltipOverflowMode } from './TooltipHost.types';\nimport { Tooltip } from './Tooltip';\nimport { TooltipDelay } from './Tooltip.types';\nvar getClassNames = classNamesFunction();\nvar TooltipHostBase = /** @class */ (function (_super) {\n __extends(TooltipHostBase, _super);\n // Constructor\n function TooltipHostBase(props) {\n var _this = _super.call(this, props) || this;\n // The wrapping div that gets the hover events\n _this._tooltipHost = React.createRef();\n _this._defaultTooltipId = getId('tooltip');\n _this.show = function () {\n _this._toggleTooltip(true);\n };\n _this.dismiss = function () {\n _this._hideTooltip();\n };\n _this._getTargetElement = function () {\n if (!_this._tooltipHost.current) {\n return undefined;\n }\n var overflowMode = _this.props.overflowMode;\n // Select target element based on overflow mode. For parent mode, you want to position the tooltip relative\n // to the parent element, otherwise it might look off.\n if (overflowMode !== undefined) {\n switch (overflowMode) {\n case TooltipOverflowMode.Parent:\n return _this._tooltipHost.current.parentElement;\n case TooltipOverflowMode.Self:\n return _this._tooltipHost.current;\n }\n }\n return _this._tooltipHost.current;\n };\n _this._onTooltipFocus = function (ev) {\n if (_this._ignoreNextFocusEvent) {\n _this._ignoreNextFocusEvent = false;\n return;\n }\n _this._onTooltipMouseEnter(ev);\n };\n _this._onTooltipBlur = function (ev) {\n // The focused element gets a blur event when the document loses focus\n // (e.g. switching tabs in the browser), but we don't want to show the\n // tooltip again when the document gets focus back. Handle this case by\n // checking if the blurred element is still the document's activeElement,\n // and ignoring when it next gets focus back.\n // See https://github.com/microsoft/fluentui/issues/13541\n _this._ignoreNextFocusEvent = (document === null || document === void 0 ? void 0 : document.activeElement) === ev.target;\n _this._hideTooltip();\n };\n // Show Tooltip\n _this._onTooltipMouseEnter = function (ev) {\n var _a = _this.props, overflowMode = _a.overflowMode, delay = _a.delay;\n if (TooltipHostBase._currentVisibleTooltip && TooltipHostBase._currentVisibleTooltip !== _this) {\n TooltipHostBase._currentVisibleTooltip.dismiss();\n }\n TooltipHostBase._currentVisibleTooltip = _this;\n if (overflowMode !== undefined) {\n var overflowElement = _this._getTargetElement();\n if (overflowElement && !hasOverflow(overflowElement)) {\n return;\n }\n }\n if (ev.target && portalContainsElement(ev.target, _this._getTargetElement())) {\n // Do not show tooltip when target is inside a portal relative to TooltipHost.\n return;\n }\n _this._clearDismissTimer();\n _this._clearOpenTimer();\n if (delay !== TooltipDelay.zero) {\n _this.setState({ isAriaPlaceholderRendered: true });\n var delayTime = _this._getDelayTime(delay); // non-null assertion because we set it in `defaultProps`\n _this._openTimerId = _this._async.setTimeout(function () {\n _this._toggleTooltip(true);\n }, delayTime);\n }\n else {\n _this._toggleTooltip(true);\n }\n };\n // Hide Tooltip\n _this._onTooltipMouseLeave = function (ev) {\n var closeDelay = _this.props.closeDelay;\n _this._clearDismissTimer();\n _this._clearOpenTimer();\n if (closeDelay) {\n _this._dismissTimerId = _this._async.setTimeout(function () {\n _this._toggleTooltip(false);\n }, closeDelay);\n }\n else {\n _this._toggleTooltip(false);\n }\n if (TooltipHostBase._currentVisibleTooltip === _this) {\n TooltipHostBase._currentVisibleTooltip = undefined;\n }\n };\n _this._onTooltipKeyDown = function (ev) {\n // eslint-disable-next-line deprecation/deprecation\n if ((ev.which === KeyCodes.escape || ev.ctrlKey) && _this.state.isTooltipVisible) {\n _this._hideTooltip();\n ev.stopPropagation();\n }\n };\n _this._clearDismissTimer = function () {\n _this._async.clearTimeout(_this._dismissTimerId);\n };\n _this._clearOpenTimer = function () {\n _this._async.clearTimeout(_this._openTimerId);\n };\n // Hide Tooltip\n _this._hideTooltip = function () {\n _this._clearOpenTimer();\n _this._clearDismissTimer();\n _this._toggleTooltip(false);\n };\n _this._toggleTooltip = function (isTooltipVisible) {\n if (_this.state.isTooltipVisible !== isTooltipVisible) {\n _this.setState({ isAriaPlaceholderRendered: false, isTooltipVisible: isTooltipVisible }, function () { return _this.props.onTooltipToggle && _this.props.onTooltipToggle(isTooltipVisible); });\n }\n };\n _this._getDelayTime = function (delay) {\n switch (delay) {\n case TooltipDelay.medium:\n return 300;\n case TooltipDelay.long:\n return 500;\n default:\n return 0;\n }\n };\n initializeComponentRef(_this);\n _this.state = {\n isAriaPlaceholderRendered: false,\n isTooltipVisible: false,\n };\n _this._async = new Async(_this);\n return _this;\n }\n // Render\n TooltipHostBase.prototype.render = function () {\n var _a = this.props, calloutProps = _a.calloutProps, children = _a.children, content = _a.content, directionalHint = _a.directionalHint, directionalHintForRTL = _a.directionalHintForRTL, className = _a.hostClassName, id = _a.id, \n // eslint-disable-next-line deprecation/deprecation\n _b = _a.setAriaDescribedBy, \n // eslint-disable-next-line deprecation/deprecation\n setAriaDescribedBy = _b === void 0 ? true : _b, tooltipProps = _a.tooltipProps, styles = _a.styles, theme = _a.theme;\n this._classNames = getClassNames(styles, {\n theme: theme,\n className: className,\n });\n var _c = this.state, isAriaPlaceholderRendered = _c.isAriaPlaceholderRendered, isTooltipVisible = _c.isTooltipVisible;\n var tooltipId = id || this._defaultTooltipId;\n var isContentPresent = !!(content ||\n (tooltipProps && tooltipProps.onRenderContent && tooltipProps.onRenderContent()));\n var showTooltip = isTooltipVisible && isContentPresent;\n var ariaDescribedBy = setAriaDescribedBy && isTooltipVisible && isContentPresent ? tooltipId : undefined;\n return (React.createElement(\"div\", __assign({ className: this._classNames.root, ref: this._tooltipHost }, { onFocusCapture: this._onTooltipFocus }, { onBlurCapture: this._onTooltipBlur }, { onMouseEnter: this._onTooltipMouseEnter, onMouseLeave: this._onTooltipMouseLeave, onKeyDown: this._onTooltipKeyDown, role: \"none\", \"aria-describedby\": ariaDescribedBy }),\n children,\n showTooltip && (React.createElement(Tooltip, __assign({ id: tooltipId, content: content, targetElement: this._getTargetElement(), directionalHint: directionalHint, directionalHintForRTL: directionalHintForRTL, calloutProps: assign({}, calloutProps, {\n onDismiss: this._hideTooltip,\n onMouseEnter: this._onTooltipMouseEnter,\n onMouseLeave: this._onTooltipMouseLeave,\n }), onMouseEnter: this._onTooltipMouseEnter, onMouseLeave: this._onTooltipMouseLeave }, getNativeProps(this.props, divProperties), tooltipProps))),\n isAriaPlaceholderRendered && (React.createElement(\"div\", { id: tooltipId, role: \"none\", style: hiddenContentStyle }, content))));\n };\n TooltipHostBase.prototype.componentWillUnmount = function () {\n if (TooltipHostBase._currentVisibleTooltip && TooltipHostBase._currentVisibleTooltip === this) {\n TooltipHostBase._currentVisibleTooltip = undefined;\n }\n this._async.dispose();\n };\n TooltipHostBase.defaultProps = {\n delay: TooltipDelay.medium,\n };\n return TooltipHostBase;\n}(React.Component));\nexport { TooltipHostBase };\n//# sourceMappingURL=TooltipHost.base.js.map","import { getGlobalClassNames } from '../../Styling';\nvar GlobalClassNames = {\n root: 'ms-TooltipHost',\n ariaPlaceholder: 'ms-TooltipHost-aria-placeholder',\n};\nexport var getStyles = function (props) {\n var className = props.className, theme = props.theme;\n var classNames = getGlobalClassNames(GlobalClassNames, theme);\n return {\n root: [\n classNames.root,\n {\n display: 'inline',\n },\n className,\n ],\n };\n};\n//# sourceMappingURL=TooltipHost.styles.js.map","import { styled } from '../../Utilities';\nimport { TooltipHostBase } from './TooltipHost.base';\nimport { getStyles } from './TooltipHost.styles';\nexport var TooltipHost = styled(TooltipHostBase, getStyles, undefined, {\n scope: 'TooltipHost',\n});\n//# sourceMappingURL=TooltipHost.js.map","/**\n * {@docCategory Tooltip}\n */\nexport var TooltipOverflowMode;\n(function (TooltipOverflowMode) {\n /** Only show tooltip if parent DOM element is overflowing */\n TooltipOverflowMode[TooltipOverflowMode[\"Parent\"] = 0] = \"Parent\";\n /**\n * Only show tooltip if tooltip host's content is overflowing.\n * Note that this does not check the children for overflow, only the TooltipHost root.\n */\n TooltipOverflowMode[TooltipOverflowMode[\"Self\"] = 1] = \"Self\";\n})(TooltipOverflowMode || (TooltipOverflowMode = {}));\n//# sourceMappingURL=TooltipHost.types.js.map","import { __assign } from \"tslib\";\nimport { DEFAULT_CALENDAR_STRINGS } from '@fluentui/date-time-utilities';\nexport var defaultWeeklyDayPickerStrings = __assign(__assign({}, DEFAULT_CALENDAR_STRINGS), { prevWeekAriaLabel: 'Previous week', nextWeekAriaLabel: 'Next week', prevMonthAriaLabel: 'Go to previous month', nextMonthAriaLabel: 'Go to next month', prevYearAriaLabel: 'Go to previous year', nextYearAriaLabel: 'Go to next year', closeButtonAriaLabel: 'Close date picker' });\nexport var defaultWeeklyDayPickerNavigationIcons = {\n leftNavigation: 'ChevronLeft',\n rightNavigation: 'ChevronRight',\n};\n//# sourceMappingURL=defaults.js.map","import { __assign, __extends, __rest } from \"tslib\";\nimport * as React from 'react';\nimport { classNamesFunction, css, KeyCodes, getRTL, initializeComponentRef } from '@fluentui/utilities';\nimport { AnimationDirection } from '../Calendar/Calendar.types';\nimport { CalendarDayGrid } from '../CalendarDayGrid/CalendarDayGrid';\nimport { compareDatePart, getStartDateOfWeek, addDays, addMonths, compareDates, FirstWeekOfYear, DateRangeType, DayOfWeek, DEFAULT_DATE_FORMATTING, } from '@fluentui/date-time-utilities';\nimport { Icon } from '../../Icon';\nimport { defaultWeeklyDayPickerStrings, defaultWeeklyDayPickerNavigationIcons } from './defaults';\nvar getClassNames = classNamesFunction();\nvar WeeklyDayPickerBase = /** @class */ (function (_super) {\n __extends(WeeklyDayPickerBase, _super);\n function WeeklyDayPickerBase(props) {\n var _this = _super.call(this, props) || this;\n _this._dayGrid = React.createRef();\n _this._onSelectDate = function (date) {\n var onSelectDate = _this.props.onSelectDate;\n // don't set the navigated date on selection because selection never causes navigation\n _this.setState({\n selectedDate: date,\n });\n _this._focusOnUpdate = true;\n if (onSelectDate) {\n onSelectDate(date);\n }\n };\n _this._onNavigateDate = function (date, focusOnNavigatedDay) {\n var onNavigateDate = _this.props.onNavigateDate;\n _this.setState({\n navigatedDate: date,\n });\n _this._focusOnUpdate = focusOnNavigatedDay;\n if (onNavigateDate) {\n onNavigateDate(date);\n }\n };\n _this._renderPreviousWeekNavigationButton = function (classNames) {\n var _a;\n var _b = _this.props, minDate = _b.minDate, firstDayOfWeek = _b.firstDayOfWeek, navigationIcons = _b.navigationIcons;\n var navigatedDate = _this.state.navigatedDate;\n var leftNavigationIcon = getRTL() ? navigationIcons.rightNavigation : navigationIcons.leftNavigation;\n // determine if previous week in bounds\n var prevWeekInBounds = minDate\n ? compareDatePart(minDate, getStartDateOfWeek(navigatedDate, firstDayOfWeek)) < 0\n : true;\n return (React.createElement(\"button\", { className: css(classNames.navigationIconButton, (_a = {},\n _a[classNames.disabledStyle] = !prevWeekInBounds,\n _a)), disabled: !prevWeekInBounds, \"aria-disabled\": !prevWeekInBounds, onClick: prevWeekInBounds ? _this._onSelectPrevDateRange : undefined, onKeyDown: prevWeekInBounds ? _this._onButtonKeyDown(_this._onSelectPrevDateRange) : undefined, title: _this._createPreviousWeekAriaLabel(), type: \"button\" },\n React.createElement(Icon, { iconName: leftNavigationIcon })));\n };\n _this._renderNextWeekNavigationButton = function (classNames) {\n var _a;\n var _b = _this.props, maxDate = _b.maxDate, firstDayOfWeek = _b.firstDayOfWeek, navigationIcons = _b.navigationIcons;\n var navigatedDate = _this.state.navigatedDate;\n var rightNavigationIcon = getRTL() ? navigationIcons.leftNavigation : navigationIcons.rightNavigation;\n // determine if next week in bounds\n var nextWeekInBounds = maxDate\n ? compareDatePart(addDays(getStartDateOfWeek(navigatedDate, firstDayOfWeek), 7), maxDate) < 0\n : true;\n return (React.createElement(\"button\", { className: css(classNames.navigationIconButton, (_a = {},\n _a[classNames.disabledStyle] = !nextWeekInBounds,\n _a)), disabled: !nextWeekInBounds, \"aria-disabled\": !nextWeekInBounds, onClick: nextWeekInBounds ? _this._onSelectNextDateRange : undefined, onKeyDown: nextWeekInBounds ? _this._onButtonKeyDown(_this._onSelectNextDateRange) : undefined, title: _this._createNextWeekAriaLabel(), type: \"button\" },\n React.createElement(Icon, { iconName: rightNavigationIcon })));\n };\n _this._onSelectPrevDateRange = function () {\n if (_this.props.showFullMonth) {\n _this._navigateDate(addMonths(_this.state.navigatedDate, -1));\n }\n else {\n _this._navigateDate(addDays(_this.state.navigatedDate, -7));\n }\n };\n _this._onSelectNextDateRange = function () {\n if (_this.props.showFullMonth) {\n _this._navigateDate(addMonths(_this.state.navigatedDate, 1));\n }\n else {\n _this._navigateDate(addDays(_this.state.navigatedDate, 7));\n }\n };\n _this._navigateDate = function (date) {\n _this.setState({\n navigatedDate: date,\n });\n if (_this.props.onNavigateDate) {\n _this.props.onNavigateDate(date);\n }\n };\n _this._onWrapperKeyDown = function (ev) {\n // eslint-disable-next-line deprecation/deprecation\n switch (ev.which) {\n case KeyCodes.enter:\n ev.preventDefault();\n break;\n case KeyCodes.backspace:\n ev.preventDefault();\n break;\n default:\n break;\n }\n };\n _this._onButtonKeyDown = function (callback) {\n return function (ev) {\n // eslint-disable-next-line deprecation/deprecation\n switch (ev.which) {\n case KeyCodes.enter:\n callback();\n break;\n }\n };\n };\n _this._onTouchStart = function (ev) {\n var touch = ev.touches[0];\n if (touch) {\n _this._initialTouchX = touch.clientX;\n }\n };\n _this._onTouchMove = function (ev) {\n var isRtl = getRTL();\n var touch = ev.touches[0];\n if (touch && _this._initialTouchX !== undefined && touch.clientX !== _this._initialTouchX) {\n if ((touch.clientX - _this._initialTouchX) * (isRtl ? -1 : 1) < 0) {\n // swipe right\n _this._onSelectNextDateRange();\n }\n else {\n // swipe left\n _this._onSelectPrevDateRange();\n }\n _this._initialTouchX = undefined;\n }\n };\n _this._createPreviousWeekAriaLabel = function () {\n var _a = _this.props, strings = _a.strings, showFullMonth = _a.showFullMonth, firstDayOfWeek = _a.firstDayOfWeek;\n var navigatedDate = _this.state.navigatedDate;\n var ariaLabel = undefined;\n if (showFullMonth && strings.prevMonthAriaLabel) {\n ariaLabel = strings.prevMonthAriaLabel + ' ' + strings.months[addMonths(navigatedDate, -1).getMonth()];\n }\n else if (!showFullMonth && strings.prevWeekAriaLabel) {\n var firstDayOfPreviousWeek = getStartDateOfWeek(addDays(navigatedDate, -7), firstDayOfWeek);\n var lastDayOfPreviousWeek = addDays(firstDayOfPreviousWeek, 6);\n ariaLabel =\n strings.prevWeekAriaLabel + ' ' + _this._formatDateRange(firstDayOfPreviousWeek, lastDayOfPreviousWeek);\n }\n return ariaLabel;\n };\n _this._createNextWeekAriaLabel = function () {\n var _a = _this.props, strings = _a.strings, showFullMonth = _a.showFullMonth, firstDayOfWeek = _a.firstDayOfWeek;\n var navigatedDate = _this.state.navigatedDate;\n var ariaLabel = undefined;\n if (showFullMonth && strings.nextMonthAriaLabel) {\n ariaLabel = strings.nextMonthAriaLabel + ' ' + strings.months[addMonths(navigatedDate, 1).getMonth()];\n }\n else if (!showFullMonth && strings.nextWeekAriaLabel) {\n var firstDayOfNextWeek = getStartDateOfWeek(addDays(navigatedDate, 7), firstDayOfWeek);\n var lastDayOfNextWeek = addDays(firstDayOfNextWeek, 6);\n ariaLabel = strings.nextWeekAriaLabel + ' ' + _this._formatDateRange(firstDayOfNextWeek, lastDayOfNextWeek);\n }\n return ariaLabel;\n };\n _this._formatDateRange = function (startDate, endDate) {\n var _a = _this.props, dateTimeFormatter = _a.dateTimeFormatter, strings = _a.strings;\n return (dateTimeFormatter === null || dateTimeFormatter === void 0 ? void 0 : dateTimeFormatter.formatMonthDayYear(startDate, strings)) + \" - \" + (dateTimeFormatter === null || dateTimeFormatter === void 0 ? void 0 : dateTimeFormatter.formatMonthDayYear(endDate, strings));\n };\n initializeComponentRef(_this);\n var currentDate = props.initialDate && !isNaN(props.initialDate.getTime()) ? props.initialDate : props.today || new Date();\n _this.state = {\n selectedDate: currentDate,\n navigatedDate: currentDate,\n previousShowFullMonth: !!props.showFullMonth,\n animationDirection: props.animationDirection,\n };\n _this._focusOnUpdate = false;\n return _this;\n }\n WeeklyDayPickerBase.getDerivedStateFromProps = function (nextProps, prevState) {\n var currentDate = nextProps.initialDate && !isNaN(nextProps.initialDate.getTime())\n ? nextProps.initialDate\n : nextProps.today || new Date();\n var showFullMonth = !!nextProps.showFullMonth;\n var newAnimationDirection = showFullMonth !== prevState.previousShowFullMonth ? AnimationDirection.Vertical : AnimationDirection.Horizontal;\n if (!compareDates(currentDate, prevState.selectedDate)) {\n return {\n selectedDate: currentDate,\n navigatedDate: currentDate,\n previousShowFullMonth: showFullMonth,\n animationDirection: newAnimationDirection,\n };\n }\n return {\n selectedDate: currentDate,\n navigatedDate: prevState.navigatedDate,\n previousShowFullMonth: showFullMonth,\n animationDirection: newAnimationDirection,\n };\n };\n WeeklyDayPickerBase.prototype.focus = function () {\n if (this._dayGrid && this._dayGrid.current) {\n this._dayGrid.current.focus();\n }\n };\n WeeklyDayPickerBase.prototype.render = function () {\n var _a = this.props, strings = _a.strings, dateTimeFormatter = _a.dateTimeFormatter, firstDayOfWeek = _a.firstDayOfWeek, minDate = _a.minDate, maxDate = _a.maxDate, restrictedDates = _a.restrictedDates, today = _a.today, styles = _a.styles, theme = _a.theme, className = _a.className, showFullMonth = _a.showFullMonth, weeksToShow = _a.weeksToShow, calendarDayGridProps = __rest(_a, [\"strings\", \"dateTimeFormatter\", \"firstDayOfWeek\", \"minDate\", \"maxDate\", \"restrictedDates\", \"today\", \"styles\", \"theme\", \"className\", \"showFullMonth\", \"weeksToShow\"]);\n var classNames = getClassNames(styles, {\n theme: theme,\n className: className,\n });\n return (React.createElement(\"div\", { className: classNames.root, onKeyDown: this._onWrapperKeyDown, onTouchStart: this._onTouchStart, onTouchMove: this._onTouchMove, \"aria-expanded\": showFullMonth },\n this._renderPreviousWeekNavigationButton(classNames),\n React.createElement(CalendarDayGrid, __assign({ styles: styles, componentRef: this._dayGrid, strings: strings, selectedDate: this.state.selectedDate, navigatedDate: this.state.navigatedDate, firstDayOfWeek: firstDayOfWeek, firstWeekOfYear: FirstWeekOfYear.FirstDay, dateRangeType: DateRangeType.Day, weeksToShow: showFullMonth ? weeksToShow : 1, dateTimeFormatter: dateTimeFormatter, minDate: minDate, maxDate: maxDate, restrictedDates: restrictedDates, onSelectDate: this._onSelectDate, onNavigateDate: this._onNavigateDate, today: today, lightenDaysOutsideNavigatedMonth: showFullMonth, animationDirection: this.state.animationDirection }, calendarDayGridProps)),\n this._renderNextWeekNavigationButton(classNames)));\n };\n WeeklyDayPickerBase.prototype.componentDidUpdate = function () {\n if (this._focusOnUpdate) {\n this.focus();\n this._focusOnUpdate = false;\n }\n };\n WeeklyDayPickerBase.defaultProps = {\n onSelectDate: undefined,\n initialDate: undefined,\n today: new Date(),\n firstDayOfWeek: DayOfWeek.Sunday,\n strings: defaultWeeklyDayPickerStrings,\n navigationIcons: defaultWeeklyDayPickerNavigationIcons,\n dateTimeFormatter: DEFAULT_DATE_FORMATTING,\n animationDirection: AnimationDirection.Horizontal,\n };\n return WeeklyDayPickerBase;\n}(React.Component));\nexport { WeeklyDayPickerBase };\n//# sourceMappingURL=WeeklyDayPicker.base.js.map","import { normalize, FontSizes, getFocusStyle, getGlobalClassNames } from '@fluentui/style-utilities';\nimport { IsFocusVisibleClassName } from '@fluentui/utilities';\nvar GlobalClassNames = {\n root: 'ms-WeeklyDayPicker-root',\n};\nexport var styles = function (props) {\n var _a;\n var className = props.className, theme = props.theme;\n var palette = theme.palette;\n var classNames = getGlobalClassNames(GlobalClassNames, theme);\n return {\n root: [\n classNames.root,\n normalize,\n {\n width: 220,\n padding: 12,\n boxSizing: 'content-box',\n display: 'flex',\n alignItems: 'center',\n flexDirection: 'row',\n },\n className,\n ],\n dayButton: {\n borderRadius: '100%',\n },\n dayIsToday: {},\n dayCell: {\n borderRadius: '100%!important',\n },\n daySelected: {},\n navigationIconButton: [\n getFocusStyle(theme, { inset: 0 }),\n {\n width: 12,\n minWidth: 12,\n height: 0,\n overflow: 'hidden',\n padding: 0,\n margin: 0,\n border: 'none',\n display: 'flex',\n alignItems: 'center',\n backgroundColor: palette.neutralLighter,\n fontSize: FontSizes.small,\n fontFamily: 'inherit',\n selectors: (_a = {},\n _a[\".\" + classNames.root + \":hover &, .\" + IsFocusVisibleClassName + \" .\" + classNames.root + \":focus &, \" +\n (\".\" + IsFocusVisibleClassName + \" &:focus\")] = {\n height: 53,\n minHeight: 12,\n overflow: 'initial',\n },\n _a[\".\" + IsFocusVisibleClassName + \" .\" + classNames.root + \":focus-within &\"] = {\n // edge does not recognize focus-within, so separate it out\n height: 53,\n minHeight: 12,\n overflow: 'initial',\n },\n _a['&:hover'] = {\n cursor: 'pointer',\n backgroundColor: palette.neutralLight,\n },\n _a['&:active'] = {\n backgroundColor: palette.neutralTertiary,\n },\n _a),\n },\n ],\n disabledStyle: {\n selectors: {\n '&, &:disabled, & button': {\n color: palette.neutralTertiaryAlt,\n pointerEvents: 'none',\n },\n },\n },\n };\n};\n//# sourceMappingURL=WeeklyDayPicker.styles.js.map","import { WeeklyDayPickerBase } from './WeeklyDayPicker.base';\nimport { styles } from './WeeklyDayPicker.styles';\nimport { styled } from '../../Utilities';\nexport var WeeklyDayPicker = styled(WeeklyDayPickerBase, styles, undefined, { scope: 'WeeklyDayPicker' });\n//# sourceMappingURL=WeeklyDayPicker.js.map","/* eslint-disable */\nimport { loadStyles } from '@microsoft/load-themed-styles';\nloadStyles([{ \"rawString\": \".root_2f55324e{min-width:260px}.suggestionsItem_2f55324e{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_2f55324e:hover{background:\" }, { \"theme\": \"neutralLighter\", \"defaultValue\": \"#f3f2f1\" }, { \"rawString\": \"}.suggestionsItem_2f55324e:hover .closeButton_2f55324e{display:block}.suggestionsItem_2f55324e.suggestionsItemIsSuggested_2f55324e{background:\" }, { \"theme\": \"neutralLight\", \"defaultValue\": \"#edebe9\" }, { \"rawString\": \"}.suggestionsItem_2f55324e.suggestionsItemIsSuggested_2f55324e:hover{background:\" }, { \"theme\": \"neutralTertiaryAlt\", \"defaultValue\": \"#c8c6c4\" }, { \"rawString\": \"}@media screen and (-ms-high-contrast:active){.suggestionsItem_2f55324e.suggestionsItemIsSuggested_2f55324e:hover{background:Highlight;color:HighlightText}}@media screen and (-ms-high-contrast:active){.suggestionsItem_2f55324e.suggestionsItemIsSuggested_2f55324e{background:Highlight;color:HighlightText;-ms-high-contrast-adjust:none}}.suggestionsItem_2f55324e.suggestionsItemIsSuggested_2f55324e .closeButton_2f55324e:hover{background:\" }, { \"theme\": \"neutralTertiary\", \"defaultValue\": \"#a19f9d\" }, { \"rawString\": \";color:\" }, { \"theme\": \"neutralPrimary\", \"defaultValue\": \"#323130\" }, { \"rawString\": \"}@media screen and (-ms-high-contrast:active){.suggestionsItem_2f55324e.suggestionsItemIsSuggested_2f55324e .itemButton_2f55324e{color:HighlightText}}.suggestionsItem_2f55324e .closeButton_2f55324e{display:none;color:\" }, { \"theme\": \"neutralSecondary\", \"defaultValue\": \"#605e5c\" }, { \"rawString\": \"}.suggestionsItem_2f55324e .closeButton_2f55324e:hover{background:\" }, { \"theme\": \"neutralLight\", \"defaultValue\": \"#edebe9\" }, { \"rawString\": \"}.actionButton_2f55324e{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_2f55324e{padding-left:8px}[dir=rtl] .actionButton_2f55324e{padding-right:8px}html[dir=ltr] .actionButton_2f55324e{text-align:left}html[dir=rtl] .actionButton_2f55324e{text-align:right}.actionButton_2f55324e:hover{background-color:\" }, { \"theme\": \"neutralLight\", \"defaultValue\": \"#edebe9\" }, { \"rawString\": \";cursor:pointer}.actionButton_2f55324e:active,.actionButton_2f55324e:focus{background-color:\" }, { \"theme\": \"themeLight\", \"defaultValue\": \"#c7e0f4\" }, { \"rawString\": \"}.actionButton_2f55324e .ms-Button-icon{font-size:16px;width:25px}.actionButton_2f55324e .ms-Button-label{margin:0 4px 0 9px}html[dir=rtl] .actionButton_2f55324e .ms-Button-label{margin:0 9px 0 4px}.buttonSelected_2f55324e{background-color:\" }, { \"theme\": \"themeLight\", \"defaultValue\": \"#c7e0f4\" }, { \"rawString\": \"}.suggestionsTitle_2f55324e{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_2f55324e{overflow-y:auto;overflow-x:hidden;max-height:300px;border-bottom:1px solid \" }, { \"theme\": \"neutralLight\", \"defaultValue\": \"#edebe9\" }, { \"rawString\": \"}.suggestionsNone_2f55324e{text-align:center;color:#797775;font-size:12px;line-height:30px}.suggestionsSpinner_2f55324e{margin:5px 0;white-space:nowrap;line-height:20px;font-size:12px}html[dir=ltr] .suggestionsSpinner_2f55324e{padding-left:14px}html[dir=rtl] .suggestionsSpinner_2f55324e{padding-right:14px}html[dir=ltr] .suggestionsSpinner_2f55324e{text-align:left}html[dir=rtl] .suggestionsSpinner_2f55324e{text-align:right}.suggestionsSpinner_2f55324e .ms-Spinner-circle{display:inline-block;vertical-align:middle}.suggestionsSpinner_2f55324e .ms-Spinner-label{display:inline-block;margin:0 10px 0 16px;vertical-align:middle}html[dir=rtl] .suggestionsSpinner_2f55324e .ms-Spinner-label{margin:0 16px 0 10px}.itemButton_2f55324e.itemButton_2f55324e{width:100%;padding:0;min-width:0;height:100%}@media screen and (-ms-high-contrast:active){.itemButton_2f55324e.itemButton_2f55324e{color:WindowText}}.itemButton_2f55324e.itemButton_2f55324e:hover{color:\" }, { \"theme\": \"neutralDark\", \"defaultValue\": \"#201f1e\" }, { \"rawString\": \"}.closeButton_2f55324e.closeButton_2f55324e{padding:0 4px;height:auto;width:32px}@media screen and (-ms-high-contrast:active){.closeButton_2f55324e.closeButton_2f55324e{color:WindowText}}.closeButton_2f55324e.closeButton_2f55324e:hover{background:\" }, { \"theme\": \"neutralTertiaryAlt\", \"defaultValue\": \"#c8c6c4\" }, { \"rawString\": \";color:\" }, { \"theme\": \"neutralDark\", \"defaultValue\": \"#201f1e\" }, { \"rawString\": \"}.suggestionsAvailable_2f55324e{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}\" }]);\nexport var root = \"root_2f55324e\";\nexport var suggestionsItem = \"suggestionsItem_2f55324e\";\nexport var closeButton = \"closeButton_2f55324e\";\nexport var suggestionsItemIsSuggested = \"suggestionsItemIsSuggested_2f55324e\";\nexport var itemButton = \"itemButton_2f55324e\";\nexport var actionButton = \"actionButton_2f55324e\";\nexport var buttonSelected = \"buttonSelected_2f55324e\";\nexport var suggestionsTitle = \"suggestionsTitle_2f55324e\";\nexport var suggestionsContainer = \"suggestionsContainer_2f55324e\";\nexport var suggestionsNone = \"suggestionsNone_2f55324e\";\nexport var suggestionsSpinner = \"suggestionsSpinner_2f55324e\";\nexport var suggestionsAvailable = \"suggestionsAvailable_2f55324e\";\n//# sourceMappingURL=Suggestions.scss.js.map","import { __extends } from \"tslib\";\nimport * as React from 'react';\nimport { classNamesFunction, css, initializeComponentRef } from '../../../Utilities';\nimport { CommandButton, IconButton } from '../../../Button';\nimport * as stylesImport from './Suggestions.scss';\nvar legacyStyles = stylesImport;\nvar getClassNames = classNamesFunction();\n/**\n * {@docCategory Pickers}\n */\nvar SuggestionsItem = /** @class */ (function (_super) {\n __extends(SuggestionsItem, _super);\n function SuggestionsItem(props) {\n var _this = _super.call(this, props) || this;\n initializeComponentRef(_this);\n return _this;\n }\n SuggestionsItem.prototype.render = function () {\n var _a;\n var _b = this.props, suggestionModel = _b.suggestionModel, RenderSuggestion = _b.RenderSuggestion, onClick = _b.onClick, className = _b.className, id = _b.id, onRemoveItem = _b.onRemoveItem, isSelectedOverride = _b.isSelectedOverride, removeButtonAriaLabel = _b.removeButtonAriaLabel, styles = _b.styles, theme = _b.theme, removeButtonIconProps = _b.removeButtonIconProps;\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 var classNames = styles\n ? getClassNames(styles, {\n theme: theme,\n className: className,\n suggested: suggestionModel.selected || isSelectedOverride,\n })\n : {\n root: css('ms-Suggestions-item', legacyStyles.suggestionsItem, (_a = {},\n _a['is-suggested ' + legacyStyles.suggestionsItemIsSuggested] = suggestionModel.selected || isSelectedOverride,\n _a), className),\n itemButton: css('ms-Suggestions-itemButton', legacyStyles.itemButton),\n closeButton: css('ms-Suggestions-closeButton', legacyStyles.closeButton),\n };\n return (React.createElement(\"div\", { className: classNames.root, role: \"presentation\" },\n React.createElement(CommandButton, { onClick: onClick, className: classNames.itemButton, id: id, \"aria-selected\": suggestionModel.selected, role: \"option\", \"aria-label\": suggestionModel.ariaLabel }, RenderSuggestion(suggestionModel.item, this.props)),\n this.props.showRemoveButton ? (React.createElement(IconButton, { iconProps: removeButtonIconProps !== null && removeButtonIconProps !== void 0 ? removeButtonIconProps : { iconName: 'Cancel' }, styles: { icon: { fontSize: '12px' } }, title: removeButtonAriaLabel, ariaLabel: removeButtonAriaLabel, onClick: onRemoveItem, className: classNames.closeButton })) : null));\n };\n return SuggestionsItem;\n}(React.Component));\nexport { SuggestionsItem };\n//# sourceMappingURL=SuggestionsItem.js.map","/**\n * Enum to help identify which suggestions action button is selected.\n * {@docCategory Pickers}\n */\nexport var SuggestionActionType;\n(function (SuggestionActionType) {\n /** None of the actions is selected. */\n SuggestionActionType[SuggestionActionType[\"none\"] = 0] = \"none\";\n /** ForceResolve action is selected. */\n SuggestionActionType[SuggestionActionType[\"forceResolve\"] = 1] = \"forceResolve\";\n /** SearchMore action is selected. */\n SuggestionActionType[SuggestionActionType[\"searchMore\"] = 2] = \"searchMore\";\n})(SuggestionActionType || (SuggestionActionType = {}));\n//# sourceMappingURL=Suggestions.types.js.map","import { __assign } from \"tslib\";\nimport { getGlobalClassNames, HighContrastSelector, getHighContrastNoAdjustStyle } from '../../../Styling';\nimport { IsFocusVisibleClassName } from '../../../Utilities';\nexport var SuggestionsItemGlobalClassNames = {\n root: 'ms-Suggestions-item',\n itemButton: 'ms-Suggestions-itemButton',\n closeButton: 'ms-Suggestions-closeButton',\n isSuggested: 'is-suggested',\n};\nexport function getStyles(props) {\n var _a, _b, _c, _d, _e, _f;\n var className = props.className, theme = props.theme, suggested = props.suggested;\n var palette = theme.palette, semanticColors = theme.semanticColors;\n var classNames = getGlobalClassNames(SuggestionsItemGlobalClassNames, theme);\n return {\n root: [\n classNames.root,\n {\n display: 'flex',\n alignItems: 'stretch',\n boxSizing: 'border-box',\n width: '100%',\n position: 'relative',\n selectors: {\n '&:hover': {\n background: semanticColors.menuItemBackgroundHovered,\n },\n '&:hover .ms-Suggestions-closeButton': {\n display: 'block',\n },\n },\n },\n suggested && {\n selectors: (_a = {},\n _a[\".\" + IsFocusVisibleClassName + \" &\"] = {\n selectors: (_b = {},\n _b[\".\" + classNames.closeButton] = {\n display: 'block',\n background: semanticColors.menuItemBackgroundPressed,\n },\n _b),\n },\n _a[':after'] = {\n pointerEvents: 'none',\n content: '\"\"',\n position: 'absolute',\n left: 0,\n top: 0,\n bottom: 0,\n right: 0,\n border: \"1px solid \" + theme.semanticColors.focusBorder,\n },\n _a),\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: (_c = {},\n _c[HighContrastSelector] = {\n color: 'WindowText',\n selectors: {\n ':hover': __assign({ background: 'Highlight', color: 'HighlightText' }, getHighContrastNoAdjustStyle()),\n },\n },\n _c[':hover'] = {\n color: semanticColors.menuItemTextHovered,\n },\n _c),\n },\n suggested && [\n classNames.isSuggested,\n {\n background: semanticColors.menuItemBackgroundPressed,\n selectors: (_d = {\n ':hover': {\n background: semanticColors.menuDivider,\n }\n },\n _d[HighContrastSelector] = __assign({ background: 'Highlight', color: 'HighlightText' }, getHighContrastNoAdjustStyle()),\n _d),\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: (_e = {\n ':hover, :active': {\n background: palette.neutralTertiaryAlt,\n color: palette.neutralDark,\n }\n },\n _e[HighContrastSelector] = {\n color: 'WindowText',\n },\n _e),\n },\n suggested && (_f = {},\n _f[\".\" + IsFocusVisibleClassName + \" &\"] = {\n selectors: {\n ':hover, :active': {\n background: palette.neutralTertiary,\n },\n },\n },\n _f.selectors = {\n ':hover, :active': {\n background: palette.neutralTertiary,\n color: palette.neutralPrimary,\n },\n },\n _f),\n ],\n };\n}\n//# sourceMappingURL=SuggestionsItem.styles.js.map","/**\n * Validation state of the user's input.\n * {@docCategory Pickers}\n */\nexport var ValidationState;\n(function (ValidationState) {\n /** User input is valid. */\n ValidationState[ValidationState[\"valid\"] = 0] = \"valid\";\n /** User input could be valid or invalid, its state is not known yet. */\n ValidationState[ValidationState[\"warning\"] = 1] = \"warning\";\n /** User input is invalid. */\n ValidationState[ValidationState[\"invalid\"] = 2] = \"invalid\";\n})(ValidationState || (ValidationState = {}));\n//# sourceMappingURL=BasePicker.types.js.map","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { initializeComponentRef, KeyCodes, classNamesFunction, css, styled } from '../../../Utilities';\nimport { CommandButton } from '../../../Button';\nimport { Spinner } from '../../../Spinner';\nimport { Announced } from '../../../Announced';\nimport { SuggestionActionType } from './Suggestions.types';\nimport { SuggestionsItem } from './SuggestionsItem';\nimport { getStyles as suggestionsItemStyles } from './SuggestionsItem.styles';\nimport * as stylesImport from './Suggestions.scss';\nvar legacyStyles = stylesImport;\nvar getClassNames = classNamesFunction();\nvar StyledSuggestionsItem = styled(SuggestionsItem, suggestionsItemStyles, undefined, {\n scope: 'SuggestionItem',\n});\n/**\n * {@docCategory Pickers}\n */\nvar Suggestions = /** @class */ (function (_super) {\n __extends(Suggestions, _super);\n function Suggestions(suggestionsProps) {\n var _this = _super.call(this, suggestionsProps) || this;\n _this._forceResolveButton = React.createRef();\n _this._searchForMoreButton = React.createRef();\n _this._selectedElement = React.createRef();\n _this._scrollContainer = React.createRef();\n /**\n * Returns true if the event was handled, false otherwise\n */\n _this.tryHandleKeyDown = function (keyCode, currentSuggestionIndex) {\n var isEventHandled = false;\n var newSelectedActionType = null;\n var currentSelectedAction = _this.state.selectedActionType;\n var 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 }\n else if (_this._searchForMoreButton.current) {\n newSelectedActionType = SuggestionActionType.searchMore;\n }\n else {\n newSelectedActionType = SuggestionActionType.forceResolve;\n }\n break;\n case SuggestionActionType.searchMore:\n if (_this._forceResolveButton.current) {\n newSelectedActionType = SuggestionActionType.forceResolve;\n }\n else if (suggestionLength > 0) {\n _this._refocusOnSuggestions(keyCode);\n newSelectedActionType = SuggestionActionType.none;\n }\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 }\n else if (keyCode === KeyCodes.up) {\n switch (currentSelectedAction) {\n case SuggestionActionType.forceResolve:\n if (_this._searchForMoreButton.current) {\n newSelectedActionType = SuggestionActionType.searchMore;\n }\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 }\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 if (newSelectedActionType !== null) {\n _this.setState({ selectedActionType: newSelectedActionType });\n isEventHandled = true;\n }\n return isEventHandled;\n };\n _this._getAlertText = function () {\n var _a = _this.props, isLoading = _a.isLoading, isSearching = _a.isSearching, suggestions = _a.suggestions, suggestionsAvailableAlertText = _a.suggestionsAvailableAlertText, noResultsFoundText = _a.noResultsFoundText;\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 _this._getMoreResults = function () {\n if (_this.props.onGetMoreResults) {\n _this.props.onGetMoreResults();\n // Reset selected action type as it will be of type SuggestionActionType.none after more results are gotten\n _this.setState({ selectedActionType: SuggestionActionType.none });\n }\n };\n _this._forceResolve = function () {\n if (_this.props.createGenericItem) {\n _this.props.createGenericItem();\n }\n };\n _this._shouldShowForceResolve = function () {\n return _this.props.showForceResolve ? _this.props.showForceResolve() : false;\n };\n _this._onClickTypedSuggestionsItem = function (item, index) {\n return function (ev) {\n _this.props.onSuggestionClick(ev, item, index);\n };\n };\n _this._refocusOnSuggestions = function (keyCode) {\n if (typeof _this.props.refocusSuggestions === 'function') {\n _this.props.refocusSuggestions(keyCode);\n }\n };\n _this._onRemoveTypedSuggestionsItem = function (item, index) {\n return function (ev) {\n var onSuggestionRemove = _this.props.onSuggestionRemove;\n onSuggestionRemove(ev, item, index);\n ev.stopPropagation();\n };\n };\n initializeComponentRef(_this);\n _this.state = {\n selectedActionType: SuggestionActionType.none,\n };\n return _this;\n }\n Suggestions.prototype.componentDidMount = function () {\n this.scrollSelected();\n this.activeSelectedElement = this._selectedElement ? this._selectedElement.current : null;\n };\n Suggestions.prototype.componentDidUpdate = function () {\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 Suggestions.prototype.render = function () {\n var _a, _b;\n var _this = this;\n var _c = this.props, forceResolveText = _c.forceResolveText, mostRecentlyUsedHeaderText = _c.mostRecentlyUsedHeaderText, searchForMoreIcon = _c.searchForMoreIcon, searchForMoreText = _c.searchForMoreText, className = _c.className, moreSuggestionsAvailable = _c.moreSuggestionsAvailable, noResultsFoundText = _c.noResultsFoundText, suggestions = _c.suggestions, isLoading = _c.isLoading, isSearching = _c.isSearching, loadingText = _c.loadingText, onRenderNoResultFound = _c.onRenderNoResultFound, searchingText = _c.searchingText, isMostRecentlyUsedVisible = _c.isMostRecentlyUsedVisible, resultsMaximumNumber = _c.resultsMaximumNumber, resultsFooterFull = _c.resultsFooterFull, resultsFooter = _c.resultsFooter, _d = _c.isResultsFooterVisible, isResultsFooterVisible = _d === void 0 ? true : _d, suggestionsHeaderText = _c.suggestionsHeaderText, suggestionsClassName = _c.suggestionsClassName, theme = _c.theme, styles = _c.styles, suggestionsListId = _c.suggestionsListId;\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: className,\n suggestionsClassName: 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, (_a = {},\n _a['is-selected ' + legacyStyles.buttonSelected] = this.state.selectedActionType === SuggestionActionType.searchMore,\n _a)),\n forceResolveButton: css('ms-forceResolve-button', legacyStyles.actionButton, (_b = {},\n _b['is-selected ' + legacyStyles.buttonSelected] = this.state.selectedActionType === SuggestionActionType.forceResolve,\n _b)),\n suggestionsAvailable: css('ms-Suggestions-suggestionsAvailable', legacyStyles.suggestionsAvailable),\n suggestionsContainer: css('ms-Suggestions-container', legacyStyles.suggestionsContainer, suggestionsClassName),\n noSuggestions: css('ms-Suggestions-none', legacyStyles.suggestionsNone),\n };\n var spinnerStyles = this._classNames.subComponentStyles\n ? this._classNames.subComponentStyles.spinner\n : undefined;\n // TODO: cleanup after refactor of pickers to composition pattern and remove SASS support.\n var spinnerClassNameOrStyles = styles\n ? { styles: spinnerStyles }\n : {\n className: css('ms-Suggestions-spinner', legacyStyles.suggestionsSpinner),\n };\n var noResults = function () { return (\n // This ID can be used by the parent to set aria-activedescendant to this\n React.createElement(\"div\", { id: \"sug-noResultsFound\", role: \"option\" }, onRenderNoResultFound ? (onRenderNoResultFound(undefined, noResults)) : (React.createElement(\"div\", { className: _this._classNames.noSuggestions }, noResultsFoundText)))); };\n // MostRecently Used text should supercede the header text if it's there and available.\n var headerText = suggestionsHeaderText;\n if (isMostRecentlyUsedVisible && mostRecentlyUsedHeaderText) {\n headerText = mostRecentlyUsedHeaderText;\n }\n var footerTitle = undefined;\n if (isResultsFooterVisible) {\n footerTitle = suggestions.length >= resultsMaximumNumber ? resultsFooterFull : resultsFooter;\n }\n var hasNoSuggestions = (!suggestions || !suggestions.length) && !isLoading;\n var divProps = hasNoSuggestions || isLoading ? { role: 'listbox', id: suggestionsListId } : {};\n var forceResolveId = this.state.selectedActionType === SuggestionActionType.forceResolve ? 'sug-selectedAction' : undefined;\n var searchForMoreId = this.state.selectedActionType === SuggestionActionType.searchMore ? 'sug-selectedAction' : undefined;\n return (React.createElement(\"div\", __assign({ className: this._classNames.root }, divProps),\n React.createElement(Announced, { message: this._getAlertText(), \"aria-live\": \"polite\" }),\n headerText ? React.createElement(\"div\", { className: this._classNames.title }, headerText) : null,\n forceResolveText && this._shouldShowForceResolve() && (React.createElement(CommandButton, { componentRef: this._forceResolveButton, className: this._classNames.forceResolveButton, id: forceResolveId, onClick: this._forceResolve, \"data-automationid\": 'sug-forceResolve' }, forceResolveText)),\n isLoading && React.createElement(Spinner, __assign({}, spinnerClassNameOrStyles, { label: loadingText })),\n hasNoSuggestions ? noResults() : this._renderSuggestions(),\n searchForMoreText && moreSuggestionsAvailable && (React.createElement(CommandButton, { componentRef: this._searchForMoreButton, className: this._classNames.searchForMoreButton, iconProps: searchForMoreIcon || { iconName: 'Search' }, id: searchForMoreId, onClick: this._getMoreResults, \"data-automationid\": 'sug-searchForMore' }, searchForMoreText)),\n isSearching ? React.createElement(Spinner, __assign({}, spinnerClassNameOrStyles, { label: searchingText })) : null,\n footerTitle && !moreSuggestionsAvailable && !isMostRecentlyUsedVisible && !isSearching ? (React.createElement(\"div\", { className: this._classNames.title }, footerTitle(this.props))) : null));\n };\n Suggestions.prototype.hasSuggestedAction = function () {\n return !!this._searchForMoreButton.current || !!this._forceResolveButton.current;\n };\n Suggestions.prototype.hasSuggestedActionSelected = function () {\n return this.state.selectedActionType !== SuggestionActionType.none;\n };\n Suggestions.prototype.executeSelectedAction = function () {\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 Suggestions.prototype.focusAboveSuggestions = function () {\n if (this._forceResolveButton.current) {\n this.setState({ selectedActionType: SuggestionActionType.forceResolve });\n }\n else if (this._searchForMoreButton.current) {\n this.setState({ selectedActionType: SuggestionActionType.searchMore });\n }\n };\n Suggestions.prototype.focusBelowSuggestions = function () {\n if (this._searchForMoreButton.current) {\n this.setState({ selectedActionType: SuggestionActionType.searchMore });\n }\n else if (this._forceResolveButton.current) {\n this.setState({ selectedActionType: SuggestionActionType.forceResolve });\n }\n };\n Suggestions.prototype.focusSearchForMoreButton = function () {\n if (this._searchForMoreButton.current) {\n this._searchForMoreButton.current.focus();\n }\n };\n Suggestions.prototype.scrollSelected = function () {\n if (this._selectedElement.current &&\n this._scrollContainer.current &&\n this._scrollContainer.current.scrollTo !== undefined) {\n var _a = this._selectedElement.current, offsetHeight = _a.offsetHeight, offsetTop = _a.offsetTop;\n var _b = this._scrollContainer.current, parentOffsetHeight = _b.offsetHeight, scrollTop = _b.scrollTop;\n var isAbove = offsetTop < scrollTop;\n var isBelow = offsetTop + offsetHeight > scrollTop + parentOffsetHeight;\n if (isAbove) {\n this._scrollContainer.current.scrollTo(0, offsetTop);\n }\n else if (isBelow) {\n this._scrollContainer.current.scrollTo(0, offsetTop - parentOffsetHeight + offsetHeight);\n }\n }\n };\n Suggestions.prototype._renderSuggestions = function () {\n var _this = this;\n var _a = this.props, isMostRecentlyUsedVisible = _a.isMostRecentlyUsedVisible, mostRecentlyUsedHeaderText = _a.mostRecentlyUsedHeaderText, onRenderSuggestion = _a.onRenderSuggestion, removeSuggestionAriaLabel = _a.removeSuggestionAriaLabel, suggestionsItemClassName = _a.suggestionsItemClassName, resultsMaximumNumber = _a.resultsMaximumNumber, showRemoveButtons = _a.showRemoveButtons, suggestionsContainerAriaLabel = _a.suggestionsContainerAriaLabel, suggestionsHeaderText = _a.suggestionsHeaderText, suggestionsListId = _a.suggestionsListId, removeButtonIconProps = _a.removeButtonIconProps;\n var suggestions = this.props.suggestions;\n var StyledTypedSuggestionsItem = StyledSuggestionsItem;\n var selectedIndex = -1;\n suggestions.some(function (element, index) {\n if (element.selected) {\n selectedIndex = index;\n return true;\n }\n return false;\n });\n if (resultsMaximumNumber) {\n suggestions =\n selectedIndex >= resultsMaximumNumber\n ? suggestions.slice(selectedIndex - resultsMaximumNumber + 1, selectedIndex + 1)\n : suggestions.slice(0, resultsMaximumNumber);\n }\n if (suggestions.length === 0) {\n return null;\n }\n // MostRecently Used text should supercede the header text if it's there and available.\n var headerText = suggestionsHeaderText;\n if (isMostRecentlyUsedVisible && mostRecentlyUsedHeaderText) {\n headerText = mostRecentlyUsedHeaderText;\n }\n return (React.createElement(\"div\", { className: this._classNames.suggestionsContainer, id: suggestionsListId, ref: this._scrollContainer, role: \"listbox\", \"aria-label\": suggestionsContainerAriaLabel || headerText }, suggestions.map(function (suggestion, index) { return (React.createElement(\"div\", { ref: suggestion.selected ? _this._selectedElement : undefined, key: suggestion.item.key ? suggestion.item.key : index, role: \"presentation\" },\n React.createElement(StyledTypedSuggestionsItem, { suggestionModel: suggestion, RenderSuggestion: onRenderSuggestion, onClick: _this._onClickTypedSuggestionsItem(suggestion.item, index), className: suggestionsItemClassName, showRemoveButton: showRemoveButtons, removeButtonAriaLabel: removeSuggestionAriaLabel, onRemoveItem: _this._onRemoveTypedSuggestionsItem(suggestion.item, index), id: 'sug-' + index, removeButtonIconProps: removeButtonIconProps }))); })));\n };\n return Suggestions;\n}(React.Component));\nexport { Suggestions };\n//# sourceMappingURL=Suggestions.js.map","/**\n * {@docCategory Pickers}\n */\nvar SuggestionsController = /** @class */ (function () {\n function SuggestionsController() {\n var _this = this;\n this._isSuggestionModel = function (value) {\n return value.item !== undefined;\n };\n this._ensureSuggestionModel = function (suggestion) {\n if (_this._isSuggestionModel(suggestion)) {\n return suggestion;\n }\n else {\n return {\n item: suggestion,\n selected: false,\n ariaLabel: suggestion.name || suggestion.primaryText,\n };\n }\n };\n this.suggestions = [];\n this.currentIndex = -1;\n }\n SuggestionsController.prototype.updateSuggestions = function (newSuggestions, selectedIndex) {\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 }\n else if (selectedIndex !== undefined) {\n this.suggestions[selectedIndex].selected = true;\n this.currentSuggestion = this.suggestions[selectedIndex];\n }\n }\n else {\n this.suggestions = [];\n this.currentIndex = -1;\n this.currentSuggestion = undefined;\n }\n };\n /**\n * Increments the suggestion index and gets the next suggestion in the list.\n */\n SuggestionsController.prototype.nextSuggestion = function () {\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 }\n else if (this.currentIndex === this.suggestions.length - 1) {\n this.setSelectedSuggestion(0);\n return true;\n }\n }\n return false;\n };\n /**\n * Decrements the suggestion index and gets the previous suggestion in the list.\n */\n SuggestionsController.prototype.previousSuggestion = function () {\n if (this.suggestions && this.suggestions.length) {\n if (this.currentIndex > 0) {\n this.setSelectedSuggestion(this.currentIndex - 1);\n return true;\n }\n else if (this.currentIndex === 0) {\n this.setSelectedSuggestion(this.suggestions.length - 1);\n return true;\n }\n }\n return false;\n };\n SuggestionsController.prototype.getSuggestions = function () {\n return this.suggestions;\n };\n SuggestionsController.prototype.getCurrentItem = function () {\n return this.currentSuggestion;\n };\n SuggestionsController.prototype.getSuggestionAtIndex = function (index) {\n return this.suggestions[index];\n };\n SuggestionsController.prototype.hasSelectedSuggestion = function () {\n return this.currentSuggestion ? true : false;\n };\n SuggestionsController.prototype.removeSuggestion = function (index) {\n this.suggestions.splice(index, 1);\n };\n SuggestionsController.prototype.createGenericSuggestion = function (itemToConvert) {\n var itemToAdd = this.convertSuggestionsToSuggestionItems([itemToConvert])[0];\n this.currentSuggestion = itemToAdd;\n };\n SuggestionsController.prototype.convertSuggestionsToSuggestionItems = function (suggestions) {\n return Array.isArray(suggestions) ? suggestions.map(this._ensureSuggestionModel) : [];\n };\n SuggestionsController.prototype.deselectAllSuggestions = function () {\n if (this.currentIndex > -1) {\n this.suggestions[this.currentIndex].selected = false;\n this.currentIndex = -1;\n }\n };\n SuggestionsController.prototype.setSelectedSuggestion = function (index) {\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 }\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 return SuggestionsController;\n}());\nexport { SuggestionsController };\n//# sourceMappingURL=SuggestionsController.js.map","import { __assign } from \"tslib\";\nimport { getGlobalClassNames, getHighContrastNoAdjustStyle, HighContrastSelector, hiddenContentStyle, } from '../../../Styling';\nvar 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};\nexport function getStyles(props) {\n var _a;\n var className = props.className, suggestionsClassName = props.suggestionsClassName, theme = props.theme, forceResolveButtonSelected = props.forceResolveButtonSelected, searchForMoreButtonSelected = props.searchForMoreButtonSelected;\n var palette = theme.palette, semanticColors = theme.semanticColors, fonts = theme.fonts;\n var classNames = getGlobalClassNames(GlobalClassNames, theme);\n var actionButtonStyles = {\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 var actionButtonSelectedStyles = {\n backgroundColor: palette.themeLight,\n selectors: (_a = {},\n _a[HighContrastSelector] = __assign({ backgroundColor: 'Highlight', borderColor: 'Highlight', color: 'HighlightText' }, getHighContrastNoAdjustStyle()),\n _a),\n };\n return {\n root: [\n classNames.root,\n {\n minWidth: 260,\n },\n className,\n ],\n suggestionsContainer: [\n classNames.suggestionsContainer,\n {\n overflowY: 'auto',\n overflowX: 'hidden',\n maxHeight: 300,\n transform: 'translate3d(0,0,0)',\n },\n suggestionsClassName,\n ],\n title: [\n classNames.title,\n {\n padding: '0 12px',\n fontSize: fonts.small.fontSize,\n color: palette.themePrimary,\n lineHeight: 40,\n borderBottom: \"1px solid \" + semanticColors.menuItemBackgroundPressed,\n },\n ],\n forceResolveButton: [\n classNames.forceResolveButton,\n actionButtonStyles,\n forceResolveButtonSelected && [classNames.isSelected, actionButtonSelectedStyles],\n ],\n searchForMoreButton: [\n classNames.searchForMoreButton,\n actionButtonStyles,\n searchForMoreButtonSelected && [classNames.isSelected, actionButtonSelectedStyles],\n ],\n noSuggestions: [\n classNames.noSuggestions,\n {\n textAlign: 'center',\n color: palette.neutralSecondary,\n fontSize: fonts.small.fontSize,\n lineHeight: 30,\n },\n ],\n suggestionsAvailable: [classNames.suggestionsAvailable, hiddenContentStyle],\n subComponentStyles: {\n spinner: {\n root: [\n classNames.spinner,\n {\n margin: '5px 0',\n paddingLeft: 14,\n textAlign: 'left',\n whiteSpace: 'nowrap',\n lineHeight: 20,\n fontSize: fonts.small.fontSize,\n },\n ],\n circle: {\n display: 'inline-block',\n verticalAlign: 'middle',\n },\n label: {\n display: 'inline-block',\n verticalAlign: 'middle',\n margin: '0 10px 0 16px',\n },\n },\n },\n };\n}\n//# sourceMappingURL=Suggestions.styles.js.map","/* eslint-disable */\nimport { loadStyles } from '@microsoft/load-themed-styles';\nloadStyles([{ \"rawString\": \".pickerText_15a92175{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_15a92175:hover{border-color:\" }, { \"theme\": \"inputBorderHovered\", \"defaultValue\": \"#323130\" }, { \"rawString\": \"}.pickerText_15a92175.inputFocused_15a92175{position:relative;border-color:\" }, { \"theme\": \"inputFocusBorderAlt\", \"defaultValue\": \"#0078d4\" }, { \"rawString\": \"}.pickerText_15a92175.inputFocused_15a92175:after{pointer-events:none;content:'';position:absolute;left:-1px;top:-1px;bottom:-1px;right:-1px;border:2px solid \" }, { \"theme\": \"inputFocusBorderAlt\", \"defaultValue\": \"#0078d4\" }, { \"rawString\": \"}@media screen and (-ms-high-contrast:active){.pickerText_15a92175.inputDisabled_15a92175{position:relative;border-color:GrayText}.pickerText_15a92175.inputDisabled_15a92175:after{pointer-events:none;content:'';position:absolute;left:0;top:0;bottom:0;right:0;background-color:Window}}.pickerInput_15a92175{height:34px;border:none;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;outline:0;padding:0 6px 0;-ms-flex-item-align:end;align-self:flex-end}.pickerItems_15a92175{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;max-width:100%}.screenReaderOnly_15a92175{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}\" }]);\nexport var pickerText = \"pickerText_15a92175\";\nexport var inputFocused = \"inputFocused_15a92175\";\nexport var inputDisabled = \"inputDisabled_15a92175\";\nexport var pickerInput = \"pickerInput_15a92175\";\nexport var pickerItems = \"pickerItems_15a92175\";\nexport var screenReaderOnly = \"screenReaderOnly_15a92175\";\n//# sourceMappingURL=BasePicker.scss.js.map","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { Async, KeyCodes, css, elementContains, format, getId, classNamesFunction, styled, initializeComponentRef, } from '../../Utilities';\nimport { Callout } from '../../Callout';\nimport { Selection, SelectionZone, SelectionMode } from '../../utilities/selection/index';\nimport { DirectionalHint } from '../../common/DirectionalHint';\nimport { Suggestions } from './Suggestions/Suggestions';\nimport { getStyles as suggestionsStyles } from './Suggestions/Suggestions.styles';\nimport { SuggestionsController } from './Suggestions/SuggestionsController';\nimport { ValidationState } from './BasePicker.types';\nimport { Autofill } from '../Autofill/index';\nimport * as stylesImport from './BasePicker.scss';\nvar legacyStyles = stylesImport;\nvar getClassNames = classNamesFunction();\n/**\n * Should be removed once new picker without inheritance is created\n */\nfunction getStyledSuggestions(suggestionsType) {\n return styled(suggestionsType, suggestionsStyles, undefined, {\n scope: 'Suggestions',\n });\n}\n/**\n * {@docCategory Pickers}\n */\nvar BasePicker = /** @class */ (function (_super) {\n __extends(BasePicker, _super);\n function BasePicker(basePickerProps) {\n var _this = _super.call(this, basePickerProps) || this;\n // Refs\n _this.root = React.createRef();\n _this.input = React.createRef();\n _this.suggestionElement = React.createRef();\n /**\n * @deprecated this is no longer necessary as typescript now supports generic elements\n */\n _this.SuggestionOfProperType = Suggestions;\n // eslint-disable-next-line deprecation/deprecation\n _this._styledSuggestions = getStyledSuggestions(_this.SuggestionOfProperType);\n _this.dismissSuggestions = function (ev) {\n var selectItemFunction = function () {\n var addItemOnDismiss = true;\n if (_this.props.onDismiss) {\n addItemOnDismiss = _this.props.onDismiss(ev, _this.suggestionStore.currentSuggestion ? _this.suggestionStore.currentSuggestion.item : undefined);\n }\n if (!ev || (ev && !ev.defaultPrevented)) {\n // Select the first suggestion if one is available and permitted by onDismiss when user leaves.\n if (addItemOnDismiss !== false &&\n _this.canAddItems() &&\n _this.suggestionStore.hasSelectedSuggestion() &&\n _this.state.suggestedDisplayValue) {\n _this.addItemByIndex(0);\n }\n }\n };\n if (_this.currentPromise) {\n _this.currentPromise.then(function () { return selectItemFunction(); });\n }\n else {\n selectItemFunction();\n }\n _this.setState({ suggestionsVisible: false });\n };\n _this.refocusSuggestions = function (keyCode) {\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 }\n else if (keyCode === KeyCodes.down) {\n _this.suggestionStore.setSelectedSuggestion(0);\n }\n }\n };\n _this.onInputChange = function (value) {\n _this.updateValue(value);\n _this.setState({\n moreSuggestionsAvailable: true,\n isMostRecentlyUsedVisible: false,\n });\n };\n _this.onSuggestionClick = function (ev, item, index) {\n _this.addItemByIndex(index);\n };\n _this.onSuggestionRemove = function (ev, item, index) {\n if (_this.props.onRemoveSuggestion) {\n _this.props.onRemoveSuggestion(item);\n }\n _this.suggestionStore.removeSuggestion(index);\n };\n _this.onInputFocus = function (ev) {\n _this.selection.setAllSelected(false);\n // Only trigger all of the focus if this component isn't already focused.\n // For example when an item is selected or removed from the selected list it should be treated\n // as though the input is still focused.\n if (!_this.state.isFocused) {\n _this._userTriggeredSuggestions();\n if (_this.props.inputProps && _this.props.inputProps.onFocus) {\n _this.props.inputProps.onFocus(ev);\n }\n }\n };\n _this.onInputBlur = function (ev) {\n if (_this.props.inputProps && _this.props.inputProps.onBlur) {\n _this.props.inputProps.onBlur(ev);\n }\n };\n _this.onBlur = function (ev) {\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 var relatedTarget = ev.relatedTarget;\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)) {\n _this.setState({ isFocused: false });\n if (_this.props.onBlur) {\n _this.props.onBlur(ev);\n }\n }\n }\n };\n /**\n * Reveals suggestions any time the user clicks on the input element\n * without shifting focus.\n */\n _this.onClick = function (ev) {\n if (_this.props.inputProps !== undefined && _this.props.inputProps.onClick !== undefined) {\n _this.props.inputProps.onClick(ev);\n }\n // Only primary (left) clicks show suggestions.\n if (ev.button === 0) {\n _this._userTriggeredSuggestions();\n }\n };\n _this.onFocus = function () {\n if (!_this.state.isFocused) {\n _this.setState({ isFocused: true });\n }\n };\n _this.onKeyDown = function (ev) {\n // eslint-disable-next-line deprecation/deprecation\n var keyCode = ev.which;\n switch (keyCode) {\n case KeyCodes.escape:\n if (_this.state.suggestionsVisible) {\n _this.setState({ suggestionsVisible: false });\n ev.preventDefault();\n ev.stopPropagation();\n }\n break;\n case KeyCodes.tab:\n case KeyCodes.enter:\n if (_this.suggestionElement.current && _this.suggestionElement.current.hasSuggestedActionSelected()) {\n _this.suggestionElement.current.executeSelectedAction();\n }\n else if (!ev.shiftKey && _this.suggestionStore.hasSelectedSuggestion() && _this.state.suggestionsVisible) {\n _this.completeSuggestion();\n ev.preventDefault();\n ev.stopPropagation();\n }\n else {\n _this._completeGenericSuggestion();\n }\n break;\n case KeyCodes.backspace:\n if (!_this.props.disabled) {\n _this.onBackspace(ev);\n }\n ev.stopPropagation();\n break;\n case KeyCodes.del:\n if (!_this.props.disabled) {\n if (_this.input.current &&\n ev.target === _this.input.current.inputElement &&\n _this.state.suggestionsVisible &&\n _this.suggestionStore.currentIndex !== -1) {\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 }\n else {\n _this.onBackspace(ev);\n }\n }\n ev.stopPropagation();\n break;\n case KeyCodes.up:\n if (_this.input.current && ev.target === _this.input.current.inputElement && _this.state.suggestionsVisible) {\n if (_this.suggestionElement.current &&\n _this.suggestionElement.current.tryHandleKeyDown(keyCode, _this.suggestionStore.currentIndex)) {\n ev.preventDefault();\n ev.stopPropagation();\n _this.forceUpdate();\n }\n else {\n if (_this.suggestionElement.current &&\n _this.suggestionElement.current.hasSuggestedAction() &&\n _this.suggestionStore.currentIndex === 0) {\n ev.preventDefault();\n ev.stopPropagation();\n _this.suggestionElement.current.focusAboveSuggestions();\n _this.suggestionStore.deselectAllSuggestions();\n _this.forceUpdate();\n }\n else {\n if (_this.suggestionStore.previousSuggestion()) {\n ev.preventDefault();\n ev.stopPropagation();\n _this.onSuggestionSelect();\n }\n }\n }\n }\n break;\n case KeyCodes.down:\n if (_this.input.current && ev.target === _this.input.current.inputElement && _this.state.suggestionsVisible) {\n if (_this.suggestionElement.current &&\n _this.suggestionElement.current.tryHandleKeyDown(keyCode, _this.suggestionStore.currentIndex)) {\n ev.preventDefault();\n ev.stopPropagation();\n _this.forceUpdate();\n }\n else {\n if (_this.suggestionElement.current &&\n _this.suggestionElement.current.hasSuggestedAction() &&\n _this.suggestionStore.currentIndex + 1 === _this.suggestionStore.suggestions.length) {\n ev.preventDefault();\n ev.stopPropagation();\n _this.suggestionElement.current.focusBelowSuggestions();\n _this.suggestionStore.deselectAllSuggestions();\n _this.forceUpdate();\n }\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 _this.onItemChange = function (changedItem, index) {\n var items = _this.state.items;\n if (index >= 0) {\n var newItems = items;\n newItems[index] = changedItem;\n _this._updateSelectedItems(newItems);\n }\n };\n _this.onGetMoreResults = function () {\n _this.setState({\n isSearching: true,\n }, function () {\n if (_this.props.onGetMoreResults && _this.input.current) {\n var suggestions = _this.props.onGetMoreResults(_this.input.current.value, _this.state.items);\n var suggestionsArray = suggestions;\n var suggestionsPromiseLike = suggestions;\n if (Array.isArray(suggestionsArray)) {\n _this.updateSuggestions(suggestionsArray);\n _this.setState({ isSearching: false });\n }\n else if (suggestionsPromiseLike.then) {\n suggestionsPromiseLike.then(function (newSuggestions) {\n _this.updateSuggestions(newSuggestions);\n _this.setState({ isSearching: false });\n });\n }\n }\n else {\n _this.setState({ isSearching: false });\n }\n if (_this.input.current) {\n _this.input.current.focus();\n }\n _this.setState({\n moreSuggestionsAvailable: false,\n isResultsFooterVisible: true,\n });\n });\n };\n _this.completeSelection = function (item) {\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 _this.addItemByIndex = function (index) {\n _this.completeSelection(_this.suggestionStore.getSuggestionAtIndex(index).item);\n };\n _this.addItem = function (item) {\n var processedItem = _this.props.onItemSelected\n ? _this.props.onItemSelected(item)\n : item;\n if (processedItem === null) {\n return;\n }\n var processedItemObject = processedItem;\n var processedItemPromiseLike = processedItem;\n if (processedItemPromiseLike && processedItemPromiseLike.then) {\n processedItemPromiseLike.then(function (resolvedProcessedItem) {\n var newItems = _this.state.items.concat([resolvedProcessedItem]);\n _this._updateSelectedItems(newItems);\n });\n }\n else {\n var newItems = _this.state.items.concat([processedItemObject]);\n _this._updateSelectedItems(newItems);\n }\n _this.setState({ suggestedDisplayValue: '', selectionRemoved: undefined });\n };\n _this.removeItem = function (item) {\n var items = _this.state.items;\n var index = items.indexOf(item);\n if (index >= 0) {\n var newItems = items.slice(0, index).concat(items.slice(index + 1));\n _this.setState({ selectionRemoved: item });\n _this._updateSelectedItems(newItems);\n }\n };\n _this.removeItems = function (itemsToRemove) {\n var items = _this.state.items;\n var newItems = items.filter(function (item) { return itemsToRemove.indexOf(item) === -1; });\n _this._updateSelectedItems(newItems);\n };\n /**\n * @deprecated this is no longer necessary as focuszone has been removed\n */\n _this._shouldFocusZoneEnterInnerZone = function (ev) {\n // If suggestions are shown const up/down keys control them, otherwise allow them through to control the focusZone.\n if (_this.state.suggestionsVisible) {\n // eslint-disable-next-line deprecation/deprecation\n switch (ev.which) {\n case KeyCodes.up:\n case KeyCodes.down:\n return true;\n }\n }\n // eslint-disable-next-line deprecation/deprecation\n if (ev.which === KeyCodes.enter) {\n return true;\n }\n return false;\n };\n _this._onResolveSuggestions = function (updatedValue) {\n var suggestions = _this.props.onResolveSuggestions(updatedValue, _this.state.items);\n if (suggestions !== null) {\n _this.updateSuggestionsList(suggestions, updatedValue);\n }\n };\n _this._completeGenericSuggestion = function () {\n if (_this.props.onValidateInput &&\n _this.input.current &&\n _this.props.onValidateInput(_this.input.current.value) !== ValidationState.invalid &&\n _this.props.createGenericItem) {\n var itemToConvert = _this.props.createGenericItem(_this.input.current.value, _this.props.onValidateInput(_this.input.current.value));\n _this.suggestionStore.createGenericSuggestion(itemToConvert);\n _this.completeSuggestion();\n }\n };\n /**\n * This should be called when the user does something other than use text entry to trigger suggestions.\n *\n */\n _this._userTriggeredSuggestions = function () {\n if (!_this.state.suggestionsVisible) {\n var input = _this.input.current ? _this.input.current.value : '';\n if (!input) {\n _this.onEmptyInputFocus();\n }\n else {\n if (_this.suggestionStore.suggestions.length === 0) {\n _this._onResolveSuggestions(input);\n }\n else {\n _this.setState({\n isMostRecentlyUsedVisible: false,\n suggestionsVisible: true,\n });\n }\n }\n }\n };\n initializeComponentRef(_this);\n _this._async = new Async(_this);\n var items = basePickerProps.selectedItems || basePickerProps.defaultSelectedItems || [];\n _this._id = getId();\n _this._ariaMap = {\n selectedItems: \"selected-items-\" + _this._id,\n selectedSuggestionAlert: \"selected-suggestion-alert-\" + _this._id,\n suggestionList: \"suggestion-list-\" + _this._id,\n combobox: \"combobox-\" + _this._id,\n };\n _this.suggestionStore = new SuggestionsController();\n _this.selection = new Selection({ onSelectionChanged: function () { return _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 selectionRemoved: undefined,\n };\n return _this;\n }\n BasePicker.getDerivedStateFromProps = function (newProps) {\n if (newProps.selectedItems) {\n return { items: newProps.selectedItems };\n }\n return null;\n };\n Object.defineProperty(BasePicker.prototype, \"items\", {\n get: function () {\n return this.state.items;\n },\n enumerable: false,\n configurable: true\n });\n BasePicker.prototype.componentDidMount = function () {\n this.selection.setItems(this.state.items);\n this._onResolveSuggestions = this._async.debounce(this._onResolveSuggestions, this.props.resolveDelay);\n };\n BasePicker.prototype.componentDidUpdate = function (oldProps, oldState) {\n if (this.state.items && this.state.items !== oldState.items) {\n var currentSelectedIndex = this.selection.getSelectedIndices()[0];\n this.selection.setItems(this.state.items);\n if (this.state.isFocused) {\n // Reset focus and selection so that selected item stays in sync if something\n // has been removed\n if (this.state.items.length < oldState.items.length) {\n this.selection.setIndexSelected(currentSelectedIndex, false, true);\n this.resetFocus(currentSelectedIndex);\n }\n // Reset focus to last item if the input is removed\n else if (this.state.items.length > oldState.items.length && !this.canAddItems()) {\n this.resetFocus(this.state.items.length - 1);\n }\n }\n }\n };\n BasePicker.prototype.componentWillUnmount = function () {\n if (this.currentPromise) {\n this.currentPromise = undefined;\n }\n this._async.dispose();\n };\n BasePicker.prototype.focus = function () {\n if (this.input.current) {\n this.input.current.focus();\n }\n };\n BasePicker.prototype.focusInput = function () {\n if (this.input.current) {\n this.input.current.focus();\n }\n };\n BasePicker.prototype.completeSuggestion = function (forceComplete) {\n if (this.suggestionStore.hasSelectedSuggestion() && this.input.current) {\n this.completeSelection(this.suggestionStore.currentSuggestion.item);\n }\n else if (forceComplete) {\n this._completeGenericSuggestion();\n }\n };\n BasePicker.prototype.render = function () {\n var _a = this.state, suggestedDisplayValue = _a.suggestedDisplayValue, isFocused = _a.isFocused, items = _a.items;\n var _b = this.props, className = _b.className, inputProps = _b.inputProps, disabled = _b.disabled, selectionAriaLabel = _b.selectionAriaLabel, _c = _b.selectionRole, selectionRole = _c === void 0 ? 'list' : _c, theme = _b.theme, styles = _b.styles;\n var suggestionsAvailable = this.state.suggestionsVisible ? this._ariaMap.suggestionList : '';\n // TODO\n // Clean this up by leaving only the first part after removing support for SASS.\n // Currently we can not remove the SASS styles from BasePicker class because it\n // might be used by consumers who created custom pickers from extending from\n // this base class and have not used the new 'styles' prop.\n // We check for 'styles' prop which is going to be injected by the 'styled' HOC\n // for every other already existing picker variant (PeoplePicker, TagPicker)\n // so that we can use the CSS-in-JS styles. If the check fails (ex: custom picker),\n // then we just use the old SASS styles instead.\n var classNames = styles\n ? getClassNames(styles, {\n theme: theme,\n className: className,\n isFocused: isFocused,\n disabled: 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 var comboLabel = this.props['aria-label'] || (inputProps === null || inputProps === void 0 ? void 0 : inputProps['aria-label']);\n // selectionAriaLabel is contained in a separate rather than an aria-label on the items list\n // because if the items list has an aria-label, the aria-describedby on the input will only read\n // that label instead of all the selected items. Using aria-labelledby instead fixes this, since\n // aria-describedby and aria-labelledby will not follow a second aria-labelledby\n return (React.createElement(\"div\", { ref: this.root, className: classNames.root, onKeyDown: this.onKeyDown, onFocus: this.onFocus, onBlur: this.onBlur },\n this.renderCustomAlert(classNames.screenReaderText),\n React.createElement(\"span\", { id: this._ariaMap.selectedItems + \"-label\", hidden: true }, selectionAriaLabel || comboLabel),\n React.createElement(SelectionZone, { selection: this.selection, selectionMode: SelectionMode.multiple },\n React.createElement(\"div\", { className: classNames.text, \"aria-owns\": suggestionsAvailable },\n items.length > 0 && (React.createElement(\"span\", { id: this._ariaMap.selectedItems, className: classNames.itemsWrapper, role: selectionRole, \"aria-labelledby\": this._ariaMap.selectedItems + \"-label\" }, this.renderItems())),\n this.canAddItems() && (React.createElement(Autofill, __assign({ spellCheck: false }, inputProps, { className: classNames.input, componentRef: this.input, id: (inputProps === null || inputProps === void 0 ? void 0 : inputProps.id) ? inputProps.id : this._ariaMap.combobox, onClick: this.onClick, onFocus: this.onInputFocus, onBlur: this.onInputBlur, onInputValueChange: this.onInputChange, suggestedDisplayValue: suggestedDisplayValue, \"aria-activedescendant\": this.getActiveDescendant(), \"aria-controls\": suggestionsAvailable, \"aria-describedby\": items.length > 0 ? this._ariaMap.selectedItems : undefined, \"aria-expanded\": !!this.state.suggestionsVisible, \"aria-haspopup\": \"listbox\", \"aria-label\": comboLabel, role: \"combobox\", disabled: disabled, onInputChange: this.props.onInputChange }))))),\n this.renderSuggestions()));\n };\n BasePicker.prototype.canAddItems = function () {\n var items = this.state.items;\n var itemLimit = this.props.itemLimit;\n return itemLimit === undefined || items.length < itemLimit;\n };\n BasePicker.prototype.renderSuggestions = function () {\n var StyledTypedSuggestions = this._styledSuggestions;\n return this.state.suggestionsVisible && this.input ? (React.createElement(Callout, __assign({ isBeakVisible: false, gapSpace: 5, target: this.input.current ? this.input.current.inputElement : undefined, onDismiss: this.dismissSuggestions, directionalHint: DirectionalHint.bottomLeftEdge, directionalHintForRTL: DirectionalHint.bottomRightEdge }, this.props.pickerCalloutProps),\n React.createElement(StyledTypedSuggestions\n // Assumed to set in derived component's defaultProps\n , __assign({ \n // Assumed to set in derived component's defaultProps\n onRenderSuggestion: this.props.onRenderSuggestionsItem, onSuggestionClick: this.onSuggestionClick, onSuggestionRemove: this.onSuggestionRemove, suggestions: this.suggestionStore.getSuggestions(), componentRef: this.suggestionElement, onGetMoreResults: this.onGetMoreResults, moreSuggestionsAvailable: this.state.moreSuggestionsAvailable, isLoading: this.state.suggestionsLoading, isSearching: this.state.isSearching, isMostRecentlyUsedVisible: this.state.isMostRecentlyUsedVisible, isResultsFooterVisible: this.state.isResultsFooterVisible, refocusSuggestions: this.refocusSuggestions, removeSuggestionAriaLabel: this.props.removeButtonAriaLabel, suggestionsListId: this._ariaMap.suggestionList, createGenericItem: this._completeGenericSuggestion }, this.props.pickerSuggestionsProps)))) : null;\n };\n BasePicker.prototype.renderItems = function () {\n var _this = this;\n var _a = this.props, disabled = _a.disabled, removeButtonAriaLabel = _a.removeButtonAriaLabel, removeButtonIconProps = _a.removeButtonIconProps;\n var onRenderItem = this.props.onRenderItem;\n var _b = this.state, items = _b.items, selectedIndices = _b.selectedIndices;\n return items.map(function (item, index) {\n return onRenderItem({\n item: item,\n index: index,\n key: item.key ? item.key : index,\n selected: selectedIndices.indexOf(index) !== -1,\n onRemoveItem: function () { return _this.removeItem(item); },\n disabled: disabled,\n onItemChange: _this.onItemChange,\n removeButtonAriaLabel: removeButtonAriaLabel,\n removeButtonIconProps: removeButtonIconProps,\n });\n });\n };\n BasePicker.prototype.resetFocus = function (index) {\n var items = this.state.items;\n if (items.length && index >= 0) {\n var newEl = this.root.current &&\n this.root.current.querySelectorAll('[data-selection-index]')[Math.min(index, items.length - 1)];\n if (newEl) {\n newEl.focus();\n }\n }\n else if (!this.canAddItems()) {\n this.resetFocus(items.length - 1);\n }\n else {\n if (this.input.current) {\n this.input.current.focus();\n }\n }\n };\n BasePicker.prototype.onSuggestionSelect = function () {\n if (this.suggestionStore.currentSuggestion) {\n var currentValue = this.input.current ? this.input.current.value : '';\n var itemValue = this._getTextFromItem(this.suggestionStore.currentSuggestion.item, currentValue);\n this.setState({ suggestedDisplayValue: itemValue });\n }\n };\n BasePicker.prototype.onSelectionChange = function () {\n this.setState({\n selectedIndices: this.selection.getSelectedIndices(),\n });\n };\n BasePicker.prototype.updateSuggestions = function (suggestions) {\n this.suggestionStore.updateSuggestions(suggestions, 0);\n this.forceUpdate();\n };\n /**\n * Only to be called when there is nothing in the input. Checks to see if the consumer has\n * provided a function to resolve suggestions\n */\n BasePicker.prototype.onEmptyInputFocus = function () {\n var emptyResolveSuggestions = this.props.onEmptyResolveSuggestions\n ? this.props.onEmptyResolveSuggestions\n : // eslint-disable-next-line deprecation/deprecation\n this.props.onEmptyInputFocus;\n // Only attempt to resolve suggestions if it exists\n if (emptyResolveSuggestions) {\n var suggestions = emptyResolveSuggestions(this.state.items);\n this.updateSuggestionsList(suggestions);\n this.setState({\n isMostRecentlyUsedVisible: true,\n suggestionsVisible: true,\n moreSuggestionsAvailable: false,\n });\n }\n };\n BasePicker.prototype.updateValue = function (updatedValue) {\n this._onResolveSuggestions(updatedValue);\n };\n BasePicker.prototype.updateSuggestionsList = function (suggestions, updatedValue) {\n var _this = this;\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(suggestions)) {\n this._updateAndResolveValue(updatedValue, suggestions);\n }\n else if (suggestions && suggestions.then) {\n this.setState({\n suggestionsLoading: true,\n });\n // Clear suggestions\n this.suggestionStore.updateSuggestions([]);\n if (updatedValue !== undefined) {\n this.setState({\n suggestionsVisible: this._getShowSuggestions(),\n });\n }\n else {\n this.setState({\n suggestionsVisible: this.input.current && this.input.current.inputElement === document.activeElement,\n });\n }\n // Ensure that the promise will only use the callback if it was the most recent one.\n this.currentPromise = suggestions;\n suggestions.then(function (newSuggestions) {\n if (suggestions === _this.currentPromise) {\n _this._updateAndResolveValue(updatedValue, newSuggestions);\n }\n });\n }\n };\n BasePicker.prototype.resolveNewValue = function (updatedValue, suggestions) {\n var _this = this;\n this.updateSuggestions(suggestions);\n var itemValue = undefined;\n if (this.suggestionStore.currentSuggestion) {\n itemValue = this._getTextFromItem(this.suggestionStore.currentSuggestion.item, updatedValue);\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 suggestedDisplayValue: itemValue,\n suggestionsVisible: this._getShowSuggestions(),\n }, function () { return _this.setState({ suggestionsLoading: false }); });\n };\n BasePicker.prototype.onChange = function (items) {\n if (this.props.onChange) {\n this.props.onChange(items);\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 BasePicker.prototype.onBackspace = function (ev) {\n if ((this.state.items.length && !this.input.current) ||\n (this.input.current && !this.input.current.isValueSelected && this.input.current.cursorLocation === 0)) {\n if (this.selection.getSelectedCount() > 0) {\n this.removeItems(this.selection.getSelection());\n }\n else {\n this.removeItem(this.state.items[this.state.items.length - 1]);\n }\n }\n };\n BasePicker.prototype.getActiveDescendant = function () {\n var _a;\n if (this.state.suggestionsLoading) {\n return undefined;\n }\n var currentIndex = this.suggestionStore.currentIndex;\n if (currentIndex < 0) {\n // if the suggestions element has actions and the currentIndex does not point to a suggestion,\n // return the action id\n if ((_a = this.suggestionElement.current) === null || _a === void 0 ? void 0 : _a.hasSuggestedAction()) {\n return 'sug-selectedAction';\n }\n // If there are no suggestions and no action suggested, then return the ID for the no results found.\n if (this.suggestionStore.suggestions.length === 0) {\n return 'sug-noResultsFound';\n }\n return undefined;\n }\n else {\n return \"sug-\" + currentIndex;\n }\n };\n /** @deprecated use renderCustomAlert instead */\n BasePicker.prototype.getSuggestionsAlert = function (suggestionAlertClassName) {\n if (suggestionAlertClassName === void 0) { suggestionAlertClassName = legacyStyles.screenReaderOnly; }\n var currentIndex = this.suggestionStore.currentIndex;\n if (this.props.enableSelectedSuggestionAlert) {\n var selectedSuggestion = currentIndex > -1 ? this.suggestionStore.getSuggestionAtIndex(this.suggestionStore.currentIndex) : undefined;\n var selectedSuggestionAlertText = selectedSuggestion ? selectedSuggestion.ariaLabel : undefined;\n // keeping the id/className here for legacy support\n return (React.createElement(\"div\", { id: this._ariaMap.selectedSuggestionAlert, className: suggestionAlertClassName }, selectedSuggestionAlertText + \" \"));\n }\n };\n BasePicker.prototype.renderCustomAlert = function (alertClassName) {\n if (alertClassName === void 0) { alertClassName = legacyStyles.screenReaderOnly; }\n var _a = this.props.suggestionRemovedText, suggestionRemovedText = _a === void 0 ? 'removed {0}' : _a;\n var removedItemText = '';\n if (this.state.selectionRemoved) {\n var itemName = this._getTextFromItem(this.state.selectionRemoved, '');\n removedItemText = format(suggestionRemovedText, itemName);\n }\n return (React.createElement(\"div\", { className: alertClassName, id: this._ariaMap.selectedSuggestionAlert, \"aria-live\": \"assertive\" },\n // eslint-disable-next-line deprecation/deprecation\n this.getSuggestionsAlert(alertClassName),\n removedItemText));\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 BasePicker.prototype._updateAndResolveValue = function (updatedValue, newSuggestions) {\n if (updatedValue !== undefined) {\n this.resolveNewValue(updatedValue, newSuggestions);\n }\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 * 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 BasePicker.prototype._updateSelectedItems = function (items) {\n var _this = this;\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 }\n else {\n this.setState({ items: items }, function () {\n _this._onSelectedItemsUpdated(items);\n });\n }\n };\n BasePicker.prototype._onSelectedItemsUpdated = function (items) {\n this.onChange(items);\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 BasePicker.prototype._getShowSuggestions = function () {\n var areSuggestionsVisible = this.input.current !== undefined &&\n this.input.current !== null &&\n this.input.current.inputElement === document.activeElement &&\n this.input.current.value !== '';\n return areSuggestionsVisible;\n };\n BasePicker.prototype._getTextFromItem = function (item, currentValue) {\n if (this.props.getTextFromItem) {\n return this.props.getTextFromItem(item, currentValue);\n }\n else {\n return '';\n }\n };\n return BasePicker;\n}(React.Component));\nexport { BasePicker };\nvar BasePickerListBelow = /** @class */ (function (_super) {\n __extends(BasePickerListBelow, _super);\n function BasePickerListBelow() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n BasePickerListBelow.prototype.render = function () {\n var _a = this.state, suggestedDisplayValue = _a.suggestedDisplayValue, isFocused = _a.isFocused;\n var _b = this.props, className = _b.className, inputProps = _b.inputProps, disabled = _b.disabled, selectionAriaLabel = _b.selectionAriaLabel, _c = _b.selectionRole, selectionRole = _c === void 0 ? 'list' : _c, theme = _b.theme, styles = _b.styles;\n var suggestionsAvailable = this.state.suggestionsVisible ? this._ariaMap.suggestionList : '';\n // TODO\n // Clean this up by leaving only the first part after removing support for SASS.\n // Currently we can not remove the SASS styles from BasePicker class because it\n // might be used by consumers who created custom pickers from extending from\n // this base class and have not used the new 'styles' prop.\n // We check for 'styles' prop which is going to be injected by the 'styled' HOC\n // for every other already existing picker variant (PeoplePicker, TagPicker)\n // so that we can use the CSS-in-JS styles. If the check fails (ex: custom picker),\n // then we just use the old SASS styles instead.\n var classNames = styles\n ? getClassNames(styles, {\n theme: theme,\n className: className,\n isFocused: 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, disabled && legacyStyles.inputDisabled),\n itemsWrapper: legacyStyles.pickerItems,\n input: css('ms-BasePicker-input', legacyStyles.pickerInput, inputProps && inputProps.className),\n screenReaderText: legacyStyles.screenReaderOnly,\n };\n var comboLabel = this.props['aria-label'] || (inputProps === null || inputProps === void 0 ? void 0 : inputProps['aria-label']);\n return (React.createElement(\"div\", { ref: this.root, onBlur: this.onBlur, onFocus: this.onFocus },\n React.createElement(\"div\", { className: classNames.root, onKeyDown: this.onKeyDown },\n this.renderCustomAlert(classNames.screenReaderText),\n React.createElement(\"div\", { className: classNames.text, \"aria-owns\": suggestionsAvailable || undefined },\n React.createElement(Autofill, __assign({}, inputProps, { className: classNames.input, componentRef: this.input, onFocus: this.onInputFocus, onBlur: this.onInputBlur, onClick: this.onClick, onInputValueChange: this.onInputChange, suggestedDisplayValue: suggestedDisplayValue, \"aria-activedescendant\": this.getActiveDescendant(), \"aria-controls\": suggestionsAvailable || undefined, \"aria-expanded\": !!this.state.suggestionsVisible, \"aria-haspopup\": \"listbox\", \"aria-label\": comboLabel, role: \"combobox\", id: (inputProps === null || inputProps === void 0 ? void 0 : inputProps.id) ? inputProps.id : this._ariaMap.combobox, disabled: disabled, onInputChange: this.props.onInputChange })))),\n this.renderSuggestions(),\n React.createElement(SelectionZone, { selection: this.selection, selectionMode: SelectionMode.single },\n React.createElement(\"div\", { id: this._ariaMap.selectedItems, className: \"ms-BasePicker-selectedItems\" // just a className hook without any styles applied to it.\n , role: selectionRole, \"aria-label\": selectionAriaLabel || comboLabel }, this.renderItems()))));\n };\n BasePickerListBelow.prototype.onBackspace = function (ev) {\n // override the existing backspace method to not do anything because the list items appear below.\n };\n return BasePickerListBelow;\n}(BasePicker));\nexport { BasePickerListBelow };\n//# sourceMappingURL=BasePicker.js.map","import { __assign } from \"tslib\";\nimport { getGlobalClassNames, getFocusStyle, HighContrastSelector, getHighContrastNoAdjustStyle, } from '../../../../Styling';\nimport { ButtonGlobalClassNames } from '../../../Button/BaseButton.classNames';\nvar 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};\nvar REMOVE_BUTTON_SIZE = 24;\nexport function getStyles(props) {\n var _a, _b, _c, _d, _e, _f, _g;\n var className = props.className, theme = props.theme, selected = props.selected, invalid = props.invalid, disabled = props.disabled;\n var palette = theme.palette, semanticColors = theme.semanticColors, fonts = theme.fonts;\n var classNames = getGlobalClassNames(GlobalClassNames, theme);\n var personaPrimaryTextStyles = [\n selected &&\n !invalid &&\n !disabled && {\n color: palette.white,\n selectors: (_a = {\n ':hover': {\n color: palette.white,\n }\n },\n _a[HighContrastSelector] = {\n color: 'HighlightText',\n },\n _a),\n },\n ((invalid && !selected) || (invalid && selected && disabled)) && {\n color: palette.redDark,\n borderBottom: \"2px dotted \" + palette.redDark,\n selectors: (_b = {},\n _b[\".\" + classNames.root + \":hover &\"] = {\n // override Persona root:hover selector\n color: palette.redDark,\n },\n _b),\n },\n invalid &&\n selected &&\n !disabled && {\n color: palette.white,\n borderBottom: \"2px dotted \" + palette.white,\n },\n disabled && {\n selectors: (_c = {},\n _c[HighContrastSelector] = {\n color: 'GrayText',\n },\n _c),\n },\n ];\n var personaCoinInitialsStyles = [\n invalid && {\n fontSize: fonts.xLarge.fontSize,\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: (_d = {\n ':hover': {\n background: !selected && !disabled ? palette.neutralLight : '',\n }\n },\n _d[HighContrastSelector] = [{ border: '1px solid WindowText' }, disabled && { borderColor: 'GrayText' }],\n _d),\n },\n selected &&\n !disabled && [\n classNames.isSelected,\n {\n background: palette.themePrimary,\n selectors: (_e = {},\n _e[HighContrastSelector] = __assign({ borderColor: 'HighLight', background: 'Highlight' }, getHighContrastNoAdjustStyle()),\n _e),\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: (_f = {\n ':hover': {\n color: palette.white,\n background: palette.themeDark,\n },\n ':active': {\n color: palette.white,\n background: palette.themeDarker,\n }\n },\n _f[HighContrastSelector] = {\n color: 'HighlightText',\n },\n _f),\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: (_g = {},\n _g[\".\" + ButtonGlobalClassNames.msButtonIcon] = {\n color: semanticColors.buttonText,\n },\n _g),\n },\n ],\n subComponentStyles: {\n persona: {\n primaryText: personaPrimaryTextStyles,\n },\n personaCoin: {\n initials: personaCoinInitialsStyles,\n },\n },\n };\n}\n//# sourceMappingURL=PeoplePickerItem.styles.js.map","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { getId, classNamesFunction, styled } from '../../../../Utilities';\nimport { Persona, PersonaSize } from '../../../../Persona';\nimport { IconButton } from '../../../../Button';\nimport { ValidationState } from '../../BasePicker.types';\nimport { getStyles } from './PeoplePickerItem.styles';\nvar getClassNames = classNamesFunction();\nexport var PeoplePickerItemBase = function (props) {\n var item = props.item, onRemoveItem = props.onRemoveItem, index = props.index, selected = props.selected, removeButtonAriaLabel = props.removeButtonAriaLabel, styles = props.styles, theme = props.theme, className = props.className, disabled = props.disabled, removeButtonIconProps = props.removeButtonIconProps;\n var itemId = getId();\n var classNames = getClassNames(styles, {\n theme: theme,\n className: className,\n selected: selected,\n disabled: disabled,\n invalid: item.ValidationState === ValidationState.warning,\n });\n var personaStyles = classNames.subComponentStyles\n ? classNames.subComponentStyles.persona\n : undefined;\n var personaCoinStyles = classNames.subComponentStyles\n ? classNames.subComponentStyles.personaCoin\n : undefined;\n return (React.createElement(\"div\", { className: classNames.root, role: 'listitem' },\n React.createElement(\"div\", { className: classNames.itemContent, id: 'selectedItemPersona-' + itemId },\n React.createElement(Persona, __assign({ size: PersonaSize.size24, styles: personaStyles, coinProps: { styles: personaCoinStyles } }, item))),\n React.createElement(IconButton, { id: itemId, onClick: onRemoveItem, disabled: disabled, iconProps: removeButtonIconProps !== null && removeButtonIconProps !== void 0 ? removeButtonIconProps : { iconName: 'Cancel' }, styles: { icon: { fontSize: '12px' } }, className: classNames.removeButton, ariaLabel: removeButtonAriaLabel, \"aria-labelledby\": itemId + \" selectedItemPersona-\" + itemId, \"data-selection-index\": index })));\n};\nexport var PeoplePickerItem = styled(PeoplePickerItemBase, getStyles, undefined, { scope: 'PeoplePickerItem' });\n//# sourceMappingURL=PeoplePickerItem.js.map","import { getGlobalClassNames, HighContrastSelector } from '../../../../Styling';\nimport { SuggestionsItemGlobalClassNames as suggested } from '../../Suggestions/SuggestionsItem.styles';\nvar GlobalClassNames = {\n root: 'ms-PeoplePicker-personaContent',\n personaWrapper: 'ms-PeoplePicker-Persona',\n};\nexport function getStyles(props) {\n var _a, _b, _c;\n var className = props.className, theme = props.theme;\n var classNames = getGlobalClassNames(GlobalClassNames, theme);\n var textSelectorsStyles = {\n selectors: (_a = {},\n _a[\".\" + suggested.isSuggested + \" &\"] = {\n selectors: (_b = {},\n _b[HighContrastSelector] = {\n color: 'HighlightText',\n },\n _b),\n },\n _a[\".\" + classNames.root + \":hover &\"] = {\n selectors: (_c = {},\n _c[HighContrastSelector] = {\n color: 'HighlightText',\n },\n _c),\n },\n _a),\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//# sourceMappingURL=PeoplePickerItemSuggestion.styles.js.map","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { classNamesFunction, styled } from '../../../../Utilities';\nimport { Persona, PersonaSize } from '../../../../Persona';\nimport { getStyles } from './PeoplePickerItemSuggestion.styles';\nvar getClassNames = classNamesFunction();\nexport var PeoplePickerItemSuggestionBase = function (props) {\n var personaProps = props.personaProps, suggestionsProps = props.suggestionsProps, compact = props.compact, styles = props.styles, theme = props.theme, className = props.className;\n var classNames = getClassNames(styles, {\n theme: theme,\n className: (suggestionsProps && suggestionsProps.suggestionsItemClassName) || className,\n });\n var personaStyles = classNames.subComponentStyles && classNames.subComponentStyles.persona\n ? classNames.subComponentStyles.persona\n : undefined;\n return (React.createElement(\"div\", { className: classNames.root },\n React.createElement(Persona, __assign({ size: PersonaSize.size24, styles: personaStyles, className: classNames.personaWrapper, showSecondaryText: !compact, showOverflowTooltip: false }, personaProps))));\n};\nexport var PeoplePickerItemSuggestion = styled(PeoplePickerItemSuggestionBase, getStyles, undefined, { scope: 'PeoplePickerItemSuggestion' });\n//# sourceMappingURL=PeoplePickerItemSuggestion.js.map","import { getGlobalClassNames, getInputFocusStyle, getPlaceholderStyles, hiddenContentStyle, HighContrastSelector, } from '../../Styling';\nvar GlobalClassNames = {\n root: 'ms-BasePicker',\n text: 'ms-BasePicker-text',\n itemsWrapper: 'ms-BasePicker-itemsWrapper',\n input: 'ms-BasePicker-input',\n};\nexport function getStyles(props) {\n var _a, _b, _c;\n var className = props.className, theme = props.theme, isFocused = props.isFocused, inputClassName = props.inputClassName, disabled = props.disabled;\n if (!theme) {\n throw new Error('theme is undefined or null in base BasePicker getStyles function.');\n }\n var semanticColors = theme.semanticColors, effects = theme.effects, fonts = theme.fonts;\n var inputBorder = semanticColors.inputBorder, inputBorderHovered = semanticColors.inputBorderHovered, inputFocusBorderAlt = semanticColors.inputFocusBorderAlt;\n var classNames = getGlobalClassNames(GlobalClassNames, theme);\n // placeholder style constants\n var placeholderStyles = [\n fonts.medium,\n {\n color: semanticColors.inputPlaceholderText,\n opacity: 1,\n selectors: (_a = {},\n _a[HighContrastSelector] = {\n color: 'GrayText',\n },\n _a),\n },\n ];\n var disabledPlaceholderStyles = {\n color: semanticColors.disabledText,\n selectors: (_b = {},\n _b[HighContrastSelector] = {\n color: 'GrayText',\n },\n _b),\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 var disabledOverlayColor = 'rgba(218, 218, 218, 0.29)';\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: (_c = {\n ':after': {\n content: '\"\"',\n position: 'absolute',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n background: disabledOverlayColor,\n }\n },\n _c[HighContrastSelector] = {\n borderColor: 'GrayText',\n selectors: {\n ':after': {\n background: 'none',\n },\n },\n },\n _c),\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 getPlaceholderStyles(placeholderStyles),\n disabled && getPlaceholderStyles(disabledPlaceholderStyles),\n inputClassName,\n ],\n screenReaderText: hiddenContentStyle,\n };\n}\n//# sourceMappingURL=BasePicker.styles.js.map","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { getRTL, getInitials, styled } from '../../../Utilities';\nimport { BasePicker, BasePickerListBelow } from '../BasePicker';\nimport { ValidationState } from '../BasePicker.types';\nimport { PeoplePickerItem } from './PeoplePickerItems/PeoplePickerItem';\nimport { PeoplePickerItemSuggestion } from './PeoplePickerItems/PeoplePickerItemSuggestion';\nimport { getStyles } from '../BasePicker.styles';\n/**\n * {@docCategory PeoplePicker}\n */\nvar BasePeoplePicker = /** @class */ (function (_super) {\n __extends(BasePeoplePicker, _super);\n function BasePeoplePicker() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return BasePeoplePicker;\n}(BasePicker));\nexport { BasePeoplePicker };\n/**\n * {@docCategory PeoplePicker}\n */\nvar MemberListPeoplePicker = /** @class */ (function (_super) {\n __extends(MemberListPeoplePicker, _super);\n function MemberListPeoplePicker() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return MemberListPeoplePicker;\n}(BasePickerListBelow));\nexport { MemberListPeoplePicker };\n/**\n * Standard People Picker.\n * {@docCategory PeoplePicker}\n */\nvar NormalPeoplePickerBase = /** @class */ (function (_super) {\n __extends(NormalPeoplePickerBase, _super);\n function NormalPeoplePickerBase() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /** Default props for NormalPeoplePicker. */\n NormalPeoplePickerBase.defaultProps = {\n onRenderItem: function (props) { return React.createElement(PeoplePickerItem, __assign({}, props)); },\n onRenderSuggestionsItem: function (personaProps, suggestionsProps) { return (React.createElement(PeoplePickerItemSuggestion, { personaProps: personaProps, suggestionsProps: suggestionsProps })); },\n createGenericItem: createGenericItem,\n };\n return NormalPeoplePickerBase;\n}(BasePeoplePicker));\nexport { NormalPeoplePickerBase };\n/**\n * Compact layout. It uses personas without secondary text when displaying search results.\n * {@docCategory PeoplePicker}\n */\nvar CompactPeoplePickerBase = /** @class */ (function (_super) {\n __extends(CompactPeoplePickerBase, _super);\n function CompactPeoplePickerBase() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /** Default props for CompactPeoplePicker. */\n CompactPeoplePickerBase.defaultProps = {\n onRenderItem: function (props) { return React.createElement(PeoplePickerItem, __assign({}, props)); },\n onRenderSuggestionsItem: function (personaProps, suggestionsProps) { return (React.createElement(PeoplePickerItemSuggestion, { personaProps: personaProps, suggestionsProps: suggestionsProps, compact: true })); },\n createGenericItem: createGenericItem,\n };\n return CompactPeoplePickerBase;\n}(BasePeoplePicker));\nexport { CompactPeoplePickerBase };\n/**\n * MemberList layout. The selected people show up below the search box.\n * {@docCategory PeoplePicker}\n */\nvar ListPeoplePickerBase = /** @class */ (function (_super) {\n __extends(ListPeoplePickerBase, _super);\n function ListPeoplePickerBase() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /** Default props for ListPeoplePicker. */\n ListPeoplePickerBase.defaultProps = {\n onRenderItem: function (props) { return React.createElement(PeoplePickerItem, __assign({}, props)); },\n onRenderSuggestionsItem: function (personaProps, suggestionsProps) { return (React.createElement(PeoplePickerItemSuggestion, { personaProps: personaProps, suggestionsProps: suggestionsProps })); },\n createGenericItem: createGenericItem,\n };\n return ListPeoplePickerBase;\n}(MemberListPeoplePicker));\nexport { ListPeoplePickerBase };\n/**\n * {@docCategory PeoplePicker}\n */\nexport function createGenericItem(name, currentValidationState) {\n var personaToConvert = {\n key: name,\n primaryText: name,\n imageInitials: '!',\n ValidationState: currentValidationState,\n };\n if (currentValidationState !== ValidationState.warning) {\n personaToConvert.imageInitials = getInitials(name, getRTL());\n }\n return personaToConvert;\n}\nexport var NormalPeoplePicker = styled(NormalPeoplePickerBase, getStyles, undefined, {\n scope: 'NormalPeoplePicker',\n});\nexport var CompactPeoplePicker = styled(CompactPeoplePickerBase, getStyles, undefined, {\n scope: 'CompactPeoplePicker',\n});\nexport var ListPeoplePicker = styled(ListPeoplePickerBase, getStyles, undefined, {\n scope: 'ListPeoplePickerBase',\n});\n//# sourceMappingURL=PeoplePicker.js.map","import { getGlobalClassNames, getFocusStyle, HighContrastSelector } from '../../../Styling';\nimport { ButtonGlobalClassNames } from '../../Button/BaseButton.classNames';\nimport { getRTL } from '../../../Utilities';\nvar GlobalClassNames = {\n root: 'ms-TagItem',\n text: 'ms-TagItem-text',\n close: 'ms-TagItem-close',\n isSelected: 'is-selected',\n};\nvar TAG_HEIGHT = 26;\nexport function getStyles(props) {\n var _a, _b, _c, _d;\n var className = props.className, theme = props.theme, selected = props.selected, disabled = props.disabled;\n var palette = theme.palette, effects = theme.effects, fonts = theme.fonts, semanticColors = theme.semanticColors;\n var classNames = getGlobalClassNames(GlobalClassNames, theme);\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,\n borderRadius: effects.roundedCorner2,\n color: semanticColors.inputText,\n background: palette.neutralLighter,\n selectors: (_a = {\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 ],\n ':focus-within': [\n !disabled && {\n background: palette.themePrimary,\n color: palette.white,\n },\n ]\n },\n _a[HighContrastSelector] = {\n border: \"1px solid \" + (!selected ? 'WindowText' : 'WindowFrame'),\n },\n _a),\n },\n disabled && {\n selectors: (_b = {},\n _b[HighContrastSelector] = {\n borderColor: 'GrayText',\n },\n _b),\n },\n selected && !disabled && [classNames.isSelected],\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: (_c = {},\n _c[HighContrastSelector] = {\n color: 'GrayText',\n },\n _c),\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 ':focus': {\n color: palette.white,\n background: palette.themePrimary,\n },\n ':focus:hover': {\n color: palette.white,\n background: palette.themeDark,\n },\n ':active': {\n color: palette.white,\n backgroundColor: palette.themeDark,\n },\n },\n },\n disabled && {\n selectors: (_d = {},\n _d[\".\" + ButtonGlobalClassNames.msButtonIcon] = {\n color: palette.neutralSecondary,\n },\n _d),\n },\n ],\n };\n}\n//# sourceMappingURL=TagItem.styles.js.map","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { styled, classNamesFunction } from '../../../Utilities';\nimport { IconButton } from '../../../Button';\nimport { getStyles } from './TagItem.styles';\nimport { useId } from '@fluentui/react-hooks';\nvar getClassNames = classNamesFunction();\n/**\n * {@docCategory TagPicker}\n */\nexport var TagItemBase = function (props) {\n var theme = props.theme, styles = props.styles, selected = props.selected, disabled = props.disabled, enableTagFocusInDisabledPicker = props.enableTagFocusInDisabledPicker, children = props.children, className = props.className, index = props.index, onRemoveItem = props.onRemoveItem, removeButtonAriaLabel = props.removeButtonAriaLabel, _a = props.title, title = _a === void 0 ? typeof props.children === 'string' ? props.children : props.item.name : _a, removeButtonIconProps = props.removeButtonIconProps;\n var classNames = getClassNames(styles, {\n theme: theme,\n className: className,\n selected: selected,\n disabled: disabled,\n });\n var itemId = useId();\n var disabledAttrs = enableTagFocusInDisabledPicker\n ? {\n 'aria-disabled': disabled,\n tabindex: 0,\n }\n : {\n disabled: disabled,\n };\n return (React.createElement(\"div\", { className: classNames.root, role: 'listitem', key: index },\n React.createElement(\"span\", { className: classNames.text, title: title, id: itemId + \"-text\" }, children),\n React.createElement(IconButton, __assign({ id: itemId, onClick: onRemoveItem }, disabledAttrs, { iconProps: removeButtonIconProps !== null && removeButtonIconProps !== void 0 ? removeButtonIconProps : { iconName: 'Cancel' }, styles: { icon: { fontSize: '12px' } }, className: classNames.close, ariaLabel: removeButtonAriaLabel, \"aria-labelledby\": itemId + \" \" + itemId + \"-text\", \"data-selection-index\": index }))));\n};\nexport var TagItem = styled(TagItemBase, getStyles, undefined, {\n scope: 'TagItem',\n});\n//# sourceMappingURL=TagItem.js.map","import { getGlobalClassNames } from '../../../Styling';\nvar GlobalClassNames = {\n suggestionTextOverflow: 'ms-TagItem-TextOverflow',\n};\nexport function getStyles(props) {\n var className = props.className, theme = props.theme;\n var classNames = getGlobalClassNames(GlobalClassNames, theme);\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//# sourceMappingURL=TagItemSuggestion.styles.js.map","import * as React from 'react';\nimport { classNamesFunction, styled } from '../../../Utilities';\nimport { getStyles } from './TagItemSuggestion.styles';\nvar getClassNames = classNamesFunction();\n/**\n * {@docCategory TagPicker}\n */\nexport var TagItemSuggestionBase = function (props) {\n var styles = props.styles, theme = props.theme, children = props.children;\n var classNames = getClassNames(styles, {\n theme: theme,\n });\n return React.createElement(\"div\", { className: classNames.suggestionTextOverflow },\n \" \",\n children,\n \" \");\n};\nexport var TagItemSuggestion = styled(TagItemSuggestionBase, getStyles, undefined, { scope: 'TagItemSuggestion' });\n//# sourceMappingURL=TagItemSuggestion.js.map","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { styled, initializeComponentRef } from '../../../Utilities';\nimport { BasePicker } from '../BasePicker';\nimport { getStyles } from '../BasePicker.styles';\nimport { TagItem } from './TagItem';\nimport { TagItemSuggestion } from './TagItemSuggestion';\n/**\n * {@docCategory TagPicker}\n */\nvar TagPickerBase = /** @class */ (function (_super) {\n __extends(TagPickerBase, _super);\n function TagPickerBase(props) {\n var _this = _super.call(this, props) || this;\n initializeComponentRef(_this);\n return _this;\n }\n TagPickerBase.defaultProps = {\n onRenderItem: function (props) { return React.createElement(TagItem, __assign({}, props), props.item.name); },\n onRenderSuggestionsItem: function (props) { return React.createElement(TagItemSuggestion, null, props.name); },\n };\n return TagPickerBase;\n}(BasePicker));\nexport { TagPickerBase };\nexport var TagPicker = styled(TagPickerBase, getStyles, undefined, {\n scope: 'TagPicker',\n});\n//# sourceMappingURL=TagPicker.js.map"],"names":["registerPersistedKeytips","keytipsToRegister","keytipManager","registeredPersistedKeytips","_i","keytipsToRegister_1","length","keytip","register","unregisterPersistedKeytips","_a","Object","keys","uniqueID","unregister","OverflowButton","props","KeytipManager","getInstance","className","overflowItems","keytipSequences","itemSubMenuProvider","onRenderOverflowButton","persistedKeytips","useConst","getSubMenuForItem","item","subMenuProps","items","newKeytipsToRegister","newOverflowItems","forEach","overflowItem","keytipProps","persistedKeytip","content","keySequences","disabled","isDisabled","hasDynamicChildren","hasMenu","onExecute","menuExecute","bind","hasOverflowSubMenu","push","newOverflowItem","overflowSetSequence","modifiedOverflowItems","prevPersistedKeytips","usePrevious","useKeytipRegistrations","getClassNames","classNamesFunction","OverflowSetBase","forwardedRef","divContainer","mergedRef","useMergedRefs","componentRef","focus","focusSucceeded","current","focusElement","childElement","elementContains","document","activeElement","useComponentRef","styles","vertical","role","overflowSide","onRenderItem","classNames","showOverflow","undefined","root","ref","overflowButton","map","i","key","displayName","overflowItemStyle","flexShrink","display","OverflowSet","styled","position","flexWrap","flexDirection","scope","OverlayBase","_super","_this","call","this","allowTouchBodyScroll","_allowTouchBodyScroll","prototype","componentDidMount","componentWillUnmount","render","isDark","isDarkThemed","theme","divProps","GlobalClassNames","rootDark","Overlay","isNone","palette","getGlobalClassNames","fonts","medium","backgroundColor","whiteTranslucent40","top","right","bottom","left","selectors","HighContrastSelector","border","opacity","visibility","blackTranslucent40","PanelVisibilityState","PanelBase","_panel","_animationCallback","_hasCustomNavigation","onRenderNavigation","onRenderNavigationContent","dismiss","ev","onDismiss","isActive","defaultPrevented","close","_allowScrollOnPanel","elt","_events","off","_scrollableContent","_onRenderNavigation","hasCloseButton","_onRenderNavigationContent","_classNames","navigation","closeButtonAriaLabel","_b","onRenderHeader","_onRenderHeader","iconButtonStyles","subComponentStyles","closeButton","_headerTextId","onClick","_onPanelClick","ariaLabel","title","iconProps","iconName","defaultRender","headerTextId","headerText","headerTextProps","header","id","_onRenderBody","children","_onRenderFooter","onRenderFooterContent","footer","footerInner","_animateTo","newVisibilityState","open","onOpen","_async","setTimeout","setState","_onTransitionComplete","_clearExistingAnimationTimer","clearTimeout","_updateFooterPosition","state","onOpened","closed","onDismissed","ignoreExternalFocusing","forceFocusInsideTrap","firstFocusableSelector","isFooterSticky","getDerivedStateFromProps","nextProps","prevState","isOpen","animatingClosed","animatingOpen","on","window","_shouldListenForOuterClick","body","_dismissOnOuterClick","componentDidUpdate","previousProps","previousState","shouldListenOnOuterClick","previousShouldListenOnOuterClick","dispose","elementToFocusOnDismiss","focusTrapZoneProps","_c","headerClassName","isBlocking","isFooterAtBottom","isLightDismiss","isHiddenOnDismiss","layerProps","overlayProps","popupProps","type","customWidth","_d","onLightDismissClick","_e","_f","_g","onRenderBody","_h","onRenderFooter","_j","isLeft","smallFixedNear","customNear","isOnRightSide","customWidthStyles","custom","width","nativeProps","isAnimating","focusTrapZoneClassName","hasCustomNavigation","overlay","ariaLabelledBy","hiddenPanel","isClickableOutsideFocusTrap","main","style","contentInner","scrollableContent","commands","defineProperty","get","enumerable","configurable","height","clientHeight","innerHeight_1","scrollHeight","panel","target","onOuterClick","defaultProps","smallFixedFar","smallFluid","large","largeFixed","extraLarge","panelWidth","panelMargin","smallPanelSelectors","ScreenWidthMinMedium","mediumPanelSelectors","ScreenWidthMinLarge","ScreenWidthMinXLarge","largePanelSelectors","ScreenWidthMinUhfMobile","ScreenWidthMinXXLarge","largeFixedPanelSelectors","extraLargePanelSelectors","getPanelBreakpoints","sharedPaddingStyles","paddingLeft","paddingRight","Panel","effects","semanticColors","isCustomPanel","pointerEvents","cursor","AnimationClassNames","fadeIn100","fadeOut100","bodyBackground","boxShadow","elevation64","overflowX","overflowY","WebkitOverflowScrolling","borderLeft","variantBorder","borderRight","maxWidth","slideRightIn40","slideLeftIn40","slideLeftOut40","slideRightOut40","marginTop","zIndex","justifyContent","flexGrow","alignSelf","xLarge","color","bodyText","lineHeight","overflowWrap","wordWrap","wordBreak","hyphens","paddingBottom","borderTop","transition","AnimationVariables","durationValue3","easeFunction2","background","borderTopColor","paddingTop","marginRight","neutralSecondary","fontSize","IconFontSizes","rootHovered","neutralPrimary","PanelType","DEFAULT_PROPS","size","size48","presence","none","imageAlt","showOverflowTooltip","PersonaBase","propsWithoutDefaults","rootRef","mergedRootRef","getText","text","primaryText","renderElement","elementClassNames","renderFunction","defaultRenderFunction","dir","onRenderText","tooltip","overflowMode","Parent","directionalHint","topLeftEdge","onInternalRenderPrimaryText","onInternalRenderSecondaryText","secondaryText","onInternalRenderTertiaryText","tertiaryText","onInternalRenderOptionalText","optionalText","hidePersonaDetails","onRenderOptionalText","onRenderPrimaryText","onRenderSecondaryText","onRenderTertiaryText","onRenderPersonaCoin","providedCoinProps","allowPhoneInitials","coinProps","showUnknownPersonaCoin","coinSize","imageInitials","imageShouldFadeIn","imageShouldStartVisible","imageUrl","initialsColor","initialsTextColor","isOutOfOffice","onPhotoLoadingStateChange","onRenderCoin","onRenderInitials","presenceTitle","presenceColors","showInitialsUntilImageLoads","showSecondaryText","personaCoinProps","personaDetails","details","minWidth","size8","size10","tiny","size16","size24","size28","size32","size40","size56","size72","size100","size120","available","away","blocked","busy","doNotDisturb","offline","textContent","Persona","showSecondaryTextDefaultHeight","sharedTextStyles","bodySubtext","fontWeight","FontWeights","regular","small","normalize","alignItems","isSize8","isSize10","isSize16","isSize24","isSize28","isSize32","isSize40","isSize48","isSize56","isSize72","isSize100","isSize120","isAvailable","isAway","isBlocked","isBusy","isDoNotDisturb","isOffline","padding","textAlign","noWrap","inputTextHovered","PersonaSize","PersonaPresence","PersonaInitialsColor","cacheSize","PersonaPresenceBase","renderIcon","presenceHeightWidth","presenceMaxSize","coinSizeWithPresenceIconStyle","presenceFontMaxSize","coinSizeWithPresenceStyle","Icon","I","presenceIcon","determineIcon","oofIcon","makeOpenCircleIconStyle","borderColor","makeBeforeBorderStyle","borderSize","makeSizeStyle","presenceColorAvailable","presenceColorAway","presenceColorBusy","presenceColorDnd","dnd","presenceColorOffline","presenceColorOof","oof","presenceColorBackground","isOpenCirclePresence","size12","borderRadius","boxSizing","backgroundClip","getHighContrastNoAdjustStyle","size6","borderWidth","size20","transform","verticalAlign","getInitialsStyles","memoize","mergeStyles","PersonaCoinBase","getPropsWithDefaults","notLoaded","imageLoadState","setImageLoadstate","loadState","useImageLoadState","onLoadingStateChange","renderCoin","getCoinRenderer","renderPersonaCoinInitials","divCoinProps","coinSizeStyle","hideImage","personaPresenceProps","shouldRenderInitials","Boolean","loaded","error","coin","imageArea","initials","size10WithoutPresenceIcon","dimension","Image","image","imageFit","cover","src","alt","shouldFadeIn","shouldStartVisible","isRTL","PersonaCoin","xSmall","flex","overflow","perspective","white","semibold","mediumPlus","xxLarge","superLarge","personaSize","personaPresenceSize","sizeBoolean","extraExtraSmall","extraSmall","sizeToPixels","presenceBoolean","online","COLOR_SWATCHES_LOOKUP","lightBlue","blue","darkBlue","teal","green","darkGreen","lightPink","pink","magenta","purple","orange","lightRed","darkRed","violet","gold","burgundy","warmGray","cyan","rust","coolGray","COLOR_SWATCHES_NUM_ENTRIES","getPersonaInitialsColor","personaInitialsColor","lightGreen","red","transparent","black","gray","personaInitialsColorToHexCode","hashCode","iLen","ch","charCodeAt","shift","getInitialsColorFromName","getLinkItems","pivotId","result","links","keyToIndexMapping","keyToTabIdMapping","toArray","child","index","isPivotItem","linkText","pivotItemProps","itemKey","toString","getTabId","name","PivotBase","focusZoneRef","overflowMenuButtonComponentRef","selectedKey","defaultSelectedKey","setSelectedKey","linkSize","linkFormat","overflowBehavior","overflowAriaLabel","focusZoneProps","nameProps","linkCollection","renderLinkContent","link","itemCount","itemIcon","linkContent","icon","count","renderPivotLink","renderLinkCollection","renderPivotLinkSelectedKey","headerButtonProps","onRenderItemLink","tabId","isSelected","contentString","linkIsSelected","onLinkClick","onKeyDown","preventDefault","updateSelectedItem","which","enter","selectedIndex","dismissMenu","renderedSelectedKey","getSelectedKey","renderedSelectedIndex","l","overflowMenuProps","alignTargetEdge","bottomRightEdge","overflowMenuButtonRef","onOverflowItemsChanged","overflowIndex","elements","ele","isOverflowing","dataset","slice","filter","onRender","linkInMenu","rtl","pinnedIndex","menuButtonRef","direction","horizontal","overflowMenuButton","elementRef","menuProps","menuIconProps","alwaysRender","headersOnly","selectedTabId","hidden","itemContainer","renderPivotItem","globalClassNames","rootIsLarge","rootIsTabs","getLinkStyles","isLinkInOverflowMenu","actionLink","buttonBackgroundHovered","buttonTextHovered","buttonBackgroundPressed","outline","focusBorder","durationValue2","bold","buttonBackground","outlineOffset","buttonTextCheckedHovered","primaryButtonText","primaryButtonBackground","primaryButtonBackgroundHovered","primaryButtonBackgroundPressed","Pivot","whiteSpace","inputBackgroundChecked","marginLeft","PivotLinkFormat","PivotLinkSize","PivotItem","defaultFocusRestorer","options","originalElement","containsFocus","findSiblingNodes","node","parentNode","Popup","shouldRestoreFocus","isModalOrPanel","targetDocument","popupPortalNode","parentElement","nodesToHide_1","popupAncestorNode","currNode","findAncestorNode","concat","tagName","hasAttribute","setAttribute","removeAttribute","useHideSiblingNodes","onRestoreFocus","originalFocusedElement","documentContainsFocus","hasFocus","relatedTarget","contains","useRestoreFocus","ariaDescribedBy","needsVerticalScrollBar","async","needsVerticalScrollBarState","setNeedsVerticalScrollBar","requestAnimationFrame","firstElementChild","rootHeight","firstChildHeight","useScrollbarAsync","escape","stopPropagation","win","ProgressIndicatorBase","_onRenderProgress","ariaValueText","barHeight","description","label","percentComplete","Math","min","max","indeterminate","progressBarStyles","ariaValueMin","ariaValueMax","ariaValueNow","floor","itemProgress","progressTrack","progressBar","_descriptionId","_labelId","progressHidden","onRenderProgress","itemName","itemDescription","IndeterminateProgress","keyframes","IndeterminateProgressRTL","ProgressIndicator","progressTrackColor","neutralLight","marginBetweenText","textHeight","borderBottom","themePrimary","animation","rootIsSmall","ratingStar","ratingStarBack","ratingStarFront","ratingButton","ratingStarIsSmall","ratingStartIsLarge","labelText","ratingFocusZone","_getColorWithHighContrast","highContrastColor","RatingSize","RatingStar","fillPercentage","unselectedIcon","getStarId","starNum","RatingBase","useId","labelId","ariaLabelFormat","getAriaLabel","minFromProps","allowZeroStars","readOnly","onRenderStar","useControllableValue","rating","defaultRating","onChange","setRating","displayRating","getClampedRating","readOnlyAriaLabel","normalModeAriaLabel","stars","_loop_1","starProps","renderer","ceilValue","ceil","getFillingPercentage","onSelectStar","css","Large","ratingStarIsLarge","onFocus","rootSizeClass","FocusZone","bidirectional","defaultActiveElement","allowFocusRoot","tabIndex","Rating","ratingStarUncheckedColor","ratingStarUncheckedHoverColor","ratingStarUncheckedHoverSelectedColor","themeDark","ratingStarCheckedColor","ratingStarDisabledColor","disabledBodySubtext","ratingSmallIconSize","ratingLargeIconSize","getFocusStyle","ratingVerticalPadding","margin","hiddenContentStyle","getMeasurementCache","measurementsCache","getCachedMeasurement","data","cacheKey","hasOwnProperty","addMeasurementToCache","measurement","getNextResizeGroupStateProvider","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","resizeDataReducer","action","value","useResizingBehavior","nextResizeGroupStateProvider","initialHiddenDiv","updateHiddenDiv","hasRenderedContent","initialStateData","resizeData","dispatchResizeDataAction","stateRef","useResizeState","updateResizeState","remeasure","dataDidRender","containerDimension","boundingRect","getBoundingClientRect","refToMeasure","scrollWidth","debounce","leading","dataNeedsMeasuring","isInitialMeasure","measuredContextValue","ResizeGroupBase","onRenderData","Provider","ResizeGroup","ResizeGroupDirection","ScrollbarVisibility","auto","always","ScrollablePaneContext","scrollablePane","contentContainer","ScrollablePaneBase","_root","_stickyAboveRef","_stickyBelowRef","_contentContainer","subscribe","handler","_subscribers","add","unsubscribe","delete","addSticky","sticky","_stickies","setDistanceFromTop","sortSticky","removeSticky","_removeStickyFromContainers","notifySubscribers","sortAgain","stickyAbove","stickyBelow","canStickyTop","stickyContentTop","_addToStickyContainer","canStickyBottom","stickyContentBottom","updateStickyRefHeights","stickyItems","stickyTopHeight","stickyBottomHeight","isStickyTop","isStickyBottom","nonStickyContent","offsetHeight","_checkStickyStatus","handle","getScrollPosition","scrollTop","syncScrollSticky","syncScroll","_getScrollablePaneContext","stickyContainer","stickyContentToAdd","stickyChildrenElements_1","stickyList_1","stickyItem","targetStickyToAppendBefore","stickyListSorted_1","sort","a","b","distanceFromTop","stickyContent","indexOf","stickyListItem","targetContainer","insertBefore","appendChild","removeChild","_onWindowResize","scrollbarWidth","_getScrollbarWidth","scrollbarHeight","_getScrollbarHeight","_getStickyContainerStyle","isTop","_onScroll","_notifyThrottled","Set","initializeComponentRef","Async","EventGroup","throttle","initialScrollPosition","setStickiesDistanceFromTop","_mutationObserver","MutationObserver","mutation","some","mutationRecord","stickyList_2","forceUpdate","observe","childList","attributes","subtree","characterData","disconnect","shouldComponentUpdate","prevProps","scrollContainerFocus","scrollContainerAriaLabel","scrollbarVisibility","scrollContainerProps","stickyBelowItems","forceLayoutUpdate","resetSticky","offsetWidth","clientWidth","ScrollablePane","AboveAndBelowStyles","positioningStyle","COMPONENT_NAME","iconButtonProps","defaultClearButtonProps","SearchBoxBase","defaultValue","underlined","placeholder","clearButtonProps","disableAnimation","showIcon","customOnClear","onClear","customOnBlur","onBlur","customOnEscape","onEscape","customOnSearch","onSearch","customOnKeyDown","onChanged","setHasFocus","uncastValue","setValue","String","rootElementRef","inputElementRef","customOnClearClick","hasInput","onClearClick","onInputChange","onFocusCapture","iconContainer","selectionStart","selectionEnd","field","onInput","clearButton","SearchBox","placeholderStyles","inputPlaceholderText","inputIconAlt","inputIconAltHovered","inputBorderDisabled","neutralLighter","inputBackgroundHovered","inputBackgroundDisabled","inputText","inputBackground","roundedCorner2","inputBorder","inputBorderHovered","inputIconHovered","getInputFocusStyle","inputFocusBorderAlt","inputIcon","inputIconDisabled","durationValue1","flexBasis","getPlaceholderStyles","fontFamily","textOverflow","disabledText","BaseSelectedItemsList","basePickerProps","addItems","processedItems","onItemSelected","processedItemObjects","processedItemPromiseLikes","then","resolvedProcessedItems","newItems","updateItems","removeItemAt","_canRemoveItem","onItemsDeleted","removeItem","replaceItem","itemToReplace","itemsToReplaceWith","removeItems","itemsToRemove","itemsCanRemove","firstItemToRemove","onCopy","onCopyItems","selection","getSelectedCount","selectedItems","getSelection","copyItems","renderItems","removeButtonAriaLabel","selected","isIndexSelected","onRemoveItem","onItemChange","onCopyItem","itemToCopy","onSelectionChanged","changedItem","defaultSelectedItems","_defaultSelection","Selection","newProps","removeSelectedItems","focusIndex","_onSelectedItemsUpdated","hasSelectedItems","oldProps","oldState","setItems","unselectAll","setAllSelected","highlightedItems","copyText","copyInput","createElement","select","execCommand","Error","err","canRemoveItem","personaContainer","hover","actionButton","personaContainerIsSelected","validationError","itemContent","removeButton","expandButton","personaWrapper","ExtendedSelectedItem","persona","contextualMenuVisible","onExpandItem","itemId","getId","isValid","canExpand","IconButton","_onClickIconButton","renderPersonaCoin","renderPrimaryText","SelectedItemWithContextMenu","itemElement","_onClick","beginEditing","_onCloseContextualMenu","onContextMenu","renderedItem","ContextualMenu","menuItems","shouldFocusOnMount","DirectionalHint","bottomLeftEdge","input","getStyles","prop","getTheme","EditingItem","_editingFloatingPicker","_renderEditingSuggestions","FloatingPicker","onRenderFloatingPicker","floatingPickerProps","_onSuggestionSelected","inputElement","_editingInput","_resolveInputRef","_onInputClick","showPicker","_onInputBlur","forceResolveSuggestion","_onInputChange","onQueryStringChanged","onEditingComplete","itemText","getEditingItemText","autoCapitalize","autoComplete","_onInputKeyDown","KeyCodes","backspace","del","BasePeopleSelectedItemsList","apply","arguments","SelectedPeopleList","_renderItem","_beginEditing","isEditing","_completeEditing","oldItem","newItem","expandGroup","onExpandGroup","_createMenuItems","hasContextMenu","editMenuItemText","menuItem","removeMenuItemText","copyMenuItemText","SeparatorBase","alignContent","Separator","alignStart","alignCenter","alignEnd","ShimmerBase","shimmerElements","customElementsGroup","shimmerColors","isDataLoaded","transitionAnimationInterval","shimmerColor","shimmer","shimmerWaveColor","shimmerWave","internalState","lastTimeoutId","contentLoaded","setContentLoaded","divStyleProp","shimmerWrapper","shimmerGradient","dataWrapper","screenReaderText","shimmerAnimation","shimmerAnimationRTL","Shimmer","disabledBackground","bodyDivider","animationDuration","animationTimingFunction","animationDirection","animationIterationCount","animationName","ShimmerElementType","ShimmerElementsDefaultHeights","ShimmerCircleBase","borderStyle","viewBox","svg","d","ShimmerCircle","borderStyles","borderTopStyle","borderBottomStyle","fill","ShimmerElementsGroupBase","rowHeight","shimmerElementsDefaulted","element","circle","line","gap","reduce","acc","next","findMaxElementHeight","renderedElements","filteredElem","getElementStyles","getRenderedElements","elementType","elementHeight","dif","borderBottomWidth","borderTopWidth","topLeftCorner","topRightCorner","bottomLeftCorner","bottomRightCorner","ShimmerElementsGroup","ShimmerGapBase","ShimmerGap","ShimmerLineBase","ShimmerLine","sharedCornerStyles","getSlotStyleFn","sty","getPercent","sliderMin","sliderMax","useSlider","step","showValue","buttonProps","snapToStep","valueFormat","originFromZero","ranged","disposables","useSetTimeout","sliderLine","v","latestLowerValue","unclampedValue","_k","lowerValue","defaultLowerValue","lv","latestValue","unclampedLowerValue","setLowerValue","onKeyDownTimer","isAdjustingLowerValue","showTransitions","isBetweenSteps","steps","clearOnKeyDownTimer","setOnKeyDownTimer","event","getAriaValueText","valueProps","updateValue","newValue","newUnroundedValue","numDec","isFinite","round","pow","roundedValue","parseFloat","toFixed","getPosition","verticalProp","currentPosition","clientY","clientX","touches","calculateCurrentSteps","currentSteps","sliderPositionRect","stepLength","onMouseMoveOrTouchMove","suppressEventCancelation","newCurrentValue","onMouseDownOrTouchStart","onMouseUpOrTouchEnd","disposeListeners","lowerValueThumbRef","thumbRef","thumb","range","getPositionStyles","getTrackStyles","originValue","valuePercent","lowerValuePercent","originPercentOfLine","activeSectionWidth","abs","topSectionWidth","bottomSectionWidth","rootProps","labelProps","titleLabel","htmlFor","valueLabelProps","valueLabel","lowerValueLabelProps","zeroTickProps","zeroTick","trackActiveProps","lineContainer","activeSection","trackTopInactiveProps","inactiveSection","trackBottomInactiveProps","sliderProps","sliderBoxProps","slideBox","onMouseDown","onTouchStart","diff","down","up","home","end","onFocusProp","thumbProps","lowerValueThumbProps","sliderBox","container","lowerValueLabel","lowerValueThumb","activeTrack","topInactiveTrack","bottomInactiveTrack","SliderBase","slotProps","Label","enabled","row","column","Slider","_l","_m","_o","titleLabelClassName","pressedActiveSectionColor","inputBackgroundCheckedHovered","hoveredActiveSectionColor","hoveredPressedinactiveSectionColor","inputPlaceholderBackgroundChecked","restActiveSectionColor","smallInputBorder","restInactiveSectionColor","disabledBorder","disabledActiveSectionColor","disabledInactiveSectionColor","thumbBackgroundColor","thumbBorderColor","thumbDisabledBorderColor","slideBoxActiveSectionStyles","slideBoxInactiveSectionStyles","slideHoverSectionStyles","slideBoxActiveThumbStyles","slideBoxActiveZeroTickStyles","userSelect","forcedColorAdjust","inset","easeFunction1","getDisabledStyles","SpinButtonTextColorDisabled","SpinButtonBackgroundColorDisabled","getArrowButtonStyles","isUpArrow","customSpecificArrowStyles","ArrowButtonTextColor","ArrowButtonTextColorHovered","buttonText","ArrowButtonTextColorPressed","ArrowButtonBackgroundHovered","ArrowButtonBackgroundPressed","defaultArrowButtonStyles","rootChecked","rootPressed","rootDisabled","marginBottom","concatStyleSets","labelPosition","start","incrementButtonIcon","decrementButtonIcon","noOp","clampValue","SpinButtonBase","valueFromProps","precisionFromProps","precision","incrementButtonAriaLabel","decrementButtonAriaLabel","customUpArrowButtonStyles","upArrowButtonStyles","customDownArrowButtonStyles","downArrowButtonStyles","ariaPositionInSet","ariaSetSize","inputProps","onDecrement","onIncrement","onValidate","inputId","isFocused","setIsFocused","notSpinning","keyboardSpinDirection","setKeyboardSpinDirection","useAsync","intermediateValue","setIntermediateValue","stepTimeoutHandle","latestIntermediateValue","previousValueFromProps","validate","enteredValue","trim","isNaN","Number","stop","spinningByMouse","stepFunction","persist","wasSpinning","handleIncrement","numericValue","handleDecrement","handleKeyUp","handleIncrementMouseDown","handleDecrementMouseDown","useDebugWarnings","valueIsNumber","labelContent","labelWrapper","spinButtonWrapper","spinDirection","onKeyUp","arrowButtonsContainer","checked","onMouseLeave","onMouseUp","SpinButton","SpinButtonRootBorderColor","SpinButtonRootBackgroundColor","SpinButtonRootBorderColorHovered","SpinButtonRootBorderColorFocused","SpinButtonInputTextColor","SpinButtonInputTextColorSelected","SpinButtonInputBackgroundColorSelected","SpinButtonIconDisabledColor","float","DEFAULT_MIN_WIDTH","KeyboardSpinDirection","SpinnerBase","ariaLive","statusMessage","styleSize","spinAnimation","Spinner","themeLight","SpinnerSize","SpinnerType","_getThemedSpacing","space","spacing","_getValueUnitGap","numericalPart","numericalValue","numericalString","unit","substring","parsePadding","paddingValues","split","padding1","padding2","nameMap","inner","StackStatics","Item","StackItem","Stack","createComponent","as","RootType","disableShrink","wrap","rest","warnDeprecations","maxHeight","stackChildren","defaultItemProps","shrink","Slots","tokens","verticalFill","reversed","grow","horizontalAlign","childrenGap","rowGap","columnGap","splitGap","calculatedGap","parseGap","horizontalMargin","verticalMargin","childStyles","commonSelectors","statics","alignMap","align","order","StickyPositionType","Sticky","_stickyContentTop","_stickyContentBottom","_nonStickyContent","_placeHolder","isScrollSynced","scrollLeft","_getContext","context","_onScrollEvent","footerStickyContainer","_getNonStickyDistanceFromTop","_getStickyDistanceFromTop","_getStickyDistanceFromTopForFooter","_activeElement","distance","offsetTop","footerStickyVisibleContainer","currElem","offsetParent","stickyPosition","Both","Header","Footer","_isOffsetHeightDifferent","stickyClassName","_getStickyPlaceholderHeight","_getNonStickyPlaceholderHeightAndWidth","_getContentStyles","isSticky","stickyBackgroundColor","_getBackground","curr","getComputedStyle","getPropertyValue","contextType","isWhiteCell","inputColor","currentColor","hex","getColorPickerGridCellButtonClassNames","variantClassName","iconClassName","menuIconClassName","expanded","isSplit","mergeStyleSets","rootFocused","rootCheckedDisabled","rootCheckedHovered","rootCheckedPressed","flexContainer","ColorPickerGridCellBase","idPrefix","onHover","onMouseEnter","onMouseMove","onWheel","isWhite","colorOption","svgClassName","str","cx","cy","r","colorCell","cellHighContrastFocus","outlineColor","ColorPickerGridCell","buttonBorderHovered","buttonBorderChecked","buttonBorderCheckedHovered","buttonBorderIsWhite","neutralTertiary","calculatedBorderWidth","highContrastStyle","disabledBodyText","SwatchColorPickerBase","defaultId","isNavigationIdle","cellFocused","navigationIdleTimeoutId","navigationIdleDelay","colorCells","cellShape","columnCount","shouldFocusCircularNavigate","doNotContainWithinFocusZone","cellMargin","defaultSelectedId","focusOnHover","mouseLeaveParentSelector","onColorChanged","onCellHovered","onCellFocused","getColorGridCellStyles","cellHeight","cellWidth","cellBorderWidth","itemsWithIndex","mergedOnChange","newSelectedId","newColor","c","selectedId","setSelectedId","gridStyles","tableCell","focusedContainer","onSwatchColorPickerBlur","currentTarget","targetElement","parentSelector","querySelectorAll","setActive","e","onGridCellHovered","onGridCellFocused","onCellClick","setNavigationTimeout","renderOption","onRenderColorCell","SwatchColorPicker","borderCollapse","clear","TeachingBubbleContentBase","imageContent","headerContent","bodyContent","footerContent","documentRef","ariaDescribedById","ariaLabelledById","illustrationImage","primaryButtonProps","secondaryButtonProps","headline","hasCondensedHeadline","hasCloseIcon","hasSmallHeadline","isWide","customFooterContent","hasHeadline","primaryButtonClassName","secondaryButtonClassName","useOnEvent","HeaderWrapperAs","BodyContentWrapperAs","subText","DefaultButton","secondaryButton","PrimaryButton","primaryButton","FocusTrapZone","headerIsCondensed","headerIsSmall","headerIsLarge","button","buttonLabel","opacityFadeIn","rootStyle","calloutProps","calloutWidth","calloutMaxWidth","animationFillMode","headerStyle","hasLargeHeadline","hideDefaultFocusRing","themeDarkAlt","themeLighter","callout","beak","calloutMain","TeachingBubbleContent","defaultCalloutProps","beakWidth","gapSpace","setInitialFocus","doNotLayer","rightCenter","TeachingBubbleBase","setCalloutProps","calloutStyles","Callout","hideOverflow","TeachingBubble","__browserNeedsRevealButton","TextFieldBase","_textElement","_onFocus","validateOnFocusIn","_validate","_onBlur","validateOnFocusOut","_onRenderLabel","required","labelStyles","_id","_onRenderDescription","_onRevealButtonClick","isRevealingPassword","previousValue","_getValue","_lastChangeValue","_isControlled","uncontrolledValue","_fallbackId","_warnControlledUsage","errorMessage","_delayedValidate","deferredValidationTime","_lastValidation","_adjustInputHeight","validateOnLoad","getSnapshotBeforeUpdate","snapshot","multiline","setSelectionRange","prevValue","_shouldValidateAllChanges","borderless","invalid","inputClassName","prefix","resizable","suffix","autoAdjustHeight","canRevealPassword","revealPasswordAriaLabel","onRenderPrefix","_onRenderPrefix","onRenderSuffix","_onRenderSuffix","onRenderLabel","onRenderDescription","_errorMessage","isInvalid","hasRevealButton","navigator","isEdge","test","userAgent","_browserNeedsRevealButton","focused","hasLabel","hasErrorMessage","hasIcon","wrapper","fieldGroup","_renderTextArea","_renderInput","revealButton","revealSpan","revealIcon","_isDescriptionAvailable","_renderErrorMessage","blur","setSelectionStart","setSelectionEnd","componentId","componentName","valueProp","defaultValueProp","onChangeProp","readOnlyProp","_hasWarnedNullValue","textAreaProps","updatedInputProps","onRenderInput","_latestValidateValue","onGetErrorMessage","currentValidation_1","_notifyAfterValidate","onNotifyValidationResult","textField","unresizable","active","getLabelStyles","TextField","fieldPrefixSuffix","disabledPlaceholderStyles","errorText","borderBottomColor","minHeight","resize","slideDownIn20","DEFAULT_MASK_FORMAT_CHARS","parseMask","mask","formatChars","maskCharData","escapedChars","maskChar","charAt","maskFormat","displayIndex","format","getMaskDisplay","maskDisplay","replace","lastDisplayIndex","maskCharData_1","charData","nextChar","getRightFormatIndex","clearRange","selectionCount","insertString","newString","stringIndex","nextIndex","isStringInserted","DEFAULT_MASK_CHAR","MaskedTextField","onPaste","moveCursorOnMouseUp","changeSelectionData","maskCursorPosition","setMaskCursorPosition","displayValue","setDisplayValue","valueIndex","charDataIndex","testVal","handleFocus","handleBlur","handleMouseDown","handleMouseUp","handleInputChange","inputValue","changeType","cursorPos","charsSelected","charCount","startPos","pastedString","substr","isDel","clearNext","clearPrev","getLeftFormatIndex","enteredString","selectCount","handleKeyDown","keyCode","ctrlKey","metaKey","handlePaste","Text","TextStyles","block","nowrap","variant","variantObject","mozOsxFontSmoothing","MozOsxFontSmoothing","webkitFontSmoothing","WebkitFontSmoothing","TextView","BaseSlots","FabricSlots","SemanticColorSlots","ThemeGenerator","setSlot","rule","isInverted","isCustomization","overwriteCustomColor","colorAsIColor","getColorFromString","_setSlot","insureSlots","slotRules","ruleName","inherits","getThemeAsJson","getThemeAsCode","_makeRemainingCode","getThemeAsCodeWithCreateTheme","getThemeAsSass","output","camelCasedName","toLowerCase","getThemeForPowerShell","outputColor","isCustomized","asShade","isBackgroundShade","dependentRules","ruleToUpdate","themeRulesStandardCreator","_makeFabricSlotRule","slotName","inheritedBase","inheritedShade","thisSlotRule","baseSlot","shadeName","shadeValue","Unshaded","primaryColor","foregroundColor","themeLighterAlt","Shade1","Shade2","Shade3","themeTertiary","Shade4","themeSecondary","Shade5","Shade6","Shade7","themeDarker","Shade8","neutralLighterAlt","neutralQuaternaryAlt","neutralQuaternary","neutralTertiaryAlt","neutralPrimaryAlt","neutralDark","REGEX_SHOW_SECONDS_HOUR_12","REGEX_HIDE_SECONDS_HOUR_12","REGEX_SHOW_SECONDS_HOUR_24","REGEX_HIDE_SECONDS_HOUR_24","TimePicker","increments","showSeconds","allowFreeform","useHour12","timeRange","strings","invalidInputErrorMessage","getDefaultStrings","onFormatDate","onValidateUserInput","userText","setUserText","setErrorMessage","optionsCount","getDropdownOptionsCount","timePickerOptions","optionsList","Array","defaultTime","generateDefaultTime","_","option","setSeconds","optionText","updatedUserText","errorMessageToDisplay","userInput","validateUserInput","ComboBox","onKeyPress","charCode","zero","colon","m","p","clampTimeRange","newDefaultTime","Date","clampedTimeRange","setHours","hoursInRange","HoursInOneDay","MinutesInOneHour","ToggleBase","controlledChecked","defaultChecked","inlineLabel","offAriaLabel","offText","onAriaLabel","onToggleClick","onText","isChecked","setChecked","onOffMissing","badAriaLabel","stateTextId","stateText","toggleNativeProps","labelledById","toggleButton","pill","toggleButtonRef","Toggle","pillUncheckedBackground","pillCheckedBackground","pillCheckedHoveredBackground","thumbUncheckedHoveredBackground","pillCheckedDisabledBackground","thumbBackground","thumbCheckedBackground","inputForegroundChecked","thumbDisabledBackground","thumbCheckedDisabledBackground","pillBorderColor","pillBorderHoveredColor","pillBorderDisabledColor","textDisabledColor","DEFAULT_PILL_HEIGHT","DEFAULT_THUMB_SIZE","TooltipBase","_onRenderContent","directionalHintForRTL","onRenderContent","topCenter","isBeakVisible","Tooltip","tooltipGapSpace","sqrt","devicePixelRatio","fadeIn200","menuBackground","elevation8","menuItemText","TooltipDelay","TooltipHostBase","_tooltipHost","_defaultTooltipId","show","_toggleTooltip","_hideTooltip","_getTargetElement","Self","_onTooltipFocus","_ignoreNextFocusEvent","_onTooltipMouseEnter","_onTooltipBlur","delay","_currentVisibleTooltip","overflowElement","_clearDismissTimer","_clearOpenTimer","isAriaPlaceholderRendered","delayTime","_getDelayTime","_openTimerId","_onTooltipMouseLeave","closeDelay","_dismissTimerId","_onTooltipKeyDown","isTooltipVisible","onTooltipToggle","long","hostClassName","setAriaDescribedBy","tooltipProps","tooltipId","isContentPresent","showTooltip","onBlurCapture","ariaPlaceholder","TooltipHost","TooltipOverflowMode","defaultWeeklyDayPickerStrings","prevWeekAriaLabel","nextWeekAriaLabel","prevMonthAriaLabel","nextMonthAriaLabel","prevYearAriaLabel","nextYearAriaLabel","defaultWeeklyDayPickerNavigationIcons","leftNavigation","rightNavigation","WeeklyDayPickerBase","_dayGrid","_onSelectDate","date","onSelectDate","selectedDate","_focusOnUpdate","_onNavigateDate","focusOnNavigatedDay","onNavigateDate","navigatedDate","_renderPreviousWeekNavigationButton","minDate","firstDayOfWeek","navigationIcons","leftNavigationIcon","prevWeekInBounds","navigationIconButton","disabledStyle","_onSelectPrevDateRange","_onButtonKeyDown","_createPreviousWeekAriaLabel","_renderNextWeekNavigationButton","maxDate","rightNavigationIcon","nextWeekInBounds","_onSelectNextDateRange","_createNextWeekAriaLabel","showFullMonth","_navigateDate","_onWrapperKeyDown","callback","_onTouchStart","touch","_initialTouchX","_onTouchMove","isRtl","months","getMonth","firstDayOfPreviousWeek","lastDayOfPreviousWeek","_formatDateRange","firstDayOfNextWeek","lastDayOfNextWeek","startDate","endDate","dateTimeFormatter","formatMonthDayYear","currentDate","initialDate","getTime","today","previousShowFullMonth","newAnimationDirection","Vertical","Horizontal","restrictedDates","weeksToShow","calendarDayGridProps","onTouchMove","CalendarDayGrid","firstWeekOfYear","FirstDay","dateRangeType","Day","lightenDaysOutsideNavigatedMonth","Sunday","WeeklyDayPicker","dayButton","dayIsToday","dayCell","daySelected","FontSizes","suggestionsItem","suggestionsItemIsSuggested","itemButton","buttonSelected","suggestionsTitle","suggestionsContainer","suggestionsNone","suggestionsSpinner","suggestionsAvailable","legacyStyles","SuggestionsItem","suggestionModel","RenderSuggestion","isSelectedOverride","removeButtonIconProps","suggested","showRemoveButton","SuggestionActionType","SuggestionsItemGlobalClassNames","isSuggested","ValidationState","StyledSuggestionsItem","menuItemBackgroundHovered","menuItemBackgroundPressed","menuItemTextHovered","menuDivider","Suggestions","suggestionsProps","_forceResolveButton","_searchForMoreButton","_selectedElement","_scrollContainer","tryHandleKeyDown","currentSuggestionIndex","isEventHandled","newSelectedActionType","currentSelectedAction","selectedActionType","suggestionLength","suggestions","forceResolve","_refocusOnSuggestions","searchMore","_getAlertText","isLoading","isSearching","suggestionsAvailableAlertText","noResultsFoundText","_getMoreResults","onGetMoreResults","_forceResolve","createGenericItem","_shouldShowForceResolve","showForceResolve","_onClickTypedSuggestionsItem","onSuggestionClick","refocusSuggestions","_onRemoveTypedSuggestionsItem","onSuggestionRemove","scrollSelected","activeSelectedElement","forceResolveText","mostRecentlyUsedHeaderText","searchForMoreIcon","searchForMoreText","moreSuggestionsAvailable","loadingText","onRenderNoResultFound","searchingText","isMostRecentlyUsedVisible","resultsMaximumNumber","resultsFooterFull","resultsFooter","isResultsFooterVisible","suggestionsHeaderText","suggestionsClassName","suggestionsListId","forceResolveButtonSelected","searchForMoreButtonSelected","searchForMoreButton","forceResolveButton","noSuggestions","spinnerStyles","spinner","spinnerClassNameOrStyles","noResults","footerTitle","hasNoSuggestions","forceResolveId","searchForMoreId","Announced","message","CommandButton","_renderSuggestions","hasSuggestedAction","hasSuggestedActionSelected","executeSelectedAction","focusAboveSuggestions","focusBelowSuggestions","focusSearchForMoreButton","scrollTo","parentOffsetHeight","isBelow","onRenderSuggestion","removeSuggestionAriaLabel","suggestionsItemClassName","showRemoveButtons","suggestionsContainerAriaLabel","StyledTypedSuggestionsItem","suggestion","SuggestionsController","_isSuggestionModel","_ensureSuggestionModel","currentIndex","updateSuggestions","newSuggestions","convertSuggestionsToSuggestionItems","currentSuggestion","nextSuggestion","setSelectedSuggestion","previousSuggestion","getSuggestions","getCurrentItem","getSuggestionAtIndex","hasSelectedSuggestion","removeSuggestion","splice","createGenericSuggestion","itemToConvert","itemToAdd","isArray","deselectAllSuggestions","actionButtonStyles","actionButtonSelectedStyles","pickerText","inputFocused","inputDisabled","pickerInput","pickerItems","screenReaderOnly","BasePicker","suggestionsType","suggestionElement","SuggestionOfProperType","_styledSuggestions","dismissSuggestions","selectItemFunction","addItemOnDismiss","suggestionStore","canAddItems","suggestedDisplayValue","addItemByIndex","currentPromise","suggestionsVisible","resetFocus","onRemoveSuggestion","onInputFocus","_userTriggeredSuggestions","onInputBlur","tab","shiftKey","completeSuggestion","_completeGenericSuggestion","onBackspace","onSuggestionSelect","_updateSelectedItems","suggestionsArray","suggestionsPromiseLike","completeSelection","addItem","processedItem","processedItemObject","processedItemPromiseLike","resolvedProcessedItem","selectionRemoved","_shouldFocusZoneEnterInnerZone","_onResolveSuggestions","updatedValue","onResolveSuggestions","updateSuggestionsList","onValidateInput","onEmptyInputFocus","_ariaMap","selectedSuggestionAlert","suggestionList","combobox","onSelectionChange","selectedIndices","resolveDelay","currentSelectedIndex","getSelectedIndices","setIndexSelected","focusInput","forceComplete","selectionAriaLabel","selectionRole","itemsWrapper","comboLabel","renderCustomAlert","SelectionZone","selectionMode","multiple","Autofill","spellCheck","onInputValueChange","getActiveDescendant","renderSuggestions","itemLimit","StyledTypedSuggestions","pickerCalloutProps","onRenderSuggestionsItem","suggestionsLoading","pickerSuggestionsProps","newEl","currentValue","itemValue","_getTextFromItem","emptyResolveSuggestions","onEmptyResolveSuggestions","_updateAndResolveValue","_getShowSuggestions","resolveNewValue","isValueSelected","cursorLocation","getSuggestionsAlert","suggestionAlertClassName","enableSelectedSuggestionAlert","selectedSuggestion","selectedSuggestionAlertText","alertClassName","suggestionRemovedText","removedItemText","getTextFromItem","BasePickerListBelow","single","PeoplePickerItemBase","warning","personaStyles","personaCoinStyles","personaCoin","PeoplePickerItem","personaPrimaryTextStyles","redDark","personaCoinInitialsStyles","msButtonIcon","PeoplePickerItemSuggestionBase","personaProps","compact","PeoplePickerItemSuggestion","textSelectorsStyles","disabledOverlayColor","BasePeoplePicker","MemberListPeoplePicker","NormalPeoplePickerBase","CompactPeoplePickerBase","ListPeoplePickerBase","currentValidationState","personaToConvert","NormalPeoplePicker","CompactPeoplePicker","ListPeoplePicker","TagItemBase","enableTagFocusInDisabledPicker","disabledAttrs","tabindex","TagItem","suggestionTextOverflow","TagItemSuggestionBase","TagItemSuggestion","TagPickerBase","TagPicker"],"sourceRoot":""}