{"version":3,"file":"static/js/9983_3887593c1a1231fe7012.js","mappings":"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","sources":["file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react@8.122.5_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react/lib/components/Icon/FontIcon.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react@8.122.5_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react/lib/components/Icon/Icon.types.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react@8.122.5_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react/lib/components/Icon/Icon.base.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react@8.122.5_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react/lib/components/Icon/Icon.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react@8.122.5_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react/lib/components/Icon/Icon.styles.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react@8.122.5_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react/lib/components/Icon/ImageIcon.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react@8.122.5_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react/lib/components/Image/Image.base.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react@8.122.5_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react/lib/components/Image/Image.styles.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react@8.122.5_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react/lib/components/Image/Image.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react@8.122.5_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react/lib/components/Image/Image.types.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react@8.122.5_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react/lib/components/KeytipData/useKeytipData.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react@8.122.5_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react/lib/components/KeytipData/KeytipData.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react@8.122.5_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react/lib/components/Label/Label.base.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react@8.122.5_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react/lib/components/Label/Label.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react@8.122.5_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react/lib/components/Label/Label.styles.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react@8.122.5_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react/lib/components/Layer/Layer.base.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react@8.122.5_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react/lib/components/Layer/Layer.styles.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react@8.122.5_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react/lib/components/Layer/Layer.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react@8.122.5_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react/lib/components/Layer/Layer.notification.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react@8.122.5_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react/lib/components/Layer/LayerHost.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react@8.122.5_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react/lib/components/Link/useLink.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react@8.122.5_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react/lib/components/Link/Link.base.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react@8.122.5_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react/lib/components/Link/Link.styles.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react@8.122.5_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react/lib/components/Link/Link.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react@8.122.5_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react/lib/components/MessageBar/MessageBar.base.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react@8.122.5_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react/lib/components/MessageBar/MessageBar.styles.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react@8.122.5_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react/lib/components/MessageBar/MessageBar.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react@8.122.5_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react/lib/components/MessageBar/MessageBar.types.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react@8.122.5_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react/lib/components/Modal/Modal.styles.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react@8.122.5_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react/lib/components/Modal/Modal.base.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react@8.122.5_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react/lib/components/Modal/Modal.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react@8.122.5_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react/lib/components/Overlay/Overlay.base.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react@8.122.5_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react/lib/components/Overlay/Overlay.styles.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react@8.122.5_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react/lib/components/Overlay/Overlay.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react@8.122.5_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react/lib/components/Panel/Panel.base.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react@8.122.5_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react/lib/components/Panel/Panel.styles.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react@8.122.5_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react/lib/components/Panel/Panel.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react@8.122.5_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react/lib/components/Panel/Panel.types.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react@8.122.5_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react/lib/components/Persona/PersonaConsts.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react@8.122.5_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react/lib/components/Persona/PersonaPresence/PersonaPresence.base.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react@8.122.5_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react/lib/components/Persona/PersonaPresence/PersonaPresence.styles.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react@8.122.5_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react/lib/components/Persona/PersonaPresence/PersonaPresence.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react@8.122.5_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react/lib/components/Persona/PersonaInitialsColor.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react@8.122.5_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react/lib/components/Persona/PersonaCoin/PersonaCoin.base.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react@8.122.5_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react/lib/components/Persona/PersonaCoin/PersonaCoin.styles.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react@8.122.5_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react/lib/components/Persona/PersonaCoin/PersonaCoin.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react@8.122.5_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react/lib/components/Persona/Persona.base.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react@8.122.5_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react/lib/components/Persona/Persona.styles.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react@8.122.5_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react/lib/components/Persona/Persona.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react@8.122.5_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react/lib/components/Persona/Persona.types.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react@8.122.5_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react/lib/components/Pivot/Pivot.base.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react@8.122.5_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react/lib/components/Pivot/Pivot.styles.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react@8.122.5_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react/lib/components/Pivot/Pivot.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react@8.122.5_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react/lib/components/Pivot/PivotItem.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@fluentui+react@8.122.5_53swvjg5d4vee6odcktdjzlijq/node_modules/@fluentui/react/lib/components/Popup/Popup.js"],"sourcesContent":["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 textDecoration: 'inherit',\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 { 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 { __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 { __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: options.ariaDescribedBy,\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 { __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, __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 { __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, shadowRoot) {\n var _a, _b;\n if (shadowRoot === void 0) { shadowRoot = null; }\n var root = shadowRoot !== null && shadowRoot !== void 0 ? shadowRoot : doc;\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 = root.getElementById(hostId)) !== null && _b !== void 0 ? _b : null;\n }\n else {\n var defaultHostSelector = getDefaultTarget();\n // Find the host.\n var host = defaultHostSelector ? root.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, shadowRoot);\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, _b, _c, _d;\n var doc = getDocument(rootRef.current);\n var shadowRoot = ((_b = (_a = rootRef.current) === null || _a === void 0 ? void 0 : _a.getRootNode()) === null || _b === void 0 ? void 0 : _b.host)\n ? (_c = rootRef === null || rootRef === void 0 ? void 0 : rootRef.current) === null || _c === void 0 ? void 0 : _c.getRootNode()\n : undefined;\n if (!doc || (!doc && !shadowRoot)) {\n return;\n }\n var host = getHost(doc, shadowRoot);\n if (!host) {\n return;\n }\n // Tabster in V9 sets aria-hidden on the elements outside of the modal dialog. And it doesn't set aria-hidden\n // on the virtual children of the dialog. But the host element itself is not a virtual child of a dialog, it\n // might contain virtual children. noDirectAriaHidden flag makes Tabster to poke inside the element and set\n // aria-hidden on the children (if they are not virtual children of the active V9 dialog) not on the host element.\n // To avoid importing Tabster as a dependency here, we just set a flag on the host element which is checked by\n // Tabster.\n if (!host.__tabsterElementFlags) {\n host.__tabsterElementFlags = {};\n }\n host.__tabsterElementFlags.noDirectAriaHidden = true;\n // Remove and re-create any previous existing layer elements.\n removeLayerElement();\n var el = ((_d = host.ownerDocument) !== null && _d !== void 0 ? _d : 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 { 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","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, shadowRoot) {\n if (shadowRoot === void 0) { shadowRoot = null; }\n var host = doc.createElement('div');\n host.setAttribute('id', defaultHostId);\n host.style.cssText = 'position:fixed;z-index:1000000';\n if (shadowRoot) {\n shadowRoot.appendChild(host);\n }\n else {\n doc === null || doc === void 0 ? void 0 : doc.body.appendChild(host);\n }\n // 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, shadowRoot) {\n if (shadowRoot === void 0) { shadowRoot = null; }\n var root = shadowRoot !== null && shadowRoot !== void 0 ? shadowRoot : doc;\n var host = root.querySelector(\"#\".concat(defaultHostId));\n if (host) {\n root.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","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { useUnmount } from '@fluentui/react-hooks';\nimport { css, getId } from '../../Utilities';\nimport { notifyHostChanged, registerLayerHost, unregisterLayerHost } from './Layer.notification';\nexport var LayerHost = function (props) {\n var className = props.className;\n var layerHostId = React.useState(function () { return getId(); })[0];\n var _a = props.id, hostId = _a === void 0 ? layerHostId : _a;\n var layerHostRef = React.useRef({\n hostId: hostId,\n rootRef: React.useRef(null),\n notifyLayersChanged: function () {\n // Nothing, since the default implementation of Layer Host does not need to react to layer changes.\n },\n });\n React.useImperativeHandle(props.componentRef, function () { return layerHostRef.current; });\n React.useEffect(function () {\n registerLayerHost(hostId, layerHostRef.current);\n notifyHostChanged(hostId);\n // eslint-disable-next-line react-hooks/exhaustive-deps -- should only run on first render\n }, []);\n useUnmount(function () {\n unregisterLayerHost(hostId, layerHostRef.current);\n notifyHostChanged(hostId);\n });\n return React.createElement(\"div\", __assign({}, props, { className: css('ms-LayerHost', className), ref: layerHostRef.current.rootRef }));\n};\n//# sourceMappingURL=LayerHost.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 { getGlobalClassNames, HighContrastSelector } from '@fluentui/style-utilities';\nimport { IsFocusVisibleClassName } from '@fluentui/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 _a[\".\".concat(IsFocusVisibleClassName, \" &:focus, :host(.\").concat(IsFocusVisibleClassName, \") &: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 _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', // For Firefox high contrast mode\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","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","var _a;\nimport { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { DelayedRender, classNamesFunction, getNativeProps, htmlElementProperties, css } from '../../Utilities';\nimport { IconButton } from '../../Button';\nimport { Icon } from '../../Icon';\nimport { MessageBarType } from './MessageBar.types';\nimport { useId, useBoolean } from '@fluentui/react-hooks';\nvar ICON_MAP = (_a = {},\n _a[MessageBarType.info] = 'Info',\n _a[MessageBarType.warning] = 'Info',\n _a[MessageBarType.error] = 'ErrorBadge',\n _a[MessageBarType.blocked] = 'Blocked2',\n _a[MessageBarType.severeWarning] = 'Warning',\n _a[MessageBarType.success] = 'Completed',\n _a);\nvar COMPONENT_NAME = 'MessageBar';\nvar getClassNames = classNamesFunction();\nvar getAnnouncementPriority = function (messageBarType) {\n switch (messageBarType) {\n case MessageBarType.blocked:\n case MessageBarType.error:\n case MessageBarType.severeWarning:\n return 'assertive';\n }\n return 'polite';\n};\nvar getRole = function (messageBarType) {\n switch (messageBarType) {\n case MessageBarType.blocked:\n case MessageBarType.error:\n case MessageBarType.severeWarning:\n return 'alert';\n }\n return 'status';\n};\nexport var MessageBarBase = React.forwardRef(function (props, ref) {\n var _a = useBoolean(false), expandSingleLine = _a[0], toggleExpandSingleLine = _a[1].toggle;\n var labelId = useId('MessageBar');\n var actions = props.actions, className = props.className, children = props.children, \n // eslint-disable-next-line deprecation/deprecation\n overflowButtonAriaLabel = props.overflowButtonAriaLabel, dismissIconProps = props.dismissIconProps, styles = props.styles, theme = props.theme, _b = props.messageBarType, messageBarType = _b === void 0 ? MessageBarType.info : _b, _c = props.onDismiss, onDismiss = _c === void 0 ? undefined : _c, _d = props.isMultiline, isMultiline = _d === void 0 ? true : _d, truncated = props.truncated, dismissButtonAriaLabel = props.dismissButtonAriaLabel, messageBarIconProps = props.messageBarIconProps, role = props.role, _e = props.delayedRender, delayedRender = _e === void 0 ? true : _e, expandButtonProps = props.expandButtonProps, _f = props.onExpandButtonToggled, onExpandButtonToggled = _f === void 0 ? undefined : _f, showExpandButton = props.showExpandButton;\n // Wrap 'toggleExpandSingleLine' to execute the 'onExpandButtonToggled' callback whenever the expand button toggles\n var handleToggleExpandSingleLine = React.useCallback(function () {\n toggleExpandSingleLine();\n if (onExpandButtonToggled) {\n // We use the opposite of 'expandSingleLine' here because at this point the useBoolean's\n // useState hasn't been updated yet.\n onExpandButtonToggled(!expandSingleLine);\n }\n }, [expandSingleLine, onExpandButtonToggled, toggleExpandSingleLine]);\n var nativeProps = getNativeProps(props, htmlElementProperties, [\n 'className',\n 'role',\n ]);\n var classNames = getClassNames(styles, {\n theme: theme,\n messageBarType: messageBarType || MessageBarType.info,\n onDismiss: onDismiss !== undefined,\n actions: actions !== undefined,\n truncated: truncated,\n isMultiline: isMultiline,\n expandSingleLine: expandSingleLine,\n className: className,\n });\n var expandIconProps = { iconName: expandSingleLine ? 'DoubleChevronUp' : 'DoubleChevronDown' };\n var regionProps = actions || onDismiss ? { 'aria-describedby': labelId, role: 'region' } : {};\n var actionsDiv = actions ? React.createElement(\"div\", { className: classNames.actions }, actions) : null;\n var dismissButton = onDismiss ? (React.createElement(IconButton, { disabled: false, className: classNames.dismissal, onClick: onDismiss, iconProps: dismissIconProps ? dismissIconProps : { iconName: 'Clear' }, title: dismissButtonAriaLabel, ariaLabel: dismissButtonAriaLabel })) : null;\n return (React.createElement(\"div\", __assign({ ref: ref, className: classNames.root }, regionProps),\n React.createElement(\"div\", { className: classNames.content },\n React.createElement(\"div\", { className: classNames.iconContainer, \"aria-hidden\": true }, messageBarIconProps ? (React.createElement(Icon, __assign({}, messageBarIconProps, { className: css(classNames.icon, messageBarIconProps.className) }))) : (React.createElement(Icon, { iconName: ICON_MAP[messageBarType], className: classNames.icon }))),\n React.createElement(\"div\", { className: classNames.text, id: labelId, role: role || getRole(messageBarType), \"aria-live\": getAnnouncementPriority(messageBarType) },\n React.createElement(\"span\", __assign({ className: classNames.innerText }, nativeProps), delayedRender ? (React.createElement(DelayedRender, null,\n React.createElement(\"span\", null, children))) : (\n // this span is probably not necessary, but preserving it for now in case anyone\n // has styling that expects it to be present\n React.createElement(\"span\", null, children)))),\n /* singleline expand/collapse button */ (showExpandButton || (!isMultiline && !actionsDiv && truncated)) && (React.createElement(\"div\", { className: classNames.expandSingleLine },\n React.createElement(IconButton, __assign({ disabled: false, className: classNames.expand, onClick: handleToggleExpandSingleLine, iconProps: expandIconProps, ariaLabel: overflowButtonAriaLabel, \"aria-expanded\": expandSingleLine }, expandButtonProps)))), /* singleline actions */\n !isMultiline && actionsDiv,\n /* singleline dismiss */ !isMultiline && dismissButton && (React.createElement(\"div\", { className: classNames.dismissSingleLine }, dismissButton)), /* multiline dismiss */\n isMultiline && dismissButton), /* multiline actions */\n isMultiline && actionsDiv));\n});\nMessageBarBase.displayName = COMPONENT_NAME;\n//# sourceMappingURL=MessageBar.base.js.map","var _a, _b, _c, _d;\nimport { __assign } from \"tslib\";\nimport { HighContrastSelector, HighContrastSelectorWhite, ScreenWidthMaxSmall, getScreenSelector, getGlobalClassNames, getFocusStyle, IconFontSizes, getHighContrastNoAdjustStyle, } from '../../Styling';\nimport { MessageBarType } from './MessageBar.types';\nvar GlobalClassNames = {\n root: 'ms-MessageBar',\n error: 'ms-MessageBar--error',\n blocked: 'ms-MessageBar--blocked',\n severeWarning: 'ms-MessageBar--severeWarning',\n success: 'ms-MessageBar--success',\n warning: 'ms-MessageBar--warning',\n multiline: 'ms-MessageBar-multiline',\n singleline: 'ms-MessageBar-singleline',\n dismissalSingleLine: 'ms-MessageBar-dismissalSingleLine',\n expandingSingleLine: 'ms-MessageBar-expandingSingleLine',\n content: 'ms-MessageBar-content',\n iconContainer: 'ms-MessageBar-icon',\n text: 'ms-MessageBar-text',\n innerText: 'ms-MessageBar-innerText',\n dismissSingleLine: 'ms-MessageBar-dismissSingleLine',\n expandSingleLine: 'ms-MessageBar-expandSingleLine',\n dismissal: 'ms-MessageBar-dismissal',\n expand: 'ms-MessageBar-expand',\n actions: 'ms-MessageBar-actions',\n actionsSingleline: 'ms-MessageBar-actionsSingleLine',\n};\nvar backgroundColor = (_a = {},\n _a[MessageBarType.error] = 'errorBackground',\n _a[MessageBarType.blocked] = 'errorBackground',\n _a[MessageBarType.success] = 'successBackground',\n _a[MessageBarType.warning] = 'warningBackground',\n _a[MessageBarType.severeWarning] = 'severeWarningBackground',\n _a[MessageBarType.info] = 'infoBackground',\n _a);\nvar iconColor = (_b = {},\n _b[MessageBarType.error] = 'errorIcon',\n _b[MessageBarType.blocked] = 'errorIcon',\n _b[MessageBarType.success] = 'successIcon',\n _b[MessageBarType.warning] = 'warningIcon',\n _b[MessageBarType.severeWarning] = 'severeWarningIcon',\n _b[MessageBarType.info] = 'infoIcon',\n _b);\nvar highContrastBorderColor = (_c = {},\n _c[MessageBarType.error] = '#ff0000',\n _c[MessageBarType.blocked] = '#ff0000',\n _c[MessageBarType.success] = '#bad80a',\n _c[MessageBarType.warning] = '#fff100',\n _c[MessageBarType.severeWarning] = '#ff0000',\n _c[MessageBarType.info] = 'WindowText',\n _c);\nvar highContrastWhiteBorderColor = (_d = {},\n _d[MessageBarType.error] = '#e81123',\n _d[MessageBarType.blocked] = '#e81123',\n _d[MessageBarType.success] = '#107c10',\n _d[MessageBarType.warning] = '#966400',\n _d[MessageBarType.severeWarning] = '#d83b01',\n _d[MessageBarType.info] = 'WindowText',\n _d);\nexport var getStyles = function (props) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;\n var theme = props.theme, className = props.className, onDismiss = props.onDismiss, truncated = props.truncated, isMultiline = props.isMultiline, expandSingleLine = props.expandSingleLine, _m = props.messageBarType, messageBarType = _m === void 0 ? MessageBarType.info : _m;\n var semanticColors = theme.semanticColors, fonts = theme.fonts;\n var SmallScreenSelector = getScreenSelector(0, ScreenWidthMaxSmall);\n var classNames = getGlobalClassNames(GlobalClassNames, theme);\n var dismissalAndExpandIconStyle = {\n fontSize: IconFontSizes.xSmall,\n height: 10,\n lineHeight: '10px',\n color: semanticColors.messageText,\n selectors: (_a = {},\n _a[HighContrastSelector] = __assign(__assign({}, getHighContrastNoAdjustStyle()), { color: 'WindowText' }),\n _a),\n };\n var dismissalAndExpandStyle = [\n getFocusStyle(theme, {\n inset: 1,\n highContrastStyle: {\n outlineOffset: '-6px',\n outline: '1px solid Highlight',\n },\n borderColor: 'transparent',\n }),\n {\n flexShrink: 0,\n width: 32,\n height: 32,\n padding: '8px 12px',\n selectors: {\n '& .ms-Button-icon': dismissalAndExpandIconStyle,\n ':hover': {\n backgroundColor: 'transparent',\n },\n ':active': {\n backgroundColor: 'transparent',\n },\n },\n },\n ];\n return {\n root: [\n classNames.root,\n fonts.medium,\n messageBarType === MessageBarType.error && classNames.error,\n messageBarType === MessageBarType.blocked && classNames.blocked,\n messageBarType === MessageBarType.severeWarning && classNames.severeWarning,\n messageBarType === MessageBarType.success && classNames.success,\n messageBarType === MessageBarType.warning && classNames.warning,\n isMultiline ? classNames.multiline : classNames.singleline,\n !isMultiline && onDismiss && classNames.dismissalSingleLine,\n !isMultiline && truncated && classNames.expandingSingleLine,\n {\n background: semanticColors[backgroundColor[messageBarType]],\n boxSizing: 'border-box',\n color: semanticColors.messageText,\n minHeight: 32,\n width: '100%',\n display: 'flex',\n wordBreak: 'break-word',\n selectors: (_b = {\n '.ms-Link': {\n color: semanticColors.messageLink,\n selectors: {\n ':hover': {\n color: semanticColors.messageLinkHovered,\n },\n },\n }\n },\n _b[HighContrastSelector] = __assign(__assign({}, getHighContrastNoAdjustStyle()), { background: 'transparent', border: \"1px solid \".concat(highContrastBorderColor[messageBarType]), color: 'WindowText' }),\n _b[HighContrastSelectorWhite] = {\n border: \"1px solid \".concat(highContrastWhiteBorderColor[messageBarType]),\n },\n _b),\n },\n isMultiline && {\n flexDirection: 'column',\n },\n className,\n ],\n content: [\n classNames.content,\n (_c = {\n display: 'flex',\n width: '100%',\n lineHeight: 'normal'\n },\n _c[SmallScreenSelector] = {\n display: 'grid',\n gridTemplateColumns: 'auto 1fr auto',\n gridTemplateRows: '1fr auto',\n gridTemplateAreas: \"\\n \\\"icon text close\\\"\\n \\\"action action action\\\"\\n \",\n },\n _c),\n ],\n iconContainer: [\n classNames.iconContainer,\n (_d = {\n fontSize: IconFontSizes.medium,\n minWidth: 16,\n minHeight: 16,\n display: 'flex',\n flexShrink: 0,\n margin: '8px 0 8px 12px'\n },\n _d[SmallScreenSelector] = {\n gridArea: 'icon',\n },\n _d),\n ],\n icon: {\n color: semanticColors[iconColor[messageBarType]],\n selectors: (_e = {},\n _e[HighContrastSelector] = __assign(__assign({}, getHighContrastNoAdjustStyle()), { color: 'WindowText' }),\n _e),\n },\n text: [\n classNames.text,\n __assign(__assign({ minWidth: 0, display: 'flex', flexGrow: 1, margin: 8 }, fonts.small), (_f = {}, _f[SmallScreenSelector] = {\n gridArea: 'text',\n }, _f.selectors = (_g = {},\n _g[HighContrastSelector] = __assign({}, getHighContrastNoAdjustStyle()),\n _g), _f)),\n !onDismiss && {\n marginRight: 12,\n },\n ],\n innerText: [\n classNames.innerText,\n {\n lineHeight: 16,\n selectors: {\n '& span a:last-child': {\n paddingLeft: 4,\n },\n },\n },\n truncated && {\n overflow: 'visible',\n whiteSpace: 'pre-wrap',\n },\n !isMultiline && {\n // In high contrast this causes the top and bottom of links' focus outline to be clipped\n // (not sure of a good way around that while still maintaining text clipping)\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n },\n !isMultiline &&\n !truncated && {\n selectors: (_h = {},\n _h[SmallScreenSelector] = {\n overflow: 'visible',\n whiteSpace: 'pre-wrap',\n },\n _h),\n },\n expandSingleLine && {\n overflow: 'visible',\n whiteSpace: 'pre-wrap',\n },\n ],\n dismissSingleLine: [\n classNames.dismissSingleLine,\n (_j = {},\n _j[SmallScreenSelector] = {\n gridArea: 'close',\n },\n _j),\n ],\n expandSingleLine: classNames.expandSingleLine,\n dismissal: [classNames.dismissal, dismissalAndExpandStyle],\n expand: [classNames.expand, dismissalAndExpandStyle],\n actions: [\n isMultiline ? classNames.actions : classNames.actionsSingleline,\n (_k = {\n display: 'flex',\n flexGrow: 0,\n flexShrink: 0,\n flexBasis: 'auto',\n flexDirection: 'row-reverse',\n alignItems: 'center',\n margin: '0 12px 0 8px',\n // reset forced colors to browser control for inner actions\n forcedColorAdjust: 'auto',\n MsHighContrastAdjust: 'auto'\n },\n _k[SmallScreenSelector] = {\n gridArea: 'action',\n marginRight: 8,\n marginBottom: 8,\n },\n _k.selectors = {\n '& button:nth-child(n+2)': (_l = {\n marginLeft: 8\n },\n _l[SmallScreenSelector] = {\n marginBottom: 0,\n },\n _l),\n },\n _k),\n isMultiline && {\n marginBottom: 8,\n },\n onDismiss &&\n !isMultiline && {\n marginRight: 0,\n },\n ],\n };\n};\n//# sourceMappingURL=MessageBar.styles.js.map","import { styled } from '../../Utilities';\nimport { MessageBarBase } from './MessageBar.base';\nimport { getStyles } from './MessageBar.styles';\nexport var MessageBar = styled(MessageBarBase, getStyles, undefined, {\n scope: 'MessageBar',\n});\n//# sourceMappingURL=MessageBar.js.map","/**\n * {@docCategory MessageBar}\n */\nexport var MessageBarType;\n(function (MessageBarType) {\n /** Info styled MessageBar */\n MessageBarType[MessageBarType[\"info\"] = 0] = \"info\";\n /** Error styled MessageBar */\n MessageBarType[MessageBarType[\"error\"] = 1] = \"error\";\n /** Blocked styled MessageBar */\n MessageBarType[MessageBarType[\"blocked\"] = 2] = \"blocked\";\n /** SevereWarning styled MessageBar */\n MessageBarType[MessageBarType[\"severeWarning\"] = 3] = \"severeWarning\";\n /** Success styled MessageBar */\n MessageBarType[MessageBarType[\"success\"] = 4] = \"success\";\n /** Warning styled MessageBar */\n MessageBarType[MessageBarType[\"warning\"] = 5] = \"warning\";\n})(MessageBarType || (MessageBarType = {}));\n//# sourceMappingURL=MessageBar.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 { __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 if (internalState.onModalCloseTimer) {\n clearTimeout(internalState.onModalCloseTimer);\n internalState.onModalCloseTimer = 0;\n }\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, __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';\nimport { WindowContext } from '@fluentui/react-window-provider';\nimport { getDocumentEx, getWindowEx } from '../../utilities/dom';\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 var _a;\n _this._resizeObserver = _this._createResizeObserver(function (entries) {\n if (entries.length > 0 && entries[0].target === elt) {\n _this._updateFooterPosition();\n }\n });\n if (elt) {\n (_a = _this._resizeObserver) === null || _a === void 0 ? void 0 : _a.observe(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 var win = getWindowEx(this.context);\n var doc = getDocumentEx(this.context);\n this._events.on(win, 'resize', this._updateFooterPosition);\n if (this._shouldListenForOuterClick(this.props)) {\n this._events.on(doc === null || doc === void 0 ? void 0 : doc.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 var doc = getDocumentEx(this.context);\n if (shouldListenOnOuterClick && !previousShouldListenOnOuterClick) {\n this._events.on(doc === null || doc === void 0 ? void 0 : doc.body, 'mousedown', this._dismissOnOuterClick, true);\n }\n else if (!shouldListenOnOuterClick && previousShouldListenOnOuterClick) {\n this._events.off(doc === null || doc === void 0 ? void 0 : doc.body, 'mousedown', this._dismissOnOuterClick, true);\n }\n };\n PanelBase.prototype.componentWillUnmount = function () {\n var _a;\n this._async.dispose();\n this._events.dispose();\n (_a = this._resizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();\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._createResizeObserver = function (callback) {\n var _a;\n var doc = getDocumentEx(this.context);\n var resizeObserver = null;\n if ((_a = doc === null || doc === void 0 ? void 0 : doc.defaultView) === null || _a === void 0 ? void 0 : _a.ResizeObserver) {\n resizeObserver = new doc.defaultView.ResizeObserver(callback);\n }\n return resizeObserver;\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 PanelBase.contextType = WindowContext;\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, // TODO: deprecated (not in the design specs)\n _a[PersonaSize.size16] = 16, // TODO: deprecated (not in the design specs)\n _a[PersonaSize.size24] = 24,\n _a[PersonaSize.size28] = 28, // TODO: deprecated (not in the design specs)\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', // exception case where we don't have an available theme.fonts variable to match it.\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', // exception case where we don't have an available theme.fonts variable to match it.\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 { __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, role: \"tab\" }))),\n renderedSelectedKey &&\n linkCollection.links.map(function (link) {\n return (link.alwaysRender === true || renderedSelectedKey === link.itemKey) &&\n renderPivotItem(link.itemKey, renderedSelectedKey === link.itemKey);\n })));\n});\nPivotBase.displayName = COMPONENT_NAME;\n//# sourceMappingURL=Pivot.base.js.map","import { __assign, __spreadArray } from \"tslib\";\nimport { AnimationVariables, getGlobalClassNames, HighContrastSelector, normalize, FontWeights, getHighContrastNoAdjustStyle, } from '@fluentui/style-utilities';\nimport { IsFocusVisibleClassName } from '@fluentui/utilities';\nvar globalClassNames = {\n count: 'ms-Pivot-count',\n icon: 'ms-Pivot-icon',\n linkIsSelected: 'is-selected',\n link: 'ms-Pivot-link',\n linkContent: 'ms-Pivot-linkContent',\n root: 'ms-Pivot',\n rootIsLarge: 'ms-Pivot--large',\n rootIsTabs: 'ms-Pivot--tabs',\n text: 'ms-Pivot-text',\n linkInMenu: 'ms-Pivot-linkInMenu',\n overflowMenuButton: 'ms-Pivot-overflowMenuButton',\n};\nvar getLinkStyles = function (props, classNames, isLinkInOverflowMenu) {\n var _a, _b, _c;\n if (isLinkInOverflowMenu === void 0) { isLinkInOverflowMenu = false; }\n var linkSize = props.linkSize, linkFormat = props.linkFormat;\n var _d = props.theme, semanticColors = _d.semanticColors, fonts = _d.fonts;\n var rootIsLarge = linkSize === 'large';\n var rootIsTabs = linkFormat === 'tabs';\n return [\n fonts.medium,\n {\n color: semanticColors.actionLink,\n padding: '0 8px',\n position: 'relative',\n backgroundColor: 'transparent',\n border: 0,\n borderRadius: 0,\n selectors: {\n ':hover': {\n backgroundColor: semanticColors.buttonBackgroundHovered,\n color: semanticColors.buttonTextHovered,\n cursor: 'pointer',\n },\n ':active': {\n backgroundColor: semanticColors.buttonBackgroundPressed,\n color: semanticColors.buttonTextHovered,\n },\n ':focus': {\n outline: 'none',\n },\n },\n },\n !isLinkInOverflowMenu && [\n {\n display: 'inline-block',\n lineHeight: 44,\n height: 44,\n marginRight: 8,\n textAlign: 'center',\n selectors: (_a = {},\n _a[\".\".concat(IsFocusVisibleClassName, \" &:focus, :host(.\").concat(IsFocusVisibleClassName, \") &:focus\")] = {\n outline: \"1px solid \".concat(semanticColors.focusBorder),\n },\n _a[\".\".concat(IsFocusVisibleClassName, \" &:focus:after, :host(.\").concat(IsFocusVisibleClassName, \") &:focus:after\")] = {\n content: 'attr(data-content)',\n position: 'relative',\n border: 0,\n },\n _a[':before'] = {\n backgroundColor: 'transparent',\n bottom: 0,\n content: '\"\"',\n height: 2,\n left: 8,\n position: 'absolute',\n right: 8,\n transition: \"left \".concat(AnimationVariables.durationValue2, \" \").concat(AnimationVariables.easeFunction2, \",\\n right \").concat(AnimationVariables.durationValue2, \" \").concat(AnimationVariables.easeFunction2),\n },\n _a[':after'] = {\n color: 'transparent',\n content: 'attr(data-content)',\n display: 'block',\n fontWeight: FontWeights.bold,\n height: 1,\n overflow: 'hidden',\n visibility: 'hidden',\n },\n _a),\n },\n rootIsLarge && {\n fontSize: fonts.large.fontSize,\n },\n rootIsTabs && [\n {\n marginRight: 0,\n height: 44,\n lineHeight: 44,\n backgroundColor: semanticColors.buttonBackground,\n padding: '0 10px',\n verticalAlign: 'top',\n selectors: (_b = {\n ':focus': {\n outlineOffset: '-2px',\n }\n },\n _b[\".\".concat(IsFocusVisibleClassName, \" &:focus::before, :host(.\").concat(IsFocusVisibleClassName, \") &:focus::before\")] = {\n height: 'auto',\n background: 'transparent',\n transition: 'none',\n },\n _b['&:hover, &:focus'] = {\n color: semanticColors.buttonTextCheckedHovered,\n },\n _b['&:active, &:hover'] = {\n color: semanticColors.primaryButtonText,\n backgroundColor: semanticColors.primaryButtonBackground,\n },\n _b[\"&.\".concat(classNames.linkIsSelected)] = {\n backgroundColor: semanticColors.primaryButtonBackground,\n color: semanticColors.primaryButtonText,\n fontWeight: FontWeights.regular,\n selectors: (_c = {\n ':before': {\n backgroundColor: 'transparent',\n transition: 'none',\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n content: '\"\"',\n height: 0,\n },\n ':hover': {\n backgroundColor: semanticColors.primaryButtonBackgroundHovered,\n color: semanticColors.primaryButtonText,\n },\n ':active': {\n backgroundColor: semanticColors.primaryButtonBackgroundPressed,\n color: semanticColors.primaryButtonText,\n }\n },\n _c[HighContrastSelector] = __assign({ fontWeight: FontWeights.semibold, color: 'HighlightText', background: 'Highlight' }, getHighContrastNoAdjustStyle()),\n _c),\n },\n // eslint-disable-next-line @fluentui/max-len\n _b[\".\".concat(IsFocusVisibleClassName, \" &.\").concat(classNames.linkIsSelected, \":focus, :host(.\").concat(IsFocusVisibleClassName, \") &.\").concat(classNames.linkIsSelected, \":focus\")] = {\n outlineColor: semanticColors.primaryButtonText,\n },\n _b),\n },\n ],\n ],\n ];\n};\nexport var getStyles = function (props) {\n var _a, _b, _c, _d;\n var className = props.className, linkSize = props.linkSize, linkFormat = props.linkFormat, theme = props.theme;\n var semanticColors = theme.semanticColors, fonts = theme.fonts;\n var classNames = getGlobalClassNames(globalClassNames, theme);\n var rootIsLarge = linkSize === 'large';\n var rootIsTabs = linkFormat === 'tabs';\n return {\n root: [\n classNames.root,\n fonts.medium,\n normalize,\n {\n position: 'relative',\n color: semanticColors.link,\n whiteSpace: 'nowrap',\n },\n rootIsLarge && classNames.rootIsLarge,\n rootIsTabs && classNames.rootIsTabs,\n className,\n ],\n itemContainer: {\n selectors: {\n '&[hidden]': {\n display: 'none',\n },\n },\n },\n link: __spreadArray(__spreadArray([\n classNames.link\n ], getLinkStyles(props, classNames), true), [\n (_a = {},\n _a[\"&[data-is-overflowing='true']\"] = {\n display: 'none',\n },\n _a),\n ], false),\n overflowMenuButton: [\n classNames.overflowMenuButton,\n (_b = {\n visibility: 'hidden',\n position: 'absolute',\n right: 0\n },\n _b[\".\".concat(classNames.link, \"[data-is-overflowing='true'] ~ &\")] = {\n visibility: 'visible',\n position: 'relative',\n },\n _b),\n ],\n linkInMenu: __spreadArray(__spreadArray([\n classNames.linkInMenu\n ], getLinkStyles(props, classNames, true), true), [\n {\n justifyContent: 'start',\n height: 36,\n lineHeight: 36,\n width: '100%',\n },\n ], false),\n linkIsSelected: [\n classNames.link,\n classNames.linkIsSelected,\n {\n fontWeight: FontWeights.semibold,\n selectors: (_c = {\n ':before': {\n backgroundColor: semanticColors.inputBackgroundChecked,\n selectors: (_d = {},\n _d[HighContrastSelector] = {\n backgroundColor: 'Highlight',\n },\n _d),\n },\n ':hover::before': {\n left: 0,\n right: 0,\n }\n },\n _c[HighContrastSelector] = {\n color: 'Highlight',\n },\n _c),\n },\n ],\n linkContent: [\n classNames.linkContent,\n {\n flex: '0 1 100%',\n selectors: {\n '& > * ': {\n marginLeft: 4,\n },\n '& > *:first-child': {\n marginLeft: 0,\n },\n },\n },\n ],\n text: [\n classNames.text,\n {\n display: 'inline-block',\n verticalAlign: 'top',\n },\n ],\n count: [\n classNames.count,\n {\n display: 'inline-block',\n verticalAlign: 'top',\n },\n ],\n icon: classNames.icon,\n };\n};\n//# sourceMappingURL=Pivot.styles.js.map","import { styled } from '@fluentui/utilities';\nimport { PivotBase } from './Pivot.base';\nimport { getStyles } from './Pivot.styles';\n/**\n * The Pivot control and related tabs pattern are used for navigating frequently accessed,\n * distinct content categories. Pivots allow for navigation between two or more content\n * views and relies on text headers to articulate the different sections of content.\n */\nexport var Pivot = styled(PivotBase, getStyles, undefined, {\n scope: 'Pivot',\n});\n//# sourceMappingURL=Pivot.js.map","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { getNativeProps, divProperties, initializeComponentRef, warnDeprecations } from '@fluentui/utilities';\nvar COMPONENT_NAME = 'PivotItem';\nvar PivotItem = /** @class */ (function (_super) {\n __extends(PivotItem, _super);\n function PivotItem(props) {\n var _this = _super.call(this, props) || this;\n initializeComponentRef(_this);\n warnDeprecations(COMPONENT_NAME, props, {\n linkText: 'headerText',\n });\n return _this;\n }\n PivotItem.prototype.render = function () {\n return React.createElement(\"div\", __assign({}, getNativeProps(this.props, divProperties)), this.props.children);\n };\n return PivotItem;\n}(React.Component));\nexport { PivotItem };\n//# sourceMappingURL=PivotItem.js.map","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { KeyCodes, divProperties, doesElementContainFocus, getDocument, getNativeProps, getPropsWithDefaults, getWindow, modalize, } from '../../Utilities';\nimport { useMergedRefs, useAsync, useOnEvent } from '@fluentui/react-hooks';\nimport { useWindow } from '@fluentui/react-window-provider';\nfunction useScrollbarAsync(props, root) {\n var async = useAsync();\n var _a = React.useState(false), needsVerticalScrollBarState = _a[0], setNeedsVerticalScrollBar = _a[1];\n React.useEffect(function () {\n async.requestAnimationFrame(function () {\n var _a;\n // If overflowY is overridden, don't waste time calculating whether the scrollbar is necessary.\n if (props.style && props.style.overflowY) {\n return;\n }\n var needsVerticalScrollBar = false;\n if (root && root.current && ((_a = root.current) === null || _a === void 0 ? void 0 : _a.firstElementChild)) {\n // ClientHeight returns the client height of an element rounded to an\n // integer. On some browsers at different zoom levels this rounding\n // can generate different results for the root container and child even\n // though they are the same height. This causes us to show a scroll bar\n // when not needed. Ideally we would use BoundingClientRect().height\n // instead however seems that the API is 90% slower than using ClientHeight.\n // Therefore instead we will calculate the difference between heights and\n // allow for a 1px difference to still be considered ok and not show the\n // scroll bar.\n var rootHeight = root.current.clientHeight;\n var firstChildHeight = root.current.firstElementChild.clientHeight;\n if (rootHeight > 0 && firstChildHeight > rootHeight) {\n needsVerticalScrollBar = firstChildHeight - rootHeight > 1;\n }\n }\n if (needsVerticalScrollBarState !== needsVerticalScrollBar) {\n setNeedsVerticalScrollBar(needsVerticalScrollBar);\n }\n });\n return function () { return async.dispose(); };\n });\n return needsVerticalScrollBarState;\n}\nfunction defaultFocusRestorer(options) {\n var originalElement = options.originalElement, containsFocus = options.containsFocus;\n if (originalElement && containsFocus && originalElement !== getWindow()) {\n // Make sure that the focus method actually exists\n // In some cases the object might exist but not be a real element.\n // This is primarily for IE 11 and should be removed once IE 11 is no longer in use.\n // This is wrapped in a setTimeout because of a React 16 bug that is resolved in 17.\n // Once we move to 17, the setTimeout should be removed (ref: https://github.com/facebook/react/issues/17894#issuecomment-656094405)\n setTimeout(function () {\n var _a;\n (_a = originalElement.focus) === null || _a === void 0 ? void 0 : _a.call(originalElement);\n }, 0);\n }\n}\nfunction useRestoreFocus(props, root) {\n var _a = props.onRestoreFocus, onRestoreFocus = _a === void 0 ? defaultFocusRestorer : _a;\n var originalFocusedElement = React.useRef();\n var containsFocus = React.useRef(false);\n React.useEffect(function () {\n originalFocusedElement.current = getDocument().activeElement;\n if (doesElementContainFocus(root.current)) {\n containsFocus.current = true;\n }\n return function () {\n var _a;\n onRestoreFocus === null || onRestoreFocus === void 0 ? void 0 : onRestoreFocus({\n originalElement: originalFocusedElement.current,\n containsFocus: containsFocus.current,\n documentContainsFocus: ((_a = getDocument()) === null || _a === void 0 ? void 0 : _a.hasFocus()) || false,\n });\n // De-reference DOM Node to avoid retainment via transpiled closure of _onKeyDown\n originalFocusedElement.current = undefined;\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps -- should only run on first render\n }, []);\n useOnEvent(root, 'focus', React.useCallback(function () {\n containsFocus.current = true;\n }, []), true);\n useOnEvent(root, 'blur', React.useCallback(function (ev) {\n /** The popup should update this._containsFocus when:\n * relatedTarget exists AND\n * the relatedTarget is not contained within the popup.\n * If the relatedTarget is within the popup, that means the popup still has focus\n * and focused moved from one element to another within the popup.\n * If relatedTarget is undefined or null that usually means that a\n * keyboard event occurred and focus didn't change\n */\n if (root.current && ev.relatedTarget && !root.current.contains(ev.relatedTarget)) {\n containsFocus.current = false;\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps -- should only run on first render\n }, []), true);\n}\nfunction useHideSiblingNodes(props, root) {\n // eslint-disable-next-line deprecation/deprecation\n var shouldHideSiblings = String(props['aria-modal']).toLowerCase() === 'true' && props.enableAriaHiddenSiblings;\n React.useEffect(function () {\n if (!(shouldHideSiblings && root.current)) {\n return;\n }\n var unmodalize = modalize(root.current);\n return unmodalize;\n }, [root, shouldHideSiblings]);\n}\n/**\n * This adds accessibility to Dialog and Panel controls\n */\nexport var Popup = React.forwardRef(function (propsWithoutDefaults, forwardedRef) {\n var props = getPropsWithDefaults({ shouldRestoreFocus: true, enableAriaHiddenSiblings: true }, propsWithoutDefaults);\n var root = React.useRef();\n var mergedRootRef = useMergedRefs(root, forwardedRef);\n useHideSiblingNodes(props, root);\n useRestoreFocus(props, root);\n var role = props.role, className = props.className, ariaLabel = props.ariaLabel, ariaLabelledBy = props.ariaLabelledBy, ariaDescribedBy = props.ariaDescribedBy, style = props.style, children = props.children, onDismiss = props.onDismiss;\n var needsVerticalScrollBar = useScrollbarAsync(props, root);\n var onKeyDown = React.useCallback(function (ev) {\n // eslint-disable-next-line deprecation/deprecation\n switch (ev.which) {\n case KeyCodes.escape:\n if (onDismiss) {\n onDismiss(ev);\n ev.preventDefault();\n ev.stopPropagation();\n }\n break;\n }\n }, [onDismiss]);\n var win = useWindow();\n useOnEvent(win, 'keydown', onKeyDown);\n return (React.createElement(\"div\", __assign({ ref: mergedRootRef }, getNativeProps(props, divProperties), { className: className, role: role, \"aria-label\": ariaLabel, \"aria-labelledby\": ariaLabelledBy, \"aria-describedby\": ariaDescribedBy, onKeyDown: onKeyDown, style: __assign({ overflowY: needsVerticalScrollBar ? 'scroll' : undefined, outline: 'none' }, style) }), children));\n});\nPopup.displayName = 'Popup';\n//# sourceMappingURL=Popup.js.map"],"names":["getIconContent","iconName","_a","subset","code","undefined","children","iconClassName","className","fontFamily","fontFace","mergeImageProps","FontIcon","props","style","iconContent","nativeProps","accessibleName","title","containerProps","role","finalChildren","alt","ariaLabel","IconType","getClassNames","classNamesFunction","cacheSize","IconBase","_super","_this","call","this","_onImageLoadingStateChange","state","imageProps","onLoadingStateChange","setState","imageLoadError","prototype","render","styles","imageErrorAs","theme","isPlaceholder","length","isImage","iconType","image","Image","iconContentChildren","classNames","RootType","ImageType","finalIconContentChildren","root","Icon","styled","scope","displayName","display","textDecoration","placeholder","width","overflow","MS_ICON","getStyles","imageContainer","ImageIcon","altText","hasName","imageNameProps","SVG_REGEX","ImageBase","forwardedRef","frameElement","imageElement","onLoad","onError","src","loadState","setLoadState","useIsomorphicLayoutEffect","current","naturalWidth","naturalHeight","complete","test","onImageLoaded","ev","onImageError","useLoadState","height","_b","shouldFadeIn","shouldStartVisible","imageFit","maximizeFrame","loading","coverStyle","previousLoadState","desiredRatio","clientWidth","clientHeight","computeCoverStyle","useCoverStyle","isLoaded","isLandscape","isCenter","isCenterContain","isCenterCover","isContain","isCover","isNone","isError","isNotImageFit","ref","key","useMergedRefs","GlobalClassNames","rootMaximizeFrame","imageCenter","imageContain","imageCover","imageCenterContain","imageCenterCover","imageNone","imageLandscape","imagePortrait","ImageFitStyles","position","left","top","transform","window","getWindow","supportsObjectFit","navigator","msMaxTouchPoints","fallbackObjectFitStyles","fonts","medium","opacity","objectFit","maxWidth","maxHeight","ImageFit","ImageCoverStyle","ImageLoadState","useKeytipData","options","uniqueId","keytipProps","disabled","keytipManager","useConst","KeytipManager","K","prevOptions","usePrevious","update","register","unregister","nativeKeytipProps","ariaDescribedBy","keytipId","describedByPrepend","newKeytipProps","addParentOverflow","keySequences","overflowSetSequence","getKeytipData","KeytipData","LabelBase","apply","arguments","as","required","Label","semanticColors","labelFontWeight","labelColor","bodyText","labelDisabledColor","disabledBodyText","labelRequiredStarColor","errorText","fontWeight","color","boxSizing","boxShadow","margin","padding","wordWrap","overflowWrap","selectors","content","paddingRight","filteredEventProps","LayerBase","registerPortalEl","rootRef","mergedRef","layerRef","fabricElementRef","focusContext","needRaiseLayerMount","setNeedRaiseLayerMount","focusRectsRef","el","providerRef","isFocusVisible","classList","contains","add","eventBubblingEnabled","fabricProps","hostId","insertFirst","onLayerDidMount","_c","onLayerMounted","onLayerWillUnmount","fabricRef","isNotHost","removeLayerElement","elem","parentNode","removeChild","createLayerElement","_d","doc","getDocument","shadowRoot","getRootNode","host","layerHost","getElementById","defaultHostSelector","querySelector","getHost","__tabsterElementFlags","noDirectAriaHidden","ownerDocument","createElement","setPortalAttribute","setVirtualParent","insertBefore","firstChild","appendChild","unregisterPortalEl","FocusRectsProvider","layerRoot","Fabric","forEach","name","onFilterEvent","getFilteredEvents","css","eventPhase","Event","BUBBLING_PHASE","type","stopPropagation","rootNoHost","Layer","zIndex","bottom","right","visibility","fields","_layersByHostId","_layerHostsById","defaultHostId","_defaultHostSelector","concat","registerLayer","callback","push","layerHosts","_i","layerHosts_1","notifyLayersChanged","unregisterLayer","layers","idx","indexOf","splice","layerHosts_2","getLayerHost","registerLayerHost","unshift","unregisterLayerHost","createDefaultLayerHost","setAttribute","cssText","body","notifyHostChanged","id","getDefaultTarget","LayerHost","layerHostId","layerHostRef","componentRef","useComponentRef","link","focus","adjustPropsForRootType","target","href","restProps","underline","LinkBase","onClick","mergedRootRefs","useFocusRects","isButton","isDisabled","isUnderlined","rootType","slots","slotProps","preventDefault","useLink","Link","_e","_f","_g","linkColor","linkInteractedColor","linkHovered","linkDisabledColor","disabledText","focusBorderColor","focusBorder","outline","fontSize","borderBottom","background","backgroundColor","border","cursor","textAlign","textOverflow","userSelect","forcedColorAdjust","MsHighContrastAdjust","pointerEvents","ICON_MAP","getAnnouncementPriority","messageBarType","getRole","MessageBarBase","useBoolean","expandSingleLine","toggleExpandSingleLine","toggle","labelId","useId","actions","overflowButtonAriaLabel","dismissIconProps","onDismiss","isMultiline","truncated","dismissButtonAriaLabel","messageBarIconProps","delayedRender","expandButtonProps","onExpandButtonToggled","showExpandButton","handleToggleExpandSingleLine","expandIconProps","regionProps","actionsDiv","dismissButton","IconButton","dismissal","iconProps","iconContainer","icon","text","innerText","DelayedRender","expand","dismissSingleLine","error","blocked","severeWarning","success","warning","multiline","singleline","dismissalSingleLine","expandingSingleLine","actionsSingleline","iconColor","highContrastBorderColor","highContrastWhiteBorderColor","MessageBar","_h","_j","_k","_l","_m","SmallScreenSelector","dismissalAndExpandIconStyle","lineHeight","messageText","dismissalAndExpandStyle","inset","highContrastStyle","outlineOffset","borderColor","flexShrink","minHeight","wordBreak","messageLink","messageLinkHovered","flexDirection","gridTemplateColumns","gridTemplateRows","gridTemplateAreas","minWidth","gridArea","flexGrow","small","marginRight","paddingLeft","whiteSpace","flexBasis","alignItems","marginBottom","marginLeft","MessageBarType","animationDuration","globalClassNames","main","scrollableContent","isOpen","layer","ZERO","x","y","DEFAULT_PROPS","isDarkOverlay","containerClassName","enableAriaHiddenSiblings","ModalBase","propsWithoutDefaults","getPropsWithDefaults","allowTouchBodyScroll","scrollableContentClassName","elementToFocusOnDismiss","firstFocusableSelector","focusTrapZoneProps","forceFocusInsideTrap","disableRestoreFocus","ignoreExternalFocusing","isBlocking","isAlert","isClickableOutsideFocusTrap","layerProps","overlay","titleAriaId","subtitleAriaId","topOffsetFixed","responsiveMode","isModeless","dragOptions","onDismissed","popupProps","focusTrapZone","focusTrapZoneRef","focusTrapZoneElm","modalResponsiveMode","useResponsiveMode","focusTrapZoneId","win","useSetTimeout","setTimeout","clearTimeout","isModalOpen","setIsModalOpen","isVisible","setIsVisible","coordinates","setCoordinates","modalRectangleTop","setModalRectangleTop","isModalMenuOpen","_o","toggleModalMenuOpen","setModalMenuClose","setFalse","internalState","onModalCloseTimer","lastSetCoordinates","events","EventGroup","keepInBounds","isAlertRole","layerClassName","hasBeenOpened","windowInnerHeight","innerHeight","isDefaultDragHandle","dragHandleSelector","mergedLayerProps","allowScrollOnModal","elt","off","registerInitialModalPosition","dialogMain","modalRectangle","getBoundingClientRect","minPosition","maxPosition","getClampedAxis","axis","Math","max","min","handleModalClose","isInKeyboardMoveMode","disposeOnKeyUp","handleDragStart","handleDrag","dragData","prevValue","delta","handleDragStop","handleKeyUp","requestAnimationFrame","altKey","ctrlKey","keyCode","KeyCodes","elementContains","on","parseFloat","useUnmount","dispose","modalContent","FocusTrapZone","focusPreviouslyFocusedInnerElement","onBlur","disposeOnKeyDown","keyboardMoveIconContainer","keyboardMoveIconProps","keyboardMoveIcon","menu","items","moveMenuItemText","handleKeyDown","newLocal","handledEvent","delta_1","shiftKey","getMoveDelta","closeMenuItemText","alignTargetEdge","coverTarget","directionalHint","DirectionalHint","directionalHintFixed","shouldFocusOnMount","Popup","ariaLabelledBy","shouldRestoreFocus","Overlay","isDarkThemed","DraggableZone","handleSelector","preventDragSelector","onStart","onDragChange","onStop","Modal","palette","effects","justifyContent","transition","elevation64","borderRadius","roundedCorner2","white","overflowY","xLargePlus","OverlayBase","initializeComponentRef","_allowTouchBodyScroll","componentDidMount","componentWillUnmount","isDark","divProps","rootDark","whiteTranslucent40","blackTranslucent40","PanelVisibilityState","PanelBase","_panel","_animationCallback","_hasCustomNavigation","onRenderNavigation","onRenderNavigationContent","dismiss","isActive","defaultPrevented","close","_allowScrollOnPanel","_resizeObserver","_createResizeObserver","entries","_updateFooterPosition","observe","_events","_scrollableContent","_onRenderNavigation","hasCloseButton","_onRenderNavigationContent","_classNames","navigation","closeButtonAriaLabel","onRenderHeader","_onRenderHeader","iconButtonStyles","subComponentStyles","closeButton","_headerTextId","_onPanelClick","defaultRender","headerTextId","headerText","headerTextProps","header","_onRenderBody","_onRenderFooter","onRenderFooterContent","footer","footerInner","_animateTo","newVisibilityState","open","onOpen","_async","_onTransitionComplete","_clearExistingAnimationTimer","onOpened","closed","warnDeprecations","isFooterSticky","getId","getDerivedStateFromProps","nextProps","prevState","animatingClosed","animatingOpen","Async","context","_shouldListenForOuterClick","_dismissOnOuterClick","componentDidUpdate","previousProps","previousState","shouldListenOnOuterClick","previousShouldListenOnOuterClick","disconnect","headerClassName","isFooterAtBottom","isLightDismiss","isHiddenOnDismiss","overlayProps","customWidth","onLightDismissClick","onRenderBody","onRenderFooter","isLeft","isOnRightSide","customWidthStyles","isAnimating","focusTrapZoneClassName","hasCustomNavigation","hiddenPanel","contentInner","commands","Object","defineProperty","get","enumerable","configurable","resizeObserver","defaultView","ResizeObserver","innerHeight_1","scrollHeight","panel","onOuterClick","defaultProps","contextType","smallFluid","smallFixedNear","smallFixedFar","large","largeFixed","extraLarge","custom","customNear","panelWidth","panelMargin","smallPanelSelectors","mediumPanelSelectors","largePanelSelectors","largeFixedPanelSelectors","extraLargePanelSelectors","getPanelBreakpoints","sharedPaddingStyles","Panel","isCustomPanel","bodyBackground","overflowX","WebkitOverflowScrolling","borderLeft","variantBorder","borderRight","paddingTop","alignSelf","xLarge","hyphens","paddingBottom","borderTop","borderTopColor","neutralSecondary","rootHovered","neutralPrimary","PanelType","personaSize","personaPresenceSize","size8","size10","size16","size24","size28","size32","size40","size48","size56","size72","size100","size120","size6","size12","size20","sizeBoolean","size","isSize8","isSize10","isSize16","isSize24","isSize28","isSize32","isSize40","isSize48","isSize56","isSize72","isSize100","isSize120","sizeToPixels","presenceBoolean","presence","isAvailable","isAway","isBlocked","isBusy","isDoNotDisturb","isOffline","PersonaPresenceBase","coinSize","isOutOfOffice","presenceTitle","presenceColors","mergedRootRef","renderIcon","presenceHeightWidth","presenceMaxSize","coinSizeWithPresenceIconStyle","presenceFontMaxSize","coinSizeWithPresenceStyle","presenceIcon","determineIcon","oofIcon","makeOpenCircleIconStyle","makeBeforeBorderStyle","borderSize","makeSizeStyle","PersonaPresence","presenceColorAvailable","available","presenceColorAway","away","presenceColorBusy","busy","presenceColorDnd","dnd","presenceColorOffline","offline","presenceColorOof","oof","presenceColorBackground","isOpenCirclePresence","backgroundClip","borderWidth","verticalAlign","COLOR_SWATCHES_LOOKUP","COLOR_SWATCHES_NUM_ENTRIES","getPersonaInitialsColor","primaryText","initialsColor","personaInitialsColor","personaInitialsColorToHexCode","hashCode","iLen","ch","charCodeAt","shift","getInitialsColorFromName","getInitialsStyles","memoize","initialsTextColor","showUnknownPersonaCoin","imageAlt","PersonaCoinBase","onPhotoLoadingStateChange","imageUrl","imageLoadState","setImageLoadstate","useImageLoadState","renderCoin","getCoinRenderer","coinProps","onRenderCoin","onRenderPersonaCoin","onRenderInitials","renderPersonaCoinInitials","showInitialsUntilImageLoads","divCoinProps","coinSizeStyle","hideImage","personaPresenceProps","shouldRenderInitials","Boolean","coin","imageArea","initials","size10WithoutPresenceIcon","imageShouldFadeIn","imageShouldStartVisible","dimension","imageInitials","allowPhoneInitials","isRTL","PersonaCoin","xSmall","flex","perspective","i","mediumPlus","xxLarge","superLarge","showOverflowTooltip","PersonaBase","getText","renderElement","elementClassNames","renderFunction","defaultRenderFunction","dir","onRenderText","tooltip","TooltipHost","overflowMode","onInternalRenderPrimaryText","onInternalRenderSecondaryText","secondaryText","onInternalRenderTertiaryText","tertiaryText","onInternalRenderOptionalText","optionalText","hidePersonaDetails","onRenderOptionalText","onRenderPrimaryText","onRenderSecondaryText","onRenderTertiaryText","providedCoinProps","showSecondaryText","personaCoinProps","personaDetails","details","doNotDisturb","textContent","Persona","showSecondaryTextDefaultHeight","sharedTextStyles","bodySubtext","inputTextHovered","PersonaSize","PersonaInitialsColor","getLinkItems","pivotId","result","links","keyToIndexMapping","keyToTabIdMapping","child","index","isPivotItem","linkText","pivotItemProps","itemKey","toString","getTabId","warn","item","PivotItem","PivotBase","focusZoneRef","overflowMenuButtonComponentRef","useControllableValue","selectedKey","defaultSelectedKey","setSelectedKey","linkSize","linkFormat","overflowBehavior","overflowAriaLabel","focusZoneProps","overflowButtonAs","nameProps","linkCollection","renderLinkContent","itemCount","itemIcon","linkContent","count","renderPivotLink","renderLinkCollection","renderPivotLinkSelectedKey","headerButtonProps","onRenderItemLink","tabId","isSelected","contentString","itemSemantics","CommandButton","linkIsSelected","onLinkClick","onKeyDown","updateSelectedItem","which","selectedIndex","dismissMenu","renderedSelectedKey","renderedSelectedIndex","map","l","overflowMenuProps","overflowMenuButtonRef","useOverflow","onOverflowItemsChanged","overflowIndex","elements","ele","isOverflowing","dataset","slice","filter","onRender","linkInMenu","rtl","pinnedIndex","menuButtonRef","OverflowButton","FocusZone","direction","overflowMenuButton","elementRef","menuProps","menuIconProps","alwaysRender","headersOnly","selectedTabId","hidden","itemContainer","renderPivotItem","rootIsLarge","rootIsTabs","getLinkStyles","isLinkInOverflowMenu","actionLink","buttonBackgroundHovered","buttonTextHovered","buttonBackgroundPressed","buttonBackground","buttonTextCheckedHovered","primaryButtonText","primaryButtonBackground","primaryButtonBackgroundHovered","primaryButtonBackgroundPressed","outlineColor","Pivot","inputBackgroundChecked","defaultFocusRestorer","originalElement","containsFocus","shouldHideSiblings","String","toLowerCase","useHideSiblingNodes","onRestoreFocus","originalFocusedElement","activeElement","documentContainsFocus","hasFocus","relatedTarget","useRestoreFocus","needsVerticalScrollBar","async","needsVerticalScrollBarState","setNeedsVerticalScrollBar","firstElementChild","rootHeight","firstChildHeight","useScrollbarAsync"],"sourceRoot":""}