{"version":3,"file":"bundle/fluent.331533d0.js","mappings":"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Iw3C,EAAOgL,EAAQxiD,GAEVC,EAAK,EAAGs2H,EADN5zH,MAAMC,QAAQ40C,GAAQA,EAAOrrC,OAAOC,KAAKorC,GACpBv3C,EAAKs2H,EAAOx0H,OAAQ9B,IAEhD0E,EADU4xH,EAAOt2H,IACH,EAGtB,OAAO0E,CACX,EAMW6xH,EAAoBF,EAAY,CACvC,SACA,QACA,UACA,mBACA,qBACA,sBACA,UACA,iBACA,SACA,gBACA,WACA,UACA,WACA,SACA,UACA,YACA,mBACA,aACA,UACA,UACA,YACA,mBACA,mBACA,YACA,cACA,UACA,eACA,mBACA,cACA,UACA,SACA,YACA,aACA,eACA,WACA,YACA,YACA,YACA,eACA,iBACA,YACA,UACA,iBACA,gBACA,gBACA,SACA,YACA,cACA,aACA,cACA,aACA,cACA,SACA,cACA,qBACA,eACA,eACA,cACA,aACA,cACA,YACA,mBACA,WACA,gBACA,aACA,cACA,eACA,WACA,UACA,kBACA,gBACA,iBACA,iBACA,gBACA,eACA,gBACA,cACA,sBACA,yBAOOG,EAAwBH,EAAY,CAC3C,YACA,WACA,YACA,kBACA,MACA,YACA,SACA,UACA,KACA,OACA,MACA,OACA,QACA,WACA,QACA,YACA,aACA,SAOOI,EAAwBJ,EAAYG,EAAuBD,GAM3DG,EAAkBL,EAAYI,EAAuB,CAC5D,SAOOE,EAAkBN,EAAYI,EAAuB,CAC5D,SACA,OACA,QACA,UACA,MACA,UAOOG,EAAkBP,EAAYM,EAAiB,CACtD,WAOOE,EAAeR,EAAYI,EAAuB,CACzD,UAOOK,EAAeT,EAAYI,EAAuB,CACzD,UAOOM,EAAmBV,EAAYI,EAAuB,CAC7D,WACA,OACA,WACA,QACA,MACA,SACA,SAOOO,EAAmBX,EAAYI,EAAuB,CAC7D,YACA,WACA,OACA,aACA,cACA,aACA,iBACA,aACA,OACA,UAOOQ,EAAkBZ,EAAYW,EAAkB,CACvD,SACA,MACA,iBACA,eACA,UACA,UACA,OACA,SACA,YACA,OACA,MACA,YACA,MACA,YACA,WACA,UACA,cACA,WACA,WACA,MACA,OACA,OA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","sources":["webpack://apps/../../node_modules/@fluentui/dom-utilities/lib/elementContains.js","webpack://apps/../../node_modules/@fluentui/dom-utilities/lib/findElementRecursive.js","webpack://apps/../../node_modules/@fluentui/dom-utilities/lib/getParent.js","webpack://apps/../../node_modules/@fluentui/dom-utilities/lib/getVirtualParent.js","webpack://apps/../../node_modules/@fluentui/dom-utilities/lib/isVirtualElement.js","webpack://apps/../../node_modules/@fluentui/dom-utilities/lib/portalContainsElement.js","webpack://apps/../../node_modules/@fluentui/dom-utilities/lib/setPortalAttribute.js","webpack://apps/../../node_modules/@fluentui/font-icons-mdl2/lib/fabric-icons.js","webpack://apps/../../node_modules/@fluentui/font-icons-mdl2/lib/fabric-icons-0.js","webpack://apps/../../node_modules/@fluentui/font-icons-mdl2/lib/fabric-icons-1.js","webpack://apps/../../node_modules/@fluentui/font-icons-mdl2/lib/fabric-icons-2.js","webpack://apps/../../node_modules/@fluentui/font-icons-mdl2/lib/fabric-icons-3.js","webpack://apps/../../node_modules/@fluentui/font-icons-mdl2/lib/fabric-icons-4.js","webpack://apps/../../node_modules/@fluentui/font-icons-mdl2/lib/fabric-icons-5.js","webpack://apps/../../node_modules/@fluentui/font-icons-mdl2/lib/fabric-icons-6.js","webpack://apps/../../node_modules/@fluentui/font-icons-mdl2/lib/fabric-icons-7.js","webpack://apps/../../node_modules/@fluentui/font-icons-mdl2/lib/fabric-icons-8.js","webpack://apps/../../node_modules/@fluentui/font-icons-mdl2/lib/fabric-icons-9.js","webpack://apps/../../node_modules/@fluentui/font-icons-mdl2/lib/fabric-icons-10.js","webpack://apps/../../node_modules/@fluentui/font-icons-mdl2/lib/fabric-icons-11.js","webpack://apps/../../node_modules/@fluentui/font-icons-mdl2/lib/fabric-icons-12.js","webpack://apps/../../node_modules/@fluentui/font-icons-mdl2/lib/fabric-icons-13.js","webpack://apps/../../node_modules/@fluentui/font-icons-mdl2/lib/fabric-icons-14.js","webpack://apps/../../node_modules/@fluentui/font-icons-mdl2/lib/fabric-icons-15.js","webpack://apps/../../node_modules/@fluentui/font-icons-mdl2/lib/fabric-icons-16.js","webpack://apps/../../node_modules/@fluentui/font-icons-mdl2/lib/fabric-icons-17.js","webpack://apps/../../node_modules/@fluentui/font-icons-mdl2/lib/iconAliases.js","webpack://apps/../../node_modules/@fluentui/font-icons-mdl2/lib/version.js","webpack://apps/../../node_modules/@fluentui/font-icons-mdl2/lib/index.js","webpack://apps/../../node_modules/@fluentui/foundation-legacy/lib/createComponent.js","webpack://apps/../../node_modules/@fluentui/foundation-legacy/lib/slots.js","webpack://apps/../../node_modules/@fluentui/foundation-legacy/lib/utilities.js","webpack://apps/../../node_modules/@fluentui/merge-styles/lib/StyleOptionsState.js","webpack://apps/../../node_modules/@fluentui/merge-styles/lib/Stylesheet.js","webpack://apps/../../node_modules/@fluentui/merge-styles/lib/concatStyleSets.js","webpack://apps/../../node_modules/@fluentui/merge-styles/lib/concatStyleSetsWithProps.js","webpack://apps/../../node_modules/@fluentui/merge-styles/lib/extractStyleParts.js","webpack://apps/../../node_modules/@fluentui/merge-styles/lib/fontFace.js","webpack://apps/../../node_modules/@fluentui/merge-styles/lib/keyframes.js","webpack://apps/../../node_modules/@fluentui/merge-styles/lib/mergeStyleSets.js","webpack://apps/../../node_modules/@fluentui/merge-styles/lib/mergeStyles.js","webpack://apps/../../node_modules/@fluentui/merge-styles/lib/getVendorSettings.js","webpack://apps/../../node_modules/@fluentui/merge-styles/lib/transforms/kebabRules.js","webpack://apps/../../node_modules/@fluentui/merge-styles/lib/transforms/prefixRules.js","webpack://apps/../../node_modules/@fluentui/merge-styles/lib/transforms/provideUnits.js","webpack://apps/../../node_modules/@fluentui/merge-styles/lib/transforms/rtlifyRules.js","webpack://apps/../../node_modules/@fluentui/merge-styles/lib/styleToClassName.js","webpack://apps/../../node_modules/@fluentui/merge-styles/lib/tokenizeWithParentheses.js","webpack://apps/../../node_modules/@fluentui/react-focus/lib/components/FocusZone/FocusZone.js","webpack://apps/../../node_modules/@fluentui/react-focus/lib/components/FocusZone/FocusZone.types.js","webpack://apps/../../node_modules/@fluentui/react-hooks/lib/useAsync.js","webpack://apps/../../node_modules/@fluentui/react-hooks/lib/useBoolean.js","webpack://apps/../../node_modules/@fluentui/react-hooks/lib/useConst.js","webpack://apps/../../node_modules/@fluentui/react-hooks/lib/useControllableValue.js","webpack://apps/../../node_modules/@fluentui/react-hooks/lib/useId.js","webpack://apps/../../node_modules/@fluentui/react-hooks/lib/useMergedRefs.js","webpack://apps/../../node_modules/@fluentui/react-hooks/lib/useOnEvent.js","webpack://apps/../../node_modules/@fluentui/react-hooks/lib/usePrevious.js","webpack://apps/../../node_modules/@fluentui/react-hooks/lib/useSetTimeout.js","webpack://apps/../../node_modules/@fluentui/react-hooks/lib/useTarget.js","webpack://apps/../../node_modules/@fluentui/react-hooks/lib/useUnmount.js","webpack://apps/../../node_modules/@fluentui/react-window-provider/lib/WindowProvider.js","webpack://apps/../../node_modules/@fluentui/react/lib/common/DirectionalHint.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Announced/Announced.base.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Announced/Announced.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Announced/Announced.styles.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Button/ActionButton/ActionButton.styles.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Button/ActionButton/ActionButton.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Button/BaseButton.classNames.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Icon/ImageIcon.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Button/SplitButton/SplitButton.classNames.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Button/BaseButton.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Button/BaseButton.styles.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Button/Button.types.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Button/CompoundButton/CompoundButton.styles.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Button/CompoundButton/CompoundButton.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Button/Button.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Button/ButtonThemes.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Button/CommandBarButton/CommandBarButton.styles.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Button/CommandBarButton/CommandBarButton.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Button/CommandButton/CommandButton.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Button/DefaultButton/DefaultButton.styles.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Button/DefaultButton/DefaultButton.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Button/IconButton/IconButton.styles.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Button/IconButton/IconButton.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Button/PrimaryButton/PrimaryButton.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Button/SplitButton/SplitButton.styles.js","webpack://apps/../../node_modules/@fluentui/react/lib/utilities/positioning/positioning.js","webpack://apps/../../node_modules/@fluentui/utilities/lib/Rectangle.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Callout/CalloutContent.base.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Callout/CalloutContent.styles.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Callout/CalloutContent.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Callout/Callout.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Checkbox/Checkbox.base.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Checkbox/Checkbox.styles.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Checkbox/Checkbox.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/ResizeGroup/ResizeGroup.types.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/ResizeGroup/ResizeGroup.base.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/ResizeGroup/ResizeGroup.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/CommandBar/CommandBar.styles.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/CommandBar/CommandBar.base.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/CommandBar/CommandBar.js","webpack://apps/../../node_modules/@fluentui/react/lib/utilities/contextualMenu/contextualMenuUtility.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/ContextualMenu/ContextualMenuItem.base.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Divider/VerticalDivider.classNames.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/ContextualMenu/ContextualMenu.cnstyles.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/ContextualMenu/ContextualMenu.classNames.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/ContextualMenu/ContextualMenuItem.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/ContextualMenu/ContextualMenuItemWrapper/ContextualMenuItemWrapper.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/ContextualMenu/ContextualMenuItemWrapper/ContextualMenuAnchor.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Divider/VerticalDivider.base.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Divider/VerticalDivider.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Divider/VerticalDivider.styles.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/ContextualMenu/ContextualMenuItemWrapper/ContextualMenuSplitButton.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/ContextualMenu/ContextualMenuItemWrapper/ContextualMenuButton.js","webpack://apps/../../node_modules/@fluentui/react/lib/utilities/MenuContext/MenuContext.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/ContextualMenu/ContextualMenu.base.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/ContextualMenu/ContextualMenu.styles.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/ContextualMenu/ContextualMenu.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/ContextualMenu/ContextualMenu.types.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Modal/Modal.styles.js","webpack://apps/../../node_modules/@fluentui/react/lib/utilities/DraggableZone/DraggableZone.styles.js","webpack://apps/../../node_modules/@fluentui/react/lib/utilities/DraggableZone/DraggableZone.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Modal/Modal.base.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Modal/Modal.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Dialog/DialogContent.base.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Dialog/DialogContent.styles.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Dialog/DialogContent.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Dialog/Dialog.base.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Dialog/Dialog.styles.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Dialog/Dialog.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Dialog/DialogContent.types.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Dialog/DialogFooter.base.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Dialog/DialogFooter.styles.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Dialog/DialogFooter.js","webpack://apps/../../node_modules/@fluentui/react-hooks/lib/useEventCallback.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/FocusTrapZone/FocusTrapZone.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Icon/FontIcon.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Icon/Icon.types.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Icon/Icon.base.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Icon/Icon.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Icon/Icon.styles.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Image/Image.base.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Image/Image.styles.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Image/Image.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Image/Image.types.js","webpack://apps/../../node_modules/@fluentui/react/lib/utilities/keytips/KeytipUtils.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/KeytipData/KeytipData.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/KeytipData/useKeytipData.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Label/Label.base.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Label/Label.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Label/Label.styles.js","webpack://apps/../../node_modules/@fluentui/react-portal-compat-context/lib/PortalCompatContext.js","webpack://apps/../../node_modules/@fluentui/utilities/lib/customizations/mergeSettings.js","webpack://apps/../../node_modules/@fluentui/utilities/lib/customizations/Customizer.js","webpack://apps/../../node_modules/@fluentui/utilities/lib/customizations/mergeCustomizations.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Fabric/Fabric.base.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Layer/Layer.base.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Fabric/Fabric.styles.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Fabric/Fabric.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Layer/Layer.notification.js","webpack://apps/../../node_modules/@fluentui/dom-utilities/lib/setVirtualParent.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Layer/Layer.styles.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Layer/Layer.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Link/useLink.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Link/Link.base.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Link/Link.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Link/Link.styles.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/List/utils/scroll.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/List/List.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/List/List.types.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/OverflowSet/OverflowButton.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/OverflowSet/OverflowSet.base.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/OverflowSet/OverflowSet.styles.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/OverflowSet/OverflowSet.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Overlay/Overlay.base.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Overlay/Overlay.styles.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Overlay/Overlay.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Panel/Panel.base.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Panel/Panel.styles.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Panel/Panel.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Panel/Panel.types.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Persona/PersonaConsts.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Persona/PersonaPresence/PersonaPresence.base.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Persona/PersonaPresence/PersonaPresence.styles.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Persona/PersonaPresence/PersonaPresence.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Persona/PersonaInitialsColor.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Persona/PersonaCoin/PersonaCoin.base.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Persona/PersonaCoin/PersonaCoin.styles.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Persona/PersonaCoin/PersonaCoin.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Persona/Persona.base.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Persona/Persona.styles.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Persona/Persona.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Persona/Persona.types.js","webpack://apps/../../node_modules/@fluentui/react-hooks/lib/useRefEffect.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Pivot/Pivot.base.js","webpack://apps/../../node_modules/@fluentui/react/lib/utilities/useOverflow.js","webpack://apps/../../node_modules/@fluentui/react/lib/utilities/observeResize.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Pivot/Pivot.styles.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Pivot/Pivot.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Pivot/PivotItem.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Popup/Popup.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/SearchBox/SearchBox.base.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/SearchBox/SearchBox.styles.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/SearchBox/SearchBox.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Shimmer/Shimmer.styles.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Shimmer/Shimmer.base.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Shimmer/Shimmer.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Shimmer/Shimmer.types.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Shimmer/ShimmerLine/ShimmerLine.base.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Shimmer/ShimmerLine/ShimmerLine.styles.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Shimmer/ShimmerLine/ShimmerLine.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Shimmer/ShimmerGap/ShimmerGap.base.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Shimmer/ShimmerGap/ShimmerGap.styles.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Shimmer/ShimmerGap/ShimmerGap.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Shimmer/ShimmerCircle/ShimmerCircle.styles.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Shimmer/ShimmerCircle/ShimmerCircle.base.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Shimmer/ShimmerCircle/ShimmerCircle.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Shimmer/ShimmerElementsGroup/ShimmerElementsGroup.base.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Shimmer/ShimmerElementsGroup/ShimmerElementsGroup.styles.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Shimmer/ShimmerElementsGroup/ShimmerElementsGroup.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Spinner/Spinner.base.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Spinner/Spinner.styles.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Spinner/Spinner.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Spinner/Spinner.types.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Stack/StackItem/StackItem.styles.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Stack/StackUtils.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Stack/Stack.styles.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Stack/StackItem/StackItem.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Stack/Stack.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/TextField/TextField.base.js","webpack://apps/../../node_modules/@fluentui/utilities/lib/ie11Detector.js","webpack://apps/../../node_modules/@fluentui/utilities/lib/controlled.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/TextField/TextField.styles.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/TextField/TextField.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Tooltip/Tooltip.types.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Tooltip/Tooltip.base.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Tooltip/Tooltip.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Tooltip/Tooltip.styles.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Tooltip/TooltipHost.base.js","webpack://apps/../../node_modules/@fluentui/utilities/lib/overflow.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Tooltip/TooltipHost.styles.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Tooltip/TooltipHost.js","webpack://apps/../../node_modules/@fluentui/react/lib/components/Tooltip/TooltipHost.types.js","webpack://apps/../../node_modules/@fluentui/react/lib/utilities/ThemeProvider/ThemeContext.js","webpack://apps/../../node_modules/@fluentui/react/lib/utilities/ThemeProvider/makeStyles.js","webpack://apps/../../node_modules/@fluentui/react/lib/utilities/ThemeProvider/styleRenderers/mergeStylesRenderer.js","webpack://apps/../../node_modules/@fluentui/react/lib/utilities/ThemeProvider/useThemeProviderClasses.js","webpack://apps/../../node_modules/@fluentui/react/lib/utilities/ThemeProvider/renderThemeProvider.js","webpack://apps/../../node_modules/@fluentui/react/lib/utilities/ThemeProvider/useThemeProviderState.js","webpack://apps/../../node_modules/@fluentui/react/lib/utilities/ThemeProvider/ThemeProvider.js","webpack://apps/../../node_modules/@fluentui/react/lib/utilities/ThemeProvider/useThemeProvider.js","webpack://apps/../../node_modules/@fluentui/react/lib/utilities/ThemeProvider/useTheme.js","webpack://apps/../../node_modules/@fluentui/utilities/lib/hoist.js","webpack://apps/../../node_modules/@fluentui/react/lib/utilities/decorators/BaseDecorator.js","webpack://apps/../../node_modules/@fluentui/react/lib/utilities/decorators/withResponsiveMode.js","webpack://apps/../../node_modules/@fluentui/react/lib/utilities/hooks/useResponsiveMode.js","webpack://apps/../../node_modules/@fluentui/react/lib/utilities/keytips/KeytipConstants.js","webpack://apps/../../node_modules/@fluentui/react/lib/utilities/keytips/KeytipManager.js","webpack://apps/../../node_modules/@fluentui/react/lib/utilities/positioning/positioning.types.js","webpack://apps/../../node_modules/@fluentui/set-version/lib/setVersion.js","webpack://apps/../../node_modules/@fluentui/set-version/lib/index.js","webpack://apps/../../node_modules/@fluentui/theme/lib/motion/AnimationStyles.js","webpack://apps/../../node_modules/@fluentui/style-utilities/lib/classNames/AnimationClassNames.js","webpack://apps/../../node_modules/@fluentui/style-utilities/lib/utilities/buildClassMap.js","webpack://apps/../../node_modules/@fluentui/style-utilities/lib/styles/CommonStyles.js","webpack://apps/../../node_modules/@fluentui/style-utilities/lib/styles/zIndexes.js","webpack://apps/../../node_modules/@fluentui/style-utilities/lib/styles/getFocusStyle.js","webpack://apps/../../node_modules/@fluentui/style-utilities/lib/styles/hiddenContentStyle.js","webpack://apps/../../node_modules/@fluentui/style-utilities/lib/styles/getGlobalClassNames.js","webpack://apps/../../node_modules/@fluentui/style-utilities/lib/styles/theme.js","webpack://apps/../../node_modules/@fluentui/style-utilities/lib/styles/GeneralStyles.js","webpack://apps/../../node_modules/@fluentui/style-utilities/lib/styles/getPlaceholderStyles.js","webpack://apps/../../node_modules/@fluentui/style-utilities/lib/utilities/icons.js","webpack://apps/../../node_modules/@fluentui/style-utilities/lib/cdn.js","webpack://apps/../../node_modules/@fluentui/style-utilities/lib/version.js","webpack://apps/../../node_modules/@fluentui/style-utilities/lib/index.js","webpack://apps/../../node_modules/@fluentui/theme/lib/colors/DefaultPalette.js","webpack://apps/../../node_modules/@fluentui/theme/lib/effects/FluentDepths.js","webpack://apps/../../node_modules/@fluentui/theme/lib/effects/DefaultEffects.js","webpack://apps/../../node_modules/@fluentui/theme/lib/spacing/DefaultSpacing.js","webpack://apps/../../node_modules/@fluentui/theme/lib/createTheme.js","webpack://apps/../../node_modules/@fluentui/theme/lib/fonts/createFontStyles.js","webpack://apps/../../node_modules/@fluentui/utilities/lib/language.js","webpack://apps/../../node_modules/@fluentui/theme/lib/fonts/DefaultFontStyles.js","webpack://apps/../../node_modules/@fluentui/utilities/lib/localStorage.js","webpack://apps/../../node_modules/@fluentui/theme/lib/fonts/FluentFonts.js","webpack://apps/../../node_modules/@fluentui/utilities/lib/merge.js","webpack://apps/../../node_modules/@fluentui/theme/lib/mergeThemes.js","webpack://apps/../../node_modules/@fluentui/theme/lib/utilities/makeSemanticColors.js","webpack://apps/../../node_modules/@fluentui/utilities/lib/Async.js","webpack://apps/../../node_modules/@fluentui/utilities/lib/BaseComponent.js","webpack://apps/../../node_modules/@fluentui/utilities/lib/DelayedRender.js","webpack://apps/../../node_modules/@fluentui/utilities/lib/EventGroup.js","webpack://apps/../../node_modules/@fluentui/utilities/lib/FocusRectsProvider.js","webpack://apps/../../node_modules/@fluentui/utilities/lib/GlobalSettings.js","webpack://apps/../../node_modules/@fluentui/utilities/lib/KeyCodes.js","webpack://apps/../../node_modules/@fluentui/utilities/lib/aria.js","webpack://apps/../../node_modules/@fluentui/utilities/lib/array.js","webpack://apps/../../node_modules/@fluentui/utilities/lib/classNamesFunction.js","webpack://apps/../../node_modules/@fluentui/utilities/lib/componentAs/composeComponentAs.js","webpack://apps/../../node_modules/@fluentui/utilities/lib/createMergedRef.js","webpack://apps/../../node_modules/@fluentui/utilities/lib/css.js","webpack://apps/../../node_modules/@fluentui/utilities/lib/customizations/Customizations.js","webpack://apps/../../node_modules/@fluentui/utilities/lib/customizations/CustomizerContext.js","webpack://apps/../../node_modules/@fluentui/utilities/lib/customizations/customizable.js","webpack://apps/../../node_modules/@fluentui/utilities/lib/customizations/useCustomizationSettings.js","webpack://apps/../../node_modules/@fluentui/utilities/lib/dom/canUseDOM.js","webpack://apps/../../node_modules/@fluentui/utilities/lib/dom/getDocument.js","webpack://apps/../../node_modules/@fluentui/utilities/lib/dom/getWindow.js","webpack://apps/../../node_modules/@fluentui/utilities/lib/dom/on.js","webpack://apps/../../node_modules/@fluentui/utilities/lib/appendFunction.js","webpack://apps/../../node_modules/@fluentui/utilities/lib/extendComponent.js","webpack://apps/../../node_modules/@fluentui/utilities/lib/focus.js","webpack://apps/../../node_modules/@fluentui/dom-utilities/lib/elementContainsAttribute.js","webpack://apps/../../node_modules/@fluentui/utilities/lib/getId.js","webpack://apps/../../node_modules/@fluentui/utilities/lib/getNativeElementProps.js","webpack://apps/../../node_modules/@fluentui/utilities/lib/getPropsWithDefaults.js","webpack://apps/../../node_modules/@fluentui/utilities/lib/hoistStatics.js","webpack://apps/../../node_modules/@fluentui/utilities/lib/initializeComponentRef.js","webpack://apps/../../node_modules/@fluentui/utilities/lib/initials.js","webpack://apps/../../node_modules/@fluentui/utilities/lib/memoize.js","webpack://apps/../../node_modules/@fluentui/utilities/lib/mobileDetector.js","webpack://apps/../../node_modules/@fluentui/utilities/lib/modalize.js","webpack://apps/../../node_modules/@fluentui/utilities/lib/object.js","webpack://apps/../../node_modules/@fluentui/utilities/lib/osDetector.js","webpack://apps/../../node_modules/@fluentui/utilities/lib/properties.js","webpack://apps/../../node_modules/@fluentui/utilities/lib/renderFunction/composeRenderFunction.js","webpack://apps/../../node_modules/@fluentui/utilities/lib/rtl.js","webpack://apps/../../node_modules/@fluentui/utilities/lib/scroll.js","webpack://apps/../../node_modules/@fluentui/utilities/lib/sessionStorage.js","webpack://apps/../../node_modules/@fluentui/utilities/lib/setFocusVisibility.js","webpack://apps/../../node_modules/@fluentui/utilities/lib/styled.js","webpack://apps/../../node_modules/@fluentui/utilities/lib/keyboard.js","webpack://apps/../../node_modules/@fluentui/utilities/lib/useFocusRects.js","webpack://apps/../../node_modules/@fluentui/utilities/lib/useIsomorphicLayoutEffect.js","webpack://apps/../../node_modules/@fluentui/utilities/lib/warn/warn.js","webpack://apps/../../node_modules/@fluentui/utilities/lib/warn/warnConditionallyRequiredProps.js","webpack://apps/../../node_modules/@fluentui/utilities/lib/warn/warnDeprecations.js","webpack://apps/../../node_modules/@fluentui/utilities/lib/warn/warnMutuallyExclusive.js"],"sourcesContent":["import { getParent } from './getParent';\n/**\n * Determines whether or not a parent element contains a given child element.\n * If `allowVirtualParents` is true, this method may return `true` if the child\n * has the parent in its virtual element hierarchy.\n *\n * @public\n */\nexport function elementContains(parent, child, allowVirtualParents) {\n if (allowVirtualParents === void 0) { allowVirtualParents = true; }\n var isContained = false;\n if (parent && child) {\n if (allowVirtualParents) {\n if (parent === child) {\n isContained = true;\n }\n else {\n isContained = false;\n while (child) {\n var nextParent = getParent(child);\n if (nextParent === parent) {\n isContained = true;\n break;\n }\n child = nextParent;\n }\n }\n }\n else if (parent.contains) {\n isContained = parent.contains(child);\n }\n }\n return isContained;\n}\n//# sourceMappingURL=elementContains.js.map","import { getParent } from './getParent';\n/**\n * Finds the first parent element where the matchFunction returns true\n * @param element - element to start searching at\n * @param matchFunction - the function that determines if the element is a match\n * @returns the matched element or null no match was found\n */\nexport function findElementRecursive(element, matchFunction) {\n if (!element || element === document.body) {\n return null;\n }\n return matchFunction(element) ? element : findElementRecursive(getParent(element), matchFunction);\n}\n//# sourceMappingURL=findElementRecursive.js.map","import { getVirtualParent } from './getVirtualParent';\n/**\n * Gets the element which is the parent of a given element.\n * If `allowVirtuaParents` is `true`, this method prefers the virtual parent over\n * real DOM parent when present.\n *\n * @public\n */\nexport function getParent(child, allowVirtualParents) {\n if (allowVirtualParents === void 0) { allowVirtualParents = true; }\n return (child &&\n ((allowVirtualParents && getVirtualParent(child)) || (child.parentNode && child.parentNode)));\n}\n//# sourceMappingURL=getParent.js.map","import { isVirtualElement } from './isVirtualElement';\n/**\n * Gets the virtual parent given the child element, if it exists.\n *\n * @public\n */\nexport function getVirtualParent(child) {\n var parent;\n if (child && isVirtualElement(child)) {\n parent = child._virtual.parent;\n }\n return parent;\n}\n//# sourceMappingURL=getVirtualParent.js.map","/**\n * Determines whether or not an element has the virtual hierarchy extension.\n *\n * @public\n */\nexport function isVirtualElement(element) {\n return element && !!element._virtual;\n}\n//# sourceMappingURL=isVirtualElement.js.map","import { findElementRecursive } from './findElementRecursive';\nimport { DATA_PORTAL_ATTRIBUTE } from './setPortalAttribute';\n/**\n * Determine whether a target is within a portal from perspective of root or optional parent.\n * This function only works against portal components that use the setPortalAttribute function.\n * If both parent and child are within the same portal this function will return false.\n * @param target - Element to query portal containment status of.\n * @param parent - Optional parent perspective. Search for containing portal stops at parent\n * (or root if parent is undefined or invalid.)\n */\nexport function portalContainsElement(target, parent) {\n var elementMatch = findElementRecursive(target, function (testElement) { return parent === testElement || testElement.hasAttribute(DATA_PORTAL_ATTRIBUTE); });\n return elementMatch !== null && elementMatch.hasAttribute(DATA_PORTAL_ATTRIBUTE);\n}\n//# sourceMappingURL=portalContainsElement.js.map","export var DATA_PORTAL_ATTRIBUTE = 'data-portal-element';\n/**\n * Identify element as a portal by setting an attribute.\n * @param element - Element to mark as a portal.\n */\nexport function setPortalAttribute(element) {\n element.setAttribute(DATA_PORTAL_ATTRIBUTE, 'true');\n}\n//# sourceMappingURL=setPortalAttribute.js.map","// Your use of the content in the files referenced here is subject to the terms of the license at https://aka.ms/fluentui-assets-license\nimport { registerIcons } from '@fluentui/style-utilities';\nexport function initializeIcons(baseUrl, options) {\n if (baseUrl === void 0) { baseUrl = ''; }\n var subset = {\n style: {\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontStyle: 'normal',\n fontWeight: 'normal',\n speak: 'none',\n },\n fontFace: {\n fontFamily: \"\\\"FabricMDL2Icons\\\"\",\n src: \"url('\".concat(baseUrl, \"fabric-icons-a13498cf.woff') format('woff')\"),\n },\n icons: {\n GlobalNavButton: '\\uE700',\n ChevronDown: '\\uE70D',\n ChevronUp: '\\uE70E',\n Edit: '\\uE70F',\n Add: '\\uE710',\n Cancel: '\\uE711',\n More: '\\uE712',\n Settings: '\\uE713',\n Mail: '\\uE715',\n Filter: '\\uE71C',\n Search: '\\uE721',\n Share: '\\uE72D',\n BlockedSite: '\\uE72F',\n FavoriteStar: '\\uE734',\n FavoriteStarFill: '\\uE735',\n CheckMark: '\\uE73E',\n Delete: '\\uE74D',\n ChevronLeft: '\\uE76B',\n ChevronRight: '\\uE76C',\n Calendar: '\\uE787',\n Megaphone: '\\uE789',\n Undo: '\\uE7A7',\n Flag: '\\uE7C1',\n Page: '\\uE7C3',\n Pinned: '\\uE840',\n View: '\\uE890',\n Clear: '\\uE894',\n Download: '\\uE896',\n Upload: '\\uE898',\n Folder: '\\uE8B7',\n Sort: '\\uE8CB',\n AlignRight: '\\uE8E2',\n AlignLeft: '\\uE8E4',\n Tag: '\\uE8EC',\n AddFriend: '\\uE8FA',\n Info: '\\uE946',\n SortLines: '\\uE9D0',\n List: '\\uEA37',\n CircleRing: '\\uEA3A',\n Heart: '\\uEB51',\n HeartFill: '\\uEB52',\n Tiles: '\\uECA5',\n Embed: '\\uECCE',\n Glimmer: '\\uECF4',\n Ascending: '\\uEDC0',\n Descending: '\\uEDC1',\n SortUp: '\\uEE68',\n SortDown: '\\uEE69',\n SyncToPC: '\\uEE6E',\n LargeGrid: '\\uEECB',\n SkypeCheck: '\\uEF80',\n SkypeClock: '\\uEF81',\n SkypeMinus: '\\uEF82',\n ClearFilter: '\\uEF8F',\n Flow: '\\uEF90',\n StatusCircleCheckmark: '\\uF13E',\n MoreVertical: '\\uF2BC',\n },\n };\n registerIcons(subset, options);\n}\n//# sourceMappingURL=fabric-icons.js.map","// Your use of the content in the files referenced here is subject to the terms of the license at https://aka.ms/fluentui-assets-license\nimport { registerIcons } from '@fluentui/style-utilities';\nexport function initializeIcons(baseUrl, options) {\n if (baseUrl === void 0) { baseUrl = ''; }\n var subset = {\n style: {\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontStyle: 'normal',\n fontWeight: 'normal',\n speak: 'none'\n },\n fontFace: {\n fontFamily: \"\\\"FabricMDL2Icons-0\\\"\",\n src: \"url('\".concat(baseUrl, \"fabric-icons-0-467ee27f.woff') format('woff')\")\n },\n icons: {\n 'PageLink': '\\uE302',\n 'CommentSolid': '\\uE30E',\n 'ChangeEntitlements': '\\uE310',\n 'Installation': '\\uE311',\n 'WebAppBuilderModule': '\\uE313',\n 'WebAppBuilderFragment': '\\uE314',\n 'WebAppBuilderSlot': '\\uE315',\n 'BullseyeTargetEdit': '\\uE319',\n 'WebAppBuilderFragmentCreate': '\\uE31B',\n 'PageData': '\\uE31C',\n 'PageHeaderEdit': '\\uE31D',\n 'ProductList': '\\uE31E',\n 'UnpublishContent': '\\uE31F',\n 'DependencyAdd': '\\uE344',\n 'DependencyRemove': '\\uE345',\n 'EntitlementPolicy': '\\uE346',\n 'EntitlementRedemption': '\\uE347',\n 'SchoolDataSyncLogo': '\\uE34C',\n 'PinSolid12': '\\uE352',\n 'PinSolidOff12': '\\uE353',\n 'AddLink': '\\uE35E',\n 'SharepointAppIcon16': '\\uE365',\n 'DataflowsLink': '\\uE366',\n 'TimePicker': '\\uE367',\n 'UserWarning': '\\uE368',\n 'ComplianceAudit': '\\uE369',\n 'InternetSharing': '\\uE704',\n 'Brightness': '\\uE706',\n 'MapPin': '\\uE707',\n 'Airplane': '\\uE709',\n 'Tablet': '\\uE70A',\n 'QuickNote': '\\uE70B',\n 'Video': '\\uE714',\n 'People': '\\uE716',\n 'Phone': '\\uE717',\n 'Pin': '\\uE718',\n 'Shop': '\\uE719',\n 'Stop': '\\uE71A',\n 'Link': '\\uE71B',\n 'AllApps': '\\uE71D',\n 'Zoom': '\\uE71E',\n 'ZoomOut': '\\uE71F',\n 'Microphone': '\\uE720',\n 'Camera': '\\uE722',\n 'Attach': '\\uE723',\n 'Send': '\\uE724',\n 'FavoriteList': '\\uE728',\n 'PageSolid': '\\uE729',\n 'Forward': '\\uE72A',\n 'Back': '\\uE72B',\n 'Refresh': '\\uE72C',\n 'Lock': '\\uE72E',\n 'ReportHacked': '\\uE730',\n 'EMI': '\\uE731',\n 'MiniLink': '\\uE732',\n 'Blocked': '\\uE733',\n 'ReadingMode': '\\uE736',\n 'Favicon': '\\uE737',\n 'Remove': '\\uE738',\n 'Checkbox': '\\uE739',\n 'CheckboxComposite': '\\uE73A',\n 'CheckboxFill': '\\uE73B',\n 'CheckboxIndeterminate': '\\uE73C',\n 'CheckboxCompositeReversed': '\\uE73D',\n 'BackToWindow': '\\uE73F',\n 'FullScreen': '\\uE740',\n 'Print': '\\uE749',\n 'Up': '\\uE74A',\n 'Down': '\\uE74B',\n 'OEM': '\\uE74C',\n 'Save': '\\uE74E',\n 'ReturnKey': '\\uE751',\n 'Cloud': '\\uE753',\n 'Flashlight': '\\uE754',\n 'CommandPrompt': '\\uE756',\n 'Sad': '\\uE757',\n 'RealEstate': '\\uE758',\n 'SIPMove': '\\uE759',\n 'EraseTool': '\\uE75C',\n 'GripperTool': '\\uE75E',\n 'Dialpad': '\\uE75F',\n 'PageLeft': '\\uE760',\n 'PageRight': '\\uE761',\n 'MultiSelect': '\\uE762',\n 'KeyboardClassic': '\\uE765',\n 'Play': '\\uE768',\n 'Pause': '\\uE769',\n 'InkingTool': '\\uE76D',\n 'Emoji2': '\\uE76E',\n 'GripperBarHorizontal': '\\uE76F',\n 'System': '\\uE770',\n 'Personalize': '\\uE771',\n 'SearchAndApps': '\\uE773',\n 'Globe': '\\uE774',\n 'EaseOfAccess': '\\uE776',\n 'ContactInfo': '\\uE779',\n 'Unpin': '\\uE77A',\n 'Contact': '\\uE77B',\n 'Memo': '\\uE77C',\n 'IncomingCall': '\\uE77E'\n }\n };\n registerIcons(subset, options);\n}\n//# sourceMappingURL=fabric-icons-0.js.map","// Your use of the content in the files referenced here is subject to the terms of the license at https://aka.ms/fluentui-assets-license\nimport { registerIcons } from '@fluentui/style-utilities';\nexport function initializeIcons(baseUrl, options) {\n if (baseUrl === void 0) { baseUrl = ''; }\n var subset = {\n style: {\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontStyle: 'normal',\n fontWeight: 'normal',\n speak: 'none'\n },\n fontFace: {\n fontFamily: \"\\\"FabricMDL2Icons-1\\\"\",\n src: \"url('\".concat(baseUrl, \"fabric-icons-1-4d521695.woff') format('woff')\")\n },\n icons: {\n 'Paste': '\\uE77F',\n 'WindowsLogo': '\\uE782',\n 'Error': '\\uE783',\n 'GripperBarVertical': '\\uE784',\n 'Unlock': '\\uE785',\n 'Slideshow': '\\uE786',\n 'Trim': '\\uE78A',\n 'AutoEnhanceOn': '\\uE78D',\n 'AutoEnhanceOff': '\\uE78E',\n 'Color': '\\uE790',\n 'SaveAs': '\\uE792',\n 'Light': '\\uE793',\n 'Filters': '\\uE795',\n 'AspectRatio': '\\uE799',\n 'Contrast': '\\uE7A1',\n 'Redo': '\\uE7A6',\n 'Crop': '\\uE7A8',\n 'PhotoCollection': '\\uE7AA',\n 'Album': '\\uE7AB',\n 'Rotate': '\\uE7AD',\n 'PanoIndicator': '\\uE7B0',\n 'Translate': '\\uE7B2',\n 'RedEye': '\\uE7B3',\n 'ViewOriginal': '\\uE7B4',\n 'ThumbnailView': '\\uE7B6',\n 'Package': '\\uE7B8',\n 'Telemarketer': '\\uE7B9',\n 'Warning': '\\uE7BA',\n 'Financial': '\\uE7BB',\n 'Education': '\\uE7BE',\n 'ShoppingCart': '\\uE7BF',\n 'Train': '\\uE7C0',\n 'Move': '\\uE7C2',\n 'TouchPointer': '\\uE7C9',\n 'Merge': '\\uE7D5',\n 'TurnRight': '\\uE7DB',\n 'Ferry': '\\uE7E3',\n 'Highlight': '\\uE7E6',\n 'PowerButton': '\\uE7E8',\n 'Tab': '\\uE7E9',\n 'Admin': '\\uE7EF',\n 'TVMonitor': '\\uE7F4',\n 'Speakers': '\\uE7F5',\n 'Game': '\\uE7FC',\n 'HorizontalTabKey': '\\uE7FD',\n 'UnstackSelected': '\\uE7FE',\n 'StackIndicator': '\\uE7FF',\n 'Nav2DMapView': '\\uE800',\n 'StreetsideSplitMinimize': '\\uE802',\n 'Car': '\\uE804',\n 'Bus': '\\uE806',\n 'EatDrink': '\\uE807',\n 'SeeDo': '\\uE808',\n 'LocationCircle': '\\uE80E',\n 'Home': '\\uE80F',\n 'SwitcherStartEnd': '\\uE810',\n 'ParkingLocation': '\\uE811',\n 'IncidentTriangle': '\\uE814',\n 'Touch': '\\uE815',\n 'MapDirections': '\\uE816',\n 'CaretHollow': '\\uE817',\n 'CaretSolid': '\\uE818',\n 'History': '\\uE81C',\n 'Location': '\\uE81D',\n 'MapLayers': '\\uE81E',\n 'SearchNearby': '\\uE820',\n 'Work': '\\uE821',\n 'Recent': '\\uE823',\n 'Hotel': '\\uE824',\n 'Bank': '\\uE825',\n 'LocationDot': '\\uE827',\n 'Dictionary': '\\uE82D',\n 'ChromeBack': '\\uE830',\n 'FolderOpen': '\\uE838',\n 'PinnedFill': '\\uE842',\n 'RevToggleKey': '\\uE845',\n 'USB': '\\uE88E',\n 'Previous': '\\uE892',\n 'Next': '\\uE893',\n 'Sync': '\\uE895',\n 'Help': '\\uE897',\n 'Emoji': '\\uE899',\n 'MailForward': '\\uE89C',\n 'ClosePane': '\\uE89F',\n 'OpenPane': '\\uE8A0',\n 'PreviewLink': '\\uE8A1',\n 'ZoomIn': '\\uE8A3',\n 'Bookmarks': '\\uE8A4',\n 'Document': '\\uE8A5',\n 'ProtectedDocument': '\\uE8A6',\n 'OpenInNewWindow': '\\uE8A7',\n 'MailFill': '\\uE8A8',\n 'ViewAll': '\\uE8A9',\n 'Switch': '\\uE8AB',\n 'Rename': '\\uE8AC',\n 'Go': '\\uE8AD',\n 'Remote': '\\uE8AF',\n 'SelectAll': '\\uE8B3',\n 'Orientation': '\\uE8B4',\n 'Import': '\\uE8B5'\n }\n };\n registerIcons(subset, options);\n}\n//# sourceMappingURL=fabric-icons-1.js.map","// Your use of the content in the files referenced here is subject to the terms of the license at https://aka.ms/fluentui-assets-license\nimport { registerIcons } from '@fluentui/style-utilities';\nexport function initializeIcons(baseUrl, options) {\n if (baseUrl === void 0) { baseUrl = ''; }\n var subset = {\n style: {\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontStyle: 'normal',\n fontWeight: 'normal',\n speak: 'none'\n },\n fontFace: {\n fontFamily: \"\\\"FabricMDL2Icons-2\\\"\",\n src: \"url('\".concat(baseUrl, \"fabric-icons-2-63c99abf.woff') format('woff')\")\n },\n icons: {\n 'Picture': '\\uE8B9',\n 'ChromeClose': '\\uE8BB',\n 'ShowResults': '\\uE8BC',\n 'Message': '\\uE8BD',\n 'CalendarDay': '\\uE8BF',\n 'CalendarWeek': '\\uE8C0',\n 'MailReplyAll': '\\uE8C2',\n 'Read': '\\uE8C3',\n 'Cut': '\\uE8C6',\n 'PaymentCard': '\\uE8C7',\n 'Copy': '\\uE8C8',\n 'Important': '\\uE8C9',\n 'MailReply': '\\uE8CA',\n 'GotoToday': '\\uE8D1',\n 'Font': '\\uE8D2',\n 'FontColor': '\\uE8D3',\n 'FolderFill': '\\uE8D5',\n 'Permissions': '\\uE8D7',\n 'DisableUpdates': '\\uE8D8',\n 'Unfavorite': '\\uE8D9',\n 'Italic': '\\uE8DB',\n 'Underline': '\\uE8DC',\n 'Bold': '\\uE8DD',\n 'MoveToFolder': '\\uE8DE',\n 'Dislike': '\\uE8E0',\n 'Like': '\\uE8E1',\n 'AlignCenter': '\\uE8E3',\n 'OpenFile': '\\uE8E5',\n 'ClearSelection': '\\uE8E6',\n 'FontDecrease': '\\uE8E7',\n 'FontIncrease': '\\uE8E8',\n 'FontSize': '\\uE8E9',\n 'CellPhone': '\\uE8EA',\n 'RepeatOne': '\\uE8ED',\n 'RepeatAll': '\\uE8EE',\n 'Calculator': '\\uE8EF',\n 'Library': '\\uE8F1',\n 'PostUpdate': '\\uE8F3',\n 'NewFolder': '\\uE8F4',\n 'CalendarReply': '\\uE8F5',\n 'UnsyncFolder': '\\uE8F6',\n 'SyncFolder': '\\uE8F7',\n 'BlockContact': '\\uE8F8',\n 'Accept': '\\uE8FB',\n 'BulletedList': '\\uE8FD',\n 'Preview': '\\uE8FF',\n 'News': '\\uE900',\n 'Chat': '\\uE901',\n 'Group': '\\uE902',\n 'World': '\\uE909',\n 'Comment': '\\uE90A',\n 'DockLeft': '\\uE90C',\n 'DockRight': '\\uE90D',\n 'Repair': '\\uE90F',\n 'Accounts': '\\uE910',\n 'Street': '\\uE913',\n 'RadioBullet': '\\uE915',\n 'Stopwatch': '\\uE916',\n 'Clock': '\\uE917',\n 'WorldClock': '\\uE918',\n 'AlarmClock': '\\uE919',\n 'Photo': '\\uE91B',\n 'ActionCenter': '\\uE91C',\n 'Hospital': '\\uE91D',\n 'Timer': '\\uE91E',\n 'FullCircleMask': '\\uE91F',\n 'LocationFill': '\\uE920',\n 'ChromeMinimize': '\\uE921',\n 'ChromeRestore': '\\uE923',\n 'Annotation': '\\uE924',\n 'Fingerprint': '\\uE928',\n 'Handwriting': '\\uE929',\n 'ChromeFullScreen': '\\uE92D',\n 'Completed': '\\uE930',\n 'Label': '\\uE932',\n 'FlickDown': '\\uE935',\n 'FlickUp': '\\uE936',\n 'FlickLeft': '\\uE937',\n 'FlickRight': '\\uE938',\n 'MiniExpand': '\\uE93A',\n 'MiniContract': '\\uE93B',\n 'Streaming': '\\uE93E',\n 'MusicInCollection': '\\uE940',\n 'OneDriveLogo': '\\uE941',\n 'CompassNW': '\\uE942',\n 'Code': '\\uE943',\n 'LightningBolt': '\\uE945',\n 'CalculatorMultiply': '\\uE947',\n 'CalculatorAddition': '\\uE948',\n 'CalculatorSubtract': '\\uE949',\n 'CalculatorPercentage': '\\uE94C',\n 'CalculatorEqualTo': '\\uE94E',\n 'PrintfaxPrinterFile': '\\uE956',\n 'StorageOptical': '\\uE958',\n 'Communications': '\\uE95A',\n 'Headset': '\\uE95B',\n 'Health': '\\uE95E',\n 'Webcam2': '\\uE960',\n 'FrontCamera': '\\uE96B',\n 'ChevronUpSmall': '\\uE96D'\n }\n };\n registerIcons(subset, options);\n}\n//# sourceMappingURL=fabric-icons-2.js.map","// Your use of the content in the files referenced here is subject to the terms of the license at https://aka.ms/fluentui-assets-license\nimport { registerIcons } from '@fluentui/style-utilities';\nexport function initializeIcons(baseUrl, options) {\n if (baseUrl === void 0) { baseUrl = ''; }\n var subset = {\n style: {\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontStyle: 'normal',\n fontWeight: 'normal',\n speak: 'none'\n },\n fontFace: {\n fontFamily: \"\\\"FabricMDL2Icons-3\\\"\",\n src: \"url('\".concat(baseUrl, \"fabric-icons-3-089e217a.woff') format('woff')\")\n },\n icons: {\n 'ChevronDownSmall': '\\uE96E',\n 'ChevronLeftSmall': '\\uE96F',\n 'ChevronRightSmall': '\\uE970',\n 'ChevronUpMed': '\\uE971',\n 'ChevronDownMed': '\\uE972',\n 'ChevronLeftMed': '\\uE973',\n 'ChevronRightMed': '\\uE974',\n 'Devices2': '\\uE975',\n 'PC1': '\\uE977',\n 'PresenceChickletVideo': '\\uE979',\n 'Reply': '\\uE97A',\n 'HalfAlpha': '\\uE97E',\n 'ConstructionCone': '\\uE98F',\n 'DoubleChevronLeftMed': '\\uE991',\n 'Volume0': '\\uE992',\n 'Volume1': '\\uE993',\n 'Volume2': '\\uE994',\n 'Volume3': '\\uE995',\n 'Chart': '\\uE999',\n 'Robot': '\\uE99A',\n 'Manufacturing': '\\uE99C',\n 'LockSolid': '\\uE9A2',\n 'FitPage': '\\uE9A6',\n 'FitWidth': '\\uE9A7',\n 'BidiLtr': '\\uE9AA',\n 'BidiRtl': '\\uE9AB',\n 'RightDoubleQuote': '\\uE9B1',\n 'Sunny': '\\uE9BD',\n 'CloudWeather': '\\uE9BE',\n 'Cloudy': '\\uE9BF',\n 'PartlyCloudyDay': '\\uE9C0',\n 'PartlyCloudyNight': '\\uE9C1',\n 'ClearNight': '\\uE9C2',\n 'RainShowersDay': '\\uE9C3',\n 'Rain': '\\uE9C4',\n 'Thunderstorms': '\\uE9C6',\n 'RainSnow': '\\uE9C7',\n 'Snow': '\\uE9C8',\n 'BlowingSnow': '\\uE9C9',\n 'Frigid': '\\uE9CA',\n 'Fog': '\\uE9CB',\n 'Squalls': '\\uE9CC',\n 'Duststorm': '\\uE9CD',\n 'Unknown': '\\uE9CE',\n 'Precipitation': '\\uE9CF',\n 'Ribbon': '\\uE9D1',\n 'AreaChart': '\\uE9D2',\n 'Assign': '\\uE9D3',\n 'FlowChart': '\\uE9D4',\n 'CheckList': '\\uE9D5',\n 'Diagnostic': '\\uE9D9',\n 'Generate': '\\uE9DA',\n 'LineChart': '\\uE9E6',\n 'Equalizer': '\\uE9E9',\n 'BarChartHorizontal': '\\uE9EB',\n 'BarChartVertical': '\\uE9EC',\n 'Freezing': '\\uE9EF',\n 'FunnelChart': '\\uE9F1',\n 'Processing': '\\uE9F5',\n 'Quantity': '\\uE9F8',\n 'ReportDocument': '\\uE9F9',\n 'StackColumnChart': '\\uE9FC',\n 'SnowShowerDay': '\\uE9FD',\n 'HailDay': '\\uEA00',\n 'WorkFlow': '\\uEA01',\n 'HourGlass': '\\uEA03',\n 'StoreLogoMed20': '\\uEA04',\n 'TimeSheet': '\\uEA05',\n 'TriangleSolid': '\\uEA08',\n 'UpgradeAnalysis': '\\uEA0B',\n 'VideoSolid': '\\uEA0C',\n 'RainShowersNight': '\\uEA0F',\n 'SnowShowerNight': '\\uEA11',\n 'Teamwork': '\\uEA12',\n 'HailNight': '\\uEA13',\n 'PeopleAdd': '\\uEA15',\n 'Glasses': '\\uEA16',\n 'DateTime2': '\\uEA17',\n 'Shield': '\\uEA18',\n 'Header1': '\\uEA19',\n 'PageAdd': '\\uEA1A',\n 'NumberedList': '\\uEA1C',\n 'PowerBILogo': '\\uEA1E',\n 'Info2': '\\uEA1F',\n 'MusicInCollectionFill': '\\uEA36',\n 'Asterisk': '\\uEA38',\n 'ErrorBadge': '\\uEA39',\n 'CircleFill': '\\uEA3B',\n 'Record2': '\\uEA3F',\n 'AllAppsMirrored': '\\uEA40',\n 'BookmarksMirrored': '\\uEA41',\n 'BulletedListMirrored': '\\uEA42',\n 'CaretHollowMirrored': '\\uEA45',\n 'CaretSolidMirrored': '\\uEA46',\n 'ChromeBackMirrored': '\\uEA47',\n 'ClearSelectionMirrored': '\\uEA48',\n 'ClosePaneMirrored': '\\uEA49',\n 'DockLeftMirrored': '\\uEA4C',\n 'DoubleChevronLeftMedMirrored': '\\uEA4D',\n 'GoMirrored': '\\uEA4F'\n }\n };\n registerIcons(subset, options);\n}\n//# sourceMappingURL=fabric-icons-3.js.map","// Your use of the content in the files referenced here is subject to the terms of the license at https://aka.ms/fluentui-assets-license\nimport { registerIcons } from '@fluentui/style-utilities';\nexport function initializeIcons(baseUrl, options) {\n if (baseUrl === void 0) { baseUrl = ''; }\n var subset = {\n style: {\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontStyle: 'normal',\n fontWeight: 'normal',\n speak: 'none'\n },\n fontFace: {\n fontFamily: \"\\\"FabricMDL2Icons-4\\\"\",\n src: \"url('\".concat(baseUrl, \"fabric-icons-4-a656cc0a.woff') format('woff')\")\n },\n icons: {\n 'HelpMirrored': '\\uEA51',\n 'ImportMirrored': '\\uEA52',\n 'ImportAllMirrored': '\\uEA53',\n 'ListMirrored': '\\uEA55',\n 'MailForwardMirrored': '\\uEA56',\n 'MailReplyMirrored': '\\uEA57',\n 'MailReplyAllMirrored': '\\uEA58',\n 'MiniContractMirrored': '\\uEA59',\n 'MiniExpandMirrored': '\\uEA5A',\n 'OpenPaneMirrored': '\\uEA5B',\n 'ParkingLocationMirrored': '\\uEA5E',\n 'SendMirrored': '\\uEA63',\n 'ShowResultsMirrored': '\\uEA65',\n 'ThumbnailViewMirrored': '\\uEA67',\n 'Media': '\\uEA69',\n 'Devices3': '\\uEA6C',\n 'Focus': '\\uEA6F',\n 'VideoLightOff': '\\uEA74',\n 'Lightbulb': '\\uEA80',\n 'StatusTriangle': '\\uEA82',\n 'VolumeDisabled': '\\uEA85',\n 'Puzzle': '\\uEA86',\n 'EmojiNeutral': '\\uEA87',\n 'EmojiDisappointed': '\\uEA88',\n 'HomeSolid': '\\uEA8A',\n 'Ringer': '\\uEA8F',\n 'PDF': '\\uEA90',\n 'HeartBroken': '\\uEA92',\n 'StoreLogo16': '\\uEA96',\n 'MultiSelectMirrored': '\\uEA98',\n 'Broom': '\\uEA99',\n 'AddToShoppingList': '\\uEA9A',\n 'Cocktails': '\\uEA9D',\n 'Wines': '\\uEABF',\n 'Articles': '\\uEAC1',\n 'Cycling': '\\uEAC7',\n 'DietPlanNotebook': '\\uEAC8',\n 'Pill': '\\uEACB',\n 'ExerciseTracker': '\\uEACC',\n 'HandsFree': '\\uEAD0',\n 'Medical': '\\uEAD4',\n 'Running': '\\uEADA',\n 'Weights': '\\uEADB',\n 'Trackers': '\\uEADF',\n 'AddNotes': '\\uEAE3',\n 'AllCurrency': '\\uEAE4',\n 'BarChart4': '\\uEAE7',\n 'CirclePlus': '\\uEAEE',\n 'Coffee': '\\uEAEF',\n 'Cotton': '\\uEAF3',\n 'Market': '\\uEAFC',\n 'Money': '\\uEAFD',\n 'PieDouble': '\\uEB04',\n 'PieSingle': '\\uEB05',\n 'RemoveFilter': '\\uEB08',\n 'Savings': '\\uEB0B',\n 'Sell': '\\uEB0C',\n 'StockDown': '\\uEB0F',\n 'StockUp': '\\uEB11',\n 'Lamp': '\\uEB19',\n 'Source': '\\uEB1B',\n 'MSNVideos': '\\uEB1C',\n 'Cricket': '\\uEB1E',\n 'Golf': '\\uEB1F',\n 'Baseball': '\\uEB20',\n 'Soccer': '\\uEB21',\n 'MoreSports': '\\uEB22',\n 'AutoRacing': '\\uEB24',\n 'CollegeHoops': '\\uEB25',\n 'CollegeFootball': '\\uEB26',\n 'ProFootball': '\\uEB27',\n 'ProHockey': '\\uEB28',\n 'Rugby': '\\uEB2D',\n 'SubstitutionsIn': '\\uEB31',\n 'Tennis': '\\uEB33',\n 'Arrivals': '\\uEB34',\n 'Design': '\\uEB3C',\n 'Website': '\\uEB41',\n 'Drop': '\\uEB42',\n 'HistoricalWeather': '\\uEB43',\n 'SkiResorts': '\\uEB45',\n 'Snowflake': '\\uEB46',\n 'BusSolid': '\\uEB47',\n 'FerrySolid': '\\uEB48',\n 'AirplaneSolid': '\\uEB4C',\n 'TrainSolid': '\\uEB4D',\n 'Ticket': '\\uEB54',\n 'WifiWarning4': '\\uEB63',\n 'Devices4': '\\uEB66',\n 'AzureLogo': '\\uEB6A',\n 'BingLogo': '\\uEB6B',\n 'MSNLogo': '\\uEB6C',\n 'OutlookLogoInverse': '\\uEB6D',\n 'OfficeLogo': '\\uEB6E',\n 'SkypeLogo': '\\uEB6F',\n 'Door': '\\uEB75',\n 'EditMirrored': '\\uEB7E',\n 'GiftCard': '\\uEB8E',\n 'DoubleBookmark': '\\uEB8F',\n 'StatusErrorFull': '\\uEB90'\n }\n };\n registerIcons(subset, options);\n}\n//# sourceMappingURL=fabric-icons-4.js.map","// Your use of the content in the files referenced here is subject to the terms of the license at https://aka.ms/fluentui-assets-license\nimport { registerIcons } from '@fluentui/style-utilities';\nexport function initializeIcons(baseUrl, options) {\n if (baseUrl === void 0) { baseUrl = ''; }\n var subset = {\n style: {\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontStyle: 'normal',\n fontWeight: 'normal',\n speak: 'none'\n },\n fontFace: {\n fontFamily: \"\\\"FabricMDL2Icons-5\\\"\",\n src: \"url('\".concat(baseUrl, \"fabric-icons-5-f95ba260.woff') format('woff')\")\n },\n icons: {\n 'Certificate': '\\uEB95',\n 'FastForward': '\\uEB9D',\n 'Rewind': '\\uEB9E',\n 'Photo2': '\\uEB9F',\n 'OpenSource': '\\uEBC2',\n 'Movers': '\\uEBCD',\n 'CloudDownload': '\\uEBD3',\n 'Family': '\\uEBDA',\n 'WindDirection': '\\uEBE6',\n 'Bug': '\\uEBE8',\n 'SiteScan': '\\uEBEC',\n 'BrowserScreenShot': '\\uEBED',\n 'F12DevTools': '\\uEBEE',\n 'CSS': '\\uEBEF',\n 'JS': '\\uEBF0',\n 'DeliveryTruck': '\\uEBF4',\n 'ReminderPerson': '\\uEBF7',\n 'ReminderGroup': '\\uEBF8',\n 'ReminderTime': '\\uEBF9',\n 'TabletMode': '\\uEBFC',\n 'Umbrella': '\\uEC04',\n 'NetworkTower': '\\uEC05',\n 'CityNext': '\\uEC06',\n 'CityNext2': '\\uEC07',\n 'Section': '\\uEC0C',\n 'OneNoteLogoInverse': '\\uEC0D',\n 'ToggleFilled': '\\uEC11',\n 'ToggleBorder': '\\uEC12',\n 'SliderThumb': '\\uEC13',\n 'ToggleThumb': '\\uEC14',\n 'Documentation': '\\uEC17',\n 'Badge': '\\uEC1B',\n 'Giftbox': '\\uEC1F',\n 'VisualStudioLogo': '\\uEC22',\n 'HomeGroup': '\\uEC26',\n 'ExcelLogoInverse': '\\uEC28',\n 'WordLogoInverse': '\\uEC29',\n 'PowerPointLogoInverse': '\\uEC2A',\n 'Cafe': '\\uEC32',\n 'SpeedHigh': '\\uEC4A',\n 'Commitments': '\\uEC4D',\n 'ThisPC': '\\uEC4E',\n 'MusicNote': '\\uEC4F',\n 'MicOff': '\\uEC54',\n 'PlaybackRate1x': '\\uEC57',\n 'EdgeLogo': '\\uEC60',\n 'CompletedSolid': '\\uEC61',\n 'AlbumRemove': '\\uEC62',\n 'MessageFill': '\\uEC70',\n 'TabletSelected': '\\uEC74',\n 'MobileSelected': '\\uEC75',\n 'LaptopSelected': '\\uEC76',\n 'TVMonitorSelected': '\\uEC77',\n 'DeveloperTools': '\\uEC7A',\n 'Shapes': '\\uEC7C',\n 'InsertTextBox': '\\uEC7D',\n 'LowerBrightness': '\\uEC8A',\n 'WebComponents': '\\uEC8B',\n 'OfflineStorage': '\\uEC8C',\n 'DOM': '\\uEC8D',\n 'CloudUpload': '\\uEC8E',\n 'ScrollUpDown': '\\uEC8F',\n 'DateTime': '\\uEC92',\n 'Event': '\\uECA3',\n 'Cake': '\\uECA4',\n 'Org': '\\uECA6',\n 'PartyLeader': '\\uECA7',\n 'DRM': '\\uECA8',\n 'CloudAdd': '\\uECA9',\n 'AppIconDefault': '\\uECAA',\n 'Photo2Add': '\\uECAB',\n 'Photo2Remove': '\\uECAC',\n 'Calories': '\\uECAD',\n 'POI': '\\uECAF',\n 'AddTo': '\\uECC8',\n 'RadioBtnOff': '\\uECCA',\n 'RadioBtnOn': '\\uECCB',\n 'ExploreContent': '\\uECCD',\n 'Product': '\\uECDC',\n 'ProgressLoopInner': '\\uECDE',\n 'ProgressLoopOuter': '\\uECDF',\n 'Blocked2': '\\uECE4',\n 'FangBody': '\\uECEB',\n 'Toolbox': '\\uECED',\n 'PageHeader': '\\uECEE',\n 'ChatInviteFriend': '\\uECFE',\n 'Brush': '\\uECFF',\n 'Shirt': '\\uED00',\n 'Crown': '\\uED01',\n 'Diamond': '\\uED02',\n 'ScaleUp': '\\uED09',\n 'QRCode': '\\uED14',\n 'Feedback': '\\uED15',\n 'SharepointLogoInverse': '\\uED18',\n 'YammerLogo': '\\uED19',\n 'Hide': '\\uED1A',\n 'Uneditable': '\\uED1D',\n 'ReturnToSession': '\\uED24',\n 'OpenFolderHorizontal': '\\uED25',\n 'CalendarMirrored': '\\uED28'\n }\n };\n registerIcons(subset, options);\n}\n//# sourceMappingURL=fabric-icons-5.js.map","// Your use of the content in the files referenced here is subject to the terms of the license at https://aka.ms/fluentui-assets-license\nimport { registerIcons } from '@fluentui/style-utilities';\nexport function initializeIcons(baseUrl, options) {\n if (baseUrl === void 0) { baseUrl = ''; }\n var subset = {\n style: {\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontStyle: 'normal',\n fontWeight: 'normal',\n speak: 'none'\n },\n fontFace: {\n fontFamily: \"\\\"FabricMDL2Icons-6\\\"\",\n src: \"url('\".concat(baseUrl, \"fabric-icons-6-ef6fd590.woff') format('woff')\")\n },\n icons: {\n 'SwayLogoInverse': '\\uED29',\n 'OutOfOffice': '\\uED34',\n 'Trophy': '\\uED3F',\n 'ReopenPages': '\\uED50',\n 'EmojiTabSymbols': '\\uED58',\n 'AADLogo': '\\uED68',\n 'AccessLogo': '\\uED69',\n 'AdminALogoInverse32': '\\uED6A',\n 'AdminCLogoInverse32': '\\uED6B',\n 'AdminDLogoInverse32': '\\uED6C',\n 'AdminELogoInverse32': '\\uED6D',\n 'AdminLLogoInverse32': '\\uED6E',\n 'AdminMLogoInverse32': '\\uED6F',\n 'AdminOLogoInverse32': '\\uED70',\n 'AdminPLogoInverse32': '\\uED71',\n 'AdminSLogoInverse32': '\\uED72',\n 'AdminYLogoInverse32': '\\uED73',\n 'DelveLogoInverse': '\\uED76',\n 'ExchangeLogoInverse': '\\uED78',\n 'LyncLogo': '\\uED79',\n 'OfficeVideoLogoInverse': '\\uED7A',\n 'SocialListeningLogo': '\\uED7C',\n 'VisioLogoInverse': '\\uED7D',\n 'Balloons': '\\uED7E',\n 'Cat': '\\uED7F',\n 'MailAlert': '\\uED80',\n 'MailCheck': '\\uED81',\n 'MailLowImportance': '\\uED82',\n 'MailPause': '\\uED83',\n 'MailRepeat': '\\uED84',\n 'SecurityGroup': '\\uED85',\n 'Table': '\\uED86',\n 'VoicemailForward': '\\uED87',\n 'VoicemailReply': '\\uED88',\n 'Waffle': '\\uED89',\n 'RemoveEvent': '\\uED8A',\n 'EventInfo': '\\uED8B',\n 'ForwardEvent': '\\uED8C',\n 'WipePhone': '\\uED8D',\n 'AddOnlineMeeting': '\\uED8E',\n 'JoinOnlineMeeting': '\\uED8F',\n 'RemoveLink': '\\uED90',\n 'PeopleBlock': '\\uED91',\n 'PeopleRepeat': '\\uED92',\n 'PeopleAlert': '\\uED93',\n 'PeoplePause': '\\uED94',\n 'TransferCall': '\\uED95',\n 'AddPhone': '\\uED96',\n 'UnknownCall': '\\uED97',\n 'NoteReply': '\\uED98',\n 'NoteForward': '\\uED99',\n 'NotePinned': '\\uED9A',\n 'RemoveOccurrence': '\\uED9B',\n 'Timeline': '\\uED9C',\n 'EditNote': '\\uED9D',\n 'CircleHalfFull': '\\uED9E',\n 'Room': '\\uED9F',\n 'Unsubscribe': '\\uEDA0',\n 'Subscribe': '\\uEDA1',\n 'HardDrive': '\\uEDA2',\n 'RecurringTask': '\\uEDB2',\n 'TaskManager': '\\uEDB7',\n 'TaskManagerMirrored': '\\uEDB8',\n 'Combine': '\\uEDBB',\n 'Split': '\\uEDBC',\n 'DoubleChevronUp': '\\uEDBD',\n 'DoubleChevronLeft': '\\uEDBE',\n 'DoubleChevronRight': '\\uEDBF',\n 'TextBox': '\\uEDC2',\n 'TextField': '\\uEDC3',\n 'NumberField': '\\uEDC4',\n 'Dropdown': '\\uEDC5',\n 'PenWorkspace': '\\uEDC6',\n 'BookingsLogo': '\\uEDC7',\n 'ClassNotebookLogoInverse': '\\uEDC8',\n 'DelveAnalyticsLogo': '\\uEDCA',\n 'DocsLogoInverse': '\\uEDCB',\n 'Dynamics365Logo': '\\uEDCC',\n 'DynamicSMBLogo': '\\uEDCD',\n 'OfficeAssistantLogo': '\\uEDCE',\n 'OfficeStoreLogo': '\\uEDCF',\n 'OneNoteEduLogoInverse': '\\uEDD0',\n 'PlannerLogo': '\\uEDD1',\n 'PowerApps': '\\uEDD2',\n 'Suitcase': '\\uEDD3',\n 'ProjectLogoInverse': '\\uEDD4',\n 'CaretLeft8': '\\uEDD5',\n 'CaretRight8': '\\uEDD6',\n 'CaretUp8': '\\uEDD7',\n 'CaretDown8': '\\uEDD8',\n 'CaretLeftSolid8': '\\uEDD9',\n 'CaretRightSolid8': '\\uEDDA',\n 'CaretUpSolid8': '\\uEDDB',\n 'CaretDownSolid8': '\\uEDDC',\n 'ClearFormatting': '\\uEDDD',\n 'Superscript': '\\uEDDE',\n 'Subscript': '\\uEDDF',\n 'Strikethrough': '\\uEDE0',\n 'Export': '\\uEDE1',\n 'ExportMirrored': '\\uEDE2'\n }\n };\n registerIcons(subset, options);\n}\n//# sourceMappingURL=fabric-icons-6.js.map","// Your use of the content in the files referenced here is subject to the terms of the license at https://aka.ms/fluentui-assets-license\nimport { registerIcons } from '@fluentui/style-utilities';\nexport function initializeIcons(baseUrl, options) {\n if (baseUrl === void 0) { baseUrl = ''; }\n var subset = {\n style: {\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontStyle: 'normal',\n fontWeight: 'normal',\n speak: 'none'\n },\n fontFace: {\n fontFamily: \"\\\"FabricMDL2Icons-7\\\"\",\n src: \"url('\".concat(baseUrl, \"fabric-icons-7-2b97bb99.woff') format('woff')\")\n },\n icons: {\n 'SingleBookmark': '\\uEDFF',\n 'SingleBookmarkSolid': '\\uEE00',\n 'DoubleChevronDown': '\\uEE04',\n 'FollowUser': '\\uEE05',\n 'ReplyAll': '\\uEE0A',\n 'WorkforceManagement': '\\uEE0F',\n 'RecruitmentManagement': '\\uEE12',\n 'Questionnaire': '\\uEE19',\n 'ManagerSelfService': '\\uEE23',\n 'ProductionFloorManagement': '\\uEE29',\n 'ProductRelease': '\\uEE2E',\n 'ProductVariant': '\\uEE30',\n 'ReplyMirrored': '\\uEE35',\n 'ReplyAllMirrored': '\\uEE36',\n 'Medal': '\\uEE38',\n 'AddGroup': '\\uEE3D',\n 'QuestionnaireMirrored': '\\uEE4B',\n 'CloudImportExport': '\\uEE55',\n 'TemporaryUser': '\\uEE58',\n 'CaretSolid16': '\\uEE62',\n 'GroupedDescending': '\\uEE66',\n 'GroupedAscending': '\\uEE67',\n 'AwayStatus': '\\uEE6A',\n 'MyMoviesTV': '\\uEE6C',\n 'GenericScan': '\\uEE6F',\n 'AustralianRules': '\\uEE70',\n 'WifiEthernet': '\\uEE77',\n 'TrackersMirrored': '\\uEE92',\n 'DateTimeMirrored': '\\uEE93',\n 'StopSolid': '\\uEE95',\n 'DoubleChevronUp12': '\\uEE96',\n 'DoubleChevronDown12': '\\uEE97',\n 'DoubleChevronLeft12': '\\uEE98',\n 'DoubleChevronRight12': '\\uEE99',\n 'CalendarAgenda': '\\uEE9A',\n 'ConnectVirtualMachine': '\\uEE9D',\n 'AddEvent': '\\uEEB5',\n 'AssetLibrary': '\\uEEB6',\n 'DataConnectionLibrary': '\\uEEB7',\n 'DocLibrary': '\\uEEB8',\n 'FormLibrary': '\\uEEB9',\n 'FormLibraryMirrored': '\\uEEBA',\n 'ReportLibrary': '\\uEEBB',\n 'ReportLibraryMirrored': '\\uEEBC',\n 'ContactCard': '\\uEEBD',\n 'CustomList': '\\uEEBE',\n 'CustomListMirrored': '\\uEEBF',\n 'IssueTracking': '\\uEEC0',\n 'IssueTrackingMirrored': '\\uEEC1',\n 'PictureLibrary': '\\uEEC2',\n 'OfficeAddinsLogo': '\\uEEC7',\n 'OfflineOneDriveParachute': '\\uEEC8',\n 'OfflineOneDriveParachuteDisabled': '\\uEEC9',\n 'TriangleSolidUp12': '\\uEECC',\n 'TriangleSolidDown12': '\\uEECD',\n 'TriangleSolidLeft12': '\\uEECE',\n 'TriangleSolidRight12': '\\uEECF',\n 'TriangleUp12': '\\uEED0',\n 'TriangleDown12': '\\uEED1',\n 'TriangleLeft12': '\\uEED2',\n 'TriangleRight12': '\\uEED3',\n 'ArrowUpRight8': '\\uEED4',\n 'ArrowDownRight8': '\\uEED5',\n 'DocumentSet': '\\uEED6',\n 'GoToDashboard': '\\uEEED',\n 'DelveAnalytics': '\\uEEEE',\n 'ArrowUpRightMirrored8': '\\uEEEF',\n 'ArrowDownRightMirrored8': '\\uEEF0',\n 'CompanyDirectory': '\\uEF0D',\n 'OpenEnrollment': '\\uEF1C',\n 'CompanyDirectoryMirrored': '\\uEF2B',\n 'OneDriveAdd': '\\uEF32',\n 'ProfileSearch': '\\uEF35',\n 'Header2': '\\uEF36',\n 'Header3': '\\uEF37',\n 'Header4': '\\uEF38',\n 'RingerSolid': '\\uEF3A',\n 'Eyedropper': '\\uEF3C',\n 'MarketDown': '\\uEF42',\n 'CalendarWorkWeek': '\\uEF51',\n 'SidePanel': '\\uEF52',\n 'GlobeFavorite': '\\uEF53',\n 'CaretTopLeftSolid8': '\\uEF54',\n 'CaretTopRightSolid8': '\\uEF55',\n 'ViewAll2': '\\uEF56',\n 'DocumentReply': '\\uEF57',\n 'PlayerSettings': '\\uEF58',\n 'ReceiptForward': '\\uEF59',\n 'ReceiptReply': '\\uEF5A',\n 'ReceiptCheck': '\\uEF5B',\n 'Fax': '\\uEF5C',\n 'RecurringEvent': '\\uEF5D',\n 'ReplyAlt': '\\uEF5E',\n 'ReplyAllAlt': '\\uEF5F',\n 'EditStyle': '\\uEF60',\n 'EditMail': '\\uEF61',\n 'Lifesaver': '\\uEF62',\n 'LifesaverLock': '\\uEF63',\n 'InboxCheck': '\\uEF64',\n 'FolderSearch': '\\uEF65'\n }\n };\n registerIcons(subset, options);\n}\n//# sourceMappingURL=fabric-icons-7.js.map","// Your use of the content in the files referenced here is subject to the terms of the license at https://aka.ms/fluentui-assets-license\nimport { registerIcons } from '@fluentui/style-utilities';\nexport function initializeIcons(baseUrl, options) {\n if (baseUrl === void 0) { baseUrl = ''; }\n var subset = {\n style: {\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontStyle: 'normal',\n fontWeight: 'normal',\n speak: 'none'\n },\n fontFace: {\n fontFamily: \"\\\"FabricMDL2Icons-8\\\"\",\n src: \"url('\".concat(baseUrl, \"fabric-icons-8-6fdf1528.woff') format('woff')\")\n },\n icons: {\n 'CollapseMenu': '\\uEF66',\n 'ExpandMenu': '\\uEF67',\n 'Boards': '\\uEF68',\n 'SunAdd': '\\uEF69',\n 'SunQuestionMark': '\\uEF6A',\n 'LandscapeOrientation': '\\uEF6B',\n 'DocumentSearch': '\\uEF6C',\n 'PublicCalendar': '\\uEF6D',\n 'PublicContactCard': '\\uEF6E',\n 'PublicEmail': '\\uEF6F',\n 'PublicFolder': '\\uEF70',\n 'WordDocument': '\\uEF71',\n 'PowerPointDocument': '\\uEF72',\n 'ExcelDocument': '\\uEF73',\n 'GroupedList': '\\uEF74',\n 'ClassroomLogo': '\\uEF75',\n 'Sections': '\\uEF76',\n 'EditPhoto': '\\uEF77',\n 'Starburst': '\\uEF78',\n 'ShareiOS': '\\uEF79',\n 'AirTickets': '\\uEF7A',\n 'PencilReply': '\\uEF7B',\n 'Tiles2': '\\uEF7C',\n 'SkypeCircleCheck': '\\uEF7D',\n 'SkypeCircleClock': '\\uEF7E',\n 'SkypeCircleMinus': '\\uEF7F',\n 'SkypeMessage': '\\uEF83',\n 'ClosedCaption': '\\uEF84',\n 'ATPLogo': '\\uEF85',\n 'OfficeFormsLogoInverse': '\\uEF86',\n 'RecycleBin': '\\uEF87',\n 'EmptyRecycleBin': '\\uEF88',\n 'Hide2': '\\uEF89',\n 'Breadcrumb': '\\uEF8C',\n 'BirthdayCake': '\\uEF8D',\n 'TimeEntry': '\\uEF95',\n 'CRMProcesses': '\\uEFB1',\n 'PageEdit': '\\uEFB6',\n 'PageArrowRight': '\\uEFB8',\n 'PageRemove': '\\uEFBA',\n 'Database': '\\uEFC7',\n 'DataManagementSettings': '\\uEFC8',\n 'CRMServices': '\\uEFD2',\n 'EditContact': '\\uEFD3',\n 'ConnectContacts': '\\uEFD4',\n 'AppIconDefaultAdd': '\\uEFDA',\n 'AppIconDefaultList': '\\uEFDE',\n 'ActivateOrders': '\\uEFE0',\n 'DeactivateOrders': '\\uEFE1',\n 'ProductCatalog': '\\uEFE8',\n 'ScatterChart': '\\uEFEB',\n 'AccountActivity': '\\uEFF4',\n 'DocumentManagement': '\\uEFFC',\n 'CRMReport': '\\uEFFE',\n 'KnowledgeArticle': '\\uF000',\n 'Relationship': '\\uF003',\n 'HomeVerify': '\\uF00E',\n 'ZipFolder': '\\uF012',\n 'SurveyQuestions': '\\uF01B',\n 'TextDocument': '\\uF029',\n 'TextDocumentShared': '\\uF02B',\n 'PageCheckedOut': '\\uF02C',\n 'PageShared': '\\uF02D',\n 'SaveAndClose': '\\uF038',\n 'Script': '\\uF03A',\n 'Archive': '\\uF03F',\n 'ActivityFeed': '\\uF056',\n 'Compare': '\\uF057',\n 'EventDate': '\\uF059',\n 'ArrowUpRight': '\\uF069',\n 'CaretRight': '\\uF06B',\n 'SetAction': '\\uF071',\n 'ChatBot': '\\uF08B',\n 'CaretSolidLeft': '\\uF08D',\n 'CaretSolidDown': '\\uF08E',\n 'CaretSolidRight': '\\uF08F',\n 'CaretSolidUp': '\\uF090',\n 'PowerAppsLogo': '\\uF091',\n 'PowerApps2Logo': '\\uF092',\n 'SearchIssue': '\\uF09A',\n 'SearchIssueMirrored': '\\uF09B',\n 'FabricAssetLibrary': '\\uF09C',\n 'FabricDataConnectionLibrary': '\\uF09D',\n 'FabricDocLibrary': '\\uF09E',\n 'FabricFormLibrary': '\\uF09F',\n 'FabricFormLibraryMirrored': '\\uF0A0',\n 'FabricReportLibrary': '\\uF0A1',\n 'FabricReportLibraryMirrored': '\\uF0A2',\n 'FabricPublicFolder': '\\uF0A3',\n 'FabricFolderSearch': '\\uF0A4',\n 'FabricMovetoFolder': '\\uF0A5',\n 'FabricUnsyncFolder': '\\uF0A6',\n 'FabricSyncFolder': '\\uF0A7',\n 'FabricOpenFolderHorizontal': '\\uF0A8',\n 'FabricFolder': '\\uF0A9',\n 'FabricFolderFill': '\\uF0AA',\n 'FabricNewFolder': '\\uF0AB',\n 'FabricPictureLibrary': '\\uF0AC',\n 'PhotoVideoMedia': '\\uF0B1',\n 'AddFavorite': '\\uF0C8'\n }\n };\n registerIcons(subset, options);\n}\n//# sourceMappingURL=fabric-icons-8.js.map","// Your use of the content in the files referenced here is subject to the terms of the license at https://aka.ms/fluentui-assets-license\nimport { registerIcons } from '@fluentui/style-utilities';\nexport function initializeIcons(baseUrl, options) {\n if (baseUrl === void 0) { baseUrl = ''; }\n var subset = {\n style: {\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontStyle: 'normal',\n fontWeight: 'normal',\n speak: 'none'\n },\n fontFace: {\n fontFamily: \"\\\"FabricMDL2Icons-9\\\"\",\n src: \"url('\".concat(baseUrl, \"fabric-icons-9-c6162b42.woff') format('woff')\")\n },\n icons: {\n 'AddFavoriteFill': '\\uF0C9',\n 'BufferTimeBefore': '\\uF0CF',\n 'BufferTimeAfter': '\\uF0D0',\n 'BufferTimeBoth': '\\uF0D1',\n 'PublishContent': '\\uF0D4',\n 'ClipboardList': '\\uF0E3',\n 'ClipboardListMirrored': '\\uF0E4',\n 'CannedChat': '\\uF0F2',\n 'SkypeForBusinessLogo': '\\uF0FC',\n 'TabCenter': '\\uF100',\n 'PageCheckedin': '\\uF104',\n 'PageList': '\\uF106',\n 'ReadOutLoud': '\\uF112',\n 'CaretBottomLeftSolid8': '\\uF121',\n 'CaretBottomRightSolid8': '\\uF122',\n 'FolderHorizontal': '\\uF12B',\n 'MicrosoftStaffhubLogo': '\\uF130',\n 'GiftboxOpen': '\\uF133',\n 'StatusCircleOuter': '\\uF136',\n 'StatusCircleInner': '\\uF137',\n 'StatusCircleRing': '\\uF138',\n 'StatusTriangleOuter': '\\uF139',\n 'StatusTriangleInner': '\\uF13A',\n 'StatusTriangleExclamation': '\\uF13B',\n 'StatusCircleExclamation': '\\uF13C',\n 'StatusCircleErrorX': '\\uF13D',\n 'StatusCircleInfo': '\\uF13F',\n 'StatusCircleBlock': '\\uF140',\n 'StatusCircleBlock2': '\\uF141',\n 'StatusCircleQuestionMark': '\\uF142',\n 'StatusCircleSync': '\\uF143',\n 'Toll': '\\uF160',\n 'ExploreContentSingle': '\\uF164',\n 'CollapseContent': '\\uF165',\n 'CollapseContentSingle': '\\uF166',\n 'InfoSolid': '\\uF167',\n 'GroupList': '\\uF168',\n 'ProgressRingDots': '\\uF16A',\n 'CaloriesAdd': '\\uF172',\n 'BranchFork': '\\uF173',\n 'MuteChat': '\\uF17A',\n 'AddHome': '\\uF17B',\n 'AddWork': '\\uF17C',\n 'MobileReport': '\\uF18A',\n 'ScaleVolume': '\\uF18C',\n 'HardDriveGroup': '\\uF18F',\n 'FastMode': '\\uF19A',\n 'ToggleLeft': '\\uF19E',\n 'ToggleRight': '\\uF19F',\n 'TriangleShape': '\\uF1A7',\n 'RectangleShape': '\\uF1A9',\n 'CubeShape': '\\uF1AA',\n 'Trophy2': '\\uF1AE',\n 'BucketColor': '\\uF1B6',\n 'BucketColorFill': '\\uF1B7',\n 'Taskboard': '\\uF1C2',\n 'SingleColumn': '\\uF1D3',\n 'DoubleColumn': '\\uF1D4',\n 'TripleColumn': '\\uF1D5',\n 'ColumnLeftTwoThirds': '\\uF1D6',\n 'ColumnRightTwoThirds': '\\uF1D7',\n 'AccessLogoFill': '\\uF1DB',\n 'AnalyticsLogo': '\\uF1DE',\n 'AnalyticsQuery': '\\uF1DF',\n 'NewAnalyticsQuery': '\\uF1E0',\n 'AnalyticsReport': '\\uF1E1',\n 'WordLogo': '\\uF1E3',\n 'WordLogoFill': '\\uF1E4',\n 'ExcelLogo': '\\uF1E5',\n 'ExcelLogoFill': '\\uF1E6',\n 'OneNoteLogo': '\\uF1E7',\n 'OneNoteLogoFill': '\\uF1E8',\n 'OutlookLogo': '\\uF1E9',\n 'OutlookLogoFill': '\\uF1EA',\n 'PowerPointLogo': '\\uF1EB',\n 'PowerPointLogoFill': '\\uF1EC',\n 'PublisherLogo': '\\uF1ED',\n 'PublisherLogoFill': '\\uF1EE',\n 'ScheduleEventAction': '\\uF1EF',\n 'FlameSolid': '\\uF1F3',\n 'ServerProcesses': '\\uF1FE',\n 'Server': '\\uF201',\n 'SaveAll': '\\uF203',\n 'LinkedInLogo': '\\uF20A',\n 'Decimals': '\\uF218',\n 'SidePanelMirrored': '\\uF221',\n 'ProtectRestrict': '\\uF22A',\n 'Blog': '\\uF22B',\n 'UnknownMirrored': '\\uF22E',\n 'PublicContactCardMirrored': '\\uF230',\n 'GridViewSmall': '\\uF232',\n 'GridViewMedium': '\\uF233',\n 'GridViewLarge': '\\uF234',\n 'Step': '\\uF241',\n 'StepInsert': '\\uF242',\n 'StepShared': '\\uF243',\n 'StepSharedAdd': '\\uF244',\n 'StepSharedInsert': '\\uF245',\n 'ViewDashboard': '\\uF246',\n 'ViewList': '\\uF247'\n }\n };\n registerIcons(subset, options);\n}\n//# sourceMappingURL=fabric-icons-9.js.map","// Your use of the content in the files referenced here is subject to the terms of the license at https://aka.ms/fluentui-assets-license\nimport { registerIcons } from '@fluentui/style-utilities';\nexport function initializeIcons(baseUrl, options) {\n if (baseUrl === void 0) { baseUrl = ''; }\n var subset = {\n style: {\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontStyle: 'normal',\n fontWeight: 'normal',\n speak: 'none'\n },\n fontFace: {\n fontFamily: \"\\\"FabricMDL2Icons-10\\\"\",\n src: \"url('\".concat(baseUrl, \"fabric-icons-10-c4ded8e4.woff') format('woff')\")\n },\n icons: {\n 'ViewListGroup': '\\uF248',\n 'ViewListTree': '\\uF249',\n 'TriggerAuto': '\\uF24A',\n 'TriggerUser': '\\uF24B',\n 'PivotChart': '\\uF24C',\n 'StackedBarChart': '\\uF24D',\n 'StackedLineChart': '\\uF24E',\n 'BuildQueue': '\\uF24F',\n 'BuildQueueNew': '\\uF250',\n 'UserFollowed': '\\uF25C',\n 'ContactLink': '\\uF25F',\n 'Stack': '\\uF26F',\n 'Bullseye': '\\uF272',\n 'VennDiagram': '\\uF273',\n 'FiveTileGrid': '\\uF274',\n 'FocalPoint': '\\uF277',\n 'Insert': '\\uF278',\n 'RingerRemove': '\\uF279',\n 'TeamsLogoInverse': '\\uF27A',\n 'TeamsLogo': '\\uF27B',\n 'TeamsLogoFill': '\\uF27C',\n 'SkypeForBusinessLogoFill': '\\uF27D',\n 'SharepointLogo': '\\uF27E',\n 'SharepointLogoFill': '\\uF27F',\n 'DelveLogo': '\\uF280',\n 'DelveLogoFill': '\\uF281',\n 'OfficeVideoLogo': '\\uF282',\n 'OfficeVideoLogoFill': '\\uF283',\n 'ExchangeLogo': '\\uF284',\n 'ExchangeLogoFill': '\\uF285',\n 'Signin': '\\uF286',\n 'DocumentApproval': '\\uF28B',\n 'CloneToDesktop': '\\uF28C',\n 'InstallToDrive': '\\uF28D',\n 'Blur': '\\uF28E',\n 'Build': '\\uF28F',\n 'ProcessMetaTask': '\\uF290',\n 'BranchFork2': '\\uF291',\n 'BranchLocked': '\\uF292',\n 'BranchCommit': '\\uF293',\n 'BranchCompare': '\\uF294',\n 'BranchMerge': '\\uF295',\n 'BranchPullRequest': '\\uF296',\n 'BranchSearch': '\\uF297',\n 'BranchShelveset': '\\uF298',\n 'RawSource': '\\uF299',\n 'MergeDuplicate': '\\uF29A',\n 'RowsGroup': '\\uF29B',\n 'RowsChild': '\\uF29C',\n 'Deploy': '\\uF29D',\n 'Redeploy': '\\uF29E',\n 'ServerEnviroment': '\\uF29F',\n 'VisioDiagram': '\\uF2A0',\n 'HighlightMappedShapes': '\\uF2A1',\n 'TextCallout': '\\uF2A2',\n 'IconSetsFlag': '\\uF2A4',\n 'VisioLogo': '\\uF2A7',\n 'VisioLogoFill': '\\uF2A8',\n 'VisioDocument': '\\uF2A9',\n 'TimelineProgress': '\\uF2AA',\n 'TimelineDelivery': '\\uF2AB',\n 'Backlog': '\\uF2AC',\n 'TeamFavorite': '\\uF2AD',\n 'TaskGroup': '\\uF2AE',\n 'TaskGroupMirrored': '\\uF2AF',\n 'ScopeTemplate': '\\uF2B0',\n 'AssessmentGroupTemplate': '\\uF2B1',\n 'NewTeamProject': '\\uF2B2',\n 'CommentAdd': '\\uF2B3',\n 'CommentNext': '\\uF2B4',\n 'CommentPrevious': '\\uF2B5',\n 'ShopServer': '\\uF2B6',\n 'LocaleLanguage': '\\uF2B7',\n 'QueryList': '\\uF2B8',\n 'UserSync': '\\uF2B9',\n 'UserPause': '\\uF2BA',\n 'StreamingOff': '\\uF2BB',\n 'ArrowTallUpLeft': '\\uF2BD',\n 'ArrowTallUpRight': '\\uF2BE',\n 'ArrowTallDownLeft': '\\uF2BF',\n 'ArrowTallDownRight': '\\uF2C0',\n 'FieldEmpty': '\\uF2C1',\n 'FieldFilled': '\\uF2C2',\n 'FieldChanged': '\\uF2C3',\n 'FieldNotChanged': '\\uF2C4',\n 'RingerOff': '\\uF2C5',\n 'PlayResume': '\\uF2C6',\n 'BulletedList2': '\\uF2C7',\n 'BulletedList2Mirrored': '\\uF2C8',\n 'ImageCrosshair': '\\uF2C9',\n 'GitGraph': '\\uF2CA',\n 'Repo': '\\uF2CB',\n 'RepoSolid': '\\uF2CC',\n 'FolderQuery': '\\uF2CD',\n 'FolderList': '\\uF2CE',\n 'FolderListMirrored': '\\uF2CF',\n 'LocationOutline': '\\uF2D0',\n 'POISolid': '\\uF2D1',\n 'CalculatorNotEqualTo': '\\uF2D2',\n 'BoxSubtractSolid': '\\uF2D3'\n }\n };\n registerIcons(subset, options);\n}\n//# sourceMappingURL=fabric-icons-10.js.map","// Your use of the content in the files referenced here is subject to the terms of the license at https://aka.ms/fluentui-assets-license\nimport { registerIcons } from '@fluentui/style-utilities';\nexport function initializeIcons(baseUrl, options) {\n if (baseUrl === void 0) { baseUrl = ''; }\n var subset = {\n style: {\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontStyle: 'normal',\n fontWeight: 'normal',\n speak: 'none'\n },\n fontFace: {\n fontFamily: \"\\\"FabricMDL2Icons-11\\\"\",\n src: \"url('\".concat(baseUrl, \"fabric-icons-11-2a8393d6.woff') format('woff')\")\n },\n icons: {\n 'BoxAdditionSolid': '\\uF2D4',\n 'BoxMultiplySolid': '\\uF2D5',\n 'BoxPlaySolid': '\\uF2D6',\n 'BoxCheckmarkSolid': '\\uF2D7',\n 'CirclePauseSolid': '\\uF2D8',\n 'CirclePause': '\\uF2D9',\n 'MSNVideosSolid': '\\uF2DA',\n 'CircleStopSolid': '\\uF2DB',\n 'CircleStop': '\\uF2DC',\n 'NavigateBack': '\\uF2DD',\n 'NavigateBackMirrored': '\\uF2DE',\n 'NavigateForward': '\\uF2DF',\n 'NavigateForwardMirrored': '\\uF2E0',\n 'UnknownSolid': '\\uF2E1',\n 'UnknownMirroredSolid': '\\uF2E2',\n 'CircleAddition': '\\uF2E3',\n 'CircleAdditionSolid': '\\uF2E4',\n 'FilePDB': '\\uF2E5',\n 'FileTemplate': '\\uF2E6',\n 'FileSQL': '\\uF2E7',\n 'FileJAVA': '\\uF2E8',\n 'FileASPX': '\\uF2E9',\n 'FileCSS': '\\uF2EA',\n 'FileSass': '\\uF2EB',\n 'FileLess': '\\uF2EC',\n 'FileHTML': '\\uF2ED',\n 'JavaScriptLanguage': '\\uF2EE',\n 'CSharpLanguage': '\\uF2EF',\n 'CSharp': '\\uF2F0',\n 'VisualBasicLanguage': '\\uF2F1',\n 'VB': '\\uF2F2',\n 'CPlusPlusLanguage': '\\uF2F3',\n 'CPlusPlus': '\\uF2F4',\n 'FSharpLanguage': '\\uF2F5',\n 'FSharp': '\\uF2F6',\n 'TypeScriptLanguage': '\\uF2F7',\n 'PythonLanguage': '\\uF2F8',\n 'PY': '\\uF2F9',\n 'CoffeeScript': '\\uF2FA',\n 'MarkDownLanguage': '\\uF2FB',\n 'FullWidth': '\\uF2FE',\n 'FullWidthEdit': '\\uF2FF',\n 'Plug': '\\uF300',\n 'PlugSolid': '\\uF301',\n 'PlugConnected': '\\uF302',\n 'PlugDisconnected': '\\uF303',\n 'UnlockSolid': '\\uF304',\n 'Variable': '\\uF305',\n 'Parameter': '\\uF306',\n 'CommentUrgent': '\\uF307',\n 'Storyboard': '\\uF308',\n 'DiffInline': '\\uF309',\n 'DiffSideBySide': '\\uF30A',\n 'ImageDiff': '\\uF30B',\n 'ImagePixel': '\\uF30C',\n 'FileBug': '\\uF30D',\n 'FileCode': '\\uF30E',\n 'FileComment': '\\uF30F',\n 'BusinessHoursSign': '\\uF310',\n 'FileImage': '\\uF311',\n 'FileSymlink': '\\uF312',\n 'AutoFillTemplate': '\\uF313',\n 'WorkItem': '\\uF314',\n 'WorkItemBug': '\\uF315',\n 'LogRemove': '\\uF316',\n 'ColumnOptions': '\\uF317',\n 'Packages': '\\uF318',\n 'BuildIssue': '\\uF319',\n 'AssessmentGroup': '\\uF31A',\n 'VariableGroup': '\\uF31B',\n 'FullHistory': '\\uF31C',\n 'Wheelchair': '\\uF31F',\n 'SingleColumnEdit': '\\uF321',\n 'DoubleColumnEdit': '\\uF322',\n 'TripleColumnEdit': '\\uF323',\n 'ColumnLeftTwoThirdsEdit': '\\uF324',\n 'ColumnRightTwoThirdsEdit': '\\uF325',\n 'StreamLogo': '\\uF329',\n 'PassiveAuthentication': '\\uF32A',\n 'AlertSolid': '\\uF331',\n 'MegaphoneSolid': '\\uF332',\n 'TaskSolid': '\\uF333',\n 'ConfigurationSolid': '\\uF334',\n 'BugSolid': '\\uF335',\n 'CrownSolid': '\\uF336',\n 'Trophy2Solid': '\\uF337',\n 'QuickNoteSolid': '\\uF338',\n 'ConstructionConeSolid': '\\uF339',\n 'PageListSolid': '\\uF33A',\n 'PageListMirroredSolid': '\\uF33B',\n 'StarburstSolid': '\\uF33C',\n 'ReadingModeSolid': '\\uF33D',\n 'SadSolid': '\\uF33E',\n 'HealthSolid': '\\uF33F',\n 'ShieldSolid': '\\uF340',\n 'GiftBoxSolid': '\\uF341',\n 'ShoppingCartSolid': '\\uF342',\n 'MailSolid': '\\uF343',\n 'ChatSolid': '\\uF344',\n 'RibbonSolid': '\\uF345'\n }\n };\n registerIcons(subset, options);\n}\n//# sourceMappingURL=fabric-icons-11.js.map","// Your use of the content in the files referenced here is subject to the terms of the license at https://aka.ms/fluentui-assets-license\nimport { registerIcons } from '@fluentui/style-utilities';\nexport function initializeIcons(baseUrl, options) {\n if (baseUrl === void 0) { baseUrl = ''; }\n var subset = {\n style: {\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontStyle: 'normal',\n fontWeight: 'normal',\n speak: 'none'\n },\n fontFace: {\n fontFamily: \"\\\"FabricMDL2Icons-12\\\"\",\n src: \"url('\".concat(baseUrl, \"fabric-icons-12-7e945a1e.woff') format('woff')\")\n },\n icons: {\n 'FinancialSolid': '\\uF346',\n 'FinancialMirroredSolid': '\\uF347',\n 'HeadsetSolid': '\\uF348',\n 'PermissionsSolid': '\\uF349',\n 'ParkingSolid': '\\uF34A',\n 'ParkingMirroredSolid': '\\uF34B',\n 'DiamondSolid': '\\uF34C',\n 'AsteriskSolid': '\\uF34D',\n 'OfflineStorageSolid': '\\uF34E',\n 'BankSolid': '\\uF34F',\n 'DecisionSolid': '\\uF350',\n 'Parachute': '\\uF351',\n 'ParachuteSolid': '\\uF352',\n 'FiltersSolid': '\\uF353',\n 'ColorSolid': '\\uF354',\n 'ReviewSolid': '\\uF355',\n 'ReviewRequestSolid': '\\uF356',\n 'ReviewRequestMirroredSolid': '\\uF357',\n 'ReviewResponseSolid': '\\uF358',\n 'FeedbackRequestSolid': '\\uF359',\n 'FeedbackRequestMirroredSolid': '\\uF35A',\n 'FeedbackResponseSolid': '\\uF35B',\n 'WorkItemBar': '\\uF35C',\n 'WorkItemBarSolid': '\\uF35D',\n 'Separator': '\\uF35E',\n 'NavigateExternalInline': '\\uF35F',\n 'PlanView': '\\uF360',\n 'TimelineMatrixView': '\\uF361',\n 'EngineeringGroup': '\\uF362',\n 'ProjectCollection': '\\uF363',\n 'CaretBottomRightCenter8': '\\uF364',\n 'CaretBottomLeftCenter8': '\\uF365',\n 'CaretTopRightCenter8': '\\uF366',\n 'CaretTopLeftCenter8': '\\uF367',\n 'DonutChart': '\\uF368',\n 'ChevronUnfold10': '\\uF369',\n 'ChevronFold10': '\\uF36A',\n 'DoubleChevronDown8': '\\uF36B',\n 'DoubleChevronUp8': '\\uF36C',\n 'DoubleChevronLeft8': '\\uF36D',\n 'DoubleChevronRight8': '\\uF36E',\n 'ChevronDownEnd6': '\\uF36F',\n 'ChevronUpEnd6': '\\uF370',\n 'ChevronLeftEnd6': '\\uF371',\n 'ChevronRightEnd6': '\\uF372',\n 'ContextMenu': '\\uF37C',\n 'AzureAPIManagement': '\\uF37F',\n 'AzureServiceEndpoint': '\\uF380',\n 'VSTSLogo': '\\uF381',\n 'VSTSAltLogo1': '\\uF382',\n 'VSTSAltLogo2': '\\uF383',\n 'FileTypeSolution': '\\uF387',\n 'WordLogoInverse16': '\\uF390',\n 'WordLogo16': '\\uF391',\n 'WordLogoFill16': '\\uF392',\n 'PowerPointLogoInverse16': '\\uF393',\n 'PowerPointLogo16': '\\uF394',\n 'PowerPointLogoFill16': '\\uF395',\n 'ExcelLogoInverse16': '\\uF396',\n 'ExcelLogo16': '\\uF397',\n 'ExcelLogoFill16': '\\uF398',\n 'OneNoteLogoInverse16': '\\uF399',\n 'OneNoteLogo16': '\\uF39A',\n 'OneNoteLogoFill16': '\\uF39B',\n 'OutlookLogoInverse16': '\\uF39C',\n 'OutlookLogo16': '\\uF39D',\n 'OutlookLogoFill16': '\\uF39E',\n 'PublisherLogoInverse16': '\\uF39F',\n 'PublisherLogo16': '\\uF3A0',\n 'PublisherLogoFill16': '\\uF3A1',\n 'VisioLogoInverse16': '\\uF3A2',\n 'VisioLogo16': '\\uF3A3',\n 'VisioLogoFill16': '\\uF3A4',\n 'TestBeaker': '\\uF3A5',\n 'TestBeakerSolid': '\\uF3A6',\n 'TestExploreSolid': '\\uF3A7',\n 'TestAutoSolid': '\\uF3A8',\n 'TestUserSolid': '\\uF3A9',\n 'TestImpactSolid': '\\uF3AA',\n 'TestPlan': '\\uF3AB',\n 'TestStep': '\\uF3AC',\n 'TestParameter': '\\uF3AD',\n 'TestSuite': '\\uF3AE',\n 'TestCase': '\\uF3AF',\n 'Sprint': '\\uF3B0',\n 'SignOut': '\\uF3B1',\n 'TriggerApproval': '\\uF3B2',\n 'Rocket': '\\uF3B3',\n 'AzureKeyVault': '\\uF3B4',\n 'Onboarding': '\\uF3BA',\n 'Transition': '\\uF3BC',\n 'LikeSolid': '\\uF3BF',\n 'DislikeSolid': '\\uF3C0',\n 'CRMCustomerInsightsApp': '\\uF3C8',\n 'EditCreate': '\\uF3C9',\n 'PlayReverseResume': '\\uF3E4',\n 'PlayReverse': '\\uF3E5',\n 'SearchData': '\\uF3F1',\n 'UnSetColor': '\\uF3F9',\n 'DeclineCall': '\\uF405'\n }\n };\n registerIcons(subset, options);\n}\n//# sourceMappingURL=fabric-icons-12.js.map","// Your use of the content in the files referenced here is subject to the terms of the license at https://aka.ms/fluentui-assets-license\nimport { registerIcons } from '@fluentui/style-utilities';\nexport function initializeIcons(baseUrl, options) {\n if (baseUrl === void 0) { baseUrl = ''; }\n var subset = {\n style: {\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontStyle: 'normal',\n fontWeight: 'normal',\n speak: 'none'\n },\n fontFace: {\n fontFamily: \"\\\"FabricMDL2Icons-13\\\"\",\n src: \"url('\".concat(baseUrl, \"fabric-icons-13-c3989a02.woff') format('woff')\")\n },\n icons: {\n 'RectangularClipping': '\\uF407',\n 'TeamsLogo16': '\\uF40A',\n 'TeamsLogoFill16': '\\uF40B',\n 'Spacer': '\\uF40D',\n 'SkypeLogo16': '\\uF40E',\n 'SkypeForBusinessLogo16': '\\uF40F',\n 'SkypeForBusinessLogoFill16': '\\uF410',\n 'FilterSolid': '\\uF412',\n 'MailUndelivered': '\\uF415',\n 'MailTentative': '\\uF416',\n 'MailTentativeMirrored': '\\uF417',\n 'MailReminder': '\\uF418',\n 'ReceiptUndelivered': '\\uF419',\n 'ReceiptTentative': '\\uF41A',\n 'ReceiptTentativeMirrored': '\\uF41B',\n 'Inbox': '\\uF41C',\n 'IRMReply': '\\uF41D',\n 'IRMReplyMirrored': '\\uF41E',\n 'IRMForward': '\\uF41F',\n 'IRMForwardMirrored': '\\uF420',\n 'VoicemailIRM': '\\uF421',\n 'EventAccepted': '\\uF422',\n 'EventTentative': '\\uF423',\n 'EventTentativeMirrored': '\\uF424',\n 'EventDeclined': '\\uF425',\n 'IDBadge': '\\uF427',\n 'BackgroundColor': '\\uF42B',\n 'OfficeFormsLogoInverse16': '\\uF433',\n 'OfficeFormsLogo': '\\uF434',\n 'OfficeFormsLogoFill': '\\uF435',\n 'OfficeFormsLogo16': '\\uF436',\n 'OfficeFormsLogoFill16': '\\uF437',\n 'OfficeFormsLogoInverse24': '\\uF43A',\n 'OfficeFormsLogo24': '\\uF43B',\n 'OfficeFormsLogoFill24': '\\uF43C',\n 'PageLock': '\\uF43F',\n 'NotExecuted': '\\uF440',\n 'NotImpactedSolid': '\\uF441',\n 'FieldReadOnly': '\\uF442',\n 'FieldRequired': '\\uF443',\n 'BacklogBoard': '\\uF444',\n 'ExternalBuild': '\\uF445',\n 'ExternalTFVC': '\\uF446',\n 'ExternalXAML': '\\uF447',\n 'IssueSolid': '\\uF448',\n 'DefectSolid': '\\uF449',\n 'LadybugSolid': '\\uF44A',\n 'NugetLogo': '\\uF44C',\n 'TFVCLogo': '\\uF44D',\n 'ProjectLogo32': '\\uF47E',\n 'ProjectLogoFill32': '\\uF47F',\n 'ProjectLogo16': '\\uF480',\n 'ProjectLogoFill16': '\\uF481',\n 'SwayLogo32': '\\uF482',\n 'SwayLogoFill32': '\\uF483',\n 'SwayLogo16': '\\uF484',\n 'SwayLogoFill16': '\\uF485',\n 'ClassNotebookLogo32': '\\uF486',\n 'ClassNotebookLogoFill32': '\\uF487',\n 'ClassNotebookLogo16': '\\uF488',\n 'ClassNotebookLogoFill16': '\\uF489',\n 'ClassNotebookLogoInverse32': '\\uF48A',\n 'ClassNotebookLogoInverse16': '\\uF48B',\n 'StaffNotebookLogo32': '\\uF48C',\n 'StaffNotebookLogoFill32': '\\uF48D',\n 'StaffNotebookLogo16': '\\uF48E',\n 'StaffNotebookLogoFill16': '\\uF48F',\n 'StaffNotebookLogoInverted32': '\\uF490',\n 'StaffNotebookLogoInverted16': '\\uF491',\n 'KaizalaLogo': '\\uF492',\n 'TaskLogo': '\\uF493',\n 'ProtectionCenterLogo32': '\\uF494',\n 'GallatinLogo': '\\uF496',\n 'Globe2': '\\uF49A',\n 'Guitar': '\\uF49B',\n 'Breakfast': '\\uF49C',\n 'Brunch': '\\uF49D',\n 'BeerMug': '\\uF49E',\n 'Vacation': '\\uF49F',\n 'Teeth': '\\uF4A0',\n 'Taxi': '\\uF4A1',\n 'Chopsticks': '\\uF4A2',\n 'SyncOccurence': '\\uF4A3',\n 'UnsyncOccurence': '\\uF4A4',\n 'GIF': '\\uF4A9',\n 'PrimaryCalendar': '\\uF4AE',\n 'SearchCalendar': '\\uF4AF',\n 'VideoOff': '\\uF4B0',\n 'MicrosoftFlowLogo': '\\uF4B1',\n 'BusinessCenterLogo': '\\uF4B2',\n 'ToDoLogoBottom': '\\uF4B3',\n 'ToDoLogoTop': '\\uF4B4',\n 'EditSolid12': '\\uF4B5',\n 'EditSolidMirrored12': '\\uF4B6',\n 'UneditableSolid12': '\\uF4B7',\n 'UneditableSolidMirrored12': '\\uF4B8',\n 'UneditableMirrored': '\\uF4B9',\n 'AdminALogo32': '\\uF4BA',\n 'AdminALogoFill32': '\\uF4BB',\n 'ToDoLogoInverse': '\\uF4BC'\n }\n };\n registerIcons(subset, options);\n}\n//# sourceMappingURL=fabric-icons-13.js.map","// Your use of the content in the files referenced here is subject to the terms of the license at https://aka.ms/fluentui-assets-license\nimport { registerIcons } from '@fluentui/style-utilities';\nexport function initializeIcons(baseUrl, options) {\n if (baseUrl === void 0) { baseUrl = ''; }\n var subset = {\n style: {\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontStyle: 'normal',\n fontWeight: 'normal',\n speak: 'none'\n },\n fontFace: {\n fontFamily: \"\\\"FabricMDL2Icons-14\\\"\",\n src: \"url('\".concat(baseUrl, \"fabric-icons-14-5cf58db8.woff') format('woff')\")\n },\n icons: {\n 'Snooze': '\\uF4BD',\n 'WaffleOffice365': '\\uF4E0',\n 'ImageSearch': '\\uF4E8',\n 'NewsSearch': '\\uF4E9',\n 'VideoSearch': '\\uF4EA',\n 'R': '\\uF4EB',\n 'FontColorA': '\\uF4EC',\n 'FontColorSwatch': '\\uF4ED',\n 'LightWeight': '\\uF4EE',\n 'NormalWeight': '\\uF4EF',\n 'SemiboldWeight': '\\uF4F0',\n 'GroupObject': '\\uF4F1',\n 'UngroupObject': '\\uF4F2',\n 'AlignHorizontalLeft': '\\uF4F3',\n 'AlignHorizontalCenter': '\\uF4F4',\n 'AlignHorizontalRight': '\\uF4F5',\n 'AlignVerticalTop': '\\uF4F6',\n 'AlignVerticalCenter': '\\uF4F7',\n 'AlignVerticalBottom': '\\uF4F8',\n 'HorizontalDistributeCenter': '\\uF4F9',\n 'VerticalDistributeCenter': '\\uF4FA',\n 'Ellipse': '\\uF4FB',\n 'Line': '\\uF4FC',\n 'Octagon': '\\uF4FD',\n 'Hexagon': '\\uF4FE',\n 'Pentagon': '\\uF4FF',\n 'RightTriangle': '\\uF500',\n 'HalfCircle': '\\uF501',\n 'QuarterCircle': '\\uF502',\n 'ThreeQuarterCircle': '\\uF503',\n '6PointStar': '\\uF504',\n '12PointStar': '\\uF505',\n 'ArrangeBringToFront': '\\uF506',\n 'ArrangeSendToBack': '\\uF507',\n 'ArrangeSendBackward': '\\uF508',\n 'ArrangeBringForward': '\\uF509',\n 'BorderDash': '\\uF50A',\n 'BorderDot': '\\uF50B',\n 'LineStyle': '\\uF50C',\n 'LineThickness': '\\uF50D',\n 'WindowEdit': '\\uF50E',\n 'HintText': '\\uF50F',\n 'MediaAdd': '\\uF510',\n 'AnchorLock': '\\uF511',\n 'AutoHeight': '\\uF512',\n 'ChartSeries': '\\uF513',\n 'ChartXAngle': '\\uF514',\n 'ChartYAngle': '\\uF515',\n 'Combobox': '\\uF516',\n 'LineSpacing': '\\uF517',\n 'Padding': '\\uF518',\n 'PaddingTop': '\\uF519',\n 'PaddingBottom': '\\uF51A',\n 'PaddingLeft': '\\uF51B',\n 'PaddingRight': '\\uF51C',\n 'NavigationFlipper': '\\uF51D',\n 'AlignJustify': '\\uF51E',\n 'TextOverflow': '\\uF51F',\n 'VisualsFolder': '\\uF520',\n 'VisualsStore': '\\uF521',\n 'PictureCenter': '\\uF522',\n 'PictureFill': '\\uF523',\n 'PicturePosition': '\\uF524',\n 'PictureStretch': '\\uF525',\n 'PictureTile': '\\uF526',\n 'Slider': '\\uF527',\n 'SliderHandleSize': '\\uF528',\n 'DefaultRatio': '\\uF529',\n 'NumberSequence': '\\uF52A',\n 'GUID': '\\uF52B',\n 'ReportAdd': '\\uF52C',\n 'DashboardAdd': '\\uF52D',\n 'MapPinSolid': '\\uF52E',\n 'WebPublish': '\\uF52F',\n 'PieSingleSolid': '\\uF530',\n 'BlockedSolid': '\\uF531',\n 'DrillDown': '\\uF532',\n 'DrillDownSolid': '\\uF533',\n 'DrillExpand': '\\uF534',\n 'DrillShow': '\\uF535',\n 'SpecialEvent': '\\uF536',\n 'OneDriveFolder16': '\\uF53B',\n 'FunctionalManagerDashboard': '\\uF542',\n 'BIDashboard': '\\uF543',\n 'CodeEdit': '\\uF544',\n 'RenewalCurrent': '\\uF545',\n 'RenewalFuture': '\\uF546',\n 'SplitObject': '\\uF547',\n 'BulkUpload': '\\uF548',\n 'DownloadDocument': '\\uF549',\n 'GreetingCard': '\\uF54B',\n 'Flower': '\\uF54E',\n 'WaitlistConfirm': '\\uF550',\n 'WaitlistConfirmMirrored': '\\uF551',\n 'LaptopSecure': '\\uF552',\n 'DragObject': '\\uF553',\n 'EntryView': '\\uF554',\n 'EntryDecline': '\\uF555',\n 'ContactCardSettings': '\\uF556',\n 'ContactCardSettingsMirrored': '\\uF557'\n }\n };\n registerIcons(subset, options);\n}\n//# sourceMappingURL=fabric-icons-14.js.map","// Your use of the content in the files referenced here is subject to the terms of the license at https://aka.ms/fluentui-assets-license\nimport { registerIcons } from '@fluentui/style-utilities';\nexport function initializeIcons(baseUrl, options) {\n if (baseUrl === void 0) { baseUrl = ''; }\n var subset = {\n style: {\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontStyle: 'normal',\n fontWeight: 'normal',\n speak: 'none'\n },\n fontFace: {\n fontFamily: \"\\\"FabricMDL2Icons-15\\\"\",\n src: \"url('\".concat(baseUrl, \"fabric-icons-15-3807251b.woff') format('woff')\")\n },\n icons: {\n 'CalendarSettings': '\\uF558',\n 'CalendarSettingsMirrored': '\\uF559',\n 'HardDriveLock': '\\uF55A',\n 'HardDriveUnlock': '\\uF55B',\n 'AccountManagement': '\\uF55C',\n 'ReportWarning': '\\uF569',\n 'TransitionPop': '\\uF5B2',\n 'TransitionPush': '\\uF5B3',\n 'TransitionEffect': '\\uF5B4',\n 'LookupEntities': '\\uF5B5',\n 'ExploreData': '\\uF5B6',\n 'AddBookmark': '\\uF5B7',\n 'SearchBookmark': '\\uF5B8',\n 'DrillThrough': '\\uF5B9',\n 'MasterDatabase': '\\uF5BA',\n 'CertifiedDatabase': '\\uF5BB',\n 'MaximumValue': '\\uF5BC',\n 'MinimumValue': '\\uF5BD',\n 'VisualStudioIDELogo32': '\\uF5D0',\n 'PasteAsText': '\\uF5D5',\n 'PasteAsCode': '\\uF5D6',\n 'BrowserTab': '\\uF5D7',\n 'BrowserTabScreenshot': '\\uF5D8',\n 'DesktopScreenshot': '\\uF5D9',\n 'FileYML': '\\uF5DA',\n 'ClipboardSolid': '\\uF5DC',\n 'FabricUserFolder': '\\uF5E5',\n 'FabricNetworkFolder': '\\uF5E6',\n 'BullseyeTarget': '\\uF5F0',\n 'AnalyticsView': '\\uF5F1',\n 'Video360Generic': '\\uF609',\n 'Untag': '\\uF60B',\n 'Leave': '\\uF627',\n 'Trending12': '\\uF62D',\n 'Blocked12': '\\uF62E',\n 'Warning12': '\\uF62F',\n 'CheckedOutByOther12': '\\uF630',\n 'CheckedOutByYou12': '\\uF631',\n 'CircleShapeSolid': '\\uF63C',\n 'SquareShapeSolid': '\\uF63D',\n 'TriangleShapeSolid': '\\uF63E',\n 'DropShapeSolid': '\\uF63F',\n 'RectangleShapeSolid': '\\uF640',\n 'ZoomToFit': '\\uF649',\n 'InsertColumnsLeft': '\\uF64A',\n 'InsertColumnsRight': '\\uF64B',\n 'InsertRowsAbove': '\\uF64C',\n 'InsertRowsBelow': '\\uF64D',\n 'DeleteColumns': '\\uF64E',\n 'DeleteRows': '\\uF64F',\n 'DeleteRowsMirrored': '\\uF650',\n 'DeleteTable': '\\uF651',\n 'AccountBrowser': '\\uF652',\n 'VersionControlPush': '\\uF664',\n 'StackedColumnChart2': '\\uF666',\n 'TripleColumnWide': '\\uF66E',\n 'QuadColumn': '\\uF66F',\n 'WhiteBoardApp16': '\\uF673',\n 'WhiteBoardApp32': '\\uF674',\n 'PinnedSolid': '\\uF676',\n 'InsertSignatureLine': '\\uF677',\n 'ArrangeByFrom': '\\uF678',\n 'Phishing': '\\uF679',\n 'CreateMailRule': '\\uF67A',\n 'PublishCourse': '\\uF699',\n 'DictionaryRemove': '\\uF69A',\n 'UserRemove': '\\uF69B',\n 'UserEvent': '\\uF69C',\n 'Encryption': '\\uF69D',\n 'PasswordField': '\\uF6AA',\n 'OpenInNewTab': '\\uF6AB',\n 'Hide3': '\\uF6AC',\n 'VerifiedBrandSolid': '\\uF6AD',\n 'MarkAsProtected': '\\uF6AE',\n 'AuthenticatorApp': '\\uF6B1',\n 'WebTemplate': '\\uF6B2',\n 'DefenderTVM': '\\uF6B3',\n 'MedalSolid': '\\uF6B9',\n 'D365TalentLearn': '\\uF6BB',\n 'D365TalentInsight': '\\uF6BC',\n 'D365TalentHRCore': '\\uF6BD',\n 'BacklogList': '\\uF6BF',\n 'ButtonControl': '\\uF6C0',\n 'TableGroup': '\\uF6D9',\n 'MountainClimbing': '\\uF6DB',\n 'TagUnknown': '\\uF6DF',\n 'TagUnknownMirror': '\\uF6E0',\n 'TagUnknown12': '\\uF6E1',\n 'TagUnknown12Mirror': '\\uF6E2',\n 'Link12': '\\uF6E3',\n 'Presentation': '\\uF6E4',\n 'Presentation12': '\\uF6E5',\n 'Lock12': '\\uF6E6',\n 'BuildDefinition': '\\uF6E9',\n 'ReleaseDefinition': '\\uF6EA',\n 'SaveTemplate': '\\uF6EC',\n 'UserGauge': '\\uF6ED',\n 'BlockedSiteSolid12': '\\uF70A',\n 'TagSolid': '\\uF70E',\n 'OfficeChat': '\\uF70F'\n }\n };\n registerIcons(subset, options);\n}\n//# sourceMappingURL=fabric-icons-15.js.map","// Your use of the content in the files referenced here is subject to the terms of the license at https://aka.ms/fluentui-assets-license\nimport { registerIcons } from '@fluentui/style-utilities';\nexport function initializeIcons(baseUrl, options) {\n if (baseUrl === void 0) { baseUrl = ''; }\n var subset = {\n style: {\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontStyle: 'normal',\n fontWeight: 'normal',\n speak: 'none'\n },\n fontFace: {\n fontFamily: \"\\\"FabricMDL2Icons-16\\\"\",\n src: \"url('\".concat(baseUrl, \"fabric-icons-16-9cf93f3b.woff') format('woff')\")\n },\n icons: {\n 'OfficeChatSolid': '\\uF710',\n 'MailSchedule': '\\uF72E',\n 'WarningSolid': '\\uF736',\n 'Blocked2Solid': '\\uF737',\n 'SkypeCircleArrow': '\\uF747',\n 'SkypeArrow': '\\uF748',\n 'SyncStatus': '\\uF751',\n 'SyncStatusSolid': '\\uF752',\n 'ProjectDocument': '\\uF759',\n 'ToDoLogoOutline': '\\uF75B',\n 'VisioOnlineLogoFill32': '\\uF75F',\n 'VisioOnlineLogo32': '\\uF760',\n 'VisioOnlineLogoCloud32': '\\uF761',\n 'VisioDiagramSync': '\\uF762',\n 'Event12': '\\uF763',\n 'EventDateMissed12': '\\uF764',\n 'UserOptional': '\\uF767',\n 'ResponsesMenu': '\\uF768',\n 'DoubleDownArrow': '\\uF769',\n 'DistributeDown': '\\uF76A',\n 'BookmarkReport': '\\uF76B',\n 'FilterSettings': '\\uF76C',\n 'GripperDotsVertical': '\\uF772',\n 'MailAttached': '\\uF774',\n 'AddIn': '\\uF775',\n 'LinkedDatabase': '\\uF779',\n 'TableLink': '\\uF77A',\n 'PromotedDatabase': '\\uF77D',\n 'BarChartVerticalFilter': '\\uF77E',\n 'BarChartVerticalFilterSolid': '\\uF77F',\n 'MicOff2': '\\uF781',\n 'MicrosoftTranslatorLogo': '\\uF782',\n 'ShowTimeAs': '\\uF787',\n 'FileRequest': '\\uF789',\n 'WorkItemAlert': '\\uF78F',\n 'PowerBILogo16': '\\uF790',\n 'PowerBILogoBackplate16': '\\uF791',\n 'BulletedListText': '\\uF792',\n 'BulletedListBullet': '\\uF793',\n 'BulletedListTextMirrored': '\\uF794',\n 'BulletedListBulletMirrored': '\\uF795',\n 'NumberedListText': '\\uF796',\n 'NumberedListNumber': '\\uF797',\n 'NumberedListTextMirrored': '\\uF798',\n 'NumberedListNumberMirrored': '\\uF799',\n 'RemoveLinkChain': '\\uF79A',\n 'RemoveLinkX': '\\uF79B',\n 'FabricTextHighlight': '\\uF79C',\n 'ClearFormattingA': '\\uF79D',\n 'ClearFormattingEraser': '\\uF79E',\n 'Photo2Fill': '\\uF79F',\n 'IncreaseIndentText': '\\uF7A0',\n 'IncreaseIndentArrow': '\\uF7A1',\n 'DecreaseIndentText': '\\uF7A2',\n 'DecreaseIndentArrow': '\\uF7A3',\n 'IncreaseIndentTextMirrored': '\\uF7A4',\n 'IncreaseIndentArrowMirrored': '\\uF7A5',\n 'DecreaseIndentTextMirrored': '\\uF7A6',\n 'DecreaseIndentArrowMirrored': '\\uF7A7',\n 'CheckListText': '\\uF7A8',\n 'CheckListCheck': '\\uF7A9',\n 'CheckListTextMirrored': '\\uF7AA',\n 'CheckListCheckMirrored': '\\uF7AB',\n 'NumberSymbol': '\\uF7AC',\n 'Coupon': '\\uF7BC',\n 'VerifiedBrand': '\\uF7BD',\n 'ReleaseGate': '\\uF7BE',\n 'ReleaseGateCheck': '\\uF7BF',\n 'ReleaseGateError': '\\uF7C0',\n 'M365InvoicingLogo': '\\uF7C1',\n 'RemoveFromShoppingList': '\\uF7D5',\n 'ShieldAlert': '\\uF7D7',\n 'FabricTextHighlightComposite': '\\uF7DA',\n 'Dataflows': '\\uF7DD',\n 'GenericScanFilled': '\\uF7DE',\n 'DiagnosticDataBarTooltip': '\\uF7DF',\n 'SaveToMobile': '\\uF7E0',\n 'Orientation2': '\\uF7E1',\n 'ScreenCast': '\\uF7E2',\n 'ShowGrid': '\\uF7E3',\n 'SnapToGrid': '\\uF7E4',\n 'ContactList': '\\uF7E5',\n 'NewMail': '\\uF7EA',\n 'EyeShadow': '\\uF7EB',\n 'FabricFolderConfirm': '\\uF7FF',\n 'InformationBarriers': '\\uF803',\n 'CommentActive': '\\uF804',\n 'ColumnVerticalSectionEdit': '\\uF806',\n 'WavingHand': '\\uF807',\n 'ShakeDevice': '\\uF80A',\n 'SmartGlassRemote': '\\uF80B',\n 'Rotate90Clockwise': '\\uF80D',\n 'Rotate90CounterClockwise': '\\uF80E',\n 'CampaignTemplate': '\\uF811',\n 'ChartTemplate': '\\uF812',\n 'PageListFilter': '\\uF813',\n 'SecondaryNav': '\\uF814',\n 'ColumnVerticalSection': '\\uF81E',\n 'SkypeCircleSlash': '\\uF825',\n 'SkypeSlash': '\\uF826'\n }\n };\n registerIcons(subset, options);\n}\n//# sourceMappingURL=fabric-icons-16.js.map","// Your use of the content in the files referenced here is subject to the terms of the license at https://aka.ms/fluentui-assets-license\nimport { registerIcons } from '@fluentui/style-utilities';\nexport function initializeIcons(baseUrl, options) {\n if (baseUrl === void 0) { baseUrl = ''; }\n var subset = {\n style: {\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontStyle: 'normal',\n fontWeight: 'normal',\n speak: 'none'\n },\n fontFace: {\n fontFamily: \"\\\"FabricMDL2Icons-17\\\"\",\n src: \"url('\".concat(baseUrl, \"fabric-icons-17-0c4ed701.woff') format('woff')\")\n },\n icons: {\n 'CustomizeToolbar': '\\uF828',\n 'DuplicateRow': '\\uF82A',\n 'RemoveFromTrash': '\\uF82B',\n 'MailOptions': '\\uF82C',\n 'Childof': '\\uF82D',\n 'Footer': '\\uF82E',\n 'Header': '\\uF82F',\n 'BarChartVerticalFill': '\\uF830',\n 'StackedColumnChart2Fill': '\\uF831',\n 'PlainText': '\\uF834',\n 'AccessibiltyChecker': '\\uF835',\n 'DatabaseSync': '\\uF842',\n 'ReservationOrders': '\\uF845',\n 'TabOneColumn': '\\uF849',\n 'TabTwoColumn': '\\uF84A',\n 'TabThreeColumn': '\\uF84B',\n 'BulletedTreeList': '\\uF84C',\n 'MicrosoftTranslatorLogoGreen': '\\uF852',\n 'MicrosoftTranslatorLogoBlue': '\\uF853',\n 'InternalInvestigation': '\\uF854',\n 'AddReaction': '\\uF85D',\n 'ContactHeart': '\\uF862',\n 'VisuallyImpaired': '\\uF866',\n 'EventToDoLogo': '\\uF869',\n 'Variable2': '\\uF86D',\n 'ModelingView': '\\uF871',\n 'DisconnectVirtualMachine': '\\uF873',\n 'ReportLock': '\\uF875',\n 'Uneditable2': '\\uF876',\n 'Uneditable2Mirrored': '\\uF877',\n 'BarChartVerticalEdit': '\\uF89D',\n 'GlobalNavButtonActive': '\\uF89F',\n 'PollResults': '\\uF8A0',\n 'Rerun': '\\uF8A1',\n 'QandA': '\\uF8A2',\n 'QandAMirror': '\\uF8A3',\n 'BookAnswers': '\\uF8A4',\n 'AlertSettings': '\\uF8B6',\n 'TrimStart': '\\uF8BB',\n 'TrimEnd': '\\uF8BC',\n 'TableComputed': '\\uF8F5',\n 'DecreaseIndentLegacy': '\\uE290',\n 'IncreaseIndentLegacy': '\\uE291',\n 'SizeLegacy': '\\uE2B2'\n }\n };\n registerIcons(subset, options);\n}\n//# sourceMappingURL=fabric-icons-17.js.map","import { registerIconAlias } from '@fluentui/style-utilities';\nexport var registerIconAliases = function () {\n registerIconAlias('trash', 'delete');\n registerIconAlias('onedrive', 'onedrivelogo');\n registerIconAlias('alertsolid12', 'eventdatemissed12');\n registerIconAlias('sixpointstar', '6pointstar');\n registerIconAlias('twelvepointstar', '12pointstar');\n registerIconAlias('toggleon', 'toggleleft');\n registerIconAlias('toggleoff', 'toggleright');\n};\nexport default registerIconAliases;\n//# sourceMappingURL=iconAliases.js.map","// Do not modify this file; it is generated as part of publish.\n// The checked in version is a placeholder only and will not be updated.\nimport { setVersion } from '@fluentui/set-version';\nsetVersion('@fluentui/font-icons-mdl2', '8.5.23');\n//# sourceMappingURL=version.js.map","import { initializeIcons as i } from './fabric-icons';\nimport { initializeIcons as i0 } from './fabric-icons-0';\nimport { initializeIcons as i1 } from './fabric-icons-1';\nimport { initializeIcons as i2 } from './fabric-icons-2';\nimport { initializeIcons as i3 } from './fabric-icons-3';\nimport { initializeIcons as i4 } from './fabric-icons-4';\nimport { initializeIcons as i5 } from './fabric-icons-5';\nimport { initializeIcons as i6 } from './fabric-icons-6';\nimport { initializeIcons as i7 } from './fabric-icons-7';\nimport { initializeIcons as i8 } from './fabric-icons-8';\nimport { initializeIcons as i9 } from './fabric-icons-9';\nimport { initializeIcons as i10 } from './fabric-icons-10';\nimport { initializeIcons as i11 } from './fabric-icons-11';\nimport { initializeIcons as i12 } from './fabric-icons-12';\nimport { initializeIcons as i13 } from './fabric-icons-13';\nimport { initializeIcons as i14 } from './fabric-icons-14';\nimport { initializeIcons as i15 } from './fabric-icons-15';\nimport { initializeIcons as i16 } from './fabric-icons-16';\nimport { initializeIcons as i17 } from './fabric-icons-17';\nimport { FLUENT_CDN_BASE_URL } from '@fluentui/style-utilities';\nimport { registerIconAliases } from './iconAliases';\nimport { getWindow } from '@fluentui/utilities';\nvar DEFAULT_BASE_URL = \"\".concat(FLUENT_CDN_BASE_URL, \"/assets/icons/\");\nvar win = getWindow();\nexport function initializeIcons(baseUrl, options) {\n var _a, _b;\n if (baseUrl === void 0) { baseUrl = ((_a = win === null || win === void 0 ? void 0 : win.FabricConfig) === null || _a === void 0 ? void 0 : _a.iconBaseUrl) || ((_b = win === null || win === void 0 ? void 0 : win.FabricConfig) === null || _b === void 0 ? void 0 : _b.fontBaseUrl) || DEFAULT_BASE_URL; }\n [i, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17].forEach(function (initialize) { return initialize(baseUrl, options); });\n registerIconAliases();\n}\n/* eslint-enable deprecation/deprecation */\nimport './version';\n//# sourceMappingURL=index.js.map","import { __assign, __spreadArray } from \"tslib\";\nimport * as React from 'react';\nimport { concatStyleSets } from '@fluentui/style-utilities';\nimport { Customizations, CustomizerContext } from '@fluentui/utilities';\nimport { createFactory } from './slots';\nimport { assign } from './utilities';\n/**\n * Assembles a higher order component based on the following: styles, theme, view, and state.\n * Imposes a separation of concern and centralizes styling processing to increase ease of use and robustness\n * in how components use and apply styling and theming.\n *\n * Automatically merges and applies themes and styles with theme / styleprops having the highest priority.\n * State component, if provided, is passed in props for processing. Props from state / user are automatically processed\n * and styled before finally being passed to view.\n *\n * State components should contain all stateful behavior and should not generate any JSX, but rather simply call\n * the view prop.\n *\n * Views should simply be stateless pure functions that receive all props needed for rendering their output.\n *\n * State component is optional. If state is not provided, created component is essentially a functional\n * stateless component.\n *\n * @param options - component Component options. See IComponentOptions for more detail.\n */\nexport function createComponent(view, options) {\n if (options === void 0) { options = {}; }\n var _a = options.factoryOptions, factoryOptions = _a === void 0 ? {} : _a;\n var defaultProp = factoryOptions.defaultProp;\n var ResultComponent = function (componentProps) {\n var settings = _getCustomizations(options.displayName, React.useContext(CustomizerContext), options.fields);\n var stateReducer = options.state;\n if (stateReducer) {\n // Don't assume state will return all props, so spread useState result over component props.\n componentProps = __assign(__assign({}, componentProps), stateReducer(componentProps));\n }\n var theme = componentProps.theme || settings.theme;\n var tokens = _resolveTokens(componentProps, theme, options.tokens, settings.tokens, componentProps.tokens);\n var styles = _resolveStyles(componentProps, theme, tokens, options.styles, settings.styles, componentProps.styles);\n var viewProps = __assign(__assign({}, componentProps), { styles: styles, tokens: tokens, _defaultStyles: styles, theme: theme });\n return view(viewProps);\n };\n ResultComponent.displayName = options.displayName || view.name;\n // If a shorthand prop is defined, create a factory for the component.\n // TODO: This shouldn't be a concern of createComponent.. factoryOptions should just be forwarded.\n // Need to weigh creating default factories on component creation vs. memoizing them on use in slots.tsx.\n if (defaultProp) {\n ResultComponent.create = createFactory(ResultComponent, { defaultProp: defaultProp });\n }\n assign(ResultComponent, options.statics);\n // Later versions of TypeSript should allow us to merge objects in a type safe way and avoid this cast.\n return ResultComponent;\n}\n/**\n * Resolve all styles functions with both props and tokens and flatten results along with all styles objects.\n */\nfunction _resolveStyles(props, theme, tokens) {\n var allStyles = [];\n for (var _i = 3; _i < arguments.length; _i++) {\n allStyles[_i - 3] = arguments[_i];\n }\n return concatStyleSets.apply(void 0, allStyles.map(function (styles) {\n return typeof styles === 'function' ? styles(props, theme, tokens) : styles;\n }));\n}\n/**\n * Resolve all tokens functions with props flatten results along with all tokens objects.\n */\nfunction _resolveTokens(props, theme) {\n var allTokens = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n allTokens[_i - 2] = arguments[_i];\n }\n var tokens = {};\n for (var _a = 0, allTokens_1 = allTokens; _a < allTokens_1.length; _a++) {\n var currentTokens = allTokens_1[_a];\n if (currentTokens) {\n // TODO: why is this cast needed? TS seems to think there is a (TToken | Function) union from somewhere.\n currentTokens =\n typeof currentTokens === 'function'\n ? currentTokens(props, theme)\n : currentTokens;\n if (Array.isArray(currentTokens)) {\n currentTokens = _resolveTokens.apply(void 0, __spreadArray([props, theme], currentTokens, false));\n }\n assign(tokens, currentTokens);\n }\n }\n return tokens;\n}\n/**\n * Helper function for calling Customizations.getSettings falling back to default fields.\n *\n * @param displayName Displayable name for component.\n * @param context React context passed to component containing contextual settings.\n * @param fields Optional list of properties to grab from global store and context.\n */\nfunction _getCustomizations(displayName, context, fields) {\n // TODO: do we want field props? should fields be part of IComponent and used here?\n // TODO: should we centrally define DefaultFields? (not exported from styling)\n // TODO: tie this array to ICustomizationProps, such that each array element is keyof ICustomizationProps\n var DefaultFields = ['theme', 'styles', 'tokens'];\n return Customizations.getSettings(fields || DefaultFields, displayName, context.customizations);\n}\n//# sourceMappingURL=createComponent.js.map","import { __assign, __spreadArray } from \"tslib\";\nimport * as React from 'react';\nimport { mergeCss } from '@fluentui/merge-styles';\nimport { getRTL, memoizeFunction } from '@fluentui/utilities';\nimport { assign } from './utilities';\n/**\n * This function is required for any module that uses slots.\n *\n * This function is a slot resolver that automatically evaluates slot functions to generate React elements.\n * A byproduct of this resolver is that it removes slots from the React hierarchy by bypassing React.createElement.\n *\n * To use this function on a per-file basis, use the jsx directive targeting withSlots.\n * This directive must be the FIRST LINE in the file to work correctly.\n * Usage of this pragma also requires withSlots import statement.\n *\n * See React.createElement\n */\n// Can't use typeof on React.createElement since it's overloaded. Approximate createElement's signature for now\n// and widen as needed.\nexport function withSlots(type, props) {\n var children = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n children[_i - 2] = arguments[_i];\n }\n var slotType = type;\n if (slotType.isSlot) {\n // Since we are bypassing createElement, use React.Children.toArray to make sure children are\n // properly assigned keys.\n // TODO: should this be mutating? does React mutate children subprop with createElement?\n // TODO: will toArray clobber existing keys?\n // TODO: React generates warnings because it doesn't detect hidden member _store that is set in createElement.\n // Even children passed to createElement without keys don't generate this warning.\n // Is there a better way to prevent slots from appearing in hierarchy? toArray doesn't address root issue.\n children = React.Children.toArray(children);\n // TODO: There is something weird going on here with children embedded in props vs. rest args.\n // Comment out these lines to see. Make sure this function is doing the right things.\n if (children.length === 0) {\n return slotType(props);\n }\n return slotType(__assign(__assign({}, props), { children: children }));\n }\n else {\n // TODO: Are there some cases where children should NOT be spread? Also, spreading reraises perf question.\n // Children had to be spread to avoid breaking KeytipData in Toggle.view:\n // react-dom.development.js:18931 Uncaught TypeError: children is not a function\n // Without spread, function child is a child array of one element\n // TODO: is there a reason this can't be:\n // return React.createElement.apply(this, arguments);\n return React.createElement.apply(React, __spreadArray([type, props], children, false));\n }\n}\n/**\n * This function creates factories that render ouput depending on the user ISlotProp props passed in.\n * @param DefaultComponent - Base component to render when not overridden by user props.\n * @param options - Factory options, including defaultProp value for shorthand prop mapping.\n * @returns ISlotFactory function used for rendering slots.\n */\nexport function createFactory(DefaultComponent, options) {\n if (options === void 0) { options = {}; }\n var _a = options.defaultProp, defaultProp = _a === void 0 ? 'children' : _a;\n var result = function (componentProps, userProps, userSlotOptions, defaultStyles, theme) {\n // If they passed in raw JSX, just return that.\n if (React.isValidElement(userProps)) {\n return userProps;\n }\n var flattenedUserProps = _translateShorthand(defaultProp, userProps);\n var finalProps = _constructFinalProps(defaultStyles, theme, componentProps, flattenedUserProps);\n if (userSlotOptions) {\n if (userSlotOptions.component) {\n // TODO: Remove cast if possible. This cast is needed because TS errors on the intrinsic portion of ReactType.\n // return ;\n var UserComponent = userSlotOptions.component;\n return React.createElement(UserComponent, __assign({}, finalProps));\n }\n if (userSlotOptions.render) {\n return userSlotOptions.render(finalProps, DefaultComponent);\n }\n }\n return React.createElement(DefaultComponent, __assign({}, finalProps));\n };\n return result;\n}\n/**\n * Default factory for components without explicit factories.\n */\nvar defaultFactory = memoizeFunction(function (type) { return createFactory(type); });\n/**\n * This function generates slots that can be used in JSX given a definition of slots and their corresponding types.\n * @param userProps - Props as pass to component.\n * @param slots - Slot definition object defining the default slot component for each slot.\n * @returns A set of created slots that components can render in JSX.\n */\nexport function getSlots(userProps, slots) {\n var result = {};\n // userProps already has default props mixed in by createComponent. Recast here to gain typing for this function.\n var mixedProps = userProps;\n var _loop_1 = function (name_1) {\n if (slots.hasOwnProperty(name_1)) {\n // This closure method requires the use of withSlots to prevent unnecessary rerenders. This is because React\n // detects each closure as a different component (since it is a new instance) from the previous one and then\n // forces a rerender of the entire slot subtree. For now, the only way to avoid this is to use withSlots, which\n // bypasses the call to React.createElement.\n var slot = function (componentProps) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n if (args.length > 0) {\n // If React.createElement is being incorrectly used with slots, there will be additional arguments.\n // We can detect these additional arguments and error on their presence.\n throw new Error('Any module using getSlots must use withSlots. Please see withSlots javadoc for more info.');\n }\n // TODO: having TS infer types here seems to cause infinite loop.\n // use explicit types or casting to preserve typing if possible.\n // TODO: this should be a lookup on TProps property instead of being TProps directly, which is probably\n // causing the infinite loop\n return _renderSlot(slots[name_1], \n // TODO: this cast to any is hiding a relationship issue between the first two args\n componentProps, mixedProps[name_1], mixedProps.slots && mixedProps.slots[name_1], \n // _defaultStyles should always be present, but a check for existence is added to make view tests\n // easier to use.\n mixedProps._defaultStyles && mixedProps._defaultStyles[name_1], mixedProps.theme);\n };\n slot.isSlot = true;\n result[name_1] = slot;\n }\n };\n for (var name_1 in slots) {\n _loop_1(name_1);\n }\n return result;\n}\n/**\n * Helper function that translates shorthand as needed.\n * @param defaultProp\n * @param slotProps\n */\nfunction _translateShorthand(defaultProp, slotProps) {\n var _a;\n var transformedProps;\n if (typeof slotProps === 'string' || typeof slotProps === 'number' || typeof slotProps === 'boolean') {\n transformedProps = (_a = {},\n _a[defaultProp] = slotProps,\n _a);\n }\n else {\n transformedProps = slotProps;\n }\n return transformedProps;\n}\n/**\n * Helper function that constructs final styles and props given a series of props ordered by increasing priority.\n */\nfunction _constructFinalProps(defaultStyles, theme) {\n var allProps = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n allProps[_i - 2] = arguments[_i];\n }\n var finalProps = {};\n var classNames = [];\n for (var _a = 0, allProps_1 = allProps; _a < allProps_1.length; _a++) {\n var props = allProps_1[_a];\n classNames.push(props && props.className);\n assign(finalProps, props);\n }\n finalProps.className = mergeCss([defaultStyles, classNames], { rtl: getRTL(theme) });\n return finalProps;\n}\n/**\n * Render a slot given component and user props. Uses component factory if available, otherwise falls back\n * to default factory.\n * @param ComponentType Factory component type.\n * @param componentProps The properties passed into slot from within the component.\n * @param userProps The user properties passed in from outside of the component.\n */\nfunction _renderSlot(ComponentType, componentProps, userProps, slotOptions, defaultStyles, theme) {\n if (ComponentType.create !== undefined) {\n return ComponentType.create(componentProps, userProps, slotOptions, defaultStyles);\n }\n else {\n // TODO: need to resolve typing / generic issues passing through memoizeFunction. for now, cast to 'unknown'\n return defaultFactory(ComponentType)(componentProps, userProps, slotOptions, defaultStyles, theme);\n }\n}\n//# sourceMappingURL=slots.js.map","import { __assign } from 'tslib';\nexport var assign = __assign;\n//# sourceMappingURL=utilities.js.map","/**\n * Sets the current RTL value.\n */\nexport function setRTL(isRTL) {\n if (_rtl !== isRTL) {\n _rtl = isRTL;\n }\n}\n/**\n * Gets the current RTL value.\n */\nexport function getRTL() {\n if (_rtl === undefined) {\n _rtl =\n typeof document !== 'undefined' &&\n !!document.documentElement &&\n document.documentElement.getAttribute('dir') === 'rtl';\n }\n return _rtl;\n}\n// This has been split into 2 lines because it was working in Fabric due to the code being transpiled to es5, so this\n// was converted to var while not working in Fluent that uses babel to transpile the code to be es6-like. Splitting the\n// logic into two lines, however, allows it to work in both scenarios.\nvar _rtl;\n_rtl = getRTL();\nexport function getStyleOptions() {\n return {\n rtl: getRTL(),\n };\n}\n//# sourceMappingURL=StyleOptionsState.js.map","import { __assign } from \"tslib\";\nexport var InjectionMode = {\n /**\n * Avoids style injection, use getRules() to read the styles.\n */\n none: 0,\n /**\n * Inserts rules using the insertRule api.\n */\n insertNode: 1,\n /**\n * Appends rules using appendChild.\n */\n appendChild: 2,\n};\nvar STYLESHEET_SETTING = '__stylesheet__';\n/**\n * MSIE 11 doesn't cascade styles based on DOM ordering, but rather on the order that each style node\n * is created. As such, to maintain consistent priority, IE11 should reuse a single style node.\n */\nvar REUSE_STYLE_NODE = typeof navigator !== 'undefined' && /rv:11.0/.test(navigator.userAgent);\nvar _global = {};\n// Grab window.\ntry {\n // Why the cast?\n // if compiled/type checked in same program with `@fluentui/font-icons-mdl2` which extends `Window` on global\n // ( check packages/font-icons-mdl2/src/index.ts ) the definitions don't match! Thus the need of this extra assertion\n _global = (window || {});\n}\ncatch (_a) {\n /* leave as blank object */\n}\nvar _stylesheet;\n/**\n * Represents the state of styles registered in the page. Abstracts\n * the surface for adding styles to the stylesheet, exposes helpers\n * for reading the styles registered in server rendered scenarios.\n *\n * @public\n */\nvar Stylesheet = /** @class */ (function () {\n function Stylesheet(config, serializedStylesheet) {\n var _a, _b, _c, _d, _e, _f;\n this._rules = [];\n this._preservedRules = [];\n this._counter = 0;\n this._keyToClassName = {};\n this._onInsertRuleCallbacks = [];\n this._onResetCallbacks = [];\n this._classNameToArgs = {};\n this._config = __assign({ \n // If there is no document we won't have an element to inject into.\n injectionMode: typeof document === 'undefined' ? InjectionMode.none : InjectionMode.insertNode, defaultPrefix: 'css', namespace: undefined, cspSettings: undefined }, config);\n this._classNameToArgs = (_a = serializedStylesheet === null || serializedStylesheet === void 0 ? void 0 : serializedStylesheet.classNameToArgs) !== null && _a !== void 0 ? _a : this._classNameToArgs;\n this._counter = (_b = serializedStylesheet === null || serializedStylesheet === void 0 ? void 0 : serializedStylesheet.counter) !== null && _b !== void 0 ? _b : this._counter;\n this._keyToClassName = (_d = (_c = this._config.classNameCache) !== null && _c !== void 0 ? _c : serializedStylesheet === null || serializedStylesheet === void 0 ? void 0 : serializedStylesheet.keyToClassName) !== null && _d !== void 0 ? _d : this._keyToClassName;\n this._preservedRules = (_e = serializedStylesheet === null || serializedStylesheet === void 0 ? void 0 : serializedStylesheet.preservedRules) !== null && _e !== void 0 ? _e : this._preservedRules;\n this._rules = (_f = serializedStylesheet === null || serializedStylesheet === void 0 ? void 0 : serializedStylesheet.rules) !== null && _f !== void 0 ? _f : this._rules;\n }\n /**\n * Gets the singleton instance.\n */\n Stylesheet.getInstance = function () {\n _stylesheet = _global[STYLESHEET_SETTING];\n if (!_stylesheet || (_stylesheet._lastStyleElement && _stylesheet._lastStyleElement.ownerDocument !== document)) {\n var fabricConfig = (_global === null || _global === void 0 ? void 0 : _global.FabricConfig) || {};\n var stylesheet = new Stylesheet(fabricConfig.mergeStyles, fabricConfig.serializedStylesheet);\n _stylesheet = stylesheet;\n _global[STYLESHEET_SETTING] = stylesheet;\n }\n return _stylesheet;\n };\n /**\n * Serializes the Stylesheet instance into a format which allows rehydration on creation.\n * @returns string representation of `ISerializedStylesheet` interface.\n */\n Stylesheet.prototype.serialize = function () {\n return JSON.stringify({\n classNameToArgs: this._classNameToArgs,\n counter: this._counter,\n keyToClassName: this._keyToClassName,\n preservedRules: this._preservedRules,\n rules: this._rules,\n });\n };\n /**\n * Configures the stylesheet.\n */\n Stylesheet.prototype.setConfig = function (config) {\n this._config = __assign(__assign({}, this._config), config);\n };\n /**\n * Configures a reset callback.\n *\n * @param callback - A callback which will be called when the Stylesheet is reset.\n * @returns function which when called un-registers provided callback.\n */\n Stylesheet.prototype.onReset = function (callback) {\n var _this = this;\n this._onResetCallbacks.push(callback);\n return function () {\n _this._onResetCallbacks = _this._onResetCallbacks.filter(function (cb) { return cb !== callback; });\n };\n };\n /**\n * Configures an insert rule callback.\n *\n * @param callback - A callback which will be called when a rule is inserted.\n * @returns function which when called un-registers provided callback.\n */\n Stylesheet.prototype.onInsertRule = function (callback) {\n var _this = this;\n this._onInsertRuleCallbacks.push(callback);\n return function () {\n _this._onInsertRuleCallbacks = _this._onInsertRuleCallbacks.filter(function (cb) { return cb !== callback; });\n };\n };\n /**\n * Generates a unique classname.\n *\n * @param displayName - Optional value to use as a prefix.\n */\n Stylesheet.prototype.getClassName = function (displayName) {\n var namespace = this._config.namespace;\n var prefix = displayName || this._config.defaultPrefix;\n return \"\".concat(namespace ? namespace + '-' : '').concat(prefix, \"-\").concat(this._counter++);\n };\n /**\n * Used internally to cache information about a class which was\n * registered with the stylesheet.\n */\n Stylesheet.prototype.cacheClassName = function (className, key, args, rules) {\n this._keyToClassName[key] = className;\n this._classNameToArgs[className] = {\n args: args,\n rules: rules,\n };\n };\n /**\n * Gets the appropriate classname given a key which was previously\n * registered using cacheClassName.\n */\n Stylesheet.prototype.classNameFromKey = function (key) {\n return this._keyToClassName[key];\n };\n /**\n * Gets all classnames cache with the stylesheet.\n */\n Stylesheet.prototype.getClassNameCache = function () {\n return this._keyToClassName;\n };\n /**\n * Gets the arguments associated with a given classname which was\n * previously registered using cacheClassName.\n */\n Stylesheet.prototype.argsFromClassName = function (className) {\n var entry = this._classNameToArgs[className];\n return entry && entry.args;\n };\n /**\n * Gets the rules associated with a given classname which was\n * previously registered using cacheClassName.\n */\n Stylesheet.prototype.insertedRulesFromClassName = function (className) {\n var entry = this._classNameToArgs[className];\n return entry && entry.rules;\n };\n /**\n * Inserts a css rule into the stylesheet.\n * @param preserve - Preserves the rule beyond a reset boundary.\n */\n Stylesheet.prototype.insertRule = function (rule, preserve) {\n var injectionMode = this._config.injectionMode;\n var element = injectionMode !== InjectionMode.none ? this._getStyleElement() : undefined;\n if (preserve) {\n this._preservedRules.push(rule);\n }\n if (element) {\n switch (injectionMode) {\n case InjectionMode.insertNode:\n var sheet = element.sheet;\n try {\n sheet.insertRule(rule, sheet.cssRules.length);\n }\n catch (e) {\n // The browser will throw exceptions on unsupported rules (such as a moz prefix in webkit.)\n // We need to swallow the exceptions for this scenario, otherwise we'd need to filter\n // which could be slower and bulkier.\n }\n break;\n case InjectionMode.appendChild:\n element.appendChild(document.createTextNode(rule));\n break;\n }\n }\n else {\n this._rules.push(rule);\n }\n // eslint-disable-next-line deprecation/deprecation\n if (this._config.onInsertRule) {\n // eslint-disable-next-line deprecation/deprecation\n this._config.onInsertRule(rule);\n }\n this._onInsertRuleCallbacks.forEach(function (callback) { return callback(); });\n };\n /**\n * Gets all rules registered with the stylesheet; only valid when\n * using InsertionMode.none.\n */\n Stylesheet.prototype.getRules = function (includePreservedRules) {\n return (includePreservedRules ? this._preservedRules.join('') : '') + this._rules.join('');\n };\n /**\n * Resets the internal state of the stylesheet. Only used in server\n * rendered scenarios where we're using InsertionMode.none.\n */\n Stylesheet.prototype.reset = function () {\n this._rules = [];\n this._counter = 0;\n this._classNameToArgs = {};\n this._keyToClassName = {};\n this._onResetCallbacks.forEach(function (callback) { return callback(); });\n };\n // Forces the regeneration of incoming styles without totally resetting the stylesheet.\n Stylesheet.prototype.resetKeys = function () {\n this._keyToClassName = {};\n };\n Stylesheet.prototype._getStyleElement = function () {\n var _this = this;\n if (!this._styleElement && typeof document !== 'undefined') {\n this._styleElement = this._createStyleElement();\n if (!REUSE_STYLE_NODE) {\n // Reset the style element on the next frame.\n window.requestAnimationFrame(function () {\n _this._styleElement = undefined;\n });\n }\n }\n return this._styleElement;\n };\n Stylesheet.prototype._createStyleElement = function () {\n var head = document.head;\n var styleElement = document.createElement('style');\n var nodeToInsertBefore = null;\n styleElement.setAttribute('data-merge-styles', 'true');\n var cspSettings = this._config.cspSettings;\n if (cspSettings) {\n if (cspSettings.nonce) {\n styleElement.setAttribute('nonce', cspSettings.nonce);\n }\n }\n if (this._lastStyleElement) {\n // If the `nextElementSibling` is null, then the insertBefore will act as a regular append.\n // https://developer.mozilla.org/en-US/docs/Web/API/Node/insertBefore#Syntax\n nodeToInsertBefore = this._lastStyleElement.nextElementSibling;\n }\n else {\n var placeholderStyleTag = this._findPlaceholderStyleTag();\n if (placeholderStyleTag) {\n nodeToInsertBefore = placeholderStyleTag.nextElementSibling;\n }\n else {\n nodeToInsertBefore = head.childNodes[0];\n }\n }\n head.insertBefore(styleElement, head.contains(nodeToInsertBefore) ? nodeToInsertBefore : null);\n this._lastStyleElement = styleElement;\n return styleElement;\n };\n Stylesheet.prototype._findPlaceholderStyleTag = function () {\n var head = document.head;\n if (head) {\n return head.querySelector('style[data-merge-styles]');\n }\n return null;\n };\n return Stylesheet;\n}());\nexport { Stylesheet };\n//# sourceMappingURL=Stylesheet.js.map","import { __spreadArray } from \"tslib\";\n/**\n * Combine a set of styles together (but does not register css classes).\n * @param styleSets - One or more stylesets to be merged (each param can also be falsy).\n */\nexport function concatStyleSets() {\n var styleSets = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n styleSets[_i] = arguments[_i];\n }\n if (styleSets && styleSets.length === 1 && styleSets[0] && !styleSets[0].subComponentStyles) {\n return styleSets[0];\n }\n var mergedSet = {};\n // We process sub component styles in two phases. First we collect them, then we combine them into 1 style function.\n var workingSubcomponentStyles = {};\n for (var _a = 0, styleSets_1 = styleSets; _a < styleSets_1.length; _a++) {\n var currentSet = styleSets_1[_a];\n if (currentSet) {\n for (var prop in currentSet) {\n if (currentSet.hasOwnProperty(prop)) {\n if (prop === 'subComponentStyles' && currentSet.subComponentStyles !== undefined) {\n // subcomponent styles - style functions or objects\n var currentComponentStyles = currentSet.subComponentStyles;\n for (var subCompProp in currentComponentStyles) {\n if (currentComponentStyles.hasOwnProperty(subCompProp)) {\n if (workingSubcomponentStyles.hasOwnProperty(subCompProp)) {\n workingSubcomponentStyles[subCompProp].push(currentComponentStyles[subCompProp]);\n }\n else {\n workingSubcomponentStyles[subCompProp] = [currentComponentStyles[subCompProp]];\n }\n }\n }\n continue;\n }\n // the as any casts below is a workaround for ts 2.8.\n // todo: remove cast to any in ts 2.9.\n var mergedValue = mergedSet[prop];\n var currentValue = currentSet[prop];\n if (mergedValue === undefined) {\n mergedSet[prop] = currentValue;\n }\n else {\n mergedSet[prop] = __spreadArray(__spreadArray([], (Array.isArray(mergedValue) ? mergedValue : [mergedValue]), true), (Array.isArray(currentValue) ? currentValue : [currentValue]), true);\n }\n }\n }\n }\n }\n if (Object.keys(workingSubcomponentStyles).length > 0) {\n mergedSet.subComponentStyles = {};\n var mergedSubStyles = mergedSet.subComponentStyles;\n var _loop_1 = function (subCompProp) {\n if (workingSubcomponentStyles.hasOwnProperty(subCompProp)) {\n var workingSet_1 = workingSubcomponentStyles[subCompProp];\n mergedSubStyles[subCompProp] = function (styleProps) {\n return concatStyleSets.apply(void 0, workingSet_1.map(function (styleFunctionOrObject) {\n return typeof styleFunctionOrObject === 'function' ? styleFunctionOrObject(styleProps) : styleFunctionOrObject;\n }));\n };\n }\n };\n // now we process the subcomponent styles if there are any\n for (var subCompProp in workingSubcomponentStyles) {\n _loop_1(subCompProp);\n }\n }\n return mergedSet;\n}\n//# sourceMappingURL=concatStyleSets.js.map","import { concatStyleSets } from './concatStyleSets';\n/**\n * Concatenates style sets into one, but resolves functional sets using the given props.\n * @param styleProps - Props used to resolve functional sets.\n * @param allStyles - Style sets, which can be functions or objects.\n */\nexport function concatStyleSetsWithProps(styleProps) {\n var allStyles = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n allStyles[_i - 1] = arguments[_i];\n }\n var result = [];\n for (var _a = 0, allStyles_1 = allStyles; _a < allStyles_1.length; _a++) {\n var styles = allStyles_1[_a];\n if (styles) {\n result.push(typeof styles === 'function' ? styles(styleProps) : styles);\n }\n }\n if (result.length === 1) {\n return result[0];\n }\n else if (result.length) {\n // cliffkoh: I cannot figure out how to avoid the cast to any here.\n // It is something to do with the use of Omit in IStyleSet.\n // It might not be necessary once Omit becomes part of lib.d.ts (when we remove our own Omit and rely on\n // the official version).\n return concatStyleSets.apply(void 0, result);\n }\n return {};\n}\n//# sourceMappingURL=concatStyleSetsWithProps.js.map","import { Stylesheet } from './Stylesheet';\n/**\n * Separates the classes and style objects. Any classes that are pre-registered\n * args are auto expanded into objects.\n */\nexport function extractStyleParts() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var classes = [];\n var objects = [];\n var stylesheet = Stylesheet.getInstance();\n function _processArgs(argsList) {\n for (var _i = 0, argsList_1 = argsList; _i < argsList_1.length; _i++) {\n var arg = argsList_1[_i];\n if (arg) {\n if (typeof arg === 'string') {\n if (arg.indexOf(' ') >= 0) {\n _processArgs(arg.split(' '));\n }\n else {\n var translatedArgs = stylesheet.argsFromClassName(arg);\n if (translatedArgs) {\n _processArgs(translatedArgs);\n }\n else {\n // Avoid adding the same class twice.\n if (classes.indexOf(arg) === -1) {\n classes.push(arg);\n }\n }\n }\n }\n else if (Array.isArray(arg)) {\n _processArgs(arg);\n }\n else if (typeof arg === 'object') {\n objects.push(arg);\n }\n }\n }\n }\n _processArgs(args);\n return {\n classes: classes,\n objects: objects,\n };\n}\n//# sourceMappingURL=extractStyleParts.js.map","import { getStyleOptions } from './StyleOptionsState';\nimport { Stylesheet } from './Stylesheet';\nimport { serializeRuleEntries } from './styleToClassName';\n/**\n * Registers a font face.\n * @public\n */\nexport function fontFace(font) {\n var stylesheet = Stylesheet.getInstance();\n var rule = serializeRuleEntries(getStyleOptions(), font);\n var className = stylesheet.classNameFromKey(rule);\n if (className) {\n return;\n }\n var name = stylesheet.getClassName();\n stylesheet.insertRule(\"@font-face{\".concat(rule, \"}\"), true);\n stylesheet.cacheClassName(name, rule, [], ['font-face', rule]);\n}\n//# sourceMappingURL=fontFace.js.map","import { getStyleOptions } from './StyleOptionsState';\nimport { Stylesheet } from './Stylesheet';\nimport { serializeRuleEntries } from './styleToClassName';\n/**\n * Registers keyframe definitions.\n *\n * @public\n */\nexport function keyframes(timeline) {\n var stylesheet = Stylesheet.getInstance();\n var rulesArray = [];\n for (var prop in timeline) {\n if (timeline.hasOwnProperty(prop)) {\n rulesArray.push(prop, '{', serializeRuleEntries(getStyleOptions(), timeline[prop]), '}');\n }\n }\n var rules = rulesArray.join('');\n var className = stylesheet.classNameFromKey(rules);\n if (className) {\n return className;\n }\n var name = stylesheet.getClassName();\n stylesheet.insertRule(\"@keyframes \".concat(name, \"{\").concat(rules, \"}\"), true);\n stylesheet.cacheClassName(name, rules, [], ['keyframes', rules]);\n return name;\n}\n//# sourceMappingURL=keyframes.js.map","import { concatStyleSets } from './concatStyleSets';\nimport { extractStyleParts } from './extractStyleParts';\nimport { getStyleOptions } from './StyleOptionsState';\nimport { applyRegistration, styleToRegistration } from './styleToClassName';\n/**\n * Takes in one or more style set objects, each consisting of a set of areas,\n * each which will produce a class name. Using this is analogous to calling\n * `mergeStyles` for each property in the object, but ensures we maintain the\n * set ordering when multiple style sets are merged.\n *\n * @param styleSets - One or more style sets to be merged.\n */\nexport function mergeStyleSets() {\n var styleSets = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n styleSets[_i] = arguments[_i];\n }\n return mergeCssSets(styleSets, getStyleOptions());\n}\n/**\n * Takes in one or more style set objects, each1consisting of a set of areas,\n * each which will produce a class name. Using this is analogous to calling\n * `mergeCss` for each property in the object, but ensures the\n * set ordering when multiple style sets are merged.\n *\n * @param styleSets - One or more style sets to be merged.\n * @param options - (optional) Options to use when creating rules.\n */\nexport function mergeCssSets(styleSets, options) {\n var classNameSet = { subComponentStyles: {} };\n var styleSet = styleSets[0];\n if (!styleSet && styleSets.length <= 1) {\n return { subComponentStyles: {} };\n }\n var concatenatedStyleSet = concatStyleSets.apply(void 0, styleSets);\n var registrations = [];\n for (var styleSetArea in concatenatedStyleSet) {\n if (concatenatedStyleSet.hasOwnProperty(styleSetArea)) {\n if (styleSetArea === 'subComponentStyles') {\n classNameSet.subComponentStyles = concatenatedStyleSet.subComponentStyles || {};\n continue;\n }\n var styles = concatenatedStyleSet[styleSetArea];\n var _a = extractStyleParts(styles), classes = _a.classes, objects = _a.objects;\n if (objects === null || objects === void 0 ? void 0 : objects.length) {\n var registration = styleToRegistration(options || {}, { displayName: styleSetArea }, objects);\n if (registration) {\n registrations.push(registration);\n // FIXME: classNameSet invalid types - exposed in TS 4.5 - cast needed\n classNameSet[styleSetArea] = classes.concat([registration.className]).join(' ');\n }\n }\n else {\n // FIXME: classNameSet invalid types - exposed in TS 4.5 - cast needed\n classNameSet[styleSetArea] = classes.join(' ');\n }\n }\n }\n for (var _i = 0, registrations_1 = registrations; _i < registrations_1.length; _i++) {\n var registration = registrations_1[_i];\n if (registration) {\n applyRegistration(registration, options === null || options === void 0 ? void 0 : options.specificityMultiplier);\n }\n }\n return classNameSet;\n}\n//# sourceMappingURL=mergeStyleSets.js.map","import { extractStyleParts } from './extractStyleParts';\nimport { getStyleOptions } from './StyleOptionsState';\nimport { styleToClassName } from './styleToClassName';\n/**\n * Concatenation helper, which can merge class names together. Skips over falsey values.\n *\n * @public\n */\nexport function mergeStyles() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return mergeCss(args, getStyleOptions());\n}\n/**\n * Concatenation helper, which can merge class names together. Skips over falsey values.\n * Accepts a set of options that will be used when calculating styles.\n *\n * @public\n */\nexport function mergeCss(args, options) {\n var styleArgs = args instanceof Array ? args : [args];\n var _a = extractStyleParts(styleArgs), classes = _a.classes, objects = _a.objects;\n if (objects.length) {\n classes.push(styleToClassName(options || {}, objects));\n }\n return classes.join(' ');\n}\n//# sourceMappingURL=mergeStyles.js.map","var _vendorSettings;\nexport function getVendorSettings() {\n var _a;\n if (!_vendorSettings) {\n var doc = typeof document !== 'undefined' ? document : undefined;\n var nav = typeof navigator !== 'undefined' ? navigator : undefined;\n var userAgent = (_a = nav === null || nav === void 0 ? void 0 : nav.userAgent) === null || _a === void 0 ? void 0 : _a.toLowerCase();\n if (!doc) {\n _vendorSettings = {\n isWebkit: true,\n isMoz: true,\n isOpera: true,\n isMs: true,\n };\n }\n else {\n _vendorSettings = {\n isWebkit: !!(doc && 'WebkitAppearance' in doc.documentElement.style),\n isMoz: !!(userAgent && userAgent.indexOf('firefox') > -1),\n isOpera: !!(userAgent && userAgent.indexOf('opera') > -1),\n isMs: !!(nav && (/rv:11.0/i.test(nav.userAgent) || /Edge\\/\\d./i.test(navigator.userAgent))),\n };\n }\n }\n return _vendorSettings;\n}\n/**\n * Sets the vendor settings for prefixing and vendor specific operations.\n */\nexport function setVendorSettings(vendorSettings) {\n _vendorSettings = vendorSettings;\n}\n//# sourceMappingURL=getVendorSettings.js.map","var rules = {};\nexport function kebabRules(rulePairs, index) {\n var rule = rulePairs[index];\n if (rule.charAt(0) !== '-') {\n rulePairs[index] = rules[rule] = rules[rule] || rule.replace(/([A-Z])/g, '-$1').toLowerCase();\n }\n}\n//# sourceMappingURL=kebabRules.js.map","import { getVendorSettings } from '../getVendorSettings';\nvar autoPrefixNames = {\n 'user-select': 1,\n};\nexport function prefixRules(rulePairs, index) {\n var vendorSettings = getVendorSettings();\n var name = rulePairs[index];\n if (autoPrefixNames[name]) {\n var value = rulePairs[index + 1];\n if (autoPrefixNames[name]) {\n if (vendorSettings.isWebkit) {\n rulePairs.push('-webkit-' + name, value);\n }\n if (vendorSettings.isMoz) {\n rulePairs.push('-moz-' + name, value);\n }\n if (vendorSettings.isMs) {\n rulePairs.push('-ms-' + name, value);\n }\n if (vendorSettings.isOpera) {\n rulePairs.push('-o-' + name, value);\n }\n }\n }\n}\n//# sourceMappingURL=prefixRules.js.map","var NON_PIXEL_NUMBER_PROPS = [\n 'column-count',\n 'font-weight',\n 'flex',\n 'flex-grow',\n 'flex-shrink',\n 'fill-opacity',\n 'opacity',\n 'order',\n 'z-index',\n 'zoom',\n];\nexport function provideUnits(rulePairs, index) {\n var name = rulePairs[index];\n var value = rulePairs[index + 1];\n if (typeof value === 'number') {\n var isNonPixelProp = NON_PIXEL_NUMBER_PROPS.indexOf(name) > -1;\n var isVariableOrPrefixed = name.indexOf('--') > -1;\n var unit = isNonPixelProp || isVariableOrPrefixed ? '' : 'px';\n rulePairs[index + 1] = \"\".concat(value).concat(unit);\n }\n}\n//# sourceMappingURL=provideUnits.js.map","var _a;\nvar LEFT = 'left';\nvar RIGHT = 'right';\nvar NO_FLIP = '@noflip';\nvar NAME_REPLACEMENTS = (_a = {},\n _a[LEFT] = RIGHT,\n _a[RIGHT] = LEFT,\n _a);\nvar VALUE_REPLACEMENTS = {\n 'w-resize': 'e-resize',\n 'sw-resize': 'se-resize',\n 'nw-resize': 'ne-resize',\n};\n/**\n * RTLifies the rulePair in the array at the current index. This mutates the array for performance\n * reasons.\n */\nexport function rtlifyRules(options, rulePairs, index) {\n if (options.rtl) {\n var name_1 = rulePairs[index];\n if (!name_1) {\n return;\n }\n var value = rulePairs[index + 1];\n if (typeof value === 'string' && value.indexOf(NO_FLIP) >= 0) {\n rulePairs[index + 1] = value.replace(/\\s*(?:\\/\\*\\s*)?\\@noflip\\b(?:\\s*\\*\\/)?\\s*?/g, '');\n }\n else if (name_1.indexOf(LEFT) >= 0) {\n rulePairs[index] = name_1.replace(LEFT, RIGHT);\n }\n else if (name_1.indexOf(RIGHT) >= 0) {\n rulePairs[index] = name_1.replace(RIGHT, LEFT);\n }\n else if (String(value).indexOf(LEFT) >= 0) {\n rulePairs[index + 1] = value.replace(LEFT, RIGHT);\n }\n else if (String(value).indexOf(RIGHT) >= 0) {\n rulePairs[index + 1] = value.replace(RIGHT, LEFT);\n }\n else if (NAME_REPLACEMENTS[name_1]) {\n rulePairs[index] = NAME_REPLACEMENTS[name_1];\n }\n else if (VALUE_REPLACEMENTS[value]) {\n rulePairs[index + 1] = VALUE_REPLACEMENTS[value];\n }\n else {\n switch (name_1) {\n case 'margin':\n case 'padding':\n rulePairs[index + 1] = flipQuad(value);\n break;\n case 'box-shadow':\n rulePairs[index + 1] = negateNum(value, 0);\n break;\n }\n }\n }\n}\n/**\n * Given a string value in a space delimited format (e.g. \"1 2 3 4\"), negates a particular value.\n */\nfunction negateNum(value, partIndex) {\n var parts = value.split(' ');\n var numberVal = parseInt(parts[partIndex], 10);\n parts[0] = parts[0].replace(String(numberVal), String(numberVal * -1));\n return parts.join(' ');\n}\n/**\n * Given a string quad, flips the left and right values.\n */\nfunction flipQuad(value) {\n if (typeof value === 'string') {\n var parts = value.split(' ');\n if (parts.length === 4) {\n return \"\".concat(parts[0], \" \").concat(parts[3], \" \").concat(parts[2], \" \").concat(parts[1]);\n }\n }\n return value;\n}\n//# sourceMappingURL=rtlifyRules.js.map","import { __spreadArray } from \"tslib\";\nimport { Stylesheet } from './Stylesheet';\nimport { kebabRules } from './transforms/kebabRules';\nimport { prefixRules } from './transforms/prefixRules';\nimport { provideUnits } from './transforms/provideUnits';\nimport { rtlifyRules } from './transforms/rtlifyRules';\nimport { tokenizeWithParentheses } from './tokenizeWithParentheses';\nvar DISPLAY_NAME = 'displayName';\nfunction getDisplayName(rules) {\n var rootStyle = rules && rules['&'];\n return rootStyle ? rootStyle.displayName : undefined;\n}\nvar globalSelectorRegExp = /\\:global\\((.+?)\\)/g;\n/**\n * Finds comma separated selectors in a :global() e.g. \":global(.class1, .class2, .class3)\"\n * and wraps them each in their own global \":global(.class1), :global(.class2), :global(.class3)\"\n *\n * @param selectorWithGlobals The selector to process\n * @returns The updated selector\n */\nfunction expandCommaSeparatedGlobals(selectorWithGlobals) {\n // We the selector does not have a :global() we can shortcut\n if (!globalSelectorRegExp.test(selectorWithGlobals)) {\n return selectorWithGlobals;\n }\n var replacementInfo = [];\n var findGlobal = /\\:global\\((.+?)\\)/g;\n var match = null;\n // Create a result list for global selectors so we can replace them.\n while ((match = findGlobal.exec(selectorWithGlobals))) {\n // Only if the found selector is a comma separated list we'll process it.\n if (match[1].indexOf(',') > -1) {\n replacementInfo.push([\n match.index,\n match.index + match[0].length,\n // Wrap each of the found selectors in :global()\n match[1]\n .split(',')\n .map(function (v) { return \":global(\".concat(v.trim(), \")\"); })\n .join(', '),\n ]);\n }\n }\n // Replace the found selectors with their wrapped variants in reverse order\n return replacementInfo\n .reverse()\n .reduce(function (selector, _a) {\n var matchIndex = _a[0], matchEndIndex = _a[1], replacement = _a[2];\n var prefix = selector.slice(0, matchIndex);\n var suffix = selector.slice(matchEndIndex);\n return prefix + replacement + suffix;\n }, selectorWithGlobals);\n}\nfunction expandSelector(newSelector, currentSelector) {\n if (newSelector.indexOf(':global(') >= 0) {\n return newSelector.replace(globalSelectorRegExp, '$1');\n }\n else if (newSelector.indexOf(':') === 0) {\n return currentSelector + newSelector;\n }\n else if (newSelector.indexOf('&') < 0) {\n return currentSelector + ' ' + newSelector;\n }\n return newSelector;\n}\nfunction extractSelector(currentSelector, rules, selector, value) {\n if (rules === void 0) { rules = { __order: [] }; }\n if (selector.indexOf('@') === 0) {\n selector = selector + '{' + currentSelector;\n extractRules([value], rules, selector);\n }\n else if (selector.indexOf(',') > -1) {\n expandCommaSeparatedGlobals(selector)\n .split(',')\n .map(function (s) { return s.trim(); })\n .forEach(function (separatedSelector) {\n return extractRules([value], rules, expandSelector(separatedSelector, currentSelector));\n });\n }\n else {\n extractRules([value], rules, expandSelector(selector, currentSelector));\n }\n}\nfunction extractRules(args, rules, currentSelector) {\n if (rules === void 0) { rules = { __order: [] }; }\n if (currentSelector === void 0) { currentSelector = '&'; }\n var stylesheet = Stylesheet.getInstance();\n var currentRules = rules[currentSelector];\n if (!currentRules) {\n currentRules = {};\n rules[currentSelector] = currentRules;\n rules.__order.push(currentSelector);\n }\n for (var _i = 0, args_1 = args; _i < args_1.length; _i++) {\n var arg = args_1[_i];\n // If the arg is a string, we need to look up the class map and merge.\n if (typeof arg === 'string') {\n var expandedRules = stylesheet.argsFromClassName(arg);\n if (expandedRules) {\n extractRules(expandedRules, rules, currentSelector);\n }\n // Else if the arg is an array, we need to recurse in.\n }\n else if (Array.isArray(arg)) {\n extractRules(arg, rules, currentSelector);\n }\n else {\n for (var prop in arg) {\n if (arg.hasOwnProperty(prop)) {\n var propValue = arg[prop];\n if (prop === 'selectors') {\n // every child is a selector.\n var selectors = arg.selectors;\n for (var newSelector in selectors) {\n if (selectors.hasOwnProperty(newSelector)) {\n extractSelector(currentSelector, rules, newSelector, selectors[newSelector]);\n }\n }\n }\n else if (typeof propValue === 'object') {\n // prop is a selector.\n if (propValue !== null) {\n extractSelector(currentSelector, rules, prop, propValue);\n }\n }\n else {\n if (propValue !== undefined) {\n // Else, add the rule to the currentSelector.\n if (prop === 'margin' || prop === 'padding') {\n expandQuads(currentRules, prop, propValue);\n }\n else {\n currentRules[prop] = propValue;\n }\n }\n }\n }\n }\n }\n }\n return rules;\n}\nfunction expandQuads(currentRules, name, value) {\n var parts = typeof value === 'string' ? tokenizeWithParentheses(value) : [value];\n if (parts.length === 0) {\n parts.push(value);\n }\n if (parts[parts.length - 1] === '!important') {\n // Remove !important from parts, and append it to each part individually\n parts = parts.slice(0, -1).map(function (p) { return p + ' !important'; });\n }\n currentRules[name + 'Top'] = parts[0];\n currentRules[name + 'Right'] = parts[1] || parts[0];\n currentRules[name + 'Bottom'] = parts[2] || parts[0];\n currentRules[name + 'Left'] = parts[3] || parts[1] || parts[0];\n}\nfunction getKeyForRules(options, rules) {\n var serialized = [options.rtl ? 'rtl' : 'ltr'];\n var hasProps = false;\n for (var _i = 0, _a = rules.__order; _i < _a.length; _i++) {\n var selector = _a[_i];\n serialized.push(selector);\n var rulesForSelector = rules[selector];\n for (var propName in rulesForSelector) {\n if (rulesForSelector.hasOwnProperty(propName) && rulesForSelector[propName] !== undefined) {\n hasProps = true;\n serialized.push(propName, rulesForSelector[propName]);\n }\n }\n }\n return hasProps ? serialized.join('') : undefined;\n}\nfunction repeatString(target, count) {\n if (count <= 0) {\n return '';\n }\n if (count === 1) {\n return target;\n }\n return target + repeatString(target, count - 1);\n}\nexport function serializeRuleEntries(options, ruleEntries) {\n if (!ruleEntries) {\n return '';\n }\n var allEntries = [];\n for (var entry in ruleEntries) {\n if (ruleEntries.hasOwnProperty(entry) && entry !== DISPLAY_NAME && ruleEntries[entry] !== undefined) {\n allEntries.push(entry, ruleEntries[entry]);\n }\n }\n // Apply transforms.\n for (var i = 0; i < allEntries.length; i += 2) {\n kebabRules(allEntries, i);\n provideUnits(allEntries, i);\n rtlifyRules(options, allEntries, i);\n prefixRules(allEntries, i);\n }\n // Apply punctuation.\n for (var i = 1; i < allEntries.length; i += 4) {\n allEntries.splice(i, 1, ':', allEntries[i], ';');\n }\n return allEntries.join('');\n}\nexport function styleToRegistration(options) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n var rules = extractRules(args);\n var key = getKeyForRules(options, rules);\n if (key) {\n var stylesheet = Stylesheet.getInstance();\n var registration = {\n className: stylesheet.classNameFromKey(key),\n key: key,\n args: args,\n };\n if (!registration.className) {\n registration.className = stylesheet.getClassName(getDisplayName(rules));\n var rulesToInsert = [];\n for (var _a = 0, _b = rules.__order; _a < _b.length; _a++) {\n var selector = _b[_a];\n rulesToInsert.push(selector, serializeRuleEntries(options, rules[selector]));\n }\n registration.rulesToInsert = rulesToInsert;\n }\n return registration;\n }\n return undefined;\n}\n/**\n * Insert style to stylesheet.\n * @param registration Style registration.\n * @param specificityMultiplier Number of times classname selector is repeated in the css rule.\n * This is to increase css specificity in case it's needed. Default to 1.\n */\nexport function applyRegistration(registration, specificityMultiplier) {\n if (specificityMultiplier === void 0) { specificityMultiplier = 1; }\n var stylesheet = Stylesheet.getInstance();\n var className = registration.className, key = registration.key, args = registration.args, rulesToInsert = registration.rulesToInsert;\n if (rulesToInsert) {\n // rulesToInsert is an ordered array of selector/rule pairs.\n for (var i = 0; i < rulesToInsert.length; i += 2) {\n var rules = rulesToInsert[i + 1];\n if (rules) {\n var selector = rulesToInsert[i];\n selector = selector.replace(/&/g, repeatString(\".\".concat(registration.className), specificityMultiplier));\n // Insert. Note if a media query, we must close the query with a final bracket.\n var processedRule = \"\".concat(selector, \"{\").concat(rules, \"}\").concat(selector.indexOf('@') === 0 ? '}' : '');\n stylesheet.insertRule(processedRule);\n }\n }\n stylesheet.cacheClassName(className, key, args, rulesToInsert);\n }\n}\nexport function styleToClassName(options) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n var registration = styleToRegistration.apply(void 0, __spreadArray([options], args, false));\n if (registration) {\n applyRegistration(registration, options.specificityMultiplier);\n return registration.className;\n }\n return '';\n}\n//# sourceMappingURL=styleToClassName.js.map","/**\n * Split a string into tokens separated by whitespace, except all text within parentheses\n * is treated as a single token (whitespace is ignored within parentheses).\n *\n * Unlike String.split(' '), multiple consecutive space characters are collapsed and\n * removed from the returned array (including leading and trailing spaces).\n *\n * For example:\n * `tokenizeWithParentheses(\"3px calc(var(--x) / 2) 9px 0 \")`\n * => `[\"3px\", \"calc(var(--x) / 2)\", \"9px\", \"0\"]`\n *\n * @returns The array of tokens. Returns an empty array if the string was empty or contained only whitespace.\n */\nexport function tokenizeWithParentheses(value) {\n var parts = [];\n var partStart = 0;\n var parens = 0;\n for (var i = 0; i < value.length; i++) {\n switch (value[i]) {\n case '(':\n parens++;\n break;\n case ')':\n if (parens) {\n parens--;\n }\n break;\n case '\\t':\n case ' ':\n if (!parens) {\n // Add the new part if it's not an empty string\n if (i > partStart) {\n parts.push(value.substring(partStart, i));\n }\n partStart = i + 1;\n }\n break;\n }\n }\n // Add the last part\n if (partStart < value.length) {\n parts.push(value.substring(partStart));\n }\n return parts;\n}\n//# sourceMappingURL=tokenizeWithParentheses.js.map","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { FocusZoneDirection, FocusZoneTabbableElements } from './FocusZone.types';\nimport { KeyCodes, css, elementContains, getDocument, getElementIndexPath, getFocusableByIndexPath, getId, getNativeProps, getNextElement, getParent, getPreviousElement, getRTL, htmlElementProperties, initializeComponentRef, isElementFocusSubZone, isElementFocusZone, isElementTabbable, shouldWrapFocus, warnDeprecations, portalContainsElement, findScrollableParent, createMergedRef, isElementVisibleAndNotHidden, } from '@fluentui/utilities';\nimport { mergeStyles } from '@fluentui/merge-styles';\nimport { getTheme } from '@fluentui/style-utilities';\nvar IS_FOCUSABLE_ATTRIBUTE = 'data-is-focusable';\nvar IS_ENTER_DISABLED_ATTRIBUTE = 'data-disable-click-on-enter';\nvar FOCUSZONE_ID_ATTRIBUTE = 'data-focuszone-id';\nvar TABINDEX = 'tabindex';\nvar NO_VERTICAL_WRAP = 'data-no-vertical-wrap';\nvar NO_HORIZONTAL_WRAP = 'data-no-horizontal-wrap';\nvar LARGE_DISTANCE_FROM_CENTER = 999999999;\nvar LARGE_NEGATIVE_DISTANCE_FROM_CENTER = -999999999;\nvar focusZoneStyles;\nvar focusZoneClass = 'ms-FocusZone';\n/**\n * Raises a click on a target element based on a keyboard event.\n */\nfunction raiseClickFromKeyboardEvent(target, ev) {\n var event;\n if (typeof MouseEvent === 'function') {\n event = new MouseEvent('click', {\n ctrlKey: ev === null || ev === void 0 ? void 0 : ev.ctrlKey,\n metaKey: ev === null || ev === void 0 ? void 0 : ev.metaKey,\n shiftKey: ev === null || ev === void 0 ? void 0 : ev.shiftKey,\n altKey: ev === null || ev === void 0 ? void 0 : ev.altKey,\n bubbles: ev === null || ev === void 0 ? void 0 : ev.bubbles,\n cancelable: ev === null || ev === void 0 ? void 0 : ev.cancelable,\n });\n }\n else {\n event = document.createEvent('MouseEvents');\n // eslint-disable-next-line deprecation/deprecation\n event.initMouseEvent('click', ev ? ev.bubbles : false, ev ? ev.cancelable : false, window, // not using getWindow() since this can only be run client side\n 0, // detail\n 0, // screen x\n 0, // screen y\n 0, // client x\n 0, // client y\n ev ? ev.ctrlKey : false, ev ? ev.altKey : false, ev ? ev.shiftKey : false, ev ? ev.metaKey : false, 0, // button\n null);\n }\n target.dispatchEvent(event);\n}\n// Helper function that will return a class for when the root is focused\nfunction getRootClass() {\n if (!focusZoneStyles) {\n focusZoneStyles = mergeStyles({\n selectors: {\n ':focus': {\n outline: 'none',\n },\n },\n }, focusZoneClass);\n }\n return focusZoneStyles;\n}\nvar _allInstances = {};\nvar _outerZones = new Set();\nvar ALLOWED_INPUT_TYPES = ['text', 'number', 'password', 'email', 'tel', 'url', 'search', 'textarea'];\nvar ALLOW_VIRTUAL_ELEMENTS = false;\nvar FocusZone = /** @class */ (function (_super) {\n __extends(FocusZone, _super);\n function FocusZone(props) {\n var _this = this;\n var _a, _b, _c, _d;\n _this = _super.call(this, props) || this;\n _this._root = React.createRef();\n _this._mergedRef = createMergedRef();\n _this._onFocus = function (ev) {\n if (_this._portalContainsElement(ev.target)) {\n // If the event target is inside a portal do not process the event.\n return;\n }\n var _a = _this.props, onActiveElementChanged = _a.onActiveElementChanged, \n // eslint-disable-next-line deprecation/deprecation\n doNotAllowFocusEventToPropagate = _a.doNotAllowFocusEventToPropagate, stopFocusPropagation = _a.stopFocusPropagation, \n // eslint-disable-next-line deprecation/deprecation\n onFocusNotification = _a.onFocusNotification, onFocus = _a.onFocus, shouldFocusInnerElementWhenReceivedFocus = _a.shouldFocusInnerElementWhenReceivedFocus, defaultTabbableElement = _a.defaultTabbableElement;\n var isImmediateDescendant = _this._isImmediateDescendantOfZone(ev.target);\n var newActiveElement;\n if (isImmediateDescendant) {\n newActiveElement = ev.target;\n }\n else {\n var parentElement = ev.target;\n while (parentElement && parentElement !== _this._root.current) {\n if (isElementTabbable(parentElement) && _this._isImmediateDescendantOfZone(parentElement)) {\n newActiveElement = parentElement;\n break;\n }\n parentElement = getParent(parentElement, ALLOW_VIRTUAL_ELEMENTS);\n }\n }\n // If an inner focusable element should be focused when FocusZone container receives focus\n if (shouldFocusInnerElementWhenReceivedFocus && ev.target === _this._root.current) {\n var maybeElementToFocus = defaultTabbableElement &&\n typeof defaultTabbableElement === 'function' &&\n _this._root.current &&\n defaultTabbableElement(_this._root.current);\n // try to focus defaultTabbable element\n if (maybeElementToFocus && isElementTabbable(maybeElementToFocus)) {\n newActiveElement = maybeElementToFocus;\n maybeElementToFocus.focus();\n }\n else {\n // force focus on first focusable element\n _this.focus(true);\n if (_this._activeElement) {\n // set to null as new active element was handled in method above\n newActiveElement = null;\n }\n }\n }\n var initialElementFocused = !_this._activeElement;\n // If the new active element is a child of this zone and received focus,\n // update alignment an immediate descendant\n if (newActiveElement && newActiveElement !== _this._activeElement) {\n if (isImmediateDescendant || initialElementFocused) {\n _this._setFocusAlignment(newActiveElement, true, true);\n }\n _this._activeElement = newActiveElement;\n if (initialElementFocused) {\n _this._updateTabIndexes();\n }\n }\n if (onActiveElementChanged) {\n onActiveElementChanged(_this._activeElement, ev);\n }\n if (stopFocusPropagation || doNotAllowFocusEventToPropagate) {\n ev.stopPropagation();\n }\n if (onFocus) {\n onFocus(ev);\n }\n else if (onFocusNotification) {\n onFocusNotification();\n }\n };\n _this._onBlur = function () {\n _this._setParkedFocus(false);\n };\n _this._onMouseDown = function (ev) {\n if (_this._portalContainsElement(ev.target)) {\n // If the event target is inside a portal do not process the event.\n return;\n }\n var disabled = _this.props.disabled;\n if (disabled) {\n return;\n }\n var target = ev.target;\n var path = [];\n while (target && target !== _this._root.current) {\n path.push(target);\n target = getParent(target, ALLOW_VIRTUAL_ELEMENTS);\n }\n while (path.length) {\n target = path.pop();\n if (target && isElementTabbable(target)) {\n _this._setActiveElement(target, true);\n }\n if (isElementFocusZone(target)) {\n // Stop here since the focus zone will take care of its own children.\n break;\n }\n }\n };\n /**\n * Handle the keystrokes.\n */\n _this._onKeyDown = function (ev, theme) {\n if (_this._portalContainsElement(ev.target)) {\n // If the event target is inside a portal do not process the event.\n return;\n }\n // eslint-disable-next-line deprecation/deprecation\n var _a = _this.props, direction = _a.direction, disabled = _a.disabled, isInnerZoneKeystroke = _a.isInnerZoneKeystroke, pagingSupportDisabled = _a.pagingSupportDisabled, shouldEnterInnerZone = _a.shouldEnterInnerZone;\n if (disabled) {\n return;\n }\n if (_this.props.onKeyDown) {\n _this.props.onKeyDown(ev);\n }\n // If the default has been prevented, do not process keyboard events.\n if (ev.isDefaultPrevented()) {\n return;\n }\n if (_this._getDocument().activeElement === _this._root.current && _this._isInnerZone) {\n // If this element has focus, it is being controlled by a parent.\n // Ignore the keystroke.\n return;\n }\n if (((shouldEnterInnerZone && shouldEnterInnerZone(ev)) || (isInnerZoneKeystroke && isInnerZoneKeystroke(ev))) &&\n _this._isImmediateDescendantOfZone(ev.target)) {\n // Try to focus\n var innerZone = _this._getFirstInnerZone();\n if (innerZone) {\n if (!innerZone.focus(true)) {\n return;\n }\n }\n else if (isElementFocusSubZone(ev.target)) {\n if (!_this.focusElement(getNextElement(ev.target, ev.target.firstChild, true))) {\n return;\n }\n }\n else {\n return;\n }\n }\n else if (ev.altKey) {\n return;\n }\n else {\n // eslint-disable-next-line @fluentui/deprecated-keyboard-event-props, deprecation/deprecation\n switch (ev.which) {\n case KeyCodes.space:\n if (_this._shouldRaiseClicksOnSpace && _this._tryInvokeClickForFocusable(ev.target, ev)) {\n break;\n }\n return;\n case KeyCodes.left:\n if (direction !== FocusZoneDirection.vertical) {\n _this._preventDefaultWhenHandled(ev);\n if (_this._moveFocusLeft(theme)) {\n break;\n }\n }\n return;\n case KeyCodes.right:\n if (direction !== FocusZoneDirection.vertical) {\n _this._preventDefaultWhenHandled(ev);\n if (_this._moveFocusRight(theme)) {\n break;\n }\n }\n return;\n case KeyCodes.up:\n if (direction !== FocusZoneDirection.horizontal) {\n _this._preventDefaultWhenHandled(ev);\n if (_this._moveFocusUp()) {\n break;\n }\n }\n return;\n case KeyCodes.down:\n if (direction !== FocusZoneDirection.horizontal) {\n _this._preventDefaultWhenHandled(ev);\n if (_this._moveFocusDown()) {\n break;\n }\n }\n return;\n case KeyCodes.pageDown:\n if (!pagingSupportDisabled && _this._moveFocusPaging(true)) {\n break;\n }\n return;\n case KeyCodes.pageUp:\n if (!pagingSupportDisabled && _this._moveFocusPaging(false)) {\n break;\n }\n return;\n case KeyCodes.tab:\n if (\n // eslint-disable-next-line deprecation/deprecation\n _this.props.allowTabKey ||\n _this.props.handleTabKey === FocusZoneTabbableElements.all ||\n (_this.props.handleTabKey === FocusZoneTabbableElements.inputOnly &&\n _this._isElementInput(ev.target))) {\n var focusChanged = false;\n _this._processingTabKey = true;\n if (direction === FocusZoneDirection.vertical ||\n !_this._shouldWrapFocus(_this._activeElement, NO_HORIZONTAL_WRAP)) {\n focusChanged = ev.shiftKey ? _this._moveFocusUp() : _this._moveFocusDown();\n }\n else {\n var tabWithDirection = getRTL(theme) ? !ev.shiftKey : ev.shiftKey;\n focusChanged = tabWithDirection ? _this._moveFocusLeft(theme) : _this._moveFocusRight(theme);\n }\n _this._processingTabKey = false;\n if (focusChanged) {\n break;\n }\n else if (_this.props.shouldResetActiveElementWhenTabFromZone) {\n _this._activeElement = null;\n }\n }\n return;\n case KeyCodes.home:\n if (_this._isContentEditableElement(ev.target) ||\n (_this._isElementInput(ev.target) &&\n !_this._shouldInputLoseFocus(ev.target, false))) {\n return false;\n }\n var firstChild = _this._root.current && _this._root.current.firstChild;\n if (_this._root.current &&\n firstChild &&\n _this.focusElement(getNextElement(_this._root.current, firstChild, true))) {\n break;\n }\n return;\n case KeyCodes.end:\n if (_this._isContentEditableElement(ev.target) ||\n (_this._isElementInput(ev.target) &&\n !_this._shouldInputLoseFocus(ev.target, true))) {\n return false;\n }\n var lastChild = _this._root.current && _this._root.current.lastChild;\n if (_this._root.current &&\n _this.focusElement(getPreviousElement(_this._root.current, lastChild, true, true, true))) {\n break;\n }\n return;\n case KeyCodes.enter:\n if (_this._shouldRaiseClicksOnEnter && _this._tryInvokeClickForFocusable(ev.target, ev)) {\n break;\n }\n return;\n default:\n return;\n }\n }\n ev.preventDefault();\n ev.stopPropagation();\n };\n _this._getHorizontalDistanceFromCenter = function (isForward, \n // eslint-disable-next-line deprecation/deprecation\n activeRect, \n // eslint-disable-next-line deprecation/deprecation\n targetRect) {\n // eslint-disable-next-line deprecation/deprecation\n var leftAlignment = _this._focusAlignment.left || _this._focusAlignment.x || 0;\n // ClientRect values can be floats that differ by very small fractions of a decimal.\n // If the difference between top and bottom are within a pixel then we should treat\n // them as equivalent by using Math.floor. For instance 5.2222 and 5.222221 should be equivalent,\n // but without Math.Floor they will be handled incorrectly.\n var targetRectTop = Math.floor(targetRect.top);\n var activeRectBottom = Math.floor(activeRect.bottom);\n var targetRectBottom = Math.floor(targetRect.bottom);\n var activeRectTop = Math.floor(activeRect.top);\n var isValidCandidateOnpagingDown = isForward && targetRectTop > activeRectBottom;\n var isValidCandidateOnpagingUp = !isForward && targetRectBottom < activeRectTop;\n if (isValidCandidateOnpagingDown || isValidCandidateOnpagingUp) {\n if (leftAlignment >= targetRect.left && leftAlignment <= targetRect.left + targetRect.width) {\n return 0;\n }\n return Math.abs(targetRect.left + targetRect.width / 2 - leftAlignment);\n }\n if (!_this._shouldWrapFocus(_this._activeElement, NO_VERTICAL_WRAP)) {\n return LARGE_NEGATIVE_DISTANCE_FROM_CENTER;\n }\n return LARGE_DISTANCE_FROM_CENTER;\n };\n // Manage componentRef resolution.\n initializeComponentRef(_this);\n if (process.env.NODE_ENV !== 'production') {\n warnDeprecations('FocusZone', props, {\n rootProps: undefined,\n allowTabKey: 'handleTabKey',\n elementType: 'as',\n ariaDescribedBy: 'aria-describedby',\n ariaLabelledBy: 'aria-labelledby',\n });\n }\n _this._id = getId('FocusZone');\n _this._focusAlignment = {\n left: 0,\n top: 0,\n };\n _this._processingTabKey = false;\n var shouldRaiseClicksFallback = (_b = (_a = props.shouldRaiseClicks) !== null && _a !== void 0 ? _a : FocusZone.defaultProps.shouldRaiseClicks) !== null && _b !== void 0 ? _b : true;\n _this._shouldRaiseClicksOnEnter = (_c = props.shouldRaiseClicksOnEnter) !== null && _c !== void 0 ? _c : shouldRaiseClicksFallback;\n _this._shouldRaiseClicksOnSpace = (_d = props.shouldRaiseClicksOnSpace) !== null && _d !== void 0 ? _d : shouldRaiseClicksFallback;\n return _this;\n }\n /** Used for testing purposes only. */\n FocusZone.getOuterZones = function () {\n return _outerZones.size;\n };\n /**\n * Handle global tab presses so that we can patch tabindexes on the fly.\n * HEADS UP: This must not be an arrow function in order to be referentially equal among instances\n * for ref counting to work correctly!\n */\n FocusZone._onKeyDownCapture = function (ev) {\n // eslint-disable-next-line deprecation/deprecation, @fluentui/deprecated-keyboard-event-props\n if (ev.which === KeyCodes.tab) {\n _outerZones.forEach(function (zone) { return zone._updateTabIndexes(); });\n }\n };\n FocusZone.prototype.componentDidMount = function () {\n var root = this._root.current;\n _allInstances[this._id] = this;\n if (root) {\n var parentElement = getParent(root, ALLOW_VIRTUAL_ELEMENTS);\n while (parentElement && parentElement !== this._getDocument().body && parentElement.nodeType === 1) {\n if (isElementFocusZone(parentElement)) {\n this._isInnerZone = true;\n break;\n }\n parentElement = getParent(parentElement, ALLOW_VIRTUAL_ELEMENTS);\n }\n if (!this._isInnerZone) {\n _outerZones.add(this);\n this._root.current && this._root.current.addEventListener('keydown', FocusZone._onKeyDownCapture, true);\n }\n this._root.current && this._root.current.addEventListener('blur', this._onBlur, true);\n // Assign initial tab indexes so that we can set initial focus as appropriate.\n this._updateTabIndexes();\n if (this.props.defaultTabbableElement && typeof this.props.defaultTabbableElement === 'string') {\n this._activeElement = this._getDocument().querySelector(this.props.defaultTabbableElement);\n // eslint-disable-next-line deprecation/deprecation\n }\n else if (this.props.defaultActiveElement) {\n // eslint-disable-next-line deprecation/deprecation\n this._activeElement = this._getDocument().querySelector(this.props.defaultActiveElement);\n }\n if (this.props.shouldFocusOnMount) {\n this.focus();\n }\n }\n };\n FocusZone.prototype.componentDidUpdate = function () {\n var root = this._root.current;\n var doc = this._getDocument();\n // If either _activeElement or _defaultFocusElement are no longer contained by _root,\n // reset those variables (and update tab indexes) to avoid memory leaks\n if ((this._activeElement && !elementContains(this._root.current, this._activeElement, ALLOW_VIRTUAL_ELEMENTS)) ||\n (this._defaultFocusElement &&\n !elementContains(this._root.current, this._defaultFocusElement, ALLOW_VIRTUAL_ELEMENTS))) {\n this._activeElement = null;\n this._defaultFocusElement = null;\n this._updateTabIndexes();\n }\n if (!this.props.preventFocusRestoration &&\n doc &&\n this._lastIndexPath &&\n (doc.activeElement === doc.body || doc.activeElement === null || doc.activeElement === root)) {\n // The element has been removed after the render, attempt to restore focus.\n var elementToFocus = getFocusableByIndexPath(root, this._lastIndexPath);\n if (elementToFocus) {\n this._setActiveElement(elementToFocus, true);\n elementToFocus.focus();\n this._setParkedFocus(false);\n }\n else {\n // We had a focus path to restore, but now that path is unresolvable. Park focus\n // on the container until we can try again.\n this._setParkedFocus(true);\n }\n }\n };\n FocusZone.prototype.componentWillUnmount = function () {\n delete _allInstances[this._id];\n if (!this._isInnerZone) {\n _outerZones.delete(this);\n this._root.current && this._root.current.removeEventListener('keydown', FocusZone._onKeyDownCapture, true);\n }\n if (this._root.current) {\n this._root.current.removeEventListener('blur', this._onBlur, true);\n }\n this._activeElement = null;\n this._defaultFocusElement = null;\n };\n FocusZone.prototype.render = function () {\n var _this = this;\n // eslint-disable-next-line deprecation/deprecation\n var _a = this.props, tag = _a.as, elementType = _a.elementType, rootProps = _a.rootProps, ariaDescribedBy = _a.ariaDescribedBy, ariaLabelledBy = _a.ariaLabelledBy, className = _a.className;\n var divProps = getNativeProps(this.props, htmlElementProperties);\n var Tag = tag || elementType || 'div';\n // Note, right before rendering/reconciling proceeds, we need to record if focus\n // was in the zone before the update. This helper will track this and, if focus\n // was actually in the zone, what the index path to the element is at this time.\n // Then, later in componentDidUpdate, we can evaluate if we need to restore it in\n // the case the element was removed.\n this._evaluateFocusBeforeRender();\n // Only support RTL defined in global theme, not contextual theme/RTL.\n var theme = getTheme();\n return (React.createElement(Tag, __assign({ \"aria-labelledby\": ariaLabelledBy, \"aria-describedby\": ariaDescribedBy }, divProps, rootProps, { \n // Once the getClassName correctly memoizes inputs this should\n // be replaced so that className is passed to getRootClass and is included there so\n // the class names will always be in the same order.\n className: css(getRootClass(), className), \n // eslint-disable-next-line deprecation/deprecation\n ref: this._mergedRef(this.props.elementRef, this._root), \"data-focuszone-id\": this._id, \n // eslint-disable-next-line react/jsx-no-bind\n onKeyDown: function (ev) { return _this._onKeyDown(ev, theme); }, onFocus: this._onFocus, onMouseDownCapture: this._onMouseDown }), this.props.children));\n };\n /**\n * Sets focus to the first tabbable item in the zone.\n * @param forceIntoFirstElement - If true, focus will be forced into the first element, even\n * if focus is already in the focus zone.\n * @param bypassHiddenElements - If true, focus will be not be set on hidden elements.\n * @returns True if focus could be set to an active element, false if no operation was taken.\n */\n FocusZone.prototype.focus = function (forceIntoFirstElement, bypassHiddenElements) {\n if (forceIntoFirstElement === void 0) { forceIntoFirstElement = false; }\n if (bypassHiddenElements === void 0) { bypassHiddenElements = false; }\n if (this._root.current) {\n if (!forceIntoFirstElement &&\n this._root.current.getAttribute(IS_FOCUSABLE_ATTRIBUTE) === 'true' &&\n this._isInnerZone) {\n var ownerZoneElement = this._getOwnerZone(this._root.current);\n if (ownerZoneElement !== this._root.current) {\n var ownerZone = _allInstances[ownerZoneElement.getAttribute(FOCUSZONE_ID_ATTRIBUTE)];\n return !!ownerZone && ownerZone.focusElement(this._root.current);\n }\n return false;\n }\n else if (!forceIntoFirstElement &&\n this._activeElement &&\n elementContains(this._root.current, this._activeElement) &&\n isElementTabbable(this._activeElement) &&\n (!bypassHiddenElements || isElementVisibleAndNotHidden(this._activeElement))) {\n this._activeElement.focus();\n return true;\n }\n else {\n var firstChild = this._root.current.firstChild;\n return this.focusElement(getNextElement(this._root.current, firstChild, true, undefined, undefined, undefined, undefined, undefined, bypassHiddenElements));\n }\n }\n return false;\n };\n /**\n * Sets focus to the last tabbable item in the zone.\n * @returns True if focus could be set to an active element, false if no operation was taken.\n */\n FocusZone.prototype.focusLast = function () {\n if (this._root.current) {\n var lastChild = this._root.current && this._root.current.lastChild;\n return this.focusElement(getPreviousElement(this._root.current, lastChild, true, true, true));\n }\n return false;\n };\n /**\n * Sets focus to a specific child element within the zone. This can be used in conjunction with\n * shouldReceiveFocus to create delayed focus scenarios (like animate the scroll position to the correct\n * location and then focus.)\n * @param element - The child element within the zone to focus.\n * @param forceAlignment - If true, focus alignment will be set according to the element provided.\n * @returns True if focus could be set to an active element, false if no operation was taken.\n */\n FocusZone.prototype.focusElement = function (element, forceAlignment) {\n // eslint-disable-next-line deprecation/deprecation\n var _a = this.props, onBeforeFocus = _a.onBeforeFocus, shouldReceiveFocus = _a.shouldReceiveFocus;\n if ((shouldReceiveFocus && !shouldReceiveFocus(element)) || (onBeforeFocus && !onBeforeFocus(element))) {\n return false;\n }\n if (element) {\n // when we set focus to a specific child, we should recalculate the alignment depending on its position.\n this._setActiveElement(element, forceAlignment);\n if (this._activeElement) {\n this._activeElement.focus();\n }\n return true;\n }\n return false;\n };\n /**\n * Forces horizontal alignment in the context of vertical arrowing to use specific point as the reference,\n * rather than a center based on the last horizontal motion.\n * @param point - the new reference point.\n */\n FocusZone.prototype.setFocusAlignment = function (point) {\n this._focusAlignment = point;\n };\n Object.defineProperty(FocusZone.prototype, \"defaultFocusElement\", {\n get: function () {\n return this._defaultFocusElement;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(FocusZone.prototype, \"activeElement\", {\n get: function () {\n return this._activeElement;\n },\n enumerable: false,\n configurable: true\n });\n FocusZone.prototype._evaluateFocusBeforeRender = function () {\n var root = this._root.current;\n var doc = this._getDocument();\n if (doc) {\n var focusedElement = doc.activeElement;\n // Only update the index path if we are not parked on the root.\n if (focusedElement !== root) {\n var shouldRestoreFocus = elementContains(root, focusedElement, false);\n this._lastIndexPath = shouldRestoreFocus ? getElementIndexPath(root, focusedElement) : undefined;\n }\n }\n };\n /**\n * When focus is in the zone at render time but then all focusable elements are removed,\n * we \"park\" focus temporarily on the root. Once we update with focusable children, we restore\n * focus to the closest path from previous. If the user tabs away from the parked container,\n * we restore focusability to the pre-parked state.\n */\n FocusZone.prototype._setParkedFocus = function (isParked) {\n var root = this._root.current;\n if (root && this._isParked !== isParked) {\n this._isParked = isParked;\n if (isParked) {\n if (!this.props.allowFocusRoot) {\n this._parkedTabIndex = root.getAttribute('tabindex');\n root.setAttribute('tabindex', '-1');\n }\n root.focus();\n }\n else if (!this.props.allowFocusRoot) {\n if (this._parkedTabIndex) {\n root.setAttribute('tabindex', this._parkedTabIndex);\n this._parkedTabIndex = undefined;\n }\n else {\n root.removeAttribute('tabindex');\n }\n }\n }\n };\n FocusZone.prototype._setActiveElement = function (element, forceAlignment) {\n var previousActiveElement = this._activeElement;\n this._activeElement = element;\n if (previousActiveElement) {\n if (isElementFocusZone(previousActiveElement)) {\n this._updateTabIndexes(previousActiveElement);\n }\n previousActiveElement.tabIndex = -1;\n }\n if (this._activeElement) {\n if (!this._focusAlignment || forceAlignment) {\n this._setFocusAlignment(element, true, true);\n }\n this._activeElement.tabIndex = 0;\n }\n };\n FocusZone.prototype._preventDefaultWhenHandled = function (ev) {\n this.props.preventDefaultWhenHandled && ev.preventDefault();\n };\n /**\n * Walk up the dom try to find a focusable element.\n */\n FocusZone.prototype._tryInvokeClickForFocusable = function (targetElement, ev) {\n var target = targetElement;\n if (target === this._root.current) {\n return false;\n }\n do {\n if (target.tagName === 'BUTTON' ||\n target.tagName === 'A' ||\n target.tagName === 'INPUT' ||\n target.tagName === 'TEXTAREA' ||\n target.tagName === 'SUMMARY') {\n return false;\n }\n if (this._isImmediateDescendantOfZone(target) &&\n target.getAttribute(IS_FOCUSABLE_ATTRIBUTE) === 'true' &&\n target.getAttribute(IS_ENTER_DISABLED_ATTRIBUTE) !== 'true') {\n raiseClickFromKeyboardEvent(target, ev);\n return true;\n }\n target = getParent(target, ALLOW_VIRTUAL_ELEMENTS);\n } while (target !== this._root.current);\n return false;\n };\n /**\n * Traverse to find first child zone.\n */\n FocusZone.prototype._getFirstInnerZone = function (rootElement) {\n rootElement = rootElement || this._activeElement || this._root.current;\n if (!rootElement) {\n return null;\n }\n if (isElementFocusZone(rootElement)) {\n return _allInstances[rootElement.getAttribute(FOCUSZONE_ID_ATTRIBUTE)];\n }\n var child = rootElement.firstElementChild;\n while (child) {\n if (isElementFocusZone(child)) {\n return _allInstances[child.getAttribute(FOCUSZONE_ID_ATTRIBUTE)];\n }\n var match = this._getFirstInnerZone(child);\n if (match) {\n return match;\n }\n child = child.nextElementSibling;\n }\n return null;\n };\n FocusZone.prototype._moveFocus = function (isForward, \n // eslint-disable-next-line deprecation/deprecation\n getDistanceFromCenter, ev, useDefaultWrap) {\n if (useDefaultWrap === void 0) { useDefaultWrap = true; }\n var element = this._activeElement;\n var candidateDistance = -1;\n var candidateElement = undefined;\n var changedFocus = false;\n var isBidirectional = this.props.direction === FocusZoneDirection.bidirectional;\n if (!element || !this._root.current) {\n return false;\n }\n if (this._isElementInput(element)) {\n if (!this._shouldInputLoseFocus(element, isForward)) {\n return false;\n }\n }\n var activeRect = isBidirectional ? element.getBoundingClientRect() : null;\n do {\n element = (isForward ? getNextElement(this._root.current, element) : getPreviousElement(this._root.current, element));\n if (isBidirectional) {\n if (element) {\n var targetRect = element.getBoundingClientRect();\n // eslint-disable-next-line deprecation/deprecation\n var elementDistance = getDistanceFromCenter(activeRect, targetRect);\n if (elementDistance === -1 && candidateDistance === -1) {\n candidateElement = element;\n break;\n }\n if (elementDistance > -1 && (candidateDistance === -1 || elementDistance < candidateDistance)) {\n candidateDistance = elementDistance;\n candidateElement = element;\n }\n if (candidateDistance >= 0 && elementDistance < 0) {\n break;\n }\n }\n }\n else {\n candidateElement = element;\n break;\n }\n } while (element);\n // Focus the closest candidate\n if (candidateElement && candidateElement !== this._activeElement) {\n changedFocus = true;\n this.focusElement(candidateElement);\n }\n else if (this.props.isCircularNavigation && useDefaultWrap) {\n if (isForward) {\n return this.focusElement(getNextElement(this._root.current, this._root.current.firstElementChild, true));\n }\n else {\n return this.focusElement(getPreviousElement(this._root.current, this._root.current.lastElementChild, true, true, true));\n }\n }\n return changedFocus;\n };\n FocusZone.prototype._moveFocusDown = function () {\n var _this = this;\n var targetTop = -1;\n // eslint-disable-next-line deprecation/deprecation\n var leftAlignment = this._focusAlignment.left || this._focusAlignment.x || 0;\n if (\n // eslint-disable-next-line deprecation/deprecation\n this._moveFocus(true, function (activeRect, targetRect) {\n var distance = -1;\n // ClientRect values can be floats that differ by very small fractions of a decimal.\n // If the difference between top and bottom are within a pixel then we should treat\n // them as equivalent by using Math.floor. For instance 5.2222 and 5.222221 should be equivalent,\n // but without Math.Floor they will be handled incorrectly.\n var targetRectTop = Math.floor(targetRect.top);\n var activeRectBottom = Math.floor(activeRect.bottom);\n if (targetRectTop < activeRectBottom) {\n if (!_this._shouldWrapFocus(_this._activeElement, NO_VERTICAL_WRAP)) {\n return LARGE_NEGATIVE_DISTANCE_FROM_CENTER;\n }\n return LARGE_DISTANCE_FROM_CENTER;\n }\n if ((targetTop === -1 && targetRectTop >= activeRectBottom) || targetRectTop === targetTop) {\n targetTop = targetRectTop;\n if (leftAlignment >= targetRect.left && leftAlignment <= targetRect.left + targetRect.width) {\n distance = 0;\n }\n else {\n distance = Math.abs(targetRect.left + targetRect.width / 2 - leftAlignment);\n }\n }\n return distance;\n })) {\n this._setFocusAlignment(this._activeElement, false, true);\n return true;\n }\n return false;\n };\n FocusZone.prototype._moveFocusUp = function () {\n var _this = this;\n var targetTop = -1;\n // eslint-disable-next-line deprecation/deprecation\n var leftAlignment = this._focusAlignment.left || this._focusAlignment.x || 0;\n if (\n // eslint-disable-next-line deprecation/deprecation\n this._moveFocus(false, function (activeRect, targetRect) {\n var distance = -1;\n // ClientRect values can be floats that differ by very small fractions of a decimal.\n // If the difference between top and bottom are within a pixel then we should treat\n // them as equivalent by using Math.floor. For instance 5.2222 and 5.222221 should be equivalent,\n // but without Math.Floor they will be handled incorrectly.\n var targetRectBottom = Math.floor(targetRect.bottom);\n var targetRectTop = Math.floor(targetRect.top);\n var activeRectTop = Math.floor(activeRect.top);\n if (targetRectBottom > activeRectTop) {\n if (!_this._shouldWrapFocus(_this._activeElement, NO_VERTICAL_WRAP)) {\n return LARGE_NEGATIVE_DISTANCE_FROM_CENTER;\n }\n return LARGE_DISTANCE_FROM_CENTER;\n }\n if ((targetTop === -1 && targetRectBottom <= activeRectTop) || targetRectTop === targetTop) {\n targetTop = targetRectTop;\n if (leftAlignment >= targetRect.left && leftAlignment <= targetRect.left + targetRect.width) {\n distance = 0;\n }\n else {\n distance = Math.abs(targetRect.left + targetRect.width / 2 - leftAlignment);\n }\n }\n return distance;\n })) {\n this._setFocusAlignment(this._activeElement, false, true);\n return true;\n }\n return false;\n };\n FocusZone.prototype._moveFocusLeft = function (theme) {\n var _this = this;\n var shouldWrap = this._shouldWrapFocus(this._activeElement, NO_HORIZONTAL_WRAP);\n if (this._moveFocus(getRTL(theme), \n // eslint-disable-next-line deprecation/deprecation\n function (activeRect, targetRect) {\n var distance = -1;\n var topBottomComparison;\n if (getRTL(theme)) {\n // When in RTL, this comparison should be the same as the one in _moveFocusRight for LTR.\n // Going left at a leftmost rectangle will go down a line instead of up a line like in LTR.\n // This is important, because we want to be comparing the top of the target rect\n // with the bottom of the active rect.\n topBottomComparison = parseFloat(targetRect.top.toFixed(3)) < parseFloat(activeRect.bottom.toFixed(3));\n }\n else {\n topBottomComparison = parseFloat(targetRect.bottom.toFixed(3)) > parseFloat(activeRect.top.toFixed(3));\n }\n if (topBottomComparison &&\n targetRect.right <= activeRect.right &&\n _this.props.direction !== FocusZoneDirection.vertical) {\n distance = activeRect.right - targetRect.right;\n }\n else if (!shouldWrap) {\n distance = LARGE_NEGATIVE_DISTANCE_FROM_CENTER;\n }\n return distance;\n }, undefined /*ev*/, shouldWrap)) {\n this._setFocusAlignment(this._activeElement, true, false);\n return true;\n }\n return false;\n };\n FocusZone.prototype._moveFocusRight = function (theme) {\n var _this = this;\n var shouldWrap = this._shouldWrapFocus(this._activeElement, NO_HORIZONTAL_WRAP);\n if (this._moveFocus(!getRTL(theme), \n // eslint-disable-next-line deprecation/deprecation\n function (activeRect, targetRect) {\n var distance = -1;\n var topBottomComparison;\n if (getRTL(theme)) {\n // When in RTL, this comparison should be the same as the one in _moveFocusLeft for LTR.\n // Going right at a rightmost rectangle will go up a line instead of down a line like in LTR.\n // This is important, because we want to be comparing the bottom of the target rect\n // with the top of the active rect.\n topBottomComparison = parseFloat(targetRect.bottom.toFixed(3)) > parseFloat(activeRect.top.toFixed(3));\n }\n else {\n topBottomComparison = parseFloat(targetRect.top.toFixed(3)) < parseFloat(activeRect.bottom.toFixed(3));\n }\n if (topBottomComparison &&\n targetRect.left >= activeRect.left &&\n _this.props.direction !== FocusZoneDirection.vertical) {\n distance = targetRect.left - activeRect.left;\n }\n else if (!shouldWrap) {\n distance = LARGE_NEGATIVE_DISTANCE_FROM_CENTER;\n }\n return distance;\n }, undefined /*ev*/, shouldWrap)) {\n this._setFocusAlignment(this._activeElement, true, false);\n return true;\n }\n return false;\n };\n FocusZone.prototype._moveFocusPaging = function (isForward, useDefaultWrap) {\n if (useDefaultWrap === void 0) { useDefaultWrap = true; }\n var element = this._activeElement;\n if (!element || !this._root.current) {\n return false;\n }\n if (this._isElementInput(element)) {\n if (!this._shouldInputLoseFocus(element, isForward)) {\n return false;\n }\n }\n var scrollableParent = findScrollableParent(element);\n if (!scrollableParent) {\n return false;\n }\n var candidateDistance = -1;\n var candidateElement = undefined;\n var targetTop = -1;\n var targetBottom = -1;\n var pagesize = scrollableParent.clientHeight;\n var activeRect = element.getBoundingClientRect();\n do {\n element = isForward\n ? getNextElement(this._root.current, element)\n : getPreviousElement(this._root.current, element);\n if (element) {\n var targetRect = element.getBoundingClientRect();\n var targetRectTop = Math.floor(targetRect.top);\n var activeRectBottom = Math.floor(activeRect.bottom);\n var targetRectBottom = Math.floor(targetRect.bottom);\n var activeRectTop = Math.floor(activeRect.top);\n var elementDistance = this._getHorizontalDistanceFromCenter(isForward, activeRect, targetRect);\n var isElementPassedPageSizeOnPagingDown = isForward && targetRectTop > activeRectBottom + pagesize;\n var isElementPassedPageSizeOnPagingUp = !isForward && targetRectBottom < activeRectTop - pagesize;\n if (isElementPassedPageSizeOnPagingDown || isElementPassedPageSizeOnPagingUp) {\n break;\n }\n if (elementDistance > -1) {\n // for paging down\n if (isForward && targetRectTop > targetTop) {\n targetTop = targetRectTop;\n candidateDistance = elementDistance;\n candidateElement = element;\n }\n else if (!isForward && targetRectBottom < targetBottom) {\n // for paging up\n targetBottom = targetRectBottom;\n candidateDistance = elementDistance;\n candidateElement = element;\n }\n else if (candidateDistance === -1 || elementDistance <= candidateDistance) {\n candidateDistance = elementDistance;\n candidateElement = element;\n }\n }\n }\n } while (element);\n var changedFocus = false;\n // Focus the closest candidate\n if (candidateElement && candidateElement !== this._activeElement) {\n changedFocus = true;\n this.focusElement(candidateElement);\n this._setFocusAlignment(candidateElement, false, true);\n }\n else if (this.props.isCircularNavigation && useDefaultWrap) {\n if (isForward) {\n return this.focusElement(getNextElement(this._root.current, this._root.current.firstElementChild, true));\n }\n return this.focusElement(getPreviousElement(this._root.current, this._root.current.lastElementChild, true, true, true));\n }\n return changedFocus;\n };\n FocusZone.prototype._setFocusAlignment = function (element, isHorizontal, isVertical) {\n if (this.props.direction === FocusZoneDirection.bidirectional &&\n (!this._focusAlignment || isHorizontal || isVertical)) {\n var rect = element.getBoundingClientRect();\n var left = rect.left + rect.width / 2;\n var top_1 = rect.top + rect.height / 2;\n if (!this._focusAlignment) {\n this._focusAlignment = { left: left, top: top_1 };\n }\n if (isHorizontal) {\n this._focusAlignment.left = left;\n }\n if (isVertical) {\n this._focusAlignment.top = top_1;\n }\n }\n };\n FocusZone.prototype._isImmediateDescendantOfZone = function (element) {\n return this._getOwnerZone(element) === this._root.current;\n };\n FocusZone.prototype._getOwnerZone = function (element) {\n var parentElement = getParent(element, ALLOW_VIRTUAL_ELEMENTS);\n while (parentElement && parentElement !== this._root.current && parentElement !== this._getDocument().body) {\n if (isElementFocusZone(parentElement)) {\n return parentElement;\n }\n parentElement = getParent(parentElement, ALLOW_VIRTUAL_ELEMENTS);\n }\n return parentElement;\n };\n FocusZone.prototype._updateTabIndexes = function (element) {\n if (!this._activeElement &&\n this.props.defaultTabbableElement &&\n typeof this.props.defaultTabbableElement === 'function') {\n this._activeElement = this.props.defaultTabbableElement(this._root.current);\n }\n if (!element && this._root.current) {\n this._defaultFocusElement = null;\n element = this._root.current;\n if (this._activeElement && !elementContains(element, this._activeElement)) {\n this._activeElement = null;\n }\n }\n // If active element changes state to disabled, set it to null.\n // Otherwise, we lose keyboard accessibility to other elements in focus zone.\n if (this._activeElement && !isElementTabbable(this._activeElement)) {\n this._activeElement = null;\n }\n var childNodes = element && element.children;\n for (var childIndex = 0; childNodes && childIndex < childNodes.length; childIndex++) {\n var child = childNodes[childIndex];\n if (!isElementFocusZone(child)) {\n // If the item is explicitly set to not be focusable then TABINDEX needs to be set to -1.\n if (child.getAttribute && child.getAttribute(IS_FOCUSABLE_ATTRIBUTE) === 'false') {\n child.setAttribute(TABINDEX, '-1');\n }\n if (isElementTabbable(child)) {\n if (this.props.disabled) {\n child.setAttribute(TABINDEX, '-1');\n }\n else if (!this._isInnerZone &&\n ((!this._activeElement && !this._defaultFocusElement) || this._activeElement === child)) {\n this._defaultFocusElement = child;\n if (child.getAttribute(TABINDEX) !== '0') {\n child.setAttribute(TABINDEX, '0');\n }\n }\n else if (child.getAttribute(TABINDEX) !== '-1') {\n child.setAttribute(TABINDEX, '-1');\n }\n }\n else if (child.tagName === 'svg' && child.getAttribute('focusable') !== 'false') {\n // Disgusting IE hack. Sad face.\n child.setAttribute('focusable', 'false');\n }\n }\n else if (child.getAttribute(IS_FOCUSABLE_ATTRIBUTE) === 'true') {\n if (!this._isInnerZone &&\n ((!this._activeElement && !this._defaultFocusElement) || this._activeElement === child)) {\n this._defaultFocusElement = child;\n if (child.getAttribute(TABINDEX) !== '0') {\n child.setAttribute(TABINDEX, '0');\n }\n }\n else if (child.getAttribute(TABINDEX) !== '-1') {\n child.setAttribute(TABINDEX, '-1');\n }\n }\n this._updateTabIndexes(child);\n }\n };\n FocusZone.prototype._isContentEditableElement = function (element) {\n return element && element.getAttribute('contenteditable') === 'true';\n };\n FocusZone.prototype._isElementInput = function (element) {\n if (element &&\n element.tagName &&\n (element.tagName.toLowerCase() === 'input' || element.tagName.toLowerCase() === 'textarea')) {\n return true;\n }\n return false;\n };\n FocusZone.prototype._shouldInputLoseFocus = function (element, isForward) {\n // If a tab was used, we want to focus on the next element.\n if (!this._processingTabKey &&\n element &&\n element.type &&\n ALLOWED_INPUT_TYPES.indexOf(element.type.toLowerCase()) > -1) {\n var selectionStart = element.selectionStart;\n var selectionEnd = element.selectionEnd;\n var isRangeSelected = selectionStart !== selectionEnd;\n var inputValue = element.value;\n var isReadonly = element.readOnly;\n // We shouldn't lose focus in the following cases:\n // 1. There is range selected.\n // 2. When selection start is larger than 0 and it is backward and not readOnly.\n // 3. when selection start is not the end of length, it is forward and not readOnly.\n // 4. We press any of the arrow keys when our handleTabKey isn't none or undefined (only losing focus if we hit\n // tab) and if shouldInputLoseFocusOnArrowKey is defined, if scenario prefers to not loose the focus which is\n // determined by calling the callback shouldInputLoseFocusOnArrowKey\n if (isRangeSelected ||\n (selectionStart > 0 && !isForward && !isReadonly) ||\n (selectionStart !== inputValue.length && isForward && !isReadonly) ||\n (!!this.props.handleTabKey &&\n !(this.props.shouldInputLoseFocusOnArrowKey && this.props.shouldInputLoseFocusOnArrowKey(element)))) {\n return false;\n }\n }\n return true;\n };\n FocusZone.prototype._shouldWrapFocus = function (element, noWrapDataAttribute) {\n return this.props.checkForNoWrap ? shouldWrapFocus(element, noWrapDataAttribute) : true;\n };\n /**\n * Returns true if the element is a descendant of the FocusZone through a React portal.\n */\n FocusZone.prototype._portalContainsElement = function (element) {\n return element && !!this._root.current && portalContainsElement(element, this._root.current);\n };\n FocusZone.prototype._getDocument = function () {\n return getDocument(this._root.current);\n };\n FocusZone.defaultProps = {\n isCircularNavigation: false,\n direction: FocusZoneDirection.bidirectional,\n shouldRaiseClicks: true,\n };\n return FocusZone;\n}(React.Component));\nexport { FocusZone };\n//# sourceMappingURL=FocusZone.js.map","/**\n * {@docCategory FocusZone}\n */\nexport var FocusZoneTabbableElements = {\n /** Tabbing is not allowed */\n none: 0,\n /** All tabbing action is allowed */\n all: 1,\n /** Tabbing is allowed only on input elements */\n inputOnly: 2,\n};\n/**\n * {@docCategory FocusZone}\n */\nexport var FocusZoneDirection;\n(function (FocusZoneDirection) {\n /** Only react to up/down arrows. */\n FocusZoneDirection[FocusZoneDirection[\"vertical\"] = 0] = \"vertical\";\n /** Only react to left/right arrows. */\n FocusZoneDirection[FocusZoneDirection[\"horizontal\"] = 1] = \"horizontal\";\n /** React to all arrows. */\n FocusZoneDirection[FocusZoneDirection[\"bidirectional\"] = 2] = \"bidirectional\";\n /**\n * React to all arrows. Navigate next item in DOM on right/down arrow keys and previous - left/up arrow keys.\n * Right and Left arrow keys are swapped in RTL mode.\n */\n FocusZoneDirection[FocusZoneDirection[\"domOrder\"] = 3] = \"domOrder\";\n})(FocusZoneDirection || (FocusZoneDirection = {}));\n//# sourceMappingURL=FocusZone.types.js.map","import { Async } from '@fluentui/utilities';\nimport * as React from 'react';\n/**\n * Hook to provide an Async instance that is automatically cleaned up on dismount.\n */\nexport function useAsync() {\n var asyncRef = React.useRef();\n if (!asyncRef.current) {\n asyncRef.current = new Async();\n }\n React.useEffect(function () {\n return function () {\n var _a;\n (_a = asyncRef.current) === null || _a === void 0 ? void 0 : _a.dispose();\n asyncRef.current = undefined;\n };\n }, []);\n return asyncRef.current;\n}\n//# sourceMappingURL=useAsync.js.map","import * as React from 'react';\nimport { useConst } from './useConst';\n/**\n * Hook to store a value and generate callbacks for setting the value to true or false.\n * The identity of the callbacks will always stay the same.\n *\n * @param initialState - Initial value\n * @returns Array with the current value and an object containing the updater callbacks.\n */\nexport function useBoolean(initialState) {\n var _a = React.useState(initialState), value = _a[0], setValue = _a[1];\n var setTrue = useConst(function () { return function () {\n setValue(true);\n }; });\n var setFalse = useConst(function () { return function () {\n setValue(false);\n }; });\n var toggle = useConst(function () { return function () {\n setValue(function (currentValue) { return !currentValue; });\n }; });\n return [value, { setTrue: setTrue, setFalse: setFalse, toggle: toggle }];\n}\n//# sourceMappingURL=useBoolean.js.map","import * as React from 'react';\n/**\n * Hook to initialize and return a constant value. Unlike `React.useMemo`, this is guaranteed to\n * always return the same value (and if the initializer is a function, only call it once).\n * This is similar to setting a private member in a class constructor.\n *\n * If the value should ever change based on dependencies, use `React.useMemo` instead.\n *\n * @param initialValue - Initial value, or function to get the initial value. Similar to `useState`,\n * only the value/function passed in the first time this is called is respected.\n * @returns The value. The identity of this value will always be the same.\n */\nexport function useConst(initialValue) {\n // Use useRef to store the value because it's the least expensive built-in hook that works here\n // (we could also use `const [value] = React.useState(initialValue)` but that's more expensive\n // internally due to reducer handling which we don't need)\n var ref = React.useRef();\n if (ref.current === undefined) {\n // Box the value in an object so we can tell if it's initialized even if the initializer\n // returns/is undefined\n ref.current = {\n value: typeof initialValue === 'function' ? initialValue() : initialValue,\n };\n }\n return ref.current.value;\n}\n//# sourceMappingURL=useConst.js.map","import * as React from 'react';\nimport { useConst } from './useConst';\nexport function useControllableValue(controlledValue, defaultUncontrolledValue, onChange) {\n var _a = React.useState(defaultUncontrolledValue), value = _a[0], setValue = _a[1];\n var isControlled = useConst(controlledValue !== undefined);\n var currentValue = isControlled ? controlledValue : value;\n // Duplicate the current value and onChange in refs so they're accessible from\n // setValueOrCallOnChange without creating a new callback every time\n var valueRef = React.useRef(currentValue);\n var onChangeRef = React.useRef(onChange);\n React.useEffect(function () {\n valueRef.current = currentValue;\n onChangeRef.current = onChange;\n });\n // To match the behavior of the setter returned by React.useState, this callback's identity\n // should never change. This means it MUST NOT directly reference variables that can change.\n var setValueOrCallOnChange = useConst(function () { return function (update, ev) {\n // Assuming here that TValue is not a function, because a controllable value will typically\n // be something a user can enter as input\n var newValue = typeof update === 'function' ? update(valueRef.current) : update;\n if (onChangeRef.current) {\n onChangeRef.current(ev, newValue);\n }\n if (!isControlled) {\n setValue(newValue);\n }\n }; });\n return [currentValue, setValueOrCallOnChange];\n}\n//# sourceMappingURL=useControllableValue.js.map","import * as React from 'react';\nimport { getId } from '@fluentui/utilities';\n/**\n * Hook to generate a unique ID in the global scope (spanning across duplicate copies of the same library).\n *\n * @param prefix - Optional prefix for the ID\n * @param providedId - Optional id provided by a parent component. Defaults to the provided value if present,\n * without conditioning the hook call\n * @returns The ID\n */\nexport function useId(prefix, providedId) {\n // getId should only be called once since it updates the global constant for the next ID value.\n // (While an extra update isn't likely to cause problems in practice, it's better to avoid it.)\n var ref = React.useRef(providedId);\n if (!ref.current) {\n ref.current = getId(prefix);\n }\n return ref.current;\n}\n//# sourceMappingURL=useId.js.map","import { __spreadArray } from \"tslib\";\nimport * as React from 'react';\n/**\n * React hook to merge multiple React refs (either MutableRefObjects or ref callbacks) into a single ref callback that\n * updates all provided refs\n * @param refs - Refs to collectively update with one ref value.\n * @returns A function with an attached \"current\" prop, so that it can be treated like a RefObject.\n */\nexport function useMergedRefs() {\n var refs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n refs[_i] = arguments[_i];\n }\n var mergedCallback = React.useCallback(function (value) {\n // Update the \"current\" prop hanging on the function.\n mergedCallback.current = value;\n for (var _i = 0, refs_1 = refs; _i < refs_1.length; _i++) {\n var ref = refs_1[_i];\n if (typeof ref === 'function') {\n ref(value);\n }\n else if (ref) {\n // work around the immutability of the React.Ref type\n ref.current = value;\n }\n }\n }, __spreadArray([], refs, true));\n return mergedCallback;\n}\n//# sourceMappingURL=useMergedRefs.js.map","import { on } from '@fluentui/utilities';\nimport * as React from 'react';\n/**\n * Hook to attach an event handler on mount and handle cleanup.\n * @param element - Element (or ref to an element) to attach the event handler to\n * @param eventName - The event to attach a handler for\n * @param callback - The handler for the event\n * @param useCapture - Whether or not to attach the handler for the capture phase\n */\nexport function useOnEvent(element, eventName, callback, useCapture) {\n // Use a ref for the callback to prevent repeatedly attaching/unattaching callbacks that are unstable across renders\n var callbackRef = React.useRef(callback);\n callbackRef.current = callback;\n React.useEffect(function () {\n var actualElement = element && 'current' in element ? element.current : element;\n if (!actualElement) {\n return;\n }\n var dispose = on(actualElement, eventName, function (ev) { return callbackRef.current(ev); }, useCapture);\n return dispose;\n }, [element, eventName, useCapture]);\n}\n//# sourceMappingURL=useOnEvent.js.map","import { useRef, useEffect } from 'react';\n/**\n * Hook keeping track of a given value from a previous execution of the component the Hook is used in.\n *\n * See [React Hooks FAQ](https://reactjs.org/docs/hooks-faq.html#how-to-get-the-previous-props-or-state)\n */\nexport function usePrevious(value) {\n var ref = useRef();\n useEffect(function () {\n ref.current = value;\n });\n return ref.current;\n}\n//# sourceMappingURL=usePrevious.js.map","import * as React from 'react';\nimport { useConst } from './useConst';\n/**\n * Returns a wrapper function for `setTimeout` which automatically handles disposal.\n */\nexport var useSetTimeout = function () {\n var timeoutIds = useConst({});\n // Cleanup function.\n React.useEffect(function () { return function () {\n for (var _i = 0, _a = Object.keys(timeoutIds); _i < _a.length; _i++) {\n var id = _a[_i];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n clearTimeout(id);\n }\n }; }, \n // useConst ensures this will never change, but react-hooks/exhaustive-deps doesn't know that\n [timeoutIds]);\n // Return wrapper which will auto cleanup.\n return useConst({\n setTimeout: function (func, duration) {\n var id = setTimeout(func, duration);\n timeoutIds[id] = 1;\n return id;\n },\n clearTimeout: function (id) {\n delete timeoutIds[id];\n clearTimeout(id);\n },\n });\n};\n//# sourceMappingURL=useSetTimeout.js.map","import { getDocument } from '@fluentui/utilities';\nimport * as React from 'react';\nimport { useWindow } from '@fluentui/react-window-provider';\n/**\n * Hook to calculate and cache the target element specified by the given target attribute,\n * as well as the target element's (or host element's) parent window\n * @param target- Target selector passed to the component as a property, describing the element that\n * the callout should target\n * @param hostElement- The callout's host element, used for determining the parent window.\n */\nexport function useTarget(target, hostElement) {\n var previousTargetProp = React.useRef();\n var targetRef = React.useRef(null);\n /**\n * Stores an instance of Window, used to check\n * for server side rendering and if focus was lost.\n */\n var targetWindow = useWindow();\n // If the target element changed, find the new one. If we are tracking\n // target with class name, always find element because we do not know if\n // fabric has rendered a new element and disposed the old element.\n if (!target || target !== previousTargetProp.current || typeof target === 'string') {\n var currentElement = hostElement === null || hostElement === void 0 ? void 0 : hostElement.current;\n if (target) {\n if (typeof target === 'string') {\n var currentDoc = getDocument(currentElement);\n targetRef.current = currentDoc ? currentDoc.querySelector(target) : null;\n }\n else if ('stopPropagation' in target) {\n targetRef.current = target;\n }\n else if ('getBoundingClientRect' in target) {\n targetRef.current = target;\n }\n else if ('current' in target) {\n targetRef.current = target.current;\n }\n else {\n targetRef.current = target;\n }\n }\n previousTargetProp.current = target;\n }\n return [targetRef, targetWindow];\n}\n//# sourceMappingURL=useTarget.js.map","import * as React from 'react';\n/**\n * Hook which synchronously executes a callback when the component is about to unmount.\n *\n * @param callback - Function to call during unmount.\n */\nexport var useUnmount = function (callback) {\n var unmountRef = React.useRef(callback);\n unmountRef.current = callback;\n React.useEffect(function () { return function () {\n var _a;\n (_a = unmountRef.current) === null || _a === void 0 ? void 0 : _a.call(unmountRef);\n }; }, []);\n};\n//# sourceMappingURL=useUnmount.js.map","import * as React from 'react';\n/**\n * Context for providing the window.\n */\n// eslint-disable-next-line @fluentui/no-context-default-value\nexport var WindowContext = React.createContext({\n window: typeof window === 'object' ? window : undefined,\n});\n/**\n * Hook to access the window object. This can be overridden contextually using the `WindowProvider`.\n */\nexport var useWindow = function () { return React.useContext(WindowContext).window; };\n/**\n * Hook to access the document object. This can be overridden contextually using the `WindowProvider`.\n */\nexport var useDocument = function () { var _a; return (_a = React.useContext(WindowContext).window) === null || _a === void 0 ? void 0 : _a.document; };\n/**\n * Component to provide the window object contextually. This is useful when rendering content to an element\n * contained within a child window or iframe element, where event handlers and styling must be projected\n * to an alternative window or document.\n */\nexport var WindowProvider = function (props) {\n return React.createElement(WindowContext.Provider, { value: props }, props.children);\n};\n//# sourceMappingURL=WindowProvider.js.map","export var DirectionalHint = {\n /**\n * Appear above the target element, with the left edges of the callout and target aligning.\n */\n topLeftEdge: 0,\n /**\n * Appear above the target element, with the centers of the callout and target aligning.\n */\n topCenter: 1,\n /**\n * Appear above the target element, with the right edges of the callout and target aligning.\n */\n topRightEdge: 2,\n /**\n * Appear above the target element, aligning with the target element such that the callout tends toward\n * the center of the screen.\n */\n topAutoEdge: 3,\n /**\n * Appear below the target element, with the left edges of the callout and target aligning.\n */\n bottomLeftEdge: 4,\n /**\n * Appear below the target element, with the centers of the callout and target aligning.\n */\n bottomCenter: 5,\n /**\n * Appear below the target element, with the right edges of the callout and target aligning.\n */\n bottomRightEdge: 6,\n /**\n * Appear below the target element, aligning with the target element such that the callout tends toward\n * the center of the screen.\n */\n bottomAutoEdge: 7,\n /**\n * Appear to the left of the target element, with the top edges of the callout and target aligning.\n */\n leftTopEdge: 8,\n /**\n * Appear to the left of the target element, with the centers of the callout and target aligning.\n */\n leftCenter: 9,\n /**\n * Appear to the left of the target element, with the bottom edges of the callout and target aligning.\n */\n leftBottomEdge: 10,\n /**\n * Appear to the right of the target element, with the top edges of the callout and target aligning.\n */\n rightTopEdge: 11,\n /**\n * Appear to the right of the target element, with the centers of the callout and target aligning.\n */\n rightCenter: 12,\n /**\n * Appear to the right of the target element, with the bottom edges of the callout and target aligning.\n */\n rightBottomEdge: 13,\n};\n//# sourceMappingURL=DirectionalHint.js.map","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { DelayedRender, classNamesFunction, getNativeProps, divProperties } from '../../Utilities';\nvar getClassNames = classNamesFunction();\n/**\n * {@docCategory Announced}\n */\nvar AnnouncedBase = /** @class */ (function (_super) {\n __extends(AnnouncedBase, _super);\n function AnnouncedBase() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n AnnouncedBase.prototype.render = function () {\n var _a = this.props, message = _a.message, styles = _a.styles, _b = _a.as, Root = _b === void 0 ? 'div' : _b, className = _a.className;\n var classNames = getClassNames(styles, { className: className });\n return (React.createElement(Root, __assign({ role: \"status\", className: classNames.root }, getNativeProps(this.props, divProperties, ['className'])),\n React.createElement(DelayedRender, null,\n React.createElement(\"div\", { className: classNames.screenReaderText }, message))));\n };\n AnnouncedBase.defaultProps = {\n 'aria-live': 'polite',\n };\n return AnnouncedBase;\n}(React.Component));\nexport { AnnouncedBase };\n//# sourceMappingURL=Announced.base.js.map","import { styled } from '../../Utilities';\nimport { AnnouncedBase } from './Announced.base';\nimport { getStyles } from './Announced.styles';\nexport var Announced = styled(AnnouncedBase, getStyles);\n//# sourceMappingURL=Announced.js.map","import { hiddenContentStyle } from '../../Styling';\nexport var getStyles = function (props) {\n return {\n root: props.className,\n screenReaderText: hiddenContentStyle,\n };\n};\n//# sourceMappingURL=Announced.styles.js.map","import { concatStyleSets, HighContrastSelector } from '../../../Styling';\nimport { memoizeFunction } from '../../../Utilities';\nimport { getStyles as getBaseButtonStyles } from '../BaseButton.styles';\nvar DEFAULT_BUTTON_HEIGHT = '40px';\nvar DEFAULT_PADDING = '0 4px';\nexport var getStyles = memoizeFunction(function (theme, customStyles) {\n var _a, _b, _c;\n var baseButtonStyles = getBaseButtonStyles(theme);\n var actionButtonStyles = {\n root: {\n padding: DEFAULT_PADDING,\n height: DEFAULT_BUTTON_HEIGHT,\n color: theme.palette.neutralPrimary,\n backgroundColor: 'transparent',\n border: '1px solid transparent',\n selectors: (_a = {},\n _a[HighContrastSelector] = {\n borderColor: 'Window',\n },\n _a),\n },\n rootHovered: {\n color: theme.palette.themePrimary,\n selectors: (_b = {},\n _b[HighContrastSelector] = {\n color: 'Highlight',\n },\n _b),\n },\n iconHovered: {\n color: theme.palette.themePrimary,\n },\n rootPressed: {\n color: theme.palette.black,\n },\n rootExpanded: {\n color: theme.palette.themePrimary,\n },\n iconPressed: {\n color: theme.palette.themeDarker,\n },\n rootDisabled: {\n color: theme.palette.neutralTertiary,\n backgroundColor: 'transparent',\n borderColor: 'transparent',\n selectors: (_c = {},\n _c[HighContrastSelector] = {\n color: 'GrayText',\n },\n _c),\n },\n rootChecked: {\n color: theme.palette.black,\n },\n iconChecked: {\n color: theme.palette.themeDarker,\n },\n flexContainer: {\n justifyContent: 'flex-start',\n },\n icon: {\n color: theme.palette.themeDarkAlt,\n },\n iconDisabled: {\n color: 'inherit',\n },\n menuIcon: {\n color: theme.palette.neutralSecondary,\n },\n textContainer: {\n flexGrow: 0,\n },\n };\n return concatStyleSets(baseButtonStyles, actionButtonStyles, customStyles);\n});\n//# sourceMappingURL=ActionButton.styles.js.map","import { __assign, __decorate, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { BaseButton } from '../BaseButton';\nimport { customizable, nullRender } from '../../../Utilities';\nimport { getStyles } from './ActionButton.styles';\n/**\n * {@docCategory Button}\n */\nvar ActionButton = /** @class */ (function (_super) {\n __extends(ActionButton, _super);\n function ActionButton() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ActionButton.prototype.render = function () {\n var _a = this.props, styles = _a.styles, theme = _a.theme;\n return (React.createElement(BaseButton, __assign({}, this.props, { variantClassName: \"ms-Button--action ms-Button--command\", styles: getStyles(theme, styles), onRenderDescription: nullRender })));\n };\n ActionButton = __decorate([\n customizable('ActionButton', ['theme', 'styles'], true)\n ], ActionButton);\n return ActionButton;\n}(React.Component));\nexport { ActionButton };\n//# sourceMappingURL=ActionButton.js.map","import { memoizeFunction } from '../../Utilities';\nimport { getGlobalClassNames, mergeStyleSets } from '../../Styling';\nexport var ButtonGlobalClassNames = {\n msButton: 'ms-Button',\n msButtonHasMenu: 'ms-Button--hasMenu',\n msButtonIcon: 'ms-Button-icon',\n msButtonMenuIcon: 'ms-Button-menuIcon',\n msButtonLabel: 'ms-Button-label',\n msButtonDescription: 'ms-Button-description',\n msButtonScreenReaderText: 'ms-Button-screenReaderText',\n msButtonFlexContainer: 'ms-Button-flexContainer',\n msButtonTextContainer: 'ms-Button-textContainer',\n};\nexport var getBaseButtonClassNames = memoizeFunction(function (theme, styles, className, variantClassName, iconClassName, menuIconClassName, disabled, hasMenu, checked, expanded, isSplit) {\n var _a, _b;\n var classNames = getGlobalClassNames(ButtonGlobalClassNames, theme || {});\n var isExpanded = expanded && !isSplit;\n return mergeStyleSets({\n root: [\n classNames.msButton,\n styles.root,\n variantClassName,\n checked && ['is-checked', styles.rootChecked],\n isExpanded && [\n 'is-expanded',\n styles.rootExpanded,\n {\n selectors: (_a = {},\n _a[\":hover .\".concat(classNames.msButtonIcon)] = styles.iconExpandedHovered,\n // menuIcon falls back to rootExpandedHovered to support original behavior\n _a[\":hover .\".concat(classNames.msButtonMenuIcon)] = styles.menuIconExpandedHovered || styles.rootExpandedHovered,\n _a[':hover'] = styles.rootExpandedHovered,\n _a),\n },\n ],\n hasMenu && [ButtonGlobalClassNames.msButtonHasMenu, styles.rootHasMenu],\n disabled && ['is-disabled', styles.rootDisabled],\n !disabled &&\n !isExpanded &&\n !checked && {\n selectors: (_b = {\n ':hover': styles.rootHovered\n },\n _b[\":hover .\".concat(classNames.msButtonLabel)] = styles.labelHovered,\n _b[\":hover .\".concat(classNames.msButtonIcon)] = styles.iconHovered,\n _b[\":hover .\".concat(classNames.msButtonDescription)] = styles.descriptionHovered,\n _b[\":hover .\".concat(classNames.msButtonMenuIcon)] = styles.menuIconHovered,\n _b[':focus'] = styles.rootFocused,\n _b[':active'] = styles.rootPressed,\n _b[\":active .\".concat(classNames.msButtonIcon)] = styles.iconPressed,\n _b[\":active .\".concat(classNames.msButtonDescription)] = styles.descriptionPressed,\n _b[\":active .\".concat(classNames.msButtonMenuIcon)] = styles.menuIconPressed,\n _b),\n },\n disabled && checked && [styles.rootCheckedDisabled],\n !disabled &&\n checked && {\n selectors: {\n ':hover': styles.rootCheckedHovered,\n ':active': styles.rootCheckedPressed,\n },\n },\n className,\n ],\n flexContainer: [classNames.msButtonFlexContainer, styles.flexContainer],\n textContainer: [classNames.msButtonTextContainer, styles.textContainer],\n icon: [\n classNames.msButtonIcon,\n iconClassName,\n styles.icon,\n isExpanded && styles.iconExpanded,\n checked && styles.iconChecked,\n disabled && styles.iconDisabled,\n ],\n label: [classNames.msButtonLabel, styles.label, checked && styles.labelChecked, disabled && styles.labelDisabled],\n menuIcon: [\n classNames.msButtonMenuIcon,\n menuIconClassName,\n styles.menuIcon,\n checked && styles.menuIconChecked,\n disabled && !isSplit && styles.menuIconDisabled,\n !disabled &&\n !isExpanded &&\n !checked && {\n selectors: {\n ':hover': styles.menuIconHovered,\n ':active': styles.menuIconPressed,\n },\n },\n isExpanded && ['is-expanded', styles.menuIconExpanded],\n ],\n description: [\n classNames.msButtonDescription,\n styles.description,\n checked && styles.descriptionChecked,\n disabled && styles.descriptionDisabled,\n ],\n screenReaderText: [classNames.msButtonScreenReaderText, styles.screenReaderText],\n });\n});\n//# sourceMappingURL=BaseButton.classNames.js.map","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { Image } from '../Image/Image';\nimport { css, getNativeProps, htmlElementProperties } from '../../Utilities';\nimport { classNames, MS_ICON } from './Icon.styles';\n/**\n * Fast icon component which only supports images (not font glyphs) and can't be targeted by customizations.\n * To style the icon, use `className` or reference `ms-Icon` in CSS.\n * {@docCategory Icon}\n */\nexport var ImageIcon = function (props) {\n var className = props.className, imageProps = props.imageProps;\n var nativeProps = getNativeProps(props, htmlElementProperties, [\n 'aria-label',\n 'aria-labelledby',\n 'title',\n 'aria-describedby',\n ]);\n var altText = imageProps.alt || props['aria-label'];\n var hasName = altText ||\n props['aria-labelledby'] ||\n props.title ||\n imageProps['aria-label'] ||\n imageProps['aria-labelledby'] ||\n imageProps.title;\n // move naming or describing attributes from the container (where they are invalid) to the image\n var imageNameProps = {\n 'aria-labelledby': props['aria-labelledby'],\n 'aria-describedby': props['aria-describedby'],\n title: props.title,\n };\n var containerProps = hasName\n ? {}\n : {\n 'aria-hidden': true,\n };\n return (React.createElement(\"div\", __assign({}, containerProps, nativeProps, { className: css(MS_ICON, classNames.root, classNames.image, className) }),\n React.createElement(Image, __assign({}, imageNameProps, imageProps, { alt: hasName ? altText : '' }))));\n};\n//# sourceMappingURL=ImageIcon.js.map","import { memoizeFunction } from '../../../Utilities';\nimport { mergeStyles } from '../../../Styling';\nexport var getSplitButtonClassNames = memoizeFunction(function (styles, disabled, expanded, checked, primaryDisabled) {\n return {\n root: mergeStyles(styles.splitButtonMenuButton, expanded && [styles.splitButtonMenuButtonExpanded], disabled && [styles.splitButtonMenuButtonDisabled], checked && !disabled && [styles.splitButtonMenuButtonChecked], primaryDisabled &&\n !disabled && [\n {\n selectors: {\n ':focus': styles.splitButtonMenuFocused,\n },\n },\n ]),\n splitButtonContainer: mergeStyles(styles.splitButtonContainer, !disabled &&\n checked && [\n styles.splitButtonContainerChecked,\n {\n selectors: {\n ':hover': styles.splitButtonContainerCheckedHovered,\n },\n },\n ], !disabled &&\n !checked && [\n {\n selectors: {\n ':hover': styles.splitButtonContainerHovered,\n ':focus': styles.splitButtonContainerFocused,\n },\n },\n ], disabled && styles.splitButtonContainerDisabled),\n icon: mergeStyles(styles.splitButtonMenuIcon, disabled && styles.splitButtonMenuIconDisabled, !disabled && primaryDisabled && styles.splitButtonMenuIcon),\n flexContainer: mergeStyles(styles.splitButtonFlexContainer),\n divider: mergeStyles(styles.splitButtonDivider, (primaryDisabled || disabled) && styles.splitButtonDividerDisabled),\n };\n});\n//# sourceMappingURL=SplitButton.classNames.js.map","import { __assign, __extends, __rest } from \"tslib\";\nimport * as React from 'react';\nimport { anchorProperties, assign, buttonProperties, createMergedRef, css, getId, getNativeProps, initializeComponentRef, memoizeFunction, mergeAriaAttributeValues, nullRender, portalContainsElement, setFocusVisibility, warnConditionallyRequiredProps, warnDeprecations, Async, EventGroup, FocusRects, FocusRectsContext, KeyCodes, } from '../../Utilities';\nimport { Icon, FontIcon, ImageIcon } from '../../Icon';\nimport { DirectionalHint } from '../../common/DirectionalHint';\nimport { ContextualMenu } from '../../ContextualMenu';\nimport { getBaseButtonClassNames } from './BaseButton.classNames';\nimport { getSplitButtonClassNames as getBaseSplitButtonClassNames } from './SplitButton/SplitButton.classNames';\nimport { KeytipData } from '../../KeytipData';\nimport { composeComponentAs } from '../../Utilities';\nvar TouchIdleDelay = 500; /* ms */\nvar COMPONENT_NAME = 'BaseButton';\n/**\n * {@docCategory Button}\n */\nvar BaseButton = /** @class */ (function (_super) {\n __extends(BaseButton, _super);\n function BaseButton(props) {\n var _this = _super.call(this, props) || this;\n _this._buttonElement = React.createRef();\n _this._splitButtonContainer = React.createRef();\n _this._mergedRef = createMergedRef();\n _this._renderedVisibleMenu = false;\n _this._getMemoizedMenuButtonKeytipProps = memoizeFunction(function (keytipProps) {\n return __assign(__assign({}, keytipProps), { hasMenu: true });\n });\n _this._onRenderIcon = function (buttonProps, defaultRender) {\n var iconProps = _this.props.iconProps;\n if (iconProps && (iconProps.iconName !== undefined || iconProps.imageProps)) {\n var className = iconProps.className, imageProps = iconProps.imageProps, rest = __rest(iconProps, [\"className\", \"imageProps\"]);\n // If the styles prop is specified as part of iconProps, fall back to regular Icon as FontIcon and ImageIcon\n // do not have this prop.\n if (iconProps.styles) {\n return React.createElement(Icon, __assign({ className: css(_this._classNames.icon, className), imageProps: imageProps }, rest));\n }\n if (iconProps.iconName) {\n return React.createElement(FontIcon, __assign({ className: css(_this._classNames.icon, className) }, rest));\n }\n if (imageProps) {\n return React.createElement(ImageIcon, __assign({ className: css(_this._classNames.icon, className), imageProps: imageProps }, rest));\n }\n }\n return null;\n };\n _this._onRenderTextContents = function () {\n var _a = _this.props, text = _a.text, children = _a.children, \n // eslint-disable-next-line deprecation/deprecation\n _b = _a.secondaryText, \n // eslint-disable-next-line deprecation/deprecation\n secondaryText = _b === void 0 ? _this.props.description : _b, _c = _a.onRenderText, onRenderText = _c === void 0 ? _this._onRenderText : _c, _d = _a.onRenderDescription, onRenderDescription = _d === void 0 ? _this._onRenderDescription : _d;\n if (text || typeof children === 'string' || secondaryText) {\n return (React.createElement(\"span\", { className: _this._classNames.textContainer },\n onRenderText(_this.props, _this._onRenderText),\n onRenderDescription(_this.props, _this._onRenderDescription)));\n }\n return [onRenderText(_this.props, _this._onRenderText), onRenderDescription(_this.props, _this._onRenderDescription)];\n };\n _this._onRenderText = function () {\n var text = _this.props.text;\n var children = _this.props.children;\n // For backwards compat, we should continue to take in the text content from children.\n if (text === undefined && typeof children === 'string') {\n text = children;\n }\n if (_this._hasText()) {\n return (React.createElement(\"span\", { key: _this._labelId, className: _this._classNames.label, id: _this._labelId }, text));\n }\n return null;\n };\n _this._onRenderChildren = function () {\n var children = _this.props.children;\n // If children is just a string, either it or the text will be rendered via onRenderLabel\n // If children is another component, it will be rendered after text\n if (typeof children === 'string') {\n return null;\n }\n return children;\n };\n _this._onRenderDescription = function (props) {\n // eslint-disable-next-line deprecation/deprecation\n var _a = props.secondaryText, secondaryText = _a === void 0 ? _this.props.description : _a;\n // ms-Button-description is only shown when the button type is compound.\n // In other cases it will not be displayed.\n return secondaryText ? (React.createElement(\"span\", { key: _this._descriptionId, className: _this._classNames.description, id: _this._descriptionId }, secondaryText)) : null;\n };\n _this._onRenderAriaDescription = function () {\n var ariaDescription = _this.props.ariaDescription;\n // If ariaDescription is given, descriptionId will be assigned to ariaDescriptionSpan,\n // otherwise it will be assigned to descriptionSpan.\n return ariaDescription ? (React.createElement(\"span\", { className: _this._classNames.screenReaderText, id: _this._ariaDescriptionId }, ariaDescription)) : null;\n };\n _this._onRenderMenuIcon = function (props) {\n var menuIconProps = _this.props.menuIconProps;\n return React.createElement(FontIcon, __assign({ iconName: \"ChevronDown\" }, menuIconProps, { className: _this._classNames.menuIcon }));\n };\n _this._onRenderMenu = function (menuProps) {\n var MenuType = _this.props.menuAs ? composeComponentAs(_this.props.menuAs, ContextualMenu) : ContextualMenu;\n return React.createElement(MenuType, __assign({}, menuProps));\n };\n _this._onDismissMenu = function (ev) {\n var menuProps = _this.props.menuProps;\n if (menuProps && menuProps.onDismiss) {\n menuProps.onDismiss(ev);\n }\n if (!ev || !ev.defaultPrevented) {\n _this._dismissMenu();\n }\n };\n _this._dismissMenu = function () {\n _this._menuShouldFocusOnMount = undefined;\n _this._menuShouldFocusOnContainer = undefined;\n _this.setState({ menuHidden: true });\n };\n _this._openMenu = function (shouldFocusOnContainer, shouldFocusOnMount) {\n if (shouldFocusOnMount === void 0) { shouldFocusOnMount = true; }\n if (_this.props.menuProps) {\n _this._menuShouldFocusOnContainer = shouldFocusOnContainer;\n _this._menuShouldFocusOnMount = shouldFocusOnMount;\n _this._renderedVisibleMenu = true;\n _this.setState({ menuHidden: false });\n }\n };\n _this._onToggleMenu = function (shouldFocusOnContainer) {\n var shouldFocusOnMount = true;\n if (_this.props.menuProps && _this.props.menuProps.shouldFocusOnMount === false) {\n shouldFocusOnMount = false;\n }\n _this.state.menuHidden ? _this._openMenu(shouldFocusOnContainer, shouldFocusOnMount) : _this._dismissMenu();\n };\n _this._onSplitContainerFocusCapture = function (ev) {\n var container = _this._splitButtonContainer.current;\n // If the target is coming from the portal we do not need to set focus on the container.\n if (!container || (ev.target && portalContainsElement(ev.target, container))) {\n return;\n }\n // We should never be able to focus the individual buttons in a split button. Focus\n // should always remain on the container.\n container.focus();\n };\n _this._onSplitButtonPrimaryClick = function (ev) {\n if (!_this.state.menuHidden) {\n _this._dismissMenu();\n }\n if (!_this._processingTouch && _this.props.onClick) {\n _this.props.onClick(ev);\n }\n else if (_this._processingTouch) {\n _this._onMenuClick(ev);\n }\n };\n _this._onKeyDown = function (ev) {\n // explicity cancelling event so click won't fire after this\n // eslint-disable-next-line deprecation/deprecation\n if (_this.props.disabled && (ev.which === KeyCodes.enter || ev.which === KeyCodes.space)) {\n ev.preventDefault();\n ev.stopPropagation();\n }\n else if (!_this.props.disabled) {\n if (_this.props.menuProps) {\n _this._onMenuKeyDown(ev);\n }\n else if (_this.props.onKeyDown !== undefined) {\n _this.props.onKeyDown(ev); // not cancelling event because it's not disabled\n }\n }\n };\n _this._onKeyUp = function (ev) {\n if (!_this.props.disabled && _this.props.onKeyUp !== undefined) {\n _this.props.onKeyUp(ev); // not cancelling event because it's not disabled\n }\n };\n _this._onKeyPress = function (ev) {\n // eslint-disable-next-line deprecation/deprecation\n if (!_this.props.disabled && _this.props.onKeyPress !== undefined) {\n // eslint-disable-next-line deprecation/deprecation\n _this.props.onKeyPress(ev); // not cancelling event because it's not disabled\n }\n };\n _this._onMouseUp = function (ev) {\n if (!_this.props.disabled && _this.props.onMouseUp !== undefined) {\n _this.props.onMouseUp(ev); // not cancelling event because it's not disabled\n }\n };\n _this._onMouseDown = function (ev) {\n if (!_this.props.disabled && _this.props.onMouseDown !== undefined) {\n _this.props.onMouseDown(ev); // not cancelling event because it's not disabled\n }\n };\n _this._onClick = function (ev) {\n if (!_this.props.disabled) {\n if (_this.props.menuProps) {\n _this._onMenuClick(ev);\n }\n else if (_this.props.onClick !== undefined) {\n _this.props.onClick(ev); // not cancelling event because it's not disabled\n }\n }\n };\n _this._onSplitButtonContainerKeyDown = function (ev) {\n // eslint-disable-next-line deprecation/deprecation\n if (ev.which === KeyCodes.enter || ev.which === KeyCodes.space) {\n if (_this._buttonElement.current) {\n _this._buttonElement.current.click();\n ev.preventDefault();\n ev.stopPropagation();\n }\n }\n else {\n _this._onMenuKeyDown(ev);\n }\n };\n _this._onMenuKeyDown = function (ev) {\n var _a;\n if (_this.props.disabled) {\n return;\n }\n if (_this.props.onKeyDown) {\n _this.props.onKeyDown(ev);\n }\n // eslint-disable-next-line deprecation/deprecation\n var isUp = ev.which === KeyCodes.up;\n // eslint-disable-next-line deprecation/deprecation\n var isDown = ev.which === KeyCodes.down;\n if (!ev.defaultPrevented && _this._isValidMenuOpenKey(ev)) {\n var onMenuClick = _this.props.onMenuClick;\n if (onMenuClick) {\n onMenuClick(ev, _this.props);\n }\n _this._onToggleMenu(false);\n ev.preventDefault();\n ev.stopPropagation();\n }\n // eslint-disable-next-line deprecation/deprecation\n if (ev.which === KeyCodes.enter || ev.which === KeyCodes.space) {\n // We manually set the focus visibility to true if opening via Enter or Space to account for the scenario where\n // a user clicks on the button, closes the menu and then opens it via keyboard. In this scenario our default logic\n // for setting focus visibility is not triggered since there is no keyboard navigation present beforehand.\n setFocusVisibility(true, ev.target, (_a = _this.context) === null || _a === void 0 ? void 0 : _a.registeredProviders);\n }\n if (!(ev.altKey || ev.metaKey) && (isUp || isDown)) {\n // Suppose a menu, with shouldFocusOnMount: false, is open, and user wants to keyboard to the menu items\n // We need to re-render the menu with shouldFocusOnMount as true.\n if (!_this.state.menuHidden && _this.props.menuProps) {\n var currentShouldFocusOnMount = _this._menuShouldFocusOnMount !== undefined\n ? _this._menuShouldFocusOnMount\n : _this.props.menuProps.shouldFocusOnMount;\n if (!currentShouldFocusOnMount) {\n ev.preventDefault();\n ev.stopPropagation();\n _this._menuShouldFocusOnMount = true;\n _this.forceUpdate();\n }\n }\n }\n };\n _this._onTouchStart = function () {\n if (_this._isSplitButton &&\n _this._splitButtonContainer.current &&\n !('onpointerdown' in _this._splitButtonContainer.current)) {\n _this._handleTouchAndPointerEvent();\n }\n };\n _this._onMenuClick = function (ev) {\n var _a = _this.props, onMenuClick = _a.onMenuClick, menuProps = _a.menuProps;\n if (onMenuClick) {\n onMenuClick(ev, _this.props);\n }\n // focus on the container by default when the menu is opened with a click event\n // this differentiates from a keyboard interaction triggering the click event\n var shouldFocusOnContainer = typeof (menuProps === null || menuProps === void 0 ? void 0 : menuProps.shouldFocusOnContainer) === 'boolean'\n ? menuProps.shouldFocusOnContainer\n : ev.nativeEvent.pointerType === 'mouse';\n if (!ev.defaultPrevented) {\n _this._onToggleMenu(shouldFocusOnContainer);\n ev.preventDefault();\n ev.stopPropagation();\n }\n };\n initializeComponentRef(_this);\n _this._async = new Async(_this);\n _this._events = new EventGroup(_this);\n warnConditionallyRequiredProps(COMPONENT_NAME, props, ['menuProps', 'onClick'], 'split', _this.props.split);\n warnDeprecations(COMPONENT_NAME, props, {\n rootProps: undefined,\n description: 'secondaryText',\n toggled: 'checked',\n });\n _this._labelId = getId();\n _this._descriptionId = getId();\n _this._ariaDescriptionId = getId();\n _this.state = {\n menuHidden: true,\n };\n return _this;\n }\n Object.defineProperty(BaseButton.prototype, \"_isSplitButton\", {\n get: function () {\n return !!this.props.menuProps && !!this.props.onClick && this.props.split === true;\n },\n enumerable: false,\n configurable: true\n });\n BaseButton.prototype.render = function () {\n var _a;\n var _b = this.props, ariaDescription = _b.ariaDescription, ariaLabel = _b.ariaLabel, ariaHidden = _b.ariaHidden, className = _b.className, disabled = _b.disabled, allowDisabledFocus = _b.allowDisabledFocus, primaryDisabled = _b.primaryDisabled, \n // eslint-disable-next-line deprecation/deprecation\n _c = _b.secondaryText, \n // eslint-disable-next-line deprecation/deprecation\n secondaryText = _c === void 0 ? this.props.description : _c, href = _b.href, iconProps = _b.iconProps, menuIconProps = _b.menuIconProps, styles = _b.styles, checked = _b.checked, variantClassName = _b.variantClassName, theme = _b.theme, toggle = _b.toggle, getClassNames = _b.getClassNames, role = _b.role;\n var menuHidden = this.state.menuHidden;\n // Button is disabled if the whole button (in case of splitButton is disabled) or if the primary action is disabled\n var isPrimaryButtonDisabled = disabled || primaryDisabled;\n this._classNames = getClassNames\n ? getClassNames(theme, className, variantClassName, iconProps && iconProps.className, menuIconProps && menuIconProps.className, isPrimaryButtonDisabled, checked, !menuHidden, !!this.props.menuProps, this.props.split, !!allowDisabledFocus)\n : getBaseButtonClassNames(theme, styles, className, variantClassName, iconProps && iconProps.className, menuIconProps && menuIconProps.className, isPrimaryButtonDisabled, !!this.props.menuProps, checked, !menuHidden, this.props.split);\n var _d = this, _ariaDescriptionId = _d._ariaDescriptionId, _labelId = _d._labelId, _descriptionId = _d._descriptionId;\n // Anchor tag cannot be disabled hence in disabled state rendering\n // anchor button as normal button\n var renderAsAnchor = !isPrimaryButtonDisabled && !!href;\n var tag = renderAsAnchor ? 'a' : 'button';\n var nativeProps = getNativeProps(\n // eslint-disable-next-line deprecation/deprecation\n assign(renderAsAnchor ? {} : { type: 'button' }, this.props.rootProps, this.props), renderAsAnchor ? anchorProperties : buttonProperties, [\n 'disabled', // let disabled buttons be focused and styled as disabled.\n ]);\n // Check for ariaLabel passed in via Button props, and fall back to aria-label passed in via native props\n var resolvedAriaLabel = ariaLabel || nativeProps['aria-label'];\n // Check for ariaDescription, secondaryText or aria-describedby in the native props to determine source of\n // aria-describedby. Otherwise default to undefined so property does not appear in output.\n var ariaDescribedBy = undefined;\n if (ariaDescription) {\n ariaDescribedBy = _ariaDescriptionId;\n }\n else if (secondaryText && this.props.onRenderDescription !== nullRender) {\n // for buttons like CompoundButton with a valid onRenderDescription, we need to set an ariaDescribedBy\n // for buttons that do not render anything (via nullRender), we should not set an ariaDescribedBy\n ariaDescribedBy = _descriptionId;\n }\n else if (nativeProps['aria-describedby']) {\n ariaDescribedBy = nativeProps['aria-describedby'];\n }\n // If an explicit aria-labelledby is given, use that and we're done.\n // If any kind of description is given (which will end up as an aria-describedby attribute)\n // and no ariaLabel is specified, set the labelledby element.\n // Otherwise, the button is labeled implicitly by the descendent text on the button (if it exists).\n var ariaLabelledBy = undefined;\n if (nativeProps['aria-labelledby']) {\n ariaLabelledBy = nativeProps['aria-labelledby'];\n }\n else if (ariaDescribedBy && !resolvedAriaLabel) {\n ariaLabelledBy = this._hasText() ? _labelId : undefined;\n }\n var dataIsFocusable = this.props['data-is-focusable'] === false || (disabled && !allowDisabledFocus) || this._isSplitButton\n ? false\n : true;\n var isCheckboxTypeRole = role === 'menuitemcheckbox' || role === 'checkbox';\n // if isCheckboxTypeRole, always return a checked value.\n // Otherwise only return checked value if toggle is set to true.\n // This is because role=\"checkbox\" always needs to have an aria-checked value\n // but our checked prop only sets aria-pressed if we mark the button as a toggle=\"true\"\n var checkedOrPressedValue = isCheckboxTypeRole ? !!checked : toggle === true ? !!checked : undefined;\n var buttonProps = assign(nativeProps, (_a = {\n className: this._classNames.root,\n // eslint-disable-next-line deprecation/deprecation\n ref: this._mergedRef(this.props.elementRef, this._buttonElement),\n disabled: isPrimaryButtonDisabled && !allowDisabledFocus,\n onKeyDown: this._onKeyDown,\n onKeyPress: this._onKeyPress,\n onKeyUp: this._onKeyUp,\n onMouseDown: this._onMouseDown,\n onMouseUp: this._onMouseUp,\n onClick: this._onClick,\n 'aria-label': resolvedAriaLabel,\n 'aria-labelledby': ariaLabelledBy,\n 'aria-describedby': ariaDescribedBy,\n 'aria-disabled': isPrimaryButtonDisabled,\n 'data-is-focusable': dataIsFocusable\n },\n // aria-pressed attribute should only be present for toggle buttons\n // aria-checked attribute should only be present for toggle buttons with checkbox type role\n _a[isCheckboxTypeRole ? 'aria-checked' : 'aria-pressed'] = checkedOrPressedValue,\n _a));\n if (ariaHidden) {\n buttonProps['aria-hidden'] = true;\n }\n if (this._isSplitButton) {\n return this._onRenderSplitButtonContent(tag, buttonProps);\n }\n else if (this.props.menuProps) {\n var _e = this.props.menuProps.id, id = _e === void 0 ? \"\".concat(this._labelId, \"-menu\") : _e;\n assign(buttonProps, {\n 'aria-expanded': !menuHidden,\n 'aria-controls': !menuHidden ? id : null,\n 'aria-haspopup': true,\n });\n }\n return this._onRenderContent(tag, buttonProps);\n };\n BaseButton.prototype.componentDidMount = function () {\n // For split buttons, touching anywhere in the button should drop the dropdown, which should contain the\n // primary action. This gives more hit target space for touch environments. We're setting the onpointerdown here,\n // because React does not support Pointer events yet.\n if (this._isSplitButton && this._splitButtonContainer.current) {\n if ('onpointerdown' in this._splitButtonContainer.current) {\n this._events.on(this._splitButtonContainer.current, 'pointerdown', this._onPointerDown, true);\n }\n if ('onpointerup' in this._splitButtonContainer.current && this.props.onPointerUp) {\n this._events.on(this._splitButtonContainer.current, 'pointerup', this.props.onPointerUp, true);\n }\n }\n };\n BaseButton.prototype.componentDidUpdate = function (prevProps, prevState) {\n // If Button's menu was closed, run onAfterMenuDismiss.\n if (this.props.onAfterMenuDismiss && !prevState.menuHidden && this.state.menuHidden) {\n this.props.onAfterMenuDismiss();\n }\n };\n BaseButton.prototype.componentWillUnmount = function () {\n this._async.dispose();\n this._events.dispose();\n };\n BaseButton.prototype.focus = function () {\n var _a, _b;\n if (this._isSplitButton && this._splitButtonContainer.current) {\n setFocusVisibility(true, undefined, (_a = this.context) === null || _a === void 0 ? void 0 : _a.registeredProviders);\n this._splitButtonContainer.current.focus();\n }\n else if (this._buttonElement.current) {\n setFocusVisibility(true, undefined, (_b = this.context) === null || _b === void 0 ? void 0 : _b.registeredProviders);\n this._buttonElement.current.focus();\n }\n };\n BaseButton.prototype.dismissMenu = function () {\n this._dismissMenu();\n };\n BaseButton.prototype.openMenu = function (shouldFocusOnContainer, shouldFocusOnMount) {\n this._openMenu(shouldFocusOnContainer, shouldFocusOnMount);\n };\n BaseButton.prototype._onRenderContent = function (tag, buttonProps) {\n var _this = this;\n var props = this.props;\n var Tag = tag;\n var menuIconProps = props.menuIconProps, menuProps = props.menuProps, _a = props.onRenderIcon, onRenderIcon = _a === void 0 ? this._onRenderIcon : _a, _b = props.onRenderAriaDescription, onRenderAriaDescription = _b === void 0 ? this._onRenderAriaDescription : _b, _c = props.onRenderChildren, onRenderChildren = _c === void 0 ? this._onRenderChildren : _c, \n // eslint-disable-next-line deprecation/deprecation\n _d = props.onRenderMenu, \n // eslint-disable-next-line deprecation/deprecation\n onRenderMenu = _d === void 0 ? this._onRenderMenu : _d, _e = props.onRenderMenuIcon, onRenderMenuIcon = _e === void 0 ? this._onRenderMenuIcon : _e, disabled = props.disabled;\n var keytipProps = props.keytipProps;\n if (keytipProps && menuProps) {\n keytipProps = this._getMemoizedMenuButtonKeytipProps(keytipProps);\n }\n var Button = function (keytipAttributes) { return (React.createElement(Tag, __assign({}, buttonProps, keytipAttributes),\n React.createElement(\"span\", { className: _this._classNames.flexContainer, \"data-automationid\": \"splitbuttonprimary\" },\n onRenderIcon(props, _this._onRenderIcon),\n _this._onRenderTextContents(),\n onRenderAriaDescription(props, _this._onRenderAriaDescription),\n onRenderChildren(props, _this._onRenderChildren),\n !_this._isSplitButton &&\n (menuProps || menuIconProps || _this.props.onRenderMenuIcon) &&\n onRenderMenuIcon(_this.props, _this._onRenderMenuIcon),\n menuProps &&\n !menuProps.doNotLayer &&\n _this._shouldRenderMenu() &&\n onRenderMenu(_this._getMenuProps(menuProps), _this._onRenderMenu)))); };\n var Content = keytipProps ? (\n // If we're making a split button, we won't put the keytip here\n React.createElement(KeytipData, { keytipProps: !this._isSplitButton ? keytipProps : undefined, ariaDescribedBy: buttonProps['aria-describedby'], disabled: disabled }, function (keytipAttributes) { return Button(keytipAttributes); })) : (Button());\n if (menuProps && menuProps.doNotLayer) {\n return (React.createElement(React.Fragment, null,\n Content,\n this._shouldRenderMenu() && onRenderMenu(this._getMenuProps(menuProps), this._onRenderMenu)));\n }\n return (React.createElement(React.Fragment, null,\n Content,\n React.createElement(FocusRects, null)));\n };\n /**\n * Method to help determine if the menu's component tree should\n * be rendered. It takes into account whether the menu is expanded,\n * whether it is a persisted menu and whether it has been shown to the user.\n */\n BaseButton.prototype._shouldRenderMenu = function () {\n var menuHidden = this.state.menuHidden;\n // eslint-disable-next-line deprecation/deprecation\n var _a = this.props, persistMenu = _a.persistMenu, renderPersistedMenuHiddenOnMount = _a.renderPersistedMenuHiddenOnMount;\n if (!menuHidden) {\n // Always should render a menu when it is expanded\n return true;\n }\n else if (persistMenu && (this._renderedVisibleMenu || renderPersistedMenuHiddenOnMount)) {\n // _renderedVisibleMenu ensures that the first rendering of\n // the menu happens on-screen, as edge's scrollbar calculations are off if done while hidden.\n return true;\n }\n return false;\n };\n BaseButton.prototype._hasText = function () {\n // _onRenderTextContents and _onRenderText do not perform the same checks. Below is parity with what _onRenderText\n // used to have before the refactor that introduced this function. _onRenderTextContents does not require props.\n // text to be undefined in order for props.children to be used as a fallback.\n // Purely a code maintainability/reuse issue, but logged as Issue #4979.\n return this.props.text !== null && (this.props.text !== undefined || typeof this.props.children === 'string');\n };\n BaseButton.prototype._getMenuProps = function (menuProps) {\n var persistMenu = this.props.persistMenu;\n var menuHidden = this.state.menuHidden;\n // the accessible menu label (accessible name) has a relationship to the button.\n // If the menu props do not specify an explicit value for aria-label or aria-labelledBy,\n // AND the button has text, we'll set the menu aria-labelledBy to the text element id.\n if (!menuProps.ariaLabel && !menuProps.labelElementId && this._hasText()) {\n menuProps = __assign(__assign({}, menuProps), { labelElementId: this._labelId });\n }\n return __assign(__assign({ id: this._labelId + '-menu', directionalHint: DirectionalHint.bottomLeftEdge }, menuProps), { shouldFocusOnContainer: this._menuShouldFocusOnContainer, shouldFocusOnMount: this._menuShouldFocusOnMount, hidden: persistMenu ? menuHidden : undefined, className: css('ms-BaseButton-menuhost', menuProps.className), target: this._isSplitButton ? this._splitButtonContainer.current : this._buttonElement.current, onDismiss: this._onDismissMenu });\n };\n BaseButton.prototype._onRenderSplitButtonContent = function (tag, buttonProps) {\n var _this = this;\n var _a = this.props, _b = _a.styles, styles = _b === void 0 ? {} : _b, disabled = _a.disabled, allowDisabledFocus = _a.allowDisabledFocus, checked = _a.checked, getSplitButtonClassNames = _a.getSplitButtonClassNames, primaryDisabled = _a.primaryDisabled, menuProps = _a.menuProps, toggle = _a.toggle, role = _a.role, primaryActionButtonProps = _a.primaryActionButtonProps;\n var keytipProps = this.props.keytipProps;\n var menuHidden = this.state.menuHidden;\n var classNames = getSplitButtonClassNames\n ? getSplitButtonClassNames(!!disabled, !menuHidden, !!checked, !!allowDisabledFocus)\n : styles && getBaseSplitButtonClassNames(styles, !!disabled, !menuHidden, !!checked, !!primaryDisabled);\n assign(buttonProps, {\n onClick: undefined,\n onPointerDown: undefined,\n onPointerUp: undefined,\n tabIndex: -1,\n 'data-is-focusable': false,\n });\n if (keytipProps && menuProps) {\n keytipProps = this._getMemoizedMenuButtonKeytipProps(keytipProps);\n }\n var containerProps = getNativeProps(buttonProps, [], ['disabled']);\n // Add additional props to apply on primary action button\n if (primaryActionButtonProps) {\n assign(buttonProps, primaryActionButtonProps);\n }\n var SplitButton = function (keytipAttributes) { return (React.createElement(\"div\", __assign({}, containerProps, { \"data-ktp-target\": keytipAttributes ? keytipAttributes['data-ktp-target'] : undefined, role: role ? role : 'button', \"aria-disabled\": disabled, \"aria-haspopup\": true, \"aria-expanded\": !menuHidden, \"aria-pressed\": toggle ? !!checked : undefined, \"aria-describedby\": mergeAriaAttributeValues(buttonProps['aria-describedby'], keytipAttributes ? keytipAttributes['aria-describedby'] : undefined), className: classNames && classNames.splitButtonContainer, onKeyDown: _this._onSplitButtonContainerKeyDown, onTouchStart: _this._onTouchStart, ref: _this._splitButtonContainer, \"data-is-focusable\": true, onClick: !disabled && !primaryDisabled ? _this._onSplitButtonPrimaryClick : undefined, tabIndex: (!disabled && !primaryDisabled) || allowDisabledFocus ? 0 : undefined, \"aria-roledescription\": buttonProps['aria-roledescription'], onFocusCapture: _this._onSplitContainerFocusCapture }),\n React.createElement(\"span\", { style: { display: 'flex', width: '100%' } },\n _this._onRenderContent(tag, buttonProps),\n _this._onRenderSplitButtonMenuButton(classNames, keytipAttributes),\n _this._onRenderSplitButtonDivider(classNames)))); };\n return keytipProps ? (React.createElement(KeytipData, { keytipProps: keytipProps, disabled: disabled }, function (keytipAttributes) { return SplitButton(keytipAttributes); })) : (SplitButton());\n };\n BaseButton.prototype._onRenderSplitButtonDivider = function (classNames) {\n if (classNames && classNames.divider) {\n var onClick = function (ev) {\n ev.stopPropagation();\n };\n return React.createElement(\"span\", { className: classNames.divider, \"aria-hidden\": true, onClick: onClick });\n }\n return null;\n };\n BaseButton.prototype._onRenderSplitButtonMenuButton = function (classNames, keytipAttributes) {\n var _a = this.props, allowDisabledFocus = _a.allowDisabledFocus, checked = _a.checked, disabled = _a.disabled, splitButtonMenuProps = _a.splitButtonMenuProps, splitButtonAriaLabel = _a.splitButtonAriaLabel, primaryDisabled = _a.primaryDisabled;\n var menuHidden = this.state.menuHidden;\n var menuIconProps = this.props.menuIconProps;\n if (menuIconProps === undefined) {\n menuIconProps = {\n iconName: 'ChevronDown',\n };\n }\n var splitButtonProps = __assign(__assign({}, splitButtonMenuProps), { styles: classNames, checked: checked, disabled: disabled, allowDisabledFocus: allowDisabledFocus, onClick: this._onMenuClick, menuProps: undefined, iconProps: __assign(__assign({}, menuIconProps), { className: this._classNames.menuIcon }), ariaLabel: splitButtonAriaLabel, 'aria-haspopup': true, 'aria-expanded': !menuHidden, 'data-is-focusable': false });\n // Add data-ktp-execute-target to the split button if the keytip is defined\n return (React.createElement(BaseButton, __assign({}, splitButtonProps, { \"data-ktp-execute-target\": keytipAttributes ? keytipAttributes['data-ktp-execute-target'] : keytipAttributes, onMouseDown: this._onMouseDown, tabIndex: primaryDisabled && !allowDisabledFocus ? 0 : -1 })));\n };\n BaseButton.prototype._onPointerDown = function (ev) {\n var onPointerDown = this.props.onPointerDown;\n if (onPointerDown) {\n onPointerDown(ev);\n }\n if (ev.pointerType === 'touch') {\n this._handleTouchAndPointerEvent();\n ev.preventDefault();\n ev.stopImmediatePropagation();\n }\n };\n BaseButton.prototype._handleTouchAndPointerEvent = function () {\n var _this = this;\n // If we already have an existing timeout from a previous touch and pointer event\n // cancel that timeout so we can set a new one.\n if (this._lastTouchTimeoutId !== undefined) {\n this._async.clearTimeout(this._lastTouchTimeoutId);\n this._lastTouchTimeoutId = undefined;\n }\n this._processingTouch = true;\n this._lastTouchTimeoutId = this._async.setTimeout(function () {\n _this._processingTouch = false;\n _this._lastTouchTimeoutId = undefined;\n // Touch and pointer events don't focus the button naturally,\n // so adding an imperative focus call to guarantee this behavior.\n // Only focus the button if a splitbutton menu is not open\n if (_this.state.menuHidden) {\n _this.focus();\n }\n }, TouchIdleDelay);\n };\n /**\n * Returns if the user hits a valid keyboard key to open the menu\n * @param ev - the keyboard event\n * @returns True if user clicks on custom trigger key if enabled or alt + down arrow if not. False otherwise.\n */\n BaseButton.prototype._isValidMenuOpenKey = function (ev) {\n if (this.props.menuTriggerKeyCode) {\n // eslint-disable-next-line deprecation/deprecation\n return ev.which === this.props.menuTriggerKeyCode;\n }\n else if (this.props.menuProps) {\n // eslint-disable-next-line deprecation/deprecation\n return ev.which === KeyCodes.down && (ev.altKey || ev.metaKey);\n }\n // Note: When enter is pressed, we will let the event continue to propagate\n // to trigger the onClick event on the button\n return false;\n };\n BaseButton.defaultProps = {\n baseClassName: 'ms-Button',\n styles: {},\n split: false,\n };\n // needed to access registeredProviders when manually setting focus visibility\n BaseButton.contextType = FocusRectsContext;\n return BaseButton;\n}(React.Component));\nexport { BaseButton };\n//# sourceMappingURL=BaseButton.js.map","import { memoizeFunction } from '../../Utilities';\nimport { HighContrastSelector, getFocusStyle, hiddenContentStyle } from '../../Styling';\nvar noOutline = {\n outline: 0,\n};\nvar iconStyle = function (fontSize) {\n return {\n fontSize: fontSize,\n margin: '0 4px',\n height: '16px',\n lineHeight: '16px',\n textAlign: 'center',\n flexShrink: 0,\n };\n};\n/**\n * Gets the base button styles. Note: because it is a base class to be used with the `mergeRules`\n * helper, it should have values for all class names in the interface. This let `mergeRules` optimize\n * mixing class names together.\n */\nexport var getStyles = memoizeFunction(function (theme) {\n var _a, _b;\n var semanticColors = theme.semanticColors, effects = theme.effects, fonts = theme.fonts;\n var border = semanticColors.buttonBorder;\n var disabledBackground = semanticColors.disabledBackground;\n var disabledText = semanticColors.disabledText;\n var buttonHighContrastFocus = {\n left: -2,\n top: -2,\n bottom: -2,\n right: -2,\n outlineColor: 'ButtonText',\n };\n return {\n root: [\n getFocusStyle(theme, { inset: 1, highContrastStyle: buttonHighContrastFocus, borderColor: 'transparent' }),\n theme.fonts.medium,\n {\n border: '1px solid ' + border,\n borderRadius: effects.roundedCorner2,\n boxSizing: 'border-box',\n cursor: 'pointer',\n display: 'inline-block',\n padding: '0 16px',\n textDecoration: 'none',\n textAlign: 'center',\n userSelect: 'none',\n selectors: {\n // IE11 workaround for preventing shift of child elements of a button when active.\n ':active > span': {\n position: 'relative',\n left: 0,\n top: 0,\n },\n },\n },\n ],\n rootDisabled: [\n getFocusStyle(theme, { inset: 1, highContrastStyle: buttonHighContrastFocus, borderColor: 'transparent' }),\n {\n backgroundColor: disabledBackground,\n borderColor: disabledBackground,\n color: disabledText,\n cursor: 'default',\n selectors: {\n ':hover': noOutline,\n ':focus': noOutline,\n },\n },\n ],\n iconDisabled: {\n color: disabledText,\n selectors: (_a = {},\n _a[HighContrastSelector] = {\n color: 'GrayText',\n },\n _a),\n },\n menuIconDisabled: {\n color: disabledText,\n selectors: (_b = {},\n _b[HighContrastSelector] = {\n color: 'GrayText',\n },\n _b),\n },\n flexContainer: {\n display: 'flex',\n height: '100%',\n flexWrap: 'nowrap',\n justifyContent: 'center',\n alignItems: 'center',\n },\n description: {\n display: 'block',\n },\n textContainer: {\n flexGrow: 1,\n display: 'block',\n },\n icon: iconStyle(fonts.mediumPlus.fontSize),\n menuIcon: iconStyle(fonts.small.fontSize),\n label: {\n margin: '0 4px',\n lineHeight: '100%',\n display: 'block',\n },\n screenReaderText: hiddenContentStyle,\n };\n});\n//# sourceMappingURL=BaseButton.styles.js.map","/**\n * {@docCategory Button}\n */\nexport var ElementType;\n(function (ElementType) {\n /** `button` element. */\n ElementType[ElementType[\"button\"] = 0] = \"button\";\n /** `a` element. */\n ElementType[ElementType[\"anchor\"] = 1] = \"anchor\";\n})(ElementType || (ElementType = {}));\n/**\n * {@docCategory Button}\n */\nexport var ButtonType;\n(function (ButtonType) {\n ButtonType[ButtonType[\"normal\"] = 0] = \"normal\";\n ButtonType[ButtonType[\"primary\"] = 1] = \"primary\";\n ButtonType[ButtonType[\"hero\"] = 2] = \"hero\";\n ButtonType[ButtonType[\"compound\"] = 3] = \"compound\";\n ButtonType[ButtonType[\"command\"] = 4] = \"command\";\n ButtonType[ButtonType[\"icon\"] = 5] = \"icon\";\n ButtonType[ButtonType[\"default\"] = 6] = \"default\";\n})(ButtonType || (ButtonType = {}));\n//# sourceMappingURL=Button.types.js.map","import { __assign } from \"tslib\";\nimport { concatStyleSets, FontWeights, HighContrastSelector, getHighContrastNoAdjustStyle } from '../../../Styling';\nimport { memoizeFunction } from '../../../Utilities';\nimport { getStyles as getBaseButtonStyles } from '../BaseButton.styles';\nimport { getStyles as getSplitButtonStyles } from '../SplitButton/SplitButton.styles';\nimport { primaryStyles, standardStyles } from '../ButtonThemes';\nexport var getStyles = memoizeFunction(function (theme, customStyles, primary) {\n var _a, _b, _c, _d, _e;\n var fonts = theme.fonts, palette = theme.palette;\n var baseButtonStyles = getBaseButtonStyles(theme);\n var splitButtonStyles = getSplitButtonStyles(theme);\n var compoundButtonStyles = {\n root: {\n maxWidth: '280px',\n minHeight: '72px',\n height: 'auto',\n padding: '16px 12px',\n },\n flexContainer: {\n flexDirection: 'row',\n alignItems: 'flex-start',\n minWidth: '100%',\n margin: '',\n },\n textContainer: {\n textAlign: 'left',\n },\n icon: {\n fontSize: '2em',\n lineHeight: '1em',\n height: '1em',\n margin: '0px 8px 0px 0px',\n flexBasis: '1em',\n flexShrink: '0',\n },\n label: {\n margin: '0 0 5px',\n lineHeight: '100%',\n fontWeight: FontWeights.semibold,\n },\n description: [\n fonts.small,\n {\n lineHeight: '100%',\n },\n ],\n };\n var standardCompoundTheme = {\n description: {\n color: palette.neutralSecondary,\n },\n descriptionHovered: {\n color: palette.neutralDark,\n },\n descriptionPressed: {\n color: 'inherit',\n },\n descriptionChecked: {\n color: 'inherit',\n },\n descriptionDisabled: {\n color: 'inherit',\n },\n };\n var primaryCompoundTheme = {\n description: {\n color: palette.white,\n selectors: (_a = {},\n _a[HighContrastSelector] = __assign({ backgroundColor: 'WindowText', color: 'Window' }, getHighContrastNoAdjustStyle()),\n _a),\n },\n descriptionHovered: {\n color: palette.white,\n selectors: (_b = {},\n _b[HighContrastSelector] = {\n backgroundColor: 'Highlight',\n color: 'Window',\n },\n _b),\n },\n descriptionPressed: {\n color: 'inherit',\n selectors: (_c = {},\n _c[HighContrastSelector] = __assign({ color: 'Window', backgroundColor: 'WindowText' }, getHighContrastNoAdjustStyle()),\n _c),\n },\n descriptionChecked: {\n color: 'inherit',\n selectors: (_d = {},\n _d[HighContrastSelector] = __assign({ color: 'Window', backgroundColor: 'WindowText' }, getHighContrastNoAdjustStyle()),\n _d),\n },\n descriptionDisabled: {\n color: 'inherit',\n selectors: (_e = {},\n _e[HighContrastSelector] = {\n color: 'inherit',\n },\n _e),\n },\n };\n return concatStyleSets(baseButtonStyles, compoundButtonStyles, primary ? primaryStyles(theme) : standardStyles(theme), primary ? primaryCompoundTheme : standardCompoundTheme, splitButtonStyles, customStyles);\n});\n//# sourceMappingURL=CompoundButton.styles.js.map","import { __assign, __decorate, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { BaseButton } from '../BaseButton';\nimport { customizable } from '../../../Utilities';\nimport { getStyles } from './CompoundButton.styles';\n/**\n * {@docCategory Button}\n */\nvar CompoundButton = /** @class */ (function (_super) {\n __extends(CompoundButton, _super);\n function CompoundButton() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CompoundButton.prototype.render = function () {\n var _a = this.props, _b = _a.primary, primary = _b === void 0 ? false : _b, styles = _a.styles, theme = _a.theme;\n return (React.createElement(BaseButton, __assign({}, this.props, { variantClassName: primary ? 'ms-Button--compoundPrimary' : 'ms-Button--compound', styles: getStyles(theme, styles, primary) })));\n };\n CompoundButton = __decorate([\n customizable('CompoundButton', ['theme', 'styles'], true)\n ], CompoundButton);\n return CompoundButton;\n}(React.Component));\nexport { CompoundButton };\n//# sourceMappingURL=CompoundButton.js.map","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { warn } from '../../Utilities';\nimport { ButtonType } from './Button.types';\nimport { DefaultButton } from './DefaultButton/DefaultButton';\nimport { ActionButton } from './ActionButton/ActionButton';\nimport { CompoundButton } from './CompoundButton/CompoundButton';\nimport { IconButton } from './IconButton/IconButton';\nimport { PrimaryButton } from './PrimaryButton/PrimaryButton';\n/**\n * This class is deprecated. Use the individual *Button components instead.\n * @deprecated Use the individual *Button components instead.\n * {@docCategory Button}\n */\nvar Button = /** @class */ (function (_super) {\n __extends(Button, _super);\n function Button(props) {\n var _this = _super.call(this, props) || this;\n warn(\"The Button component has been deprecated. Use specific variants instead. \" +\n \"(PrimaryButton, DefaultButton, IconButton, ActionButton, etc.)\");\n return _this;\n }\n Button.prototype.render = function () {\n var props = this.props;\n // eslint-disable-next-line deprecation/deprecation\n switch (props.buttonType) {\n case ButtonType.command:\n return React.createElement(ActionButton, __assign({}, props));\n case ButtonType.compound:\n return React.createElement(CompoundButton, __assign({}, props));\n case ButtonType.icon:\n return React.createElement(IconButton, __assign({}, props));\n case ButtonType.primary:\n return React.createElement(PrimaryButton, __assign({}, props));\n default:\n return React.createElement(DefaultButton, __assign({}, props));\n }\n };\n return Button;\n}(React.Component));\nexport { Button };\n//# sourceMappingURL=Button.js.map","import { __assign } from \"tslib\";\nimport { HighContrastSelector, getHighContrastNoAdjustStyle } from '../../Styling';\nimport { IsFocusVisibleClassName } from '../../Utilities';\nvar splitButtonDividerBaseStyles = function () {\n return {\n position: 'absolute',\n width: 1,\n right: 31,\n top: 8,\n bottom: 8,\n };\n};\nexport function standardStyles(theme) {\n var _a, _b, _c, _d, _e;\n var s = theme.semanticColors, p = theme.palette;\n var buttonBackground = s.buttonBackground;\n var buttonBackgroundPressed = s.buttonBackgroundPressed;\n var buttonBackgroundHovered = s.buttonBackgroundHovered;\n var buttonBackgroundDisabled = s.buttonBackgroundDisabled;\n var buttonText = s.buttonText;\n var buttonTextHovered = s.buttonTextHovered;\n var buttonTextDisabled = s.buttonTextDisabled;\n var buttonTextChecked = s.buttonTextChecked;\n var buttonTextCheckedHovered = s.buttonTextCheckedHovered;\n return {\n root: {\n backgroundColor: buttonBackground,\n color: buttonText,\n },\n rootHovered: {\n backgroundColor: buttonBackgroundHovered,\n color: buttonTextHovered,\n selectors: (_a = {},\n _a[HighContrastSelector] = {\n borderColor: 'Highlight',\n color: 'Highlight',\n },\n _a),\n },\n rootPressed: {\n backgroundColor: buttonBackgroundPressed,\n color: buttonTextChecked,\n },\n rootExpanded: {\n backgroundColor: buttonBackgroundPressed,\n color: buttonTextChecked,\n },\n rootChecked: {\n backgroundColor: buttonBackgroundPressed,\n color: buttonTextChecked,\n },\n rootCheckedHovered: {\n backgroundColor: buttonBackgroundPressed,\n color: buttonTextCheckedHovered,\n },\n rootDisabled: {\n color: buttonTextDisabled,\n backgroundColor: buttonBackgroundDisabled,\n selectors: (_b = {},\n _b[HighContrastSelector] = {\n color: 'GrayText',\n borderColor: 'GrayText',\n backgroundColor: 'Window',\n },\n _b),\n },\n // Split button styles\n splitButtonContainer: {\n selectors: (_c = {},\n _c[HighContrastSelector] = {\n border: 'none',\n },\n _c),\n },\n splitButtonMenuButton: {\n color: p.white,\n backgroundColor: 'transparent',\n selectors: {\n ':hover': {\n backgroundColor: p.neutralLight,\n selectors: (_d = {},\n _d[HighContrastSelector] = {\n color: 'Highlight',\n },\n _d),\n },\n },\n },\n splitButtonMenuButtonDisabled: {\n backgroundColor: s.buttonBackgroundDisabled,\n selectors: {\n ':hover': {\n backgroundColor: s.buttonBackgroundDisabled,\n },\n },\n },\n splitButtonDivider: __assign(__assign({}, splitButtonDividerBaseStyles()), { backgroundColor: p.neutralTertiaryAlt, selectors: (_e = {},\n _e[HighContrastSelector] = {\n backgroundColor: 'WindowText',\n },\n _e) }),\n splitButtonDividerDisabled: {\n backgroundColor: theme.palette.neutralTertiaryAlt,\n },\n splitButtonMenuButtonChecked: {\n backgroundColor: p.neutralQuaternaryAlt,\n selectors: {\n ':hover': {\n backgroundColor: p.neutralQuaternaryAlt,\n },\n },\n },\n splitButtonMenuButtonExpanded: {\n backgroundColor: p.neutralQuaternaryAlt,\n selectors: {\n ':hover': {\n backgroundColor: p.neutralQuaternaryAlt,\n },\n },\n },\n splitButtonMenuIcon: {\n color: s.buttonText,\n },\n splitButtonMenuIconDisabled: {\n color: s.buttonTextDisabled,\n },\n };\n}\nexport function primaryStyles(theme) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j;\n var p = theme.palette, s = theme.semanticColors;\n return {\n root: {\n backgroundColor: s.primaryButtonBackground,\n border: \"1px solid \".concat(s.primaryButtonBackground),\n color: s.primaryButtonText,\n selectors: (_a = {},\n _a[HighContrastSelector] = __assign({ color: 'Window', backgroundColor: 'WindowText', borderColor: 'WindowText' }, getHighContrastNoAdjustStyle()),\n _a[\".\".concat(IsFocusVisibleClassName, \" &:focus\")] = {\n selectors: {\n ':after': {\n border: \"none\",\n outlineColor: p.white,\n },\n },\n },\n _a),\n },\n rootHovered: {\n backgroundColor: s.primaryButtonBackgroundHovered,\n border: \"1px solid \".concat(s.primaryButtonBackgroundHovered),\n color: s.primaryButtonTextHovered,\n selectors: (_b = {},\n _b[HighContrastSelector] = {\n color: 'Window',\n backgroundColor: 'Highlight',\n borderColor: 'Highlight',\n },\n _b),\n },\n rootPressed: {\n backgroundColor: s.primaryButtonBackgroundPressed,\n border: \"1px solid \".concat(s.primaryButtonBackgroundPressed),\n color: s.primaryButtonTextPressed,\n selectors: (_c = {},\n _c[HighContrastSelector] = __assign({ color: 'Window', backgroundColor: 'WindowText', borderColor: 'WindowText' }, getHighContrastNoAdjustStyle()),\n _c),\n },\n rootExpanded: {\n backgroundColor: s.primaryButtonBackgroundPressed,\n color: s.primaryButtonTextPressed,\n },\n rootChecked: {\n backgroundColor: s.primaryButtonBackgroundPressed,\n color: s.primaryButtonTextPressed,\n },\n rootCheckedHovered: {\n backgroundColor: s.primaryButtonBackgroundPressed,\n color: s.primaryButtonTextPressed,\n },\n rootDisabled: {\n color: s.primaryButtonTextDisabled,\n backgroundColor: s.primaryButtonBackgroundDisabled,\n selectors: (_d = {},\n _d[HighContrastSelector] = {\n color: 'GrayText',\n borderColor: 'GrayText',\n backgroundColor: 'Window',\n },\n _d),\n },\n // Split button styles\n splitButtonContainer: {\n selectors: (_e = {},\n _e[HighContrastSelector] = {\n border: 'none',\n },\n _e),\n },\n splitButtonDivider: __assign(__assign({}, splitButtonDividerBaseStyles()), { backgroundColor: p.white, selectors: (_f = {},\n _f[HighContrastSelector] = {\n backgroundColor: 'Window',\n },\n _f) }),\n splitButtonMenuButton: {\n backgroundColor: s.primaryButtonBackground,\n color: s.primaryButtonText,\n selectors: (_g = {},\n _g[HighContrastSelector] = {\n backgroundColor: 'Canvas',\n },\n _g[':hover'] = {\n backgroundColor: s.primaryButtonBackgroundHovered,\n selectors: (_h = {},\n _h[HighContrastSelector] = {\n color: 'Highlight',\n },\n _h),\n },\n _g),\n },\n splitButtonMenuButtonDisabled: {\n backgroundColor: s.primaryButtonBackgroundDisabled,\n selectors: {\n ':hover': {\n backgroundColor: s.primaryButtonBackgroundDisabled,\n },\n },\n },\n splitButtonMenuButtonChecked: {\n backgroundColor: s.primaryButtonBackgroundPressed,\n selectors: {\n ':hover': {\n backgroundColor: s.primaryButtonBackgroundPressed,\n },\n },\n },\n splitButtonMenuButtonExpanded: {\n backgroundColor: s.primaryButtonBackgroundPressed,\n selectors: {\n ':hover': {\n backgroundColor: s.primaryButtonBackgroundPressed,\n },\n },\n },\n splitButtonMenuIcon: {\n color: s.primaryButtonText,\n },\n splitButtonMenuIconDisabled: {\n color: p.neutralTertiary,\n selectors: (_j = {},\n _j[HighContrastSelector] = {\n color: 'GrayText',\n },\n _j),\n },\n };\n}\n//# sourceMappingURL=ButtonThemes.js.map","import { __assign } from \"tslib\";\nimport { concatStyleSets, getFocusStyle, HighContrastSelector, getHighContrastNoAdjustStyle } from '../../../Styling';\nimport { memoizeFunction } from '../../../Utilities';\nimport { getStyles as getBaseButtonStyles } from '../BaseButton.styles';\nimport { getStyles as getSplitButtonStyles } from '../SplitButton/SplitButton.styles';\nimport { ButtonGlobalClassNames } from '../BaseButton.classNames';\nexport var getStyles = memoizeFunction(function (theme, customStyles, focusInset, focusColor) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;\n var baseButtonStyles = getBaseButtonStyles(theme);\n var baseSplitButtonStyles = getSplitButtonStyles(theme);\n var p = theme.palette, semanticColors = theme.semanticColors;\n var commandButtonHighContrastFocus = {\n left: 4,\n top: 4,\n bottom: 4,\n right: 4,\n border: 'none',\n };\n var commandButtonStyles = {\n root: [\n getFocusStyle(theme, {\n inset: 2,\n highContrastStyle: commandButtonHighContrastFocus,\n borderColor: 'transparent',\n }),\n theme.fonts.medium,\n {\n minWidth: '40px',\n backgroundColor: p.white,\n color: p.neutralPrimary,\n padding: '0 4px',\n border: 'none',\n borderRadius: 0,\n selectors: (_a = {},\n _a[HighContrastSelector] = {\n border: 'none',\n },\n _a),\n },\n ],\n rootHovered: {\n backgroundColor: p.neutralLighter,\n color: p.neutralDark,\n selectors: (_b = {},\n _b[HighContrastSelector] = {\n color: 'Highlight',\n },\n _b[\".\".concat(ButtonGlobalClassNames.msButtonIcon)] = {\n color: p.themeDarkAlt,\n },\n _b[\".\".concat(ButtonGlobalClassNames.msButtonMenuIcon)] = {\n color: p.neutralPrimary,\n },\n _b),\n },\n rootPressed: {\n backgroundColor: p.neutralLight,\n color: p.neutralDark,\n selectors: (_c = {},\n _c[\".\".concat(ButtonGlobalClassNames.msButtonIcon)] = {\n color: p.themeDark,\n },\n _c[\".\".concat(ButtonGlobalClassNames.msButtonMenuIcon)] = {\n color: p.neutralPrimary,\n },\n _c),\n },\n rootChecked: {\n backgroundColor: p.neutralLight,\n color: p.neutralDark,\n selectors: (_d = {},\n _d[\".\".concat(ButtonGlobalClassNames.msButtonIcon)] = {\n color: p.themeDark,\n },\n _d[\".\".concat(ButtonGlobalClassNames.msButtonMenuIcon)] = {\n color: p.neutralPrimary,\n },\n _d),\n },\n rootCheckedHovered: {\n backgroundColor: p.neutralQuaternaryAlt,\n selectors: (_e = {},\n _e[\".\".concat(ButtonGlobalClassNames.msButtonIcon)] = {\n color: p.themeDark,\n },\n _e[\".\".concat(ButtonGlobalClassNames.msButtonMenuIcon)] = {\n color: p.neutralPrimary,\n },\n _e),\n },\n rootExpanded: {\n backgroundColor: p.neutralLight,\n color: p.neutralDark,\n selectors: (_f = {},\n _f[\".\".concat(ButtonGlobalClassNames.msButtonIcon)] = {\n color: p.themeDark,\n },\n _f[\".\".concat(ButtonGlobalClassNames.msButtonMenuIcon)] = {\n color: p.neutralPrimary,\n },\n _f),\n },\n rootExpandedHovered: {\n backgroundColor: p.neutralQuaternaryAlt,\n },\n rootDisabled: {\n backgroundColor: p.white,\n selectors: (_g = {},\n _g[\".\".concat(ButtonGlobalClassNames.msButtonIcon)] = {\n color: semanticColors.disabledBodySubtext,\n selectors: (_h = {},\n _h[HighContrastSelector] = __assign({ color: 'GrayText' }, getHighContrastNoAdjustStyle()),\n _h),\n },\n _g[HighContrastSelector] = __assign({ color: 'GrayText', backgroundColor: 'Window' }, getHighContrastNoAdjustStyle()),\n _g),\n },\n // Split button styles\n splitButtonContainer: {\n height: '100%',\n selectors: (_j = {},\n _j[HighContrastSelector] = {\n border: 'none',\n },\n _j),\n },\n splitButtonDividerDisabled: {\n selectors: (_k = {},\n _k[HighContrastSelector] = {\n backgroundColor: 'Window',\n },\n _k),\n },\n splitButtonDivider: {\n backgroundColor: p.neutralTertiaryAlt,\n },\n splitButtonMenuButton: {\n backgroundColor: p.white,\n border: 'none',\n borderTopRightRadius: '0',\n borderBottomRightRadius: '0',\n color: p.neutralSecondary,\n selectors: {\n ':hover': {\n backgroundColor: p.neutralLighter,\n color: p.neutralDark,\n selectors: (_l = {},\n _l[HighContrastSelector] = {\n color: 'Highlight',\n },\n _l[\".\".concat(ButtonGlobalClassNames.msButtonIcon)] = {\n color: p.neutralPrimary,\n },\n _l),\n },\n ':active': {\n backgroundColor: p.neutralLight,\n selectors: (_m = {},\n _m[\".\".concat(ButtonGlobalClassNames.msButtonIcon)] = {\n color: p.neutralPrimary,\n },\n _m),\n },\n },\n },\n splitButtonMenuButtonDisabled: {\n backgroundColor: p.white,\n selectors: (_o = {},\n _o[HighContrastSelector] = __assign({ color: 'GrayText', border: 'none', backgroundColor: 'Window' }, getHighContrastNoAdjustStyle()),\n _o),\n },\n splitButtonMenuButtonChecked: {\n backgroundColor: p.neutralLight,\n color: p.neutralDark,\n selectors: {\n ':hover': {\n backgroundColor: p.neutralQuaternaryAlt,\n },\n },\n },\n splitButtonMenuButtonExpanded: {\n backgroundColor: p.neutralLight,\n color: p.black,\n selectors: {\n ':hover': {\n backgroundColor: p.neutralQuaternaryAlt,\n },\n },\n },\n splitButtonMenuIcon: {\n color: p.neutralPrimary,\n },\n splitButtonMenuIconDisabled: {\n color: p.neutralTertiary,\n },\n label: {\n fontWeight: 'normal', // theme.fontWeights.semibold,\n },\n icon: {\n color: p.themePrimary,\n },\n menuIcon: (_p = {\n color: p.neutralSecondary\n },\n _p[HighContrastSelector] = {\n color: 'GrayText',\n },\n _p),\n };\n return concatStyleSets(baseButtonStyles, baseSplitButtonStyles, commandButtonStyles, customStyles);\n});\n//# sourceMappingURL=CommandBarButton.styles.js.map","import { __assign, __decorate, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { BaseButton } from '../BaseButton';\nimport { customizable, nullRender } from '../../../Utilities';\nimport { getStyles } from './CommandBarButton.styles';\n/**\n * {@docCategory Button}\n */\nvar CommandBarButton = /** @class */ (function (_super) {\n __extends(CommandBarButton, _super);\n function CommandBarButton() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CommandBarButton.prototype.render = function () {\n var _a = this.props, styles = _a.styles, theme = _a.theme;\n return (React.createElement(BaseButton, __assign({}, this.props, { variantClassName: \"ms-Button--commandBar\", styles: getStyles(theme, styles), onRenderDescription: nullRender })));\n };\n CommandBarButton = __decorate([\n customizable('CommandBarButton', ['theme', 'styles'], true)\n ], CommandBarButton);\n return CommandBarButton;\n}(React.Component));\nexport { CommandBarButton };\n//# sourceMappingURL=CommandBarButton.js.map","import { ActionButton } from '../ActionButton/ActionButton';\n/**\n * {@docCategory Button}\n */\nexport var CommandButton = ActionButton;\n//# sourceMappingURL=CommandButton.js.map","import { concatStyleSets, FontWeights } from '../../../Styling';\nimport { memoizeFunction } from '../../../Utilities';\nimport { getStyles as getBaseButtonStyles } from '../BaseButton.styles';\nimport { getStyles as getSplitButtonStyles } from '../SplitButton/SplitButton.styles';\nimport { primaryStyles, standardStyles } from '../ButtonThemes';\nvar DEFAULT_BUTTON_HEIGHT = '32px';\nvar DEFAULT_BUTTON_MIN_WIDTH = '80px';\nexport var getStyles = memoizeFunction(function (theme, customStyles, primary) {\n var baseButtonStyles = getBaseButtonStyles(theme);\n var splitButtonStyles = getSplitButtonStyles(theme);\n var defaultButtonStyles = {\n root: {\n minWidth: DEFAULT_BUTTON_MIN_WIDTH,\n height: DEFAULT_BUTTON_HEIGHT,\n },\n label: {\n fontWeight: FontWeights.semibold,\n },\n };\n return concatStyleSets(baseButtonStyles, defaultButtonStyles, primary ? primaryStyles(theme) : standardStyles(theme), splitButtonStyles, customStyles);\n});\n//# sourceMappingURL=DefaultButton.styles.js.map","import { __assign, __decorate, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { BaseButton } from '../BaseButton';\nimport { customizable, nullRender } from '../../../Utilities';\nimport { getStyles } from './DefaultButton.styles';\n/**\n * {@docCategory Button}\n */\nvar DefaultButton = /** @class */ (function (_super) {\n __extends(DefaultButton, _super);\n function DefaultButton() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n DefaultButton.prototype.render = function () {\n var _a = this.props, _b = _a.primary, primary = _b === void 0 ? false : _b, styles = _a.styles, theme = _a.theme;\n return (React.createElement(BaseButton, __assign({}, this.props, { variantClassName: primary ? 'ms-Button--primary' : 'ms-Button--default', styles: getStyles(theme, styles, primary), onRenderDescription: nullRender })));\n };\n DefaultButton = __decorate([\n customizable('DefaultButton', ['theme', 'styles'], true)\n ], DefaultButton);\n return DefaultButton;\n}(React.Component));\nexport { DefaultButton };\n//# sourceMappingURL=DefaultButton.js.map","import { concatStyleSets, HighContrastSelector } from '../../../Styling';\nimport { memoizeFunction } from '../../../Utilities';\nimport { getStyles as getBaseButtonStyles } from '../BaseButton.styles';\nimport { getStyles as getSplitButtonStyles } from '../SplitButton/SplitButton.styles';\nexport var getStyles = memoizeFunction(function (theme, customStyles) {\n var _a;\n var baseButtonStyles = getBaseButtonStyles(theme);\n var splitButtonStyles = getSplitButtonStyles(theme);\n var palette = theme.palette, semanticColors = theme.semanticColors;\n var iconButtonStyles = {\n root: {\n padding: '0 4px',\n width: '32px',\n height: '32px',\n backgroundColor: 'transparent',\n border: 'none',\n color: semanticColors.link,\n },\n rootHovered: {\n color: palette.themeDarkAlt,\n backgroundColor: palette.neutralLighter,\n selectors: (_a = {},\n _a[HighContrastSelector] = {\n borderColor: 'Highlight',\n color: 'Highlight',\n },\n _a),\n },\n rootHasMenu: {\n width: 'auto',\n },\n rootPressed: {\n color: palette.themeDark,\n backgroundColor: palette.neutralLight,\n },\n rootExpanded: {\n color: palette.themeDark,\n backgroundColor: palette.neutralLight,\n },\n rootChecked: {\n color: palette.themeDark,\n backgroundColor: palette.neutralLight,\n },\n rootCheckedHovered: {\n color: palette.themeDark,\n backgroundColor: palette.neutralQuaternaryAlt,\n },\n rootDisabled: {\n color: palette.neutralTertiaryAlt,\n },\n };\n return concatStyleSets(baseButtonStyles, iconButtonStyles, splitButtonStyles, customStyles);\n});\n//# sourceMappingURL=IconButton.styles.js.map","import { __assign, __decorate, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { BaseButton } from '../BaseButton';\nimport { customizable, nullRender } from '../../../Utilities';\nimport { getStyles } from './IconButton.styles';\n/**\n * {@docCategory Button}\n */\nvar IconButton = /** @class */ (function (_super) {\n __extends(IconButton, _super);\n function IconButton() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n IconButton.prototype.render = function () {\n var _a = this.props, styles = _a.styles, theme = _a.theme;\n return (React.createElement(BaseButton, __assign({}, this.props, { variantClassName: \"ms-Button--icon\", styles: getStyles(theme, styles), onRenderText: nullRender, onRenderDescription: nullRender })));\n };\n IconButton = __decorate([\n customizable('IconButton', ['theme', 'styles'], true)\n ], IconButton);\n return IconButton;\n}(React.Component));\nexport { IconButton };\n//# sourceMappingURL=IconButton.js.map","import { __assign, __decorate, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { customizable, nullRender } from '../../../Utilities';\nimport { DefaultButton } from '../DefaultButton/DefaultButton';\n/**\n * {@docCategory Button}\n */\nvar PrimaryButton = /** @class */ (function (_super) {\n __extends(PrimaryButton, _super);\n function PrimaryButton() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PrimaryButton.prototype.render = function () {\n return React.createElement(DefaultButton, __assign({}, this.props, { primary: true, onRenderDescription: nullRender }));\n };\n PrimaryButton = __decorate([\n customizable('PrimaryButton', ['theme', 'styles'], true)\n ], PrimaryButton);\n return PrimaryButton;\n}(React.Component));\nexport { PrimaryButton };\n//# sourceMappingURL=PrimaryButton.js.map","import { __assign } from \"tslib\";\nimport { HighContrastSelector, concatStyleSets, getFocusStyle, getHighContrastNoAdjustStyle } from '../../../Styling';\nimport { memoizeFunction } from '../../../Utilities';\nexport var getStyles = memoizeFunction(function (theme, customStyles) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;\n var effects = theme.effects, palette = theme.palette, semanticColors = theme.semanticColors;\n var buttonHighContrastFocus = {\n left: -2,\n top: -2,\n bottom: -2,\n right: -2,\n border: 'none',\n };\n var splitButtonDividerBaseStyles = {\n position: 'absolute',\n width: 1,\n right: 31,\n top: 8,\n bottom: 8,\n };\n var splitButtonStyles = {\n splitButtonContainer: [\n getFocusStyle(theme, { highContrastStyle: buttonHighContrastFocus, inset: 2, pointerEvents: 'none' }),\n {\n display: 'inline-flex',\n selectors: {\n '.ms-Button--default': {\n borderTopRightRadius: '0',\n borderBottomRightRadius: '0',\n borderRight: 'none',\n flexGrow: '1',\n },\n '.ms-Button--primary': {\n borderTopRightRadius: '0',\n borderBottomRightRadius: '0',\n border: 'none',\n flexGrow: '1',\n selectors: (_a = {},\n _a[HighContrastSelector] = __assign({ color: 'WindowText', backgroundColor: 'Window', border: '1px solid WindowText', borderRightWidth: '0' }, getHighContrastNoAdjustStyle()),\n _a[':hover'] = {\n border: 'none',\n },\n _a[':active'] = {\n border: 'none',\n },\n _a),\n },\n '.ms-Button--primary + .ms-Button': {\n border: 'none',\n selectors: (_b = {},\n _b[HighContrastSelector] = {\n border: '1px solid WindowText',\n borderLeftWidth: '0',\n },\n _b),\n },\n },\n },\n ],\n splitButtonContainerHovered: {\n selectors: {\n '.ms-Button--primary': {\n selectors: (_c = {},\n _c[HighContrastSelector] = {\n color: 'Window',\n backgroundColor: 'Highlight',\n },\n _c),\n },\n '.ms-Button.is-disabled': {\n color: semanticColors.buttonTextDisabled,\n selectors: (_d = {},\n _d[HighContrastSelector] = {\n color: 'GrayText',\n borderColor: 'GrayText',\n backgroundColor: 'Window',\n },\n _d),\n },\n },\n },\n splitButtonContainerChecked: {\n selectors: {\n '.ms-Button--primary': {\n selectors: (_e = {},\n _e[HighContrastSelector] = __assign({ color: 'Window', backgroundColor: 'WindowText' }, getHighContrastNoAdjustStyle()),\n _e),\n },\n },\n },\n splitButtonContainerCheckedHovered: {\n selectors: {\n '.ms-Button--primary': {\n selectors: (_f = {},\n _f[HighContrastSelector] = __assign({ color: 'Window', backgroundColor: 'WindowText' }, getHighContrastNoAdjustStyle()),\n _f),\n },\n },\n },\n splitButtonContainerFocused: {\n outline: 'none!important',\n },\n splitButtonMenuButton: (_g = {\n padding: 6,\n height: 'auto',\n boxSizing: 'border-box',\n borderRadius: 0,\n borderTopRightRadius: effects.roundedCorner2,\n borderBottomRightRadius: effects.roundedCorner2,\n border: \"1px solid \".concat(palette.neutralSecondaryAlt),\n borderLeft: 'none',\n outline: 'transparent',\n userSelect: 'none',\n display: 'inline-block',\n textDecoration: 'none',\n textAlign: 'center',\n cursor: 'pointer',\n verticalAlign: 'top',\n width: 32,\n marginLeft: -1,\n marginTop: 0,\n marginRight: 0,\n marginBottom: 0\n },\n _g[HighContrastSelector] = {\n '.ms-Button-menuIcon': {\n color: 'WindowText',\n },\n },\n _g),\n splitButtonDivider: __assign(__assign({}, splitButtonDividerBaseStyles), { selectors: (_h = {},\n _h[HighContrastSelector] = {\n backgroundColor: 'WindowText',\n },\n _h) }),\n splitButtonDividerDisabled: __assign(__assign({}, splitButtonDividerBaseStyles), { selectors: (_j = {},\n _j[HighContrastSelector] = {\n backgroundColor: 'GrayText',\n },\n _j) }),\n splitButtonMenuButtonDisabled: {\n pointerEvents: 'none',\n border: 'none',\n selectors: (_k = {\n ':hover': {\n cursor: 'default',\n },\n '.ms-Button--primary': {\n selectors: (_l = {},\n _l[HighContrastSelector] = {\n color: 'GrayText',\n borderColor: 'GrayText',\n backgroundColor: 'Window',\n },\n _l),\n },\n '.ms-Button-menuIcon': {\n selectors: (_m = {},\n _m[HighContrastSelector] = {\n color: 'GrayText',\n },\n _m),\n }\n },\n _k[HighContrastSelector] = {\n color: 'GrayText',\n border: '1px solid GrayText',\n backgroundColor: 'Window',\n },\n _k),\n },\n splitButtonFlexContainer: {\n display: 'flex',\n height: '100%',\n flexWrap: 'nowrap',\n justifyContent: 'center',\n alignItems: 'center',\n },\n splitButtonContainerDisabled: {\n outline: 'none',\n border: 'none',\n selectors: (_o = {},\n _o[HighContrastSelector] = __assign({ color: 'GrayText', borderColor: 'GrayText', backgroundColor: 'Window' }, getHighContrastNoAdjustStyle()),\n _o),\n },\n splitButtonMenuFocused: __assign({}, getFocusStyle(theme, { highContrastStyle: buttonHighContrastFocus, inset: 2 })),\n };\n return concatStyleSets(splitButtonStyles, customStyles);\n});\n//# sourceMappingURL=SplitButton.styles.js.map","var _a;\nimport { __assign } from \"tslib\";\nimport { DirectionalHint } from '../../common/DirectionalHint';\nimport { getScrollbarWidth, getRTL } from '../../Utilities';\nimport { RectangleEdge } from './positioning.types';\nimport { Rectangle } from '../../Utilities';\nfunction _createPositionData(targetEdge, alignmentEdge, isAuto) {\n return {\n targetEdge: targetEdge,\n alignmentEdge: alignmentEdge,\n isAuto: isAuto,\n };\n}\n// Currently the beakPercent is set to 50 for all positions meaning that it should tend to the center of the target\nvar DirectionalDictionary = (_a = {},\n _a[DirectionalHint.topLeftEdge] = _createPositionData(RectangleEdge.top, RectangleEdge.left),\n _a[DirectionalHint.topCenter] = _createPositionData(RectangleEdge.top),\n _a[DirectionalHint.topRightEdge] = _createPositionData(RectangleEdge.top, RectangleEdge.right),\n _a[DirectionalHint.topAutoEdge] = _createPositionData(RectangleEdge.top, undefined, true),\n _a[DirectionalHint.bottomLeftEdge] = _createPositionData(RectangleEdge.bottom, RectangleEdge.left),\n _a[DirectionalHint.bottomCenter] = _createPositionData(RectangleEdge.bottom),\n _a[DirectionalHint.bottomRightEdge] = _createPositionData(RectangleEdge.bottom, RectangleEdge.right),\n _a[DirectionalHint.bottomAutoEdge] = _createPositionData(RectangleEdge.bottom, undefined, true),\n _a[DirectionalHint.leftTopEdge] = _createPositionData(RectangleEdge.left, RectangleEdge.top),\n _a[DirectionalHint.leftCenter] = _createPositionData(RectangleEdge.left),\n _a[DirectionalHint.leftBottomEdge] = _createPositionData(RectangleEdge.left, RectangleEdge.bottom),\n _a[DirectionalHint.rightTopEdge] = _createPositionData(RectangleEdge.right, RectangleEdge.top),\n _a[DirectionalHint.rightCenter] = _createPositionData(RectangleEdge.right),\n _a[DirectionalHint.rightBottomEdge] = _createPositionData(RectangleEdge.right, RectangleEdge.bottom),\n _a);\nfunction _isRectangleWithinBounds(rect, boundingRect) {\n if (rect.top < boundingRect.top) {\n return false;\n }\n if (rect.bottom > boundingRect.bottom) {\n return false;\n }\n if (rect.left < boundingRect.left) {\n return false;\n }\n if (rect.right > boundingRect.right) {\n return false;\n }\n return true;\n}\n/**\n * Gets all of the edges of a rectangle that are outside of the given bounds.\n * If there are no out of bounds edges it returns an empty array.\n */\nfunction _getOutOfBoundsEdges(rect, boundingRect) {\n var outOfBounds = [];\n if (rect.top < boundingRect.top) {\n outOfBounds.push(RectangleEdge.top);\n }\n if (rect.bottom > boundingRect.bottom) {\n outOfBounds.push(RectangleEdge.bottom);\n }\n if (rect.left < boundingRect.left) {\n outOfBounds.push(RectangleEdge.left);\n }\n if (rect.right > boundingRect.right) {\n outOfBounds.push(RectangleEdge.right);\n }\n return outOfBounds;\n}\nfunction _getEdgeValue(rect, edge) {\n return rect[RectangleEdge[edge]];\n}\nfunction _setEdgeValue(rect, edge, value) {\n rect[RectangleEdge[edge]] = value;\n return rect;\n}\n/**\n * Returns the middle value of an edge. Only returns 1 value rather than xy coordinates as\n * the itself already contains the other coordinate.\n * For instance, a bottom edge's current value is it's y coordinate, so the number returned is the x.\n */\nfunction _getCenterValue(rect, edge) {\n var edges = _getFlankingEdges(edge);\n return (_getEdgeValue(rect, edges.positiveEdge) + _getEdgeValue(rect, edges.negativeEdge)) / 2;\n}\n/**\n * Flips the value depending on the edge.\n * If the edge is a \"positive\" edge, Top or Left, then the value should stay as it is.\n * If the edge is a \"negative\" edge, Bottom or Right, then the value should be flipped.\n * This is to account for the fact that the coordinates are effectively reserved in certain cases for the\n * \"negative\" edges.\n *\n * For example, when testing to see if a bottom edge 1 is within the bounds of another bottom edge 2:\n * If edge 1 is greater than edge 2 then it is out of bounds. This is reversed for top edge 1 and top edge 2.\n * If top edge 1 is less than edge 2 then it is out of bounds.\n */\nfunction _getRelativeEdgeValue(edge, value) {\n if (edge > 0) {\n return value;\n }\n else {\n return value * -1;\n }\n}\nfunction _getRelativeRectEdgeValue(edge, rect) {\n return _getRelativeEdgeValue(edge, _getEdgeValue(rect, edge));\n}\nfunction _getRelativeEdgeDifference(rect, hostRect, edge) {\n var edgeDifference = _getEdgeValue(rect, edge) - _getEdgeValue(hostRect, edge);\n return _getRelativeEdgeValue(edge, edgeDifference);\n}\n/**\n * Moves the edge of a rectangle to the value given. It only moves the edge in a linear direction based on that edge.\n * For example, if it's a bottom edge it will only change y coordinates.\n * if maintainSize is set to false, it will only adjust the specified edge value\n */\nfunction _moveEdge(rect, edge, newValue, maintainSize) {\n if (maintainSize === void 0) { maintainSize = true; }\n var difference = _getEdgeValue(rect, edge) - newValue;\n var returnRect = _setEdgeValue(rect, edge, newValue);\n if (maintainSize) {\n returnRect = _setEdgeValue(rect, edge * -1, _getEdgeValue(rect, edge * -1) - difference);\n }\n return returnRect;\n}\n/**\n * Aligns the edge on the passed in rect to the target. If there is a gap then it will have that space between the two.\n */\nfunction _alignEdges(rect, target, edge, gap) {\n if (gap === void 0) { gap = 0; }\n return _moveEdge(rect, edge, _getEdgeValue(target, edge) + _getRelativeEdgeValue(edge, gap));\n}\n/**\n * Aligns the targetEdge on the passed in target to the rects corresponding opposite edge.\n * For instance if targetEdge is bottom, then the rects top will be moved to match it.\n */\nfunction _alignOppositeEdges(rect, target, targetEdge, gap) {\n if (gap === void 0) { gap = 0; }\n var oppositeEdge = targetEdge * -1;\n var adjustedGap = _getRelativeEdgeValue(oppositeEdge, gap);\n return _moveEdge(rect, targetEdge * -1, _getEdgeValue(target, targetEdge) + adjustedGap);\n}\n/**\n * Tests to see if the given edge is within the bounds of the given rectangle.\n */\nfunction _isEdgeInBounds(rect, bounds, edge) {\n var adjustedRectValue = _getRelativeRectEdgeValue(edge, rect);\n return adjustedRectValue > _getRelativeRectEdgeValue(edge, bounds);\n}\n/**\n * Returns a measure of how much a rectangle is out of bounds for a given alignment;\n * this can be used to compare which rectangle is more or less out of bounds.\n * A value of 0 means the rectangle is entirely in bounds\n */\nfunction _getOutOfBoundsDegree(rect, bounds) {\n var breakingEdges = _getOutOfBoundsEdges(rect, bounds);\n var total = 0;\n for (var _i = 0, breakingEdges_1 = breakingEdges; _i < breakingEdges_1.length; _i++) {\n var edge = breakingEdges_1[_i];\n total += Math.pow(_getRelativeEdgeDifference(rect, bounds, edge), 2);\n }\n return total;\n}\n/**\n * Attempts to move the rectangle through various sides of the target to find a place to fit.\n * If no fit is found, the least bad option should be returned.\n */\nfunction _flipToFit(rect, target, bounding, positionData, gap) {\n if (gap === void 0) { gap = 0; }\n var directions = [\n RectangleEdge.left,\n RectangleEdge.right,\n RectangleEdge.bottom,\n RectangleEdge.top,\n ];\n // In RTL page, RectangleEdge.right has a higher priority than RectangleEdge.left, so the order should be updated.\n if (getRTL()) {\n directions[0] *= -1;\n directions[1] *= -1;\n }\n var currentEstimate = rect;\n var currentEdge = positionData.targetEdge;\n var currentAlignment = positionData.alignmentEdge;\n // keep track of least bad option, in case no sides fit\n var oobDegree;\n var bestEdge = currentEdge;\n var bestAlignment = currentAlignment;\n // Keep switching sides until one is found with enough space.\n // If all sides don't fit then return the unmodified element.\n for (var i = 0; i < 4; i++) {\n if (!_isEdgeInBounds(currentEstimate, bounding, currentEdge)) {\n // update least-bad edges\n var currentOOBDegree = _getOutOfBoundsDegree(currentEstimate, bounding);\n if (!oobDegree || currentOOBDegree < oobDegree) {\n oobDegree = currentOOBDegree;\n bestEdge = currentEdge;\n bestAlignment = currentAlignment;\n }\n directions.splice(directions.indexOf(currentEdge), 1);\n if (directions.length > 0) {\n if (directions.indexOf(currentEdge * -1) > -1) {\n currentEdge = currentEdge * -1;\n }\n else {\n currentAlignment = currentEdge;\n currentEdge = directions.slice(-1)[0];\n }\n currentEstimate = _estimatePosition(rect, target, { targetEdge: currentEdge, alignmentEdge: currentAlignment }, gap);\n }\n }\n else {\n return {\n elementRectangle: currentEstimate,\n targetEdge: currentEdge,\n alignmentEdge: currentAlignment,\n };\n }\n }\n // nothing fits, use least-bad option\n currentEstimate = _estimatePosition(rect, target, { targetEdge: bestEdge, alignmentEdge: bestAlignment }, gap);\n return {\n elementRectangle: currentEstimate,\n targetEdge: bestEdge,\n alignmentEdge: bestAlignment,\n };\n}\n/**\n * Flips only the alignment edge of an element rectangle. This is used instead of nudging the alignment edges\n * into position, when `alignTargetEdge` is specified.\n */\nfunction _flipAlignmentEdge(elementEstimate, target, gap, coverTarget) {\n var alignmentEdge = elementEstimate.alignmentEdge, targetEdge = elementEstimate.targetEdge, elementRectangle = elementEstimate.elementRectangle;\n var oppositeEdge = alignmentEdge * -1;\n var newEstimate = _estimatePosition(elementRectangle, target, { targetEdge: targetEdge, alignmentEdge: oppositeEdge }, gap, coverTarget);\n return {\n elementRectangle: newEstimate,\n targetEdge: targetEdge,\n alignmentEdge: oppositeEdge,\n };\n}\n/**\n * Adjusts a element rectangle to fit within the bounds given. If directionalHintFixed or covertarget is passed in\n * then the element will not flip sides on the target. They will, however, be nudged to fit within the bounds given.\n */\nfunction _adjustFitWithinBounds(element, target, bounding, positionData, gap, directionalHintFixed, coverTarget) {\n if (gap === void 0) { gap = 0; }\n var alignmentEdge = positionData.alignmentEdge, alignTargetEdge = positionData.alignTargetEdge;\n var elementEstimate = {\n elementRectangle: element,\n targetEdge: positionData.targetEdge,\n alignmentEdge: alignmentEdge,\n };\n if (!directionalHintFixed && !coverTarget) {\n elementEstimate = _flipToFit(element, target, bounding, positionData, gap);\n }\n var outOfBounds = _getOutOfBoundsEdges(elementEstimate.elementRectangle, bounding);\n // if directionalHintFixed is specified, we need to force the target edge to not change\n // we need *-1 because targetEdge refers to the target's edge; the callout edge is the opposite\n var fixedEdge = directionalHintFixed ? -elementEstimate.targetEdge : undefined;\n if (outOfBounds.length > 0) {\n if (alignTargetEdge) {\n // The edge opposite to the alignment edge might be out of bounds.\n // Flip alignment to see if we can get it within bounds.\n if (elementEstimate.alignmentEdge && outOfBounds.indexOf(elementEstimate.alignmentEdge * -1) > -1) {\n var flippedElementEstimate = _flipAlignmentEdge(elementEstimate, target, gap, coverTarget);\n if (_isRectangleWithinBounds(flippedElementEstimate.elementRectangle, bounding)) {\n return flippedElementEstimate;\n }\n else {\n // If the flipped elements edges are still out of bounds, try nudging it.\n elementEstimate = _alignOutOfBoundsEdges(_getOutOfBoundsEdges(flippedElementEstimate.elementRectangle, bounding), elementEstimate, bounding, fixedEdge);\n }\n }\n else {\n elementEstimate = _alignOutOfBoundsEdges(outOfBounds, elementEstimate, bounding, fixedEdge);\n }\n }\n else {\n elementEstimate = _alignOutOfBoundsEdges(outOfBounds, elementEstimate, bounding, fixedEdge);\n }\n }\n return elementEstimate;\n}\n/**\n * Iterates through a list of out of bounds edges and tries to nudge and align them.\n * @param outOfBoundsEdges - Array of edges that are out of bounds\n * @param elementEstimate - The current element positioning estimate\n * @param bounding - The current bounds\n * @param preserveEdge - Specify an edge that should not be modified\n */\nfunction _alignOutOfBoundsEdges(outOfBoundsEdges, elementEstimate, bounding, preserveEdge) {\n for (var _i = 0, outOfBoundsEdges_1 = outOfBoundsEdges; _i < outOfBoundsEdges_1.length; _i++) {\n var direction = outOfBoundsEdges_1[_i];\n var edgeAttempt = void 0;\n // if preserveEdge is specified, do not call _alignEdges, skip directly to _moveEdge\n // this is because _alignEdges will move the opposite edge\n if (preserveEdge && preserveEdge === direction * -1) {\n edgeAttempt = _moveEdge(elementEstimate.elementRectangle, direction, _getEdgeValue(bounding, direction), false);\n elementEstimate.forcedInBounds = true;\n }\n else {\n edgeAttempt = _alignEdges(elementEstimate.elementRectangle, bounding, direction);\n var inBounds = _isEdgeInBounds(edgeAttempt, bounding, direction * -1);\n // only update estimate if the attempt didn't break out of the opposite bounding edge\n if (!inBounds) {\n edgeAttempt = _moveEdge(edgeAttempt, direction * -1, _getEdgeValue(bounding, direction * -1), false);\n elementEstimate.forcedInBounds = true;\n }\n }\n elementEstimate.elementRectangle = edgeAttempt;\n }\n return elementEstimate;\n}\n/**\n * Moves the middle point on an edge to the point given.\n * Only moves in one direction. For instance if a bottom edge is passed in, then\n * the bottom edge will be moved in the x axis to match the point.\n */\nfunction _centerEdgeToPoint(rect, edge, point) {\n var positiveEdge = _getFlankingEdges(edge).positiveEdge;\n var elementMiddle = _getCenterValue(rect, edge);\n var distanceToMiddle = elementMiddle - _getEdgeValue(rect, positiveEdge);\n return _moveEdge(rect, positiveEdge, point - distanceToMiddle);\n}\n/**\n * Moves the element rectangle to be appropriately positioned relative to a given target.\n * Does not flip or adjust the element.\n */\nfunction _estimatePosition(elementToPosition, target, positionData, gap, coverTarget) {\n if (gap === void 0) { gap = 0; }\n var estimatedElementPosition = new Rectangle(elementToPosition.left, elementToPosition.right, elementToPosition.top, elementToPosition.bottom);\n var alignmentEdge = positionData.alignmentEdge, targetEdge = positionData.targetEdge;\n var elementEdge = coverTarget ? targetEdge : targetEdge * -1;\n estimatedElementPosition = coverTarget\n ? _alignEdges(estimatedElementPosition, target, targetEdge, gap)\n : _alignOppositeEdges(estimatedElementPosition, target, targetEdge, gap);\n // if no alignment edge is provided it's supposed to be centered.\n if (!alignmentEdge) {\n var targetMiddlePoint = _getCenterValue(target, targetEdge);\n estimatedElementPosition = _centerEdgeToPoint(estimatedElementPosition, elementEdge, targetMiddlePoint);\n }\n else {\n estimatedElementPosition = _alignEdges(estimatedElementPosition, target, alignmentEdge);\n }\n return estimatedElementPosition;\n}\n/**\n * Returns the non-opposite edges of the target edge.\n * For instance if bottom is passed in then left and right will be returned.\n */\nfunction _getFlankingEdges(edge) {\n if (edge === RectangleEdge.top || edge === RectangleEdge.bottom) {\n return {\n positiveEdge: RectangleEdge.left,\n negativeEdge: RectangleEdge.right,\n };\n }\n else {\n return {\n positiveEdge: RectangleEdge.top,\n negativeEdge: RectangleEdge.bottom,\n };\n }\n}\n/**\n * Retrieve the final value for the return edge of `elementRectangle`. If the `elementRectangle` is closer to one side\n * of the bounds versus the other, the return edge is flipped to grow inward.\n */\nfunction _finalizeReturnEdge(elementRectangle, returnEdge, bounds) {\n if (bounds &&\n Math.abs(_getRelativeEdgeDifference(elementRectangle, bounds, returnEdge)) >\n Math.abs(_getRelativeEdgeDifference(elementRectangle, bounds, returnEdge * -1))) {\n return returnEdge * -1;\n }\n return returnEdge;\n}\n/**\n * Whether or not the considered edge of the elementRectangle is lying on the edge of the bounds\n * @param elementRectangle The rectangle whose edge we are considering\n * @param bounds The rectangle marking the bounds\n * @param edge The target edge we're considering\n * @returns If the target edge of the elementRectangle is in the same location as that edge of the bounds\n */\nfunction _isEdgeOnBounds(elementRectangle, edge, bounds) {\n return bounds !== undefined && _getEdgeValue(elementRectangle, edge) === _getEdgeValue(bounds, edge);\n}\n/**\n * Finalizes the element position based on the hostElement. Only returns the\n * rectangle values to position such that they are anchored to the target.\n * This helps prevent resizing from looking very strange.\n * For instance, if the target edge is top and aligned with the left side then\n * the bottom and left values are returned so as the Callout shrinks it shrinks towards that corner.\n */\nfunction _finalizeElementPosition(elementRectangle, hostElement, targetEdge, bounds, alignmentEdge, coverTarget, doNotFinalizeReturnEdge, forceWithinBounds) {\n var returnValue = {};\n var hostRect = _getRectangleFromElement(hostElement);\n var elementEdge = coverTarget ? targetEdge : targetEdge * -1;\n var returnEdge = alignmentEdge ? alignmentEdge : _getFlankingEdges(targetEdge).positiveEdge;\n // If we are finalizing the return edge, choose the edge such that we grow away from the bounds\n // If we are not finalizing the return edge but the opposite edge is flush against the bounds,\n // choose that as the anchor edge so the element rect can grow away from the bounds' edge\n // In this case there will not be a visual difference because there is no more room for the elementRectangle to grow\n // in the usual direction\n if (!doNotFinalizeReturnEdge || _isEdgeOnBounds(elementRectangle, getOppositeEdge(returnEdge), bounds)) {\n returnEdge = _finalizeReturnEdge(elementRectangle, returnEdge, bounds);\n }\n returnValue[RectangleEdge[elementEdge]] = _getRelativeEdgeDifference(elementRectangle, hostRect, elementEdge);\n returnValue[RectangleEdge[returnEdge]] = _getRelativeEdgeDifference(elementRectangle, hostRect, returnEdge);\n // if the positioned element will still overflow, return all four edges with in-bounds values\n if (forceWithinBounds) {\n returnValue[RectangleEdge[elementEdge * -1]] = _getRelativeEdgeDifference(elementRectangle, hostRect, elementEdge * -1);\n returnValue[RectangleEdge[returnEdge * -1]] = _getRelativeEdgeDifference(elementRectangle, hostRect, returnEdge * -1);\n }\n return returnValue;\n}\n// Since the beak is rotated 45 degrees the actual height/width is the length of the diagonal.\n// We still want to position the beak based on it's midpoint which does not change. It will\n// be at (beakwidth / 2, beakwidth / 2)\nfunction _calculateActualBeakWidthInPixels(beakWidth) {\n return Math.sqrt(beakWidth * beakWidth * 2);\n}\n/**\n * Returns the appropriate IPositionData based on the props altered for RTL.\n * If directionalHintForRTL is passed in that is used if the page is RTL.\n * If directionalHint is specified, no directionalHintForRTL is available, and the page is RTL, the hint will be\n * flipped (e.g. bottomLeftEdge would become bottomRightEdge).\n *\n * If there is no directionalHint passed in, bottomAutoEdge is chosen automatically.\n */\nfunction _getPositionData(directionalHint, directionalHintForRTL, previousPositions) {\n if (directionalHint === void 0) { directionalHint = DirectionalHint.bottomAutoEdge; }\n if (previousPositions) {\n return {\n alignmentEdge: previousPositions.alignmentEdge,\n isAuto: previousPositions.isAuto,\n targetEdge: previousPositions.targetEdge,\n };\n }\n var positionInformation = __assign({}, DirectionalDictionary[directionalHint]);\n if (getRTL()) {\n // If alignment edge exists and that alignment edge is -2 or 2, right or left, then flip it.\n if (positionInformation.alignmentEdge && positionInformation.alignmentEdge % 2 === 0) {\n positionInformation.alignmentEdge = positionInformation.alignmentEdge * -1;\n }\n return directionalHintForRTL !== undefined ? DirectionalDictionary[directionalHintForRTL] : positionInformation;\n }\n return positionInformation;\n}\n/**\n * Gets the alignment data for the given information. This only really matters if the positioning is Auto.\n * If it is auto then the alignmentEdge should be chosen based on the target edge's position relative to\n * the center of the page.\n */\nfunction _getAlignmentData(positionData, target, boundingRect, coverTarget, alignTargetEdge) {\n if (positionData.isAuto) {\n positionData.alignmentEdge = getClosestEdge(positionData.targetEdge, target, boundingRect);\n }\n positionData.alignTargetEdge = alignTargetEdge;\n return positionData;\n}\nfunction getClosestEdge(targetEdge, target, boundingRect) {\n var targetCenter = _getCenterValue(target, targetEdge);\n var boundingCenter = _getCenterValue(boundingRect, targetEdge);\n var _a = _getFlankingEdges(targetEdge), positiveEdge = _a.positiveEdge, negativeEdge = _a.negativeEdge;\n if (targetCenter <= boundingCenter) {\n return positiveEdge;\n }\n else {\n return negativeEdge;\n }\n}\nfunction _positionElementWithinBounds(elementToPosition, target, bounding, positionData, gap, directionalHintFixed, coverTarget) {\n var estimatedElementPosition = _estimatePosition(elementToPosition, target, positionData, gap, coverTarget);\n if (_isRectangleWithinBounds(estimatedElementPosition, bounding)) {\n return {\n elementRectangle: estimatedElementPosition,\n targetEdge: positionData.targetEdge,\n alignmentEdge: positionData.alignmentEdge,\n };\n }\n else {\n return _adjustFitWithinBounds(estimatedElementPosition, target, bounding, positionData, gap, directionalHintFixed, coverTarget);\n }\n}\nfunction _finalizeBeakPosition(elementPosition, positionedBeak, bounds) {\n var targetEdge = elementPosition.targetEdge * -1;\n // The \"host\" element that we will use to help position the beak.\n var actualElement = new Rectangle(0, elementPosition.elementRectangle.width, 0, elementPosition.elementRectangle.height);\n var returnValue = {};\n var returnEdge = _finalizeReturnEdge(elementPosition.elementRectangle, elementPosition.alignmentEdge ? elementPosition.alignmentEdge : _getFlankingEdges(targetEdge).positiveEdge, bounds);\n // only show the beak if the callout is not fully covering the target\n var beakEdgeDifference = _getRelativeEdgeDifference(elementPosition.elementRectangle, elementPosition.targetRectangle, targetEdge);\n var showBeak = beakEdgeDifference > Math.abs(_getEdgeValue(positionedBeak, targetEdge));\n returnValue[RectangleEdge[targetEdge]] = _getEdgeValue(positionedBeak, targetEdge);\n returnValue[RectangleEdge[returnEdge]] = _getRelativeEdgeDifference(positionedBeak, actualElement, returnEdge);\n return {\n elementPosition: __assign({}, returnValue),\n closestEdge: getClosestEdge(elementPosition.targetEdge, positionedBeak, actualElement),\n targetEdge: targetEdge,\n hideBeak: !showBeak,\n };\n}\nfunction _positionBeak(beakWidth, elementPosition) {\n var target = elementPosition.targetRectangle;\n /**\n * Note about beak positioning: The actual beak width only matters for getting the gap between the callout and\n * target, it does not impact the beak placement within the callout. For example example, if the beakWidth is 8,\n * then the actual beakWidth is sqrroot(8^2 + 8^2) = 11.31x11.31. So the callout will need to be an extra 3 pixels\n * away from its target. While the beak is being positioned in the callout it still acts as though it were 8x8.\n */\n var _a = _getFlankingEdges(elementPosition.targetEdge), positiveEdge = _a.positiveEdge, negativeEdge = _a.negativeEdge;\n var beakTargetPoint = _getCenterValue(target, elementPosition.targetEdge);\n var elementBounds = new Rectangle(beakWidth / 2, elementPosition.elementRectangle.width - beakWidth / 2, beakWidth / 2, elementPosition.elementRectangle.height - beakWidth / 2);\n var beakPosition = new Rectangle(0, beakWidth, 0, beakWidth);\n beakPosition = _moveEdge(beakPosition, elementPosition.targetEdge * -1, -beakWidth / 2);\n beakPosition = _centerEdgeToPoint(beakPosition, elementPosition.targetEdge * -1, beakTargetPoint - _getRelativeRectEdgeValue(positiveEdge, elementPosition.elementRectangle));\n if (!_isEdgeInBounds(beakPosition, elementBounds, positiveEdge)) {\n beakPosition = _alignEdges(beakPosition, elementBounds, positiveEdge);\n }\n else if (!_isEdgeInBounds(beakPosition, elementBounds, negativeEdge)) {\n beakPosition = _alignEdges(beakPosition, elementBounds, negativeEdge);\n }\n return beakPosition;\n}\nfunction _getRectangleFromElement(element) {\n // eslint-disable-next-line deprecation/deprecation\n var clientRect = element.getBoundingClientRect();\n return new Rectangle(clientRect.left, clientRect.right, clientRect.top, clientRect.bottom);\n}\nfunction _getRectangleFromIRect(rect) {\n return new Rectangle(rect.left, rect.right, rect.top, rect.bottom);\n}\nfunction _getTargetRect(bounds, target) {\n var targetRectangle;\n if (target) {\n // eslint-disable-next-line no-extra-boolean-cast\n if (!!target.preventDefault) {\n var ev = target;\n targetRectangle = new Rectangle(ev.clientX, ev.clientX, ev.clientY, ev.clientY);\n // eslint-disable-next-line no-extra-boolean-cast\n }\n else if (!!target.getBoundingClientRect) {\n targetRectangle = _getRectangleFromElement(target);\n // HTMLImgElements can have x and y values. The check for it being a point must go last.\n }\n else {\n var rectOrPoint = target;\n // eslint-disable-next-line deprecation/deprecation\n var left = rectOrPoint.left || rectOrPoint.x;\n // eslint-disable-next-line deprecation/deprecation\n var top_1 = rectOrPoint.top || rectOrPoint.y;\n var right = rectOrPoint.right || left;\n var bottom = rectOrPoint.bottom || top_1;\n targetRectangle = new Rectangle(left, right, top_1, bottom);\n }\n if (!_isRectangleWithinBounds(targetRectangle, bounds)) {\n var outOfBounds = _getOutOfBoundsEdges(targetRectangle, bounds);\n for (var _i = 0, outOfBounds_1 = outOfBounds; _i < outOfBounds_1.length; _i++) {\n var direction = outOfBounds_1[_i];\n targetRectangle[RectangleEdge[direction]] = bounds[RectangleEdge[direction]];\n }\n }\n }\n else {\n targetRectangle = new Rectangle(0, 0, 0, 0);\n }\n return targetRectangle;\n}\n/**\n * If max height is less than zero it returns the bounds height instead.\n */\nfunction _getMaxHeightFromTargetRectangle(targetRectangle, targetEdge, gapSpace, bounds, coverTarget) {\n var maxHeight = 0;\n var directionalHint = DirectionalDictionary[targetEdge];\n // If cover target is set, then the max height should be calculated using the opposite of the target edge since\n // that's the direction that the callout will expand in.\n // For instance, if the directionalhint is bottomLeftEdge then the callout will position so it's bottom edge\n // is aligned with the bottom of the target and expand up towards the top of the screen and the calculated max height\n // is (bottom of target) - (top of screen) - gapSpace.\n var target = coverTarget ? directionalHint.targetEdge * -1 : directionalHint.targetEdge;\n if (target === RectangleEdge.top) {\n maxHeight = _getEdgeValue(targetRectangle, directionalHint.targetEdge) - bounds.top - gapSpace;\n }\n else if (target === RectangleEdge.bottom) {\n maxHeight = bounds.bottom - _getEdgeValue(targetRectangle, directionalHint.targetEdge) - gapSpace;\n }\n else {\n maxHeight = bounds.bottom - targetRectangle.top - gapSpace;\n }\n return maxHeight > 0 ? maxHeight : bounds.height;\n}\nfunction _positionElementRelative(props, elementToPosition, boundingRect, previousPositions) {\n var gap = props.gapSpace ? props.gapSpace : 0;\n var targetRect = _getTargetRect(boundingRect, props.target);\n var positionData = _getAlignmentData(_getPositionData(props.directionalHint, props.directionalHintForRTL, previousPositions), targetRect, boundingRect, props.coverTarget, props.alignTargetEdge);\n var positionedElement = _positionElementWithinBounds(_getRectangleFromElement(elementToPosition), targetRect, boundingRect, positionData, gap, props.directionalHintFixed, props.coverTarget);\n return __assign(__assign({}, positionedElement), { targetRectangle: targetRect });\n}\nfunction _finalizePositionData(positionedElement, hostElement, bounds, coverTarget, doNotFinalizeReturnEdge) {\n var finalizedElement = _finalizeElementPosition(positionedElement.elementRectangle, hostElement, positionedElement.targetEdge, bounds, positionedElement.alignmentEdge, coverTarget, doNotFinalizeReturnEdge, positionedElement.forcedInBounds);\n return {\n elementPosition: finalizedElement,\n targetEdge: positionedElement.targetEdge,\n alignmentEdge: positionedElement.alignmentEdge,\n };\n}\nfunction _positionElement(props, hostElement, elementToPosition, previousPositions) {\n var boundingRect = props.bounds\n ? _getRectangleFromIRect(props.bounds)\n : new Rectangle(0, window.innerWidth - getScrollbarWidth(), 0, window.innerHeight);\n var positionedElement = _positionElementRelative(props, elementToPosition, boundingRect, previousPositions);\n return _finalizePositionData(positionedElement, hostElement, boundingRect, props.coverTarget);\n}\nfunction _positionCallout(props, hostElement, callout, previousPositions, doNotFinalizeReturnEdge) {\n var beakWidth = props.isBeakVisible ? props.beakWidth || 0 : 0;\n var gap = _calculateActualBeakWidthInPixels(beakWidth) / 2 + (props.gapSpace ? props.gapSpace : 0);\n var positionProps = props;\n positionProps.gapSpace = gap;\n var boundingRect = props.bounds\n ? _getRectangleFromIRect(props.bounds)\n : new Rectangle(0, window.innerWidth - getScrollbarWidth(), 0, window.innerHeight);\n var positionedElement = _positionElementRelative(positionProps, callout, boundingRect, previousPositions);\n var beakPositioned = _positionBeak(beakWidth, positionedElement);\n var finalizedBeakPosition = _finalizeBeakPosition(positionedElement, beakPositioned, boundingRect);\n return __assign(__assign({}, _finalizePositionData(positionedElement, hostElement, boundingRect, props.coverTarget, doNotFinalizeReturnEdge)), { beakPosition: finalizedBeakPosition });\n}\nfunction _positionCard(props, hostElement, callout, previousPositions) {\n return _positionCallout(props, hostElement, callout, previousPositions, true);\n}\n// END PRIVATE FUNCTIONS\nexport var __positioningTestPackage = {\n _finalizePositionData: _finalizePositionData,\n _finalizeBeakPosition: _finalizeBeakPosition,\n _calculateActualBeakWidthInPixels: _calculateActualBeakWidthInPixels,\n _positionElementWithinBounds: _positionElementWithinBounds,\n _positionBeak: _positionBeak,\n _getPositionData: _getPositionData,\n _getMaxHeightFromTargetRectangle: _getMaxHeightFromTargetRectangle,\n};\n/**\n * Used to position an element relative to the given positioning props.\n * If positioning has been completed before, previousPositions can be passed to ensure that the positioning element\n * repositions based on its previous targets rather than starting with directionalhint.\n */\nexport function positionElement(props, hostElement, elementToPosition, previousPositions) {\n return _positionElement(props, hostElement, elementToPosition, previousPositions);\n}\nexport function positionCallout(props, hostElement, elementToPosition, previousPositions) {\n return _positionCallout(props, hostElement, elementToPosition, previousPositions);\n}\nexport function positionCard(props, hostElement, elementToPosition, previousPositions) {\n return _positionCard(props, hostElement, elementToPosition, previousPositions);\n}\n/**\n * Gets the maximum height that a rectangle can have in order to fit below or above a target.\n * If the directional hint specifies a left or right edge (i.e. leftCenter) it will limit the height to the topBorder\n * of the target given.\n * If no bounds are provided then the window is treated as the bounds.\n */\nexport function getMaxHeight(target, targetEdge, gapSpace, bounds, coverTarget) {\n if (gapSpace === void 0) { gapSpace = 0; }\n var mouseTarget = target;\n var elementTarget = target;\n var rectOrPointTarget = target;\n var targetRect;\n var boundingRectangle = bounds\n ? _getRectangleFromIRect(bounds)\n : new Rectangle(0, window.innerWidth - getScrollbarWidth(), 0, window.innerHeight);\n // eslint-disable-next-line deprecation/deprecation\n var left = rectOrPointTarget.left || rectOrPointTarget.x;\n // eslint-disable-next-line deprecation/deprecation\n var top = rectOrPointTarget.top || rectOrPointTarget.y;\n var right = rectOrPointTarget.right || left;\n var bottom = rectOrPointTarget.bottom || top;\n // eslint-disable-next-line no-extra-boolean-cast -- may not actually be a MouseEvent\n if (!!mouseTarget.stopPropagation) {\n targetRect = new Rectangle(mouseTarget.clientX, mouseTarget.clientX, mouseTarget.clientY, mouseTarget.clientY);\n }\n else if (left !== undefined && top !== undefined) {\n targetRect = new Rectangle(left, right, top, bottom);\n }\n else {\n targetRect = _getRectangleFromElement(elementTarget);\n }\n return _getMaxHeightFromTargetRectangle(targetRect, targetEdge, gapSpace, boundingRectangle, coverTarget);\n}\n/**\n * Returns the opposite edge of the given RectangleEdge.\n */\nexport function getOppositeEdge(edge) {\n return edge * -1;\n}\nfunction _getBoundsFromTargetWindow(target, targetWindow) {\n var segments = undefined;\n if (targetWindow.getWindowSegments) {\n segments = targetWindow.getWindowSegments();\n }\n // Identify if we're dealing with single screen scenarios.\n if (segments === undefined || segments.length <= 1) {\n return {\n top: 0,\n left: 0,\n right: targetWindow.innerWidth,\n bottom: targetWindow.innerHeight,\n width: targetWindow.innerWidth,\n height: targetWindow.innerHeight,\n };\n }\n // Logic for determining dual screen scenarios.\n var x = 0;\n var y = 0;\n // If the target is an Element get coordinates for its center.\n if (target !== null && !!target.getBoundingClientRect) {\n var clientRect = target.getBoundingClientRect();\n x = (clientRect.left + clientRect.right) / 2;\n y = (clientRect.top + clientRect.bottom) / 2;\n }\n // If the target is not null get x-axis and y-axis coordinates directly.\n else if (target !== null) {\n // eslint-disable-next-line deprecation/deprecation\n x = target.left || target.x;\n // eslint-disable-next-line deprecation/deprecation\n y = target.top || target.y;\n }\n var bounds = { top: 0, left: 0, right: 0, bottom: 0, width: 0, height: 0 };\n // Define which window segment are the coordinates in and calculate bounds based on that.\n for (var _i = 0, segments_1 = segments; _i < segments_1.length; _i++) {\n var segment = segments_1[_i];\n if (x && segment.left <= x && segment.right >= x && y && segment.top <= y && segment.bottom >= y) {\n bounds = {\n top: segment.top,\n left: segment.left,\n right: segment.right,\n bottom: segment.bottom,\n width: segment.width,\n height: segment.height,\n };\n }\n }\n return bounds;\n}\nexport function getBoundsFromTargetWindow(target, targetWindow) {\n return _getBoundsFromTargetWindow(target, targetWindow);\n}\n//# sourceMappingURL=positioning.js.map","/**\n * Rectangle helper class.\n *\n * @public\n * {@docCategory Rectangle}\n */\nvar Rectangle = /** @class */ (function () {\n function Rectangle(left, right, top, bottom) {\n if (left === void 0) { left = 0; }\n if (right === void 0) { right = 0; }\n if (top === void 0) { top = 0; }\n if (bottom === void 0) { bottom = 0; }\n this.top = top;\n this.bottom = bottom;\n this.left = left;\n this.right = right;\n }\n Object.defineProperty(Rectangle.prototype, \"width\", {\n /**\n * Calculated automatically by subtracting the right from left\n */\n get: function () {\n return this.right - this.left;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Rectangle.prototype, \"height\", {\n /**\n * Calculated automatically by subtracting the bottom from top.\n */\n get: function () {\n return this.bottom - this.top;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Tests if another rect is approximately equal to this rect (within 4 decimal places.)\n */\n Rectangle.prototype.equals = function (rect) {\n // Fixing to 4 decimal places because it allows enough precision and will handle cases when something\n // should be rounded, like .999999 should round to 1.\n return (parseFloat(this.top.toFixed(4)) === parseFloat(rect.top.toFixed(4)) &&\n parseFloat(this.bottom.toFixed(4)) === parseFloat(rect.bottom.toFixed(4)) &&\n parseFloat(this.left.toFixed(4)) === parseFloat(rect.left.toFixed(4)) &&\n parseFloat(this.right.toFixed(4)) === parseFloat(rect.right.toFixed(4)));\n };\n return Rectangle;\n}());\nexport { Rectangle };\n//# sourceMappingURL=Rectangle.js.map","var _a;\nimport { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { DirectionalHint } from '../../common/DirectionalHint';\nimport { css, divProperties, elementContains, focusFirstChild, getNativeProps, on, shallowCompare, getPropsWithDefaults, } from '../../Utilities';\nimport { positionCallout, RectangleEdge, positionCard, getBoundsFromTargetWindow } from '../../Positioning';\nimport { Popup } from '../../Popup';\nimport { classNamesFunction } from '../../Utilities';\nimport { AnimationClassNames } from '../../Styling';\nimport { useMergedRefs, useAsync, useConst, useTarget, useOnEvent } from '@fluentui/react-hooks';\nvar COMPONENT_NAME = 'CalloutContentBase';\nvar ANIMATIONS = (_a = {},\n _a[RectangleEdge.top] = AnimationClassNames.slideUpIn10,\n _a[RectangleEdge.bottom] = AnimationClassNames.slideDownIn10,\n _a[RectangleEdge.left] = AnimationClassNames.slideLeftIn10,\n _a[RectangleEdge.right] = AnimationClassNames.slideRightIn10,\n _a);\nvar BEAK_ORIGIN_POSITION = { top: 0, left: 0 };\n// Microsoft Edge will overwrite inline styles if there is an animation pertaining to that style.\n// To help ensure that edge will respect the offscreen style opacity\n// filter needs to be added as an additional way to set opacity.\n// Also set pointer-events: none so that the callout will not occlude the element it is\n// going to be positioned against\nvar OFF_SCREEN_STYLE = {\n opacity: 0,\n filter: 'opacity(0)',\n pointerEvents: 'none',\n};\n// role and role description go hand-in-hand. Both would be included by spreading getNativeProps for a basic element\n// This constant array can be used to filter these out of native props spread on callout root and apply them together on\n// calloutMain (the Popup component within the callout)\nvar ARIA_ROLE_ATTRIBUTES = ['role', 'aria-roledescription'];\nvar DEFAULT_PROPS = {\n preventDismissOnLostFocus: false,\n preventDismissOnScroll: false,\n preventDismissOnResize: false,\n isBeakVisible: true,\n beakWidth: 16,\n gapSpace: 0,\n minPagePadding: 8,\n directionalHint: DirectionalHint.bottomAutoEdge,\n};\nvar getClassNames = classNamesFunction({\n disableCaching: true, // disabling caching because stylesProp.position mutates often\n});\n/**\n * (Hook) to return a function to lazily fetch the bounds of the target element for the callout.\n */\nfunction useBounds(_a, targetRef, targetWindow) {\n var bounds = _a.bounds, _b = _a.minPagePadding, minPagePadding = _b === void 0 ? DEFAULT_PROPS.minPagePadding : _b, target = _a.target;\n var _c = React.useState(false), targetWindowResized = _c[0], setTargetWindowResized = _c[1];\n var cachedBounds = React.useRef();\n var getBounds = React.useCallback(function () {\n if (!cachedBounds.current || targetWindowResized) {\n var currentBounds = typeof bounds === 'function' ? (targetWindow ? bounds(target, targetWindow) : undefined) : bounds;\n if (!currentBounds && targetWindow) {\n currentBounds = getBoundsFromTargetWindow(targetRef.current, targetWindow);\n currentBounds = {\n top: currentBounds.top + minPagePadding,\n left: currentBounds.left + minPagePadding,\n right: currentBounds.right - minPagePadding,\n bottom: currentBounds.bottom - minPagePadding,\n width: currentBounds.width - minPagePadding * 2,\n height: currentBounds.height - minPagePadding * 2,\n };\n }\n cachedBounds.current = currentBounds;\n targetWindowResized && setTargetWindowResized(false);\n }\n return cachedBounds.current;\n }, [bounds, minPagePadding, target, targetRef, targetWindow, targetWindowResized]);\n var async = useAsync();\n useOnEvent(targetWindow, 'resize', async.debounce(function () {\n setTargetWindowResized(true);\n }, 500, { leading: true }));\n return getBounds;\n}\n/**\n * (Hook) to return the maximum available height for the Callout to render into.\n */\nfunction useMaxHeight(_a, getBounds, positions) {\n var _b;\n var calloutMaxHeight = _a.calloutMaxHeight, finalHeight = _a.finalHeight, directionalHint = _a.directionalHint, directionalHintFixed = _a.directionalHintFixed, hidden = _a.hidden;\n var _c = React.useState(), maxHeight = _c[0], setMaxHeight = _c[1];\n var _d = (_b = positions === null || positions === void 0 ? void 0 : positions.elementPosition) !== null && _b !== void 0 ? _b : {}, top = _d.top, bottom = _d.bottom;\n React.useEffect(function () {\n var _a;\n var _b = (_a = getBounds()) !== null && _a !== void 0 ? _a : {}, topBounds = _b.top, bottomBounds = _b.bottom;\n var calculatedHeight;\n if (typeof top === 'number' && bottomBounds) {\n calculatedHeight = bottomBounds - top;\n }\n else if (typeof bottom === 'number' && typeof topBounds === 'number' && bottomBounds) {\n calculatedHeight = bottomBounds - topBounds - bottom;\n }\n if ((!calloutMaxHeight && !hidden) ||\n (calloutMaxHeight && calculatedHeight && calloutMaxHeight > calculatedHeight)) {\n setMaxHeight(calculatedHeight);\n }\n else if (calloutMaxHeight) {\n setMaxHeight(calloutMaxHeight);\n }\n else {\n setMaxHeight(undefined);\n }\n }, [bottom, calloutMaxHeight, finalHeight, directionalHint, directionalHintFixed, getBounds, hidden, positions, top]);\n return maxHeight;\n}\n/**\n * (Hook) to find the current position of Callout. If Callout is resized then a new position is calculated.\n */\nfunction usePositions(props, hostElement, calloutElement, targetRef, getBounds) {\n var _a = React.useState(), positions = _a[0], setPositions = _a[1];\n var positionAttempts = React.useRef(0);\n var previousTarget = React.useRef();\n var async = useAsync();\n var hidden = props.hidden, target = props.target, finalHeight = props.finalHeight, calloutMaxHeight = props.calloutMaxHeight, onPositioned = props.onPositioned, directionalHint = props.directionalHint;\n React.useEffect(function () {\n if (!hidden) {\n var timerId_1 = async.requestAnimationFrame(function () {\n var _a, _b;\n if (hostElement.current && calloutElement) {\n var currentProps = __assign(__assign({}, props), { target: targetRef.current, bounds: getBounds() });\n // duplicate calloutElement & remove useMaxHeight's maxHeight for position calc\n var dupeCalloutElement = calloutElement.cloneNode(true);\n dupeCalloutElement.style.maxHeight = calloutMaxHeight ? \"\".concat(calloutMaxHeight) : '';\n dupeCalloutElement.style.visibility = 'hidden';\n (_a = calloutElement.parentElement) === null || _a === void 0 ? void 0 : _a.appendChild(dupeCalloutElement);\n var previousPositions = previousTarget.current === target ? positions : undefined;\n // If there is a finalHeight given then we assume that the user knows and will handle\n // additional positioning adjustments so we should call positionCard\n var newPositions = finalHeight\n ? positionCard(currentProps, hostElement.current, dupeCalloutElement, previousPositions)\n : positionCallout(currentProps, hostElement.current, dupeCalloutElement, previousPositions);\n // clean up duplicate calloutElement\n (_b = calloutElement.parentElement) === null || _b === void 0 ? void 0 : _b.removeChild(dupeCalloutElement);\n // Set the new position only when the positions do not exist or one of the new callout positions\n // is different. The position should not change if the position is within 2 decimal places.\n if ((!positions && newPositions) ||\n (positions && newPositions && !arePositionsEqual(positions, newPositions) && positionAttempts.current < 5)) {\n // We should not reposition the callout more than a few times, if it is then the content is likely resizing\n // and we should stop trying to reposition to prevent a stack overflow.\n positionAttempts.current++;\n setPositions(newPositions);\n }\n else if (positionAttempts.current > 0) {\n // Only call the onPositioned callback if the callout has been re-positioned at least once.\n positionAttempts.current = 0;\n onPositioned === null || onPositioned === void 0 ? void 0 : onPositioned(positions);\n }\n }\n }, calloutElement);\n previousTarget.current = target;\n return function () {\n async.cancelAnimationFrame(timerId_1);\n previousTarget.current = undefined;\n };\n }\n else {\n // When the callout is hidden, clear position state so that it is not accidentally used next render.\n setPositions(undefined);\n positionAttempts.current = 0;\n }\n }, [\n hidden,\n directionalHint,\n async,\n calloutElement,\n calloutMaxHeight,\n hostElement,\n targetRef,\n finalHeight,\n getBounds,\n onPositioned,\n positions,\n props,\n target,\n ]);\n return positions;\n}\n/**\n * (Hook) to set up behavior to automatically focus the callout when it appears, if indicated by props.\n */\nfunction useAutoFocus(_a, positions, calloutElement) {\n var hidden = _a.hidden, setInitialFocus = _a.setInitialFocus;\n var async = useAsync();\n var hasPositions = !!positions;\n React.useEffect(function () {\n if (!hidden && setInitialFocus && hasPositions && calloutElement) {\n var timerId_2 = async.requestAnimationFrame(function () { return focusFirstChild(calloutElement); }, calloutElement);\n return function () { return async.cancelAnimationFrame(timerId_2); };\n }\n }, [hidden, hasPositions, async, calloutElement, setInitialFocus]);\n}\n/**\n * (Hook) to set up various handlers to dismiss the popup when it loses focus or the window scrolls or similar cases.\n */\nfunction useDismissHandlers(_a, positions, hostElement, targetRef, targetWindow) {\n var hidden = _a.hidden, onDismiss = _a.onDismiss, \n // eslint-disable-next-line deprecation/deprecation\n preventDismissOnScroll = _a.preventDismissOnScroll, \n // eslint-disable-next-line deprecation/deprecation\n preventDismissOnResize = _a.preventDismissOnResize, \n // eslint-disable-next-line deprecation/deprecation\n preventDismissOnLostFocus = _a.preventDismissOnLostFocus, dismissOnTargetClick = _a.dismissOnTargetClick, shouldDismissOnWindowFocus = _a.shouldDismissOnWindowFocus, preventDismissOnEvent = _a.preventDismissOnEvent;\n var isMouseDownOnPopup = React.useRef(false);\n var async = useAsync();\n var mouseDownHandlers = useConst([\n function () {\n isMouseDownOnPopup.current = true;\n },\n function () {\n isMouseDownOnPopup.current = false;\n },\n ]);\n var positionsExists = !!positions;\n React.useEffect(function () {\n var dismissOnScroll = function (ev) {\n if (positionsExists && !preventDismissOnScroll) {\n dismissOnClickOrScroll(ev);\n }\n };\n var dismissOnResize = function (ev) {\n if (!preventDismissOnResize && !(preventDismissOnEvent && preventDismissOnEvent(ev))) {\n onDismiss === null || onDismiss === void 0 ? void 0 : onDismiss(ev);\n }\n };\n var dismissOnLostFocus = function (ev) {\n if (!preventDismissOnLostFocus) {\n dismissOnClickOrScroll(ev);\n }\n };\n var dismissOnClickOrScroll = function (ev) {\n var eventPaths = ev.composedPath ? ev.composedPath() : [];\n var target = eventPaths.length > 0 ? eventPaths[0] : ev.target;\n var isEventTargetOutsideCallout = hostElement.current && !elementContains(hostElement.current, target);\n // If mouse is pressed down on callout but moved outside then released, don't dismiss the callout.\n if (isEventTargetOutsideCallout && isMouseDownOnPopup.current) {\n isMouseDownOnPopup.current = false;\n return;\n }\n if ((!targetRef.current && isEventTargetOutsideCallout) ||\n (ev.target !== targetWindow &&\n isEventTargetOutsideCallout &&\n (!targetRef.current ||\n 'stopPropagation' in targetRef.current ||\n dismissOnTargetClick ||\n (target !== targetRef.current && !elementContains(targetRef.current, target))))) {\n if (preventDismissOnEvent && preventDismissOnEvent(ev)) {\n return;\n }\n onDismiss === null || onDismiss === void 0 ? void 0 : onDismiss(ev);\n }\n };\n var dismissOnTargetWindowBlur = function (ev) {\n // Do nothing\n if (!shouldDismissOnWindowFocus) {\n return;\n }\n if (((preventDismissOnEvent && !preventDismissOnEvent(ev)) ||\n (!preventDismissOnEvent && !preventDismissOnLostFocus)) &&\n !(targetWindow === null || targetWindow === void 0 ? void 0 : targetWindow.document.hasFocus()) &&\n ev.relatedTarget === null) {\n onDismiss === null || onDismiss === void 0 ? void 0 : onDismiss(ev);\n }\n };\n // This is added so the callout will dismiss when the window is scrolled\n // but not when something inside the callout is scrolled. The delay seems\n // to be required to avoid React firing an async focus event in IE from\n // the target changing focus quickly prior to rendering the callout.\n var disposablesPromise = new Promise(function (resolve) {\n async.setTimeout(function () {\n if (!hidden && targetWindow) {\n var disposables_1 = [\n on(targetWindow, 'scroll', dismissOnScroll, true),\n on(targetWindow, 'resize', dismissOnResize, true),\n on(targetWindow.document.documentElement, 'focus', dismissOnLostFocus, true),\n on(targetWindow.document.documentElement, 'click', dismissOnLostFocus, true),\n on(targetWindow, 'blur', dismissOnTargetWindowBlur, true),\n ];\n resolve(function () {\n disposables_1.forEach(function (dispose) { return dispose(); });\n });\n }\n }, 0);\n });\n return function () {\n disposablesPromise.then(function (dispose) { return dispose(); });\n };\n }, [\n hidden,\n async,\n hostElement,\n targetRef,\n targetWindow,\n onDismiss,\n shouldDismissOnWindowFocus,\n dismissOnTargetClick,\n preventDismissOnLostFocus,\n preventDismissOnResize,\n preventDismissOnScroll,\n positionsExists,\n preventDismissOnEvent,\n ]);\n return mouseDownHandlers;\n}\nexport var CalloutContentBase = React.memo(React.forwardRef(function (propsWithoutDefaults, forwardedRef) {\n var props = getPropsWithDefaults(DEFAULT_PROPS, propsWithoutDefaults);\n var styles = props.styles, style = props.style, ariaLabel = props.ariaLabel, ariaDescribedBy = props.ariaDescribedBy, ariaLabelledBy = props.ariaLabelledBy, className = props.className, isBeakVisible = props.isBeakVisible, children = props.children, beakWidth = props.beakWidth, calloutWidth = props.calloutWidth, calloutMaxWidth = props.calloutMaxWidth, calloutMinWidth = props.calloutMinWidth, doNotLayer = props.doNotLayer, finalHeight = props.finalHeight, _a = props.hideOverflow, hideOverflow = _a === void 0 ? !!finalHeight : _a, backgroundColor = props.backgroundColor, calloutMaxHeight = props.calloutMaxHeight, onScroll = props.onScroll, \n // eslint-disable-next-line deprecation/deprecation\n _b = props.shouldRestoreFocus, \n // eslint-disable-next-line deprecation/deprecation\n shouldRestoreFocus = _b === void 0 ? true : _b, target = props.target, hidden = props.hidden, onLayerMounted = props.onLayerMounted, popupProps = props.popupProps;\n var hostElement = React.useRef(null);\n var _c = React.useState(null), calloutElement = _c[0], setCalloutElement = _c[1];\n var calloutCallback = React.useCallback(function (calloutEl) {\n setCalloutElement(calloutEl);\n }, []);\n var rootRef = useMergedRefs(hostElement, forwardedRef);\n var _d = useTarget(props.target, {\n current: calloutElement,\n }), targetRef = _d[0], targetWindow = _d[1];\n var getBounds = useBounds(props, targetRef, targetWindow);\n var positions = usePositions(props, hostElement, calloutElement, targetRef, getBounds);\n var maxHeight = useMaxHeight(props, getBounds, positions);\n var _e = useDismissHandlers(props, positions, hostElement, targetRef, targetWindow), mouseDownOnPopup = _e[0], mouseUpOnPopup = _e[1];\n // do not set both top and bottom css props from positions\n // instead, use maxHeight\n var isForcedInBounds = (positions === null || positions === void 0 ? void 0 : positions.elementPosition.top) && (positions === null || positions === void 0 ? void 0 : positions.elementPosition.bottom);\n var cssPositions = __assign(__assign({}, positions === null || positions === void 0 ? void 0 : positions.elementPosition), { maxHeight: maxHeight });\n if (isForcedInBounds) {\n cssPositions.bottom = undefined;\n }\n useAutoFocus(props, positions, calloutElement);\n React.useEffect(function () {\n if (!hidden) {\n onLayerMounted === null || onLayerMounted === void 0 ? void 0 : onLayerMounted();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps -- should only run if hidden changes\n }, [hidden]);\n // If there is no target window then we are likely in server side rendering and we should not render anything.\n if (!targetWindow) {\n return null;\n }\n var overflowYHidden = hideOverflow;\n var beakVisible = isBeakVisible && !!target;\n var classNames = getClassNames(styles, {\n theme: props.theme,\n className: className,\n overflowYHidden: overflowYHidden,\n calloutWidth: calloutWidth,\n positions: positions,\n beakWidth: beakWidth,\n backgroundColor: backgroundColor,\n calloutMaxWidth: calloutMaxWidth,\n calloutMinWidth: calloutMinWidth,\n doNotLayer: doNotLayer,\n });\n var overflowStyle = __assign(__assign({ maxHeight: calloutMaxHeight ? calloutMaxHeight : '100%' }, style), (overflowYHidden && { overflowY: 'hidden' }));\n var visibilityStyle = props.hidden ? { visibility: 'hidden' } : undefined;\n // React.CSSProperties does not understand IRawStyle, so the inline animations will need to be cast as any for now.\n return (React.createElement(\"div\", { ref: rootRef, className: classNames.container, style: visibilityStyle },\n React.createElement(\"div\", __assign({}, getNativeProps(props, divProperties, ARIA_ROLE_ATTRIBUTES), { className: css(classNames.root, positions && positions.targetEdge && ANIMATIONS[positions.targetEdge]), style: positions ? __assign({}, cssPositions) : OFF_SCREEN_STYLE, \n // Safari and Firefox on Mac OS requires this to back-stop click events so focus remains in the Callout.\n // See https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#Clicking_and_focus\n tabIndex: -1, ref: calloutCallback }),\n beakVisible && React.createElement(\"div\", { className: classNames.beak, style: getBeakPosition(positions) }),\n beakVisible && React.createElement(\"div\", { className: classNames.beakCurtain }),\n React.createElement(Popup\n // don't use getNativeElementProps for role and roledescription because it will also\n // pass through data-* props (resulting in them being used in two places)\n , __assign({ \n // don't use getNativeElementProps for role and roledescription because it will also\n // pass through data-* props (resulting in them being used in two places)\n role: props.role, \"aria-roledescription\": props['aria-roledescription'], ariaDescribedBy: ariaDescribedBy, ariaLabel: ariaLabel, ariaLabelledBy: ariaLabelledBy, className: classNames.calloutMain, onDismiss: props.onDismiss, onMouseDown: mouseDownOnPopup, onMouseUp: mouseUpOnPopup, onRestoreFocus: props.onRestoreFocus, onScroll: onScroll, shouldRestoreFocus: shouldRestoreFocus, style: overflowStyle }, popupProps), children))));\n}), function (previousProps, nextProps) {\n if (!nextProps.shouldUpdateWhenHidden && previousProps.hidden && nextProps.hidden) {\n // Do not update when hidden.\n return true;\n }\n return shallowCompare(previousProps, nextProps);\n});\n/**\n * (Utility) to find and return the current `Callout` Beak position.\n *\n * @param positions\n */\nfunction getBeakPosition(positions) {\n var _a, _b;\n var beakPositionStyle = __assign(__assign({}, (_a = positions === null || positions === void 0 ? void 0 : positions.beakPosition) === null || _a === void 0 ? void 0 : _a.elementPosition), { display: ((_b = positions === null || positions === void 0 ? void 0 : positions.beakPosition) === null || _b === void 0 ? void 0 : _b.hideBeak) ? 'none' : undefined });\n if (!beakPositionStyle.top && !beakPositionStyle.bottom && !beakPositionStyle.left && !beakPositionStyle.right) {\n beakPositionStyle.left = BEAK_ORIGIN_POSITION.left;\n beakPositionStyle.top = BEAK_ORIGIN_POSITION.top;\n }\n return beakPositionStyle;\n}\n/**\n * (Utility) used to compare two different elementPositions to determine whether they are equal.\n *\n * @param prevElementPositions\n * @param newElementPosition\n */\nfunction arePositionsEqual(prevElementPositions, newElementPosition) {\n return (comparePositions(prevElementPositions.elementPosition, newElementPosition.elementPosition) &&\n comparePositions(prevElementPositions.beakPosition.elementPosition, newElementPosition.beakPosition.elementPosition));\n}\n/**\n * (Utility) used in **arePositionsEqual** to compare two different elementPositions.\n *\n * @param prevElementPositions\n * @param newElementPositions\n */\nfunction comparePositions(prevElementPositions, newElementPositions) {\n for (var key in newElementPositions) {\n if (newElementPositions.hasOwnProperty(key)) {\n var oldPositionEdge = prevElementPositions[key];\n var newPositionEdge = newElementPositions[key];\n if (oldPositionEdge !== undefined && newPositionEdge !== undefined) {\n if (oldPositionEdge.toFixed(2) !== newPositionEdge.toFixed(2)) {\n return false;\n }\n }\n else {\n return false;\n }\n }\n }\n return true;\n}\nCalloutContentBase.displayName = COMPONENT_NAME;\n//# sourceMappingURL=CalloutContent.base.js.map","import { HighContrastSelector, focusClear, getGlobalClassNames, ZIndexes } from '../../Styling';\nfunction getBeakStyle(beakWidth) {\n return {\n height: beakWidth,\n width: beakWidth,\n };\n}\nvar GlobalClassNames = {\n container: 'ms-Callout-container',\n root: 'ms-Callout',\n beak: 'ms-Callout-beak',\n beakCurtain: 'ms-Callout-beakCurtain',\n calloutMain: 'ms-Callout-main',\n};\nexport var getStyles = function (props) {\n var _a;\n var theme = props.theme, className = props.className, overflowYHidden = props.overflowYHidden, calloutWidth = props.calloutWidth, beakWidth = props.beakWidth, backgroundColor = props.backgroundColor, calloutMaxWidth = props.calloutMaxWidth, calloutMinWidth = props.calloutMinWidth, doNotLayer = props.doNotLayer;\n var classNames = getGlobalClassNames(GlobalClassNames, theme);\n var semanticColors = theme.semanticColors, effects = theme.effects;\n return {\n container: [\n classNames.container,\n {\n position: 'relative',\n },\n ],\n root: [\n classNames.root,\n theme.fonts.medium,\n {\n position: 'absolute',\n display: 'flex',\n zIndex: doNotLayer ? ZIndexes.Layer : undefined,\n boxSizing: 'border-box',\n borderRadius: effects.roundedCorner2,\n boxShadow: effects.elevation16,\n selectors: (_a = {},\n _a[HighContrastSelector] = {\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: 'WindowText',\n },\n _a),\n },\n focusClear(),\n className,\n !!calloutWidth && { width: calloutWidth },\n !!calloutMaxWidth && { maxWidth: calloutMaxWidth },\n !!calloutMinWidth && { minWidth: calloutMinWidth },\n ],\n beak: [\n classNames.beak,\n {\n position: 'absolute',\n backgroundColor: semanticColors.menuBackground,\n boxShadow: 'inherit',\n border: 'inherit',\n boxSizing: 'border-box',\n transform: 'rotate(45deg)',\n },\n getBeakStyle(beakWidth),\n backgroundColor && {\n backgroundColor: backgroundColor,\n },\n ],\n beakCurtain: [\n classNames.beakCurtain,\n {\n position: 'absolute',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n backgroundColor: semanticColors.menuBackground,\n borderRadius: effects.roundedCorner2,\n },\n ],\n calloutMain: [\n classNames.calloutMain,\n {\n backgroundColor: semanticColors.menuBackground,\n overflowX: 'hidden',\n overflowY: 'auto',\n position: 'relative',\n width: '100%',\n borderRadius: effects.roundedCorner2,\n },\n overflowYHidden && {\n overflowY: 'hidden',\n },\n backgroundColor && {\n backgroundColor: backgroundColor,\n },\n ],\n };\n};\n//# sourceMappingURL=CalloutContent.styles.js.map","import { styled } from '../../Utilities';\nimport { CalloutContentBase } from './CalloutContent.base';\nimport { getStyles } from './CalloutContent.styles';\nexport var CalloutContent = styled(CalloutContentBase, getStyles, undefined, {\n scope: 'CalloutContent',\n});\n//# sourceMappingURL=CalloutContent.js.map","import { __assign, __rest } from \"tslib\";\nimport * as React from 'react';\nimport { CalloutContent } from './CalloutContent';\nimport { Layer } from '../../Layer';\nexport var Callout = React.forwardRef(function (_a, forwardedRef) {\n var layerProps = _a.layerProps, doNotLayer = _a.doNotLayer, rest = __rest(_a, [\"layerProps\", \"doNotLayer\"]);\n var content = React.createElement(CalloutContent, __assign({}, rest, { doNotLayer: doNotLayer, ref: forwardedRef }));\n return doNotLayer ? content : React.createElement(Layer, __assign({}, layerProps), content);\n});\nCallout.displayName = 'Callout';\n//# sourceMappingURL=Callout.js.map","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { useControllableValue, useId, useMergedRefs, useWarnings } from '@fluentui/react-hooks';\nimport { useFocusRects, classNamesFunction } from '@fluentui/utilities';\nimport { Icon } from '../Icon/Icon';\nvar getClassNames = classNamesFunction();\nexport var CheckboxBase = React.forwardRef(function (props, forwardedRef) {\n var disabled = props.disabled, required = props.required, inputProps = props.inputProps, name = props.name, ariaLabel = props.ariaLabel, ariaLabelledBy = props.ariaLabelledBy, ariaDescribedBy = props.ariaDescribedBy, ariaPositionInSet = props.ariaPositionInSet, ariaSetSize = props.ariaSetSize, title = props.title, checkmarkIconProps = props.checkmarkIconProps, styles = props.styles, theme = props.theme, className = props.className, _a = props.boxSide, boxSide = _a === void 0 ? 'start' : _a;\n var id = useId('checkbox-', props.id);\n var rootRef = React.useRef(null);\n var mergedRootRefs = useMergedRefs(rootRef, forwardedRef);\n var inputRef = React.useRef(null);\n var _b = useControllableValue(props.checked, props.defaultChecked, props.onChange), isChecked = _b[0], setIsChecked = _b[1];\n var _c = useControllableValue(props.indeterminate, props.defaultIndeterminate), isIndeterminate = _c[0], setIsIndeterminate = _c[1];\n useFocusRects(rootRef);\n useDebugWarning(props);\n var classNames = getClassNames(styles, {\n theme: theme,\n className: className,\n disabled: disabled,\n indeterminate: isIndeterminate,\n checked: isChecked,\n reversed: boxSide !== 'start',\n isUsingCustomLabelRender: !!props.onRenderLabel,\n });\n var onChange = React.useCallback(function (event) {\n if (isIndeterminate) {\n // If indeterminate, clicking the checkbox *only* removes the indeterminate state (or if\n // controlled, lets the consumer know to change it by calling onChange). It doesn't\n // change the checked state.\n setIsChecked(!!isChecked, event);\n setIsIndeterminate(false);\n }\n else {\n setIsChecked(!isChecked, event);\n }\n }, [setIsChecked, setIsIndeterminate, isIndeterminate, isChecked]);\n var defaultLabelRenderer = React.useCallback(function (checkboxProps) {\n if (!checkboxProps) {\n return null;\n }\n return checkboxProps.label ? (React.createElement(\"span\", { className: classNames.text, title: checkboxProps.title }, checkboxProps.label)) : null;\n }, [classNames.text]);\n var setNativeIndeterminate = React.useCallback(function (indeterminate) {\n if (!inputRef.current) {\n return;\n }\n var value = !!indeterminate;\n inputRef.current.indeterminate = value;\n setIsIndeterminate(value);\n }, [setIsIndeterminate]);\n useComponentRef(props, isChecked, isIndeterminate, setNativeIndeterminate, inputRef);\n React.useEffect(function () { return setNativeIndeterminate(isIndeterminate); }, [setNativeIndeterminate, isIndeterminate]);\n var onRenderLabel = props.onRenderLabel || defaultLabelRenderer;\n var ariaChecked = isIndeterminate\n ? 'mixed'\n : undefined;\n var mergedInputProps = __assign(__assign({ className: classNames.input, type: 'checkbox' }, inputProps), { checked: !!isChecked, disabled: disabled, required: required, name: name, id: id, title: title, onChange: onChange, 'aria-disabled': disabled, 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy, 'aria-describedby': ariaDescribedBy, 'aria-posinset': ariaPositionInSet, 'aria-setsize': ariaSetSize, 'aria-checked': ariaChecked });\n return (React.createElement(\"div\", { className: classNames.root, title: title, ref: mergedRootRefs },\n React.createElement(\"input\", __assign({}, mergedInputProps, { ref: inputRef, title: title, \"data-ktp-execute-target\": true })),\n React.createElement(\"label\", { className: classNames.label, htmlFor: id },\n React.createElement(\"div\", { className: classNames.checkbox, \"data-ktp-target\": true },\n React.createElement(Icon, __assign({ iconName: \"CheckMark\" }, checkmarkIconProps, { className: classNames.checkmark }))),\n onRenderLabel(props, defaultLabelRenderer))));\n});\nCheckboxBase.displayName = 'CheckboxBase';\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: 'Checkbox',\n props: props,\n mutuallyExclusive: {\n checked: 'defaultChecked',\n indeterminate: 'defaultIndeterminate',\n },\n });\n }\n}\nfunction useComponentRef(props, isChecked, isIndeterminate, setIndeterminate, checkBoxRef) {\n React.useImperativeHandle(props.componentRef, function () { return ({\n get checked() {\n return !!isChecked;\n },\n get indeterminate() {\n return !!isIndeterminate;\n },\n set indeterminate(indeterminate) {\n setIndeterminate(indeterminate);\n },\n focus: function () {\n if (checkBoxRef.current) {\n checkBoxRef.current.focus();\n }\n },\n }); }, [checkBoxRef, isChecked, isIndeterminate, setIndeterminate]);\n}\n//# sourceMappingURL=Checkbox.base.js.map","import { __assign } from \"tslib\";\nimport { HighContrastSelector, getGlobalClassNames, getHighContrastNoAdjustStyle } from '@fluentui/style-utilities';\nimport { IsFocusVisibleClassName } from '@fluentui/utilities';\nvar GlobalClassNames = {\n root: 'ms-Checkbox',\n label: 'ms-Checkbox-label',\n checkbox: 'ms-Checkbox-checkbox',\n checkmark: 'ms-Checkbox-checkmark',\n text: 'ms-Checkbox-text',\n};\nvar MS_CHECKBOX_LABEL_SIZE = '20px';\nvar MS_CHECKBOX_TRANSITION_DURATION = '200ms';\nvar MS_CHECKBOX_TRANSITION_TIMING = 'cubic-bezier(.4, 0, .23, 1)';\nexport var getStyles = function (props) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;\n var className = props.className, theme = props.theme, reversed = props.reversed, checked = props.checked, disabled = props.disabled, isUsingCustomLabelRender = props.isUsingCustomLabelRender, indeterminate = props.indeterminate;\n var semanticColors = theme.semanticColors, effects = theme.effects, palette = theme.palette, fonts = theme.fonts;\n var classNames = getGlobalClassNames(GlobalClassNames, theme);\n var checkmarkFontColor = semanticColors.inputForegroundChecked;\n // TODO: after updating the semanticColors slots mapping this needs to be semanticColors.inputBorder\n var checkmarkFontColorHovered = palette.neutralSecondary;\n // TODO: after updating the semanticColors slots mapping this needs to be semanticColors.smallInputBorder\n var checkboxBorderColor = palette.neutralPrimary;\n var checkboxBorderIndeterminateColor = semanticColors.inputBackgroundChecked;\n var checkboxBorderColorChecked = semanticColors.inputBackgroundChecked;\n var checkboxBorderColorDisabled = semanticColors.disabledBodySubtext;\n var checkboxBorderHoveredColor = semanticColors.inputBorderHovered;\n var checkboxBorderIndeterminateHoveredColor = semanticColors.inputBackgroundCheckedHovered;\n var checkboxBackgroundChecked = semanticColors.inputBackgroundChecked;\n // TODO: after updating the semanticColors slots mapping the following 2 tokens need to be\n // semanticColors.inputBackgroundCheckedHovered\n var checkboxBackgroundCheckedHovered = semanticColors.inputBackgroundCheckedHovered;\n var checkboxBorderColorCheckedHovered = semanticColors.inputBackgroundCheckedHovered;\n var checkboxHoveredTextColor = semanticColors.inputTextHovered;\n var checkboxBackgroundDisabledChecked = semanticColors.disabledBodySubtext;\n var checkboxTextColor = semanticColors.bodyText;\n var checkboxTextColorDisabled = semanticColors.disabledText;\n var indeterminateDotStyles = [\n (_a = {\n content: '\"\"',\n borderRadius: effects.roundedCorner2,\n position: 'absolute',\n width: 10,\n height: 10,\n top: 4,\n left: 4,\n boxSizing: 'border-box',\n borderWidth: 5,\n borderStyle: 'solid',\n borderColor: disabled ? checkboxBorderColorDisabled : checkboxBorderIndeterminateColor,\n transitionProperty: 'border-width, border, border-color',\n transitionDuration: MS_CHECKBOX_TRANSITION_DURATION,\n transitionTimingFunction: MS_CHECKBOX_TRANSITION_TIMING\n },\n _a[HighContrastSelector] = {\n borderColor: 'WindowText',\n },\n _a),\n ];\n return {\n root: [\n classNames.root,\n {\n position: 'relative',\n display: 'flex',\n },\n reversed && 'reversed',\n checked && 'is-checked',\n !disabled && 'is-enabled',\n disabled && 'is-disabled',\n !disabled && [\n !checked && (_b = {},\n _b[\":hover .\".concat(classNames.checkbox)] = (_c = {\n borderColor: checkboxBorderHoveredColor\n },\n _c[HighContrastSelector] = {\n borderColor: 'Highlight',\n },\n _c),\n _b[\":focus .\".concat(classNames.checkbox)] = { borderColor: checkboxBorderHoveredColor },\n _b[\":hover .\".concat(classNames.checkmark)] = (_d = {\n color: checkmarkFontColorHovered,\n opacity: '1'\n },\n _d[HighContrastSelector] = {\n color: 'Highlight',\n },\n _d),\n _b),\n checked &&\n !indeterminate && (_e = {},\n _e[\":hover .\".concat(classNames.checkbox)] = {\n background: checkboxBackgroundCheckedHovered,\n borderColor: checkboxBorderColorCheckedHovered,\n },\n _e[\":focus .\".concat(classNames.checkbox)] = {\n background: checkboxBackgroundCheckedHovered,\n borderColor: checkboxBorderColorCheckedHovered,\n },\n _e[HighContrastSelector] = (_f = {},\n _f[\":hover .\".concat(classNames.checkbox)] = {\n background: 'Highlight',\n borderColor: 'Highlight',\n },\n _f[\":focus .\".concat(classNames.checkbox)] = {\n background: 'Highlight',\n },\n _f[\":focus:hover .\".concat(classNames.checkbox)] = {\n background: 'Highlight',\n },\n _f[\":focus:hover .\".concat(classNames.checkmark)] = {\n color: 'Window',\n },\n _f[\":hover .\".concat(classNames.checkmark)] = {\n color: 'Window',\n },\n _f),\n _e),\n indeterminate && (_g = {},\n _g[\":hover .\".concat(classNames.checkbox, \", :hover .\").concat(classNames.checkbox, \":after\")] = (_h = {\n borderColor: checkboxBorderIndeterminateHoveredColor\n },\n _h[HighContrastSelector] = {\n borderColor: 'WindowText',\n },\n _h),\n _g[\":focus .\".concat(classNames.checkbox)] = {\n borderColor: checkboxBorderIndeterminateHoveredColor,\n },\n _g[\":hover .\".concat(classNames.checkmark)] = {\n opacity: '0',\n },\n _g),\n (_j = {},\n _j[\":hover .\".concat(classNames.text, \", :focus .\").concat(classNames.text)] = (_k = {\n color: checkboxHoveredTextColor\n },\n _k[HighContrastSelector] = {\n color: disabled ? 'GrayText' : 'WindowText',\n },\n _k),\n _j),\n ],\n className,\n ],\n input: (_l = {\n position: 'absolute',\n background: 'none',\n opacity: 0\n },\n _l[\".\".concat(IsFocusVisibleClassName, \" &:focus + label::before\")] = (_m = {\n outline: '1px solid ' + theme.palette.neutralSecondary,\n outlineOffset: '2px'\n },\n _m[HighContrastSelector] = {\n outline: '1px solid WindowText',\n },\n _m),\n _l),\n label: [\n classNames.label,\n theme.fonts.medium,\n {\n display: 'flex',\n alignItems: isUsingCustomLabelRender ? 'center' : 'flex-start',\n cursor: disabled ? 'default' : 'pointer',\n position: 'relative',\n userSelect: 'none',\n },\n reversed && {\n flexDirection: 'row-reverse',\n justifyContent: 'flex-end',\n },\n {\n '&::before': {\n position: 'absolute',\n left: 0,\n right: 0,\n top: 0,\n bottom: 0,\n content: '\"\"',\n pointerEvents: 'none',\n },\n },\n ],\n checkbox: [\n classNames.checkbox,\n (_o = {\n position: 'relative',\n display: 'flex',\n flexShrink: 0,\n alignItems: 'center',\n justifyContent: 'center',\n height: MS_CHECKBOX_LABEL_SIZE,\n width: MS_CHECKBOX_LABEL_SIZE,\n border: \"1px solid \".concat(checkboxBorderColor),\n borderRadius: effects.roundedCorner2,\n boxSizing: 'border-box',\n transitionProperty: 'background, border, border-color',\n transitionDuration: MS_CHECKBOX_TRANSITION_DURATION,\n transitionTimingFunction: MS_CHECKBOX_TRANSITION_TIMING,\n /* in case the icon is bigger than the box */\n overflow: 'hidden',\n ':after': indeterminate ? indeterminateDotStyles : null\n },\n _o[HighContrastSelector] = __assign({ borderColor: 'WindowText' }, getHighContrastNoAdjustStyle()),\n _o),\n indeterminate && {\n borderColor: checkboxBorderIndeterminateColor,\n },\n !reversed\n ? // This margin on the checkbox is for backwards compat. Notably it has the effect where a customRender\n // is used, there will be only a 4px margin from checkbox to label. The label by default would have\n // another 4px margin for a total of 8px margin between checkbox and label. We don't combine the two\n // (and move it into the text) to not incur a breaking change for everyone using custom render atm.\n {\n marginRight: 4,\n }\n : {\n marginLeft: 4,\n },\n !disabled &&\n !indeterminate &&\n checked && (_p = {\n background: checkboxBackgroundChecked,\n borderColor: checkboxBorderColorChecked\n },\n _p[HighContrastSelector] = {\n background: 'Highlight',\n borderColor: 'Highlight',\n },\n _p),\n disabled && (_q = {\n borderColor: checkboxBorderColorDisabled\n },\n _q[HighContrastSelector] = {\n borderColor: 'GrayText',\n },\n _q),\n checked &&\n disabled && (_r = {\n background: checkboxBackgroundDisabledChecked,\n borderColor: checkboxBorderColorDisabled\n },\n _r[HighContrastSelector] = {\n background: 'Window',\n },\n _r),\n ],\n checkmark: [\n classNames.checkmark,\n (_s = {\n opacity: checked && !indeterminate ? '1' : '0',\n color: checkmarkFontColor\n },\n _s[HighContrastSelector] = __assign({ color: disabled ? 'GrayText' : 'Window' }, getHighContrastNoAdjustStyle()),\n _s),\n ],\n text: [\n classNames.text,\n (_t = {\n color: disabled ? checkboxTextColorDisabled : checkboxTextColor,\n fontSize: fonts.medium.fontSize,\n lineHeight: '20px'\n },\n _t[HighContrastSelector] = __assign({ color: disabled ? 'GrayText' : 'WindowText' }, getHighContrastNoAdjustStyle()),\n _t),\n !reversed\n ? {\n marginLeft: 4,\n }\n : {\n marginRight: 4,\n },\n ],\n };\n};\n//# sourceMappingURL=Checkbox.styles.js.map","import { styled } from '@fluentui/utilities';\nimport { CheckboxBase } from './Checkbox.base';\nimport { getStyles } from './Checkbox.styles';\nexport var Checkbox = styled(CheckboxBase, getStyles, undefined, { scope: 'Checkbox' });\n//# sourceMappingURL=Checkbox.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 { __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 var measuredBoundingRect = refToMeasure.current.getBoundingClientRect();\n return props.direction === ResizeGroupDirection.vertical\n ? measuredBoundingRect.height\n : measuredBoundingRect.width;\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","import { __assign, __rest } from \"tslib\";\nimport { memoizeFunction } from '../../Utilities';\nvar COMMAND_BAR_HEIGHT = 44;\nexport var getStyles = function (props) {\n var className = props.className, theme = props.theme;\n var semanticColors = theme.semanticColors;\n return {\n root: [\n theme.fonts.medium,\n 'ms-CommandBar',\n {\n display: 'flex',\n backgroundColor: semanticColors.bodyBackground,\n padding: '0 14px 0 24px',\n height: COMMAND_BAR_HEIGHT,\n },\n className,\n ],\n primarySet: [\n 'ms-CommandBar-primaryCommand',\n {\n flexGrow: '1',\n display: 'flex',\n alignItems: 'stretch',\n },\n ],\n secondarySet: [\n 'ms-CommandBar-secondaryCommand',\n {\n flexShrink: '0',\n display: 'flex',\n alignItems: 'stretch',\n },\n ],\n };\n};\nexport var getCommandButtonStyles = memoizeFunction(function (customStyles) {\n var rootStyles = {\n height: '100%',\n };\n var labelStyles = {\n whiteSpace: 'nowrap',\n };\n var _a = customStyles || {}, root = _a.root, label = _a.label, restCustomStyles = __rest(_a, [\"root\", \"label\"]);\n return __assign(__assign({}, restCustomStyles), { root: root ? [rootStyles, root] : rootStyles, label: label ? [labelStyles, label] : labelStyles });\n});\n//# sourceMappingURL=CommandBar.styles.js.map","import { __assign, __extends, __spreadArray } from \"tslib\";\nimport * as React from 'react';\nimport { classNamesFunction, css, nullRender, getNativeProps, divProperties, composeComponentAs, initializeComponentRef, } from '../../Utilities';\nimport { OverflowSet } from '../../OverflowSet';\nimport { ResizeGroup } from '../../ResizeGroup';\nimport { FocusZone, FocusZoneDirection } from '../../FocusZone';\nimport { CommandBarButton } from '../../Button';\nimport { TooltipHost } from '../../Tooltip';\nimport { getCommandButtonStyles } from './CommandBar.styles';\nvar getClassNames = classNamesFunction();\nvar CommandBarBase = /** @class */ (function (_super) {\n __extends(CommandBarBase, _super);\n function CommandBarBase(props) {\n var _this = _super.call(this, props) || this;\n _this._overflowSet = React.createRef();\n _this._resizeGroup = React.createRef();\n _this._onRenderData = function (data) {\n var _a = _this.props, ariaLabel = _a.ariaLabel, primaryGroupAriaLabel = _a.primaryGroupAriaLabel, farItemsGroupAriaLabel = _a.farItemsGroupAriaLabel;\n var hasSecondSet = data.farItems && data.farItems.length > 0;\n return (React.createElement(FocusZone, { className: css(_this._classNames.root), direction: FocusZoneDirection.horizontal, role: 'menubar', \"aria-label\": ariaLabel },\n React.createElement(OverflowSet, { role: hasSecondSet ? 'group' : 'none', \"aria-label\": hasSecondSet ? primaryGroupAriaLabel : undefined, componentRef: _this._overflowSet, className: css(_this._classNames.primarySet), items: data.primaryItems, overflowItems: data.overflowItems.length ? data.overflowItems : undefined, onRenderItem: _this._onRenderItem, onRenderOverflowButton: _this._onRenderOverflowButton }),\n hasSecondSet && (React.createElement(OverflowSet, { role: \"group\", \"aria-label\": farItemsGroupAriaLabel, className: css(_this._classNames.secondarySet), items: data.farItems, onRenderItem: _this._onRenderItem, onRenderOverflowButton: nullRender }))));\n };\n _this._onRenderItem = function (item) {\n if (item.onRender) {\n // These are the top level items, there is no relevant menu dismissing function to\n // provide for the IContextualMenuItem onRender function. Pass in a no op function instead.\n return item.onRender(item, function () { return undefined; });\n }\n // eslint-disable-next-line deprecation/deprecation\n var itemText = item.text || item.name;\n var commandButtonProps = __assign(__assign({ allowDisabledFocus: true, role: 'menuitem' }, item), { styles: getCommandButtonStyles(item.buttonStyles), className: css('ms-CommandBarItem-link', item.className), text: !item.iconOnly ? itemText : undefined, menuProps: item.subMenuProps, onClick: _this._onButtonClick(item) });\n if (item.iconOnly && (itemText !== undefined || item.tooltipHostProps)) {\n return (React.createElement(TooltipHost, __assign({ role: \"none\", content: itemText, setAriaDescribedBy: false }, item.tooltipHostProps), _this._commandButton(item, commandButtonProps)));\n }\n return _this._commandButton(item, commandButtonProps);\n };\n _this._commandButton = function (item, props) {\n var ButtonAs = _this.props.buttonAs;\n var CommandBarButtonAs = item.commandBarButtonAs;\n var DefaultButtonAs = CommandBarButton;\n // The prop types between these three possible implementations overlap enough that a force-cast is safe.\n var Type = DefaultButtonAs;\n if (CommandBarButtonAs) {\n Type = composeComponentAs(CommandBarButtonAs, Type);\n }\n if (ButtonAs) {\n Type = composeComponentAs(ButtonAs, Type);\n }\n // Always pass the default implementation to the override so it may be composed.\n return React.createElement(Type, __assign({}, props));\n };\n _this._onRenderOverflowButton = function (overflowItems) {\n var _a = _this.props.overflowButtonProps, overflowButtonProps = _a === void 0 ? {} : _a;\n var combinedOverflowItems = __spreadArray(__spreadArray([], (overflowButtonProps.menuProps ? overflowButtonProps.menuProps.items : []), true), overflowItems, true);\n var overflowProps = __assign(__assign({ role: 'menuitem' }, overflowButtonProps), { styles: __assign({ menuIcon: { fontSize: '17px' } }, overflowButtonProps.styles), className: css('ms-CommandBar-overflowButton', overflowButtonProps.className), menuProps: __assign(__assign({}, overflowButtonProps.menuProps), { items: combinedOverflowItems }), menuIconProps: __assign({ iconName: 'More' }, overflowButtonProps.menuIconProps) });\n var OverflowButtonType = _this.props.overflowButtonAs\n ? composeComponentAs(_this.props.overflowButtonAs, CommandBarButton)\n : CommandBarButton;\n return React.createElement(OverflowButtonType, __assign({}, overflowProps));\n };\n _this._onReduceData = function (data) {\n var _a = _this.props, shiftOnReduce = _a.shiftOnReduce, onDataReduced = _a.onDataReduced;\n var primaryItems = data.primaryItems, overflowItems = data.overflowItems, cacheKey = data.cacheKey;\n var farItems = data.farItems;\n // Use first item if shiftOnReduce, otherwise use last item\n var movedItem = primaryItems[shiftOnReduce ? 0 : primaryItems.length - 1];\n if (movedItem !== undefined) {\n movedItem.renderedInOverflow = true;\n overflowItems = __spreadArray([movedItem], overflowItems, true);\n primaryItems = shiftOnReduce ? primaryItems.slice(1) : primaryItems.slice(0, -1);\n var newData = __assign(__assign({}, data), { primaryItems: primaryItems, overflowItems: overflowItems });\n cacheKey = _this._computeCacheKey({ primaryItems: primaryItems, overflow: overflowItems.length > 0, farItems: farItems });\n if (onDataReduced) {\n onDataReduced(movedItem);\n }\n newData.cacheKey = cacheKey;\n return newData;\n }\n return undefined;\n };\n _this._onGrowData = function (data) {\n var _a = _this.props, shiftOnReduce = _a.shiftOnReduce, onDataGrown = _a.onDataGrown;\n var minimumOverflowItems = data.minimumOverflowItems;\n var primaryItems = data.primaryItems, overflowItems = data.overflowItems, cacheKey = data.cacheKey;\n var farItems = data.farItems;\n var movedItem = overflowItems[0];\n // Make sure that moved item exists and is not one of the original overflow items\n if (movedItem !== undefined && overflowItems.length > minimumOverflowItems) {\n movedItem.renderedInOverflow = false;\n overflowItems = overflowItems.slice(1);\n // if shiftOnReduce, movedItem goes first, otherwise, last.\n primaryItems = shiftOnReduce ? __spreadArray([movedItem], primaryItems, true) : __spreadArray(__spreadArray([], primaryItems, true), [movedItem], false);\n var newData = __assign(__assign({}, data), { primaryItems: primaryItems, overflowItems: overflowItems });\n cacheKey = _this._computeCacheKey({ primaryItems: primaryItems, overflow: overflowItems.length > 0, farItems: farItems });\n if (onDataGrown) {\n onDataGrown(movedItem);\n }\n newData.cacheKey = cacheKey;\n return newData;\n }\n return undefined;\n };\n initializeComponentRef(_this);\n return _this;\n }\n CommandBarBase.prototype.render = function () {\n var _a = this.props, items = _a.items, overflowItems = _a.overflowItems, farItems = _a.farItems, styles = _a.styles, theme = _a.theme, dataDidRender = _a.dataDidRender, _b = _a.onReduceData, onReduceData = _b === void 0 ? this._onReduceData : _b, _c = _a.onGrowData, onGrowData = _c === void 0 ? this._onGrowData : _c, _d = _a.resizeGroupAs, ResizeGroupAs = _d === void 0 ? ResizeGroup : _d;\n var commandBarData = {\n primaryItems: __spreadArray([], items, true),\n overflowItems: __spreadArray([], overflowItems, true),\n minimumOverflowItems: __spreadArray([], overflowItems, true).length,\n farItems: farItems,\n cacheKey: this._computeCacheKey({\n primaryItems: __spreadArray([], items, true),\n overflow: overflowItems && overflowItems.length > 0,\n farItems: farItems,\n }),\n };\n this._classNames = getClassNames(styles, { theme: theme });\n // ResizeGroup will render these attributes to the root
.\n // TODO We may need to elevate classNames from into ?\n var nativeProps = getNativeProps(this.props, divProperties);\n return (React.createElement(ResizeGroupAs, __assign({}, nativeProps, { componentRef: this._resizeGroup, data: commandBarData, onReduceData: onReduceData, onGrowData: onGrowData, onRenderData: this._onRenderData, dataDidRender: dataDidRender })));\n };\n CommandBarBase.prototype.focus = function () {\n var overflowSet = this._overflowSet.current;\n overflowSet && overflowSet.focus();\n };\n CommandBarBase.prototype.remeasure = function () {\n this._resizeGroup.current && this._resizeGroup.current.remeasure();\n };\n CommandBarBase.prototype._onButtonClick = function (item) {\n return function (ev) {\n // inactive is deprecated. remove check in 7.0\n // eslint-disable-next-line deprecation/deprecation\n if (item.inactive) {\n return;\n }\n if (item.onClick) {\n item.onClick(ev, item);\n }\n };\n };\n CommandBarBase.prototype._computeCacheKey = function (data) {\n var primaryItems = data.primaryItems, overflow = data.overflow, farItems = data.farItems;\n var returnKey = function (acc, current) {\n var _a = current.cacheKey, cacheKey = _a === void 0 ? current.key : _a;\n return acc + cacheKey;\n };\n var primaryKey = primaryItems && primaryItems.reduce(returnKey, '');\n var overflowKey = overflow ? 'overflow' : '';\n var farKey = farItems && farItems.reduce(returnKey, '');\n return [primaryKey, overflowKey, farKey].join('');\n };\n CommandBarBase.defaultProps = {\n items: [],\n overflowItems: [],\n };\n return CommandBarBase;\n}(React.Component));\nexport { CommandBarBase };\n//# sourceMappingURL=CommandBar.base.js.map","import { styled } from '../../Utilities';\nimport { CommandBarBase } from './CommandBar.base';\nimport { getStyles } from './CommandBar.styles';\n// Create a CommandBar variant which uses these default styles and this styled subcomponent.\nexport var CommandBar = styled(CommandBarBase, getStyles, undefined, {\n scope: 'CommandBar',\n});\n//# sourceMappingURL=CommandBar.js.map","/**\n * Determines the effective checked state of a menu item.\n *\n * @param item {IContextualMenuItem} to get the check state of.\n * @returns {true} if the item is checked.\n * @returns {false} if the item is unchecked.\n * @returns {null} if the item is not checkable.\n */\nexport function getIsChecked(item) {\n if (item.canCheck) {\n return !!(item.isChecked || item.checked);\n }\n if (typeof item.isChecked === 'boolean') {\n return item.isChecked;\n }\n if (typeof item.checked === 'boolean') {\n return item.checked;\n }\n // Item is not checkable.\n return null;\n}\nexport function hasSubmenu(item) {\n // eslint-disable-next-line deprecation/deprecation\n return !!(item.subMenuProps || item.items);\n}\nexport function isItemDisabled(item) {\n return !!(item.isDisabled || item.disabled);\n}\nexport function getMenuItemAriaRole(item) {\n var isChecked = getIsChecked(item);\n var canCheck = isChecked !== null;\n return canCheck ? 'menuitemcheckbox' : 'menuitem';\n}\n//# sourceMappingURL=contextualMenuUtility.js.map","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { hasSubmenu, getIsChecked } from '../../utilities/contextualMenu/index';\nimport { getRTL, initializeComponentRef } from '../../Utilities';\nimport { Icon } from '../../Icon';\nvar defaultIconRenderer = function (props) {\n var item = props.item, classNames = props.classNames;\n var iconProps = item.iconProps;\n return React.createElement(Icon, __assign({}, iconProps, { className: classNames.icon }));\n};\nvar renderItemIcon = function (props) {\n var item = props.item, hasIcons = props.hasIcons;\n if (!hasIcons) {\n return null;\n }\n if (item.onRenderIcon) {\n return item.onRenderIcon(props, defaultIconRenderer);\n }\n return defaultIconRenderer(props);\n};\nvar renderCheckMarkIcon = function (_a) {\n var onCheckmarkClick = _a.onCheckmarkClick, item = _a.item, classNames = _a.classNames;\n var isItemChecked = getIsChecked(item);\n if (onCheckmarkClick) {\n // Ensures that the item is passed as the first argument to the checkmark click callback.\n var onClick = function (e) { return onCheckmarkClick(item, e); };\n return (React.createElement(Icon, { iconName: item.canCheck !== false && isItemChecked ? 'CheckMark' : '', className: classNames.checkmarkIcon, \n // eslint-disable-next-line react/jsx-no-bind\n onClick: onClick }));\n }\n return null;\n};\nvar renderItemName = function (_a) {\n var item = _a.item, classNames = _a.classNames;\n /* eslint-disable deprecation/deprecation */\n if (item.text || item.name) {\n return React.createElement(\"span\", { className: classNames.label }, item.text || item.name);\n }\n /* eslint-enable deprecation/deprecation */\n return null;\n};\nvar renderSecondaryText = function (_a) {\n var item = _a.item, classNames = _a.classNames;\n if (item.secondaryText) {\n return React.createElement(\"span\", { className: classNames.secondaryText }, item.secondaryText);\n }\n return null;\n};\nvar renderSubMenuIcon = function (_a) {\n var item = _a.item, classNames = _a.classNames, theme = _a.theme;\n if (hasSubmenu(item)) {\n return (React.createElement(Icon, __assign({ iconName: getRTL(theme) ? 'ChevronLeft' : 'ChevronRight' }, item.submenuIconProps, { className: classNames.subMenuIcon })));\n }\n return null;\n};\nvar ContextualMenuItemBase = /** @class */ (function (_super) {\n __extends(ContextualMenuItemBase, _super);\n function ContextualMenuItemBase(props) {\n var _this = _super.call(this, props) || this;\n _this.openSubMenu = function () {\n var _a = _this.props, item = _a.item, openSubMenu = _a.openSubMenu, getSubmenuTarget = _a.getSubmenuTarget;\n if (getSubmenuTarget) {\n var submenuTarget = getSubmenuTarget();\n if (hasSubmenu(item) && openSubMenu && submenuTarget) {\n openSubMenu(item, submenuTarget);\n }\n }\n };\n _this.dismissSubMenu = function () {\n var _a = _this.props, item = _a.item, dismissSubMenu = _a.dismissSubMenu;\n if (hasSubmenu(item) && dismissSubMenu) {\n dismissSubMenu();\n }\n };\n _this.dismissMenu = function (dismissAll) {\n var dismissMenu = _this.props.dismissMenu;\n if (dismissMenu) {\n dismissMenu(undefined /* ev */, dismissAll);\n }\n };\n initializeComponentRef(_this);\n return _this;\n }\n ContextualMenuItemBase.prototype.render = function () {\n var _a = this.props, item = _a.item, classNames = _a.classNames;\n var renderContent = item.onRenderContent || this._renderLayout;\n return (React.createElement(\"div\", { className: item.split ? classNames.linkContentMenu : classNames.linkContent }, renderContent(this.props, {\n renderCheckMarkIcon: renderCheckMarkIcon,\n renderItemIcon: renderItemIcon,\n renderItemName: renderItemName,\n renderSecondaryText: renderSecondaryText,\n renderSubMenuIcon: renderSubMenuIcon,\n })));\n };\n ContextualMenuItemBase.prototype._renderLayout = function (props, defaultRenders) {\n return (React.createElement(React.Fragment, null,\n defaultRenders.renderCheckMarkIcon(props),\n defaultRenders.renderItemIcon(props),\n defaultRenders.renderItemName(props),\n defaultRenders.renderSecondaryText(props),\n defaultRenders.renderSubMenuIcon(props)));\n };\n return ContextualMenuItemBase;\n}(React.Component));\nexport { ContextualMenuItemBase };\n//# sourceMappingURL=ContextualMenuItem.base.js.map","import { memoizeFunction } from '../../Utilities';\nimport { mergeStyleSets } from '../../Styling';\n/**\n * @deprecated use getStyles exported from VerticalDivider.styles.ts\n */\nexport var getDividerClassNames = memoizeFunction(\n// eslint-disable-next-line deprecation/deprecation\nfunction (theme) {\n return mergeStyleSets({\n wrapper: {\n display: 'inline-flex',\n height: '100%',\n alignItems: 'center',\n },\n divider: {\n width: 1,\n height: '100%',\n backgroundColor: theme.palette.neutralTertiaryAlt,\n },\n });\n});\n//# sourceMappingURL=VerticalDivider.classNames.js.map","import { __assign } from \"tslib\";\nimport { concatStyleSets, getFocusStyle, HighContrastSelector, getScreenSelector, ScreenWidthMaxMedium, IconFontSizes, getHighContrastNoAdjustStyle, } from '../../Styling';\nimport { memoizeFunction } from '../../Utilities';\nexport var CONTEXTUAL_MENU_ITEM_HEIGHT = 36;\nvar MediumScreenSelector = getScreenSelector(0, ScreenWidthMaxMedium);\nexport var getMenuItemStyles = memoizeFunction(function (theme) {\n var _a, _b, _c, _d, _e;\n var semanticColors = theme.semanticColors, fonts = theme.fonts, palette = theme.palette;\n var ContextualMenuItemBackgroundHoverColor = semanticColors.menuItemBackgroundHovered;\n var ContextualMenuItemTextHoverColor = semanticColors.menuItemTextHovered;\n var ContextualMenuItemBackgroundSelectedColor = semanticColors.menuItemBackgroundPressed;\n var ContextualMenuItemDividerColor = semanticColors.bodyDivider;\n var menuItemStyles = {\n item: [\n fonts.medium,\n {\n color: semanticColors.bodyText,\n position: 'relative',\n boxSizing: 'border-box',\n },\n ],\n divider: {\n display: 'block',\n height: '1px',\n backgroundColor: ContextualMenuItemDividerColor,\n position: 'relative',\n },\n root: [\n getFocusStyle(theme),\n fonts.medium,\n {\n color: semanticColors.bodyText,\n backgroundColor: 'transparent',\n border: 'none',\n width: '100%',\n height: CONTEXTUAL_MENU_ITEM_HEIGHT,\n lineHeight: CONTEXTUAL_MENU_ITEM_HEIGHT,\n display: 'block',\n cursor: 'pointer',\n padding: '0px 8px 0 4px',\n textAlign: 'left',\n },\n ],\n rootDisabled: {\n color: semanticColors.disabledBodyText,\n cursor: 'default',\n pointerEvents: 'none',\n selectors: (_a = {},\n _a[HighContrastSelector] = {\n // ensure disabled text looks different than enabled\n color: 'GrayText',\n opacity: 1,\n },\n _a),\n },\n rootHovered: {\n backgroundColor: ContextualMenuItemBackgroundHoverColor,\n color: ContextualMenuItemTextHoverColor,\n selectors: {\n '.ms-ContextualMenu-icon': {\n color: palette.themeDarkAlt,\n },\n '.ms-ContextualMenu-submenuIcon': {\n color: palette.neutralPrimary,\n },\n },\n },\n rootFocused: {\n backgroundColor: palette.white,\n },\n rootChecked: {\n selectors: {\n '.ms-ContextualMenu-checkmarkIcon': {\n color: palette.neutralPrimary,\n },\n },\n },\n rootPressed: {\n backgroundColor: ContextualMenuItemBackgroundSelectedColor,\n selectors: {\n '.ms-ContextualMenu-icon': {\n color: palette.themeDark,\n },\n '.ms-ContextualMenu-submenuIcon': {\n color: palette.neutralPrimary,\n },\n },\n },\n rootExpanded: {\n backgroundColor: ContextualMenuItemBackgroundSelectedColor,\n color: semanticColors.bodyTextChecked,\n selectors: (_b = {\n '.ms-ContextualMenu-submenuIcon': (_c = {},\n _c[HighContrastSelector] = {\n // icons inside of anchor tags are not properly inheriting color in high contrast\n color: 'inherit',\n },\n _c)\n },\n _b[HighContrastSelector] = __assign({}, getHighContrastNoAdjustStyle()),\n _b),\n },\n linkContent: {\n whiteSpace: 'nowrap',\n height: 'inherit',\n display: 'flex',\n alignItems: 'center',\n maxWidth: '100%',\n },\n anchorLink: {\n padding: '0px 8px 0 4px',\n textRendering: 'auto',\n color: 'inherit',\n letterSpacing: 'normal',\n wordSpacing: 'normal',\n textTransform: 'none',\n textIndent: '0px',\n textShadow: 'none',\n textDecoration: 'none',\n boxSizing: 'border-box',\n },\n label: {\n margin: '0 4px',\n verticalAlign: 'middle',\n display: 'inline-block',\n flexGrow: '1',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n },\n secondaryText: {\n color: theme.palette.neutralSecondary,\n paddingLeft: '20px',\n textAlign: 'right',\n },\n icon: {\n display: 'inline-block',\n minHeight: '1px',\n maxHeight: CONTEXTUAL_MENU_ITEM_HEIGHT,\n fontSize: IconFontSizes.medium,\n width: IconFontSizes.medium,\n margin: '0 4px',\n verticalAlign: 'middle',\n flexShrink: '0',\n selectors: (_d = {},\n _d[MediumScreenSelector] = {\n fontSize: IconFontSizes.large,\n width: IconFontSizes.large,\n },\n _d),\n },\n iconColor: {\n color: semanticColors.menuIcon,\n },\n iconDisabled: {\n color: semanticColors.disabledBodyText,\n },\n checkmarkIcon: {\n color: semanticColors.bodySubtext,\n },\n subMenuIcon: {\n height: CONTEXTUAL_MENU_ITEM_HEIGHT,\n lineHeight: CONTEXTUAL_MENU_ITEM_HEIGHT,\n color: palette.neutralSecondary,\n textAlign: 'center',\n display: 'inline-block',\n verticalAlign: 'middle',\n flexShrink: '0',\n fontSize: IconFontSizes.small,\n selectors: (_e = {\n ':hover': {\n color: palette.neutralPrimary,\n },\n ':active': {\n color: palette.neutralPrimary,\n }\n },\n _e[MediumScreenSelector] = {\n fontSize: IconFontSizes.medium, // 16px\n },\n _e),\n },\n splitButtonFlexContainer: [\n getFocusStyle(theme),\n {\n display: 'flex',\n height: CONTEXTUAL_MENU_ITEM_HEIGHT,\n flexWrap: 'nowrap',\n justifyContent: 'center',\n alignItems: 'flex-start',\n },\n ],\n };\n return concatStyleSets(menuItemStyles);\n});\n//# sourceMappingURL=ContextualMenu.cnstyles.js.map","import { getDividerClassNames } from '../Divider/VerticalDivider.classNames';\nimport { getMenuItemStyles } from './ContextualMenu.cnstyles';\nimport { mergeStyleSets, getGlobalClassNames, getScreenSelector, ScreenWidthMaxMedium, hiddenContentStyle, } from '../../Styling';\nimport { memoizeFunction, IsFocusVisibleClassName } from '../../Utilities';\nvar CONTEXTUAL_SPLIT_MENU_MINWIDTH = '28px';\nvar MediumScreenSelector = getScreenSelector(0, ScreenWidthMaxMedium);\nexport var getSplitButtonVerticalDividerClassNames = memoizeFunction(\n/* eslint-disable deprecation/deprecation */\nfunction (theme) {\n var _a;\n return mergeStyleSets(getDividerClassNames(theme), {\n /* eslint-enable deprecation/deprecation */\n wrapper: {\n position: 'absolute',\n right: 28,\n selectors: (_a = {},\n _a[MediumScreenSelector] = {\n right: 32, // fontSize of the icon increased from 12px to 16px\n },\n _a),\n },\n divider: {\n height: 16,\n width: 1,\n },\n });\n});\nvar GlobalClassNames = {\n item: 'ms-ContextualMenu-item',\n divider: 'ms-ContextualMenu-divider',\n root: 'ms-ContextualMenu-link',\n isChecked: 'is-checked',\n isExpanded: 'is-expanded',\n isDisabled: 'is-disabled',\n linkContent: 'ms-ContextualMenu-linkContent',\n linkContentMenu: 'ms-ContextualMenu-linkContent',\n icon: 'ms-ContextualMenu-icon',\n iconColor: 'ms-ContextualMenu-iconColor',\n checkmarkIcon: 'ms-ContextualMenu-checkmarkIcon',\n subMenuIcon: 'ms-ContextualMenu-submenuIcon',\n label: 'ms-ContextualMenu-itemText',\n secondaryText: 'ms-ContextualMenu-secondaryText',\n splitMenu: 'ms-ContextualMenu-splitMenu',\n screenReaderText: 'ms-ContextualMenu-screenReaderText',\n};\n/**\n * @deprecated Will be removed in \\>= 7.0.\n * This is a package-internal method that has been depended on.\n * It is being kept in this form for backwards compatibility.\n * @internal\n */\n// TODO: Audit perf. impact of and potentially remove memoizeFunction.\n// https://github.com/microsoft/fluentui/issues/5534\nexport var getItemClassNames = memoizeFunction(function (theme, disabled, expanded, checked, isAnchorLink, knownIcon, itemClassName, dividerClassName, iconClassName, subMenuClassName, primaryDisabled, className) {\n var _a, _b, _c, _d;\n var styles = getMenuItemStyles(theme);\n var classNames = getGlobalClassNames(GlobalClassNames, theme);\n return mergeStyleSets({\n item: [classNames.item, styles.item, itemClassName],\n divider: [classNames.divider, styles.divider, dividerClassName],\n root: [\n classNames.root,\n styles.root,\n checked && [classNames.isChecked, styles.rootChecked],\n isAnchorLink && styles.anchorLink,\n expanded && [classNames.isExpanded, styles.rootExpanded],\n disabled && [classNames.isDisabled, styles.rootDisabled],\n !disabled &&\n !expanded && [\n {\n selectors: (_a = {\n ':hover': styles.rootHovered,\n ':active': styles.rootPressed\n },\n _a[\".\".concat(IsFocusVisibleClassName, \" &:focus, .\").concat(IsFocusVisibleClassName, \" &:focus:hover\")] = styles.rootFocused,\n _a[\".\".concat(IsFocusVisibleClassName, \" &:hover\")] = { background: 'inherit;' },\n _a),\n },\n ],\n className,\n ],\n splitPrimary: [\n styles.root,\n {\n width: \"calc(100% - \".concat(CONTEXTUAL_SPLIT_MENU_MINWIDTH, \")\"),\n },\n checked && ['is-checked', styles.rootChecked],\n (disabled || primaryDisabled) && ['is-disabled', styles.rootDisabled],\n !(disabled || primaryDisabled) &&\n !checked && [\n {\n selectors: (_b = {\n ':hover': styles.rootHovered\n },\n // when hovering over the splitPrimary also affect the splitMenu\n _b[\":hover ~ .\".concat(classNames.splitMenu)] = styles.rootHovered,\n _b[':active'] = styles.rootPressed,\n _b[\".\".concat(IsFocusVisibleClassName, \" &:focus, .\").concat(IsFocusVisibleClassName, \" &:focus:hover\")] = styles.rootFocused,\n _b[\".\".concat(IsFocusVisibleClassName, \" &:hover\")] = { background: 'inherit;' },\n _b),\n },\n ],\n ],\n splitMenu: [\n classNames.splitMenu,\n styles.root,\n {\n flexBasis: '0',\n padding: '0 8px',\n minWidth: CONTEXTUAL_SPLIT_MENU_MINWIDTH,\n },\n expanded && ['is-expanded', styles.rootExpanded],\n disabled && ['is-disabled', styles.rootDisabled],\n !disabled &&\n !expanded && [\n {\n selectors: (_c = {\n ':hover': styles.rootHovered,\n ':active': styles.rootPressed\n },\n _c[\".\".concat(IsFocusVisibleClassName, \" &:focus, .\").concat(IsFocusVisibleClassName, \" &:focus:hover\")] = styles.rootFocused,\n _c[\".\".concat(IsFocusVisibleClassName, \" &:hover\")] = { background: 'inherit;' },\n _c),\n },\n ],\n ],\n anchorLink: styles.anchorLink,\n linkContent: [classNames.linkContent, styles.linkContent],\n linkContentMenu: [\n classNames.linkContentMenu,\n styles.linkContent,\n {\n justifyContent: 'center',\n },\n ],\n icon: [\n classNames.icon,\n knownIcon && styles.iconColor,\n styles.icon,\n iconClassName,\n disabled && [classNames.isDisabled, styles.iconDisabled],\n ],\n iconColor: styles.iconColor,\n checkmarkIcon: [classNames.checkmarkIcon, knownIcon && styles.checkmarkIcon, styles.icon, iconClassName],\n subMenuIcon: [\n classNames.subMenuIcon,\n styles.subMenuIcon,\n subMenuClassName,\n expanded && { color: theme.palette.neutralPrimary },\n disabled && [styles.iconDisabled],\n ],\n label: [classNames.label, styles.label],\n secondaryText: [classNames.secondaryText, styles.secondaryText],\n splitContainer: [\n styles.splitButtonFlexContainer,\n !disabled &&\n !checked && [\n {\n selectors: (_d = {},\n _d[\".\".concat(IsFocusVisibleClassName, \" &:focus, .\").concat(IsFocusVisibleClassName, \" &:focus:hover\")] = styles.rootFocused,\n _d),\n },\n ],\n ],\n screenReaderText: [\n classNames.screenReaderText,\n styles.screenReaderText,\n hiddenContentStyle,\n { visibility: 'hidden' },\n ],\n });\n});\n/**\n * Wrapper function for generating ContextualMenuItem classNames which adheres to\n * the getStyles API, but invokes memoized className generator function with\n * primitive values.\n *\n * @param props - the ContextualMenuItem style props used to generate its styles.\n */\nexport var getItemStyles = function (props) {\n var theme = props.theme, disabled = props.disabled, expanded = props.expanded, checked = props.checked, isAnchorLink = props.isAnchorLink, knownIcon = props.knownIcon, itemClassName = props.itemClassName, dividerClassName = props.dividerClassName, iconClassName = props.iconClassName, subMenuClassName = props.subMenuClassName, primaryDisabled = props.primaryDisabled, className = props.className;\n // eslint-disable-next-line deprecation/deprecation\n return getItemClassNames(theme, disabled, expanded, checked, isAnchorLink, knownIcon, itemClassName, dividerClassName, iconClassName, subMenuClassName, primaryDisabled, className);\n};\n//# sourceMappingURL=ContextualMenu.classNames.js.map","import { styled } from '../../Utilities';\nimport { ContextualMenuItemBase } from './ContextualMenuItem.base';\nimport { getItemStyles } from './ContextualMenu.classNames';\n/**\n * ContextualMenuItem description\n */\nexport var ContextualMenuItem = styled(ContextualMenuItemBase, getItemStyles, undefined, { scope: 'ContextualMenuItem' });\n//# sourceMappingURL=ContextualMenuItem.js.map","import { __extends } from \"tslib\";\nimport * as React from 'react';\nimport { initializeComponentRef, shallowCompare } from '../../../Utilities';\nvar ContextualMenuItemWrapper = /** @class */ (function (_super) {\n __extends(ContextualMenuItemWrapper, _super);\n function ContextualMenuItemWrapper(props) {\n var _this = _super.call(this, props) || this;\n _this._onItemMouseEnter = function (ev) {\n var _a = _this.props, item = _a.item, onItemMouseEnter = _a.onItemMouseEnter;\n if (onItemMouseEnter) {\n onItemMouseEnter(item, ev, ev.currentTarget);\n }\n };\n _this._onItemClick = function (ev) {\n var _a = _this.props, item = _a.item, onItemClickBase = _a.onItemClickBase;\n if (onItemClickBase) {\n onItemClickBase(item, ev, ev.currentTarget);\n }\n };\n _this._onItemMouseLeave = function (ev) {\n var _a = _this.props, item = _a.item, onItemMouseLeave = _a.onItemMouseLeave;\n if (onItemMouseLeave) {\n onItemMouseLeave(item, ev);\n }\n };\n _this._onItemKeyDown = function (ev) {\n var _a = _this.props, item = _a.item, onItemKeyDown = _a.onItemKeyDown;\n if (onItemKeyDown) {\n onItemKeyDown(item, ev);\n }\n };\n _this._onItemMouseMove = function (ev) {\n var _a = _this.props, item = _a.item, onItemMouseMove = _a.onItemMouseMove;\n if (onItemMouseMove) {\n onItemMouseMove(item, ev, ev.currentTarget);\n }\n };\n _this._getSubmenuTarget = function () {\n return undefined;\n };\n initializeComponentRef(_this);\n return _this;\n }\n ContextualMenuItemWrapper.prototype.shouldComponentUpdate = function (newProps) {\n return !shallowCompare(newProps, this.props);\n };\n return ContextualMenuItemWrapper;\n}(React.Component));\nexport { ContextualMenuItemWrapper };\n//# sourceMappingURL=ContextualMenuItemWrapper.js.map","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { anchorProperties, getNativeProps, memoizeFunction, getId, mergeAriaAttributeValues } from '../../../Utilities';\nimport { ContextualMenuItemWrapper } from './ContextualMenuItemWrapper';\nimport { KeytipData } from '../../../KeytipData';\nimport { isItemDisabled, hasSubmenu } from '../../../utilities/contextualMenu/index';\nimport { ContextualMenuItem } from '../ContextualMenuItem';\nvar ContextualMenuAnchor = /** @class */ (function (_super) {\n __extends(ContextualMenuAnchor, _super);\n function ContextualMenuAnchor() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._anchor = React.createRef();\n _this._getMemoizedMenuButtonKeytipProps = memoizeFunction(function (keytipProps) {\n return __assign(__assign({}, keytipProps), { hasMenu: true });\n });\n _this._getSubmenuTarget = function () {\n return _this._anchor.current ? _this._anchor.current : undefined;\n };\n _this._onItemClick = function (ev) {\n var _a = _this.props, item = _a.item, onItemClick = _a.onItemClick;\n if (onItemClick) {\n onItemClick(item, ev);\n }\n };\n _this._renderAriaDescription = function (ariaDescription, className) {\n // If ariaDescription is given, descriptionId will be assigned to ariaDescriptionSpan\n return ariaDescription ? (React.createElement(\"span\", { id: _this._ariaDescriptionId, className: className }, ariaDescription)) : null;\n };\n return _this;\n }\n ContextualMenuAnchor.prototype.render = function () {\n var _this = this;\n var _a = this.props, item = _a.item, classNames = _a.classNames, index = _a.index, focusableElementIndex = _a.focusableElementIndex, totalItemCount = _a.totalItemCount, hasCheckmarks = _a.hasCheckmarks, hasIcons = _a.hasIcons, _b = _a.contextualMenuItemAs, ChildrenRenderer = _b === void 0 ? ContextualMenuItem : _b, expandedMenuItemKey = _a.expandedMenuItemKey, onItemClick = _a.onItemClick, openSubMenu = _a.openSubMenu, dismissSubMenu = _a.dismissSubMenu, dismissMenu = _a.dismissMenu;\n var anchorRel = item.rel;\n if (item.target && item.target.toLowerCase() === '_blank') {\n anchorRel = anchorRel ? anchorRel : 'nofollow noopener noreferrer'; // Safe default to prevent tabjacking\n }\n var itemHasSubmenu = hasSubmenu(item);\n var nativeProps = getNativeProps(item, anchorProperties);\n var disabled = isItemDisabled(item);\n var itemProps = item.itemProps, ariaDescription = item.ariaDescription;\n var keytipProps = item.keytipProps;\n if (keytipProps && itemHasSubmenu) {\n keytipProps = this._getMemoizedMenuButtonKeytipProps(keytipProps);\n }\n // Check for ariaDescription to set the _ariaDescriptionId and render a hidden span with\n // the description in it to be added to ariaDescribedBy\n if (ariaDescription) {\n this._ariaDescriptionId = getId();\n }\n var ariaDescribedByIds = mergeAriaAttributeValues(item.ariaDescribedBy, ariaDescription ? this._ariaDescriptionId : undefined, nativeProps['aria-describedby']);\n var additionalItemProperties = {\n 'aria-describedby': ariaDescribedByIds,\n };\n return (React.createElement(\"div\", null,\n React.createElement(KeytipData, { keytipProps: item.keytipProps, ariaDescribedBy: ariaDescribedByIds, disabled: disabled }, function (keytipAttributes) { return (React.createElement(\"a\", __assign({}, additionalItemProperties, nativeProps, keytipAttributes, { ref: _this._anchor, href: item.href, target: item.target, rel: anchorRel, className: classNames.root, role: \"menuitem\", \"aria-haspopup\": itemHasSubmenu || undefined, \"aria-expanded\": itemHasSubmenu ? item.key === expandedMenuItemKey : undefined, \"aria-posinset\": focusableElementIndex + 1, \"aria-setsize\": totalItemCount, \"aria-disabled\": isItemDisabled(item), \n // eslint-disable-next-line deprecation/deprecation\n style: item.style, onClick: _this._onItemClick, onMouseEnter: _this._onItemMouseEnter, onMouseLeave: _this._onItemMouseLeave, onMouseMove: _this._onItemMouseMove, onKeyDown: itemHasSubmenu ? _this._onItemKeyDown : undefined }),\n React.createElement(ChildrenRenderer, __assign({ componentRef: item.componentRef, item: item, classNames: classNames, index: index, onCheckmarkClick: hasCheckmarks && onItemClick ? onItemClick : undefined, hasIcons: hasIcons, openSubMenu: openSubMenu, dismissSubMenu: dismissSubMenu, dismissMenu: dismissMenu, getSubmenuTarget: _this._getSubmenuTarget }, itemProps)),\n _this._renderAriaDescription(ariaDescription, classNames.screenReaderText))); })));\n };\n return ContextualMenuAnchor;\n}(ContextualMenuItemWrapper));\nexport { ContextualMenuAnchor };\n//# sourceMappingURL=ContextualMenuAnchor.js.map","import * as React from 'react';\nimport { classNamesFunction } from '../../Utilities';\nvar getClassNames = classNamesFunction();\nexport var VerticalDividerBase = React.forwardRef(function (props, ref) {\n // eslint-disable-next-line deprecation/deprecation\n var styles = props.styles, theme = props.theme, deprecatedGetClassNames = props.getClassNames, className = props.className;\n var classNames = getClassNames(styles, { theme: theme, getClassNames: deprecatedGetClassNames, className: className });\n return (React.createElement(\"span\", { className: classNames.wrapper, ref: ref },\n React.createElement(\"span\", { className: classNames.divider })));\n});\nVerticalDividerBase.displayName = 'VerticalDividerBase';\n//# sourceMappingURL=VerticalDivider.base.js.map","import { getStyles } from './VerticalDivider.styles';\nimport { VerticalDividerBase } from './VerticalDivider.base';\nimport { styled } from '../../Utilities';\nexport var VerticalDivider = styled(VerticalDividerBase, getStyles, undefined, {\n scope: 'VerticalDivider',\n});\n//# sourceMappingURL=VerticalDivider.js.map","export var getStyles = function (props) {\n // eslint-disable-next-line deprecation/deprecation\n var theme = props.theme, getClassNames = props.getClassNames, className = props.className;\n if (!theme) {\n throw new Error('Theme is undefined or null.');\n }\n if (getClassNames) {\n var names = getClassNames(theme);\n return {\n wrapper: [names.wrapper],\n divider: [names.divider],\n };\n }\n return {\n wrapper: [\n {\n display: 'inline-flex',\n height: '100%',\n alignItems: 'center',\n },\n className,\n ],\n divider: [\n {\n width: 1,\n height: '100%',\n backgroundColor: theme.palette.neutralTertiaryAlt,\n },\n ],\n };\n};\n//# sourceMappingURL=VerticalDivider.styles.js.map","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { buttonProperties, getNativeProps, KeyCodes, mergeAriaAttributeValues, memoizeFunction, Async, EventGroup, getId, } from '../../../Utilities';\nimport { ContextualMenuItem } from '../ContextualMenuItem';\nimport { getSplitButtonVerticalDividerClassNames } from '../ContextualMenu.classNames';\nimport { KeytipData } from '../../../KeytipData';\nimport { getIsChecked, getMenuItemAriaRole, hasSubmenu, isItemDisabled } from '../../../utilities/contextualMenu/index';\nimport { VerticalDivider } from '../../../Divider';\nimport { ContextualMenuItemWrapper } from './ContextualMenuItemWrapper';\nvar TouchIdleDelay = 500; /* ms */\nvar ContextualMenuSplitButton = /** @class */ (function (_super) {\n __extends(ContextualMenuSplitButton, _super);\n function ContextualMenuSplitButton(props) {\n var _this = _super.call(this, props) || this;\n _this._getMemoizedMenuButtonKeytipProps = memoizeFunction(function (keytipProps) {\n return __assign(__assign({}, keytipProps), { hasMenu: true });\n });\n _this._onItemKeyDown = function (ev) {\n var _a = _this.props, item = _a.item, onItemKeyDown = _a.onItemKeyDown;\n // eslint-disable-next-line deprecation/deprecation\n if (ev.which === KeyCodes.enter) {\n _this._executeItemClick(ev);\n ev.preventDefault();\n ev.stopPropagation();\n }\n else if (onItemKeyDown) {\n onItemKeyDown(item, ev);\n }\n };\n _this._getSubmenuTarget = function () {\n return _this._splitButton;\n };\n _this._renderAriaDescription = function (ariaDescription, className) {\n // If ariaDescription is given, descriptionId will be assigned to ariaDescriptionSpan\n return ariaDescription ? (React.createElement(\"span\", { id: _this._ariaDescriptionId, className: className }, ariaDescription)) : null;\n };\n _this._onItemMouseEnterPrimary = function (ev) {\n var _a = _this.props, item = _a.item, onItemMouseEnter = _a.onItemMouseEnter;\n if (onItemMouseEnter) {\n onItemMouseEnter(__assign(__assign({}, item), { subMenuProps: undefined, items: undefined }), ev, _this._splitButton);\n }\n };\n _this._onItemMouseEnterIcon = function (ev) {\n var _a = _this.props, item = _a.item, onItemMouseEnter = _a.onItemMouseEnter;\n if (onItemMouseEnter) {\n onItemMouseEnter(item, ev, _this._splitButton);\n }\n };\n _this._onItemMouseMovePrimary = function (ev) {\n var _a = _this.props, item = _a.item, onItemMouseMove = _a.onItemMouseMove;\n if (onItemMouseMove) {\n onItemMouseMove(__assign(__assign({}, item), { subMenuProps: undefined, items: undefined }), ev, _this._splitButton);\n }\n };\n _this._onItemMouseMoveIcon = function (ev) {\n var _a = _this.props, item = _a.item, onItemMouseMove = _a.onItemMouseMove;\n if (onItemMouseMove) {\n onItemMouseMove(item, ev, _this._splitButton);\n }\n };\n _this._onIconItemClick = function (ev) {\n var _a = _this.props, item = _a.item, onItemClickBase = _a.onItemClickBase;\n if (onItemClickBase) {\n onItemClickBase(item, ev, (_this._splitButton ? _this._splitButton : ev.currentTarget));\n }\n };\n _this._executeItemClick = function (ev) {\n var _a = _this.props, item = _a.item, executeItemClick = _a.executeItemClick, onItemClick = _a.onItemClick;\n if (item.disabled || item.isDisabled) {\n return;\n }\n if (_this._processingTouch && onItemClick) {\n return onItemClick(item, ev);\n }\n if (executeItemClick) {\n executeItemClick(item, ev);\n }\n };\n _this._onTouchStart = function (ev) {\n if (_this._splitButton && !('onpointerdown' in _this._splitButton)) {\n _this._handleTouchAndPointerEvent(ev);\n }\n };\n _this._onPointerDown = function (ev) {\n if (ev.pointerType === 'touch') {\n _this._handleTouchAndPointerEvent(ev);\n ev.preventDefault();\n ev.stopImmediatePropagation();\n }\n };\n _this._async = new Async(_this);\n _this._events = new EventGroup(_this);\n return _this;\n }\n ContextualMenuSplitButton.prototype.componentDidMount = function () {\n if (this._splitButton && 'onpointerdown' in this._splitButton) {\n this._events.on(this._splitButton, 'pointerdown', this._onPointerDown, true);\n }\n };\n ContextualMenuSplitButton.prototype.componentWillUnmount = function () {\n this._async.dispose();\n this._events.dispose();\n };\n ContextualMenuSplitButton.prototype.render = function () {\n var _this = this;\n var _a;\n var _b = this.props, item = _b.item, classNames = _b.classNames, index = _b.index, focusableElementIndex = _b.focusableElementIndex, totalItemCount = _b.totalItemCount, hasCheckmarks = _b.hasCheckmarks, hasIcons = _b.hasIcons, onItemMouseLeave = _b.onItemMouseLeave, expandedMenuItemKey = _b.expandedMenuItemKey;\n var itemHasSubmenu = hasSubmenu(item);\n var keytipProps = item.keytipProps;\n if (keytipProps) {\n keytipProps = this._getMemoizedMenuButtonKeytipProps(keytipProps);\n }\n // Check for ariaDescription to set the _ariaDescriptionId and render a hidden span with\n // the description in it to be added to ariaDescribedBy\n var ariaDescription = item.ariaDescription;\n if (ariaDescription) {\n this._ariaDescriptionId = getId();\n }\n var ariaChecked = (_a = getIsChecked(item)) !== null && _a !== void 0 ? _a : undefined;\n return (React.createElement(KeytipData, { keytipProps: keytipProps, disabled: isItemDisabled(item) }, function (keytipAttributes) { return (React.createElement(\"div\", { \"data-ktp-target\": keytipAttributes['data-ktp-target'], ref: function (splitButton) { return (_this._splitButton = splitButton); }, role: getMenuItemAriaRole(item), \"aria-label\": item.ariaLabel, className: classNames.splitContainer, \"aria-disabled\": isItemDisabled(item), \"aria-expanded\": itemHasSubmenu ? item.key === expandedMenuItemKey : undefined, \"aria-haspopup\": true, \"aria-describedby\": mergeAriaAttributeValues(item.ariaDescribedBy, ariaDescription ? _this._ariaDescriptionId : undefined, keytipAttributes['aria-describedby']), \"aria-checked\": ariaChecked, \"aria-posinset\": focusableElementIndex + 1, \"aria-setsize\": totalItemCount, onMouseEnter: _this._onItemMouseEnterPrimary, onMouseLeave: onItemMouseLeave ? onItemMouseLeave.bind(_this, __assign(__assign({}, item), { subMenuProps: null, items: null })) : undefined, onMouseMove: _this._onItemMouseMovePrimary, onKeyDown: _this._onItemKeyDown, onClick: _this._executeItemClick, onTouchStart: _this._onTouchStart, tabIndex: 0, \"data-is-focusable\": true, \"aria-roledescription\": item['aria-roledescription'] },\n _this._renderSplitPrimaryButton(item, classNames, index, hasCheckmarks, hasIcons),\n _this._renderSplitDivider(item),\n _this._renderSplitIconButton(item, classNames, index, keytipAttributes),\n _this._renderAriaDescription(ariaDescription, classNames.screenReaderText))); }));\n };\n ContextualMenuSplitButton.prototype._renderSplitPrimaryButton = function (item, \n // eslint-disable-next-line deprecation/deprecation\n classNames, index, hasCheckmarks, hasIcons) {\n var _a = this.props, _b = _a.contextualMenuItemAs, ChildrenRenderer = _b === void 0 ? ContextualMenuItem : _b, onItemClick = _a.onItemClick;\n var itemProps = {\n key: item.key,\n disabled: isItemDisabled(item) || item.primaryDisabled,\n /* eslint-disable deprecation/deprecation */\n name: item.name,\n text: item.text || item.name,\n secondaryText: item.secondaryText,\n /* eslint-enable deprecation/deprecation */\n className: classNames.splitPrimary,\n canCheck: item.canCheck,\n isChecked: item.isChecked,\n checked: item.checked,\n iconProps: item.iconProps,\n onRenderIcon: item.onRenderIcon,\n data: item.data,\n 'data-is-focusable': false,\n };\n var itemComponentProps = item.itemProps;\n return (React.createElement(\"button\", __assign({}, getNativeProps(itemProps, buttonProperties)),\n React.createElement(ChildrenRenderer, __assign({ \"data-is-focusable\": false, item: itemProps, classNames: classNames, index: index, onCheckmarkClick: hasCheckmarks && onItemClick ? onItemClick : undefined, hasIcons: hasIcons }, itemComponentProps))));\n };\n ContextualMenuSplitButton.prototype._renderSplitDivider = function (item) {\n var getDividerClassNames = item.getSplitButtonVerticalDividerClassNames || getSplitButtonVerticalDividerClassNames;\n return React.createElement(VerticalDivider, { getClassNames: getDividerClassNames });\n };\n ContextualMenuSplitButton.prototype._renderSplitIconButton = function (item, classNames, // eslint-disable-line deprecation/deprecation\n index, keytipAttributes) {\n var _a = this.props, _b = _a.contextualMenuItemAs, ChildrenRenderer = _b === void 0 ? ContextualMenuItem : _b, onItemMouseLeave = _a.onItemMouseLeave, onItemMouseDown = _a.onItemMouseDown, openSubMenu = _a.openSubMenu, dismissSubMenu = _a.dismissSubMenu, dismissMenu = _a.dismissMenu;\n var itemProps = {\n onClick: this._onIconItemClick,\n disabled: isItemDisabled(item),\n className: classNames.splitMenu,\n subMenuProps: item.subMenuProps,\n submenuIconProps: item.submenuIconProps,\n split: true,\n key: item.key,\n };\n var buttonProps = __assign(__assign({}, getNativeProps(itemProps, buttonProperties)), {\n onMouseEnter: this._onItemMouseEnterIcon,\n onMouseLeave: onItemMouseLeave ? onItemMouseLeave.bind(this, item) : undefined,\n onMouseDown: function (ev) {\n return onItemMouseDown ? onItemMouseDown(item, ev) : undefined;\n },\n onMouseMove: this._onItemMouseMoveIcon,\n 'data-is-focusable': false,\n 'data-ktp-execute-target': keytipAttributes['data-ktp-execute-target'],\n 'aria-hidden': true,\n });\n var itemComponentProps = item.itemProps;\n return (React.createElement(\"button\", __assign({}, buttonProps),\n React.createElement(ChildrenRenderer, __assign({ componentRef: item.componentRef, item: itemProps, classNames: classNames, index: index, hasIcons: false, openSubMenu: openSubMenu, dismissSubMenu: dismissSubMenu, dismissMenu: dismissMenu, getSubmenuTarget: this._getSubmenuTarget }, itemComponentProps))));\n };\n ContextualMenuSplitButton.prototype._handleTouchAndPointerEvent = function (ev) {\n var _this = this;\n var onTap = this.props.onTap;\n if (onTap) {\n onTap(ev);\n }\n // If we already have an existing timeout from a previous touch/pointer event\n // cancel that timeout so we can set a new one.\n if (this._lastTouchTimeoutId) {\n this._async.clearTimeout(this._lastTouchTimeoutId);\n this._lastTouchTimeoutId = undefined;\n }\n this._processingTouch = true;\n this._lastTouchTimeoutId = this._async.setTimeout(function () {\n _this._processingTouch = false;\n _this._lastTouchTimeoutId = undefined;\n }, TouchIdleDelay);\n };\n return ContextualMenuSplitButton;\n}(ContextualMenuItemWrapper));\nexport { ContextualMenuSplitButton };\n//# sourceMappingURL=ContextualMenuSplitButton.js.map","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { buttonProperties, getNativeProps, memoizeFunction, getId, mergeAriaAttributeValues } from '../../../Utilities';\nimport { ContextualMenuItemWrapper } from './ContextualMenuItemWrapper';\nimport { KeytipData } from '../../../KeytipData';\nimport { getIsChecked, isItemDisabled, hasSubmenu, getMenuItemAriaRole } from '../../../utilities/contextualMenu/index';\nimport { ContextualMenuItem } from '../ContextualMenuItem';\nvar ContextualMenuButton = /** @class */ (function (_super) {\n __extends(ContextualMenuButton, _super);\n function ContextualMenuButton() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._btn = React.createRef();\n _this._getMemoizedMenuButtonKeytipProps = memoizeFunction(function (keytipProps) {\n return __assign(__assign({}, keytipProps), { hasMenu: true });\n });\n _this._renderAriaDescription = function (ariaDescription, className) {\n // If ariaDescription is given, descriptionId will be assigned to ariaDescriptionSpan\n return ariaDescription ? (React.createElement(\"span\", { id: _this._ariaDescriptionId, className: className }, ariaDescription)) : null;\n };\n _this._getSubmenuTarget = function () {\n return _this._btn.current ? _this._btn.current : undefined;\n };\n return _this;\n }\n ContextualMenuButton.prototype.render = function () {\n var _this = this;\n var _a = this.props, item = _a.item, classNames = _a.classNames, index = _a.index, focusableElementIndex = _a.focusableElementIndex, totalItemCount = _a.totalItemCount, hasCheckmarks = _a.hasCheckmarks, hasIcons = _a.hasIcons, _b = _a.contextualMenuItemAs, ChildrenRenderer = _b === void 0 ? ContextualMenuItem : _b, expandedMenuItemKey = _a.expandedMenuItemKey, onItemMouseDown = _a.onItemMouseDown, onItemClick = _a.onItemClick, openSubMenu = _a.openSubMenu, dismissSubMenu = _a.dismissSubMenu, dismissMenu = _a.dismissMenu;\n var isChecked = getIsChecked(item);\n var canCheck = isChecked !== null;\n var defaultRole = getMenuItemAriaRole(item);\n var itemHasSubmenu = hasSubmenu(item);\n var itemProps = item.itemProps, ariaLabel = item.ariaLabel, ariaDescription = item.ariaDescription;\n var buttonNativeProperties = getNativeProps(item, buttonProperties);\n // Do not add the disabled attribute to the button so that it is focusable\n delete buttonNativeProperties.disabled;\n var itemRole = item.role || defaultRole;\n // Check for ariaDescription to set the _ariaDescriptionId and render a hidden span with\n // the description in it to be added to ariaDescribedBy\n if (ariaDescription) {\n this._ariaDescriptionId = getId();\n }\n var ariaDescribedByIds = mergeAriaAttributeValues(item.ariaDescribedBy, ariaDescription ? this._ariaDescriptionId : undefined, buttonNativeProperties['aria-describedby']);\n var itemButtonProperties = {\n className: classNames.root,\n onClick: this._onItemClick,\n onKeyDown: itemHasSubmenu ? this._onItemKeyDown : undefined,\n onMouseEnter: this._onItemMouseEnter,\n onMouseLeave: this._onItemMouseLeave,\n onMouseDown: function (ev) {\n return onItemMouseDown ? onItemMouseDown(item, ev) : undefined;\n },\n onMouseMove: this._onItemMouseMove,\n href: item.href,\n title: item.title,\n 'aria-label': ariaLabel,\n 'aria-describedby': ariaDescribedByIds,\n 'aria-haspopup': itemHasSubmenu || undefined,\n 'aria-expanded': itemHasSubmenu ? item.key === expandedMenuItemKey : undefined,\n 'aria-posinset': focusableElementIndex + 1,\n 'aria-setsize': totalItemCount,\n 'aria-disabled': isItemDisabled(item),\n 'aria-checked': (itemRole === 'menuitemcheckbox' || itemRole === 'menuitemradio') && canCheck ? !!isChecked : undefined,\n 'aria-selected': itemRole === 'menuitem' && canCheck ? !!isChecked : undefined,\n role: itemRole,\n // eslint-disable-next-line deprecation/deprecation\n style: item.style,\n };\n var keytipProps = item.keytipProps;\n if (keytipProps && itemHasSubmenu) {\n keytipProps = this._getMemoizedMenuButtonKeytipProps(keytipProps);\n }\n return (React.createElement(KeytipData, { keytipProps: keytipProps, ariaDescribedBy: ariaDescribedByIds, disabled: isItemDisabled(item) }, function (keytipAttributes) { return (React.createElement(\"button\", __assign({ ref: _this._btn }, buttonNativeProperties, itemButtonProperties, keytipAttributes),\n React.createElement(ChildrenRenderer, __assign({ componentRef: item.componentRef, item: item, classNames: classNames, index: index, onCheckmarkClick: hasCheckmarks && onItemClick ? onItemClick : undefined, hasIcons: hasIcons, openSubMenu: openSubMenu, dismissSubMenu: dismissSubMenu, dismissMenu: dismissMenu, getSubmenuTarget: _this._getSubmenuTarget }, itemProps)),\n _this._renderAriaDescription(ariaDescription, classNames.screenReaderText))); }));\n };\n return ContextualMenuButton;\n}(ContextualMenuItemWrapper));\nexport { ContextualMenuButton };\n//# sourceMappingURL=ContextualMenuButton.js.map","import * as React from 'react';\nexport var MenuContext = React.createContext({});\nexport var useMenuContext = function () {\n return React.useContext(MenuContext);\n};\n//# sourceMappingURL=MenuContext.js.map","import { __assign, __rest, __spreadArray } from \"tslib\";\nimport * as React from 'react';\nimport { ContextualMenuItemType } from './ContextualMenu.types';\nimport { DirectionalHint } from '../../common/DirectionalHint';\nimport { FocusZone, FocusZoneDirection, FocusZoneTabbableElements } from '../../FocusZone';\nimport { divProperties, getNativeProps, shallowCompare, assign, classNamesFunction, css, getFirstFocusable, getLastFocusable, getRTL, KeyCodes, shouldWrapFocus, isIOS, isMac, memoizeFunction, getPropsWithDefaults, getDocument, FocusRects, } from '../../Utilities';\nimport { hasSubmenu, getIsChecked, isItemDisabled } from '../../utilities/contextualMenu/index';\nimport { Callout } from '../../Callout';\nimport { ContextualMenuItem } from './ContextualMenuItem';\nimport { ContextualMenuSplitButton, ContextualMenuButton, ContextualMenuAnchor, } from './ContextualMenuItemWrapper/index';\nimport { concatStyleSetsWithProps } from '../../Styling';\nimport { getItemStyles } from './ContextualMenu.classNames';\nimport { useTarget, usePrevious, useAsync, useWarnings, useId, useIsomorphicLayoutEffect, } from '@fluentui/react-hooks';\nimport { useResponsiveMode, ResponsiveMode } from '../../ResponsiveMode';\nimport { MenuContext } from '../../utilities/MenuContext/index';\nvar getClassNames = classNamesFunction();\nvar getContextualMenuItemClassNames = classNamesFunction();\n// The default ContextualMenu properties have no items and beak, the default submenu direction is right and top.\nvar DEFAULT_PROPS = {\n items: [],\n shouldFocusOnMount: true,\n gapSpace: 0,\n directionalHint: DirectionalHint.bottomAutoEdge,\n beakWidth: 16,\n};\n/* return number of menu items, excluding headers and dividers */\nfunction getItemCount(items) {\n var totalItemCount = 0;\n for (var _i = 0, items_1 = items; _i < items_1.length; _i++) {\n var item = items_1[_i];\n if (item.itemType !== ContextualMenuItemType.Divider && item.itemType !== ContextualMenuItemType.Header) {\n var itemCount = item.customOnRenderListLength ? item.customOnRenderListLength : 1;\n totalItemCount += itemCount;\n }\n }\n return totalItemCount;\n}\nexport function getSubmenuItems(item, options) {\n var target = options === null || options === void 0 ? void 0 : options.target;\n // eslint-disable-next-line deprecation/deprecation\n var items = item.subMenuProps ? item.subMenuProps.items : item.items;\n if (items) {\n var overrideItems = [];\n for (var _i = 0, items_2 = items; _i < items_2.length; _i++) {\n var subItem = items_2[_i];\n if (subItem.preferMenuTargetAsEventTarget) {\n // For sub-items which need an overridden target, intercept `onClick`\n var onClick = subItem.onClick, contextItem = __rest(subItem, [\"onClick\"]);\n overrideItems.push(__assign(__assign({}, contextItem), { onClick: getOnClickWithOverrideTarget(onClick, target) }));\n }\n else {\n overrideItems.push(subItem);\n }\n }\n return overrideItems;\n }\n}\n/**\n * Returns true if a list of menu items can contain a checkbox\n */\nexport function canAnyMenuItemsCheck(items) {\n return items.some(function (item) {\n if (item.canCheck) {\n return true;\n }\n // If the item is a section, check if any of the items in the section can check.\n if (item.sectionProps && item.sectionProps.items.some(function (submenuItem) { return submenuItem.canCheck === true; })) {\n return true;\n }\n return false;\n });\n}\nvar NavigationIdleDelay = 250; /* ms */\nvar COMPONENT_NAME = 'ContextualMenu';\nvar _getMenuItemStylesFunction = memoizeFunction(function () {\n var styles = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n styles[_i] = arguments[_i];\n }\n return function (styleProps) {\n return concatStyleSetsWithProps.apply(void 0, __spreadArray([styleProps, getItemStyles], styles, false));\n };\n});\n//#region Custom hooks\nfunction useVisibility(props, targetWindow) {\n var _a = props.hidden, hidden = _a === void 0 ? false : _a, onMenuDismissed = props.onMenuDismissed, onMenuOpened = props.onMenuOpened;\n var previousHidden = usePrevious(hidden);\n var onMenuOpenedRef = React.useRef(onMenuOpened);\n var onMenuClosedRef = React.useRef(onMenuDismissed);\n var propsRef = React.useRef(props);\n onMenuOpenedRef.current = onMenuOpened;\n onMenuClosedRef.current = onMenuDismissed;\n propsRef.current = props;\n React.useEffect(function () {\n var _a, _b;\n // Don't issue dismissed callbacks on initial mount\n if (hidden && previousHidden === false) {\n (_a = onMenuClosedRef.current) === null || _a === void 0 ? void 0 : _a.call(onMenuClosedRef, propsRef.current);\n }\n else if (!hidden && previousHidden !== false) {\n (_b = onMenuOpenedRef.current) === null || _b === void 0 ? void 0 : _b.call(onMenuOpenedRef, propsRef.current);\n }\n }, [hidden, previousHidden]);\n // Issue onDismissedCallback on unmount\n React.useEffect(function () { return function () { var _a; return (_a = onMenuClosedRef.current) === null || _a === void 0 ? void 0 : _a.call(onMenuClosedRef, propsRef.current); }; }, []);\n}\nfunction useSubMenuState(_a, dismiss) {\n var hidden = _a.hidden, items = _a.items, theme = _a.theme, className = _a.className, id = _a.id, menuTarget = _a.target;\n var _b = React.useState(), expandedMenuItemKey = _b[0], setExpandedMenuItemKey = _b[1];\n var _c = React.useState(), submenuTarget = _c[0], setSubmenuTarget = _c[1];\n /** True if the menu was expanded by mouse click OR hover (as opposed to by keyboard) */\n var _d = React.useState(), shouldFocusOnContainer = _d[0], setShouldFocusOnContainer = _d[1];\n var subMenuId = useId(COMPONENT_NAME, id);\n var closeSubMenu = React.useCallback(function () {\n setShouldFocusOnContainer(undefined);\n setExpandedMenuItemKey(undefined);\n setSubmenuTarget(undefined);\n }, []);\n var openSubMenu = React.useCallback(function (_a, target, focusContainer) {\n var submenuItemKey = _a.key;\n if (expandedMenuItemKey === submenuItemKey) {\n return;\n }\n target.focus();\n setShouldFocusOnContainer(focusContainer);\n setExpandedMenuItemKey(submenuItemKey);\n setSubmenuTarget(target);\n }, [expandedMenuItemKey]);\n React.useEffect(function () {\n if (hidden) {\n closeSubMenu();\n }\n }, [hidden, closeSubMenu]);\n var onSubMenuDismiss = useOnSubmenuDismiss(dismiss, closeSubMenu);\n var getSubmenuProps = function () {\n var item = findItemByKeyFromItems(expandedMenuItemKey, items);\n var submenuProps = null;\n if (item) {\n submenuProps = {\n items: getSubmenuItems(item, { target: menuTarget }),\n target: submenuTarget,\n onDismiss: onSubMenuDismiss,\n isSubMenu: true,\n id: subMenuId,\n shouldFocusOnMount: true,\n shouldFocusOnContainer: shouldFocusOnContainer,\n directionalHint: getRTL(theme) ? DirectionalHint.leftTopEdge : DirectionalHint.rightTopEdge,\n className: className,\n gapSpace: 0,\n isBeakVisible: false,\n };\n if (item.subMenuProps) {\n assign(submenuProps, item.subMenuProps);\n }\n if (item.preferMenuTargetAsEventTarget) {\n var onItemClick = item.onItemClick;\n submenuProps.onItemClick = getOnClickWithOverrideTarget(onItemClick, menuTarget);\n }\n }\n return submenuProps;\n };\n return [expandedMenuItemKey, openSubMenu, getSubmenuProps, onSubMenuDismiss];\n}\nfunction useShouldUpdateFocusOnMouseMove(_a) {\n var delayUpdateFocusOnHover = _a.delayUpdateFocusOnHover, hidden = _a.hidden;\n var shouldUpdateFocusOnMouseEvent = React.useRef(!delayUpdateFocusOnHover);\n var gotMouseMove = React.useRef(false);\n React.useEffect(function () {\n shouldUpdateFocusOnMouseEvent.current = !delayUpdateFocusOnHover;\n gotMouseMove.current = hidden ? false : !delayUpdateFocusOnHover && gotMouseMove.current;\n }, [delayUpdateFocusOnHover, hidden]);\n var onMenuFocusCapture = React.useCallback(function () {\n if (delayUpdateFocusOnHover) {\n shouldUpdateFocusOnMouseEvent.current = false;\n }\n }, [delayUpdateFocusOnHover]);\n return [shouldUpdateFocusOnMouseEvent, gotMouseMove, onMenuFocusCapture];\n}\nfunction usePreviousActiveElement(_a, targetWindow, hostElement) {\n var hidden = _a.hidden, onRestoreFocus = _a.onRestoreFocus;\n var previousActiveElement = React.useRef();\n var tryFocusPreviousActiveElement = React.useCallback(function (options) {\n var _a, _b;\n if (onRestoreFocus) {\n onRestoreFocus(options);\n }\n else if (options === null || options === void 0 ? void 0 : options.documentContainsFocus) {\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 (_b = (_a = previousActiveElement.current) === null || _a === void 0 ? void 0 : _a.focus) === null || _b === void 0 ? void 0 : _b.call(_a);\n }\n }, [onRestoreFocus]);\n useIsomorphicLayoutEffect(function () {\n var _a, _b;\n if (!hidden) {\n var newElement = targetWindow === null || targetWindow === void 0 ? void 0 : targetWindow.document.activeElement;\n if (!((_a = hostElement.current) === null || _a === void 0 ? void 0 : _a.contains(newElement)) && newElement.tagName !== 'BODY') {\n previousActiveElement.current = newElement;\n }\n }\n else if (previousActiveElement.current) {\n tryFocusPreviousActiveElement({\n originalElement: previousActiveElement.current,\n containsFocus: true,\n documentContainsFocus: ((_b = getDocument()) === null || _b === void 0 ? void 0 : _b.hasFocus()) || false,\n });\n previousActiveElement.current = undefined;\n }\n }, [hidden, targetWindow === null || targetWindow === void 0 ? void 0 : targetWindow.document.activeElement, tryFocusPreviousActiveElement, hostElement]);\n return [tryFocusPreviousActiveElement];\n}\nfunction useKeyHandlers(_a, dismiss, hostElement, openSubMenu) {\n var theme = _a.theme, isSubMenu = _a.isSubMenu, _b = _a.focusZoneProps, _c = _b === void 0 ? {} : _b, checkForNoWrap = _c.checkForNoWrap, _d = _c.direction, focusZoneDirection = _d === void 0 ? FocusZoneDirection.vertical : _d;\n /** True if the most recent keydown event was for alt (option) or meta (command). */\n var lastKeyDownWasAltOrMeta = React.useRef();\n /**\n * Calls `shouldHandleKey` to determine whether the keyboard event should be handled;\n * if so, stops event propagation and dismisses menu(s).\n * @param ev - The keyboard event.\n * @param shouldHandleKey - Returns whether we should handle this keyboard event.\n * @param dismissAllMenus - If true, dismiss all menus. Otherwise, dismiss only the current menu.\n * Only does anything if `shouldHandleKey` returns true.\n * @returns Whether the event was handled.\n */\n var keyHandler = function (ev, shouldHandleKey, dismissAllMenus) {\n var handled = false;\n if (shouldHandleKey(ev)) {\n dismiss(ev, dismissAllMenus);\n ev.preventDefault();\n ev.stopPropagation();\n handled = true;\n }\n return handled;\n };\n /**\n * Checks if the submenu should be closed\n */\n var shouldCloseSubMenu = function (ev) {\n var submenuCloseKey = getRTL(theme) ? KeyCodes.right : KeyCodes.left;\n // eslint-disable-next-line deprecation/deprecation\n if (ev.which !== submenuCloseKey || !isSubMenu) {\n return false;\n }\n return !!(focusZoneDirection === FocusZoneDirection.vertical ||\n (checkForNoWrap && !shouldWrapFocus(ev.target, 'data-no-horizontal-wrap')));\n };\n var shouldHandleKeyDown = function (ev) {\n return (\n // eslint-disable-next-line deprecation/deprecation\n ev.which === KeyCodes.escape ||\n shouldCloseSubMenu(ev) ||\n // eslint-disable-next-line deprecation/deprecation\n (ev.which === KeyCodes.up && (ev.altKey || ev.metaKey)));\n };\n var onKeyDown = function (ev) {\n // Take note if we are processing an alt (option) or meta (command) keydown.\n // See comment in shouldHandleKeyUp for reasoning.\n lastKeyDownWasAltOrMeta.current = isAltOrMeta(ev);\n // On Mac, pressing escape dismisses all levels of native context menus\n // eslint-disable-next-line deprecation/deprecation\n var dismissAllMenus = ev.which === KeyCodes.escape && (isMac() || isIOS());\n return keyHandler(ev, shouldHandleKeyDown, dismissAllMenus);\n };\n /**\n * We close the menu on key up only if ALL of the following are true:\n * - Most recent key down was alt or meta (command)\n * - The alt/meta key down was NOT followed by some other key (such as down/up arrow to\n * expand/collapse the menu)\n * - We're not on a Mac (or iOS)\n *\n * This is because on Windows, pressing alt moves focus to the application menu bar or similar,\n * closing any open context menus. There is not a similar behavior on Macs.\n */\n var shouldHandleKeyUp = function (ev) {\n var keyPressIsAltOrMetaAlone = lastKeyDownWasAltOrMeta.current && isAltOrMeta(ev);\n lastKeyDownWasAltOrMeta.current = false;\n return !!keyPressIsAltOrMetaAlone && !(isIOS() || isMac());\n };\n var onKeyUp = function (ev) {\n return keyHandler(ev, shouldHandleKeyUp, true /* dismissAllMenus */);\n };\n var onMenuKeyDown = function (ev) {\n // Mark as handled if onKeyDown returns true (for handling collapse cases)\n // or if we are attempting to expand a submenu\n var handled = onKeyDown(ev);\n if (handled || !hostElement.current) {\n return;\n }\n // If we have a modifier key being pressed, we do not want to move focus.\n // Otherwise, handle up and down keys.\n var hasModifier = !!(ev.altKey || ev.metaKey);\n // eslint-disable-next-line deprecation/deprecation\n var isUp = ev.which === KeyCodes.up;\n // eslint-disable-next-line deprecation/deprecation\n var isDown = ev.which === KeyCodes.down;\n if (!hasModifier && (isUp || isDown)) {\n var elementToFocus = isUp\n ? getLastFocusable(hostElement.current, hostElement.current.lastChild, true)\n : getFirstFocusable(hostElement.current, hostElement.current.firstChild, true);\n if (elementToFocus) {\n elementToFocus.focus();\n ev.preventDefault();\n ev.stopPropagation();\n }\n }\n };\n var onItemKeyDown = function (item, ev) {\n var openKey = getRTL(theme) ? KeyCodes.left : KeyCodes.right;\n if (!item.disabled &&\n // eslint-disable-next-line deprecation/deprecation\n (ev.which === openKey || ev.which === KeyCodes.enter || (ev.which === KeyCodes.down && (ev.altKey || ev.metaKey)))) {\n openSubMenu(item, ev.currentTarget);\n ev.preventDefault();\n }\n };\n return [onKeyDown, onKeyUp, onMenuKeyDown, onItemKeyDown];\n}\nfunction useScrollHandler(asyncTracker) {\n var isScrollIdle = React.useRef(true);\n var scrollIdleTimeoutId = React.useRef();\n /**\n * Scroll handler for the callout to make sure the mouse events\n * for updating focus are not interacting during scroll\n */\n var onScroll = function () {\n if (!isScrollIdle.current && scrollIdleTimeoutId.current !== undefined) {\n asyncTracker.clearTimeout(scrollIdleTimeoutId.current);\n scrollIdleTimeoutId.current = undefined;\n }\n else {\n isScrollIdle.current = false;\n }\n scrollIdleTimeoutId.current = asyncTracker.setTimeout(function () {\n isScrollIdle.current = true;\n }, NavigationIdleDelay);\n };\n return [onScroll, isScrollIdle];\n}\nfunction useOnSubmenuDismiss(dismiss, closeSubMenu) {\n var isMountedRef = React.useRef(false);\n React.useEffect(function () {\n isMountedRef.current = true;\n return function () {\n isMountedRef.current = false;\n };\n }, []);\n /**\n * This function is called ASYNCHRONOUSLY, and so there is a chance it is called\n * after the component is unmounted. The isMountedRef is added to prevent\n * from calling setState() after unmount. Do NOT copy this pattern in synchronous\n * code.\n */\n var onSubMenuDismiss = function (ev, dismissAll) {\n if (dismissAll) {\n dismiss(ev, dismissAll);\n }\n else if (isMountedRef.current) {\n closeSubMenu();\n }\n };\n return onSubMenuDismiss;\n}\nfunction useSubmenuEnterTimer(_a, asyncTracker) {\n var _b = _a.subMenuHoverDelay, subMenuHoverDelay = _b === void 0 ? NavigationIdleDelay : _b;\n var enterTimerRef = React.useRef(undefined);\n var cancelSubMenuTimer = function () {\n if (enterTimerRef.current !== undefined) {\n asyncTracker.clearTimeout(enterTimerRef.current);\n enterTimerRef.current = undefined;\n }\n };\n var startSubmenuTimer = function (onTimerExpired) {\n enterTimerRef.current = asyncTracker.setTimeout(function () {\n onTimerExpired();\n cancelSubMenuTimer();\n }, subMenuHoverDelay);\n };\n return [cancelSubMenuTimer, startSubmenuTimer, enterTimerRef];\n}\nfunction useMouseHandlers(props, isScrollIdle, subMenuEntryTimer, targetWindow, shouldUpdateFocusOnMouseEvent, gotMouseMove, expandedMenuItemKey, hostElement, startSubmenuTimer, cancelSubMenuTimer, openSubMenu, onSubMenuDismiss, dismiss) {\n var menuTarget = props.target;\n var onItemMouseEnterBase = function (item, ev, target) {\n if (shouldUpdateFocusOnMouseEvent.current) {\n gotMouseMove.current = true;\n }\n if (shouldIgnoreMouseEvent()) {\n return;\n }\n updateFocusOnMouseEvent(item, ev, target);\n };\n var onItemMouseMoveBase = function (item, ev, target) {\n var targetElement = ev.currentTarget;\n // Always do this check to make sure we record a mouseMove if needed (even if we are timed out)\n if (shouldUpdateFocusOnMouseEvent.current) {\n gotMouseMove.current = true;\n }\n else {\n return;\n }\n if (!isScrollIdle.current ||\n subMenuEntryTimer.current !== undefined ||\n targetElement === (targetWindow === null || targetWindow === void 0 ? void 0 : targetWindow.document.activeElement)) {\n return;\n }\n updateFocusOnMouseEvent(item, ev, target);\n };\n var shouldIgnoreMouseEvent = function () {\n return !isScrollIdle.current || !gotMouseMove.current;\n };\n var onMouseItemLeave = function (item, ev) {\n var _a;\n if (shouldIgnoreMouseEvent()) {\n return;\n }\n cancelSubMenuTimer();\n if (expandedMenuItemKey !== undefined) {\n return;\n }\n /**\n * IE11 focus() method forces parents to scroll to top of element.\n * Edge and IE expose a setActive() function for focusable divs that\n * sets the page focus but does not scroll the parent element.\n */\n if (hostElement.current.setActive) {\n try {\n hostElement.current.setActive();\n }\n catch (e) {\n /* no-op */\n }\n }\n else {\n (_a = hostElement.current) === null || _a === void 0 ? void 0 : _a.focus();\n }\n };\n /**\n * Handles updating focus when mouseEnter or mouseMove fire.\n * As part of updating focus, This function will also update\n * the expand/collapse state accordingly.\n */\n var updateFocusOnMouseEvent = function (item, ev, target) {\n var targetElement = target ? target : ev.currentTarget;\n if (item.key === expandedMenuItemKey) {\n return;\n }\n cancelSubMenuTimer();\n // If the menu is not expanded we can update focus without any delay\n if (expandedMenuItemKey === undefined) {\n targetElement.focus();\n }\n // Delay updating expanding/dismissing the submenu\n // and only set focus if we have not already done so\n if (hasSubmenu(item)) {\n ev.stopPropagation();\n startSubmenuTimer(function () {\n targetElement.focus();\n openSubMenu(item, targetElement, true);\n });\n }\n else {\n startSubmenuTimer(function () {\n onSubMenuDismiss(ev);\n targetElement.focus();\n });\n }\n };\n var onItemClick = function (item, ev) {\n onItemClickBase(item, ev, ev.currentTarget);\n };\n var onItemClickBase = function (item, ev, target) {\n var items = getSubmenuItems(item, { target: menuTarget });\n // Cancel an async menu item hover timeout action from being taken and instead\n // just trigger the click event instead.\n cancelSubMenuTimer();\n if (!hasSubmenu(item) && (!items || !items.length)) {\n // This is an item without a menu. Click it.\n executeItemClick(item, ev);\n }\n else {\n if (item.key !== expandedMenuItemKey) {\n // This has a collapsed sub menu. Expand it.\n // focus on the container by default when the menu is opened with a click event\n // this differentiates from a keyboard interaction triggering the click event\n var shouldFocusOnContainer = typeof props.shouldFocusOnContainer === 'boolean'\n ? props.shouldFocusOnContainer\n : ev.nativeEvent.pointerType === 'mouse';\n openSubMenu(item, target, shouldFocusOnContainer);\n }\n }\n ev.stopPropagation();\n ev.preventDefault();\n };\n var onAnchorClick = function (item, ev) {\n executeItemClick(item, ev);\n ev.stopPropagation();\n };\n var executeItemClick = function (item, ev) {\n if (item.disabled || item.isDisabled) {\n return;\n }\n if (item.preferMenuTargetAsEventTarget) {\n overrideTarget(ev, menuTarget);\n }\n var shouldDismiss = false;\n if (item.onClick) {\n shouldDismiss = !!item.onClick(ev, item);\n }\n else if (props.onItemClick) {\n shouldDismiss = !!props.onItemClick(ev, item);\n }\n if (shouldDismiss || !ev.defaultPrevented) {\n dismiss(ev, true);\n }\n };\n return [\n onItemMouseEnterBase,\n onItemMouseMoveBase,\n onMouseItemLeave,\n onItemClick,\n onAnchorClick,\n executeItemClick,\n onItemClickBase,\n ];\n}\n//#endregion\nexport var ContextualMenuBase = React.memo(React.forwardRef(function (propsWithoutDefaults, forwardedRef) {\n var _a;\n var _b = getPropsWithDefaults(DEFAULT_PROPS, propsWithoutDefaults), ref = _b.ref, props = __rest(_b, [\"ref\"]);\n var hostElement = React.useRef(null);\n var asyncTracker = useAsync();\n var menuId = useId(COMPONENT_NAME, props.id);\n useWarnings({\n name: COMPONENT_NAME,\n props: props,\n deprecations: {\n getMenuClassNames: 'styles',\n },\n });\n var dismiss = function (ev, dismissAll) { var _a; return (_a = props.onDismiss) === null || _a === void 0 ? void 0 : _a.call(props, ev, dismissAll); };\n var _c = useTarget(props.target, hostElement), targetRef = _c[0], targetWindow = _c[1];\n var tryFocusPreviousActiveElement = usePreviousActiveElement(props, targetWindow, hostElement)[0];\n var _d = useSubMenuState(props, dismiss), expandedMenuItemKey = _d[0], openSubMenu = _d[1], getSubmenuProps = _d[2], onSubMenuDismiss = _d[3];\n var _e = useShouldUpdateFocusOnMouseMove(props), shouldUpdateFocusOnMouseEvent = _e[0], gotMouseMove = _e[1], onMenuFocusCapture = _e[2];\n var _f = useScrollHandler(asyncTracker), onScroll = _f[0], isScrollIdle = _f[1];\n var _g = useSubmenuEnterTimer(props, asyncTracker), cancelSubMenuTimer = _g[0], startSubmenuTimer = _g[1], subMenuEntryTimer = _g[2];\n var responsiveMode = useResponsiveMode(hostElement, props.responsiveMode);\n useVisibility(props, targetWindow);\n var _h = useKeyHandlers(props, dismiss, hostElement, openSubMenu), onKeyDown = _h[0], onKeyUp = _h[1], onMenuKeyDown = _h[2], onItemKeyDown = _h[3];\n var _j = useMouseHandlers(props, isScrollIdle, subMenuEntryTimer, targetWindow, shouldUpdateFocusOnMouseEvent, gotMouseMove, expandedMenuItemKey, hostElement, startSubmenuTimer, cancelSubMenuTimer, openSubMenu, onSubMenuDismiss, dismiss), onItemMouseEnterBase = _j[0], onItemMouseMoveBase = _j[1], onMouseItemLeave = _j[2], onItemClick = _j[3], onAnchorClick = _j[4], executeItemClick = _j[5], onItemClickBase = _j[6];\n //#region Render helpers\n var onDefaultRenderMenuList = function (menuListProps, \n // eslint-disable-next-line deprecation/deprecation\n menuClassNames, defaultRender) {\n var indexCorrection = 0;\n var items = menuListProps.items, totalItemCount = menuListProps.totalItemCount, hasCheckmarks = menuListProps.hasCheckmarks, hasIcons = menuListProps.hasIcons;\n return (React.createElement(\"ul\", { className: menuClassNames.list, onKeyDown: onKeyDown, onKeyUp: onKeyUp, role: 'presentation' }, items.map(function (item, index) {\n var menuItem = renderMenuItem(item, index, indexCorrection, totalItemCount, hasCheckmarks, hasIcons, menuClassNames);\n if (item.itemType !== ContextualMenuItemType.Divider && item.itemType !== ContextualMenuItemType.Header) {\n var indexIncrease = item.customOnRenderListLength ? item.customOnRenderListLength : 1;\n indexCorrection += indexIncrease;\n }\n return menuItem;\n })));\n };\n var renderFocusZone = function (children, adjustedFocusZoneProps) {\n var _a = props.focusZoneAs, ChildrenRenderer = _a === void 0 ? FocusZone : _a;\n return React.createElement(ChildrenRenderer, __assign({}, adjustedFocusZoneProps), children);\n };\n /**\n * !!!IMPORTANT!!! Avoid mutating `item: IContextualMenuItem` argument. It will\n * cause the menu items to always re-render because the component update is based on shallow comparison.\n */\n var renderMenuItem = function (item, index, focusableElementIndex, totalItemCount, hasCheckmarks, hasIcons, \n // eslint-disable-next-line deprecation/deprecation\n menuClassNames) {\n var _a;\n var renderedItems = [];\n var iconProps = item.iconProps || { iconName: 'None' };\n var getItemClassNames = item.getItemClassNames, // eslint-disable-line deprecation/deprecation\n itemProps = item.itemProps;\n var styles = itemProps ? itemProps.styles : undefined;\n // We only send a dividerClassName when the item to be rendered is a divider.\n // For all other cases, the default divider style is used.\n var dividerClassName = item.itemType === ContextualMenuItemType.Divider ? item.className : undefined;\n var subMenuIconClassName = item.submenuIconProps ? item.submenuIconProps.className : '';\n // eslint-disable-next-line deprecation/deprecation\n var itemClassNames;\n // IContextualMenuItem#getItemClassNames for backwards compatibility\n // otherwise uses mergeStyles for class names.\n if (getItemClassNames) {\n itemClassNames = getItemClassNames(props.theme, isItemDisabled(item), expandedMenuItemKey === item.key, !!getIsChecked(item), !!item.href, iconProps.iconName !== 'None', item.className, dividerClassName, iconProps.className, subMenuIconClassName, item.primaryDisabled);\n }\n else {\n var itemStyleProps = {\n theme: props.theme,\n disabled: isItemDisabled(item),\n expanded: expandedMenuItemKey === item.key,\n checked: !!getIsChecked(item),\n isAnchorLink: !!item.href,\n knownIcon: iconProps.iconName !== 'None',\n itemClassName: item.className,\n dividerClassName: dividerClassName,\n iconClassName: iconProps.className,\n subMenuClassName: subMenuIconClassName,\n primaryDisabled: item.primaryDisabled,\n };\n // We need to generate default styles then override if styles are provided\n // since the ContextualMenu currently handles item classNames.\n itemClassNames = getContextualMenuItemClassNames(_getMenuItemStylesFunction((_a = menuClassNames.subComponentStyles) === null || _a === void 0 ? void 0 : _a.menuItem, styles), itemStyleProps);\n }\n // eslint-disable-next-line deprecation/deprecation\n if (item.text === '-' || item.name === '-') {\n item.itemType = ContextualMenuItemType.Divider;\n }\n switch (item.itemType) {\n case ContextualMenuItemType.Divider:\n renderedItems.push(renderSeparator(index, itemClassNames));\n break;\n case ContextualMenuItemType.Header:\n renderedItems.push(renderSeparator(index, itemClassNames));\n var headerItem = renderHeaderMenuItem(item, itemClassNames, menuClassNames, index, hasCheckmarks, hasIcons);\n renderedItems.push(renderListItem(headerItem, item.key || index, itemClassNames, item.title));\n break;\n case ContextualMenuItemType.Section:\n renderedItems.push(renderSectionItem(item, itemClassNames, menuClassNames, index, hasCheckmarks, hasIcons));\n break;\n default:\n var defaultRenderNormalItem = function () {\n return renderNormalItem(item, itemClassNames, index, focusableElementIndex, totalItemCount, hasCheckmarks, hasIcons);\n };\n var menuItem = props.onRenderContextualMenuItem\n ? props.onRenderContextualMenuItem(item, defaultRenderNormalItem)\n : defaultRenderNormalItem();\n renderedItems.push(renderListItem(menuItem, item.key || index, itemClassNames, item.title));\n break;\n }\n // Since multiple nodes *could* be rendered, wrap them all in a fragment with this item's key.\n // This ensures the reconciler handles multi-item output per-node correctly and does not re-mount content.\n return React.createElement(React.Fragment, { key: item.key }, renderedItems);\n };\n var defaultMenuItemRenderer = function (item, \n // eslint-disable-next-line deprecation/deprecation\n menuClassNames) {\n var index = item.index, focusableElementIndex = item.focusableElementIndex, totalItemCount = item.totalItemCount, hasCheckmarks = item.hasCheckmarks, hasIcons = item.hasIcons;\n return renderMenuItem(item, index, focusableElementIndex, totalItemCount, hasCheckmarks, hasIcons, menuClassNames);\n };\n var renderSectionItem = function (sectionItem, \n // eslint-disable-next-line deprecation/deprecation\n itemClassNames, \n // eslint-disable-next-line deprecation/deprecation\n menuClassNames, index, hasCheckmarks, hasIcons) {\n var sectionProps = sectionItem.sectionProps;\n if (!sectionProps) {\n return;\n }\n var headerItem;\n var groupProps;\n if (sectionProps.title) {\n var headerContextualMenuItem = undefined;\n var ariaLabelledby = '';\n if (typeof sectionProps.title === 'string') {\n // Since title is a user-facing string, it needs to be stripped\n // of whitespace in order to build a valid element ID\n var id_1 = menuId + sectionProps.title.replace(/\\s/g, '');\n headerContextualMenuItem = {\n key: \"section-\".concat(sectionProps.title, \"-title\"),\n itemType: ContextualMenuItemType.Header,\n text: sectionProps.title,\n id: id_1,\n };\n ariaLabelledby = id_1;\n }\n else {\n var id_2 = sectionProps.title.id || menuId + sectionProps.title.key.replace(/\\s/g, '');\n headerContextualMenuItem = __assign(__assign({}, sectionProps.title), { id: id_2 });\n ariaLabelledby = id_2;\n }\n if (headerContextualMenuItem) {\n groupProps = {\n role: 'group',\n 'aria-labelledby': ariaLabelledby,\n };\n headerItem = renderHeaderMenuItem(headerContextualMenuItem, itemClassNames, menuClassNames, index, hasCheckmarks, hasIcons);\n }\n }\n if (sectionProps.items && sectionProps.items.length > 0) {\n var correctedIndex_1 = 0;\n return (React.createElement(\"li\", { role: \"presentation\", key: sectionProps.key || sectionItem.key || \"section-\".concat(index) },\n React.createElement(\"div\", __assign({}, groupProps),\n React.createElement(\"ul\", { className: menuClassNames.list, role: \"presentation\" },\n sectionProps.topDivider && renderSeparator(index, itemClassNames, true, true),\n headerItem && renderListItem(headerItem, sectionItem.key || index, itemClassNames, sectionItem.title),\n sectionProps.items.map(function (contextualMenuItem, itemsIndex) {\n var menuItem = renderMenuItem(contextualMenuItem, itemsIndex, correctedIndex_1, getItemCount(sectionProps.items), hasCheckmarks, hasIcons, menuClassNames);\n if (contextualMenuItem.itemType !== ContextualMenuItemType.Divider &&\n contextualMenuItem.itemType !== ContextualMenuItemType.Header) {\n var indexIncrease = contextualMenuItem.customOnRenderListLength\n ? contextualMenuItem.customOnRenderListLength\n : 1;\n correctedIndex_1 += indexIncrease;\n }\n return menuItem;\n }),\n sectionProps.bottomDivider && renderSeparator(index, itemClassNames, false, true)))));\n }\n };\n var renderListItem = function (content, key, classNames, // eslint-disable-line deprecation/deprecation\n title) {\n return (React.createElement(\"li\", { role: \"presentation\", title: title, key: key, className: classNames.item }, content));\n };\n var renderSeparator = function (index, classNames, // eslint-disable-line deprecation/deprecation\n top, fromSection) {\n if (fromSection || index > 0) {\n return (React.createElement(\"li\", { role: \"separator\", key: 'separator-' + index + (top === undefined ? '' : top ? '-top' : '-bottom'), className: classNames.divider, \"aria-hidden\": \"true\" }));\n }\n return null;\n };\n var renderNormalItem = function (item, classNames, // eslint-disable-line deprecation/deprecation\n index, focusableElementIndex, totalItemCount, hasCheckmarks, hasIcons) {\n if (item.onRender) {\n return item.onRender(__assign({ 'aria-posinset': focusableElementIndex + 1, 'aria-setsize': totalItemCount }, item), dismiss);\n }\n var contextualMenuItemAs = props.contextualMenuItemAs;\n var commonProps = {\n item: item,\n classNames: classNames,\n index: index,\n focusableElementIndex: focusableElementIndex,\n totalItemCount: totalItemCount,\n hasCheckmarks: hasCheckmarks,\n hasIcons: hasIcons,\n contextualMenuItemAs: contextualMenuItemAs,\n onItemMouseEnter: onItemMouseEnterBase,\n onItemMouseLeave: onMouseItemLeave,\n onItemMouseMove: onItemMouseMoveBase,\n onItemMouseDown: onItemMouseDown,\n executeItemClick: executeItemClick,\n onItemKeyDown: onItemKeyDown,\n expandedMenuItemKey: expandedMenuItemKey,\n openSubMenu: openSubMenu,\n dismissSubMenu: onSubMenuDismiss,\n dismissMenu: dismiss,\n };\n if (item.href) {\n return React.createElement(ContextualMenuAnchor, __assign({}, commonProps, { onItemClick: onAnchorClick }));\n }\n if (item.split && hasSubmenu(item)) {\n return (React.createElement(ContextualMenuSplitButton, __assign({}, commonProps, { onItemClick: onItemClick, onItemClickBase: onItemClickBase, onTap: cancelSubMenuTimer })));\n }\n return React.createElement(ContextualMenuButton, __assign({}, commonProps, { onItemClick: onItemClick, onItemClickBase: onItemClickBase }));\n };\n var renderHeaderMenuItem = function (item, \n // eslint-disable-next-line deprecation/deprecation\n itemClassNames, \n // eslint-disable-next-line deprecation/deprecation\n menuClassNames, index, hasCheckmarks, hasIcons) {\n var _a = props.contextualMenuItemAs, ChildrenRenderer = _a === void 0 ? ContextualMenuItem : _a;\n var itemProps = item.itemProps, id = item.id;\n var divHtmlProperties = itemProps && getNativeProps(itemProps, divProperties);\n return (\n // eslint-disable-next-line deprecation/deprecation\n React.createElement(\"div\", __assign({ id: id, className: menuClassNames.header }, divHtmlProperties, { style: item.style }),\n React.createElement(ChildrenRenderer, __assign({ item: item, classNames: itemClassNames, index: index, onCheckmarkClick: hasCheckmarks ? onItemClick : undefined, hasIcons: hasIcons }, itemProps))));\n };\n //#endregion\n //#region Main render\n var isBeakVisible = props.isBeakVisible;\n var items = props.items, labelElementId = props.labelElementId, id = props.id, className = props.className, beakWidth = props.beakWidth, directionalHint = props.directionalHint, directionalHintForRTL = props.directionalHintForRTL, alignTargetEdge = props.alignTargetEdge, gapSpace = props.gapSpace, coverTarget = props.coverTarget, ariaLabel = props.ariaLabel, doNotLayer = props.doNotLayer, target = props.target, bounds = props.bounds, useTargetWidth = props.useTargetWidth, useTargetAsMinWidth = props.useTargetAsMinWidth, directionalHintFixed = props.directionalHintFixed, shouldFocusOnMount = props.shouldFocusOnMount, shouldFocusOnContainer = props.shouldFocusOnContainer, title = props.title, styles = props.styles, theme = props.theme, calloutProps = props.calloutProps, _k = props.onRenderSubMenu, onRenderSubMenu = _k === void 0 ? onDefaultRenderSubMenu : _k, _l = props.onRenderMenuList, onRenderMenuList = _l === void 0 ? function (menuListProps, defaultRender) { return onDefaultRenderMenuList(menuListProps, classNames, defaultRender); } : _l, focusZoneProps = props.focusZoneProps, \n // eslint-disable-next-line deprecation/deprecation\n getMenuClassNames = props.getMenuClassNames;\n var classNames = getMenuClassNames\n ? getMenuClassNames(theme, className)\n : getClassNames(styles, {\n theme: theme,\n className: className,\n });\n var hasIcons = itemsHaveIcons(items);\n function itemsHaveIcons(contextualMenuItems) {\n for (var _i = 0, contextualMenuItems_1 = contextualMenuItems; _i < contextualMenuItems_1.length; _i++) {\n var item = contextualMenuItems_1[_i];\n if (item.iconProps) {\n return true;\n }\n if (item.itemType === ContextualMenuItemType.Section &&\n item.sectionProps &&\n itemsHaveIcons(item.sectionProps.items)) {\n return true;\n }\n }\n return false;\n }\n var adjustedFocusZoneProps = __assign(__assign({ direction: FocusZoneDirection.vertical, handleTabKey: FocusZoneTabbableElements.all, isCircularNavigation: true }, focusZoneProps), { className: css(classNames.root, (_a = props.focusZoneProps) === null || _a === void 0 ? void 0 : _a.className) });\n var hasCheckmarks = canAnyMenuItemsCheck(items);\n var submenuProps = expandedMenuItemKey && props.hidden !== true ? getSubmenuProps() : null;\n isBeakVisible = isBeakVisible === undefined ? responsiveMode <= ResponsiveMode.medium : isBeakVisible;\n /**\n * When useTargetWidth is true, get the width of the target element and apply it for the context menu container\n */\n var contextMenuStyle;\n var targetAsHtmlElement = targetRef.current;\n if ((useTargetWidth || useTargetAsMinWidth) && targetAsHtmlElement && targetAsHtmlElement.offsetWidth) {\n var targetBoundingRect = targetAsHtmlElement.getBoundingClientRect();\n var targetWidth = targetBoundingRect.width - 2; /* Accounts for 1px border */\n if (useTargetWidth) {\n contextMenuStyle = {\n width: targetWidth,\n };\n }\n else if (useTargetAsMinWidth) {\n contextMenuStyle = {\n minWidth: targetWidth,\n };\n }\n }\n // The menu should only return if items were provided, if no items were provided then it should not appear.\n if (items && items.length > 0) {\n var totalItemCount_1 = getItemCount(items);\n var calloutStyles_1 = classNames.subComponentStyles\n ? classNames.subComponentStyles.callout\n : undefined;\n return (React.createElement(MenuContext.Consumer, null, function (menuContext) { return (React.createElement(Callout, __assign({ styles: calloutStyles_1, onRestoreFocus: tryFocusPreviousActiveElement }, calloutProps, { target: target || menuContext.target, isBeakVisible: isBeakVisible, beakWidth: beakWidth, directionalHint: directionalHint, directionalHintForRTL: directionalHintForRTL, gapSpace: gapSpace, coverTarget: coverTarget, doNotLayer: doNotLayer, className: css('ms-ContextualMenu-Callout', calloutProps && calloutProps.className), setInitialFocus: shouldFocusOnMount, onDismiss: props.onDismiss || menuContext.onDismiss, onScroll: onScroll, bounds: bounds, directionalHintFixed: directionalHintFixed, alignTargetEdge: alignTargetEdge, hidden: props.hidden || menuContext.hidden, ref: forwardedRef }),\n React.createElement(\"div\", { style: contextMenuStyle, ref: hostElement, id: id, className: classNames.container, tabIndex: shouldFocusOnContainer ? 0 : -1, onKeyDown: onMenuKeyDown, onKeyUp: onKeyUp, onFocusCapture: onMenuFocusCapture, \"aria-label\": ariaLabel, \"aria-labelledby\": labelElementId, role: 'menu' },\n title && React.createElement(\"div\", { className: classNames.title },\n \" \",\n title,\n \" \"),\n items && items.length\n ? renderFocusZone(onRenderMenuList({\n ariaLabel: ariaLabel,\n items: items,\n totalItemCount: totalItemCount_1,\n hasCheckmarks: hasCheckmarks,\n hasIcons: hasIcons,\n defaultMenuItemRenderer: function (item) {\n return defaultMenuItemRenderer(item, classNames);\n },\n labelElementId: labelElementId,\n }, function (menuListProps, defaultRender) { return onDefaultRenderMenuList(menuListProps, classNames, defaultRender); }), adjustedFocusZoneProps)\n : null,\n submenuProps && onRenderSubMenu(submenuProps, onDefaultRenderSubMenu)),\n React.createElement(FocusRects, null))); }));\n }\n else {\n return null;\n }\n //#endregion\n}), function (prevProps, newProps) {\n if (!newProps.shouldUpdateWhenHidden && prevProps.hidden && newProps.hidden) {\n // Do not update when hidden.\n return true;\n }\n return shallowCompare(prevProps, newProps);\n});\nContextualMenuBase.displayName = 'ContextualMenuBase';\n/**\n * Returns true if the key for the event is alt (Mac option) or meta (Mac command).\n */\nfunction isAltOrMeta(ev) {\n // eslint-disable-next-line deprecation/deprecation\n return ev.which === KeyCodes.alt || ev.key === 'Meta';\n}\nfunction onItemMouseDown(item, ev) {\n var _a;\n (_a = item.onMouseDown) === null || _a === void 0 ? void 0 : _a.call(item, item, ev);\n}\nfunction onDefaultRenderSubMenu(subMenuProps, defaultRender) {\n throw Error('ContextualMenuBase: onRenderSubMenu callback is null or undefined. ' +\n 'Please ensure to set `onRenderSubMenu` property either manually or with `styled` helper.');\n}\n/**\n * Returns the item that matches a given key if any.\n * @param key - The key of the item to match\n * @param items - The items to look for the key\n */\nfunction findItemByKeyFromItems(key, items) {\n for (var _i = 0, items_3 = items; _i < items_3.length; _i++) {\n var item = items_3[_i];\n if (item.itemType === ContextualMenuItemType.Section && item.sectionProps) {\n var match = findItemByKeyFromItems(key, item.sectionProps.items);\n if (match) {\n return match;\n }\n }\n else if (item.key && item.key === key) {\n return item;\n }\n }\n}\nfunction getOnClickWithOverrideTarget(onClick, target) {\n return onClick\n ? function (ev, item) {\n overrideTarget(ev, target);\n return onClick(ev, item);\n }\n : onClick;\n}\nfunction overrideTarget(ev, target) {\n if (ev && target) {\n ev.persist();\n if (target instanceof Event) {\n ev.target = target.target;\n }\n else if (target instanceof Element) {\n ev.target = target;\n }\n }\n}\n//# sourceMappingURL=ContextualMenu.base.js.map","import { getGlobalClassNames, FontWeights } from '../../Styling';\nimport { CONTEXTUAL_MENU_ITEM_HEIGHT } from './ContextualMenu.cnstyles';\nvar GlobalClassNames = {\n root: 'ms-ContextualMenu',\n container: 'ms-ContextualMenu-container',\n list: 'ms-ContextualMenu-list',\n header: 'ms-ContextualMenu-header',\n title: 'ms-ContextualMenu-title',\n isopen: 'is-open',\n};\nexport var getStyles = function (props) {\n var className = props.className, theme = props.theme;\n var classNames = getGlobalClassNames(GlobalClassNames, theme);\n var fonts = theme.fonts, semanticColors = theme.semanticColors, effects = theme.effects;\n return {\n root: [\n theme.fonts.medium,\n classNames.root,\n classNames.isopen,\n {\n backgroundColor: semanticColors.menuBackground,\n minWidth: '180px',\n },\n className,\n ],\n container: [\n classNames.container,\n {\n selectors: {\n ':focus': { outline: 0 },\n },\n },\n ],\n list: [\n classNames.list,\n classNames.isopen,\n {\n listStyleType: 'none',\n margin: '0',\n padding: '0',\n },\n ],\n header: [\n classNames.header,\n fonts.small,\n {\n fontWeight: FontWeights.semibold,\n color: semanticColors.menuHeader,\n background: 'none',\n backgroundColor: 'transparent',\n border: 'none',\n height: CONTEXTUAL_MENU_ITEM_HEIGHT,\n lineHeight: CONTEXTUAL_MENU_ITEM_HEIGHT,\n cursor: 'default',\n padding: '0px 6px',\n userSelect: 'none',\n textAlign: 'left',\n },\n ],\n title: [\n classNames.title,\n {\n fontSize: fonts.mediumPlus.fontSize,\n paddingRight: '14px',\n paddingLeft: '14px',\n paddingBottom: '5px',\n paddingTop: '5px',\n backgroundColor: semanticColors.menuItemBackgroundPressed,\n },\n ],\n subComponentStyles: {\n callout: {\n root: {\n boxShadow: effects.elevation8,\n },\n },\n menuItem: {},\n },\n };\n};\n//# sourceMappingURL=ContextualMenu.styles.js.map","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { styled, composeRenderFunction } from '../../Utilities';\nimport { ContextualMenuBase } from './ContextualMenu.base';\nimport { getStyles } from './ContextualMenu.styles';\nfunction onRenderSubMenu(subMenuProps) {\n return React.createElement(LocalContextualMenu, __assign({}, subMenuProps));\n}\n// This is to prevent cyclic import with ContextualMenu.base.tsx.\nvar LocalContextualMenu = styled(ContextualMenuBase, getStyles, function (props) { return ({\n onRenderSubMenu: props.onRenderSubMenu\n ? composeRenderFunction(props.onRenderSubMenu, onRenderSubMenu)\n : onRenderSubMenu,\n}); }, { scope: 'ContextualMenu' });\n/**\n * ContextualMenu description\n */\nexport var ContextualMenu = LocalContextualMenu;\nContextualMenu.displayName = 'ContextualMenu';\n//# sourceMappingURL=ContextualMenu.js.map","export { DirectionalHint } from '../../common/DirectionalHint';\n/**\n * {@docCategory ContextualMenu}\n */\nexport var ContextualMenuItemType;\n(function (ContextualMenuItemType) {\n ContextualMenuItemType[ContextualMenuItemType[\"Normal\"] = 0] = \"Normal\";\n ContextualMenuItemType[ContextualMenuItemType[\"Divider\"] = 1] = \"Divider\";\n ContextualMenuItemType[ContextualMenuItemType[\"Header\"] = 2] = \"Header\";\n ContextualMenuItemType[ContextualMenuItemType[\"Section\"] = 3] = \"Section\";\n})(ContextualMenuItemType || (ContextualMenuItemType = {}));\n//# sourceMappingURL=ContextualMenu.types.js.map","import { AnimationVariables, getGlobalClassNames, ZIndexes } from '../../Styling';\nexport var animationDuration = AnimationVariables.durationValue2;\nvar globalClassNames = {\n root: 'ms-Modal',\n main: 'ms-Dialog-main',\n scrollableContent: 'ms-Modal-scrollableContent',\n isOpen: 'is-open',\n layer: 'ms-Modal-Layer',\n};\nexport var getStyles = function (props) {\n var _a;\n var className = props.className, containerClassName = props.containerClassName, scrollableContentClassName = props.scrollableContentClassName, isOpen = props.isOpen, isVisible = props.isVisible, hasBeenOpened = props.hasBeenOpened, modalRectangleTop = props.modalRectangleTop, theme = props.theme, topOffsetFixed = props.topOffsetFixed, isModeless = props.isModeless, layerClassName = props.layerClassName, isDefaultDragHandle = props.isDefaultDragHandle, windowInnerHeight = props.windowInnerHeight;\n var palette = theme.palette, effects = theme.effects, fonts = theme.fonts;\n var classNames = getGlobalClassNames(globalClassNames, theme);\n return {\n root: [\n classNames.root,\n fonts.medium,\n {\n backgroundColor: 'transparent',\n position: 'fixed',\n height: '100%',\n width: '100%',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n opacity: 0,\n pointerEvents: 'none',\n transition: \"opacity \".concat(animationDuration),\n },\n topOffsetFixed &&\n typeof modalRectangleTop === 'number' &&\n hasBeenOpened && {\n alignItems: 'flex-start',\n },\n isOpen && classNames.isOpen,\n isVisible && {\n opacity: 1,\n },\n isVisible &&\n !isModeless && {\n pointerEvents: 'auto',\n },\n className,\n ],\n main: [\n classNames.main,\n {\n boxShadow: effects.elevation64,\n borderRadius: effects.roundedCorner2,\n backgroundColor: palette.white,\n boxSizing: 'border-box',\n position: 'relative',\n textAlign: 'left',\n outline: '3px solid transparent',\n maxHeight: 'calc(100% - 32px)',\n maxWidth: 'calc(100% - 32px)',\n minHeight: '176px',\n minWidth: '288px',\n overflowY: 'auto',\n zIndex: isModeless ? ZIndexes.Layer : undefined,\n },\n isModeless && {\n pointerEvents: 'auto',\n },\n topOffsetFixed &&\n typeof modalRectangleTop === 'number' &&\n hasBeenOpened && {\n top: modalRectangleTop,\n },\n isDefaultDragHandle && {\n cursor: 'move',\n },\n containerClassName,\n ],\n scrollableContent: [\n classNames.scrollableContent,\n {\n overflowY: 'auto',\n flexGrow: 1,\n maxHeight: '100vh',\n selectors: (_a = {},\n _a['@supports (-webkit-overflow-scrolling: touch)'] = {\n maxHeight: windowInnerHeight,\n },\n _a),\n },\n scrollableContentClassName,\n ],\n layer: isModeless && [layerClassName, classNames.layer, { pointerEvents: 'none' }],\n keyboardMoveIconContainer: {\n position: 'absolute',\n display: 'flex',\n justifyContent: 'center',\n width: '100%',\n padding: '3px 0px',\n },\n keyboardMoveIcon: {\n // eslint-disable-next-line deprecation/deprecation\n fontSize: fonts.xLargePlus.fontSize,\n width: '24px',\n },\n };\n};\n//# sourceMappingURL=Modal.styles.js.map","import { memoizeFunction } from '../../Utilities';\nimport { mergeStyles } from '../../Styling';\nexport var getClassNames = memoizeFunction(function (className, isDragging) {\n return {\n root: mergeStyles(className, isDragging && {\n touchAction: 'none',\n selectors: {\n '& *': {\n userSelect: 'none',\n },\n },\n }),\n };\n});\n//# sourceMappingURL=DraggableZone.styles.js.map","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { getClassNames } from './DraggableZone.styles';\nimport { on } from '../../Utilities';\nvar eventMapping = {\n touch: {\n start: 'touchstart',\n move: 'touchmove',\n stop: 'touchend',\n },\n mouse: {\n start: 'mousedown',\n move: 'mousemove',\n stop: 'mouseup',\n },\n};\nvar DraggableZone = /** @class */ (function (_super) {\n __extends(DraggableZone, _super);\n function DraggableZone(props) {\n var _this = _super.call(this, props) || this;\n _this._currentEventType = eventMapping.mouse;\n _this._events = [];\n _this._onMouseDown = function (event) {\n var onMouseDown = React.Children.only(_this.props.children).props.onMouseDown;\n if (onMouseDown) {\n onMouseDown(event);\n }\n _this._currentEventType = eventMapping.mouse;\n return _this._onDragStart(event);\n };\n _this._onMouseUp = function (event) {\n var onMouseUp = React.Children.only(_this.props.children).props.onMouseUp;\n if (onMouseUp) {\n onMouseUp(event);\n }\n _this._currentEventType = eventMapping.mouse;\n return _this._onDragStop(event);\n };\n _this._onTouchStart = function (event) {\n var onTouchStart = React.Children.only(_this.props.children).props.onTouchStart;\n if (onTouchStart) {\n onTouchStart(event);\n }\n _this._currentEventType = eventMapping.touch;\n return _this._onDragStart(event);\n };\n _this._onTouchEnd = function (event) {\n var onTouchEnd = React.Children.only(_this.props.children).props.onTouchEnd;\n if (onTouchEnd) {\n onTouchEnd(event);\n }\n _this._currentEventType = eventMapping.touch;\n _this._onDragStop(event);\n };\n _this._onDragStart = function (event) {\n // Only handle left click for dragging\n if (typeof event.button === 'number' && event.button !== 0) {\n return false;\n }\n // If the target doesn't match the handleSelector OR\n // if the target does match the preventDragSelector, bail out\n if ((_this.props.handleSelector && !_this._matchesSelector(event.target, _this.props.handleSelector)) ||\n (_this.props.preventDragSelector &&\n _this._matchesSelector(event.target, _this.props.preventDragSelector))) {\n return;\n }\n // Remember the touch identifier if this is a touch event so we can\n // distinguish between individual touches in multitouch scenarios\n // by remembering which touch point we were given\n _this._touchId = _this._getTouchId(event);\n var position = _this._getControlPosition(event);\n if (position === undefined) {\n return;\n }\n var dragData = _this._createDragDataFromPosition(position);\n _this.props.onStart && _this.props.onStart(event, dragData);\n _this.setState({\n isDragging: true,\n lastPosition: position,\n });\n // hook up the appropriate mouse/touch events to the body to ensure\n // smooth dragging\n _this._events = [\n on(document.body, _this._currentEventType.move, _this._onDrag, true /* use capture phase */),\n on(document.body, _this._currentEventType.stop, _this._onDragStop, true /* use capture phase */),\n ];\n };\n _this._onDrag = function (event) {\n // Prevent scrolling on mobile devices\n if (event.type === 'touchmove') {\n event.preventDefault();\n }\n var position = _this._getControlPosition(event);\n if (!position) {\n return;\n }\n // create the updated drag data from the position data\n var updatedData = _this._createUpdatedDragData(_this._createDragDataFromPosition(position));\n var updatedPosition = updatedData.position;\n _this.props.onDragChange && _this.props.onDragChange(event, updatedData);\n _this.setState({\n position: updatedPosition,\n lastPosition: position,\n });\n };\n _this._onDragStop = function (event) {\n if (!_this.state.isDragging) {\n return;\n }\n var position = _this._getControlPosition(event);\n if (!position) {\n return;\n }\n var baseDragData = _this._createDragDataFromPosition(position);\n // Set dragging to false and reset the lastPosition\n _this.setState({\n isDragging: false,\n lastPosition: undefined,\n });\n _this.props.onStop && _this.props.onStop(event, baseDragData);\n if (_this.props.position) {\n _this.setState({\n position: _this.props.position,\n });\n }\n // Remove event handlers\n _this._events.forEach(function (dispose) { return dispose(); });\n };\n _this.state = {\n isDragging: false,\n position: _this.props.position || { x: 0, y: 0 },\n lastPosition: undefined,\n };\n return _this;\n }\n DraggableZone.prototype.componentDidUpdate = function (prevProps) {\n if (this.props.position && (!prevProps.position || this.props.position !== prevProps.position)) {\n this.setState({ position: this.props.position });\n }\n };\n DraggableZone.prototype.componentWillUnmount = function () {\n this._events.forEach(function (dispose) { return dispose(); });\n };\n DraggableZone.prototype.render = function () {\n var child = React.Children.only(this.props.children);\n var props = child.props;\n var position = this.props.position;\n var _a = this.state, statePosition = _a.position, isDragging = _a.isDragging;\n var x = statePosition.x;\n var y = statePosition.y;\n if (position && !isDragging) {\n x = position.x;\n y = position.y;\n }\n return React.cloneElement(child, {\n style: __assign(__assign({}, props.style), { transform: \"translate(\".concat(x, \"px, \").concat(y, \"px)\") }),\n className: getClassNames(props.className, this.state.isDragging).root,\n onMouseDown: this._onMouseDown,\n onMouseUp: this._onMouseUp,\n onTouchStart: this._onTouchStart,\n onTouchEnd: this._onTouchEnd,\n });\n };\n /**\n * Get the control position based off the event that fired\n * @param event - The event to get offsets from\n */\n DraggableZone.prototype._getControlPosition = function (event) {\n var touchObj = this._getActiveTouch(event);\n // did we get the right touch?\n if (this._touchId !== undefined && !touchObj) {\n return undefined;\n }\n var eventToGetOffset = touchObj || event;\n return {\n x: eventToGetOffset.clientX,\n y: eventToGetOffset.clientY,\n };\n };\n /**\n * Get the active touch point that we have saved from the event's TouchList\n * @param event - The event used to get the TouchList for the active touch point\n */\n DraggableZone.prototype._getActiveTouch = function (event) {\n return ((event.targetTouches && this._findTouchInTouchList(event.targetTouches)) ||\n (event.changedTouches && this._findTouchInTouchList(event.changedTouches)));\n };\n /**\n * Get the initial touch identifier associated with the given event\n * @param event - The event that contains the TouchList\n */\n DraggableZone.prototype._getTouchId = function (event) {\n var touch = (event.targetTouches && event.targetTouches[0]) || (event.changedTouches && event.changedTouches[0]);\n if (touch) {\n return touch.identifier;\n }\n };\n /**\n * Returns if an element (or any of the element's parents) match the given selector\n */\n DraggableZone.prototype._matchesSelector = function (element, selector) {\n if (!element || element === document.body) {\n return false;\n }\n var matchesSelectorFn = \n // eslint-disable-next-line deprecation/deprecation\n element.matches || element.webkitMatchesSelector || element.msMatchesSelector; /* for IE */\n if (!matchesSelectorFn) {\n return false;\n }\n return matchesSelectorFn.call(element, selector) || this._matchesSelector(element.parentElement, selector);\n };\n /**\n * Attempts to find the Touch that matches the identifier we stored in dragStart\n * @param touchList The TouchList to look for the stored identifier from dragStart\n */\n DraggableZone.prototype._findTouchInTouchList = function (touchList) {\n if (this._touchId === undefined) {\n return;\n }\n for (var i = 0; i < touchList.length; i++) {\n if (touchList[i].identifier === this._touchId) {\n return touchList[i];\n }\n }\n return undefined;\n };\n /**\n * Create DragData based off of the last known position and the new position passed in\n * @param position The new position as part of the drag\n */\n DraggableZone.prototype._createDragDataFromPosition = function (position) {\n var lastPosition = this.state.lastPosition;\n // If we have no lastPosition, use the given position\n // for last position\n if (lastPosition === undefined) {\n return {\n delta: { x: 0, y: 0 },\n lastPosition: position,\n position: position,\n };\n }\n return {\n delta: {\n x: position.x - lastPosition.x,\n y: position.y - lastPosition.y,\n },\n lastPosition: lastPosition,\n position: position,\n };\n };\n /**\n * Creates an updated DragData based off the current position and given baseDragData\n * @param baseDragData The base DragData (from _createDragDataFromPosition) used to calculate the updated positions\n */\n DraggableZone.prototype._createUpdatedDragData = function (baseDragData) {\n var position = this.state.position;\n return {\n position: {\n x: position.x + baseDragData.delta.x,\n y: position.y + baseDragData.delta.y,\n },\n delta: baseDragData.delta,\n lastPosition: position,\n };\n };\n return DraggableZone;\n}(React.Component));\nexport { DraggableZone };\n//# sourceMappingURL=DraggableZone.js.map","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { classNamesFunction, css, allowScrollOnElement, allowOverscrollOnElement, getPropsWithDefaults, KeyCodes, elementContains, EventGroup, } from '../../Utilities';\nimport { FocusTrapZone } from '../../FocusTrapZone';\nimport { animationDuration } from './Modal.styles';\nimport { Overlay } from '../../Overlay';\nimport { Layer } from '../../Layer';\nimport { Popup } from '../../Popup';\nimport { ResponsiveMode, useResponsiveMode } from '../../ResponsiveMode';\nimport { DirectionalHint } from '../../common/DirectionalHint';\nimport { Icon } from '../../Icon';\nimport { DraggableZone } from '../../utilities/DraggableZone/index';\nimport { useWindow } from '@fluentui/react-window-provider';\nimport { useBoolean, useMergedRefs, useWarnings, useConst, useSetTimeout, useId, useUnmount, } from '@fluentui/react-hooks';\nvar ZERO = { x: 0, y: 0 };\nvar DEFAULT_PROPS = {\n isOpen: false,\n isDarkOverlay: true,\n className: '',\n containerClassName: '',\n enableAriaHiddenSiblings: true,\n};\nvar getClassNames = classNamesFunction();\nvar getMoveDelta = function (ev) {\n var delta = 10;\n if (ev.shiftKey) {\n if (!ev.ctrlKey) {\n delta = 50;\n }\n }\n else if (ev.ctrlKey) {\n delta = 1;\n }\n return delta;\n};\nvar useComponentRef = function (props, focusTrapZone) {\n React.useImperativeHandle(props.componentRef, function () { return ({\n focus: function () {\n if (focusTrapZone.current) {\n focusTrapZone.current.focus();\n }\n },\n }); }, [focusTrapZone]);\n};\nexport var ModalBase = React.forwardRef(function (propsWithoutDefaults, ref) {\n var _a, _b, _c, _d, _e;\n var props = getPropsWithDefaults(DEFAULT_PROPS, propsWithoutDefaults);\n var allowTouchBodyScroll = props.allowTouchBodyScroll, className = props.className, children = props.children, containerClassName = props.containerClassName, scrollableContentClassName = props.scrollableContentClassName, elementToFocusOnDismiss = props.elementToFocusOnDismiss, firstFocusableSelector = props.firstFocusableSelector, focusTrapZoneProps = props.focusTrapZoneProps, forceFocusInsideTrap = props.forceFocusInsideTrap, \n // eslint-disable-next-line deprecation/deprecation\n _f = props.disableRestoreFocus, \n // eslint-disable-next-line deprecation/deprecation\n disableRestoreFocus = _f === void 0 ? props.ignoreExternalFocusing : _f, isBlocking = props.isBlocking, isAlert = props.isAlert, isClickableOutsideFocusTrap = props.isClickableOutsideFocusTrap, isDarkOverlay = props.isDarkOverlay, onDismiss = props.onDismiss, layerProps = props.layerProps, overlay = props.overlay, isOpen = props.isOpen, titleAriaId = props.titleAriaId, styles = props.styles, subtitleAriaId = props.subtitleAriaId, theme = props.theme, topOffsetFixed = props.topOffsetFixed, responsiveMode = props.responsiveMode, \n // eslint-disable-next-line deprecation/deprecation\n onLayerDidMount = props.onLayerDidMount, isModeless = props.isModeless, dragOptions = props.dragOptions, onDismissed = props.onDismissed, \n // eslint-disable-next-line deprecation/deprecation\n enableAriaHiddenSiblings = props.enableAriaHiddenSiblings, popupProps = props.popupProps;\n var rootRef = React.useRef(null);\n var focusTrapZone = React.useRef(null);\n var focusTrapZoneRef = useMergedRefs(focusTrapZone, focusTrapZoneProps === null || focusTrapZoneProps === void 0 ? void 0 : focusTrapZoneProps.componentRef);\n var focusTrapZoneElm = React.useRef(null);\n var mergedRef = useMergedRefs(rootRef, ref);\n var modalResponsiveMode = useResponsiveMode(mergedRef);\n var focusTrapZoneId = useId('ModalFocusTrapZone', focusTrapZoneProps === null || focusTrapZoneProps === void 0 ? void 0 : focusTrapZoneProps.id);\n var win = useWindow();\n var _g = useSetTimeout(), setTimeout = _g.setTimeout, clearTimeout = _g.clearTimeout;\n var _h = React.useState(isOpen), isModalOpen = _h[0], setIsModalOpen = _h[1];\n var _j = React.useState(isOpen), isVisible = _j[0], setIsVisible = _j[1];\n var _k = React.useState(ZERO), coordinates = _k[0], setCoordinates = _k[1];\n var _l = React.useState(), modalRectangleTop = _l[0], setModalRectangleTop = _l[1];\n var _m = useBoolean(false), isModalMenuOpen = _m[0], _o = _m[1], toggleModalMenuOpen = _o.toggle, setModalMenuClose = _o.setFalse;\n var internalState = useConst(function () { return ({\n onModalCloseTimer: 0,\n allowTouchBodyScroll: allowTouchBodyScroll,\n scrollableContent: null,\n lastSetCoordinates: ZERO,\n events: new EventGroup({}),\n }); });\n var keepInBounds = (dragOptions || {}).keepInBounds;\n var isAlertRole = isAlert !== null && isAlert !== void 0 ? isAlert : (isBlocking && !isModeless);\n var layerClassName = layerProps === undefined ? '' : layerProps.className;\n var classNames = getClassNames(styles, {\n theme: theme,\n className: className,\n containerClassName: containerClassName,\n scrollableContentClassName: scrollableContentClassName,\n isOpen: isOpen,\n isVisible: isVisible,\n hasBeenOpened: internalState.hasBeenOpened,\n modalRectangleTop: modalRectangleTop,\n topOffsetFixed: topOffsetFixed,\n isModeless: isModeless,\n layerClassName: layerClassName,\n windowInnerHeight: win === null || win === void 0 ? void 0 : win.innerHeight,\n isDefaultDragHandle: dragOptions && !dragOptions.dragHandleSelector,\n });\n var mergedLayerProps = __assign(__assign({ eventBubblingEnabled: false }, layerProps), { onLayerDidMount: layerProps && layerProps.onLayerDidMount ? layerProps.onLayerDidMount : onLayerDidMount, insertFirst: (layerProps === null || layerProps === void 0 ? void 0 : layerProps.insertFirst) || isModeless, className: classNames.layer });\n // Allow the user to scroll within the modal but not on the body\n var allowScrollOnModal = React.useCallback(function (elt) {\n if (elt) {\n if (internalState.allowTouchBodyScroll) {\n allowOverscrollOnElement(elt, internalState.events);\n }\n else {\n allowScrollOnElement(elt, internalState.events);\n }\n }\n else {\n internalState.events.off(internalState.scrollableContent);\n }\n internalState.scrollableContent = elt;\n }, [internalState]);\n var registerInitialModalPosition = function () {\n var dialogMain = focusTrapZoneElm.current;\n var modalRectangle = dialogMain === null || dialogMain === void 0 ? void 0 : dialogMain.getBoundingClientRect();\n if (modalRectangle) {\n if (topOffsetFixed) {\n setModalRectangleTop(modalRectangle.top);\n }\n if (keepInBounds) {\n // x/y are unavailable in IE, so use the equivalent left/top\n internalState.minPosition = { x: -modalRectangle.left, y: -modalRectangle.top };\n internalState.maxPosition = { x: modalRectangle.left, y: modalRectangle.top };\n }\n }\n };\n /**\n * Clamps an axis to a specified min and max position.\n *\n * @param axis A string that represents the axis (x/y).\n * @param position The position on the axis.\n */\n var getClampedAxis = React.useCallback(function (axis, position) {\n var minPosition = internalState.minPosition, maxPosition = internalState.maxPosition;\n if (keepInBounds && minPosition && maxPosition) {\n position = Math.max(minPosition[axis], position);\n position = Math.min(maxPosition[axis], position);\n }\n return position;\n }, [keepInBounds, internalState]);\n var handleModalClose = function () {\n var _a;\n internalState.lastSetCoordinates = ZERO;\n setModalMenuClose();\n internalState.isInKeyboardMoveMode = false;\n setIsModalOpen(false);\n setCoordinates(ZERO);\n (_a = internalState.disposeOnKeyUp) === null || _a === void 0 ? void 0 : _a.call(internalState);\n onDismissed === null || onDismissed === void 0 ? void 0 : onDismissed();\n };\n var handleDragStart = React.useCallback(function () {\n setModalMenuClose();\n internalState.isInKeyboardMoveMode = false;\n }, [internalState, setModalMenuClose]);\n var handleDrag = React.useCallback(function (ev, dragData) {\n setCoordinates(function (prevValue) { return ({\n x: getClampedAxis('x', prevValue.x + dragData.delta.x),\n y: getClampedAxis('y', prevValue.y + dragData.delta.y),\n }); });\n }, [getClampedAxis]);\n var handleDragStop = React.useCallback(function () {\n if (focusTrapZone.current) {\n focusTrapZone.current.focus();\n }\n }, []);\n var handleEnterKeyboardMoveMode = function () {\n // We need a global handleKeyDown event when we are in the move mode so that we can\n // handle the key presses and the components inside the modal do not get the events\n var handleKeyDown = function (ev) {\n // eslint-disable-next-line deprecation/deprecation\n if (ev.altKey && ev.ctrlKey && ev.keyCode === KeyCodes.space) {\n // CTRL + ALT + SPACE is handled during keyUp\n ev.preventDefault();\n ev.stopPropagation();\n return;\n }\n // eslint-disable-next-line deprecation/deprecation\n var newLocal = ev.altKey || ev.keyCode === KeyCodes.escape;\n if (isModalMenuOpen && newLocal) {\n setModalMenuClose();\n }\n // eslint-disable-next-line deprecation/deprecation\n if (internalState.isInKeyboardMoveMode && (ev.keyCode === KeyCodes.escape || ev.keyCode === KeyCodes.enter)) {\n internalState.isInKeyboardMoveMode = false;\n ev.preventDefault();\n ev.stopPropagation();\n }\n if (internalState.isInKeyboardMoveMode) {\n var handledEvent = true;\n var delta_1 = getMoveDelta(ev);\n // eslint-disable-next-line deprecation/deprecation\n switch (ev.keyCode) {\n /* eslint-disable no-fallthrough */\n case KeyCodes.escape:\n setCoordinates(internalState.lastSetCoordinates);\n case KeyCodes.enter: {\n // TODO: determine if fallthrough was intentional\n /* eslint-enable no-fallthrough */\n internalState.lastSetCoordinates = ZERO;\n // setIsInKeyboardMoveMode(false);\n break;\n }\n case KeyCodes.up: {\n setCoordinates(function (prevValue) { return ({ x: prevValue.x, y: getClampedAxis('y', prevValue.y - delta_1) }); });\n break;\n }\n case KeyCodes.down: {\n setCoordinates(function (prevValue) { return ({ x: prevValue.x, y: getClampedAxis('y', prevValue.y + delta_1) }); });\n break;\n }\n case KeyCodes.left: {\n setCoordinates(function (prevValue) { return ({ x: getClampedAxis('x', prevValue.x - delta_1), y: prevValue.y }); });\n break;\n }\n case KeyCodes.right: {\n setCoordinates(function (prevValue) { return ({ x: getClampedAxis('x', prevValue.x + delta_1), y: prevValue.y }); });\n break;\n }\n default: {\n handledEvent = false;\n }\n }\n if (handledEvent) {\n ev.preventDefault();\n ev.stopPropagation();\n }\n }\n };\n internalState.lastSetCoordinates = coordinates;\n setModalMenuClose();\n internalState.isInKeyboardMoveMode = true;\n internalState.events.on(win, 'keydown', handleKeyDown, true /* useCapture */);\n internalState.disposeOnKeyDown = function () {\n internalState.events.off(win, 'keydown', handleKeyDown, true /* useCapture */);\n internalState.disposeOnKeyDown = undefined;\n };\n };\n var handleExitKeyboardMoveMode = function (ev) {\n var _a, _b;\n (_a = focusTrapZoneProps === null || focusTrapZoneProps === void 0 ? void 0 : focusTrapZoneProps.onBlur) === null || _a === void 0 ? void 0 : _a.call(focusTrapZoneProps, ev);\n internalState.lastSetCoordinates = ZERO;\n internalState.isInKeyboardMoveMode = false;\n (_b = internalState.disposeOnKeyDown) === null || _b === void 0 ? void 0 : _b.call(internalState);\n };\n var registerForKeyUp = function () {\n var handleKeyUp = function (ev) {\n // Needs to handle the CTRL + ALT + SPACE key during keyup due to FireFox bug:\n // https://bugzilla.mozilla.org/show_bug.cgi?id=1220143\n // eslint-disable-next-line deprecation/deprecation\n if (ev.altKey && ev.ctrlKey && ev.keyCode === KeyCodes.space) {\n if (elementContains(internalState.scrollableContent, ev.target)) {\n toggleModalMenuOpen();\n ev.preventDefault();\n ev.stopPropagation();\n }\n }\n };\n if (!internalState.disposeOnKeyUp) {\n internalState.events.on(win, 'keyup', handleKeyUp, true /* useCapture */);\n internalState.disposeOnKeyUp = function () {\n internalState.events.off(win, 'keyup', handleKeyUp, true /* useCapture */);\n internalState.disposeOnKeyUp = undefined;\n };\n }\n };\n React.useEffect(function () {\n clearTimeout(internalState.onModalCloseTimer);\n // Opening the dialog\n if (isOpen) {\n // This must be done after the modal content has rendered\n requestAnimationFrame(function () { return setTimeout(registerInitialModalPosition, 0); });\n setIsModalOpen(true);\n // Add a keyUp handler for all key up events once the dialog is open.\n if (dragOptions) {\n registerForKeyUp();\n }\n internalState.hasBeenOpened = true;\n setIsVisible(true);\n }\n // Closing the dialog\n if (!isOpen && isModalOpen) {\n internalState.onModalCloseTimer = setTimeout(handleModalClose, parseFloat(animationDuration) * 1000);\n setIsVisible(false);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps -- should only run if isModalOpen or isOpen mutates.\n }, [isModalOpen, isOpen]);\n useUnmount(function () {\n internalState.events.dispose();\n });\n useComponentRef(props, focusTrapZone);\n useDebugWarnings(props);\n var modalContent = (React.createElement(FocusTrapZone, __assign({}, focusTrapZoneProps, { id: focusTrapZoneId, ref: focusTrapZoneElm, componentRef: focusTrapZoneRef, className: css(classNames.main, focusTrapZoneProps === null || focusTrapZoneProps === void 0 ? void 0 : focusTrapZoneProps.className), elementToFocusOnDismiss: (_a = focusTrapZoneProps === null || focusTrapZoneProps === void 0 ? void 0 : focusTrapZoneProps.elementToFocusOnDismiss) !== null && _a !== void 0 ? _a : elementToFocusOnDismiss, isClickableOutsideFocusTrap: (_b = focusTrapZoneProps === null || focusTrapZoneProps === void 0 ? void 0 : focusTrapZoneProps.isClickableOutsideFocusTrap) !== null && _b !== void 0 ? _b : (isModeless || isClickableOutsideFocusTrap || !isBlocking), disableRestoreFocus: (_c = focusTrapZoneProps === null || focusTrapZoneProps === void 0 ? void 0 : focusTrapZoneProps.disableRestoreFocus) !== null && _c !== void 0 ? _c : disableRestoreFocus, forceFocusInsideTrap: ((_d = focusTrapZoneProps === null || focusTrapZoneProps === void 0 ? void 0 : focusTrapZoneProps.forceFocusInsideTrap) !== null && _d !== void 0 ? _d : forceFocusInsideTrap) && !isModeless, \n // eslint-disable-next-line deprecation/deprecation\n firstFocusableSelector: (focusTrapZoneProps === null || focusTrapZoneProps === void 0 ? void 0 : focusTrapZoneProps.firstFocusableSelector) || firstFocusableSelector, focusPreviouslyFocusedInnerElement: (_e = focusTrapZoneProps === null || focusTrapZoneProps === void 0 ? void 0 : focusTrapZoneProps.focusPreviouslyFocusedInnerElement) !== null && _e !== void 0 ? _e : true, onBlur: internalState.isInKeyboardMoveMode ? handleExitKeyboardMoveMode : undefined }),\n dragOptions && internalState.isInKeyboardMoveMode && (React.createElement(\"div\", { className: classNames.keyboardMoveIconContainer }, dragOptions.keyboardMoveIconProps ? (React.createElement(Icon, __assign({}, dragOptions.keyboardMoveIconProps))) : (React.createElement(Icon, { iconName: \"move\", className: classNames.keyboardMoveIcon })))),\n React.createElement(\"div\", { ref: allowScrollOnModal, className: classNames.scrollableContent, \"data-is-scrollable\": true },\n dragOptions && isModalMenuOpen && (React.createElement(dragOptions.menu, { items: [\n { key: 'move', text: dragOptions.moveMenuItemText, onClick: handleEnterKeyboardMoveMode },\n { key: 'close', text: dragOptions.closeMenuItemText, onClick: handleModalClose },\n ], onDismiss: setModalMenuClose, alignTargetEdge: true, coverTarget: true, directionalHint: DirectionalHint.topLeftEdge, directionalHintFixed: true, shouldFocusOnMount: true, target: internalState.scrollableContent })),\n children)));\n return ((isModalOpen && modalResponsiveMode >= (responsiveMode || ResponsiveMode.small) && (React.createElement(Layer, __assign({ ref: mergedRef }, mergedLayerProps),\n React.createElement(Popup, __assign({ role: isAlertRole ? 'alertdialog' : 'dialog', ariaLabelledBy: titleAriaId, ariaDescribedBy: subtitleAriaId, onDismiss: onDismiss, shouldRestoreFocus: !disableRestoreFocus, \n // Modeless modals shouldn't hide siblings.\n // Popup will automatically handle this based on the aria-modal setting.\n enableAriaHiddenSiblings: enableAriaHiddenSiblings, \"aria-modal\": !isModeless }, popupProps),\n React.createElement(\"div\", { className: classNames.root, role: !isModeless ? 'document' : undefined },\n !isModeless && (React.createElement(Overlay, __assign({ \"aria-hidden\": true, isDarkThemed: isDarkOverlay, onClick: isBlocking ? undefined : onDismiss, allowTouchBodyScroll: allowTouchBodyScroll }, overlay))),\n dragOptions ? (React.createElement(DraggableZone, { handleSelector: dragOptions.dragHandleSelector || \"#\".concat(focusTrapZoneId), preventDragSelector: \"button\", onStart: handleDragStart, onDragChange: handleDrag, onStop: handleDragStop, position: coordinates }, modalContent)) : (modalContent)))))) ||\n null);\n});\nModalBase.displayName = 'Modal';\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: 'Modal',\n props: props,\n deprecations: { onLayerDidMount: 'layerProps.onLayerDidMount' },\n });\n }\n}\n//# sourceMappingURL=Modal.base.js.map","import { styled } from '../../Utilities';\nimport { ModalBase } from './Modal.base';\nimport { getStyles } from './Modal.styles';\nexport var Modal = styled(ModalBase, getStyles, undefined, {\n scope: 'Modal',\n fields: ['theme', 'styles', 'enableAriaHiddenSiblings'],\n});\nModal.displayName = 'Modal';\n//# sourceMappingURL=Modal.js.map","import { __assign, __decorate, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { classNamesFunction, css, warnDeprecations, initializeComponentRef } from '../../Utilities';\nimport { DialogType } from './DialogContent.types';\nimport { IconButton } from '../../Button';\nimport { DialogFooter } from './DialogFooter';\nimport { withResponsiveMode } from '../../ResponsiveMode';\nvar getClassNames = classNamesFunction();\nvar DialogFooterType = (React.createElement(DialogFooter, null)).type;\nvar COMPONENT_NAME = 'DialogContent';\n// eslint-disable-next-line deprecation/deprecation\nvar DialogContentBase = /** @class */ (function (_super) {\n __extends(DialogContentBase, _super);\n function DialogContentBase(props) {\n var _this = _super.call(this, props) || this;\n initializeComponentRef(_this);\n warnDeprecations(COMPONENT_NAME, props, {\n titleId: 'titleProps.id',\n });\n return _this;\n }\n DialogContentBase.prototype.render = function () {\n var _a = this.props, showCloseButton = _a.showCloseButton, className = _a.className, closeButtonAriaLabel = _a.closeButtonAriaLabel, onDismiss = _a.onDismiss, subTextId = _a.subTextId, subText = _a.subText, _b = _a.titleProps, titleProps = _b === void 0 ? {} : _b, \n // eslint-disable-next-line deprecation/deprecation\n titleId = _a.titleId, title = _a.title, type = _a.type, styles = _a.styles, theme = _a.theme, draggableHeaderClassName = _a.draggableHeaderClassName;\n var classNames = getClassNames(styles, {\n theme: theme,\n className: className,\n isLargeHeader: type === DialogType.largeHeader,\n isClose: type === DialogType.close,\n draggableHeaderClassName: draggableHeaderClassName,\n });\n var groupings = this._groupChildren();\n var subTextContent;\n if (subText) {\n subTextContent = (React.createElement(\"p\", { className: classNames.subText, id: subTextId }, subText));\n }\n return (React.createElement(\"div\", { className: classNames.content },\n React.createElement(\"div\", { className: classNames.header },\n React.createElement(\"div\", __assign({ id: titleId, role: \"heading\", \"aria-level\": 1 }, titleProps, { className: css(classNames.title, titleProps.className) }), title),\n React.createElement(\"div\", { className: classNames.topButton },\n this.props.topButtonsProps.map(function (props, index) { return (React.createElement(IconButton, __assign({ key: props.uniqueId || index }, props))); }),\n (type === DialogType.close || (showCloseButton && type !== DialogType.largeHeader)) && (React.createElement(IconButton, { className: classNames.button, iconProps: { iconName: 'Cancel' }, ariaLabel: closeButtonAriaLabel, onClick: onDismiss })))),\n React.createElement(\"div\", { className: classNames.inner },\n React.createElement(\"div\", { className: classNames.innerContent },\n subTextContent,\n groupings.contents),\n groupings.footers)));\n };\n // @TODO - typing the footers as an array of DialogFooter is difficult because\n // casing \"child as DialogFooter\" causes a problem because\n // \"Neither type 'ReactElement' nor type 'DialogFooter' is assignable to the other.\"\n DialogContentBase.prototype._groupChildren = function () {\n var groupings = {\n footers: [],\n contents: [],\n };\n React.Children.map(this.props.children, function (child) {\n if (typeof child === 'object' && child !== null && child.type === DialogFooterType) {\n groupings.footers.push(child);\n }\n else {\n groupings.contents.push(child);\n }\n });\n return groupings;\n };\n DialogContentBase.defaultProps = {\n showCloseButton: false,\n className: '',\n topButtonsProps: [],\n closeButtonAriaLabel: 'Close',\n };\n DialogContentBase = __decorate([\n withResponsiveMode\n ], DialogContentBase);\n return DialogContentBase;\n}(React.Component));\nexport { DialogContentBase };\n//# sourceMappingURL=DialogContent.base.js.map","import { FontWeights, getGlobalClassNames, IconFontSizes, ScreenWidthMinSmall, ScreenWidthMaxSmall, } from '../../Styling';\nvar GlobalClassNames = {\n contentLgHeader: 'ms-Dialog-lgHeader',\n close: 'ms-Dialog--close',\n subText: 'ms-Dialog-subText',\n header: 'ms-Dialog-header',\n headerLg: 'ms-Dialog--lgHeader',\n button: 'ms-Dialog-button ms-Dialog-button--close',\n inner: 'ms-Dialog-inner',\n content: 'ms-Dialog-content',\n title: 'ms-Dialog-title',\n};\nexport var getStyles = function (props) {\n var _a, _b, _c;\n var className = props.className, theme = props.theme, isLargeHeader = props.isLargeHeader, isClose = props.isClose, hidden = props.hidden, isMultiline = props.isMultiline, draggableHeaderClassName = props.draggableHeaderClassName;\n var palette = theme.palette, fonts = theme.fonts, effects = theme.effects, semanticColors = theme.semanticColors;\n var classNames = getGlobalClassNames(GlobalClassNames, theme);\n return {\n content: [\n isLargeHeader && [\n classNames.contentLgHeader,\n {\n borderTop: \"4px solid \".concat(palette.themePrimary),\n },\n ],\n isClose && classNames.close,\n {\n flexGrow: 1,\n overflowY: 'hidden', // required for allowScrollOnElement\n },\n className,\n ],\n subText: [\n classNames.subText,\n fonts.medium,\n {\n margin: '0 0 24px 0',\n color: semanticColors.bodySubtext,\n lineHeight: '1.5',\n wordWrap: 'break-word',\n fontWeight: FontWeights.regular,\n },\n ],\n header: [\n classNames.header,\n {\n position: 'relative',\n width: '100%',\n boxSizing: 'border-box',\n },\n isClose && classNames.close,\n draggableHeaderClassName && [\n draggableHeaderClassName,\n {\n cursor: 'move',\n },\n ],\n ],\n button: [\n classNames.button,\n hidden && {\n selectors: {\n '.ms-Icon.ms-Icon--Cancel': {\n color: semanticColors.buttonText,\n fontSize: IconFontSizes.medium,\n },\n },\n },\n ],\n inner: [\n classNames.inner,\n {\n padding: '0 24px 24px',\n selectors: (_a = {},\n _a[\"@media (min-width: \".concat(ScreenWidthMinSmall, \"px) and (max-width: \").concat(ScreenWidthMaxSmall, \"px)\")] = {\n padding: '0 16px 16px',\n },\n _a),\n },\n ],\n innerContent: [\n classNames.content,\n {\n position: 'relative',\n width: '100%',\n },\n ],\n title: [\n classNames.title,\n fonts.xLarge,\n {\n color: semanticColors.bodyText,\n margin: '0',\n minHeight: fonts.xLarge.fontSize,\n padding: '16px 46px 20px 24px',\n lineHeight: 'normal',\n selectors: (_b = {},\n _b[\"@media (min-width: \".concat(ScreenWidthMinSmall, \"px) and (max-width: \").concat(ScreenWidthMaxSmall, \"px)\")] = {\n padding: '16px 46px 16px 16px',\n },\n _b),\n },\n isLargeHeader && {\n color: semanticColors.menuHeader,\n },\n isMultiline && { fontSize: fonts.xxLarge.fontSize },\n ],\n topButton: [\n {\n display: 'flex',\n flexDirection: 'row',\n flexWrap: 'nowrap',\n position: 'absolute',\n top: '0',\n right: '0',\n padding: '15px 15px 0 0',\n selectors: (_c = {\n '> *': {\n flex: '0 0 auto',\n },\n '.ms-Dialog-button': {\n color: semanticColors.buttonText,\n },\n '.ms-Dialog-button:hover': {\n color: semanticColors.buttonTextHovered,\n borderRadius: effects.roundedCorner2,\n }\n },\n _c[\"@media (min-width: \".concat(ScreenWidthMinSmall, \"px) and (max-width: \").concat(ScreenWidthMaxSmall, \"px)\")] = {\n padding: '15px 8px 0 0',\n },\n _c),\n },\n ],\n };\n};\n//# sourceMappingURL=DialogContent.styles.js.map","import { styled } from '../../Utilities';\nimport { DialogContentBase } from './DialogContent.base';\nimport { getStyles } from './DialogContent.styles';\nexport var DialogContent = styled(DialogContentBase, getStyles, undefined, { scope: 'DialogContent' });\n//# sourceMappingURL=DialogContent.js.map","import { __assign, __decorate, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { warnDeprecations, classNamesFunction, getId } from '../../Utilities';\nimport { DialogType } from './DialogContent.types';\nimport { Modal } from '../../Modal';\nimport { withResponsiveMode } from '../../ResponsiveMode';\nvar getClassNames = classNamesFunction();\nimport { DialogContent } from './DialogContent';\nvar DefaultModalProps = {\n isDarkOverlay: false,\n isBlocking: false,\n className: '',\n containerClassName: '',\n topOffsetFixed: false,\n enableAriaHiddenSiblings: true,\n};\nvar DefaultDialogContentProps = {\n type: DialogType.normal,\n className: '',\n topButtonsProps: [],\n};\n// eslint-disable-next-line deprecation/deprecation\nvar DialogBase = /** @class */ (function (_super) {\n __extends(DialogBase, _super);\n function DialogBase(props) {\n var _this = _super.call(this, props) || this;\n _this._getSubTextId = function () {\n // eslint-disable-next-line deprecation/deprecation\n var _a = _this.props, ariaDescribedById = _a.ariaDescribedById, modalProps = _a.modalProps, dialogContentProps = _a.dialogContentProps, subText = _a.subText;\n var id = (modalProps && modalProps.subtitleAriaId) || ariaDescribedById;\n if (!id) {\n id = ((dialogContentProps && dialogContentProps.subText) || subText) && _this._defaultSubTextId;\n }\n return id;\n };\n _this._getTitleTextId = function () {\n // eslint-disable-next-line deprecation/deprecation\n var _a = _this.props, ariaLabelledById = _a.ariaLabelledById, modalProps = _a.modalProps, dialogContentProps = _a.dialogContentProps, title = _a.title;\n var id = (modalProps && modalProps.titleAriaId) || ariaLabelledById;\n if (!id) {\n id = ((dialogContentProps && dialogContentProps.title) || title) && _this._defaultTitleTextId;\n }\n return id;\n };\n _this._id = getId('Dialog');\n _this._defaultTitleTextId = _this._id + '-title';\n _this._defaultSubTextId = _this._id + '-subText';\n if (process.env.NODE_ENV !== 'production') {\n warnDeprecations('Dialog', props, {\n isOpen: 'hidden',\n type: 'dialogContentProps.type',\n subText: 'dialogContentProps.subText',\n contentClassName: 'dialogContentProps.className',\n topButtonsProps: 'dialogContentProps.topButtonsProps',\n className: 'modalProps.className',\n isDarkOverlay: 'modalProps.isDarkOverlay',\n isBlocking: 'modalProps.isBlocking',\n containerClassName: 'modalProps.containerClassName',\n onDismissed: 'modalProps.onDismissed',\n onLayerDidMount: 'modalProps.layerProps.onLayerDidMount',\n ariaDescribedById: 'modalProps.subtitleAriaId',\n ariaLabelledById: 'modalProps.titleAriaId',\n });\n }\n return _this;\n }\n DialogBase.prototype.render = function () {\n var _a, _b, _c;\n var props = this.props;\n var \n /* eslint-disable deprecation/deprecation */\n className = props.className, containerClassName = props.containerClassName, contentClassName = props.contentClassName, elementToFocusOnDismiss = props.elementToFocusOnDismiss, firstFocusableSelector = props.firstFocusableSelector, forceFocusInsideTrap = props.forceFocusInsideTrap, styles = props.styles, hidden = props.hidden, _d = props.disableRestoreFocus, disableRestoreFocus = _d === void 0 ? props.ignoreExternalFocusing : _d, isBlocking = props.isBlocking, isClickableOutsideFocusTrap = props.isClickableOutsideFocusTrap, isDarkOverlay = props.isDarkOverlay, _e = props.isOpen, isOpen = _e === void 0 ? !hidden : _e, onDismiss = props.onDismiss, onDismissed = props.onDismissed, onLayerDidMount = props.onLayerDidMount, responsiveMode = props.responsiveMode, subText = props.subText, theme = props.theme, title = props.title, topButtonsProps = props.topButtonsProps, type = props.type, \n /* eslint-enable deprecation/deprecation */\n minWidth = props.minWidth, maxWidth = props.maxWidth, modalProps = props.modalProps;\n var mergedLayerProps = __assign({ onLayerDidMount: onLayerDidMount }, modalProps === null || modalProps === void 0 ? void 0 : modalProps.layerProps);\n var dialogDraggableClassName;\n var dragOptions;\n // If dragOptions are provided, but no drag handle is specified, we supply a drag handle,\n // and inform dialog contents to add class to draggable class to the header\n if ((modalProps === null || modalProps === void 0 ? void 0 : modalProps.dragOptions) && !((_a = modalProps.dragOptions) === null || _a === void 0 ? void 0 : _a.dragHandleSelector)) {\n // spread options to avoid mutating props\n dragOptions = __assign({}, modalProps.dragOptions);\n dialogDraggableClassName = 'ms-Dialog-draggable-header';\n dragOptions.dragHandleSelector = \".\".concat(dialogDraggableClassName);\n }\n var mergedModalProps = __assign(__assign(__assign(__assign({}, DefaultModalProps), { elementToFocusOnDismiss: elementToFocusOnDismiss, firstFocusableSelector: firstFocusableSelector, forceFocusInsideTrap: forceFocusInsideTrap, disableRestoreFocus: disableRestoreFocus, isClickableOutsideFocusTrap: isClickableOutsideFocusTrap, responsiveMode: responsiveMode, className: className, containerClassName: containerClassName, isBlocking: isBlocking, isDarkOverlay: isDarkOverlay, onDismissed: onDismissed }), modalProps), { dragOptions: dragOptions, layerProps: mergedLayerProps, isOpen: isOpen });\n var dialogContentProps = __assign(__assign(__assign({ className: contentClassName, subText: subText, title: title, topButtonsProps: topButtonsProps, type: type }, DefaultDialogContentProps), props.dialogContentProps), { draggableHeaderClassName: dialogDraggableClassName, titleProps: __assign({ \n // eslint-disable-next-line deprecation/deprecation\n id: ((_b = props.dialogContentProps) === null || _b === void 0 ? void 0 : _b.titleId) || this._defaultTitleTextId }, (_c = props.dialogContentProps) === null || _c === void 0 ? void 0 : _c.titleProps) });\n var classNames = getClassNames(styles, {\n theme: theme,\n className: mergedModalProps.className,\n containerClassName: mergedModalProps.containerClassName,\n hidden: hidden,\n dialogDefaultMinWidth: minWidth,\n dialogDefaultMaxWidth: maxWidth,\n });\n return (React.createElement(Modal, __assign({}, mergedModalProps, { className: classNames.root, containerClassName: classNames.main, onDismiss: onDismiss || mergedModalProps.onDismiss, subtitleAriaId: this._getSubTextId(), titleAriaId: this._getTitleTextId() }),\n React.createElement(DialogContent, __assign({ subTextId: this._defaultSubTextId, showCloseButton: mergedModalProps.isBlocking, onDismiss: onDismiss }, dialogContentProps), props.children)));\n };\n DialogBase.defaultProps = {\n hidden: true,\n };\n DialogBase = __decorate([\n withResponsiveMode\n ], DialogBase);\n return DialogBase;\n}(React.Component));\nexport { DialogBase };\n//# sourceMappingURL=Dialog.base.js.map","import { ScreenWidthMinMedium, getGlobalClassNames } from '../../Styling';\nvar GlobalClassNames = {\n root: 'ms-Dialog',\n};\nexport var getStyles = function (props) {\n var _a;\n var className = props.className, containerClassName = props.containerClassName, // eslint-disable-line deprecation/deprecation\n _b = props.dialogDefaultMinWidth, // eslint-disable-line deprecation/deprecation\n dialogDefaultMinWidth = _b === void 0 ? '288px' : _b, _c = props.dialogDefaultMaxWidth, dialogDefaultMaxWidth = _c === void 0 ? '340px' : _c, hidden = props.hidden, theme = props.theme;\n var classNames = getGlobalClassNames(GlobalClassNames, theme);\n return {\n root: [classNames.root, theme.fonts.medium, className],\n main: [\n {\n width: dialogDefaultMinWidth,\n outline: '3px solid transparent',\n selectors: (_a = {},\n _a[\"@media (min-width: \".concat(ScreenWidthMinMedium, \"px)\")] = {\n width: 'auto',\n maxWidth: dialogDefaultMaxWidth,\n minWidth: dialogDefaultMinWidth,\n },\n _a),\n },\n !hidden && { display: 'flex' },\n containerClassName,\n ],\n };\n};\n//# sourceMappingURL=Dialog.styles.js.map","import { styled } from '../../Utilities';\nimport { DialogBase } from './Dialog.base';\nimport { getStyles } from './Dialog.styles';\nexport var Dialog = styled(DialogBase, getStyles, undefined, { scope: 'Dialog' });\nDialog.displayName = 'Dialog';\n//# sourceMappingURL=Dialog.js.map","/**\n * {@docCategory Dialog}\n */\nexport var DialogType;\n(function (DialogType) {\n /** Standard dialog */\n DialogType[DialogType[\"normal\"] = 0] = \"normal\";\n /** Dialog with large header banner */\n DialogType[DialogType[\"largeHeader\"] = 1] = \"largeHeader\";\n /** Dialog with an 'x' close button in the upper-right corner */\n DialogType[DialogType[\"close\"] = 2] = \"close\";\n})(DialogType || (DialogType = {}));\n//# sourceMappingURL=DialogContent.types.js.map","import { __extends } from \"tslib\";\nimport * as React from 'react';\nimport { classNamesFunction, initializeComponentRef } from '../../Utilities';\nvar getClassNames = classNamesFunction();\nvar DialogFooterBase = /** @class */ (function (_super) {\n __extends(DialogFooterBase, _super);\n function DialogFooterBase(props) {\n var _this = _super.call(this, props) || this;\n initializeComponentRef(_this);\n return _this;\n }\n DialogFooterBase.prototype.render = function () {\n var _a = this.props, className = _a.className, styles = _a.styles, theme = _a.theme;\n this._classNames = getClassNames(styles, {\n theme: theme,\n className: className,\n });\n return (React.createElement(\"div\", { className: this._classNames.actions },\n React.createElement(\"div\", { className: this._classNames.actionsRight }, this._renderChildrenAsActions())));\n };\n DialogFooterBase.prototype._renderChildrenAsActions = function () {\n var _this = this;\n return React.Children.map(this.props.children, function (child) {\n return child ? React.createElement(\"span\", { className: _this._classNames.action }, child) : null;\n });\n };\n return DialogFooterBase;\n}(React.Component));\nexport { DialogFooterBase };\n//# sourceMappingURL=DialogFooter.base.js.map","import { getGlobalClassNames } from '../../Styling';\nvar GlobalClassNames = {\n actions: 'ms-Dialog-actions',\n action: 'ms-Dialog-action',\n actionsRight: 'ms-Dialog-actionsRight',\n};\nexport var getStyles = function (props) {\n var className = props.className, theme = props.theme;\n var classNames = getGlobalClassNames(GlobalClassNames, theme);\n return {\n actions: [\n classNames.actions,\n {\n position: 'relative',\n width: '100%',\n minHeight: '24px',\n lineHeight: '24px',\n margin: '16px 0 0',\n fontSize: '0',\n selectors: {\n '.ms-Button': {\n lineHeight: 'normal',\n verticalAlign: 'middle',\n },\n },\n },\n className,\n ],\n action: [\n classNames.action,\n {\n margin: '0 4px',\n },\n ],\n actionsRight: [\n classNames.actionsRight,\n {\n alignItems: 'center',\n display: 'flex',\n fontSize: '0',\n justifyContent: 'flex-end',\n marginRight: '-4px',\n },\n ],\n };\n};\n//# sourceMappingURL=DialogFooter.styles.js.map","import { styled } from '../../Utilities';\nimport { DialogFooterBase } from './DialogFooter.base';\nimport { getStyles } from './DialogFooter.styles';\nexport var DialogFooter = styled(DialogFooterBase, getStyles, undefined, { scope: 'DialogFooter' });\n//# sourceMappingURL=DialogFooter.js.map","import * as React from 'react';\nimport { useConst } from './useConst';\nimport { useIsomorphicLayoutEffect } from '@fluentui/utilities';\n/**\n * Modified `useCallback` that returns the same function reference every time, but internally calls\n * the most-recently passed callback implementation. Can be useful in situations such as:\n * - Event handler dependencies change too frequently, such as user props which might change on\n * every render, or volatile values such as useState/useDispatch\n * - Callback must be referenced in a captured context (such as a window event handler or unmount\n * handler that's registered once) but needs access to the latest props\n *\n * In general, prefer `useCallback` unless you've encountered one of the problems above.\n *\n * https://reactjs.org/docs/hooks-faq.html#how-to-read-an-often-changing-value-from-usecallback\n *\n * @param fn - The callback function that will be used\n * @returns A function which is referentially stable but internally calls the most recently passed callback\n */\nexport function useEventCallback(fn) {\n var callbackRef = React.useRef(function () {\n throw new Error('Cannot call an event handler while rendering');\n });\n useIsomorphicLayoutEffect(function () {\n callbackRef.current = fn;\n }, [fn]);\n // useConst rather than useCallback to ensure the reference is always stable\n // (useCallback's deps list is an optimization, not a guarantee)\n return useConst(function () { return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var callback = callbackRef.current;\n return callback.apply(void 0, args);\n }; });\n}\n//# sourceMappingURL=useEventCallback.js.map","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { elementContains, getNativeProps, divProperties, getFirstTabbable, getLastTabbable, getNextElement, focusAsync, getPropsWithDefaults, modalize, on, } from '../../Utilities';\nimport { useId, useConst, useMergedRefs, useEventCallback, usePrevious, useUnmount } from '@fluentui/react-hooks';\nimport { useDocument } from '../../WindowProvider';\nvar COMPONENT_NAME = 'FocusTrapZone';\nvar DEFAULT_PROPS = {\n disabled: false,\n disableFirstFocus: false,\n forceFocusInsideTrap: true,\n isClickableOutsideFocusTrap: false,\n};\nvar useComponentRef = function (componentRef, previouslyFocusedElement, focusFTZ) {\n React.useImperativeHandle(componentRef, function () { return ({\n get previouslyFocusedElement() {\n return previouslyFocusedElement;\n },\n focus: focusFTZ,\n }); }, [focusFTZ, previouslyFocusedElement]);\n};\nexport var FocusTrapZone = React.forwardRef(function (propsWithoutDefaults, ref) {\n var _a;\n var root = React.useRef(null);\n var firstBumper = React.useRef(null);\n var lastBumper = React.useRef(null);\n var mergedRootRef = useMergedRefs(root, ref);\n var doc = useDocument();\n var isFirstRender = (_a = usePrevious(false)) !== null && _a !== void 0 ? _a : true;\n var props = getPropsWithDefaults(DEFAULT_PROPS, propsWithoutDefaults);\n var internalState = useConst({\n hasFocus: false,\n focusStackId: useId('ftz-', props.id),\n });\n var children = props.children, componentRef = props.componentRef, disabled = props.disabled, disableFirstFocus = props.disableFirstFocus, forceFocusInsideTrap = props.forceFocusInsideTrap, focusPreviouslyFocusedInnerElement = props.focusPreviouslyFocusedInnerElement, \n // eslint-disable-next-line deprecation/deprecation\n firstFocusableSelector = props.firstFocusableSelector, firstFocusableTarget = props.firstFocusableTarget, \n // eslint-disable-next-line deprecation/deprecation\n _b = props.disableRestoreFocus, \n // eslint-disable-next-line deprecation/deprecation\n disableRestoreFocus = _b === void 0 ? props.ignoreExternalFocusing : _b, isClickableOutsideFocusTrap = props.isClickableOutsideFocusTrap, enableAriaHiddenSiblings = props.enableAriaHiddenSiblings;\n var bumperProps = {\n 'aria-hidden': true,\n style: {\n pointerEvents: 'none',\n position: 'fixed', // 'fixed' prevents browsers from scrolling to bumpers when viewport does not contain them\n },\n tabIndex: disabled ? -1 : 0,\n 'data-is-visible': true,\n 'data-is-focus-trap-zone-bumper': true,\n };\n var focusElementAsync = React.useCallback(function (element) {\n if (element !== firstBumper.current && element !== lastBumper.current) {\n focusAsync(element);\n }\n }, []);\n /**\n * Callback to force focus into FTZ (named to avoid overlap with global focus() callback).\n * useEventCallback always returns the same callback reference but updates the implementation\n * every render to avoid stale captured values.\n */\n var focusFTZ = useEventCallback(function () {\n if (!root.current) {\n return; // not done mounting\n }\n var previouslyFocusedElementInTrapZone = internalState.previouslyFocusedElementInTrapZone;\n if (focusPreviouslyFocusedInnerElement &&\n previouslyFocusedElementInTrapZone &&\n elementContains(root.current, previouslyFocusedElementInTrapZone)) {\n // focus on the last item that had focus in the zone before we left the zone\n focusElementAsync(previouslyFocusedElementInTrapZone);\n return;\n }\n var firstFocusableChild = null;\n if (typeof firstFocusableTarget === 'string') {\n firstFocusableChild = root.current.querySelector(firstFocusableTarget);\n }\n else if (firstFocusableTarget) {\n firstFocusableChild = firstFocusableTarget(root.current);\n }\n else if (firstFocusableSelector) {\n var focusSelector = typeof firstFocusableSelector === 'string' ? firstFocusableSelector : firstFocusableSelector();\n firstFocusableChild = root.current.querySelector('.' + focusSelector);\n }\n // Fall back to first element if query selector did not match any elements.\n if (!firstFocusableChild) {\n firstFocusableChild = getNextElement(root.current, root.current.firstChild, false, false, false, true);\n }\n if (firstFocusableChild) {\n focusElementAsync(firstFocusableChild);\n }\n });\n /** Used in root div focus/blur handlers */\n var focusBumper = function (isFirstBumper) {\n if (disabled || !root.current) {\n return;\n }\n var nextFocusable = isFirstBumper === internalState.hasFocus\n ? getLastTabbable(root.current, lastBumper.current, true, false)\n : getFirstTabbable(root.current, firstBumper.current, true, false);\n if (nextFocusable) {\n if (nextFocusable === firstBumper.current || nextFocusable === lastBumper.current) {\n // This can happen when FTZ contains no tabbable elements.\n // focusFTZ() will take care of finding a focusable element in FTZ.\n focusFTZ();\n }\n else {\n nextFocusable.focus();\n }\n }\n };\n /** Root div blur handler (doesn't need useCallback since it's for a native element) */\n var onRootBlurCapture = function (ev) {\n var _a;\n (_a = props.onBlurCapture) === null || _a === void 0 ? void 0 : _a.call(props, ev);\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 root\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 = doc.activeElement;\n }\n if (!elementContains(root.current, relatedTarget)) {\n internalState.hasFocus = false;\n }\n };\n /** Root div focus handler (doesn't need useCallback since it's for a native element) */\n var onRootFocusCapture = function (ev) {\n var _a;\n (_a = props.onFocusCapture) === null || _a === void 0 ? void 0 : _a.call(props, ev);\n if (ev.target === firstBumper.current) {\n focusBumper(true);\n }\n else if (ev.target === lastBumper.current) {\n focusBumper(false);\n }\n internalState.hasFocus = true;\n if (ev.target !== ev.currentTarget && !(ev.target === firstBumper.current || ev.target === lastBumper.current)) {\n // every time focus changes within the trap zone, remember the focused element so that\n // it can be restored if focus leaves the pane and returns via keystroke (i.e. via a call to this.focus(true))\n internalState.previouslyFocusedElementInTrapZone = ev.target;\n }\n };\n /** Called to restore focus on unmount or props change. (useEventCallback ensures latest prop values are used.) */\n var returnFocusToInitiator = useEventCallback(function (elementToFocusOnDismiss) {\n FocusTrapZone.focusStack = FocusTrapZone.focusStack.filter(function (value) { return internalState.focusStackId !== value; });\n if (!doc) {\n return;\n }\n var activeElement = doc.activeElement;\n if (!disableRestoreFocus &&\n typeof (elementToFocusOnDismiss === null || elementToFocusOnDismiss === void 0 ? void 0 : elementToFocusOnDismiss.focus) === 'function' &&\n // only restore focus if the current focused element is within the FTZ, or if nothing is focused\n (elementContains(root.current, activeElement) || activeElement === doc.body)) {\n focusElementAsync(elementToFocusOnDismiss);\n }\n });\n /** Called in window event handlers. (useEventCallback ensures latest prop values are used.) */\n var forceFocusOrClickInTrap = useEventCallback(function (ev) {\n // be sure to use the latest values here\n if (disabled) {\n return;\n }\n if (internalState.focusStackId === FocusTrapZone.focusStack.slice(-1)[0]) {\n var targetElement = ev.target;\n if (targetElement && !elementContains(root.current, targetElement)) {\n if (doc && doc.activeElement === doc.body) {\n setTimeout(function () {\n if (doc && doc.activeElement === doc.body) {\n focusFTZ();\n internalState.hasFocus = true; // set focus here since we stop event propagation\n }\n }, 0);\n }\n else {\n focusFTZ();\n internalState.hasFocus = true; // set focus here since we stop event propagation\n }\n ev.preventDefault();\n ev.stopPropagation();\n }\n }\n });\n // Update window event handlers when relevant props change\n React.useEffect(function () {\n var disposables = [];\n if (forceFocusInsideTrap) {\n disposables.push(on(window, 'focus', forceFocusOrClickInTrap, true));\n }\n if (!isClickableOutsideFocusTrap) {\n disposables.push(on(window, 'click', forceFocusOrClickInTrap, true));\n }\n return function () {\n disposables.forEach(function (dispose) { return dispose(); });\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps -- should only run when these two props change\n }, [forceFocusInsideTrap, isClickableOutsideFocusTrap]);\n // On prop change or first render, focus the FTZ and update focusStack if appropriate\n React.useEffect(function () {\n // Do nothing if disabled, or if it's a re-render and forceFocusInsideTrap is false\n // (to match existing behavior, the FTZ handles first focus even if forceFocusInsideTrap\n // is false, though it's debatable whether it should do this)\n if (disabled || (!isFirstRender && !forceFocusInsideTrap) || !root.current) {\n return;\n }\n // Transition from forceFocusInsideTrap / FTZ disabled to enabled (or initial mount)\n FocusTrapZone.focusStack.push(internalState.focusStackId);\n var elementToFocusOnDismiss = props.elementToFocusOnDismiss || doc.activeElement;\n if (!disableFirstFocus && !elementContains(root.current, elementToFocusOnDismiss)) {\n focusFTZ();\n }\n // To match existing behavior, always return focus on cleanup (even if we didn't handle\n // initial focus), but it's debatable whether that's correct\n return function () { return returnFocusToInitiator(elementToFocusOnDismiss); };\n // eslint-disable-next-line react-hooks/exhaustive-deps -- should only run when these two props change\n }, [forceFocusInsideTrap, disabled]);\n // Handle modalization separately from first focus\n React.useEffect(function () {\n if (!disabled && enableAriaHiddenSiblings) {\n var unmodalize = modalize(root.current);\n return unmodalize;\n }\n }, [disabled, enableAriaHiddenSiblings, root]);\n // Cleanup lifecyle method for internalState.\n useUnmount(function () {\n // Dispose of element references so the DOM Nodes can be garbage-collected\n delete internalState.previouslyFocusedElementInTrapZone;\n });\n useComponentRef(componentRef, internalState.previouslyFocusedElementInTrapZone, focusFTZ);\n return (React.createElement(\"div\", __assign({ \"aria-labelledby\": props.ariaLabelledBy }, getNativeProps(props, divProperties), { ref: mergedRootRef, onFocusCapture: onRootFocusCapture, onBlurCapture: onRootBlurCapture }),\n React.createElement(\"div\", __assign({}, bumperProps, { ref: firstBumper })),\n children,\n React.createElement(\"div\", __assign({}, bumperProps, { ref: lastBumper }))));\n});\nFocusTrapZone.displayName = COMPONENT_NAME;\nFocusTrapZone.focusStack = [];\n//# sourceMappingURL=FocusTrapZone.js.map","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { classNames, MS_ICON } from './Icon.styles';\nimport { css, getNativeProps, htmlElementProperties, memoizeFunction } from '../../Utilities';\nimport { getIcon } from '../../Styling';\nexport var getIconContent = memoizeFunction(function (iconName) {\n var _a = getIcon(iconName) || {\n subset: {},\n code: undefined,\n }, code = _a.code, subset = _a.subset;\n if (!code) {\n return null;\n }\n return {\n children: code,\n iconClassName: subset.className,\n fontFamily: subset.fontFace && subset.fontFace.fontFamily,\n mergeImageProps: subset.mergeImageProps,\n };\n}, undefined, true /*ignoreNullOrUndefinedResult */);\n/**\n * Fast icon component which only supports font glyphs (not images) and can't be targeted by customizations.\n * To style the icon, use `className` or reference `ms-Icon` in CSS.\n * {@docCategory Icon}\n */\nexport var FontIcon = function (props) {\n var iconName = props.iconName, className = props.className, _a = props.style, style = _a === void 0 ? {} : _a;\n var iconContent = getIconContent(iconName) || {};\n var iconClassName = iconContent.iconClassName, children = iconContent.children, fontFamily = iconContent.fontFamily, mergeImageProps = iconContent.mergeImageProps;\n var nativeProps = getNativeProps(props, htmlElementProperties);\n var accessibleName = props['aria-label'] || props.title;\n var containerProps = props['aria-label'] || props['aria-labelledby'] || props.title\n ? {\n role: mergeImageProps ? undefined : 'img',\n }\n : {\n 'aria-hidden': true,\n };\n var finalChildren = children;\n if (mergeImageProps) {\n if (typeof children === 'object' && typeof children.props === 'object' && accessibleName) {\n finalChildren = React.cloneElement(children, { alt: accessibleName });\n }\n }\n return (React.createElement(\"i\", __assign({ \"data-icon-name\": iconName }, containerProps, nativeProps, (mergeImageProps\n ? {\n title: undefined,\n 'aria-label': undefined,\n }\n : {}), { className: css(MS_ICON, classNames.root, iconClassName, !iconName && classNames.placeholder, className), \n // Apply the font family this way to ensure it doesn't get overridden by Fabric Core ms-Icon styles\n // https://github.com/microsoft/fluentui/issues/10449\n style: __assign({ fontFamily: fontFamily }, style) }), finalChildren));\n};\n/**\n * Memoized helper for rendering a FontIcon.\n * @param iconName - The name of the icon to use from the icon font.\n * @param className - Class name for styling the icon.\n * @param ariaLabel - Label for the icon for the benefit of screen readers.\n * {@docCategory Icon}\n */\nexport var getFontIcon = memoizeFunction(function (iconName, className, ariaLabel) {\n return FontIcon({ iconName: iconName, className: className, 'aria-label': ariaLabel });\n});\n//# sourceMappingURL=FontIcon.js.map","/**\n * @deprecated Icon type is inferred based on presence of `IIconProps.imageProps`\n * {@docCategory Icon}\n */\nexport var IconType;\n(function (IconType) {\n /**\n * Render using the fabric icon font.\n * @deprecated Icon type is inferred based on presence of `IIconProps.imageProps`\n */\n IconType[IconType[\"default\"] = 0] = \"default\";\n /**\n * Render using an image, where imageProps would be used.\n * @deprecated Icon type is inferred based on presence of `IIconProps.imageProps`\n */\n IconType[IconType[\"image\"] = 1] = \"image\";\n /**\n * @deprecated Icon type is inferred based on presence of `IIconProps.imageProps`\n */\n IconType[IconType[\"Default\"] = 100000] = \"Default\";\n /**\n * @deprecated Icon type is inferred based on presence of `IIconProps.imageProps`\n */\n IconType[IconType[\"Image\"] = 100001] = \"Image\";\n})(IconType || (IconType = {}));\n//# sourceMappingURL=Icon.types.js.map","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { IconType } from './Icon.types';\nimport { Image } from '../Image/Image';\nimport { ImageLoadState } from '../Image/Image.types';\nimport { getNativeProps, htmlElementProperties, classNamesFunction } from '../../Utilities';\nimport { getIconContent } from './FontIcon';\nvar getClassNames = classNamesFunction({\n // Icon is used a lot by other components.\n // It's likely to see expected cases which pass different className to the Icon.\n // Therefore setting a larger cache size.\n cacheSize: 100,\n});\nvar IconBase = /** @class */ (function (_super) {\n __extends(IconBase, _super);\n function IconBase(props) {\n var _this = _super.call(this, props) || this;\n _this._onImageLoadingStateChange = function (state) {\n if (_this.props.imageProps && _this.props.imageProps.onLoadingStateChange) {\n _this.props.imageProps.onLoadingStateChange(state);\n }\n if (state === ImageLoadState.error) {\n _this.setState({ imageLoadError: true });\n }\n };\n _this.state = {\n imageLoadError: false,\n };\n return _this;\n }\n IconBase.prototype.render = function () {\n var _a = this.props, children = _a.children, className = _a.className, styles = _a.styles, iconName = _a.iconName, imageErrorAs = _a.imageErrorAs, theme = _a.theme;\n var isPlaceholder = typeof iconName === 'string' && iconName.length === 0;\n var isImage = \n // eslint-disable-next-line deprecation/deprecation\n !!this.props.imageProps || this.props.iconType === IconType.image || this.props.iconType === IconType.Image;\n var iconContent = getIconContent(iconName) || {};\n var iconClassName = iconContent.iconClassName, iconContentChildren = iconContent.children, mergeImageProps = iconContent.mergeImageProps;\n var classNames = getClassNames(styles, {\n theme: theme,\n className: className,\n iconClassName: iconClassName,\n isImage: isImage,\n isPlaceholder: isPlaceholder,\n });\n var RootType = isImage ? 'span' : 'i';\n var nativeProps = getNativeProps(this.props, htmlElementProperties, [\n 'aria-label',\n ]);\n var imageLoadError = this.state.imageLoadError;\n var imageProps = __assign(__assign({}, this.props.imageProps), { onLoadingStateChange: this._onImageLoadingStateChange });\n var ImageType = (imageLoadError && imageErrorAs) || Image;\n // eslint-disable-next-line deprecation/deprecation\n var ariaLabel = this.props['aria-label'] || this.props.ariaLabel;\n var accessibleName = imageProps.alt || ariaLabel || this.props.title;\n var hasName = !!(accessibleName ||\n this.props['aria-labelledby'] ||\n imageProps['aria-label'] ||\n imageProps['aria-labelledby']);\n var containerProps = hasName\n ? {\n role: isImage || mergeImageProps ? undefined : 'img',\n 'aria-label': isImage || mergeImageProps ? undefined : accessibleName,\n }\n : {\n 'aria-hidden': true,\n };\n var finalIconContentChildren = iconContentChildren;\n if (mergeImageProps && iconContentChildren && typeof iconContentChildren === 'object' && accessibleName) {\n finalIconContentChildren = React.cloneElement(iconContentChildren, {\n alt: accessibleName,\n });\n }\n return (React.createElement(RootType, __assign({ \"data-icon-name\": iconName }, containerProps, nativeProps, (mergeImageProps\n ? {\n title: undefined,\n 'aria-label': undefined,\n }\n : {}), { className: classNames.root }), isImage ? React.createElement(ImageType, __assign({}, imageProps)) : children || finalIconContentChildren));\n };\n return IconBase;\n}(React.Component));\nexport { IconBase };\n//# sourceMappingURL=Icon.base.js.map","import { styled } from '../../Utilities';\nimport { IconBase } from './Icon.base';\nimport { getStyles } from './Icon.styles';\n/**\n * Legacy Icon component which can be targeted by customization. It's recommended to use `FontIcon`\n * or `ImageIcon` instead, especially in scenarios where rendering performance is important.\n * {@docCategory Icon}\n */\nexport var Icon = styled(IconBase, getStyles, undefined, {\n scope: 'Icon',\n}, true);\nIcon.displayName = 'Icon';\n//# sourceMappingURL=Icon.js.map","import { mergeStyleSets } from '../../Styling';\n/** Class names used in themeable and non-themeable Icon components */\nexport var classNames = mergeStyleSets({\n root: {\n display: 'inline-block',\n },\n placeholder: [\n 'ms-Icon-placeHolder',\n {\n width: '1em',\n },\n ],\n image: [\n 'ms-Icon-imageContainer',\n {\n overflow: 'hidden',\n },\n ],\n});\n/** Class name used only in non-themeable Icon components */\nexport var MS_ICON = 'ms-Icon';\nexport var getStyles = function (props) {\n var className = props.className, iconClassName = props.iconClassName, isPlaceholder = props.isPlaceholder, isImage = props.isImage, styles = props.styles;\n return {\n root: [\n isPlaceholder && classNames.placeholder,\n classNames.root,\n isImage && classNames.image,\n iconClassName,\n className,\n styles && styles.root,\n // eslint-disable-next-line deprecation/deprecation\n styles && styles.imageContainer,\n ],\n };\n};\n//# sourceMappingURL=Icon.styles.js.map","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { classNamesFunction, getNativeProps, imgProperties } from '../../Utilities';\nimport { ImageCoverStyle, ImageFit, ImageLoadState } from './Image.types';\nimport { useIsomorphicLayoutEffect, useMergedRefs } from '@fluentui/react-hooks';\nvar getClassNames = classNamesFunction();\nvar SVG_REGEX = /\\.svg$/i;\nvar KEY_PREFIX = 'fabricImage';\nfunction useLoadState(props, imageElement) {\n var onLoadingStateChange = props.onLoadingStateChange, onLoad = props.onLoad, onError = props.onError, src = props.src;\n var _a = React.useState(ImageLoadState.notLoaded), loadState = _a[0], setLoadState = _a[1];\n useIsomorphicLayoutEffect(function () {\n // If the src property changes, reset the load state\n // (does nothing if the load state is already notLoaded)\n setLoadState(ImageLoadState.notLoaded);\n }, [src]);\n // eslint-disable-next-line react-hooks/exhaustive-deps -- intended to run every render\n React.useEffect(function () {\n if (loadState === ImageLoadState.notLoaded) {\n // testing if naturalWidth and naturalHeight are greater than zero is better than checking\n // .complete, because .complete will also be set to true if the image breaks. However,\n // for some browsers, SVG images do not have a naturalWidth or naturalHeight, so fall back\n // to checking .complete for these images.\n var isLoaded = imageElement.current\n ? (src && imageElement.current.naturalWidth > 0 && imageElement.current.naturalHeight > 0) ||\n (imageElement.current.complete && SVG_REGEX.test(src))\n : false;\n if (isLoaded) {\n setLoadState(ImageLoadState.loaded);\n }\n }\n });\n React.useEffect(function () {\n onLoadingStateChange === null || onLoadingStateChange === void 0 ? void 0 : onLoadingStateChange(loadState);\n // eslint-disable-next-line react-hooks/exhaustive-deps -- should only run when loadState changes\n }, [loadState]);\n var onImageLoaded = React.useCallback(function (ev) {\n onLoad === null || onLoad === void 0 ? void 0 : onLoad(ev);\n if (src) {\n setLoadState(ImageLoadState.loaded);\n }\n }, [src, onLoad]);\n var onImageError = React.useCallback(function (ev) {\n onError === null || onError === void 0 ? void 0 : onError(ev);\n setLoadState(ImageLoadState.error);\n }, [onError]);\n return [loadState, onImageLoaded, onImageError];\n}\nexport var ImageBase = React.forwardRef(function (props, forwardedRef) {\n var frameElement = React.useRef();\n var imageElement = React.useRef();\n var _a = useLoadState(props, imageElement), loadState = _a[0], onImageLoaded = _a[1], onImageError = _a[2];\n var imageProps = getNativeProps(props, imgProperties, [\n 'width',\n 'height',\n ]);\n var src = props.src, alt = props.alt, width = props.width, height = props.height, _b = props.shouldFadeIn, shouldFadeIn = _b === void 0 ? true : _b, shouldStartVisible = props.shouldStartVisible, className = props.className, imageFit = props.imageFit, role = props.role, maximizeFrame = props.maximizeFrame, styles = props.styles, theme = props.theme, loading = props.loading;\n var coverStyle = useCoverStyle(props, loadState, imageElement, frameElement);\n var classNames = getClassNames(styles, {\n theme: theme,\n className: className,\n width: width,\n height: height,\n maximizeFrame: maximizeFrame,\n shouldFadeIn: shouldFadeIn,\n shouldStartVisible: shouldStartVisible,\n isLoaded: loadState === ImageLoadState.loaded || (loadState === ImageLoadState.notLoaded && props.shouldStartVisible),\n isLandscape: coverStyle === ImageCoverStyle.landscape,\n isCenter: imageFit === ImageFit.center,\n isCenterContain: imageFit === ImageFit.centerContain,\n isCenterCover: imageFit === ImageFit.centerCover,\n isContain: imageFit === ImageFit.contain,\n isCover: imageFit === ImageFit.cover,\n isNone: imageFit === ImageFit.none,\n isError: loadState === ImageLoadState.error,\n isNotImageFit: imageFit === undefined,\n });\n // If image dimensions aren't specified, the natural size of the image is used.\n return (React.createElement(\"div\", { className: classNames.root, style: { width: width, height: height }, ref: frameElement },\n React.createElement(\"img\", __assign({}, imageProps, { onLoad: onImageLoaded, onError: onImageError, key: KEY_PREFIX + props.src || '', className: classNames.image, ref: useMergedRefs(imageElement, forwardedRef), src: src, alt: alt, role: role, loading: loading }))));\n});\nImageBase.displayName = 'ImageBase';\nfunction useCoverStyle(props, loadState, imageElement, frameElement) {\n var previousLoadState = React.useRef(loadState);\n var coverStyle = React.useRef();\n if (coverStyle === undefined ||\n (previousLoadState.current === ImageLoadState.notLoaded && loadState === ImageLoadState.loaded)) {\n coverStyle.current = computeCoverStyle(props, loadState, imageElement, frameElement);\n }\n previousLoadState.current = loadState;\n return coverStyle.current;\n}\nfunction computeCoverStyle(props, loadState, imageElement, frameElement) {\n var imageFit = props.imageFit, width = props.width, height = props.height;\n // Do not compute cover style if it was already specified in props\n if (props.coverStyle !== undefined) {\n return props.coverStyle;\n }\n else if (loadState === ImageLoadState.loaded &&\n (imageFit === ImageFit.cover ||\n imageFit === ImageFit.contain ||\n imageFit === ImageFit.centerContain ||\n imageFit === ImageFit.centerCover) &&\n imageElement.current &&\n frameElement.current) {\n // Determine the desired ratio using the width and height props.\n // If those props aren't available, measure measure the frame.\n var desiredRatio = void 0;\n if (typeof width === 'number' &&\n typeof height === 'number' &&\n imageFit !== ImageFit.centerContain &&\n imageFit !== ImageFit.centerCover) {\n desiredRatio = width / height;\n }\n else {\n desiredRatio = frameElement.current.clientWidth / frameElement.current.clientHeight;\n }\n // Examine the source image to determine its original ratio.\n var naturalRatio = imageElement.current.naturalWidth / imageElement.current.naturalHeight;\n // Should we crop from the top or the sides?\n if (naturalRatio > desiredRatio) {\n return ImageCoverStyle.landscape;\n }\n }\n return ImageCoverStyle.portrait;\n}\n//# sourceMappingURL=Image.base.js.map","import { AnimationClassNames, getGlobalClassNames } from '../../Styling';\nimport { getWindow } from '../../Utilities';\nvar GlobalClassNames = {\n root: 'ms-Image',\n rootMaximizeFrame: 'ms-Image--maximizeFrame',\n image: 'ms-Image-image',\n imageCenter: 'ms-Image-image--center',\n imageContain: 'ms-Image-image--contain',\n imageCover: 'ms-Image-image--cover',\n imageCenterContain: 'ms-Image-image--centerContain',\n imageCenterCover: 'ms-Image-image--centerCover',\n imageNone: 'ms-Image-image--none',\n imageLandscape: 'ms-Image-image--landscape',\n imagePortrait: 'ms-Image-image--portrait',\n};\nexport var getStyles = function (props) {\n var className = props.className, width = props.width, height = props.height, maximizeFrame = props.maximizeFrame, isLoaded = props.isLoaded, shouldFadeIn = props.shouldFadeIn, shouldStartVisible = props.shouldStartVisible, isLandscape = props.isLandscape, isCenter = props.isCenter, isContain = props.isContain, isCover = props.isCover, isCenterContain = props.isCenterContain, isCenterCover = props.isCenterCover, isNone = props.isNone, isError = props.isError, isNotImageFit = props.isNotImageFit, theme = props.theme;\n var classNames = getGlobalClassNames(GlobalClassNames, theme);\n var ImageFitStyles = {\n position: 'absolute',\n left: '50% /* @noflip */',\n top: '50%',\n transform: 'translate(-50%,-50%)', // @todo test RTL renders transform: translate(50%,-50%);\n };\n // Cut the mustard using msMaxTouchPoints to detect IE11 which does not support CSS object-fit\n var window = getWindow();\n var supportsObjectFit = window !== undefined &&\n // eslint-disable-next-line @fluentui/max-len\n // cast needed as vendor prefixed `msMaxTouchPoints` api is no longer part of TS lib declaration - introduced with TS 4.4\n window.navigator.msMaxTouchPoints === undefined;\n var fallbackObjectFitStyles = (isContain && isLandscape) || (isCover && !isLandscape)\n ? { width: '100%', height: 'auto' }\n : { width: 'auto', height: '100%' };\n return {\n root: [\n classNames.root,\n theme.fonts.medium,\n {\n overflow: 'hidden',\n },\n maximizeFrame && [\n classNames.rootMaximizeFrame,\n {\n height: '100%',\n width: '100%',\n },\n ],\n isLoaded && shouldFadeIn && !shouldStartVisible && AnimationClassNames.fadeIn400,\n (isCenter || isContain || isCover || isCenterContain || isCenterCover) && {\n position: 'relative',\n },\n className,\n ],\n image: [\n classNames.image,\n {\n display: 'block',\n opacity: 0,\n },\n isLoaded && [\n 'is-loaded',\n {\n opacity: 1,\n },\n ],\n isCenter && [classNames.imageCenter, ImageFitStyles],\n isContain && [\n classNames.imageContain,\n supportsObjectFit && {\n width: '100%',\n height: '100%',\n objectFit: 'contain',\n },\n !supportsObjectFit && fallbackObjectFitStyles,\n !supportsObjectFit && ImageFitStyles,\n ],\n isCover && [\n classNames.imageCover,\n supportsObjectFit && {\n width: '100%',\n height: '100%',\n objectFit: 'cover',\n },\n !supportsObjectFit && fallbackObjectFitStyles,\n !supportsObjectFit && ImageFitStyles,\n ],\n isCenterContain && [\n classNames.imageCenterContain,\n isLandscape && {\n maxWidth: '100%',\n },\n !isLandscape && {\n maxHeight: '100%',\n },\n ImageFitStyles,\n ],\n isCenterCover && [\n classNames.imageCenterCover,\n isLandscape && {\n maxHeight: '100%',\n },\n !isLandscape && {\n maxWidth: '100%',\n },\n ImageFitStyles,\n ],\n isNone && [\n classNames.imageNone,\n {\n width: 'auto',\n height: 'auto',\n },\n ],\n isNotImageFit && [\n !!width &&\n !height && {\n height: 'auto',\n width: '100%',\n },\n !width &&\n !!height && {\n height: '100%',\n width: 'auto',\n },\n !!width &&\n !!height && {\n height: '100%',\n width: '100%',\n },\n ],\n isLandscape && classNames.imageLandscape,\n !isLandscape && classNames.imagePortrait,\n !isLoaded && 'is-notLoaded',\n shouldFadeIn && 'is-fadeIn',\n isError && 'is-error',\n ],\n };\n};\n//# sourceMappingURL=Image.styles.js.map","import { styled } from '../../Utilities';\nimport { ImageBase } from './Image.base';\nimport { getStyles } from './Image.styles';\nexport var Image = styled(ImageBase, getStyles, undefined, {\n scope: 'Image',\n}, true);\nImage.displayName = 'Image';\n//# sourceMappingURL=Image.js.map","/**\n * The possible methods that can be used to fit the image.\n * {@docCategory Image}\n */\nexport var ImageFit;\n(function (ImageFit) {\n /**\n * The image is not scaled. The image is centered and cropped within the content box.\n */\n ImageFit[ImageFit[\"center\"] = 0] = \"center\";\n /**\n * The image is scaled to maintain its aspect ratio while being fully contained within the frame. The image will\n * be centered horizontally and vertically within the frame. The space in the top and bottom or in the sides of\n * the frame will be empty depending on the difference in aspect ratio between the image and the frame.\n */\n ImageFit[ImageFit[\"contain\"] = 1] = \"contain\";\n /**\n * The image is scaled to maintain its aspect ratio while filling the frame. Portions of the image will be cropped\n * from the top and bottom, or the sides, depending on the difference in aspect ratio between the image and the frame.\n */\n ImageFit[ImageFit[\"cover\"] = 2] = \"cover\";\n /**\n * Neither the image nor the frame are scaled. If their sizes do not match, the image will either be cropped or the\n * frame will have empty space.\n */\n ImageFit[ImageFit[\"none\"] = 3] = \"none\";\n /**\n * The image will be centered horizontally and vertically within the frame and maintains its aspect ratio. It will\n * behave as ImageFit.center if the image's natural height or width is less than the Image frame's height or width,\n * but if both natural height and width are larger than the frame it will behave as ImageFit.cover.\n */\n ImageFit[ImageFit[\"centerCover\"] = 4] = \"centerCover\";\n /**\n * The image will be centered horizontally and vertically within the frame and maintains its aspect ratio. It will\n * behave as ImageFit.center if the image's natural height and width is less than the Image frame's height and width,\n * but if either natural height or width are larger than the frame it will behave as ImageFit.contain.\n */\n ImageFit[ImageFit[\"centerContain\"] = 5] = \"centerContain\";\n})(ImageFit || (ImageFit = {}));\n/**\n * The cover style to be used on the image\n * {@docCategory Image}\n */\nexport var ImageCoverStyle;\n(function (ImageCoverStyle) {\n /**\n * The image will be shown at 100% height of container and the width will be scaled accordingly\n */\n ImageCoverStyle[ImageCoverStyle[\"landscape\"] = 0] = \"landscape\";\n /**\n * The image will be shown at 100% width of container and the height will be scaled accordingly\n */\n ImageCoverStyle[ImageCoverStyle[\"portrait\"] = 1] = \"portrait\";\n})(ImageCoverStyle || (ImageCoverStyle = {}));\n/**\n * {@docCategory Image}\n */\nexport var ImageLoadState;\n(function (ImageLoadState) {\n /**\n * The image has not yet been loaded, and there is no error yet.\n */\n ImageLoadState[ImageLoadState[\"notLoaded\"] = 0] = \"notLoaded\";\n /**\n * The image has been loaded successfully.\n */\n ImageLoadState[ImageLoadState[\"loaded\"] = 1] = \"loaded\";\n /**\n * An error has been encountered while loading the image.\n */\n ImageLoadState[ImageLoadState[\"error\"] = 2] = \"error\";\n /**\n * @deprecated Not used. Use `onLoadingStateChange` and re-render the Image with a different src.\n */\n ImageLoadState[ImageLoadState[\"errorLoaded\"] = 3] = \"errorLoaded\";\n})(ImageLoadState || (ImageLoadState = {}));\n//# sourceMappingURL=Image.types.js.map","import { __spreadArray } from \"tslib\";\nimport { KTP_SEPARATOR, KTP_PREFIX, DATAKTP_TARGET, DATAKTP_EXECUTE_TARGET, KTP_LAYER_ID } from './KeytipConstants';\nimport { addElementAtIndex } from '../../Utilities';\n/**\n * Converts a whole set of KeySequences into one keytip ID, which will be the ID for the last keytip sequence specified\n * keySequences should not include the initial keytip 'start' sequence.\n *\n * @param keySequences - Full path of IKeySequences for one keytip.\n * @returns String to use for the keytip ID.\n */\nexport function sequencesToID(keySequences) {\n return keySequences.reduce(function (prevValue, keySequence) {\n return prevValue + KTP_SEPARATOR + keySequence.split('').join(KTP_SEPARATOR);\n }, KTP_PREFIX);\n}\n/**\n * Merges an overflow sequence with a key sequence.\n *\n * @param keySequences - Full sequence for one keytip.\n * @param overflowKeySequences - Full overflow keytip sequence.\n * @returns Sequence that will be used by the keytip when in the overflow.\n */\nexport function mergeOverflows(keySequences, overflowKeySequences) {\n var overflowSequenceLen = overflowKeySequences.length;\n var overflowSequence = __spreadArray([], overflowKeySequences, true).pop();\n var newKeySequences = __spreadArray([], keySequences, true);\n return addElementAtIndex(newKeySequences, overflowSequenceLen - 1, overflowSequence);\n}\n/**\n * Constructs the data-ktp-target attribute selector from a full key sequence.\n *\n * @param keySequences - Full string[] for a Keytip.\n * @returns String selector to use to query for the keytip target.\n */\nexport function ktpTargetFromSequences(keySequences) {\n return '[' + DATAKTP_TARGET + '=\"' + sequencesToID(keySequences) + '\"]';\n}\n/**\n * Constructs the data-ktp-execute-target attribute selector from a keytip ID.\n *\n * @param keytipId - ID of the Keytip.\n * @returns String selector to use to query for the keytip execute target.\n */\nexport function ktpTargetFromId(keytipId) {\n return '[' + DATAKTP_EXECUTE_TARGET + '=\"' + keytipId + '\"]';\n}\n/**\n * Gets the aria-describedby value to put on the component with this keytip.\n *\n * @param keySequences - KeySequences of the keytip.\n * @returns The aria-describedby value to set on the component with this keytip.\n */\nexport function getAriaDescribedBy(keySequences) {\n var describedby = ' ' + KTP_LAYER_ID;\n if (!keySequences.length) {\n // Return just the layer ID\n return describedby;\n }\n return describedby + ' ' + sequencesToID(keySequences);\n}\n//# sourceMappingURL=KeytipUtils.js.map","import { __rest } from \"tslib\";\nimport { DATAKTP_TARGET, DATAKTP_EXECUTE_TARGET } from '../../utilities/keytips/index';\nimport { useKeytipData } from './useKeytipData';\n/**\n * A small element to help the target component correctly read out its aria-describedby for its Keytip\n * {@docCategory Keytips}\n */\nexport var KeytipData = function (props) {\n var _a;\n var children = props.children, keytipDataProps = __rest(props, [\"children\"]);\n var _b = useKeytipData(keytipDataProps), keytipId = _b.keytipId, ariaDescribedBy = _b.ariaDescribedBy;\n return children((_a = {},\n _a[DATAKTP_TARGET] = keytipId,\n _a[DATAKTP_EXECUTE_TARGET] = keytipId,\n _a['aria-describedby'] = ariaDescribedBy,\n _a));\n};\n//# sourceMappingURL=KeytipData.js.map","import { __assign, __spreadArray } from \"tslib\";\nimport * as React from 'react';\nimport { useConst, useIsomorphicLayoutEffect, usePrevious } from '@fluentui/react-hooks';\nimport { mergeAriaAttributeValues } from '../../Utilities';\nimport { KeytipManager, mergeOverflows, sequencesToID, getAriaDescribedBy } from '../../utilities/keytips/index';\n/**\n * Hook that creates attributes for components which are enabled with Keytip.\n */\nexport function useKeytipData(options) {\n var uniqueId = React.useRef();\n var keytipProps = options.keytipProps\n ? __assign({ disabled: options.disabled }, options.keytipProps) : undefined;\n var keytipManager = useConst(KeytipManager.getInstance());\n var prevOptions = usePrevious(options);\n // useLayoutEffect used to strictly emulate didUpdate/didMount behavior\n useIsomorphicLayoutEffect(function () {\n if (uniqueId.current &&\n keytipProps &&\n ((prevOptions === null || prevOptions === void 0 ? void 0 : prevOptions.keytipProps) !== options.keytipProps || (prevOptions === null || prevOptions === void 0 ? void 0 : prevOptions.disabled) !== options.disabled)) {\n keytipManager.update(keytipProps, uniqueId.current);\n }\n });\n useIsomorphicLayoutEffect(function () {\n // Register Keytip in KeytipManager\n if (keytipProps) {\n uniqueId.current = keytipManager.register(keytipProps);\n }\n return function () {\n // Unregister Keytip in KeytipManager\n keytipProps && keytipManager.unregister(keytipProps, uniqueId.current);\n };\n // this is meant to run only at mount, and updates are handled separately\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n var nativeKeytipProps = {\n ariaDescribedBy: undefined,\n keytipId: undefined,\n };\n if (keytipProps) {\n nativeKeytipProps = getKeytipData(keytipManager, keytipProps, options.ariaDescribedBy);\n }\n return nativeKeytipProps;\n}\n/**\n * Gets the aria- and data- attributes to attach to the component\n * @param keytipProps - options for Keytip\n * @param describedByPrepend - ariaDescribedBy value to prepend\n */\nfunction getKeytipData(keytipManager, keytipProps, describedByPrepend) {\n // Add the parent overflow sequence if necessary\n var newKeytipProps = keytipManager.addParentOverflow(keytipProps);\n // Construct aria-describedby and data-ktp-id attributes\n var ariaDescribedBy = mergeAriaAttributeValues(describedByPrepend, getAriaDescribedBy(newKeytipProps.keySequences));\n var keySequences = __spreadArray([], newKeytipProps.keySequences, true);\n if (newKeytipProps.overflowSetSequence) {\n keySequences = mergeOverflows(keySequences, newKeytipProps.overflowSetSequence);\n }\n var keytipId = sequencesToID(keySequences);\n return {\n ariaDescribedBy: ariaDescribedBy,\n keytipId: keytipId,\n };\n}\n//# sourceMappingURL=useKeytipData.js.map","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { divProperties, getNativeProps } from '../../Utilities';\nimport { classNamesFunction } from '../../Utilities';\nvar getClassNames = classNamesFunction({\n // Label is used a lot by other components.\n // It's likely to see expected cases which pass different className to the Label.\n // Therefore setting a larger cache size.\n cacheSize: 100,\n});\nvar LabelBase = /** @class */ (function (_super) {\n __extends(LabelBase, _super);\n function LabelBase() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n LabelBase.prototype.render = function () {\n var _a = this.props, _b = _a.as, RootType = _b === void 0 ? 'label' : _b, children = _a.children, className = _a.className, disabled = _a.disabled, styles = _a.styles, required = _a.required, theme = _a.theme;\n var classNames = getClassNames(styles, {\n className: className,\n disabled: disabled,\n required: required,\n theme: theme,\n });\n return (React.createElement(RootType, __assign({}, getNativeProps(this.props, divProperties), { className: classNames.root }), children));\n };\n return LabelBase;\n}(React.Component));\nexport { LabelBase };\n//# sourceMappingURL=Label.base.js.map","import { styled } from '../../Utilities';\nimport { LabelBase } from './Label.base';\nimport { getStyles } from './Label.styles';\nexport var Label = styled(LabelBase, getStyles, undefined, {\n scope: 'Label',\n});\n//# sourceMappingURL=Label.js.map","import { __assign } from \"tslib\";\nimport { HighContrastSelector, FontWeights, getHighContrastNoAdjustStyle } from '../../Styling';\nexport var getStyles = function (props) {\n var _a;\n var theme = props.theme, className = props.className, disabled = props.disabled, required = props.required;\n var semanticColors = theme.semanticColors;\n // Tokens\n var labelFontWeight = FontWeights.semibold;\n var labelColor = semanticColors.bodyText;\n var labelDisabledColor = semanticColors.disabledBodyText;\n var labelRequiredStarColor = semanticColors.errorText;\n return {\n root: [\n 'ms-Label',\n theme.fonts.medium,\n {\n fontWeight: labelFontWeight,\n color: labelColor,\n boxSizing: 'border-box',\n boxShadow: 'none',\n margin: 0,\n display: 'block',\n padding: '5px 0',\n wordWrap: 'break-word',\n overflowWrap: 'break-word',\n },\n disabled && {\n color: labelDisabledColor,\n selectors: (_a = {},\n _a[HighContrastSelector] = __assign({ color: 'GrayText' }, getHighContrastNoAdjustStyle()),\n _a),\n },\n required && {\n selectors: {\n '::after': {\n content: \"' *'\",\n color: labelRequiredStarColor,\n paddingRight: 12,\n },\n },\n },\n className,\n ],\n };\n};\n//# sourceMappingURL=Label.styles.js.map","import * as React from 'react';\nconst PortalCompatContext = /*#__PURE__*/React.createContext(undefined);\nconst portalCompatContextDefaultValue = () => () => undefined;\nexport const PortalCompatContextProvider = PortalCompatContext.Provider;\nexport function usePortalCompat() {\n var _React_useContext;\n return (_React_useContext = React.useContext(PortalCompatContext)) !== null && _React_useContext !== void 0 ? _React_useContext : portalCompatContextDefaultValue;\n}\n//# sourceMappingURL=PortalCompatContext.js.map","import { __assign } from \"tslib\";\n/**\n * Merge new and old settings, giving priority to new settings.\n * New settings is optional in which case oldSettings is returned as-is.\n * @param oldSettings - Old settings to fall back to.\n * @param newSettings - New settings that will be merged over oldSettings.\n * @returns Merged settings.\n */\nexport function mergeSettings(oldSettings, newSettings) {\n if (oldSettings === void 0) { oldSettings = {}; }\n var mergeSettingsWith = _isSettingsFunction(newSettings) ? newSettings : _settingsMergeWith(newSettings);\n return mergeSettingsWith(oldSettings);\n}\nexport function mergeScopedSettings(oldSettings, newSettings) {\n if (oldSettings === void 0) { oldSettings = {}; }\n var mergeSettingsWith = _isSettingsFunction(newSettings) ? newSettings : _scopedSettingsMergeWith(newSettings);\n return mergeSettingsWith(oldSettings);\n}\nfunction _isSettingsFunction(settings) {\n return typeof settings === 'function';\n}\nfunction _settingsMergeWith(newSettings) {\n return function (settings) { return (newSettings ? __assign(__assign({}, settings), newSettings) : settings); };\n}\nfunction _scopedSettingsMergeWith(scopedSettingsFromProps) {\n if (scopedSettingsFromProps === void 0) { scopedSettingsFromProps = {}; }\n return function (oldScopedSettings) {\n var newScopedSettings = __assign({}, oldScopedSettings);\n for (var scopeName in scopedSettingsFromProps) {\n if (scopedSettingsFromProps.hasOwnProperty(scopeName)) {\n newScopedSettings[scopeName] = __assign(__assign({}, oldScopedSettings[scopeName]), scopedSettingsFromProps[scopeName]);\n }\n }\n return newScopedSettings;\n };\n}\n//# sourceMappingURL=mergeSettings.js.map","import { __extends } from \"tslib\";\nimport * as React from 'react';\nimport { Customizations } from './Customizations';\nimport { CustomizerContext } from './CustomizerContext';\nimport { mergeCustomizations } from './mergeCustomizations';\n/**\n * The Customizer component allows for default props to be mixed into components which\n * are decorated with the customizable() decorator, or use the styled HOC. This enables\n * injection scenarios like:\n *\n * 1. render svg icons instead of the icon font within all buttons\n * 2. inject a custom theme object into a component\n *\n * Props are provided via the settings prop which should be one of the following:\n * - A json map which contains 1 or more name/value pairs representing injectable props.\n * - A function that receives the current settings and returns the new ones that apply to the scope\n *\n * @public\n *\n * @deprecated This component is deprecated for purpose of applying theme to components\n * as of `@fluentui/react` version 8. Use `ThemeProvider` for applying theme instead.\n */\nvar Customizer = /** @class */ (function (_super) {\n __extends(Customizer, _super);\n function Customizer() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._onCustomizationChange = function () { return _this.forceUpdate(); };\n return _this;\n }\n Customizer.prototype.componentDidMount = function () {\n Customizations.observe(this._onCustomizationChange);\n };\n Customizer.prototype.componentWillUnmount = function () {\n Customizations.unobserve(this._onCustomizationChange);\n };\n Customizer.prototype.render = function () {\n var _this = this;\n var contextTransform = this.props.contextTransform;\n return (React.createElement(CustomizerContext.Consumer, null, function (parentContext) {\n var newContext = mergeCustomizations(_this.props, parentContext);\n if (contextTransform) {\n newContext = contextTransform(newContext);\n }\n return React.createElement(CustomizerContext.Provider, { value: newContext }, _this.props.children);\n }));\n };\n return Customizer;\n}(React.Component));\nexport { Customizer };\n//# sourceMappingURL=Customizer.js.map","import { mergeSettings, mergeScopedSettings } from './mergeSettings';\n/**\n * Merge props and customizations giving priority to props over context.\n * NOTE: This function will always perform multiple merge operations. Use with caution.\n * @param props - New settings to merge in.\n * @param parentContext - Context containing current settings.\n * @returns Merged customizations.\n */\nexport function mergeCustomizations(props, parentContext) {\n var _a = (parentContext || {}).customizations, customizations = _a === void 0 ? { settings: {}, scopedSettings: {} } : _a;\n return {\n customizations: {\n settings: mergeSettings(customizations.settings, props.settings),\n scopedSettings: mergeScopedSettings(customizations.scopedSettings, props.scopedSettings),\n inCustomizerContext: true,\n },\n };\n}\n//# sourceMappingURL=mergeCustomizations.js.map","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { classNamesFunction, divProperties, getDocument, getNativeProps, getRTL, memoizeFunction, Customizer, FocusRectsProvider, } from '../../Utilities';\nimport { createTheme } from '../../Styling';\nimport { useMergedRefs } from '@fluentui/react-hooks';\nvar getClassNames = classNamesFunction();\nvar getFabricTheme = memoizeFunction(function (theme, isRTL) { return createTheme(__assign(__assign({}, theme), { rtl: isRTL })); });\nvar getDir = function (_a) {\n var theme = _a.theme, dir = _a.dir;\n var contextDir = getRTL(theme) ? 'rtl' : 'ltr';\n var pageDir = getRTL() ? 'rtl' : 'ltr';\n var componentDir = dir ? dir : contextDir;\n return {\n // If Fabric dir !== contextDir\n // Or If contextDir !== pageDir\n // Then we need to set dir of the Fabric root\n rootDir: componentDir !== contextDir || componentDir !== pageDir ? componentDir : dir,\n // If dir !== contextDir || pageDir\n // then set contextual theme around content\n needsTheme: componentDir !== contextDir,\n };\n};\nexport var FabricBase = React.forwardRef(function (props, ref) {\n var className = props.className, theme = props.theme, applyTheme = props.applyTheme, applyThemeToBody = props.applyThemeToBody, styles = props.styles;\n var classNames = getClassNames(styles, {\n theme: theme,\n applyTheme: applyTheme,\n className: className,\n });\n var rootElement = React.useRef(null);\n useApplyThemeToBody(applyThemeToBody, classNames, rootElement);\n return React.createElement(React.Fragment, null, useRenderedContent(props, classNames, rootElement, ref));\n});\nFabricBase.displayName = 'FabricBase';\nfunction useRenderedContent(props, _a, rootElement, ref) {\n var root = _a.root;\n var _b = props.as, Root = _b === void 0 ? 'div' : _b, dir = props.dir, theme = props.theme;\n var divProps = getNativeProps(props, divProperties, ['dir']);\n var _c = getDir(props), rootDir = _c.rootDir, needsTheme = _c.needsTheme;\n var renderedContent = (React.createElement(FocusRectsProvider, { providerRef: rootElement },\n React.createElement(Root, __assign({ dir: rootDir }, divProps, { className: root, ref: useMergedRefs(rootElement, ref) }))));\n // Create the contextual theme if component direction does not match parent direction.\n if (needsTheme) {\n // Disabling ThemeProvider here because theme doesn't need to be re-provided by ThemeProvider if dir has changed.\n renderedContent = (\n // eslint-disable-next-line deprecation/deprecation\n React.createElement(Customizer, { settings: { theme: getFabricTheme(theme, dir === 'rtl') } }, renderedContent));\n }\n return renderedContent;\n}\nfunction useApplyThemeToBody(applyThemeToBody, _a, rootElement) {\n var bodyThemed = _a.bodyThemed;\n React.useEffect(function () {\n if (applyThemeToBody) {\n var currentDoc_1 = getDocument(rootElement.current);\n if (currentDoc_1) {\n currentDoc_1.body.classList.add(bodyThemed);\n return function () {\n currentDoc_1.body.classList.remove(bodyThemed);\n };\n }\n }\n }, [bodyThemed, applyThemeToBody, rootElement]);\n return rootElement;\n}\n//# sourceMappingURL=Fabric.base.js.map","import { __assign } from \"tslib\";\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore \"react-portal-compat-context\" uses v9 configs via path aliases\nimport { usePortalCompat } from '@fluentui/react-portal-compat-context';\nimport * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport { Fabric } from '../../Fabric';\nimport { classNamesFunction, css, getDocument, setPortalAttribute, setVirtualParent, FocusRectsProvider, FocusRectsContext, IsFocusVisibleClassName, } from '../../Utilities';\nimport { registerLayer, getDefaultTarget, unregisterLayer, getLayerHost, createDefaultLayerHost, } from './Layer.notification';\nimport { useIsomorphicLayoutEffect, useMergedRefs, useWarnings } from '@fluentui/react-hooks';\nvar getClassNames = classNamesFunction();\nvar getFocusVisibility = function (providerRef) {\n if (providerRef === null || providerRef === void 0 ? void 0 : providerRef.current) {\n return providerRef.current.classList.contains(IsFocusVisibleClassName);\n }\n return false;\n};\nexport var LayerBase = React.forwardRef(function (props, ref) {\n var registerPortalEl = usePortalCompat();\n var rootRef = React.useRef(null);\n var mergedRef = useMergedRefs(rootRef, ref);\n var layerRef = React.useRef();\n var fabricElementRef = React.useRef(null);\n var focusContext = React.useContext(FocusRectsContext);\n // Tracks if the layer mount events need to be raised.\n // Required to allow the DOM to render after the layer element is added.\n var _a = React.useState(false), needRaiseLayerMount = _a[0], setNeedRaiseLayerMount = _a[1];\n // Sets the focus visible className when the FocusRectsProvider for the layer is rendered\n // This allows the current focus visibility style to be carried over to the layer content\n var focusRectsRef = React.useCallback(function (el) {\n var isFocusVisible = getFocusVisibility(focusContext === null || focusContext === void 0 ? void 0 : focusContext.providerRef);\n if (el && isFocusVisible) {\n el.classList.add(IsFocusVisibleClassName);\n }\n }, [focusContext]);\n var children = props.children, className = props.className, eventBubblingEnabled = props.eventBubblingEnabled, fabricProps = props.fabricProps, hostId = props.hostId, insertFirst = props.insertFirst, _b = props.onLayerDidMount, onLayerDidMount = _b === void 0 ? function () { return undefined; } : _b, \n // eslint-disable-next-line deprecation/deprecation\n _c = props.onLayerMounted, \n // eslint-disable-next-line deprecation/deprecation\n onLayerMounted = _c === void 0 ? function () { return undefined; } : _c, onLayerWillUnmount = props.onLayerWillUnmount, styles = props.styles, theme = props.theme;\n var fabricRef = useMergedRefs(fabricElementRef, fabricProps === null || fabricProps === void 0 ? void 0 : fabricProps.ref, focusRectsRef);\n var classNames = getClassNames(styles, {\n theme: theme,\n className: className,\n isNotHost: !hostId,\n });\n // Returns the user provided hostId props element, the default target selector,\n // or undefined if document doesn't exist.\n var getHost = function (doc) {\n var _a, _b;\n if (hostId) {\n var layerHost = getLayerHost(hostId);\n if (layerHost) {\n return (_a = layerHost.rootRef.current) !== null && _a !== void 0 ? _a : null;\n }\n return (_b = doc.getElementById(hostId)) !== null && _b !== void 0 ? _b : null;\n }\n else {\n var defaultHostSelector = getDefaultTarget();\n // Find the host.\n var host = defaultHostSelector ? doc.querySelector(defaultHostSelector) : null;\n // If no host is available, create a container for injecting layers in.\n // Having a container scopes layout computation.\n if (!host) {\n host = createDefaultLayerHost(doc);\n }\n return host;\n }\n };\n // Removes the current layer element's parentNode and runs onLayerWillUnmount prop if provided.\n var removeLayerElement = function () {\n onLayerWillUnmount === null || onLayerWillUnmount === void 0 ? void 0 : onLayerWillUnmount();\n var elem = layerRef.current;\n // Clear ref before removing from the DOM\n layerRef.current = undefined;\n if (elem && elem.parentNode) {\n elem.parentNode.removeChild(elem);\n }\n };\n // If a doc or host exists, it will remove and update layer parentNodes.\n var createLayerElement = function () {\n var _a;\n var doc = getDocument(rootRef.current);\n if (!doc) {\n return;\n }\n var host = getHost(doc);\n if (!host) {\n return;\n }\n // Remove and re-create any previous existing layer elements.\n removeLayerElement();\n var el = ((_a = host.ownerDocument) !== null && _a !== void 0 ? _a : doc).createElement('div');\n el.className = classNames.root;\n setPortalAttribute(el);\n setVirtualParent(el, rootRef.current);\n insertFirst ? host.insertBefore(el, host.firstChild) : host.appendChild(el);\n layerRef.current = el;\n setNeedRaiseLayerMount(true);\n };\n useIsomorphicLayoutEffect(function () {\n createLayerElement();\n // Check if the user provided a hostId prop and register the layer with the ID.\n if (hostId) {\n registerLayer(hostId, createLayerElement);\n }\n var unregisterPortalEl = layerRef.current ? registerPortalEl(layerRef.current) : undefined;\n return function () {\n if (unregisterPortalEl) {\n unregisterPortalEl();\n }\n removeLayerElement();\n if (hostId) {\n unregisterLayer(hostId, createLayerElement);\n }\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps -- should run if the hostId updates.\n }, [hostId]);\n React.useEffect(function () {\n if (layerRef.current && needRaiseLayerMount) {\n onLayerMounted === null || onLayerMounted === void 0 ? void 0 : onLayerMounted();\n onLayerDidMount === null || onLayerDidMount === void 0 ? void 0 : onLayerDidMount();\n setNeedRaiseLayerMount(false);\n }\n }, [needRaiseLayerMount, onLayerMounted, onLayerDidMount]);\n useDebugWarnings(props);\n return (React.createElement(\"span\", { className: \"ms-layer\", ref: mergedRef }, layerRef.current &&\n ReactDOM.createPortal(React.createElement(FocusRectsProvider, { layerRoot: true, providerRef: fabricRef },\n React.createElement(Fabric, __assign({}, (!eventBubblingEnabled && getFilteredEvents()), fabricProps, { className: css(classNames.content, fabricProps === null || fabricProps === void 0 ? void 0 : fabricProps.className), ref: fabricRef }), children)), layerRef.current)));\n});\nLayerBase.displayName = 'LayerBase';\nvar filteredEventProps;\nvar onFilterEvent = function (ev) {\n // We should just be able to check ev.bubble here and only stop events that are bubbling up. However, even though\n // mouseenter and mouseleave do NOT bubble up, they are showing up as bubbling. Therefore we stop events based on\n // event name rather than ev.bubble.\n if (ev.eventPhase === Event.BUBBLING_PHASE &&\n ev.type !== 'mouseenter' &&\n ev.type !== 'mouseleave' &&\n ev.type !== 'touchstart' &&\n ev.type !== 'touchend') {\n ev.stopPropagation();\n }\n};\nfunction getFilteredEvents() {\n if (!filteredEventProps) {\n filteredEventProps = {};\n [\n 'onClick',\n 'onContextMenu',\n 'onDoubleClick',\n 'onDrag',\n 'onDragEnd',\n 'onDragEnter',\n 'onDragExit',\n 'onDragLeave',\n 'onDragOver',\n 'onDragStart',\n 'onDrop',\n 'onMouseDown',\n 'onMouseEnter',\n 'onMouseLeave',\n 'onMouseMove',\n 'onMouseOver',\n 'onMouseOut',\n 'onMouseUp',\n 'onTouchMove',\n 'onTouchStart',\n 'onTouchCancel',\n 'onTouchEnd',\n 'onKeyDown',\n 'onKeyPress',\n 'onKeyUp',\n 'onFocus',\n 'onBlur',\n 'onChange',\n 'onInput',\n 'onInvalid',\n 'onSubmit',\n ].forEach(function (name) { return (filteredEventProps[name] = onFilterEvent); });\n }\n return filteredEventProps;\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: 'Layer',\n props: props,\n deprecations: { onLayerMounted: 'onLayerDidMount' },\n });\n }\n}\n//# sourceMappingURL=Layer.base.js.map","import { getGlobalClassNames } from '../../Styling';\nvar inheritFont = { fontFamily: 'inherit' };\nvar GlobalClassNames = {\n root: 'ms-Fabric',\n bodyThemed: 'ms-Fabric-bodyThemed',\n};\nexport var getStyles = function (props) {\n var applyTheme = props.applyTheme, className = props.className, preventBlanketFontInheritance = props.preventBlanketFontInheritance, theme = props.theme;\n var classNames = getGlobalClassNames(GlobalClassNames, theme);\n return {\n root: [\n classNames.root,\n theme.fonts.medium,\n {\n color: theme.palette.neutralPrimary,\n },\n !preventBlanketFontInheritance && {\n '& button': inheritFont,\n '& input': inheritFont,\n '& textarea': inheritFont,\n },\n // apply theme to only if applyTheme is true\n applyTheme && {\n color: theme.semanticColors.bodyText,\n backgroundColor: theme.semanticColors.bodyBackground,\n },\n className,\n ],\n bodyThemed: [\n {\n backgroundColor: theme.semanticColors.bodyBackground,\n },\n ],\n };\n};\n//# sourceMappingURL=Fabric.styles.js.map","import { styled } from '../../Utilities';\nimport { FabricBase } from './Fabric.base';\nimport { getStyles } from './Fabric.styles';\n/**\n * @deprecated This component is deprecated as of `@fluentui/react` version 8. Use `ThemeProvider` instead.\n */\nexport var Fabric = styled(FabricBase, getStyles, undefined, {\n scope: 'Fabric',\n});\n//# sourceMappingURL=Fabric.js.map","var _layersByHostId = {};\nvar _layerHostsById = {};\nvar defaultHostId = 'fluent-default-layer-host';\nvar _defaultHostSelector = \"#\".concat(defaultHostId);\n/**\n * Register a layer for a given host id\n * @param hostId - Id of the layer host\n * @param layer - Layer instance\n */\nexport function registerLayer(hostId, callback) {\n if (!_layersByHostId[hostId]) {\n _layersByHostId[hostId] = [];\n }\n _layersByHostId[hostId].push(callback);\n var layerHosts = _layerHostsById[hostId];\n if (layerHosts) {\n for (var _i = 0, layerHosts_1 = layerHosts; _i < layerHosts_1.length; _i++) {\n var layerHost = layerHosts_1[_i];\n layerHost.notifyLayersChanged();\n }\n }\n}\n/**\n * Unregister a layer for a given host id\n * @param hostId - Id of the layer host\n * @param layer - Layer instance\n */\nexport function unregisterLayer(hostId, callback) {\n var layers = _layersByHostId[hostId];\n if (layers) {\n var idx = layers.indexOf(callback);\n if (idx >= 0) {\n layers.splice(idx, 1);\n if (layers.length === 0) {\n delete _layersByHostId[hostId];\n }\n }\n }\n var layerHosts = _layerHostsById[hostId];\n if (layerHosts) {\n for (var _i = 0, layerHosts_2 = layerHosts; _i < layerHosts_2.length; _i++) {\n var layerHost = layerHosts_2[_i];\n layerHost.notifyLayersChanged();\n }\n }\n}\n/**\n * Gets the number of layers currently registered with a host id.\n * @param hostId - Id of the layer host.\n * @returns The number of layers currently registered with the host.\n */\nexport function getLayerCount(hostId) {\n var layers = _layerHostsById[hostId];\n return layers ? layers.length : 0;\n}\n/**\n * Gets the Layer Host instance associated with a hostId, if applicable.\n * @param hostId - Id of the layer host\n * @returns A component ref for the associated layer host.\n */\nexport function getLayerHost(hostId) {\n var layerHosts = _layerHostsById[hostId];\n return (layerHosts && layerHosts[0]) || undefined;\n}\n/**\n * Registers a Layer Host with an associated hostId.\n * @param hostId - Id of the layer host\n * @param layerHost - layer host instance\n */\nexport function registerLayerHost(hostId, layerHost) {\n var layerHosts = _layerHostsById[hostId] || (_layerHostsById[hostId] = []);\n // Insert this at the start of an array to avoid race conditions between mount and unmount.\n // If a LayerHost is re-mounted, and mount of the new instance may occur before the unmount of the old one.\n // Putting the new instance at the start of this array ensures that calls to `getLayerHost` will immediately\n // get the new one even if the old one is around briefly.\n layerHosts.unshift(layerHost);\n}\n/**\n * Unregisters a Layer Host from the associated hostId.\n * @param hostId - Id of the layer host\n * @param layerHost - layer host instance\n */\nexport function unregisterLayerHost(hostId, layerHost) {\n var layerHosts = _layerHostsById[hostId];\n if (layerHosts) {\n var idx = layerHosts.indexOf(layerHost);\n if (idx >= 0) {\n layerHosts.splice(idx, 1);\n }\n if (layerHosts.length === 0) {\n delete _layerHostsById[hostId];\n }\n }\n}\n/**\n * When no default layer host is provided, this function is executed to create the default host.\n */\nexport function createDefaultLayerHost(doc) {\n var host = doc.createElement('div');\n host.setAttribute('id', defaultHostId);\n host.style.cssText = 'position:fixed;z-index:1000000';\n doc === null || doc === void 0 ? void 0 : doc.body.appendChild(host);\n return host;\n}\n/**\n * This function can be optionally called to clean up the default layer host as needed.\n */\nexport function cleanupDefaultLayerHost(doc) {\n var host = doc.querySelector(\"#\".concat(defaultHostId));\n if (host) {\n doc.removeChild(host);\n }\n}\n/**\n * Used for notifying applicable Layers that a host is available/unavailable and to re-evaluate Layers that\n * care about the specific host.\n */\nexport function notifyHostChanged(id) {\n if (_layersByHostId[id]) {\n _layersByHostId[id].forEach(function (callback) { return callback(); });\n }\n}\n/**\n * Sets the default target selector to use when determining the host in which\n * Layered content will be injected into. If not provided, an element will be\n * created at the end of the document body.\n *\n * Passing in a falsy value will clear the default target and reset back to\n * using a created element at the end of document body.\n */\nexport function setDefaultTarget(selector) {\n _defaultHostSelector = selector;\n}\n/**\n * Get the default target selector when determining a host\n */\nexport function getDefaultTarget() {\n return _defaultHostSelector;\n}\n//# sourceMappingURL=Layer.notification.js.map","/**\n * Sets the virtual parent of an element.\n * Pass `undefined` as the `parent` to clear the virtual parent.\n *\n * @public\n */\nexport function setVirtualParent(child, parent) {\n var virtualChild = child;\n var virtualParent = parent;\n if (!virtualChild._virtual) {\n virtualChild._virtual = {\n children: [],\n };\n }\n var oldParent = virtualChild._virtual.parent;\n if (oldParent && oldParent !== parent) {\n // Remove the child from its old parent.\n var index = oldParent._virtual.children.indexOf(virtualChild);\n if (index > -1) {\n oldParent._virtual.children.splice(index, 1);\n }\n }\n virtualChild._virtual.parent = virtualParent || undefined;\n if (virtualParent) {\n if (!virtualParent._virtual) {\n virtualParent._virtual = {\n children: [],\n };\n }\n virtualParent._virtual.children.push(virtualChild);\n }\n}\n//# sourceMappingURL=setVirtualParent.js.map","import { ZIndexes, getGlobalClassNames } from '../../Styling';\nvar GlobalClassNames = {\n root: 'ms-Layer',\n rootNoHost: 'ms-Layer--fixed',\n content: 'ms-Layer-content',\n};\nexport var getStyles = function (props) {\n var className = props.className, isNotHost = props.isNotHost, theme = props.theme;\n var classNames = getGlobalClassNames(GlobalClassNames, theme);\n return {\n root: [\n classNames.root,\n theme.fonts.medium,\n isNotHost && [\n classNames.rootNoHost,\n {\n position: 'fixed',\n zIndex: ZIndexes.Layer,\n top: 0,\n left: 0,\n bottom: 0,\n right: 0,\n visibility: 'hidden',\n },\n ],\n className,\n ],\n content: [\n classNames.content,\n {\n visibility: 'visible',\n },\n ],\n };\n};\n//# sourceMappingURL=Layer.styles.js.map","import { styled } from '../../Utilities';\nimport { LayerBase } from './Layer.base';\nimport { getStyles } from './Layer.styles';\nexport var Layer = styled(LayerBase, getStyles, undefined, {\n scope: 'Layer',\n fields: ['hostId', 'theme', 'styles'],\n});\n//# sourceMappingURL=Layer.js.map","import { __assign, __rest } from \"tslib\";\nimport * as React from 'react';\nimport { useMergedRefs } from '@fluentui/react-hooks';\nimport { classNamesFunction, useFocusRects } from '@fluentui/utilities';\nvar getClassNames = classNamesFunction();\n/**\n * The useLink hook processes the Link component props and returns\n * state, slots and slotProps for consumption by the component.\n */\nexport var useLink = function (props, forwardedRef) {\n var as = props.as, className = props.className, disabled = props.disabled, href = props.href, onClick = props.onClick, styles = props.styles, theme = props.theme, underline = props.underline;\n var rootRef = React.useRef(null);\n var mergedRootRefs = useMergedRefs(rootRef, forwardedRef);\n useComponentRef(props, rootRef);\n useFocusRects(rootRef);\n var classNames = getClassNames(styles, {\n className: className,\n isButton: !href,\n isDisabled: disabled,\n isUnderlined: underline,\n theme: theme,\n });\n var _onClick = function (ev) {\n if (disabled) {\n ev.preventDefault();\n }\n else if (onClick) {\n onClick(ev);\n }\n };\n var rootType = as ? as : href ? 'a' : 'button';\n var state = {};\n var slots = { root: rootType };\n var slotProps = {\n root: __assign(__assign({}, adjustPropsForRootType(rootType, props)), { 'aria-disabled': disabled, className: classNames.root, onClick: _onClick, ref: mergedRootRefs }),\n };\n return { state: state, slots: slots, slotProps: slotProps };\n};\nvar useComponentRef = function (props, link) {\n React.useImperativeHandle(props.componentRef, function () { return ({\n focus: function () {\n if (link.current) {\n link.current.focus();\n }\n },\n }); }, [link]);\n};\nvar adjustPropsForRootType = function (RootType, props) {\n // Deconstruct the props so we remove props like `as`, `theme` and `styles`\n // as those will always be removed. We also take some props that are optional\n // based on the RootType.\n var as = props.as, disabled = props.disabled, target = props.target, href = props.href, theme = props.theme, getStyles = props.getStyles, styles = props.styles, componentRef = props.componentRef, underline = props.underline, restProps = __rest(props, [\"as\", \"disabled\", \"target\", \"href\", \"theme\", \"getStyles\", \"styles\", \"componentRef\", \"underline\"]);\n // RootType will be a string if we're dealing with an html component\n if (typeof RootType === 'string') {\n // Remove the disabled prop for anchor elements\n if (RootType === 'a') {\n return __assign({ target: target, href: disabled ? undefined : href }, restProps);\n }\n // Add the type='button' prop for button elements\n if (RootType === 'button') {\n return __assign({ type: 'button', disabled: disabled }, restProps);\n }\n // Remove the target and href props for all other non anchor elements\n return __assign(__assign({}, restProps), { disabled: disabled });\n }\n // Retain all props except 'as' for ReactComponents\n return __assign({ target: target, href: href, disabled: disabled }, restProps);\n};\n//# sourceMappingURL=useLink.js.map","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { useLink } from './useLink';\nexport var LinkBase = React.forwardRef(function (props, ref) {\n var _a = useLink(props, ref), slots = _a.slots, slotProps = _a.slotProps;\n return React.createElement(slots.root, __assign({}, slotProps.root));\n});\nLinkBase.displayName = 'LinkBase';\n//# sourceMappingURL=Link.base.js.map","import { styled } from '@fluentui/utilities';\nimport { LinkBase } from './Link.base';\nimport { getStyles } from './Link.styles';\nexport var Link = styled(LinkBase, getStyles, undefined, {\n scope: 'Link',\n});\n//# sourceMappingURL=Link.js.map","import { getGlobalClassNames, HighContrastSelector } from '@fluentui/style-utilities';\nexport var GlobalClassNames = {\n root: 'ms-Link',\n};\nexport var getStyles = function (props) {\n var _a, _b, _c, _d, _e, _f, _g;\n var className = props.className, isButton = props.isButton, isDisabled = props.isDisabled, isUnderlined = props.isUnderlined, theme = props.theme;\n var semanticColors = theme.semanticColors;\n // Tokens\n var linkColor = semanticColors.link;\n var linkInteractedColor = semanticColors.linkHovered;\n var linkDisabledColor = semanticColors.disabledText;\n var focusBorderColor = semanticColors.focusBorder;\n var classNames = getGlobalClassNames(GlobalClassNames, theme);\n return {\n root: [\n classNames.root,\n theme.fonts.medium,\n {\n color: linkColor,\n outline: 'none',\n fontSize: 'inherit',\n fontWeight: 'inherit',\n textDecoration: isUnderlined ? 'underline' : 'none',\n selectors: (_a = {\n '.ms-Fabric--isFocusVisible &:focus': {\n // Can't use getFocusStyle because it doesn't support wrapping links\n // https://github.com/microsoft/fluentui/issues/4883#issuecomment-406743543\n // Using box-shadow and outline allows the focus rect to wrap links that span multiple lines\n // and helps the focus rect avoid getting clipped.\n boxShadow: \"0 0 0 1px \".concat(focusBorderColor, \" inset\"),\n outline: \"1px auto \".concat(focusBorderColor),\n selectors: (_b = {},\n _b[HighContrastSelector] = {\n outline: '1px solid WindowText',\n },\n _b),\n }\n },\n _a[HighContrastSelector] = {\n // For IE high contrast mode\n borderBottom: 'none',\n },\n _a),\n },\n isButton && {\n background: 'none',\n backgroundColor: 'transparent',\n border: 'none',\n cursor: 'pointer',\n display: 'inline',\n margin: 0,\n overflow: 'inherit',\n padding: 0,\n textAlign: 'left',\n textOverflow: 'inherit',\n userSelect: 'text',\n borderBottom: '1px solid transparent',\n selectors: (_c = {},\n _c[HighContrastSelector] = {\n color: 'LinkText',\n forcedColorAdjust: 'none',\n },\n _c),\n },\n !isButton && {\n selectors: (_d = {},\n _d[HighContrastSelector] = {\n // This is mainly for MessageBar, which sets MsHighContrastAdjust: none by default\n MsHighContrastAdjust: 'auto',\n forcedColorAdjust: 'auto',\n },\n _d),\n },\n isDisabled && [\n 'is-disabled',\n {\n color: linkDisabledColor,\n cursor: 'default',\n },\n {\n selectors: (_e = {\n '&:link, &:visited': {\n pointerEvents: 'none',\n }\n },\n _e[HighContrastSelector] = {\n // We need to specify the color in High Contrast because of the case of Links rendering as buttons.\n color: 'GrayText',\n },\n _e),\n },\n ],\n !isDisabled && {\n selectors: {\n '&:active, &:hover, &:active:hover': {\n color: linkInteractedColor,\n textDecoration: 'underline',\n selectors: (_f = {},\n _f[HighContrastSelector] = {\n color: 'LinkText',\n },\n _f),\n },\n '&:focus': {\n color: linkColor,\n selectors: (_g = {},\n _g[HighContrastSelector] = {\n color: 'LinkText',\n },\n _g),\n },\n },\n },\n classNames.root,\n className,\n ],\n };\n};\n//# sourceMappingURL=Link.styles.js.map","export var getScrollHeight = function (el) {\n if (el === undefined) {\n return 0;\n }\n var scrollHeight = 0;\n if ('scrollHeight' in el) {\n scrollHeight = el.scrollHeight;\n }\n else if ('document' in el) {\n scrollHeight = el.document.documentElement.scrollHeight;\n }\n // No need to round as scrollHeight is already rounded for us.\n // See: https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollHeight\n return scrollHeight;\n};\nexport var getScrollYPosition = function (el) {\n if (el === undefined) {\n return 0;\n }\n var scrollPos = 0;\n if ('scrollTop' in el) {\n scrollPos = el.scrollTop;\n }\n else if ('scrollY' in el) {\n scrollPos = el.scrollY;\n }\n // Round this value to an integer as it may be fractional.\n // See: https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollTop\n // See: https://developer.mozilla.org/en-US/docs/Web/API/Window/scrollY\n return Math.ceil(scrollPos);\n};\nexport var setScrollYPosition = function (el, pos) {\n if ('scrollTop' in el) {\n el.scrollTop = pos;\n }\n else if ('scrollY' in el) {\n el.scrollTo(el.scrollX, pos);\n }\n};\n//# sourceMappingURL=scroll.js.map","import { __assign, __extends, __rest } from \"tslib\";\nimport * as React from 'react';\nimport { Async, EventGroup, canUseDOM, css, divProperties, findIndex, findScrollableParent, getNativeProps, getParent, getWindow, initializeComponentRef, } from '../../Utilities';\nimport { ScrollToMode } from './List.types';\nimport { composeRenderFunction } from '../../Utilities';\nimport { getScrollHeight, getScrollYPosition, setScrollYPosition } from './utils/scroll';\nvar RESIZE_DELAY = 16;\nvar MIN_SCROLL_UPDATE_DELAY = 100;\nvar MAX_SCROLL_UPDATE_DELAY = 500;\nvar IDLE_DEBOUNCE_DELAY = 200;\n// The amount of time to wait before declaring that the list isn't scrolling\nvar DONE_SCROLLING_WAIT = 500;\nvar DEFAULT_ITEMS_PER_PAGE = 10;\nvar DEFAULT_PAGE_HEIGHT = 30;\nvar DEFAULT_RENDERED_WINDOWS_BEHIND = 2;\nvar DEFAULT_RENDERED_WINDOWS_AHEAD = 2;\nvar PAGE_KEY_PREFIX = 'page-';\nvar SPACER_KEY_PREFIX = 'spacer-';\nvar EMPTY_RECT = {\n top: -1,\n bottom: -1,\n left: -1,\n right: -1,\n width: 0,\n height: 0,\n};\n// Naming expensive measures so that they're named in profiles.\nvar _measurePageRect = function (element) { return element.getBoundingClientRect(); };\nvar _measureSurfaceRect = _measurePageRect;\nvar _measureScrollRect = _measurePageRect;\n/**\n * The List renders virtualized pages of items. Each page's item count is determined by the getItemCountForPage callback\n * if provided by the caller, or 10 as default. Each page's height is determined by the getPageHeight callback if\n * provided by the caller, or by cached measurements if available, or by a running average, or a default fallback.\n *\n * The algorithm for rendering pages works like this:\n *\n * 1. Predict visible pages based on \"current measure data\" (page heights, surface position, visible window)\n * 2. If changes are necessary, apply changes (add/remove pages)\n * 3. For pages that are added, measure the page heights if we need to using getBoundingClientRect\n * 4. If measurements don't match predictions, update measure data and goto step 1 asynchronously\n *\n * Measuring too frequently can pull performance down significantly. To compensate, we cache measured values so that\n * we can avoid re-measuring during operations that should not alter heights, like scrolling.\n *\n * To optimize glass rendering performance, onShouldVirtualize can be set. When onShouldVirtualize return false,\n * List will run in fast mode (not virtualized) to render all items without any measurements to improve page load time.\n * And we start doing measurements and rendering in virtualized mode when items grows larger than this threshold.\n *\n * However, certain operations can make measure data stale. For example, resizing the list, or passing in new props,\n * or forcing an update change cause pages to shrink/grow. When these operations occur, we increment a measureVersion\n * number, which we associate with cached measurements and use to determine if a remeasure should occur.\n */\nvar List = /** @class */ (function (_super) {\n __extends(List, _super);\n function List(props) {\n var _this = _super.call(this, props) || this;\n _this._root = React.createRef();\n _this._surface = React.createRef();\n _this._pageRefs = {};\n _this._getDerivedStateFromProps = function (nextProps, previousState) {\n if (nextProps.items !== _this.props.items ||\n nextProps.renderCount !== _this.props.renderCount ||\n nextProps.startIndex !== _this.props.startIndex ||\n nextProps.version !== _this.props.version ||\n (!previousState.hasMounted && _this.props.renderEarly && canUseDOM())) {\n // We have received new items so we want to make sure that initially we only render a single window to\n // fill the currently visible rect, and then later render additional windows.\n _this._resetRequiredWindows();\n _this._requiredRect = null;\n _this._measureVersion++;\n _this._invalidatePageCache();\n return _this._updatePages(nextProps, previousState);\n }\n return previousState;\n };\n _this._onRenderRoot = function (props) {\n var rootRef = props.rootRef, surfaceElement = props.surfaceElement, divProps = props.divProps;\n return (React.createElement(\"div\", __assign({ ref: rootRef }, divProps), surfaceElement));\n };\n _this._onRenderSurface = function (props) {\n var surfaceRef = props.surfaceRef, pageElements = props.pageElements, divProps = props.divProps;\n return (React.createElement(\"div\", __assign({ ref: surfaceRef }, divProps), pageElements));\n };\n _this._onRenderPage = function (pageProps, defaultRender) {\n var _a;\n var _b = _this.props, onRenderCell = _b.onRenderCell, onRenderCellConditional = _b.onRenderCellConditional, role = _b.role;\n var _c = pageProps.page, _d = _c.items, items = _d === void 0 ? [] : _d, startIndex = _c.startIndex, divProps = __rest(pageProps, [\"page\"]);\n // only assign list item role if no role is assigned\n var cellRole = role === undefined ? 'listitem' : 'presentation';\n var cells = [];\n for (var i = 0; i < items.length; i++) {\n var index = startIndex + i;\n var item = items[i];\n var itemKey = _this.props.getKey ? _this.props.getKey(item, index) : item && item.key;\n if (itemKey === null || itemKey === undefined) {\n itemKey = index;\n }\n var renderCell = onRenderCellConditional !== null && onRenderCellConditional !== void 0 ? onRenderCellConditional : onRenderCell;\n var cell = (_a = renderCell === null || renderCell === void 0 ? void 0 : renderCell(item, index, !_this.props.ignoreScrollingState ? _this.state.isScrolling : undefined)) !== null && _a !== void 0 ? _a : null;\n if (!onRenderCellConditional || cell) {\n cells.push(React.createElement(\"div\", { role: cellRole, className: 'ms-List-cell', key: itemKey, \"data-list-index\": index, \"data-automationid\": \"ListCell\" }, cell));\n }\n }\n return React.createElement(\"div\", __assign({}, divProps), cells);\n };\n initializeComponentRef(_this);\n _this.state = {\n pages: [],\n isScrolling: false,\n getDerivedStateFromProps: _this._getDerivedStateFromProps,\n hasMounted: false,\n };\n _this._async = new Async(_this);\n _this._events = new EventGroup(_this);\n _this._estimatedPageHeight = 0;\n _this._totalEstimates = 0;\n _this._requiredWindowsAhead = 0;\n _this._requiredWindowsBehind = 0;\n // Track the measure version for everything.\n _this._measureVersion = 0;\n // Ensure that scrolls are lazy updated.\n _this._onAsyncScroll = _this._async.debounce(_this._onAsyncScroll, MIN_SCROLL_UPDATE_DELAY, {\n leading: false,\n maxWait: MAX_SCROLL_UPDATE_DELAY,\n });\n _this._onAsyncIdle = _this._async.debounce(_this._onAsyncIdle, IDLE_DEBOUNCE_DELAY, {\n leading: false,\n });\n _this._onAsyncResize = _this._async.debounce(_this._onAsyncResize, RESIZE_DELAY, {\n leading: false,\n });\n _this._onScrollingDone = _this._async.debounce(_this._onScrollingDone, DONE_SCROLLING_WAIT, {\n leading: false,\n });\n _this._cachedPageHeights = {};\n _this._estimatedPageHeight = 0;\n _this._focusedIndex = -1;\n _this._pageCache = {};\n return _this;\n }\n List.getDerivedStateFromProps = function (nextProps, previousState) {\n return previousState.getDerivedStateFromProps(nextProps, previousState);\n };\n Object.defineProperty(List.prototype, \"pageRefs\", {\n get: function () {\n return this._pageRefs;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Scroll to the given index. By default will bring the page the specified item is on into the view. If a callback\n * to measure the height of an individual item is specified, will only scroll to bring the specific item into view.\n *\n * Note: with items of variable height and no passed in `getPageHeight` method, the list might jump after scrolling\n * when windows before/ahead are being rendered, and the estimated height is replaced using actual elements.\n *\n * @param index - Index of item to scroll to\n * @param measureItem - Optional callback to measure the height of an individual item\n * @param scrollToMode - Optional defines where in the window the item should be positioned to when scrolling\n */\n List.prototype.scrollToIndex = function (index, measureItem, scrollToMode) {\n if (scrollToMode === void 0) { scrollToMode = ScrollToMode.auto; }\n var startIndex = this.props.startIndex;\n var renderCount = this._getRenderCount();\n var endIndex = startIndex + renderCount;\n var allowedRect = this._allowedRect;\n var scrollTop = 0;\n var itemsPerPage = 1;\n for (var itemIndex = startIndex; itemIndex < endIndex; itemIndex += itemsPerPage) {\n var pageSpecification = this._getPageSpecification(this.props, itemIndex, allowedRect);\n var pageHeight = pageSpecification.height;\n itemsPerPage = pageSpecification.itemCount;\n var requestedIndexIsInPage = itemIndex <= index && itemIndex + itemsPerPage > index;\n if (requestedIndexIsInPage) {\n // We have found the page. If the user provided a way to measure an individual item, we will try to scroll in\n // just the given item, otherwise we'll only bring the page into view\n if (measureItem && this._scrollElement) {\n var scrollRect = _measureScrollRect(this._scrollElement);\n var scrollPosition = getScrollYPosition(this._scrollElement);\n var scrollWindow = {\n top: scrollPosition,\n bottom: scrollPosition + scrollRect.height,\n };\n // Adjust for actual item position within page\n var itemPositionWithinPage = index - itemIndex;\n for (var itemIndexInPage = 0; itemIndexInPage < itemPositionWithinPage; ++itemIndexInPage) {\n scrollTop += measureItem(itemIndex + itemIndexInPage);\n }\n var scrollBottom = scrollTop + measureItem(index);\n // If scrollToMode is set to something other than auto, we always want to\n // scroll the item into a specific position on the page.\n switch (scrollToMode) {\n case ScrollToMode.top:\n setScrollYPosition(this._scrollElement, scrollTop);\n return;\n case ScrollToMode.bottom:\n setScrollYPosition(this._scrollElement, scrollBottom - scrollRect.height);\n return;\n case ScrollToMode.center:\n setScrollYPosition(this._scrollElement, (scrollTop + scrollBottom - scrollRect.height) / 2);\n return;\n case ScrollToMode.auto:\n default:\n break;\n }\n var itemIsFullyVisible = scrollTop >= scrollWindow.top && scrollBottom <= scrollWindow.bottom;\n if (itemIsFullyVisible) {\n // Item is already visible, do nothing.\n return;\n }\n var itemIsPartiallyAbove = scrollTop < scrollWindow.top;\n var itemIsPartiallyBelow = scrollBottom > scrollWindow.bottom;\n if (itemIsPartiallyAbove) {\n // We will just scroll to 'scrollTop'\n // .------. - scrollTop\n // |Item |\n // | .----|-. - scrollWindow.top\n // '------' |\n // | |\n // '------'\n }\n else if (itemIsPartiallyBelow) {\n // Adjust scrollTop position to just bring in the element\n // .------. - scrollTop\n // | |\n // | .------.\n // '-|----' | - scrollWindow.bottom\n // | Item |\n // '------' - scrollBottom\n scrollTop = scrollBottom - scrollRect.height;\n }\n }\n if (this._scrollElement) {\n setScrollYPosition(this._scrollElement, scrollTop);\n }\n return;\n }\n scrollTop += pageHeight;\n }\n };\n List.prototype.getStartItemIndexInView = function (measureItem) {\n var pages = this.state.pages || [];\n for (var _i = 0, pages_1 = pages; _i < pages_1.length; _i++) {\n var page = pages_1[_i];\n var isPageVisible = !page.isSpacer && (this._scrollTop || 0) >= page.top && (this._scrollTop || 0) <= page.top + page.height;\n if (isPageVisible) {\n if (!measureItem) {\n var rowHeight = Math.floor(page.height / page.itemCount);\n return page.startIndex + Math.floor((this._scrollTop - page.top) / rowHeight);\n }\n else {\n var totalRowHeight = 0;\n for (var itemIndex = page.startIndex; itemIndex < page.startIndex + page.itemCount; itemIndex++) {\n var rowHeight = measureItem(itemIndex);\n if (page.top + totalRowHeight <= this._scrollTop &&\n this._scrollTop < page.top + totalRowHeight + rowHeight) {\n return itemIndex;\n }\n else {\n totalRowHeight += rowHeight;\n }\n }\n }\n }\n }\n return 0;\n };\n List.prototype.componentDidMount = function () {\n this._scrollElement = findScrollableParent(this._root.current);\n this._scrollTop = 0;\n this.setState(__assign(__assign({}, this._updatePages(this.props, this.state)), { hasMounted: true }));\n this._measureVersion++;\n this._events.on(window, 'resize', this._onAsyncResize);\n if (this._root.current) {\n this._events.on(this._root.current, 'focus', this._onFocus, true);\n }\n if (this._scrollElement) {\n this._events.on(this._scrollElement, 'scroll', this._onScroll);\n this._events.on(this._scrollElement, 'scroll', this._onAsyncScroll);\n }\n };\n List.prototype.componentDidUpdate = function (previousProps, previousState) {\n // Multiple updates may have been queued, so the callback will reflect all of them.\n // Re-fetch the current props and states to avoid using a stale props or state captured in the closure.\n var finalProps = this.props;\n var finalState = this.state;\n if (this.state.pagesVersion !== previousState.pagesVersion) {\n // If we weren't provided with the page height, measure the pages\n if (!finalProps.getPageHeight) {\n // If measured version is invalid since we've updated the DOM\n var heightsChanged = this._updatePageMeasurements(finalState.pages);\n // On first render, we should re-measure so that we don't get a visual glitch.\n if (heightsChanged) {\n this._materializedRect = null;\n if (!this._hasCompletedFirstRender) {\n this._hasCompletedFirstRender = true;\n this.setState(this._updatePages(finalProps, finalState));\n }\n else {\n this._onAsyncScroll();\n }\n }\n else {\n // Enqueue an idle bump.\n this._onAsyncIdle();\n }\n }\n else {\n // Enqueue an idle bump\n this._onAsyncIdle();\n }\n // Notify the caller that rendering the new pages has completed\n if (finalProps.onPagesUpdated) {\n finalProps.onPagesUpdated(finalState.pages);\n }\n }\n };\n List.prototype.componentWillUnmount = function () {\n this._async.dispose();\n this._events.dispose();\n delete this._scrollElement;\n };\n List.prototype.shouldComponentUpdate = function (newProps, newState) {\n var oldPages = this.state.pages;\n var newPages = newState.pages;\n var shouldComponentUpdate = false;\n // Update if the page stops scrolling\n if (!newState.isScrolling && this.state.isScrolling) {\n return true;\n }\n if (newProps.version !== this.props.version) {\n return true;\n }\n if (newProps.className !== this.props.className) {\n return true;\n }\n if (newProps.items === this.props.items && oldPages.length === newPages.length) {\n for (var i = 0; i < oldPages.length; i++) {\n var oldPage = oldPages[i];\n var newPage = newPages[i];\n if (oldPage.key !== newPage.key || oldPage.itemCount !== newPage.itemCount) {\n shouldComponentUpdate = true;\n break;\n }\n }\n }\n else {\n shouldComponentUpdate = true;\n }\n return shouldComponentUpdate;\n };\n List.prototype.forceUpdate = function () {\n this._invalidatePageCache();\n // Ensure that when the list is force updated we update the pages first before render.\n this._updateRenderRects(this.props, this.state, true);\n this.setState(this._updatePages(this.props, this.state));\n this._measureVersion++;\n _super.prototype.forceUpdate.call(this);\n };\n /**\n * Get the current height the list and it's pages.\n */\n List.prototype.getTotalListHeight = function () {\n return this._surfaceRect.height;\n };\n List.prototype.render = function () {\n var _a = this.props, className = _a.className, _b = _a.role, role = _b === void 0 ? 'list' : _b, onRenderSurface = _a.onRenderSurface, onRenderRoot = _a.onRenderRoot;\n var _c = this.state.pages, pages = _c === void 0 ? [] : _c;\n var pageElements = [];\n var divProps = getNativeProps(this.props, divProperties);\n for (var _i = 0, pages_2 = pages; _i < pages_2.length; _i++) {\n var page = pages_2[_i];\n pageElements.push(this._renderPage(page));\n }\n var finalOnRenderSurface = onRenderSurface\n ? composeRenderFunction(onRenderSurface, this._onRenderSurface)\n : this._onRenderSurface;\n var finalOnRenderRoot = onRenderRoot\n ? composeRenderFunction(onRenderRoot, this._onRenderRoot)\n : this._onRenderRoot;\n return finalOnRenderRoot({\n rootRef: this._root,\n pages: pages,\n surfaceElement: finalOnRenderSurface({\n surfaceRef: this._surface,\n pages: pages,\n pageElements: pageElements,\n divProps: {\n role: 'presentation',\n className: 'ms-List-surface',\n },\n }),\n divProps: __assign(__assign({}, divProps), { className: css('ms-List', className), role: pageElements.length > 0 ? role : undefined, 'aria-label': pageElements.length > 0 ? divProps['aria-label'] : undefined }),\n });\n };\n List.prototype._shouldVirtualize = function (props) {\n if (props === void 0) { props = this.props; }\n var onShouldVirtualize = props.onShouldVirtualize;\n return !onShouldVirtualize || onShouldVirtualize(props);\n };\n /**\n * when props.items change or forceUpdate called, throw away cached pages\n */\n List.prototype._invalidatePageCache = function () {\n this._pageCache = {};\n };\n List.prototype._renderPage = function (page) {\n var _this = this;\n var usePageCache = this.props.usePageCache;\n var cachedPage;\n // if usePageCache is set and cached page element can be found, just return cached page\n if (usePageCache) {\n cachedPage = this._pageCache[page.key];\n if (cachedPage && cachedPage.pageElement) {\n return cachedPage.pageElement;\n }\n }\n var pageStyle = this._getPageStyle(page);\n var _a = this.props.onRenderPage, onRenderPage = _a === void 0 ? this._onRenderPage : _a;\n var pageElement = onRenderPage({\n page: page,\n className: 'ms-List-page',\n key: page.key,\n ref: function (newRef) {\n _this._pageRefs[page.key] = newRef;\n },\n style: pageStyle,\n role: 'presentation',\n }, this._onRenderPage);\n // cache the first page for now since it is re-rendered a lot times unnecessarily.\n // todo: a more aggresive caching mechanism is to cache pages constaining the items not changed.\n // now we re-render pages too frequently, for example, props.items increased from 30 to 60, although the\n // first 30 items did not change, we still re-rendered all of them in this props.items change.\n if (usePageCache && page.startIndex === 0) {\n this._pageCache[page.key] = {\n page: page,\n pageElement: pageElement,\n };\n }\n return pageElement;\n };\n /** Generate the style object for the page. */\n List.prototype._getPageStyle = function (page) {\n var getPageStyle = this.props.getPageStyle;\n return __assign(__assign({}, (getPageStyle ? getPageStyle(page) : {})), (!page.items\n ? {\n height: page.height,\n }\n : {}));\n };\n /** Track the last item index focused so that we ensure we keep it rendered. */\n List.prototype._onFocus = function (ev) {\n var target = ev.target;\n while (target !== this._surface.current) {\n var indexString = target.getAttribute('data-list-index');\n if (indexString) {\n this._focusedIndex = Number(indexString);\n break;\n }\n target = getParent(target);\n }\n };\n /**\n * Called synchronously to reset the required render range to 0 on scrolling. After async scroll has executed,\n * we will call onAsyncIdle which will reset it back to it's correct value.\n */\n List.prototype._onScroll = function () {\n if (!this.state.isScrolling && !this.props.ignoreScrollingState) {\n this.setState({ isScrolling: true });\n }\n this._resetRequiredWindows();\n this._onScrollingDone();\n };\n List.prototype._resetRequiredWindows = function () {\n this._requiredWindowsAhead = 0;\n this._requiredWindowsBehind = 0;\n };\n /**\n * Debounced method to asynchronously update the visible region on a scroll event.\n */\n List.prototype._onAsyncScroll = function () {\n this._updateRenderRects(this.props, this.state);\n // Only update pages when the visible rect falls outside of the materialized rect.\n if (!this._materializedRect || !_isContainedWithin(this._requiredRect, this._materializedRect)) {\n this.setState(this._updatePages(this.props, this.state));\n }\n else {\n // console.log('requiredRect contained in materialized', this._requiredRect, this._materializedRect);\n }\n };\n /**\n * This is an async debounced method that will try and increment the windows we render. If we can increment\n * either, we increase the amount we render and re-evaluate.\n */\n List.prototype._onAsyncIdle = function () {\n var _a = this.props, renderedWindowsAhead = _a.renderedWindowsAhead, renderedWindowsBehind = _a.renderedWindowsBehind;\n var _b = this, requiredWindowsAhead = _b._requiredWindowsAhead, requiredWindowsBehind = _b._requiredWindowsBehind;\n var windowsAhead = Math.min(renderedWindowsAhead, requiredWindowsAhead + 1);\n var windowsBehind = Math.min(renderedWindowsBehind, requiredWindowsBehind + 1);\n if (windowsAhead !== requiredWindowsAhead || windowsBehind !== requiredWindowsBehind) {\n // console.log('idling', windowsBehind, windowsAhead);\n this._requiredWindowsAhead = windowsAhead;\n this._requiredWindowsBehind = windowsBehind;\n this._updateRenderRects(this.props, this.state);\n this.setState(this._updatePages(this.props, this.state));\n }\n if (renderedWindowsAhead > windowsAhead || renderedWindowsBehind > windowsBehind) {\n // Async increment on next tick.\n this._onAsyncIdle();\n }\n };\n /**\n * Function to call when the list is done scrolling.\n * This function is debounced.\n */\n List.prototype._onScrollingDone = function () {\n if (!this.props.ignoreScrollingState) {\n this.setState({ isScrolling: false });\n }\n };\n List.prototype._onAsyncResize = function () {\n this.forceUpdate();\n };\n List.prototype._updatePages = function (nextProps, previousState) {\n // console.log('updating pages');\n if (!this._requiredRect) {\n this._updateRenderRects(nextProps, previousState);\n }\n var newListState = this._buildPages(nextProps, previousState);\n var oldListPages = previousState.pages;\n this._notifyPageChanges(oldListPages, newListState.pages, this.props);\n return __assign(__assign(__assign({}, previousState), newListState), { pagesVersion: {} });\n };\n /**\n * Notify consumers that the rendered pages have changed\n * @param oldPages - The old pages\n * @param newPages - The new pages\n * @param props - The props to use\n */\n List.prototype._notifyPageChanges = function (oldPages, newPages, props) {\n var onPageAdded = props.onPageAdded, onPageRemoved = props.onPageRemoved;\n if (onPageAdded || onPageRemoved) {\n var renderedIndexes = {};\n for (var _i = 0, oldPages_1 = oldPages; _i < oldPages_1.length; _i++) {\n var page = oldPages_1[_i];\n if (page.items) {\n renderedIndexes[page.startIndex] = page;\n }\n }\n for (var _a = 0, newPages_1 = newPages; _a < newPages_1.length; _a++) {\n var page = newPages_1[_a];\n if (page.items) {\n if (!renderedIndexes[page.startIndex]) {\n this._onPageAdded(page);\n }\n else {\n delete renderedIndexes[page.startIndex];\n }\n }\n }\n for (var index in renderedIndexes) {\n if (renderedIndexes.hasOwnProperty(index)) {\n this._onPageRemoved(renderedIndexes[index]);\n }\n }\n }\n };\n List.prototype._updatePageMeasurements = function (pages) {\n var heightChanged = false;\n // when not in virtualize mode, we render all the items without page measurement\n if (!this._shouldVirtualize()) {\n return heightChanged;\n }\n for (var i = 0; i < pages.length; i++) {\n var page = pages[i];\n if (page.items) {\n heightChanged = this._measurePage(page) || heightChanged;\n }\n }\n return heightChanged;\n };\n /**\n * Given a page, measure its dimensions, update cache.\n * @returns True if the height has changed.\n */\n List.prototype._measurePage = function (page) {\n var hasChangedHeight = false;\n var pageElement = this._pageRefs[page.key];\n var cachedHeight = this._cachedPageHeights[page.startIndex];\n // console.log(' * measure attempt', page.startIndex, cachedHeight);\n if (pageElement &&\n this._shouldVirtualize() &&\n (!cachedHeight || cachedHeight.measureVersion !== this._measureVersion)) {\n var newClientRect = {\n width: pageElement.clientWidth,\n height: pageElement.clientHeight,\n };\n if (newClientRect.height || newClientRect.width) {\n hasChangedHeight = page.height !== newClientRect.height;\n // console.warn(' *** expensive page measure', page.startIndex, page.height, newClientRect.height);\n page.height = newClientRect.height;\n this._cachedPageHeights[page.startIndex] = {\n height: newClientRect.height,\n measureVersion: this._measureVersion,\n };\n this._estimatedPageHeight = Math.round((this._estimatedPageHeight * this._totalEstimates + newClientRect.height) / (this._totalEstimates + 1));\n this._totalEstimates++;\n }\n }\n return hasChangedHeight;\n };\n /** Called when a page has been added to the DOM. */\n List.prototype._onPageAdded = function (page) {\n var onPageAdded = this.props.onPageAdded;\n // console.log('page added', page.startIndex, this.state.pages.map(page => page.key).join(', '));\n if (onPageAdded) {\n onPageAdded(page);\n }\n };\n /** Called when a page has been removed from the DOM. */\n List.prototype._onPageRemoved = function (page) {\n var onPageRemoved = this.props.onPageRemoved;\n // console.log(' --- page removed', page.startIndex, this.state.pages.map(page => page.key).join(', '));\n if (onPageRemoved) {\n onPageRemoved(page);\n }\n };\n /** Build up the pages that should be rendered. */\n List.prototype._buildPages = function (props, state) {\n var renderCount = props.renderCount;\n var items = props.items, startIndex = props.startIndex, getPageHeight = props.getPageHeight;\n renderCount = this._getRenderCount(props);\n var materializedRect = __assign({}, EMPTY_RECT);\n var pages = [];\n var itemsPerPage = 1;\n var pageTop = 0;\n var currentSpacer = null;\n var focusedIndex = this._focusedIndex;\n var endIndex = startIndex + renderCount;\n var shouldVirtualize = this._shouldVirtualize(props);\n // First render is very important to track; when we render cells, we have no idea of estimated page height.\n // So we should default to rendering only the first page so that we can get information.\n // However if the user provides a measure function, let's just assume they know the right heights.\n var isFirstRender = this._estimatedPageHeight === 0 && !getPageHeight;\n var allowedRect = this._allowedRect;\n var _loop_1 = function (itemIndex) {\n var pageSpecification = this_1._getPageSpecification(props, itemIndex, allowedRect);\n var pageHeight = pageSpecification.height;\n var pageData = pageSpecification.data;\n var key = pageSpecification.key;\n itemsPerPage = pageSpecification.itemCount;\n var pageBottom = pageTop + pageHeight - 1;\n var isPageRendered = findIndex(state.pages, function (page) { return !!page.items && page.startIndex === itemIndex; }) > -1;\n var isPageInAllowedRange = !allowedRect || (pageBottom >= allowedRect.top && pageTop <= allowedRect.bottom);\n var isPageInRequiredRange = !this_1._requiredRect || (pageBottom >= this_1._requiredRect.top && pageTop <= this_1._requiredRect.bottom);\n var isPageVisible = (!isFirstRender && (isPageInRequiredRange || (isPageInAllowedRange && isPageRendered))) || !shouldVirtualize;\n var isPageFocused = focusedIndex >= itemIndex && focusedIndex < itemIndex + itemsPerPage;\n var isFirstPage = itemIndex === startIndex;\n // console.log('building page', itemIndex, 'pageTop: ' + pageTop, 'inAllowed: ' +\n // isPageInAllowedRange, 'inRequired: ' + isPageInRequiredRange);\n // Only render whats visible, focused, or first page,\n // or when running in fast rendering mode (not in virtualized mode), we render all current items in pages\n if (isPageVisible || isPageFocused || isFirstPage) {\n if (currentSpacer) {\n pages.push(currentSpacer);\n currentSpacer = null;\n }\n var itemsInPage = Math.min(itemsPerPage, endIndex - itemIndex);\n var newPage = this_1._createPage(key, items.slice(itemIndex, itemIndex + itemsInPage), itemIndex, undefined, undefined, pageData);\n newPage.top = pageTop;\n newPage.height = pageHeight;\n if (this_1._visibleRect && this_1._visibleRect.bottom) {\n newPage.isVisible = pageBottom >= this_1._visibleRect.top && pageTop <= this_1._visibleRect.bottom;\n }\n pages.push(newPage);\n if (isPageInRequiredRange && this_1._allowedRect) {\n _mergeRect(materializedRect, {\n top: pageTop,\n bottom: pageBottom,\n height: pageHeight,\n left: allowedRect.left,\n right: allowedRect.right,\n width: allowedRect.width,\n });\n }\n }\n else {\n if (!currentSpacer) {\n currentSpacer = this_1._createPage(SPACER_KEY_PREFIX + itemIndex, undefined, itemIndex, 0, undefined, pageData, true /*isSpacer*/);\n }\n currentSpacer.height = (currentSpacer.height || 0) + (pageBottom - pageTop) + 1;\n currentSpacer.itemCount += itemsPerPage;\n }\n pageTop += pageBottom - pageTop + 1;\n // in virtualized mode, we render need to render first page then break and measure,\n // otherwise, we render all items without measurement to make rendering fast\n if (isFirstRender && shouldVirtualize) {\n return \"break\";\n }\n };\n var this_1 = this;\n for (var itemIndex = startIndex; itemIndex < endIndex; itemIndex += itemsPerPage) {\n var state_1 = _loop_1(itemIndex);\n if (state_1 === \"break\")\n break;\n }\n if (currentSpacer) {\n currentSpacer.key = SPACER_KEY_PREFIX + 'end';\n pages.push(currentSpacer);\n }\n this._materializedRect = materializedRect;\n // console.log('materialized: ', materializedRect);\n return __assign(__assign({}, state), { pages: pages, measureVersion: this._measureVersion });\n };\n List.prototype._getPageSpecification = function (props, itemIndex, visibleRect) {\n var getPageSpecification = props.getPageSpecification;\n if (getPageSpecification) {\n var pageData = getPageSpecification(itemIndex, visibleRect);\n var _a = pageData.itemCount, itemCount = _a === void 0 ? this._getItemCountForPage(itemIndex, visibleRect) : _a;\n var _b = pageData.height, height = _b === void 0 ? this._getPageHeight(itemIndex, visibleRect, itemCount) : _b;\n return {\n itemCount: itemCount,\n height: height,\n data: pageData.data,\n key: pageData.key,\n };\n }\n else {\n var itemCount = this._getItemCountForPage(itemIndex, visibleRect);\n return {\n itemCount: itemCount,\n height: this._getPageHeight(itemIndex, visibleRect, itemCount),\n };\n }\n };\n /**\n * Get the pixel height of a give page. Will use the props getPageHeight first, and if not provided, fallback to\n * cached height, or estimated page height, or default page height.\n */\n List.prototype._getPageHeight = function (itemIndex, visibleRect, itemsPerPage) {\n if (this.props.getPageHeight) {\n return this.props.getPageHeight(itemIndex, visibleRect, itemsPerPage);\n }\n else {\n var cachedHeight = this._cachedPageHeights[itemIndex];\n return cachedHeight ? cachedHeight.height : this._estimatedPageHeight || DEFAULT_PAGE_HEIGHT;\n }\n };\n List.prototype._getItemCountForPage = function (itemIndex, visibileRect) {\n var itemsPerPage = this.props.getItemCountForPage\n ? this.props.getItemCountForPage(itemIndex, visibileRect)\n : DEFAULT_ITEMS_PER_PAGE;\n return itemsPerPage ? itemsPerPage : DEFAULT_ITEMS_PER_PAGE;\n };\n List.prototype._createPage = function (pageKey, items, startIndex, count, style, data, isSpacer) {\n if (startIndex === void 0) { startIndex = -1; }\n if (count === void 0) { count = items ? items.length : 0; }\n if (style === void 0) { style = {}; }\n pageKey = pageKey || PAGE_KEY_PREFIX + startIndex;\n var cachedPage = this._pageCache[pageKey];\n if (cachedPage && cachedPage.page) {\n return cachedPage.page;\n }\n return {\n key: pageKey,\n startIndex: startIndex,\n itemCount: count,\n items: items,\n style: style,\n top: 0,\n height: 0,\n data: data,\n isSpacer: isSpacer || false,\n };\n };\n List.prototype._getRenderCount = function (props) {\n var _a = props || this.props, items = _a.items, startIndex = _a.startIndex, renderCount = _a.renderCount;\n return renderCount === undefined ? (items ? items.length - startIndex : 0) : renderCount;\n };\n /** Calculate the visible rect within the list where top: 0 and left: 0 is the top/left of the list. */\n List.prototype._updateRenderRects = function (props, state, forceUpdate) {\n var renderedWindowsAhead = props.renderedWindowsAhead, renderedWindowsBehind = props.renderedWindowsBehind;\n var pages = state.pages;\n // when not in virtualize mode, we render all items without measurement to optimize page rendering perf\n if (!this._shouldVirtualize(props)) {\n return;\n }\n var surfaceRect = this._surfaceRect || __assign({}, EMPTY_RECT);\n var scrollHeight = getScrollHeight(this._scrollElement);\n var scrollTop = getScrollYPosition(this._scrollElement);\n // WARNING: EXPENSIVE CALL! We need to know the surface top relative to the window.\n // This needs to be called to recalculate when new pages should be loaded.\n // We check to see how far we've scrolled and if it's further than a third of a page we run it again.\n if (this._surface.current &&\n (forceUpdate ||\n !pages ||\n !this._surfaceRect ||\n !scrollHeight ||\n scrollHeight !== this._scrollHeight ||\n Math.abs(this._scrollTop - scrollTop) > this._estimatedPageHeight / 3)) {\n surfaceRect = this._surfaceRect = _measureSurfaceRect(this._surface.current);\n this._scrollTop = scrollTop;\n }\n // If the scroll height has changed, something in the container likely resized and\n // we should redo the page heights incase their content resized.\n if (forceUpdate || !scrollHeight || scrollHeight !== this._scrollHeight) {\n this._measureVersion++;\n }\n this._scrollHeight = scrollHeight || 0;\n // If the surface is above the container top or below the container bottom, or if this is not the first\n // render return empty rect.\n // The first time the list gets rendered we need to calculate the rectangle. The width of the list is\n // used to calculate the width of the list items.\n var visibleTop = Math.max(0, -surfaceRect.top);\n var win = getWindow(this._root.current);\n var visibleRect = {\n top: visibleTop,\n left: surfaceRect.left,\n bottom: visibleTop + win.innerHeight,\n right: surfaceRect.right,\n width: surfaceRect.width,\n height: win.innerHeight,\n };\n // The required/allowed rects are adjusted versions of the visible rect.\n this._requiredRect = _expandRect(visibleRect, this._requiredWindowsBehind, this._requiredWindowsAhead);\n this._allowedRect = _expandRect(visibleRect, renderedWindowsBehind, renderedWindowsAhead);\n // store the visible rect for later use.\n this._visibleRect = visibleRect;\n };\n List.defaultProps = {\n startIndex: 0,\n onRenderCell: function (item, index, containsFocus) { return React.createElement(React.Fragment, null, (item && item.name) || ''); },\n onRenderCellConditional: undefined,\n renderedWindowsAhead: DEFAULT_RENDERED_WINDOWS_AHEAD,\n renderedWindowsBehind: DEFAULT_RENDERED_WINDOWS_BEHIND,\n };\n return List;\n}(React.Component));\nexport { List };\nfunction _expandRect(rect, pagesBefore, pagesAfter) {\n var top = rect.top - pagesBefore * rect.height;\n var height = rect.height + (pagesBefore + pagesAfter) * rect.height;\n return {\n top: top,\n bottom: top + height,\n height: height,\n left: rect.left,\n right: rect.right,\n width: rect.width,\n };\n}\nfunction _isContainedWithin(innerRect, outerRect) {\n return (innerRect.top >= outerRect.top &&\n innerRect.left >= outerRect.left &&\n innerRect.bottom <= outerRect.bottom &&\n innerRect.right <= outerRect.right);\n}\nfunction _mergeRect(targetRect, newRect) {\n targetRect.top = newRect.top < targetRect.top || targetRect.top === -1 ? newRect.top : targetRect.top;\n targetRect.left = newRect.left < targetRect.left || targetRect.left === -1 ? newRect.left : targetRect.left;\n targetRect.bottom =\n newRect.bottom > targetRect.bottom || targetRect.bottom === -1 ? newRect.bottom : targetRect.bottom;\n targetRect.right = newRect.right > targetRect.right || targetRect.right === -1 ? newRect.right : targetRect.right;\n targetRect.width = targetRect.right - targetRect.left + 1;\n targetRect.height = targetRect.bottom - targetRect.top + 1;\n return targetRect;\n}\n//# sourceMappingURL=List.js.map","/**\n * {@docCategory List}\n */\nexport var ScrollToMode = {\n /**\n * Does not make any consideration to where in the viewport the item should align to.\n */\n auto: 0,\n /**\n * Attempts to scroll the list so the top of the desired item is aligned with the top of the viewport.\n */\n top: 1,\n /**\n * Attempts to scroll the list so the bottom of the desired item is aligned with the bottom of the viewport.\n */\n bottom: 2,\n /**\n * Attempts to scroll the list so the desired item is in the exact center of the viewport.\n */\n center: 3,\n};\n//# sourceMappingURL=List.types.js.map","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 (_forceIntoFirstElement, bypassHiddenElements) {\n var focusSucceeded = false;\n if (divContainer.current) {\n focusSucceeded = focusFirstChild(divContainer.current, bypassHiddenElements);\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(newVisibilityState);\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 (newVisibilityState) {\n _this._updateFooterPosition();\n if (newVisibilityState === PanelVisibilityState.open && _this.props.onOpened) {\n _this.props.onOpened();\n }\n if (newVisibilityState === 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 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._async = new Async(this);\n this._events = new EventGroup(this);\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, enableAriaHiddenSiblings: isOpen ? true : false }, 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: \".concat(ScreenWidthMinMedium, \"px)\")] = {\n width: panelWidth.sm,\n },\n _a);\nvar mediumPanelSelectors = (_b = {},\n _b[\"@media (min-width: \".concat(ScreenWidthMinLarge, \"px)\")] = {\n width: panelWidth.md1,\n },\n _b[\"@media (min-width: \".concat(ScreenWidthMinXLarge, \"px)\")] = {\n width: panelWidth.md2,\n },\n _b);\nvar largePanelSelectors = (_c = {},\n _c[\"@media (min-width: \".concat(ScreenWidthMinUhfMobile, \"px)\")] = {\n left: panelMargin.md,\n width: panelWidth.auto,\n },\n _c[\"@media (min-width: \".concat(ScreenWidthMinXXLarge, \"px)\")] = {\n left: panelMargin.lg,\n },\n _c);\nvar largeFixedPanelSelectors = (_d = {},\n _d[\"@media (min-width: \".concat(ScreenWidthMinXXLarge, \"px)\")] = {\n left: panelMargin.auto,\n width: panelWidth.lg,\n },\n _d);\nvar extraLargePanelSelectors = (_e = {},\n _e[\"@media (min-width: \".concat(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 \".concat(semanticColors.variantBorder),\n borderRight: \"3px solid \".concat(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 // Ensures that the sticky header always has a background to prevent overlaps on scroll.\n backgroundColor: semanticColors.bodyBackground,\n paddingTop: 18,\n selectors: (_b = {},\n _b[\"@media (min-height: \".concat(ScreenWidthMinMedium, \"px)\")] = {\n position: 'sticky',\n top: 0,\n zIndex: 1,\n },\n _b),\n },\n hasCustomNavigation && {\n paddingTop: '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: \".concat(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 \".concat(AnimationVariables.durationValue3, \" \").concat(AnimationVariables.easeFunction2),\n selectors: (_d = {},\n _d[\"@media (min-height: \".concat(ScreenWidthMinMedium, \"px)\")] = {\n position: 'sticky',\n bottom: 0,\n },\n _d),\n },\n isFooterSticky && {\n backgroundColor: 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","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 * 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 \".concat(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: \"\".concat(borderSize, \" solid \").concat(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: \"\".concat(borderSize, \" solid \").concat(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 { 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 } 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) {\n 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 };\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","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 var content = renderFunction && renderFunction(props, defaultRenderFunction);\n return content ? (React.createElement(\"div\", { dir: \"auto\", className: elementClassNames }, content)) : undefined;\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';\n/**\n * Creates a ref, and calls a callback whenever the ref changes to a non-null value. The callback can optionally return\n * a cleanup function that'll be called before the value changes, and when the ref is unmounted.\n *\n * This can be used to work around a limitation that useEffect cannot depend on `ref.current` (see\n * https://github.com/facebook/react/issues/14387#issuecomment-503616820).\n *\n * Usage example:\n * ```ts\n * const myRef = useRefEffect(element => {\n * ...\n * return () => { ... cleanup ... };\n * });\n * ```\n * ```jsx\n *
\n * ```\n *\n * @param callback - Called whenever the ref's value changes to non-null. Can optionally return a cleanup function.\n * @param initial - (Optional) The initial value for the ref.\n *\n * @returns A function that should be called to set the ref's value. The object also has a `.current` member that can be\n * used to access the ref's value (like a normal RefObject). It can be hooked up to an element's `ref` property.\n */\nexport function useRefEffect(callback, initial) {\n if (initial === void 0) { initial = null; }\n var createRefCallback = function () {\n var refCallback = function (value) {\n if (data.ref.current !== value) {\n if (data.cleanup) {\n data.cleanup();\n data.cleanup = undefined;\n }\n data.ref.current = value;\n if (value !== null) {\n data.cleanup = data.callback(value);\n }\n }\n };\n refCallback.current = initial;\n return refCallback;\n };\n var data = React.useRef({\n ref: createRefCallback(),\n callback: callback,\n }).current;\n data.callback = callback;\n return data.ref;\n}\n//# sourceMappingURL=useRefEffect.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\".concat(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, overflowButtonAs = props.overflowButtonAs;\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 var itemSemantics = link.role && link.role !== 'tab'\n ? {\n role: link.role,\n }\n : {\n role: 'tab',\n 'aria-selected': isSelected,\n };\n return (React.createElement(CommandButton, __assign({}, headerButtonProps, itemSemantics, { 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, 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 = \"\".concat(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 link.role = 'menuitem';\n return {\n key: link.itemKey || \"\".concat(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 var OverflowButton = overflowButtonAs ? overflowButtonAs : CommandButton;\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(OverflowButton, { 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 * as React from 'react';\nimport { useIsomorphicLayoutEffect, useRefEffect } from '@fluentui/react-hooks';\nimport { getWindow } from '@fluentui/utilities';\nimport { observeResize } from './observeResize';\n/**\n * Track whether any items don't fit within their container, and move them to the overflow menu.\n * Items are moved into the overflow menu from back to front, excluding pinned items.\n *\n * The overflow menu button must be the last sibling of all of the items that can be put into the overflow, and it\n * must be hooked up to the `setMenuButtonRef` setter function that's returned by `useOverflow`:\n * ```ts\n * const overflow = useOverflow(...);\n * ```\n * ```jsx\n * \n * // Index 0\n * // Index 1\n * ...\n *