{"version":3,"file":"static/js/vendor-2b4841d6.8b8d400b.js","mappings":"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","sources":["../node_modules/@fluentui-copilot/chat-input-plugins/lib/BasicFunctionality/SentinelNode.ts","../node_modules/@fluentui-copilot/chat-input-plugins/lib/ImperativeControl/ImperativeControl.base.ts","../node_modules/@fluentui-copilot/react-chat-input-plugins/lib/plugins/ImperativeControl/ImperativeControl.tsx","../node_modules/@fluentui-copilot/react-chat-input/node_modules/@fluentui-copilot/react-utilities/lib/useDebounce.ts","../node_modules/@fluentui-copilot/react-chat-input/lib/components/ChatInput/useErrorMessage.tsx","../node_modules/@fluentui-copilot/chat-input-plugins/lib/BasicFunctionality/BasicFunctionality.base.ts","../node_modules/@fluentui-copilot/chat-input-plugins/lib/BasicFunctionality/SentinelNodeHandlers.ts","../node_modules/@fluentui-copilot/react-chat-input-plugins/lib/plugins/BasicFunctionality/BasicFunctionality.ts","../node_modules/@fluentui-copilot/react-editor-input/lib/components/EditorInput/useEditorInputStyles.styles.ts","../node_modules/@fluentui-copilot/react-editor-input/lib/components/EditorInput/EditorInput.tsx","../node_modules/@fluentui-copilot/react-editor-input/lib/components/EditorInput/useEditorInput.tsx","../node_modules/@fluentui-copilot/react-editor-input/lib/components/EditorInput/renderEditorInput.tsx","../node_modules/@fluentui-copilot/react-chat-input/lib/components/ChatInput/useIsCollapsed.ts","../node_modules/@fluentui-copilot/react-chat-input/lib/components/ChatInput/useChatInput.tsx","../node_modules/@fluentui-copilot/react-chat-input/lib/components/ChatInput/useChatInputStyles.styles.ts","../node_modules/@fluentui-copilot/react-chat-input/lib/components/ChatInput/ChatInput.tsx","../node_modules/@fluentui-copilot/react-chat-input/lib/components/ChatInput/renderChatInput.tsx","../node_modules/@fluentui-copilot/react-copilot-chat/lib/components/CopilotChat/useCopilotChatStyles.styles.ts","../node_modules/@fluentui-copilot/react-copilot-chat/lib/components/CopilotChat/CopilotChat.tsx","../node_modules/@fluentui-copilot/react-copilot-chat/lib/components/CopilotChat/useCopilotChat.ts","../node_modules/@fluentui-copilot/react-copilot-chat/lib/components/CopilotChat/renderCopilotChat.tsx","../node_modules/@fluentui-copilot/react-copilot-chat/lib/components/Timestamp/useTimestampStyles.styles.ts","../node_modules/@fluentui-copilot/react-copilot-chat/lib/components/Timestamp/Timestamp.tsx","../node_modules/@fluentui-copilot/react-copilot-chat/lib/components/AiGeneratedDisclaimer/useAiGeneratedDisclaimerStyles.styles.ts","../node_modules/@fluentui-copilot/react-copilot-chat/lib/components/AiGeneratedDisclaimer/AiGeneratedDisclaimer.tsx","../node_modules/@fluentui-copilot/react-copilot-chat/lib/components/copilot-chat-v2/CopilotMessage/useCopilotMessageStyles.styles.ts","../node_modules/@fluentui-copilot/react-copilot-chat/lib/components/copilot-chat-v2/CopilotMessage/CopilotMessage.tsx","../node_modules/@fluentui-copilot/react-copilot-chat/lib/components/copilot-chat-v2/CopilotMessage/useCopilotMessage.tsx","../node_modules/@fluentui-copilot/react-copilot-chat/lib/components/copilot-chat-v2/CopilotMessage/renderCopilotMessage.tsx","../node_modules/@fluentui-copilot/react-copilot-chat/lib/components/copilot-chat-v2/utils/useActionBarSlot.ts","../node_modules/@fluentui-copilot/react-copilot-chat/lib/components/copilot-chat-v2/UserMessage/useUserMessage.tsx","../node_modules/@fluentui-copilot/react-copilot-chat/lib/components/copilot-chat-v2/utils/useUserMessagePositioning.ts","../node_modules/@fluentui-copilot/react-copilot-chat/lib/components/copilot-chat-v2/UserMessage/useUserMessageStyles.styles.ts","../node_modules/@fluentui-copilot/react-copilot-chat/lib/components/copilot-chat-v2/UserMessage/UserMessage.tsx","../node_modules/@fluentui-copilot/react-copilot-chat/lib/components/copilot-chat-v2/UserMessage/renderUserMessage.tsx","../node_modules/@fluentui-copilot/react-copilot-chat/lib/utils/useMessageAttributes.ts","../node_modules/@fluentui-copilot/react-feedback-buttons/lib/components/FeedbackButtons/useFeedbackButtons.tsx","../node_modules/@fluentui-copilot/react-feedback-buttons/lib/components/FeedbackButtons/useFeedbackButtonsStyles.styles.ts","../node_modules/@fluentui-copilot/react-feedback-buttons/lib/components/FeedbackButtons/FeedbackButtons.tsx","../node_modules/@fluentui-copilot/react-feedback-buttons/lib/components/FeedbackButtons/renderFeedbackButtons.tsx","../node_modules/@fluentui-copilot/tokens/lib/themeExtensions/copilotLightThemeExtension.ts","../node_modules/@fluentui-copilot/react-provider/lib/CustomStyleHooksContext.ts","../node_modules/@fluentui-copilot/react-announce/lib/hooks/useAnnounce.ts","../node_modules/@fluentui-copilot/react-provider/lib/CopilotProvider.tsx","../node_modules/@fluentui-copilot/text-editor/lib/utils.ts","../node_modules/@fluentui/date-time-utilities/lib/src/dateFormatting/dateFormatting.defaults.ts","../node_modules/@fluentui/date-time-utilities/lib/src/dateGrid/findAvailableDate.ts","../node_modules/@fluentui/date-time-utilities/lib/src/dateGrid/getBoundedDateRange.ts","../node_modules/@fluentui/date-time-utilities/lib/src/dateGrid/getDateRangeTypeToUse.ts","../node_modules/@fluentui/date-time-utilities/lib/src/dateGrid/isContiguous.ts","../node_modules/@fluentui/date-time-utilities/lib/src/dateGrid/getDayGrid.ts","../node_modules/@fluentui/date-time-utilities/lib/src/dateGrid/isAfterMaxDate.ts","../node_modules/@fluentui/date-time-utilities/lib/src/dateGrid/isBeforeMinDate.ts","../node_modules/@fluentui/date-time-utilities/lib/src/dateGrid/isRestrictedDate.ts","../node_modules/@fluentui/date-time-utilities/lib/src/dateValues/timeConstants.ts","../node_modules/@fluentui/date-time-utilities/lib/src/dateMath/dateMath.ts","../node_modules/@fluentui/date-time-utilities/lib/src/dateValues/dateValues.ts","../node_modules/@fluentui/dom-utilities/src/elementContains.ts","../node_modules/@fluentui/dom-utilities/src/elementContainsAttribute.ts","../node_modules/@fluentui/dom-utilities/src/findElementRecursive.ts","../node_modules/@fluentui/dom-utilities/src/getActiveElement.ts","../node_modules/@fluentui/dom-utilities/src/getChildren.ts","../node_modules/@fluentui/dom-utilities/src/getEventTarget.ts","../node_modules/@fluentui/dom-utilities/src/getParent.ts","../node_modules/@fluentui/dom-utilities/src/getVirtualParent.ts","../node_modules/@fluentui/dom-utilities/src/isVirtualElement.ts","../node_modules/@fluentui/dom-utilities/src/portalContainsElement.ts","../node_modules/@fluentui/dom-utilities/src/setPortalAttribute.ts","../node_modules/@fluentui/dom-utilities/src/setVirtualParent.ts","../node_modules/@fluentui/fluent2-theme/lib/src/componentStyles/BasePicker.styles.ts","../node_modules/@fluentui/fluent2-theme/lib/src/componentStyles/Button.styles.ts","../node_modules/@fluentui/fluent2-theme/lib/src/componentStyles/Checkbox.styles.ts","../node_modules/@fluentui/fluent2-theme/lib/src/componentStyles/ChoiceGroupOption.styles.ts","../node_modules/@fluentui/fluent2-theme/lib/src/componentStyles/inputStyleHelpers.utils.ts","../node_modules/@fluentui/fluent2-theme/lib/src/componentStyles/TagItem.styles.ts","../node_modules/@fluentui/fluent2-theme/lib/src/componentStyles/Toggle.styles.ts","../node_modules/@fluentui/fluent2-theme/src/fluent2ComponentStyles.ts","../node_modules/@fluentui/fluent2-theme/lib/src/componentStyles/Breadcrumb.styles.ts","../node_modules/@fluentui/fluent2-theme/lib/src/componentStyles/Callout.styles.ts","../node_modules/@fluentui/fluent2-theme/lib/src/componentStyles/Check.styles.ts","../node_modules/@fluentui/fluent2-theme/lib/src/componentStyles/ChoiceGroup.styles.ts","../node_modules/@fluentui/fluent2-theme/lib/src/componentStyles/ColorPickerGridStyles.styles.ts","../node_modules/@fluentui/fluent2-theme/lib/src/componentStyles/CommandBar.styles.ts","../node_modules/@fluentui/fluent2-theme/lib/src/componentStyles/CommandBarButton.styles.ts","../node_modules/@fluentui/fluent2-theme/lib/src/componentStyles/ContextualMenu.styles.ts","../node_modules/@fluentui/fluent2-theme/lib/src/componentStyles/DetailsRowCheck.styles.ts","../node_modules/@fluentui/fluent2-theme/lib/src/componentStyles/Dialog.styles.ts","../node_modules/@fluentui/fluent2-theme/lib/src/componentStyles/Dropdown.styles.ts","../node_modules/@fluentui/fluent2-theme/lib/src/componentStyles/MessageBar.styles.ts","../node_modules/@fluentui/fluent2-theme/lib/src/componentStyles/Modal.styles.ts","../node_modules/@fluentui/fluent2-theme/lib/src/componentStyles/Pivot.styles.ts","../node_modules/@fluentui/fluent2-theme/lib/src/componentStyles/SearchBox.styles.ts","../node_modules/@fluentui/fluent2-theme/lib/src/componentStyles/Slider.styles.ts","../node_modules/@fluentui/fluent2-theme/lib/src/componentStyles/SpinButton.styles.ts","../node_modules/@fluentui/fluent2-theme/lib/src/componentStyles/Spinner.styles.ts","../node_modules/@fluentui/fluent2-theme/lib/src/componentStyles/TextField.styles.ts","../node_modules/@fluentui/fluent2-theme/src/fluent2SharedColors.ts","../node_modules/@fluentui/fluent2-theme/src/fluent2WebDarkTheme.ts","../node_modules/@fluentui/fluent2-theme/src/fluent2WebLightTheme.ts","../node_modules/@fluentui/font-icons-mdl2/src/fabric-icons.ts","../node_modules/@fluentui/font-icons-mdl2/src/fabric-icons-0.ts","../node_modules/@fluentui/font-icons-mdl2/src/fabric-icons-1.ts","../node_modules/@fluentui/font-icons-mdl2/src/fabric-icons-2.ts","../node_modules/@fluentui/font-icons-mdl2/src/fabric-icons-3.ts","../node_modules/@fluentui/font-icons-mdl2/src/fabric-icons-4.ts","../node_modules/@fluentui/font-icons-mdl2/src/fabric-icons-5.ts","../node_modules/@fluentui/font-icons-mdl2/src/fabric-icons-6.ts","../node_modules/@fluentui/font-icons-mdl2/src/fabric-icons-7.ts","../node_modules/@fluentui/font-icons-mdl2/src/fabric-icons-8.ts","../node_modules/@fluentui/font-icons-mdl2/src/fabric-icons-9.ts","../node_modules/@fluentui/font-icons-mdl2/src/fabric-icons-10.ts","../node_modules/@fluentui/font-icons-mdl2/src/fabric-icons-11.ts","../node_modules/@fluentui/font-icons-mdl2/src/fabric-icons-12.ts","../node_modules/@fluentui/font-icons-mdl2/src/fabric-icons-13.ts","../node_modules/@fluentui/font-icons-mdl2/src/fabric-icons-14.ts","../node_modules/@fluentui/font-icons-mdl2/src/fabric-icons-15.ts","../node_modules/@fluentui/font-icons-mdl2/src/fabric-icons-16.ts","../node_modules/@fluentui/font-icons-mdl2/src/fabric-icons-17.ts","../node_modules/@fluentui/font-icons-mdl2/src/iconAliases.ts","../node_modules/@fluentui/font-icons-mdl2/src/version.ts","../node_modules/@fluentui/font-icons-mdl2/src/index.ts","../node_modules/@fluentui/foundation-legacy/src/createComponent.tsx","../node_modules/@fluentui/foundation-legacy/src/slots.tsx","../node_modules/@fluentui/foundation-legacy/src/utilities.ts","../node_modules/@fluentui/keyboard-keys/lib/keys.js","../node_modules/@fluentui/merge-styles/src/StyleOptionsState.ts","../node_modules/@fluentui/merge-styles/src/Stylesheet.ts","../node_modules/@fluentui/merge-styles/src/concatStyleSets.ts","../node_modules/@fluentui/merge-styles/src/concatStyleSetsWithProps.ts","../node_modules/@fluentui/merge-styles/src/extractStyleParts.ts","../node_modules/@fluentui/merge-styles/src/fontFace.ts","../node_modules/@fluentui/merge-styles/src/keyframes.ts","../node_modules/@fluentui/merge-styles/src/mergeStyleSets.ts","../node_modules/@fluentui/merge-styles/src/mergeStyles.ts","../node_modules/@fluentui/merge-styles/src/shadowConfig.ts","../node_modules/@fluentui/merge-styles/src/getVendorSettings.ts","../node_modules/@fluentui/merge-styles/lib/src/transforms/kebabRules.ts","../node_modules/@fluentui/merge-styles/lib/src/transforms/prefixRules.ts","../node_modules/@fluentui/merge-styles/lib/src/transforms/provideUnits.ts","../node_modules/@fluentui/merge-styles/lib/src/transforms/rtlifyRules.ts","../node_modules/@fluentui/merge-styles/src/styleToClassName.ts","../node_modules/@fluentui/merge-styles/src/tokenizeWithParentheses.ts","../node_modules/@fluentui/react-avatar/lib/utils/getInitials.js","../node_modules/@fluentui/react-badge/lib/components/PresenceBadge/presenceIcons.js","../node_modules/@fluentui/react-badge/lib/components/Badge/useBadge.js","../node_modules/@fluentui/react-badge/lib/components/PresenceBadge/usePresenceBadge.js","../node_modules/@fluentui/react-badge/lib/components/PresenceBadge/usePresenceBadgeStyles.styles.js","../node_modules/@fluentui/react-badge/lib/components/Badge/renderBadge.js","../node_modules/@fluentui/react-badge/lib/components/PresenceBadge/PresenceBadge.js","../node_modules/@fluentui/react-avatar/lib/contexts/AvatarContext.js","../node_modules/@fluentui/react-avatar/lib/components/Avatar/useAvatar.js","../node_modules/@fluentui/react-avatar/lib/components/Avatar/useAvatarStyles.styles.js","../node_modules/@fluentui/react-avatar/lib/components/Avatar/Avatar.js","../node_modules/@fluentui/react-avatar/lib/components/Avatar/renderAvatar.js","../node_modules/@fluentui/react-aria/lib/button/useARIAButtonProps.js","../node_modules/@fluentui/react-button/lib/contexts/ButtonContext.js","../node_modules/@fluentui/react-button/lib/components/Button/useButton.js","../node_modules/@fluentui/react-button/lib/components/Button/useButtonStyles.styles.js","../node_modules/@fluentui/react-button/lib/components/Button/Button.js","../node_modules/@fluentui/react-button/lib/components/Button/renderButton.js","../node_modules/@fluentui/react-compose/lib/src/next/nullRender.tsx","../node_modules/@fluentui/react-compose/lib/src/next/getSlots.ts","../node_modules/@fluentui/react-compose/lib/src/next/makeMergeProps.ts","../node_modules/@fluentui/react-compose/node_modules/tslib/tslib.es6.js","../node_modules/@fluentui/react-context-selector/lib/createContext.js","../node_modules/@fluentui/react-divider/lib/components/Divider/useDividerStyles.styles.js","../node_modules/@fluentui/react-divider/lib/components/Divider/Divider.js","../node_modules/@fluentui/react-divider/lib/components/Divider/useDivider.js","../node_modules/@fluentui/react-divider/lib/components/Divider/renderDivider.js","../node_modules/@fluentui/react-field/lib/contexts/FieldContext.js","../node_modules/@fluentui/react-field/lib/contexts/useFieldControlProps.js","../node_modules/@fluentui/react-focus/lib/components/src/components/FocusZone/FocusZone.tsx","../node_modules/@fluentui/react-focus/lib/components/src/components/FocusZone/FocusZone.types.ts","../node_modules/@fluentui/react-hooks/src/useAsync.ts","../node_modules/@fluentui/react-hooks/src/useBoolean.ts","../node_modules/@fluentui/react-hooks/src/useConst.ts","../node_modules/@fluentui/react-hooks/src/useControllableValue.ts","../node_modules/@fluentui/react-hooks/src/useEventCallback.ts","../node_modules/@fluentui/react-hooks/src/useId.ts","../node_modules/@fluentui/react-hooks/src/useMergedRefs.ts","../node_modules/@fluentui/react-hooks/src/useOnEvent.ts","../node_modules/@fluentui/react-hooks/src/usePrevious.ts","../node_modules/@fluentui/react-hooks/src/useRefEffect.ts","../node_modules/@fluentui/react-hooks/src/useSetTimeout.ts","../node_modules/@fluentui/react-hooks/src/useTarget.ts","../node_modules/@fluentui/react-hooks/src/useUnmount.ts","../node_modules/@fluentui/react-hooks/src/useWarnings.ts","../node_modules/@fluentui/react-icons-mdl2/lib/src/utils/SvgIcon.scss.ts","../node_modules/@fluentui/react-icon-provider/src/IconProvider.tsx","../node_modules/@fluentui/react-icons-mdl2/lib/src/utils/createSvgIcon.ts","../node_modules/@fluentui/react-icons-mdl2/lib/src/components/MegaphoneIcon.tsx","../node_modules/@fluentui/react-icons/lib/contexts/IconDirectionContext.js","../node_modules/@fluentui/react-icons/lib/icons/chunk-0.js","../node_modules/es-object-atoms/index.js","../node_modules/escape-string-regexp/index.js","../node_modules/event-as-promise/src/external/p-defer.js","../node_modules/event-as-promise/src/index.js","../node_modules/event-target-shim/es5.js","../node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs","../node_modules/@floating-ui/core/dist/floating-ui.core.mjs","../node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs","../node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs"],"sourcesContent":["import type { EditorConfig, LexicalNode, NodeKey, SerializedTextNode } from '@fluentui-copilot/text-editor';\nimport { TextNode } from '@fluentui-copilot/text-editor';\n\n// 2 zero width characters will not be visible in the editor.\n// \\u200b is the zero width space character which can allow line wrapping in a word\n// \\u200c is the zero width non-joiner character which prevents ligatures from connecting the two surrounding characters\n// These two characters together are a no-op and should not be present together in any legitimate user input.\nexport const SENTINEL_VALUE = '\\u200b\\u200c';\n\nexport class SentinelNode extends TextNode {\n constructor(key?: NodeKey) {\n super(SENTINEL_VALUE, key);\n }\n\n static getType() {\n return 'sentinel';\n }\n static clone(node: SentinelNode) {\n return new SentinelNode(node.__key);\n }\n\n createDOM(config: EditorConfig): HTMLElement {\n const element = super.createDOM(config);\n element.ariaHidden = 'true';\n return element;\n }\n\n isToken() {\n return true;\n }\n\n exportJSON(): SerializedTextNode {\n return {\n ...super.exportJSON(),\n type: 'sentinel',\n version: 1,\n };\n }\n\n static importJSON(serializedNode: SerializedTextNode): SentinelNode {\n return $createSentinelNode();\n }\n}\n\nexport function $createSentinelNode(key?: NodeKey) {\n return new SentinelNode(key);\n}\n\nexport function $isSentinelNode(node: LexicalNode | null): node is SentinelNode {\n return node instanceof SentinelNode;\n}\n","import type { LexicalEditor, LexicalNode } from '@fluentui-copilot/text-editor';\nimport {\n $createParagraphNode,\n $createRangeSelection,\n $createTextNode,\n $getLeafNodes,\n $getRoot,\n $getSelection,\n $isTextNode,\n $normalizeSelection__EXPERIMENTAL,\n $setSelection,\n} from '@fluentui-copilot/text-editor';\nimport { SENTINEL_VALUE, $isSentinelNode } from '../BasicFunctionality';\n\nexport interface IImperativeControlBase {\n setInputText: (inputText: string) => void;\n appendText: (text: string) => void;\n prependText: (text: string) => void;\n insertTextAtCursor: (text: string) => void;\n /**\n * @param transform will be called for each Lexical node in the input. This enables custom string representation for each node.\n */\n getInputText: (transform?: (node: LexicalNode) => string) => string;\n scrollToBottom: () => void;\n moveCursor: (location: number) => void;\n}\n\nexport class ImperativeControlBase implements IImperativeControlBase {\n private __editor: LexicalEditor;\n\n constructor(editor: LexicalEditor) {\n this.__editor = editor;\n }\n\n moveCursor(location: number): void {\n this.__editor.update(() => {\n const children = $getLeafNodes($getRoot());\n\n let baseOffset = 0;\n let currentNode = children.shift();\n while (baseOffset < location && currentNode) {\n const nodeLength =\n $isTextNode(currentNode) && !currentNode.isToken()\n ? currentNode.getTextContent().length\n : // Token text nodes and non-text nodes are considered to be a single entry in the input\n 1;\n\n if (baseOffset + nodeLength >= location) {\n const elementType = $isTextNode(currentNode) ? 'text' : 'element';\n const localOffset = location - baseOffset;\n const nodeKey = currentNode.getKey();\n\n const selection = $createRangeSelection();\n selection.anchor.set(nodeKey, localOffset, elementType);\n selection.focus.set(nodeKey, localOffset, elementType);\n\n $setSelection($normalizeSelection__EXPERIMENTAL(selection));\n return;\n }\n\n baseOffset += nodeLength;\n currentNode = children.shift();\n }\n\n if (location > baseOffset) {\n $getRoot().selectEnd();\n }\n });\n }\n setInputText(inputText: string) {\n this.__editor.update(() => {\n const root = $getRoot();\n root.clear();\n if (inputText !== '') {\n const newParagraph = $createParagraphNode();\n const newText = $createTextNode(inputText);\n\n newParagraph.append(newText);\n root.append(newParagraph);\n root.selectEnd();\n }\n });\n }\n appendText(text: string) {\n this.__editor.update(() => {\n $getRoot().selectEnd().insertText(text);\n });\n }\n prependText(text: string) {\n this.__editor.update(() => {\n $getRoot().selectStart().insertText(text);\n });\n }\n insertTextAtCursor(text: string) {\n this.__editor.update(() => {\n const selection = $getSelection() ?? $getRoot().selectEnd();\n selection.insertText(text);\n });\n }\n getInputText(transform?: (node: LexicalNode) => string) {\n return this.__editor.getEditorState().read(() => {\n if (!transform) {\n return $getRoot().getTextContent().replace(SENTINEL_VALUE, '');\n }\n const children = $getLeafNodes($getRoot());\n const transformedNodeTexts: string[] = [];\n\n for (const currentNode of children) {\n if (!$isSentinelNode(currentNode)) {\n transformedNodeTexts.push(transform(currentNode));\n }\n }\n\n return transformedNodeTexts.join('');\n });\n }\n scrollToBottom() {\n this.__editor.getRootElement()?.scrollIntoView({ behavior: 'smooth', block: 'end' });\n return;\n }\n}\n","import * as React from 'react';\nimport type { IImperativeControlBase } from '@fluentui-copilot/chat-input-plugins';\nimport { ImperativeControlBase } from '@fluentui-copilot/chat-input-plugins';\nimport { useLexicalComposerContext } from '@fluentui-copilot/react-text-editor';\n\nexport type ImperativeControlPluginRef = IImperativeControlBase;\nexport type ImperativeControlPluginProps = {};\n\nexport const ImperativeControlPlugin = React.forwardRef(\n (_props, ref) => {\n const [editor] = useLexicalComposerContext();\n\n React.useImperativeHandle(ref, () => new ImperativeControlBase(editor), [editor]);\n\n return null;\n },\n);\n","import * as React from 'react';\nimport { useTimeout } from '@fluentui/react-utilities';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const useDebounce = (fn: (...args: any[]) => void, duration: number) => {\n const [setTimeout, clearTimeout] = useTimeout();\n return React.useCallback(\n (...args: unknown[]) => {\n clearTimeout();\n setTimeout(() => {\n fn(...args);\n }, duration);\n },\n [clearTimeout, duration, fn, setTimeout],\n );\n};\n","import * as React from 'react';\nimport { slot, useMergedRefs, useTimeout } from '@fluentui/react-utilities';\nimport { useDebounce } from '@fluentui-copilot/react-utilities';\nimport type { CharactersRemainingMessageCallback, ChatInputProps } from './ChatInput.types';\nimport type { AnnounceContextValue_unstable } from '@fluentui/react-shared-contexts';\n\nconst CHARACTER_WARNING_THRESHOLD = 10;\n\nexport type UseErrorMessageProps = {\n characterLimitErrorMessage: string;\n charactersRemainingMessage: CharactersRemainingMessageCallback;\n count: number;\n maxLength: number;\n errorMessage?: ChatInputProps['errorMessage'];\n announce: AnnounceContextValue_unstable['announce'];\n};\nexport const useErrorMessage = (props: UseErrorMessageProps) => {\n const { characterLimitErrorMessage, charactersRemainingMessage, errorMessage, count, maxLength, announce } = props;\n\n const characterCountExceeded = count > maxLength;\n\n const errorMessageRef = React.useRef(null);\n\n const errorMessageDefaultProps = characterCountExceeded\n ? {\n children: characterLimitErrorMessage,\n }\n : undefined;\n\n const errorMessageSlot = slot.optional(errorMessage, {\n defaultProps: errorMessageDefaultProps,\n renderByDefault: characterCountExceeded,\n elementType: 'span',\n });\n\n const mergedErrorMessageRefs = useMergedRefs(errorMessageRef, errorMessageSlot?.ref);\n if (errorMessageSlot) {\n errorMessageSlot.ref = mergedErrorMessageRefs;\n }\n\n const announcedCharactersRemaining = React.useRef(false);\n const announcedCharacterLimit = React.useRef(false);\n const lastAnnouncedText = React.useRef('');\n\n const announceErrorMessage = useDebounce((errorMessageText: string) => {\n announce(errorMessageText);\n lastAnnouncedText.current = errorMessageText;\n }, 1000);\n\n const [setPendingAnnouncementTimeout, clearPendingAnnouncementTimeout] = useTimeout();\n\n React.useEffect(() => {\n const errorMessageText = errorMessageRef.current?.innerText?.trim();\n if (!errorMessageText) {\n lastAnnouncedText.current = '';\n }\n\n // handle custom error message announcement\n if (errorMessageText && errorMessageText !== lastAnnouncedText.current) {\n announceErrorMessage(errorMessageText);\n }\n }, [announceErrorMessage]);\n\n React.useEffect(() => {\n // reset announced chars remaining when it goes back above 10 left\n if (maxLength - count > CHARACTER_WARNING_THRESHOLD) {\n announcedCharactersRemaining.current = false;\n announcedCharacterLimit.current = false;\n clearPendingAnnouncementTimeout();\n }\n // reset char limit error when it goes above 0 left, and announce remaining warning\n else if (count <= maxLength) {\n announcedCharacterLimit.current = false;\n\n if (announcedCharactersRemaining.current) {\n return;\n }\n\n setPendingAnnouncementTimeout(() => {\n announce(charactersRemainingMessage(maxLength - count));\n announcedCharactersRemaining.current = true;\n }, 1000);\n }\n // if we've passed the char limit, announce the limit error\n else {\n if (!announcedCharacterLimit.current) {\n setPendingAnnouncementTimeout(() => {\n announce(characterLimitErrorMessage);\n announcedCharacterLimit.current = true;\n }, 1000);\n }\n }\n\n return () => {\n clearPendingAnnouncementTimeout();\n };\n }, [\n announce,\n count,\n setPendingAnnouncementTimeout,\n clearPendingAnnouncementTimeout,\n maxLength,\n characterLimitErrorMessage,\n charactersRemainingMessage,\n ]);\n\n return errorMessageSlot;\n};\n","import type { LexicalEditor } from '@fluentui-copilot/text-editor';\nimport { COMMAND_PRIORITY_HIGH } from '@fluentui-copilot/text-editor';\nimport {\n $createTextNode,\n $getRoot,\n $getSelection,\n $insertNodes,\n $isRangeSelection,\n INSERT_PARAGRAPH_COMMAND,\n KEY_ENTER_COMMAND,\n PASTE_COMMAND,\n mergeRegister,\n} from '@fluentui-copilot/text-editor';\nimport { SENTINEL_VALUE } from './SentinelNode';\nimport { registerSentinelNodeHandlers } from './SentinelNodeHandlers';\n\nfunction isClipboardEvent(event: ClipboardEvent | KeyboardEvent | InputEvent): event is ClipboardEvent {\n return event.type === 'paste';\n}\n\nexport interface IBasicFunctionalityBase {\n insertDefaultValue: (defaultValue: string) => void;\n setIsDisabled: (isDisabled: boolean) => void;\n activateContentCallbacks(onContentChange?: (value: string) => void, onCountChanged?: (count: number) => void): void;\n deactivateContentCallbacks(): void;\n activateTrimWhitespace(): void;\n deactivateTrimWhitespace(): void;\n activatePasteCallback(onPaste: (event: ClipboardEvent) => void): void;\n deactivatePasteCallback(): void;\n cleanup(): void;\n}\n\nexport class BasicFunctionalityBase implements IBasicFunctionalityBase {\n private __editor: LexicalEditor;\n private __contentChangeCleanup?: () => void;\n private __trimWhitespaceCleanup?: () => void;\n private __baseHandlersCleanup?: () => void;\n private __pasteHandlerCleanup?: () => void;\n\n private __enterHandler(event: KeyboardEvent) {\n const selection = $getSelection();\n if (!$isRangeSelection(selection)) {\n return false;\n }\n\n if (event === null) {\n return false;\n }\n\n event.preventDefault();\n\n if (event.shiftKey) {\n return this.__editor.dispatchCommand(INSERT_PARAGRAPH_COMMAND, undefined);\n }\n\n // Mark event handled to override default behavior\n return true;\n }\n\n constructor(editor: LexicalEditor) {\n this.__editor = editor;\n\n this.__baseHandlersCleanup = mergeRegister(\n this.__editor.registerCommand(KEY_ENTER_COMMAND, this.__enterHandler.bind(this), COMMAND_PRIORITY_HIGH),\n registerSentinelNodeHandlers(editor),\n );\n }\n\n insertDefaultValue(defaultValue: string) {\n if (defaultValue) {\n this.__editor.update(() => {\n $insertNodes([$createTextNode(defaultValue)]);\n });\n }\n }\n\n activateContentCallbacks(\n onContentChange?: ((value: string) => void) | undefined,\n onCountChanged?: ((count: number) => void) | undefined,\n ) {\n this.deactivateContentCallbacks();\n this.__contentChangeCleanup = this.__editor.registerTextContentListener(text => {\n // Remove the sentinel node\n const processed = text.replace(SENTINEL_VALUE, '');\n onContentChange?.(processed);\n onCountChanged?.(processed.length);\n });\n }\n\n deactivateContentCallbacks() {\n this.__contentChangeCleanup?.();\n this.__contentChangeCleanup = undefined;\n }\n\n activatePasteCallback(onPaste: (event: ClipboardEvent) => void) {\n this.__pasteHandlerCleanup = this.__editor.registerCommand(\n PASTE_COMMAND,\n (event: ClipboardEvent | KeyboardEvent | InputEvent) => {\n if (!isClipboardEvent(event)) {\n return false;\n }\n\n onPaste(event);\n\n if (event.defaultPrevented) {\n return true;\n }\n\n return false;\n },\n COMMAND_PRIORITY_HIGH,\n );\n }\n\n deactivatePasteCallback() {\n this.__pasteHandlerCleanup?.();\n this.__pasteHandlerCleanup = undefined;\n }\n\n activateTrimWhitespace() {\n this.deactivateTrimWhitespace();\n this.__trimWhitespaceCleanup = this.__editor.registerTextContentListener(text => {\n if (text.trim() === '') {\n this.__editor.update(\n () => {\n $getRoot()\n .getAllTextNodes()\n .forEach(node => {\n node.remove();\n });\n },\n // Don't allow undoing this action\n { tag: 'historic' },\n );\n }\n });\n }\n\n deactivateTrimWhitespace() {\n this.__trimWhitespaceCleanup?.();\n this.__trimWhitespaceCleanup = undefined;\n }\n\n setIsDisabled(isDisabled: boolean) {\n this.__editor.setEditable(!isDisabled);\n }\n\n cleanup() {\n this.deactivateContentCallbacks();\n this.deactivateTrimWhitespace();\n this.deactivatePasteCallback();\n this.__baseHandlersCleanup?.();\n this.__baseHandlersCleanup = undefined;\n }\n}\n","import type {\n LexicalEditor,\n UpdateListener} from '@fluentui-copilot/text-editor';\nimport {\n $getLeafNodes,\n $getNodeByKey,\n $getRoot,\n $getSelection,\n $isRangeSelection,\n $normalizeSelection__EXPERIMENTAL,\n $setSelection,\n mergeRegister\n} from '@fluentui-copilot/text-editor';\nimport { $isSentinelNode, $createSentinelNode, SentinelNode } from './SentinelNode';\n\nexport function registerSentinelNodeHandlers(editor: LexicalEditor) {\n // Add a sentinel node at the end of the input when there is content.\n // This sentinel node fixes a number of issues.\n // In Safari, Lexical's behaviour of adding
tags to the end of the input when it ends\n // in a decorator node causes cursor location issues: https://github.com/facebook/lexical/issues/4487\n // Otherwise, when a decorator node is the last node in the input, the cursor can't move past it.\n // Adding an invisible text node that doesn't contribute to the content and can't be selected to the end of the input\n // mitigates these issues.\n const sentinelNodeUpdateHandler: UpdateListener = ({ editorState }) => {\n editorState.read(() => {\n const leaves = $getLeafNodes($getRoot());\n if (leaves.length === 0) {\n return;\n }\n\n const lastNode = leaves[leaves.length - 1];\n const lastNodeKey = lastNode.getKey();\n\n // If the last node isn't a sentinel, add one\n if (!$isSentinelNode(lastNode)) {\n editor.update(\n () => {\n // We find the node by its key again in case the node was removed before this update runs\n $getNodeByKey(lastNodeKey)?.insertAfter($createSentinelNode());\n },\n // historic tag prevents every sentinel node addition from being added to LexicalHistoryPlugin undo stack\n { discrete: true, tag: 'historic' },\n );\n return;\n }\n\n // If the sentinel node is not selected, we're done\n const previous = lastNode.getPreviousSibling();\n if (!previous || !lastNode.isSelected()) {\n return;\n }\n\n const selection = $getSelection();\n if (!$isRangeSelection(selection)) {\n return;\n }\n\n // If the cursor is inside the sentinel node, move it out (next to the beginning)\n // We allow selection on the boundary of the sentinel in case the adjacent node is a decorator node\n // where selection is ill-defined.\n if (selection.isCollapsed() && selection.anchor.offset > 0) {\n editor.update(() => {\n $getNodeByKey(lastNodeKey)?.selectStart();\n });\n return;\n }\n\n // If the selection is a range which includes the sentinel, modify the range to exclude it\n if (!selection.isCollapsed()) {\n let selectionChanged = false;\n const newSelection = selection.clone();\n\n if (newSelection.anchor.getNode() === lastNode && newSelection.anchor.offset > 0) {\n newSelection.anchor.set(lastNodeKey, 0, 'text');\n selectionChanged = true;\n }\n if (newSelection.focus.getNode() === lastNode && newSelection.focus.offset > 0) {\n newSelection.focus.set(lastNodeKey, 0, 'text');\n selectionChanged = true;\n }\n\n if (selectionChanged) {\n editor.update(() => {\n if ($getNodeByKey(lastNodeKey) !== null) {\n $setSelection($normalizeSelection__EXPERIMENTAL(newSelection));\n }\n });\n }\n }\n });\n };\n\n return mergeRegister(\n editor.registerUpdateListener(sentinelNodeUpdateHandler),\n editor.registerNodeTransform(SentinelNode, node => {\n if (!node.getPreviousSibling() || node.getNextSibling()) {\n node.remove();\n return;\n }\n }),\n );\n}\n","import * as React from 'react';\nimport { useLexicalComposerContext } from '@fluentui-copilot/react-text-editor';\nimport { useIsomorphicLayoutEffect } from '@fluentui/react-components';\nimport type { IBasicFunctionalityBase } from '@fluentui-copilot/chat-input-plugins';\nimport { BasicFunctionalityBase } from '@fluentui-copilot/chat-input-plugins';\n\nexport type BasicFunctionalityPluginProps = {\n defaultValue?: string;\n // Whether or not to clear the input when only whitespace is remaining\n trimWhitespace?: boolean;\n onCountChanged?: (count: number) => void;\n onContentChange?: (value: string) => void;\n onPaste?: (event: ClipboardEvent) => void;\n};\n\nexport type BasicFunctionalityPluginRef = {\n setIsDisabled: (isDisabled: boolean) => void;\n};\n\nexport const BasicFunctionalityPlugin = React.forwardRef(\n (props, ref) => {\n const { defaultValue, trimWhitespace, onCountChanged, onContentChange, onPaste } = props;\n\n const [editor] = useLexicalComposerContext();\n\n const basicFunctionalityImpl = React.useRef(null);\n\n useIsomorphicLayoutEffect(() => {\n basicFunctionalityImpl.current = new BasicFunctionalityBase(editor);\n\n return () => basicFunctionalityImpl.current?.cleanup();\n }, [editor]);\n\n React.useImperativeHandle(ref, () => ({\n setIsDisabled(isDisabled: boolean) {\n basicFunctionalityImpl.current?.setIsDisabled(isDisabled);\n },\n }));\n\n // useIsomporphicLayoutEffect is used to avoid flickering on first render\n useIsomorphicLayoutEffect(() => {\n if (defaultValue) {\n basicFunctionalityImpl.current?.insertDefaultValue(defaultValue);\n }\n }, [editor]);\n\n React.useEffect(() => {\n basicFunctionalityImpl.current?.activateContentCallbacks(onContentChange, onCountChanged);\n return () => basicFunctionalityImpl.current?.deactivateContentCallbacks();\n }, [editor, onContentChange, onCountChanged]);\n\n React.useEffect(() => {\n if (onPaste) {\n basicFunctionalityImpl.current?.activatePasteCallback(onPaste);\n }\n return () => basicFunctionalityImpl.current?.deactivatePasteCallback();\n }, [editor, onPaste]);\n\n React.useEffect(() => {\n if (trimWhitespace) {\n basicFunctionalityImpl.current?.activateTrimWhitespace();\n }\n return () => basicFunctionalityImpl.current?.deactivateTrimWhitespace();\n }, [editor, trimWhitespace]);\n\n return null;\n },\n);\n","import { makeResetStyles, makeStyles, mergeClasses, tokens, typographyStyles } from '@fluentui/react-components';\nimport type { SlotClassNames } from '@fluentui/react-components';\nimport type { EditorInputSlots, EditorInputState } from './EditorInput.types';\n\nexport const editorInputClassNames: SlotClassNames = {\n root: 'fai-EditorInput',\n input: 'fai-EditorInput__input',\n placeholderValue: 'fai-EditorInput__placeholderValue',\n};\n\n/**\n * Styles for the root slot\n */\nconst useRootClassName = makeResetStyles({\n display: 'inline-grid',\n whiteSpace: 'pre-wrap',\n});\n\nexport const useLexicalStyles = makeStyles({\n paragraph: {\n margin: 0,\n },\n});\n\nexport const usePlaceholderClassName = makeResetStyles({\n zIndex: 0,\n gridArea: '1 / 1 / 1 / 1',\n\n color: tokens.colorNeutralForeground4,\n ...typographyStyles.body1,\n\n '@media (forced-colors: active)': {\n color: 'GrayText',\n },\n});\n\nexport const useInputClassName = makeResetStyles({\n gridArea: '1 / 1 / 1 / 1',\n zIndex: 1,\n width: '100%',\n});\n\nconst useStyles = makeStyles({\n placeholderDisabled: {\n color: tokens.colorNeutralForegroundDisabled,\n },\n});\n/**\n * Apply styling to the EditorInput slots based on the state\n */\nexport const useEditorInputStyles_unstable = (state: EditorInputState): EditorInputState => {\n 'use no memo';\n\n const { disabled } = state;\n const placeholderClassName = usePlaceholderClassName();\n const rootClassName = useRootClassName();\n const inputClassName = useInputClassName();\n const styles = useStyles();\n\n state.root.className = mergeClasses(editorInputClassNames.root, rootClassName, state.root.className);\n\n state.input.className = mergeClasses(editorInputClassNames.input, inputClassName, state.input.className);\n\n state.lexicalInitialConfig = {\n ...state.lexicalInitialConfig,\n theme: { ...useLexicalStyles(), ...state.lexicalInitialConfig.theme },\n };\n\n if (state.placeholderValue) {\n state.placeholderValue.className = mergeClasses(\n editorInputClassNames.placeholderValue,\n placeholderClassName,\n disabled && styles.placeholderDisabled,\n state.placeholderValue.className,\n );\n }\n\n return state;\n};\n","import * as React from 'react';\nimport { useEditorInput_unstable } from './useEditorInput';\nimport { renderEditorInput_unstable } from './renderEditorInput';\nimport { useEditorInputStyles_unstable } from './useEditorInputStyles.styles';\nimport type { EditorInputProps } from './EditorInput.types';\nimport type { ForwardRefComponent } from '@fluentui/react-components';\n\n// EditorInput component - TODO: add more docs\nexport const EditorInput: ForwardRefComponent = React.forwardRef((props, ref) => {\n const state = useEditorInput_unstable(props, ref);\n\n useEditorInputStyles_unstable(state);\n return renderEditorInput_unstable(state);\n});\n\nEditorInput.displayName = 'EditorInput';\n","import * as React from 'react';\nimport {\n getPartitionedNativeProps,\n slot,\n useId,\n useIsomorphicLayoutEffect,\n useMergedRefs,\n} from '@fluentui/react-components';\nimport type { EditorInputProps, EditorInputState } from './EditorInput.types';\nimport { SentinelNode } from '@fluentui-copilot/chat-input-plugins';\nimport type { LexicalEditor } from '@fluentui-copilot/react-text-editor';\nimport { LexicalPlainTextPlugin, mergeRegister } from '@fluentui-copilot/react-text-editor';\nimport { useControllableState } from '@fluentui/react-utilities';\n\n/**\n * Create the state required to render EditorInput.\n *\n * The returned state can be modified with hooks such as useEditorInputStyles_unstable,\n * before being passed to renderEditorInput_unstable.\n *\n * @param props - props from this instance of EditorInput\n * @param ref - reference to root HTMLElement of EditorInput\n */\nexport const useEditorInput_unstable = (props: EditorInputProps, ref: React.Ref): EditorInputState => {\n const {\n onChange,\n onPaste,\n trimWhiteSpace = false,\n textPlugin = LexicalPlainTextPlugin,\n history = true,\n editorRef: userEditorRef,\n customTheme,\n } = props;\n const { root, primary } = getPartitionedNativeProps({\n primarySlotTagName: 'span',\n props,\n excludedPropNames: ['onChange', 'onPaste', 'defaultValue'],\n });\n\n const editorRef = useMergedRefs(React.useRef(null), userEditorRef);\n // The disabled state can also be changed by lexical (e.g. by a custom plugin) so\n // we use `useControllableState` to coordinate\n const [disabled, setDisabled] = useControllableState({\n state: props.disabled,\n initialState: false,\n });\n\n const customNodes = props.customNodes ? [...props.customNodes, SentinelNode] : [SentinelNode];\n\n const spanRef = React.useCallback(\n span => {\n // Register the `input` span with lexical\n editorRef.current?.setRootElement(span);\n },\n [editorRef],\n );\n\n // Update lexical when disabled changes\n useIsomorphicLayoutEffect(() => {\n if (editorRef.current) {\n editorRef.current?.setEditable(!disabled);\n }\n }, [disabled]);\n\n useIsomorphicLayoutEffect(() => {\n if (editorRef.current) {\n return mergeRegister(\n editorRef.current.registerEditableListener(isEditable => {\n setDisabled(!isEditable);\n }),\n editorRef.current?.registerRootListener(root => {\n if (!root) {\n return;\n }\n\n // Remove lexical's inline style so we can apply our own\n // Lexical needs the whitespace style to be either `pre` or `pre-wrap` to work correctly\n root.style.whiteSpace = '';\n }),\n );\n }\n }, [editorRef]);\n\n const handleOnChange = React.useCallback(\n (newValue: string) => {\n onChange?.({}, { value: newValue });\n },\n [onChange],\n );\n\n const [defaultString, defaultValueFunction] = (() => {\n if (typeof props.defaultValue === 'function') {\n return [undefined, props.defaultValue];\n }\n return [props.defaultValue, undefined];\n })();\n\n const placeholderValue = slot.optional(props.placeholderValue, { elementType: 'span' });\n const placeholderId = useId('chat-input-placeholder', placeholderValue?.id);\n if (placeholderValue) {\n placeholderValue.id = placeholderId;\n }\n\n return {\n components: {\n root: 'span',\n input: 'span',\n placeholderValue: 'span',\n },\n root: slot.always(props.root, { defaultProps: { ...root }, elementType: 'span' }),\n input: slot.always(props.input, {\n defaultProps: {\n ref: useMergedRefs(ref, spanRef),\n role: 'textbox',\n contentEditable: !disabled,\n 'aria-readonly': disabled ? true : undefined,\n tabIndex: disabled ? -1 : 0,\n disabled,\n suppressContentEditableWarning: true,\n ...primary,\n 'aria-describedby': primary['aria-describedby']\n ? `${primary['aria-describedby']} ${placeholderId}`\n : placeholderId,\n },\n elementType: 'span',\n }),\n placeholderValue,\n lexicalInitialConfig: {\n namespace: 'fai-EditorInput',\n onError: console.error,\n nodes: customNodes,\n editorState: defaultValueFunction,\n theme: customTheme,\n },\n editorRef,\n disabled,\n textPlugin,\n onPaste,\n handleOnChange,\n defaultValue: defaultString,\n trimWhiteSpace,\n history,\n };\n};\n","/** @jsxRuntime automatic */\n/** @jsxImportSource @fluentui/react-jsx-runtime */\n\nimport { assertSlots } from '@fluentui/react-components';\nimport type { EditorInputState, EditorInputSlots } from './EditorInput.types';\nimport {\n LexicalComposer,\n LexicalErrorBoundary,\n LexicalEditorRefPlugin,\n LexicalHistoryPlugin,\n} from '@fluentui-copilot/react-text-editor';\nimport { BasicFunctionalityPlugin } from '@fluentui-copilot/react-chat-input-plugins';\n\n/**\n * Render the final JSX of EditorInput\n */\nexport const renderEditorInput_unstable = (state: EditorInputState) => {\n assertSlots(state);\n\n return (\n \n \n }\n ErrorBoundary={LexicalErrorBoundary}\n placeholder={state.placeholderValue ? : null}\n />\n <>\n \n {state.history && }\n \n \n \n \n );\n};\n","import { useControllableState } from '@fluentui/react-utilities';\nimport * as React from 'react';\nimport type { ChatInputLineMode, ChatInputProps } from './ChatInput.types';\n\nexport type UseIsCollapsedProps = Pick & {\n editorSlotRef: React.RefObject;\n value: string;\n editorHasFocus: boolean;\n};\nexport type UseIsCollapsed = (props: UseIsCollapsedProps) => {\n collapsed: boolean;\n updateIsCollapsed: (newValue: string) => void;\n};\n\nexport const useIsCollapsed: UseIsCollapsed = props => {\n const { appearance, onLineModeChange, editorSlotRef, attachments } = props;\n\n // Treat `responsive` and `auto` appearances as uncontrolled\n const isControlled = appearance === 'single' || appearance === 'multi';\n\n const [lineMode, setLineModeValue] = useControllableState({\n state: isControlled ? appearance : undefined,\n initialState: 'single',\n });\n\n const setIsCollapsed = React.useCallback(\n (newValue: string) => {\n if (editorSlotRef.current) {\n const clientWidth = editorSlotRef.current.clientWidth;\n if (clientWidth < editorSlotRef.current.scrollWidth || newValue.includes('\\n')) {\n setLineModeValue('multi');\n onLineModeChange?.({ lineMode: 'multi' });\n } else if (newValue.trim() === '') {\n setLineModeValue('single');\n onLineModeChange?.({ lineMode: 'single' });\n }\n }\n },\n [editorSlotRef, onLineModeChange, setLineModeValue],\n );\n\n // If appearance is auto we can calculate the line mode based on the props without rerendering by setting state\n const autoAppearance = useAutoAppearance(props);\n if (autoAppearance) {\n return autoAppearance;\n }\n\n // Attachments causes the input to be expanded, unless the user is directly controlling `single` or `multi` line modes.\n const collapsed = lineMode !== 'multi' && (!attachments || isControlled);\n\n return { collapsed, updateIsCollapsed: setIsCollapsed };\n};\n\nfunction useAutoAppearance(props: UseIsCollapsedProps): ReturnType | undefined {\n const { appearance, editorHasFocus, value, onLineModeChange, attachments } = props;\n\n // Track the previous state with a ref rather than the `lineMode` state to avoid rerenders\n const previousLineMode = React.useRef('single');\n\n if (appearance !== 'auto') {\n return undefined;\n }\n\n // If appearance is auto, the input is collapsed on rest\n const lineMode = !editorHasFocus && value.trim() === '' && !attachments ? 'single' : 'multi';\n\n if (lineMode !== previousLineMode.current) {\n onLineModeChange?.({ lineMode });\n previousLineMode.current = lineMode;\n }\n\n return { collapsed: lineMode !== 'multi', updateIsCollapsed: noop };\n}\n\nfunction noop() {\n return;\n}\n","import * as React from 'react';\n\nimport { useCopilotMode } from '@fluentui-copilot/react-provider';\n\nimport * as keys from '@fluentui/keyboard-keys';\nimport { Button, slot } from '@fluentui/react-components';\nimport { ErrorCircle16Filled, SendFilled, SendRegular, StopFilled, bundleIcon } from '@fluentui/react-icons';\nimport { useAnnounce_unstable as useAnnounceContext } from '@fluentui/react-shared-contexts';\nimport type { ExtractSlotProps } from '@fluentui/react-utilities';\nimport { useMergedRefs } from '@fluentui/react-utilities';\nimport { mergeCallbacks, useControllableState, useEventCallback } from '@fluentui/react-utilities';\n\nimport type { ChatInputProps, ChatInputSlots, ChatInputState } from './ChatInput.types';\nimport { useErrorMessage } from './useErrorMessage';\nimport type { EditorInputValueData } from '@fluentui-copilot/react-editor-input';\nimport { EditorInput } from '@fluentui-copilot/react-editor-input';\nimport type { LexicalEditor } from '@fluentui-copilot/text-editor';\nimport { KEY_ENTER_COMMAND, COMMAND_PRIORITY_CRITICAL } from '@fluentui-copilot/text-editor';\nimport { useIsCollapsed } from './useIsCollapsed';\n\nconst SendIcon = bundleIcon(SendFilled, SendRegular);\n\nfunction defaultCharactersRemainingMessage(charactersRemaining: number) {\n if (charactersRemaining === 1) {\n return `${charactersRemaining} character remaining`;\n }\n return `${charactersRemaining} characters remaining`;\n}\n\n/**\n * Create the state required to render ChatInput.\n *\n * The returned state can be modified with hooks such as useChatInputStyles_unstable,\n * before being passed to renderChatInput_unstable.\n *\n * @param props - props from this instance of ChatInput\n * @param ref - reference to root HTMLElement of ChatInput\n */\nexport const useChatInput_unstable = (props: ChatInputProps, ref: React.Ref): ChatInputState => {\n const {\n characterCount,\n disabled = false,\n maxLength = 500,\n onChange,\n onSubmit,\n isSending = false,\n onStop,\n listbox,\n appearance = 'multi',\n onLineModeChange,\n characterCountVisibilityThreshold = 0.1,\n characterLimitErrorMessage = 'Character limit exceeded',\n className,\n style,\n hideSendWhenEmpty = false,\n charactersRemainingMessage = defaultCharactersRemainingMessage,\n ...primaryProps // Can't use getPartitionedNativeProps here because the primary slot is a React component\n } = props;\n\n const mode = useCopilotMode(props.mode);\n\n const { announce } = useAnnounceContext();\n\n const [editorHasFocus, setEditorHasFocus] = React.useState(false);\n\n const [value, setValue] = React.useState('');\n\n const [count, setCount] = useControllableState({\n state: characterCount,\n initialState: value?.length ?? 0,\n });\n\n const editorRef = React.useRef(null);\n const { collapsed, updateIsCollapsed } = useIsCollapsed({\n appearance,\n onLineModeChange,\n editorSlotRef: editorRef,\n value,\n editorHasFocus,\n attachments: props.attachments,\n });\n\n const showCount =\n !collapsed && (props.showCount || (maxLength - count) / maxLength <= characterCountVisibilityThreshold);\n\n const countSlot = showCount\n ? slot.optional(props.count, {\n defaultProps: {\n children: `${count} / ${maxLength}`,\n },\n elementType: 'span',\n renderByDefault: true,\n })\n : undefined;\n\n const characterCountExceeded = count > maxLength;\n\n const errorMessage = useErrorMessage({\n announce,\n characterLimitErrorMessage,\n charactersRemainingMessage,\n count,\n maxLength,\n errorMessage: props.errorMessage,\n });\n\n const isSendDisabled = props.disableSend || disabled || characterCountExceeded;\n\n const handleOnChange = React.useCallback(\n (_, data: EditorInputValueData) => {\n onChange?.({}, data);\n updateIsCollapsed(data.value);\n setCount(data.value.length);\n setValue(data.value);\n },\n [onChange, setCount, updateIsCollapsed],\n );\n\n const state: ChatInputState = {\n components: {\n root: 'div',\n inputWrapper: 'div',\n editor: EditorInput,\n count: 'span',\n actions: 'span',\n attachments: 'div',\n send: Button,\n errorMessage: 'span',\n errorMessageIcon: 'span',\n banner: 'div',\n },\n root: slot.always>(props.root, {\n defaultProps: { className, style },\n elementType: 'div',\n }),\n inputWrapper: slot.always(props.inputWrapper, { elementType: 'div' }),\n editor: slot.always(props.editor, {\n defaultProps: {\n disabled,\n ...primaryProps,\n onChange: handleOnChange,\n placeholderValue: props.placeholderValue,\n },\n elementType: EditorInput,\n }),\n count: countSlot,\n attachments: slot.optional(props.attachments, { elementType: 'div' }),\n actions: slot.always(props.actions, { elementType: 'span' }),\n send: slot.optional(props.send, {\n defaultProps: {\n appearance: 'transparent',\n disabled: isSendDisabled,\n icon: isSending ? : count > 0 ? : ,\n 'aria-disabled': isSendDisabled ? true : undefined,\n 'aria-label': 'Send',\n type: 'submit',\n },\n elementType: Button,\n renderByDefault: true,\n }),\n errorMessage,\n errorMessageIcon: slot.optional(props.errorMessageIcon, {\n defaultProps: { children: },\n renderByDefault: !!errorMessage,\n elementType: 'span',\n }),\n banner: slot.optional(props.banner, { elementType: 'div' }),\n disabled,\n currentCharacterCount: count,\n isSending,\n hasEditorFocus: editorHasFocus,\n mode,\n disableSend: isSendDisabled,\n maxLength,\n collapsed,\n characterCountExceeded,\n trimWhiteSpace: props.trimWhiteSpace,\n listbox,\n };\n\n state.editor.ref = useMergedRefs(ref, editorRef);\n\n // detect when focus is in the editor slot in order to apply the focus style\n // this is slightly more flexible than a CSS selector, since it allows the editor to be replaced\n const { onFocus, onBlur } = state.editor;\n state.editor.onFocus = useEventCallback(\n mergeCallbacks(onFocus, () => {\n setEditorHasFocus(true);\n }),\n );\n state.editor.onBlur = useEventCallback(\n mergeCallbacks(onBlur, () => {\n setEditorHasFocus(false);\n }),\n );\n\n const lexicalEnterFired = React.useRef(false);\n const lexicalEditorRef = React.useRef(null);\n state.editor.editorRef = useMergedRefs(lexicalEditorRef, state.editor.editorRef);\n\n React.useEffect(() => {\n return lexicalEditorRef.current?.registerCommand(\n KEY_ENTER_COMMAND,\n () => {\n // Let the onKeyDown listener know that the lexical enter key event has fired, which means composition is not happening.\n lexicalEnterFired.current = true;\n return false;\n },\n COMMAND_PRIORITY_CRITICAL,\n );\n }, []);\n\n const { onKeyDown } = state.editor;\n state.editor.onKeyDown = useEventCallback(\n mergeCallbacks(onKeyDown, ev => {\n const { key, shiftKey } = ev;\n\n if (\n // Lexical's ENTER command is fired before the native keydown event and only if composition is not active.\n // TODO https://github.com/microsoft/fluentai/issues/2040: Replace onKeyDown with calling onSubmit directly from lexical's ENTER command.\n lexicalEnterFired.current === true &&\n !ev.nativeEvent.isComposing &&\n !isSendDisabled &&\n !shiftKey &&\n key === keys.Enter\n ) {\n onSubmit?.(ev, { value });\n ev.preventDefault();\n }\n\n lexicalEnterFired.current = false;\n }),\n );\n\n const { onClick } = state.send || {};\n\n const onSendClick = useEventCallback(\n mergeCallbacks(onClick as React.MouseEventHandler, (ev: React.MouseEvent) => {\n if (isSending) {\n onStop?.(ev);\n return;\n }\n if (isSendDisabled) {\n ev.preventDefault();\n }\n onSubmit?.(ev, { value });\n }),\n );\n\n if (state.send) {\n state.send.onClick = onSendClick;\n }\n\n if (hideSendWhenEmpty && value.trim() === '' && !isSending) {\n state.send = undefined;\n }\n\n return state;\n};\n","import {\n makeResetStyles,\n makeStyles,\n mergeClasses,\n shorthands,\n slot,\n tokens,\n typographyStyles,\n} from '@fluentui/react-components';\nimport type { ChatInputSlots, ChatInputState } from './ChatInput.types';\nimport type { SlotClassNames } from '@fluentui/react-components';\n\nexport const chatInputClassNames: SlotClassNames = {\n root: 'fai-ChatInput',\n inputWrapper: 'fai-ChatInput__inputWrapper',\n editor: 'fai-ChatInput__editor',\n count: 'fai-ChatInput__count',\n actions: 'fai-ChatInput__actions',\n attachments: 'fai-ChatInput__attachments',\n send: 'fai-ChatInput__send',\n errorMessage: 'fai-ChatInput__errorMessage',\n errorMessageIcon: 'fai-ChatInput__errorMessageIcon',\n banner: 'fai-ChatInput__banner',\n};\n\nconst textareaHeights = {\n minSidecar: '20px',\n maxSidecar: '192px',\n minCanvas: '20px',\n maxCanvas: '172px',\n};\n\n/**\n * Root classname with makeResetStyles\n */\nconst useRootClassName = makeResetStyles({\n display: 'flex',\n flexDirection: 'column-reverse',\n});\n\n/**\n * Input wrapper classname with makeResetStyles\n */\nconst useInputWrapperClassName = makeResetStyles({\n boxSizing: 'border-box',\n display: 'grid',\n\n justifyItems: 'start',\n\n backgroundColor: tokens.colorNeutralBackground1,\n border: `${tokens.strokeWidthThin} solid ${tokens.colorNeutralStroke1}`,\n borderRadius: tokens.borderRadiusLarge,\n position: 'relative',\n margin: '0',\n padding: `${tokens.spacingVerticalS} ${tokens.spacingHorizontalS} ${tokens.spacingVerticalSNudge}`,\n\n // bottom focus border, shared with Input, Select, and SpinButton\n '::after': {\n boxSizing: 'border-box',\n content: '\"\"',\n position: 'absolute',\n left: '-1px',\n bottom: '-1px',\n right: '-1px',\n height: tokens.borderRadiusLarge,\n borderBottomLeftRadius: tokens.borderRadiusLarge,\n borderBottomRightRadius: tokens.borderRadiusLarge,\n borderBottom: `${tokens.strokeWidthThick} solid ${tokens.colorCompoundBrandStroke}`,\n clipPath: `inset(calc(100% - ${tokens.strokeWidthThick}) 0 0 0)`,\n transform: 'scaleX(0)',\n transitionProperty: 'transform',\n transitionDuration: tokens.durationUltraFast,\n transitionDelay: tokens.curveAccelerateMid,\n\n '@media screen and (prefers-reduced-motion: reduce)': {\n transitionDuration: '0.01ms',\n transitionDelay: '0.01ms',\n },\n },\n});\n\n/**\n * Slot styles\n */\nconst useStyles = makeStyles({\n canvas: {\n minHeight: textareaHeights.minCanvas,\n maxHeight: textareaHeights.maxCanvas,\n },\n\n sidecar: {\n minHeight: textareaHeights.minSidecar,\n maxHeight: textareaHeights.maxSidecar,\n },\n\n single: {\n gridTemplateRows: '1fr',\n gridTemplateColumns: '1fr auto',\n gridTemplateAreas: `\n \"input actions\"\n \"attachments attachments\"\n \"error error\"\n `,\n alignItems: 'center',\n paddingTop: tokens.spacingVerticalSNudge,\n paddingBottom: tokens.spacingVerticalSNudge,\n },\n\n multi: {\n gridTemplateRows: '1fr auto auto auto',\n gridTemplateColumns: 'auto auto',\n gridTemplateAreas: `\n \"input input\"\n \"attachments attachments\"\n \"error error\"\n \"count actions\"\n `,\n },\n focus: {\n '::after': {\n transform: 'scaleX(1)',\n transitionProperty: 'transform',\n transitionDuration: tokens.durationNormal,\n transitionDelay: tokens.curveDecelerateMid,\n\n '@media screen and (prefers-reduced-motion: reduce)': {\n transitionDuration: '0.01ms',\n transitionDelay: '0.01ms',\n },\n },\n ':active::after': {\n borderBottomColor: tokens.colorCompoundBrandStrokePressed,\n },\n },\n withBanner: {\n borderTopLeftRadius: 0,\n borderTopRightRadius: 0,\n },\n\n // hover and active styles when not disabled\n interactive: {\n ':hover': {\n ...shorthands.borderColor(tokens.colorNeutralStroke1Hover),\n },\n\n ':active': {\n ...shorthands.borderColor(tokens.colorNeutralStroke1Pressed),\n },\n },\n\n disabled: {\n backgroundColor: tokens.colorTransparentBackground,\n ...shorthands.border(tokens.strokeWidthThin, 'solid', tokens.colorNeutralStrokeDisabled),\n '@media (forced-colors: active)': {\n ...shorthands.borderColor('GrayText'),\n },\n },\n\n disabledCount: {\n color: tokens.colorNeutralForegroundDisabled,\n },\n\n count: {\n gridArea: 'count',\n alignSelf: 'center',\n color: tokens.colorNeutralForeground4,\n ...typographyStyles.caption2,\n },\n countError: {\n color: tokens.colorStatusDangerForeground3,\n },\n\n actions: {\n gridArea: 'actions',\n boxSizing: 'border-box',\n display: 'flex',\n flexWrap: 'wrap',\n width: '100%',\n justifyContent: 'flex-end',\n },\n\n attachments: {\n gridArea: 'attachments',\n marginTop: `calc(${tokens.spacingVerticalM} - ${tokens.spacingVerticalS})`,\n marginBottom: tokens.spacingVerticalXS,\n width: '100%',\n },\n\n editor: {\n gridArea: 'input',\n margin: `${tokens.spacingVerticalXS} ${tokens.spacingHorizontalNone} ${tokens.spacingVerticalS}`,\n padding: 0,\n color: tokens.colorNeutralForeground1,\n overflowY: 'auto',\n overflowX: 'hidden',\n ...typographyStyles.body1,\n justifySelf: 'stretch',\n whiteSpace: 'pre-wrap',\n },\n editorSingle: {\n margin: 0,\n whiteSpace: 'pre',\n },\n\n sendFilled: {\n color: tokens.colorCompoundBrandBackground,\n ':hover': {\n color: tokens.colorCompoundBrandBackgroundHover,\n },\n },\n\n stopFilled: {\n /** To-do: Change to backgroundColor: var(--Brand-Background-Tint-Rest, #EBEFFF);*/\n backgroundColor: tokens.colorBrandBackground2,\n borderRadius: tokens.borderRadiusCircular,\n color: tokens.colorCompoundBrandBackground,\n ':hover': {\n backgroundColor: tokens.colorBrandBackground2,\n color: tokens.colorCompoundBrandBackgroundHover,\n },\n ':focus-visible': {\n borderRadius: tokens.borderRadiusMedium,\n },\n },\n\n errorMessage: {\n color: tokens.colorStatusDangerForeground3,\n ...typographyStyles.caption1,\n gridArea: 'error',\n display: 'flex',\n alignItems: 'center',\n gap: tokens.spacingHorizontalXS,\n marginTop: `calc(${tokens.spacingVerticalM} - ${tokens.spacingVerticalS})`,\n },\n\n errorMessageIcon: {\n display: 'inline-flex',\n alignItems: 'center',\n },\n\n banner: {\n ...shorthands.border(tokens.strokeWidthThin, 'solid', tokens.colorNeutralStroke1),\n borderBottomWidth: 0,\n borderRadius: `${tokens.borderRadiusLarge} ${tokens.borderRadiusLarge} 0 0`,\n padding: `${tokens.spacingVerticalS} ${tokens.spacingHorizontalS}`,\n },\n});\n\n/**\n * Input classname with makeResetStyles\n */\nexport const useContentEditableClassName = makeResetStyles({\n borderStyle: 'none',\n backgroundColor: 'transparent',\n boxSizing: 'border-box',\n outlineStyle: 'none', // disable default browser outline\n});\n\nconst useContentEditableStyles = makeStyles({\n disabled: {\n cursor: 'not-allowed',\n },\n\n canvas: {\n minHeight: textareaHeights.minCanvas,\n maxHeight: textareaHeights.maxCanvas,\n },\n\n sidecar: {\n minHeight: textareaHeights.minSidecar,\n maxHeight: textareaHeights.maxSidecar,\n },\n single: {\n whiteSpace: 'pre',\n overflow: 'hidden',\n },\n single_sidecar: { maxHeight: textareaHeights.minSidecar },\n single_canvas: { maxHeight: textareaHeights.minCanvas },\n});\n\n/**\n * Apply styling to the ChatInput slots based on the state\n */\nexport const useChatInputStyles_unstable = (state: ChatInputState): ChatInputState => {\n 'use no memo';\n\n const { disabled, hasEditorFocus, mode, collapsed, currentCharacterCount, isSending } = state;\n const rootClassName = useRootClassName();\n const inputWrapperClassName = useInputWrapperClassName();\n const contentEditableClassName = useContentEditableClassName();\n const styles = useStyles();\n const contentEditableStyles = useContentEditableStyles();\n\n state.root.className = mergeClasses(chatInputClassNames.root, rootClassName, state.root.className);\n\n state.inputWrapper.className = mergeClasses(\n chatInputClassNames.inputWrapper,\n inputWrapperClassName,\n styles[mode],\n collapsed ? styles.single : styles.multi,\n disabled && styles.disabled,\n !disabled && styles.interactive,\n !disabled && hasEditorFocus && styles.focus,\n state.banner && styles.withBanner,\n state.inputWrapper.className,\n );\n\n state.editor.className = mergeClasses(\n chatInputClassNames.editor,\n styles.editor,\n collapsed && styles.editorSingle,\n state.editor.className,\n );\n\n const input = slot.always(state.editor.input, { elementType: 'span' });\n input.className = mergeClasses(\n contentEditableClassName,\n contentEditableStyles[mode],\n disabled && contentEditableStyles.disabled,\n collapsed && contentEditableStyles.single,\n collapsed && contentEditableStyles[`single_${mode}`],\n input.className,\n );\n state.editor.input = input;\n\n if (state.count) {\n state.count.className = mergeClasses(\n chatInputClassNames.count,\n styles.count,\n disabled && styles.disabledCount,\n state.characterCountExceeded && styles.countError,\n state.count.className,\n );\n }\n\n if (state.actions) {\n state.actions.className = mergeClasses(chatInputClassNames.actions, styles.actions, state.actions.className);\n }\n\n if (state.attachments) {\n state.attachments.className = mergeClasses(\n chatInputClassNames.attachments,\n styles.attachments,\n state.attachments.className,\n );\n }\n\n if (state.send) {\n state.send.className = mergeClasses(\n chatInputClassNames.send,\n currentCharacterCount && currentCharacterCount > 0 ? styles.sendFilled : undefined,\n isSending && styles.sendFilled,\n isSending && styles.stopFilled,\n state.send.className,\n );\n }\n\n if (state.errorMessage) {\n state.errorMessage.className = mergeClasses(\n chatInputClassNames.errorMessage,\n styles.errorMessage,\n state.errorMessage.className,\n );\n }\n\n if (state.errorMessageIcon) {\n state.errorMessageIcon.className = mergeClasses(\n chatInputClassNames.errorMessageIcon,\n styles.errorMessageIcon,\n state.errorMessageIcon.className,\n );\n }\n\n if (state.banner) {\n state.banner.className = mergeClasses(chatInputClassNames.banner, styles.banner, state.banner.className);\n }\n\n return state;\n};\n","import * as React from 'react';\nimport { useChatInput_unstable } from './useChatInput';\nimport { renderChatInput_unstable } from './renderChatInput';\nimport { useChatInputStyles_unstable } from './useChatInputStyles.styles';\nimport type { ChatInputProps } from './ChatInput.types';\nimport type { ForwardRefComponent } from '@fluentui/react-components';\nimport { useCustomStyleHook } from '@fluentui-copilot/react-provider';\n\n// ChatInput component - TODO: add more docs\nexport const ChatInput: ForwardRefComponent = React.forwardRef((props, ref) => {\n const state = useChatInput_unstable(props, ref);\n\n useChatInputStyles_unstable(state);\n useCustomStyleHook('useChatInputStyles')(state);\n\n return renderChatInput_unstable(state);\n});\n\nChatInput.displayName = 'ChatInput';\n","/** @jsxRuntime automatic */\n/** @jsxImportSource @fluentui/react-jsx-runtime */\n\nimport { assertSlots } from '@fluentui/react-components';\nimport type { ChatInputState, ChatInputSlots } from './ChatInput.types';\n\n/**\n * Render the final JSX of ChatInput\n */\nexport const renderChatInput_unstable = (state: ChatInputState) => {\n assertSlots(state);\n\n return (\n \n \n \n {state.listbox}\n {state.attachments && }\n {state.errorMessage && (\n \n {state.errorMessageIcon && }\n {state.errorMessage.children}\n \n )}\n {state.count && }\n \n {state.actions.children}\n {state.send && }\n \n \n {state.banner && }\n \n );\n};\n","import { makeStyles, mergeClasses, tokens } from '@fluentui/react-components';\nimport type { CopilotChatSlots, CopilotChatState } from './CopilotChat.types';\nimport type { SlotClassNames } from '@fluentui/react-components';\n\nexport const copilotChatClassNames: SlotClassNames = {\n root: 'fai-CopilotChat',\n // TODO: add class names for all slots on CopilotChatSlots.\n // Should be of the form `: 'fai-CopilotChat__`\n};\n\n/**\n * Styles for the root slot\n */\nconst useStyles = makeStyles({\n root: {\n display: 'flex',\n flexDirection: 'column',\n rowGap: tokens.spacingVerticalM,\n },\n\n // TODO add additional classes for different states and/or slots\n});\n\n/**\n * Apply styling to the CopilotChat slots based on the state\n */\nexport const useCopilotChatStyles_unstable = (state: CopilotChatState): CopilotChatState => {\n 'use no memo';\n\n const styles = useStyles();\n state.root.className = mergeClasses(copilotChatClassNames.root, styles.root, state.root.className);\n\n // TODO Add class names to slots, for example:\n // state.mySlot.className = mergeClasses(styles.mySlot, state.mySlot.className);\n\n return state;\n};\n","import * as React from 'react';\nimport { useCopilotChat_unstable } from './useCopilotChat';\nimport { renderCopilotChat_unstable } from './renderCopilotChat';\nimport { useCopilotChatStyles_unstable } from './useCopilotChatStyles.styles';\nimport type { CopilotChatProps } from './CopilotChat.types';\nimport type { ForwardRefComponent } from '@fluentui/react-components';\n\n// CopilotChat component - TODO: add more docs\nexport const CopilotChat: ForwardRefComponent = React.forwardRef((props, ref) => {\n const state = useCopilotChat_unstable(props, ref);\n\n useCopilotChatStyles_unstable(state);\n return renderCopilotChat_unstable(state);\n});\n\nCopilotChat.displayName = 'CopilotChat';\n","import type * as React from 'react';\nimport { getIntrinsicElementProps, slot, useArrowNavigationGroup } from '@fluentui/react-components';\nimport type { CopilotChatProps, CopilotChatState } from './CopilotChat.types';\n\n// If you add JSX to this file, be sure to change the file type to .tsx\n\n/**\n * Create the state required to render CopilotChat.\n *\n * The returned state can be modified with hooks such as useCopilotChatStyles_unstable,\n * before being passed to renderCopilotChat_unstable.\n *\n * @param props - props from this instance of CopilotChat\n * @param ref - reference to root HTMLElement of CopilotChat\n */\nexport const useCopilotChat_unstable = (props: CopilotChatProps, ref: React.Ref): CopilotChatState => {\n const arrowAttrs = useArrowNavigationGroup({ memorizeCurrent: true, unstable_hasDefault: true });\n\n const state: CopilotChatState = {\n components: {\n root: 'div',\n },\n root: slot.always(\n getIntrinsicElementProps('div', {\n ref,\n role: 'feed',\n ...props,\n ...arrowAttrs,\n }),\n { elementType: 'div' },\n ),\n };\n\n return state;\n};\n","/** @jsxRuntime automatic */\n/** @jsxImportSource @fluentui/react-jsx-runtime */\n\nimport { assertSlots } from '@fluentui/react-components';\nimport type { CopilotChatState, CopilotChatSlots } from './CopilotChat.types';\n\n/**\n * Render the final JSX of CopilotChat\n */\nexport const renderCopilotChat_unstable = (state: CopilotChatState) => {\n assertSlots(state);\n\n // TODO Add additional slots in the appropriate place\n return ;\n};\n","import { makeStyles, mergeClasses, tokens, typographyStyles } from '@fluentui/react-components';\nimport type { TimestampSlots, TimestampState } from './Timestamp.types';\nimport type { SlotClassNames } from '@fluentui/react-components';\n\nexport const timestampClassNames: SlotClassNames = {\n root: 'fai-Timestamp',\n};\n\n/**\n * Styles for the root slot\n */\nconst useStyles = makeStyles({\n root: {\n color: tokens.colorNeutralForeground3,\n display: 'inline',\n textAlign: 'center',\n ...typographyStyles.caption1,\n margin: 0,\n },\n});\n\n/**\n * Apply styling to the Timestamp slots based on the state\n */\nexport const useTimestampStyles_unstable = (state: TimestampState): TimestampState => {\n 'use no memo';\n\n const styles = useStyles();\n state.root.className = mergeClasses(timestampClassNames.root, styles.root, state.root.className);\n\n return state;\n};\n","import * as React from 'react';\nimport { useTimestampStyles_unstable } from './useTimestampStyles.styles';\nimport type { TimestampProps } from './Timestamp.types';\nimport type { TextProps } from '@fluentui/react-components';\nimport { useText_unstable, type ForwardRefComponent, renderText_unstable } from '@fluentui/react-components';\n\n// Timestamp component - TODO: add more docs\nexport const Timestamp: ForwardRefComponent = React.forwardRef((props, ref) => {\n const state = useText_unstable({ as: 'h4', ...props } as TextProps, ref);\n\n useTimestampStyles_unstable(state);\n\n return renderText_unstable(state);\n});\n\nTimestamp.displayName = 'Timestamp';\n","import type { SlotClassNames } from '@fluentui/react-components';\nimport { makeStyles, mergeClasses, tokens, typographyStyles } from '@fluentui/react-components';\nimport type { AiGeneratedDisclaimerSlots, AiGeneratedDisclaimerState } from './AiGeneratedDisclaimer.types';\n\nexport const aiGeneratedDisclaimerClassNames: SlotClassNames = {\n root: 'fai-AiGeneratedDisclaimer',\n};\n\nconst useStyles = makeStyles({\n root: {\n ...typographyStyles.caption2Strong,\n borderRadius: tokens.borderRadiusMedium,\n padding:\n // 14px tall text + 1px padding on top and bottom = 16px total height\n `calc(${tokens.spacingVerticalXXS} / 2) ` + // 1px\n `${tokens.spacingHorizontalXS} ` +\n `calc(${tokens.spacingVerticalXXS} / 2) ` + // 1px\n tokens.spacingHorizontalXS,\n display: 'inline-block',\n color: tokens.colorNeutralForeground3,\n backgroundColor: tokens.colorNeutralBackground5,\n fontWeight: tokens.fontWeightRegular,\n },\n canvas: {\n padding:\n // 14px tall text + 3px padding on top and bottom = 20px total height\n `calc(${tokens.spacingVerticalSNudge} / 2) ` + // 3px\n `${tokens.spacingHorizontalSNudge} ` + // 6px\n `calc(${tokens.spacingVerticalSNudge} / 2)` + // 3px\n tokens.spacingHorizontalSNudge, // 6px\n },\n});\n\nexport const useAiGeneratedDisclaimerStyles_unstable = (\n state: AiGeneratedDisclaimerState,\n): AiGeneratedDisclaimerState => {\n 'use no memo';\n\n const styles = useStyles();\n state.root.className = mergeClasses(\n aiGeneratedDisclaimerClassNames.root,\n styles.root,\n state.mode === 'canvas' && styles.canvas,\n state.root.className,\n );\n\n return state;\n};\n","import * as React from 'react';\nimport { useAiGeneratedDisclaimerStyles_unstable } from './useAiGeneratedDisclaimerStyles.styles';\nimport type { ForwardRefComponent, TextProps } from '@fluentui/react-components';\nimport { renderText_unstable, useText_unstable } from '@fluentui/react-components';\nimport { useCopilotMode } from '@fluentui-copilot/react-provider';\nimport type { AiGeneratedDisclaimerState, AiGeneratedDisclaimerProps } from './AiGeneratedDisclaimer.types';\n\nexport const AiGeneratedDisclaimer: ForwardRefComponent = React.forwardRef((props, ref) => {\n 'use no memo';\n\n const state = useText_unstable({ as: 'span', ...props } as TextProps, ref) as AiGeneratedDisclaimerState;\n\n state.mode = useCopilotMode(props.mode);\n\n useAiGeneratedDisclaimerStyles_unstable(state);\n\n return renderText_unstable(state);\n});\n\nAiGeneratedDisclaimer.displayName = 'AiGeneratedDisclaimer';\n","import {\n createFocusOutlineStyle,\n makeResetStyles,\n makeStyles,\n mergeClasses,\n slot,\n tokens,\n typographyStyles,\n} from '@fluentui/react-components';\n\nimport { tokens as copilotTokens } from '@fluentui-copilot/tokens';\n\nimport type { CopilotMessageSlots, CopilotMessageState } from './CopilotMessage.types';\nimport type { SlotClassNames } from '@fluentui/react-components';\n\nexport const copilotMessageClassNames: SlotClassNames = {\n root: 'fai-CopilotMessage',\n accessibleHeading: 'fai-CopilotMessage__accessibleHeading',\n avatar: 'fai-CopilotMessage__avatar',\n name: 'fai-CopilotMessage__name',\n disclaimer: 'fai-CopilotMessage__disclaimer',\n content: 'fai-CopilotMessage__content',\n footnote: 'fai-CopilotMessage__footnote',\n actions: 'fai-CopilotMessage__actions',\n progress: 'fai-CopilotMessage__progress',\n};\n\nconst useRootClassName = makeResetStyles({\n backgroundColor: 'transparent',\n borderRadius: tokens.borderRadiusXLarge,\n columnGap: tokens.spacingHorizontalS,\n display: 'grid',\n gridAutoFlow: 'column',\n gridAutoRows: 'max-content',\n gridTemplateColumns: 'max-content min-content 1fr',\n justifyItems: 'start',\n maxWidth: 'max-content',\n position: 'relative',\n rowGap: tokens.spacingHorizontalS,\n\n ...createFocusOutlineStyle({\n style: {\n outlineRadius: tokens.borderRadiusXLarge,\n },\n }),\n});\n\nconst indeterminateProgressBarReducedMotion = {\n '0%': {\n opacity: '.2',\n },\n '50%': {\n opacity: '1',\n },\n '100%': {\n opacity: '.2',\n },\n};\n\n/**\n * Styles for the hidden heading slot\n */\nconst useHeadingClassName = makeResetStyles({\n clip: 'rect(0px, 0px, 0px, 0px)',\n gridArea: 'avatar',\n height: '1px',\n margin: '-1px',\n width: '1px',\n position: 'absolute',\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n});\n\n/**\n * Styles for the avatar slot\n */\nconst useAvatarClassName = makeResetStyles({\n gridColumn: 1,\n});\n\n/**\n * Styles for the name slot\n */\nconst useNameClassName = makeResetStyles({\n alignContent: 'center',\n gridColumn: 2,\n ...typographyStyles.body1Strong,\n});\n\n/**\n * Styles for the disclaimer slot\n */\nconst useDisclaimerClassName = makeResetStyles({\n alignContent: 'center',\n gridColumn: 3,\n});\n\n/**\n * Styles for the content slot\n */\nconst useContentClassName = makeResetStyles({\n display: 'flex',\n gridColumn: '1 / 4',\n flexDirection: 'column',\n});\n\n/**\n * Styles for the footer slot\n */\nconst useFootnoteClassName = makeResetStyles({\n alignItems: 'start',\n columnGap: tokens.spacingHorizontalXS,\n display: 'flex',\n gridColumn: '1 / 4',\n height: '100%',\n});\n\n/**\n * Styles for the actions slot\n */\nconst useActionsClassName = makeResetStyles({\n columnGap: tokens.spacingHorizontalS,\n display: 'flex',\n gridColumn: '1 / 4',\n height: '100%',\n});\n\n/**\n * Styles for the progress slot\n */\nconst useProgressClassName = makeResetStyles({\n gridColumn: '1 / 4',\n height: '100%',\n});\n\nconst useStyles = makeStyles({\n canvas: {\n gridColumn: '2 / 4',\n },\n bar: {\n animationDuration: '3s',\n backgroundColor: tokens.colorTransparentBackground,\n backgroundImage: `linear-gradient(90deg, ${tokens.colorTransparentStroke} 0%, ${copilotTokens.colorBrandFlair1} 35%, ${copilotTokens.colorBrandFlair2} 70%, ${copilotTokens.colorBrandFlair3} 92%, ${tokens.colorTransparentStroke})`,\n '@media screen and (prefers-reduced-motion: reduce)': {\n maxWidth: '100%',\n animationIterationCount: 'infinite',\n animationName: indeterminateProgressBarReducedMotion,\n animationDuration: '3s',\n },\n },\n indeterminateBarNotIsLoading: {\n animationPlayState: 'paused',\n },\n});\n\nexport const useCopilotMessageStyles_unstable = (state: CopilotMessageState): CopilotMessageState => {\n 'use no memo';\n\n const rootClassName = useRootClassName();\n const headingClassName = useHeadingClassName();\n const avatarClassName = useAvatarClassName();\n const nameClassName = useNameClassName();\n const disclaimerClassName = useDisclaimerClassName();\n const contentClassName = useContentClassName();\n const footnoteClassName = useFootnoteClassName();\n const actionClassName = useActionsClassName();\n const progressClassName = useProgressClassName();\n const styles = useStyles();\n\n state.root.className = mergeClasses(copilotMessageClassNames.root, rootClassName, state.root.className);\n\n if (state.accessibleHeading) {\n state.accessibleHeading.className = mergeClasses(\n copilotMessageClassNames.accessibleHeading,\n headingClassName,\n state.accessibleHeading.className,\n );\n }\n state.avatar.className = mergeClasses(copilotMessageClassNames.avatar, avatarClassName, state.avatar.className);\n\n state.name.className = mergeClasses(copilotMessageClassNames.name, nameClassName, state.name.className);\n\n if (state.disclaimer) {\n state.disclaimer.className = mergeClasses(\n copilotMessageClassNames.disclaimer,\n disclaimerClassName,\n state.disclaimer.className,\n );\n }\n\n if (state.content) {\n state.content.className = mergeClasses(\n copilotMessageClassNames.content,\n contentClassName,\n state.mode === 'canvas' && styles.canvas,\n state.content.className,\n );\n }\n\n if (state.footnote) {\n state.footnote.className = mergeClasses(\n copilotMessageClassNames.footnote,\n footnoteClassName,\n state.mode === 'canvas' && styles.canvas,\n state.footnote.className,\n );\n }\n\n if (state.actions) {\n state.actions.className = mergeClasses(\n copilotMessageClassNames.actions,\n actionClassName,\n state.mode === 'canvas' && styles.canvas,\n state.actions.className,\n );\n }\n\n if (state.progress) {\n state.progress.className = mergeClasses(\n copilotMessageClassNames.progress,\n progressClassName,\n state.progress.className,\n );\n\n if (state.progress.value === undefined) {\n const bar = slot.always(state.progress.bar, { elementType: 'div' });\n bar.className = mergeClasses(\n styles.bar,\n state.loadingState !== 'loading' && styles.indeterminateBarNotIsLoading,\n bar.className,\n );\n state.progress.bar = bar;\n }\n }\n\n return state;\n};\n","import * as React from 'react';\nimport { useCopilotMessage_unstable } from './useCopilotMessage';\nimport { renderCopilotMessage_unstable } from './renderCopilotMessage';\nimport { useCopilotMessageStyles_unstable } from './useCopilotMessageStyles.styles';\n\nimport type { CopilotMessageProps } from './CopilotMessage.types';\nimport type { ForwardRefComponent } from '@fluentui/react-components';\n\n// CopilotMessage component - TODO: add more docs\nexport const CopilotMessage: ForwardRefComponent = React.forwardRef((props, ref) => {\n const state = useCopilotMessage_unstable(props, ref);\n\n useCopilotMessageStyles_unstable(state);\n return renderCopilotMessage_unstable(state);\n});\n\nCopilotMessage.displayName = 'CopilotMessage';\n","import * as React from 'react';\nimport { ProgressBar, slot, useArrowNavigationGroup, useId, useMergedRefs } from '@fluentui/react-components';\nimport { useAnnounce_unstable as useAnnounceContext } from '@fluentui/react-shared-contexts';\nimport { getIntrinsicElementProps, useFirstMount, useTimeout } from '@fluentui/react-utilities';\nimport { useMessageAttributes } from '../../../utils/useMessageAttributes';\nimport { AiGeneratedDisclaimer } from '../../AiGeneratedDisclaimer';\nimport type { CopilotMessageProps, CopilotMessageState } from './CopilotMessage.types';\nimport { useCopilotMode } from '@fluentui-copilot/react-provider';\n\n/**\n * Create the state required to render CopilotMessage.\n *\n * The returned state can be modified with hooks such as useCopilotMessageStyles_unstable,\n * before being passed to renderCopilotMessage_unstable.\n *\n * @param props - props from this instance of CopilotMessage\n * @param ref - reference to root HTMLElement of CopilotMessage\n */\nexport const useCopilotMessage_unstable = (\n props: CopilotMessageProps,\n ref: React.Ref,\n): CopilotMessageState => {\n const { announcement, accessibleHeading, loadingState = 'none' } = props;\n const id = useId('copilot-message-', props.id);\n const rootRef = React.useRef(null);\n\n const { announce } = useAnnounceContext();\n\n const mode = useCopilotMode(props.mode);\n\n // timeout for announcing \"loading\" at 10s intervals\n const [setLoadingAnnounceTimeout, clearLoadingAnnounceTimeout] = useTimeout();\n\n // track whether the message has loaded; this should only change once from false -> true\n const hasLoaded = React.useRef(loadingState === 'none');\n\n // if the message is loading when first mounted, kick off loading announcements\n const isFirstMount = useFirstMount();\n\n if (isFirstMount && !announcement && loadingState !== 'none') {\n const announceLoading = () => {\n // check for the announcement when this function runs as well\n if (!announcement) {\n let messageText = 'loading...';\n if (loadingState === 'loading' && rootRef.current?.textContent) {\n messageText = rootRef.current.textContent;\n }\n announce(messageText, { batchId: id });\n }\n\n setLoadingAnnounceTimeout(() => {\n announceLoading();\n }, 5000);\n };\n\n announceLoading();\n }\n\n // fire tabster event on first mount to focus new message when it appears\n React.useEffect(() => {\n if (isFirstMount) {\n const tabsterMoverEvent = new CustomEvent('tabster:mover:memorized-element', {\n bubbles: true,\n detail: { memorizedElement: rootRef.current },\n });\n rootRef.current?.dispatchEvent(tabsterMoverEvent);\n }\n }, [isFirstMount]);\n\n // announce the announcement message every time the prop changes\n React.useEffect(() => {\n if (announcement) {\n clearLoadingAnnounceTimeout();\n announce(announcement, { batchId: id });\n }\n }, [announce, announcement, clearLoadingAnnounceTimeout, id]);\n\n // automatically announce when loading is complete, if announcement is not defined\n React.useEffect(() => {\n if (!hasLoaded.current && loadingState === 'none') {\n // flag message as having finished loading, and stop loading announcements\n hasLoaded.current = true;\n clearLoadingAnnounceTimeout();\n\n if (announcement === undefined) {\n const messageText = rootRef.current?.textContent;\n\n // clear any queued batched announcements and announce the full message\n announce('', { batchId: id });\n messageText && announce(messageText);\n }\n }\n }, [announce, announcement, clearLoadingAnnounceTimeout, id, loadingState]);\n\n const accessibleProps = {\n id,\n 'aria-busy': loadingState === 'streaming' ? true : undefined,\n 'aria-labelledby': `${id}`,\n };\n\n const focusAttributes = useArrowNavigationGroup({\n axis: 'horizontal',\n memorizeCurrent: true,\n });\n\n return {\n loadingState,\n mode,\n components: {\n root: 'div',\n accessibleHeading: 'h6',\n avatar: 'div',\n name: 'div',\n disclaimer: 'div',\n content: 'div',\n footnote: 'div',\n actions: 'div',\n progress: ProgressBar,\n },\n\n root: slot.always(\n getIntrinsicElementProps('div', {\n ref: useMergedRefs(rootRef, ref),\n ...props,\n ...useMessageAttributes({ id, defaultFocused: props.defaultFocused }),\n ...accessibleProps,\n }),\n\n { elementType: 'div' },\n ),\n\n accessibleHeading: slot.optional(accessibleHeading, {\n defaultProps: {\n children: 'Copilot said: ',\n },\n elementType: 'h6',\n renderByDefault: true,\n }),\n\n avatar: slot.always(props.avatar, {\n elementType: 'div',\n }),\n\n name: slot.always(props.name, {\n elementType: 'div',\n }),\n\n disclaimer: slot.optional(props.disclaimer, {\n defaultProps: {\n children: AI-generated content may be incorrect ,\n },\n elementType: 'div',\n renderByDefault: true,\n }),\n\n content: slot.optional(props.content, {\n defaultProps: {\n children: props.children,\n },\n elementType: 'div',\n renderByDefault: props.children !== undefined,\n }),\n\n footnote: slot.optional(props.footnote, {\n elementType: 'div',\n }),\n\n actions: slot.optional(props.actions, {\n defaultProps: {\n ...focusAttributes,\n role: 'toolbar',\n },\n elementType: 'div',\n }),\n\n progress: slot.optional(props.progress, {\n defaultProps: {\n 'aria-label': 'Loading',\n shape: 'square',\n thickness: 'large',\n },\n elementType: ProgressBar,\n renderByDefault: loadingState === 'loading',\n }),\n };\n};\n","/** @jsxRuntime automatic */\n/** @jsxImportSource @fluentui/react-jsx-runtime */\n\nimport { assertSlots } from '@fluentui/react-components';\nimport type { CopilotMessageState, CopilotMessageSlots } from './CopilotMessage.types';\n\n/**\n * Render the final JSX of CopilotMessage\n */\nexport const renderCopilotMessage_unstable = (state: CopilotMessageState) => {\n assertSlots(state);\n\n return (\n \n {state.accessibleHeading && }\n {}\n {}\n {state.disclaimer && }\n {state.content && }\n {state.footnote && }\n {state.actions && }\n {state.progress && }\n \n );\n};\n","import {\n useId,\n slot,\n isResolvedShorthand,\n useMergedRefs,\n} from '@fluentui/react-utilities';\nimport { Toolbar } from '@fluentui/react-components';\nimport type * as React from 'react';\nimport type { ExtractSlotProps, Slot, SlotComponentType } from '@fluentui/react-utilities';\n\ntype useActionBarSlotOptions = {\n popoverRef: React.Ref;\n triggerRef: React.RefObject;\n isFocused: boolean;\n isHovered: boolean;\n};\n\n/**\n * @internal\n * @returns actionBar slot with desired behaviour and props\n */\nexport function useActionBarSlot(\n actionBarSlotFromProp: Slot | undefined,\n options: useActionBarSlotOptions,\n): SlotComponentType>> | undefined {\n const { popoverRef, isFocused, isHovered } = options;\n\n const actionBarId = useId(\n 'fluentai-actionbar',\n isResolvedShorthand(actionBarSlotFromProp) ? actionBarSlotFromProp.id : undefined,\n );\n\n const actionBarSlot = slot.optional(actionBarSlotFromProp, {\n elementType: Toolbar,\n defaultProps: {\n id: actionBarId,\n size: 'small',\n },\n });\n\n /**\n * Clicking on the actionBar should never blur the trigger\n * in a UserMessage\n */\n\n\n const actionBarRef = useMergedRefs(actionBarSlot?.ref, popoverRef);\n if (actionBarSlot) {\n actionBarSlot.ref = actionBarRef;\n }\n\n return isFocused || isHovered ? actionBarSlot : undefined;\n}\n","import * as React from 'react';\nimport {\n Toolbar,\n getIntrinsicElementProps,\n mergeCallbacks,\n slot,\n useEventCallback,\n useId,\n} from '@fluentui/react-components';\nimport { useAnnounce_unstable as useAnnounceContext } from '@fluentui/react-shared-contexts';\nimport type { UserMessageProps, UserMessageState } from './UserMessage.types';\nimport { useMessageAttributes } from '../../../utils/useMessageAttributes';\nimport { useUserMessagePositioning } from '../utils/useUserMessagePositioning';\nimport { useActionBarSlot } from '../utils/useActionBarSlot';\nimport { elementContains, useMergedRefs } from '@fluentui/react-utilities';\n\n/**\n * Create the state required to render UserMessage.\n *\n * The returned state can be modified with hooks such as useUserMessageStyles_unstable,\n * before being passed to renderUserMessage_unstable.\n *\n * @param props - props from this instance of UserMessage\n * @param ref - reference to root HTMLElement of UserMessage\n */\nexport const useUserMessage_unstable = (props: UserMessageProps, ref: React.Ref): UserMessageState => {\n const { announcement, accessibleHeading, actionBarAccessibleButton, actionBar, message, timestamp } = props;\n const messageId = useId('user-message-', props.id);\n const [userMessagePopupRef, userMessageTargetRef] = useUserMessagePositioning(props);\n\n const { announce } = useAnnounceContext();\n const { id, ...copilotChatAttributes } = useMessageAttributes({ id: messageId });\n\n const [isHovered, setIsHovered] = React.useState(false);\n const [isFocused, setIsFocused] = React.useState(false);\n\n const rootRef = React.useRef(null);\n\n React.useEffect(() => {\n announcement && announce(announcement, { batchId: id });\n }, [announce, announcement, id]);\n\n const state: UserMessageState = {\n components: {\n root: 'div',\n accessibleHeading: 'h5',\n timestamp: 'span',\n actionBarAccessibleButton: 'button',\n actionBar: Toolbar,\n message: 'div',\n },\n root: slot.always(\n getIntrinsicElementProps('div', {\n ref: useMergedRefs(rootRef, ref),\n id,\n ...copilotChatAttributes,\n ...props,\n }),\n { elementType: 'div' },\n ),\n\n accessibleHeading: slot.optional(accessibleHeading, {\n defaultProps: {\n children: 'You said: ',\n },\n elementType: 'h5',\n renderByDefault: true,\n }),\n\n timestamp: slot.optional(timestamp, {\n elementType: 'span',\n }),\n\n actionBarAccessibleButton: actionBar\n ? slot.optional(actionBarAccessibleButton, {\n defaultProps: {\n 'aria-label': 'More actions',\n tabIndex: -1,\n },\n ...copilotChatAttributes,\n elementType: 'button',\n renderByDefault: true,\n })\n : undefined,\n\n actionBar: useActionBarSlot(actionBar, {\n popoverRef: userMessagePopupRef,\n triggerRef: userMessageTargetRef,\n isFocused,\n isHovered,\n }),\n\n message: slot.always(message, {\n defaultProps: { children: props.children, ref: userMessageTargetRef },\n elementType: 'div',\n }),\n };\n\n const onBlur = (e: React.FocusEvent) => {\n const nextFocusedElement = e.relatedTarget as HTMLElement;\n if (nextFocusedElement !== rootRef.current && !elementContains(rootRef.current, nextFocusedElement)) {\n setIsFocused(false);\n }\n };\n const onFocus = (e: React.FocusEvent) => {\n setIsFocused(true);\n };\n const onMouseEnter = (e: React.MouseEvent) => {\n setIsHovered(true);\n };\n const onMouseLeave = (e: React.MouseEvent) => {\n setIsHovered(false);\n };\n state.root.onBlur = useEventCallback(mergeCallbacks(onBlur, props.onBlur));\n state.root.onFocus = useEventCallback(mergeCallbacks(onFocus, props.onFocus));\n state.root.onMouseEnter = useEventCallback(mergeCallbacks(onMouseEnter, props.onMouseEnter));\n state.root.onMouseLeave = useEventCallback(mergeCallbacks(onMouseLeave, props.onMouseLeave));\n return state;\n};\n","import { usePositioning } from '@fluentui/react-positioning';\nimport type { UserMessageProps } from '../UserMessage/UserMessage.types';\nimport type { PositioningShorthandValue } from '@fluentui/react-components';\n\nexport function useUserMessagePositioning(props: UserMessageProps): [\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n actionBarRef: React.MutableRefObject,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n triggerRef: React.MutableRefObject,\n] {\n // Set a default set of fallback positions to try if the dropdown does not fit on screen\n const fallbackPositions: PositioningShorthandValue[] = ['below', 'after', 'after-top', 'before', 'before-top'];\n\n const popperOptions = {\n position: 'above' as const,\n align: 'end' as const,\n offset: { crossAxis: 0, mainAxis: 2 },\n fallbackPositions,\n autoSize: true,\n };\n\n const { targetRef, containerRef } = usePositioning(popperOptions);\n\n return [containerRef, targetRef];\n}\n","import { makeResetStyles, mergeClasses, tokens, typographyStyles, makeStyles } from '@fluentui/react-components';\nimport type { UserMessageSlots, UserMessageState } from './UserMessage.types';\nimport type { SlotClassNames } from '@fluentui/react-components';\n\nexport const userMessageClassNames: SlotClassNames = {\n root: 'fai-UserMessage',\n accessibleHeading: 'fai-UserMessage__accessibleHeading',\n timestamp: 'fai-UserMessage__timestamp',\n actionBarAccessibleButton: 'fai-UserMessage__actionBarAccessibleButton',\n actionBar: 'fai-UserMessage__actionBar',\n message: 'fai-UserMessage__message',\n};\n\n/**\n * Styles for the root slot\n */\nconst useRootClassName = makeResetStyles({\n position: 'relative',\n display: 'grid',\n gridAutoRows: 'max-content',\n gridAutoFlow: 'column',\n alignSelf: 'flex-end',\n gridTemplateAreas: `\"start timestamp\"\n \"button button\"\n \"message message\"`,\n color: tokens.colorNeutralForeground1,\n columnGap: tokens.spacingHorizontalS,\n\n padding: `${tokens.spacingVerticalS} ${tokens.spacingHorizontalL}`,\n borderRadius: tokens.borderRadiusXLarge,\n\n [`&:focus`]: {\n outline: 'none',\n },\n [`&:focus .${userMessageClassNames.message}`]: {\n outline: `${tokens.strokeWidthThick} solid ${tokens.colorNeutralForeground1}`,\n },\n [`&:focus:not(:focus-visible) .${userMessageClassNames.message}`]: {\n outline: 'none',\n },\n});\n\n/**\n * Styles for the hidden heading slot\n */\nconst useHeadingStyles = makeResetStyles({\n clip: 'rect(0px, 0px, 0px, 0px)',\n gridArea: 'start',\n height: '1px',\n margin: '-1px',\n width: '1px',\n position: 'absolute',\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n});\n\n/**\n * Styles for the name slot\n */\nconst useTimestampStyles = makeResetStyles({\n color: tokens.colorNeutralForeground3,\n gridArea: 'timestamp',\n ...typographyStyles.caption1,\n});\n\n/**\n * Styles for the accessible button slot\n */\nconst useActionBarAccessibleButtonStyles = makeResetStyles({\n gridArea: 'button',\n clip: 'rect(0px, 0px, 0px, 0px)',\n height: '1px',\n margin: '-1px',\n width: '1px',\n position: 'absolute',\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n});\n\n/**\n * Styles for the action bar slot\n */\nconst useActionBarStyles = makeStyles({\n root: {\n display: 'flex',\n justifyContent: 'flex-end',\n backgroundColor: tokens.colorNeutralBackground1,\n boxShadow: tokens.shadow8,\n borderRadius: tokens.borderRadiusMedium,\n gap: `0 ${tokens.spacingHorizontalS}`,\n },\n});\n\n/**\n * Styles for the message slot\n */\nconst useMessageStyles = makeResetStyles({\n gridArea: 'message',\n backgroundColor: tokens.colorBrandBackground2,\n paddingTop: tokens.spacingVerticalS,\n paddingBottom: tokens.spacingVerticalS,\n paddingLeft: tokens.spacingHorizontalL,\n paddingRight: tokens.spacingHorizontalL,\n borderRadius: tokens.borderRadiusXLarge,\n});\n\n/**\n * Apply styling to the UserMessage slots based on the state\n */\nexport const useUserMessageStyles_unstable = (state: UserMessageState): UserMessageState => {\n 'use no memo';\n\n const rootClassName = useRootClassName();\n const headingStyles = useHeadingStyles();\n const timestampStyles = useTimestampStyles();\n const actionBarAccessibleButtonStyles = useActionBarAccessibleButtonStyles();\n const actionBarStyles = useActionBarStyles();\n const messageStyles = useMessageStyles();\n\n state.root.className = mergeClasses(userMessageClassNames.root, rootClassName, state.root.className);\n\n if (state.accessibleHeading) {\n state.accessibleHeading.className = mergeClasses(\n userMessageClassNames.accessibleHeading,\n headingStyles,\n state.accessibleHeading.className,\n );\n }\n\n if (state.timestamp) {\n state.timestamp.className = mergeClasses(\n userMessageClassNames.timestamp,\n timestampStyles,\n state.timestamp.className,\n );\n }\n\n if (state.actionBarAccessibleButton) {\n state.actionBarAccessibleButton.className = mergeClasses(\n userMessageClassNames.actionBarAccessibleButton,\n actionBarAccessibleButtonStyles,\n state.actionBarAccessibleButton.className,\n );\n }\n\n if (state.actionBar) {\n state.actionBar.className = mergeClasses(\n userMessageClassNames.actionBar,\n actionBarStyles.root,\n state.actionBar.className,\n );\n }\n\n state.message.className = mergeClasses(userMessageClassNames.message, messageStyles, state.message.className);\n\n return state;\n};\n","import * as React from 'react';\nimport { useUserMessage_unstable } from './useUserMessage';\nimport { renderUserMessage_unstable } from './renderUserMessage';\nimport { useUserMessageStyles_unstable } from './useUserMessageStyles.styles';\nimport type { UserMessageProps } from './UserMessage.types';\nimport type { ForwardRefComponent } from '@fluentui/react-components';\nimport { useCustomStyleHook } from '@fluentui-copilot/react-provider';\n\n// UserMessage component - TODO: add more docs\nexport const UserMessage: ForwardRefComponent = React.forwardRef((props, ref) => {\n const state = useUserMessage_unstable(props, ref);\n\n useUserMessageStyles_unstable(state);\n useCustomStyleHook('useUserMessageStyles')(state);\n\n return renderUserMessage_unstable(state);\n});\n\nUserMessage.displayName = 'UserMessage';\n","/** @jsxRuntime automatic */\n/** @jsxImportSource @fluentui/react-jsx-runtime */\n\nimport { assertSlots } from '@fluentui/react-components';\nimport type { UserMessageState, UserMessageSlots } from './UserMessage.types';\n\n/**\n * Render the final JSX of UserMessage\n */\nexport const renderUserMessage_unstable = (state: UserMessageState) => {\n assertSlots(state);\n\n return (\n \n {state.accessibleHeading && }\n {state.timestamp && }\n {state.actionBarAccessibleButton && }\n {state.actionBar && }\n \n \n );\n};\n","import { useFocusableGroup, useTabsterAttributes } from '@fluentui/react-tabster';\n\nexport const useMessageAttributes = ({ id, defaultFocused }: { id: string; defaultFocused?: boolean }) => {\n // Initialize groupper\n useFocusableGroup();\n\n const accessibleProps = {\n role: 'article',\n tabIndex: 0,\n id,\n 'aria-labelledby': `${id}`,\n };\n\n const tabsterProps = useTabsterAttributes({\n groupper: { tabbability: 2 /*limitedTrapFocus*/ },\n focusable: { isDefault: defaultFocused },\n });\n\n return { ...accessibleProps, ...tabsterProps };\n};\n","import * as React from 'react';\nimport { getIntrinsicElementProps, Button, slot, Tooltip } from '@fluentui/react-components';\nimport {\n bundleIcon,\n ThumbLike16Regular,\n ThumbLike16Filled,\n ThumbLike20Regular,\n ThumbLike20Filled,\n ThumbDislike20Regular,\n ThumbDislike16Regular,\n ThumbDislike16Filled,\n ThumbDislike20Filled,\n} from '@fluentui/react-icons';\nimport { useCopilotMode } from '@fluentui-copilot/react-provider';\nimport type { FeedbackButtonsProps, FeedbackButtonsState, TooltipComponent } from './FeedbackButtons.types';\n\nconst ThumbLikeIcon16 = bundleIcon(ThumbLike16Filled, ThumbLike16Regular);\nconst ThumbLikeIcon20 = bundleIcon(ThumbLike20Filled, ThumbLike20Regular);\n\nconst ThumbDislikeIcon16 = bundleIcon(ThumbDislike16Filled, ThumbDislike16Regular);\nconst ThumbDislikeIcon20 = bundleIcon(ThumbDislike20Filled, ThumbDislike20Regular);\n\n/**\n * Create the state required to render FeedbackButtons.\n *\n * The returned state can be modified with hooks such as useFeedbackButtonsStyles_unstable,\n * before being passed to renderFeedbackButtons_unstable.\n *\n * @param props - props from this instance of FeedbackButtons\n * @param ref - reference to root HTMLElement of CopilotF eedback\n */\nexport const useFeedbackButtons_unstable = (\n props: FeedbackButtonsProps,\n ref: React.Ref,\n): FeedbackButtonsState => {\n const mode = useCopilotMode(props.mode);\n\n const ThumbLikeIcon = mode === 'sidecar' ? ThumbLikeIcon16 : ThumbLikeIcon20;\n const ThumbDislikeIcon = mode === 'sidecar' ? ThumbDislikeIcon16 : ThumbDislikeIcon20;\n const buttonSize = mode === 'sidecar' ? 'small' : 'medium';\n\n return {\n mode,\n disabled: props.disabled || false,\n selected: props.selected,\n components: {\n root: 'div',\n positiveFeedbackButton: Button,\n positiveFeedbackTooltip: Tooltip as TooltipComponent,\n negativeFeedbackButton: Button,\n negativeFeedbackTooltip: Tooltip as TooltipComponent,\n },\n root: slot.always(\n getIntrinsicElementProps('div', {\n ref,\n ...props,\n }),\n { elementType: 'div' },\n ),\n positiveFeedbackButton: slot.optional(props.positiveFeedbackButton, {\n defaultProps: {\n icon: ,\n size: buttonSize,\n disabled: props.disabled,\n appearance: 'transparent',\n },\n elementType: Button,\n renderByDefault: true,\n }),\n positiveFeedbackTooltip: slot.optional(props.positiveFeedbackTooltip, {\n defaultProps: {\n relationship: 'label',\n content: 'Like',\n withArrow: true,\n },\n elementType: Tooltip as TooltipComponent,\n renderByDefault: true,\n }),\n negativeFeedbackButton: slot.optional(props.negativeFeedbackButton, {\n defaultProps: {\n icon: ,\n size: buttonSize,\n disabled: props.disabled,\n appearance: 'transparent',\n },\n elementType: Button,\n renderByDefault: true,\n }),\n negativeFeedbackTooltip: slot.optional(props.negativeFeedbackTooltip, {\n defaultProps: {\n relationship: 'label',\n content: 'Dislike',\n withArrow: true,\n },\n elementType: Tooltip as TooltipComponent,\n renderByDefault: true,\n }),\n };\n};\n","import { makeStyles, mergeClasses, tokens } from '@fluentui/react-components';\nimport type { FeedbackButtonsSlots, FeedbackButtonsState } from './FeedbackButtons.types';\nimport type { SlotClassNames } from '@fluentui/react-components';\nimport { iconFilledClassName, iconRegularClassName } from '@fluentui/react-icons';\n\nexport const feedbackButtonsClassNames: SlotClassNames = {\n root: 'fai-FeedbackButtons',\n negativeFeedbackButton: 'fai-FeedbackButtons__negativeFeedbackButton',\n negativeFeedbackTooltip: 'fai-FeedbackButtons__negativeFeedbackTooltip',\n positiveFeedbackButton: 'fai-FeedbackButtons__positiveFeedbackButton',\n positiveFeedbackTooltip: 'fai-FeedbackButtons__positiveFeedbackTooltip',\n};\n\nconst useStyles = makeStyles({\n root: {\n display: 'flex',\n },\n\n selected: {\n color: tokens.colorNeutralForeground2BrandSelected,\n [`& .${iconFilledClassName}`]: {\n display: 'inline',\n },\n [`& .${iconRegularClassName}`]: {\n display: 'none',\n },\n },\n\n disabledSelected: {\n ':hover': {\n [`& .${iconFilledClassName}`]: {\n display: 'inline',\n },\n [`& .${iconRegularClassName}`]: {\n display: 'none',\n },\n },\n ':hover:active': {\n [`& .${iconFilledClassName}`]: {\n display: 'inline',\n },\n [`& .${iconRegularClassName}`]: {\n display: 'none',\n },\n },\n },\n});\n\nexport const useFeedbackButtonsStyles_unstable = (state: FeedbackButtonsState): FeedbackButtonsState => {\n 'use no memo';\n\n const styles = useStyles();\n state.root.className = mergeClasses(feedbackButtonsClassNames.root, styles.root, state.root.className);\n if (state.positiveFeedbackButton) {\n state.positiveFeedbackButton.className = mergeClasses(\n feedbackButtonsClassNames.positiveFeedbackButton,\n state.selected === 'positive' && styles.selected,\n state.selected === 'positive' && state.disabled && styles.disabledSelected,\n state.positiveFeedbackButton.className,\n );\n }\n if (state.negativeFeedbackButton) {\n state.negativeFeedbackButton.className = mergeClasses(\n feedbackButtonsClassNames.negativeFeedbackButton,\n state.selected === 'negative' && styles.selected,\n state.selected === 'negative' && state.disabled && styles.disabledSelected,\n state.negativeFeedbackButton.className,\n );\n }\n\n return state;\n};\n","import * as React from 'react';\nimport { useFeedbackButtons_unstable } from './useFeedbackButtons';\nimport { renderFeedbackButtons_unstable } from './renderFeedbackButtons';\nimport { useFeedbackButtonsStyles_unstable } from './useFeedbackButtonsStyles.styles';\nimport type { FeedbackButtonsProps } from './FeedbackButtons.types';\nimport type { ForwardRefComponent } from '@fluentui/react-components';\nimport { useCustomStyleHook } from '@fluentui-copilot/react-provider';\n\n// FeedbackButtons component - TODO: add more docs\nexport const FeedbackButtons: ForwardRefComponent = React.forwardRef((props, ref) => {\n const state = useFeedbackButtons_unstable(props, ref);\n\n useFeedbackButtonsStyles_unstable(state);\n useCustomStyleHook('useFeedbackButtonsStyles')(state);\n\n return renderFeedbackButtons_unstable(state);\n});\n\nFeedbackButtons.displayName = 'FeedbackButtons';\n","/** @jsxRuntime automatic */\n/** @jsxImportSource @fluentui/react-jsx-runtime */\n\nimport { assertSlots } from '@fluentui/react-components';\nimport type { FeedbackButtonsState, FeedbackButtonsSlots } from './FeedbackButtons.types';\n\n/**\n * Render the final JSX of FeedbackButtons\n */\nexport const renderFeedbackButtons_unstable = (state: FeedbackButtonsState) => {\n assertSlots(state);\n\n return (\n \n {state.positiveFeedbackButton && state.positiveFeedbackTooltip && (\n \n \n \n )}\n {state.positiveFeedbackButton && !state.positiveFeedbackTooltip && }\n {state.negativeFeedbackButton && state.negativeFeedbackTooltip && (\n \n \n \n )}\n {state.negativeFeedbackButton && !state.negativeFeedbackTooltip && }\n \n );\n};\n","import type { CopilotThemeExtension } from '../types';\n\nexport const copilotLightThemeExtension: CopilotThemeExtension = {\n // rgba() format is used for these colors as the\n // default Flair animation expects to transition\n // the colors to/from transparent versions (e.g., `rgba($r, $g, $b, 0)`)\n // and this format makes that more obvious and readable.\n // When overriding if you can use hex (both #RGB and #RGBA formats), rgb() or rgba() formats.\n colorBrandFlair1: 'rgba(24, 90, 189, 1)', // #RGBA: #464FEBFF\n colorBrandFlair2: 'rgba(71, 207, 250, 1)', // #RGBA: #47CFFAFF\n colorBrandFlair3: 'rgba(180, 124, 248, 1)', // #RGBA: #B47CF8FF\n\n colorBrandFlair1Transparent: 'rgba(24, 90, 189, 0)', // #RGBA: #464FEB00\n colorBrandFlair2Transparent: 'rgba(71, 207, 250, 0)', // #RGBA: #47CFFA00\n colorBrandFlair3Transparent: 'rgba(180, 124, 248, 0)', // // #RGBA: #B47CF800\n\n colorHCFlair1: 'Highlight',\n colorHCFlair2: 'HighlightText',\n colorHCFlair3: 'Highlight',\n};\n","/* eslint-disable */\n\nimport * as React from 'react';\n\ntype CustomStyleHook = (state: unknown) => void;\n\n// The list of hooks is built from the exports from react-copilot/src/index\nexport type CustomStyleHooksContextValue = Partial<{\n useAttachmentMenuItemStyles: CustomStyleHook;\n useAttachmentMenuListStyles: CustomStyleHook;\n useAttachmentMenuPopoverStyles: CustomStyleHook;\n useAttachmentTagStyles: CustomStyleHook;\n useAttachmentTagListStyles: CustomStyleHook;\n useChatInputStyles: CustomStyleHook;\n useEntityCardGridActionCellStyles: CustomStyleHook;\n useEntityCardGridRowStyles: CustomStyleHook;\n useEntityCardGridStyles: CustomStyleHook;\n useEntityCardStyles: CustomStyleHook;\n useEntityCardListStyles: CustomStyleHook;\n useEntityDialogCardStyles: CustomStyleHook;\n useEntityTitleStyles: CustomStyleHook;\n useFeedbackButtonsStyles: CustomStyleHook;\n useInsightsStyles: CustomStyleHook;\n useInsightsButtonStyles: CustomStyleHook;\n useLatencyCancelStyles: CustomStyleHook;\n useLatencyLoaderStyles: CustomStyleHook;\n useLatencyWrapperStyles: CustomStyleHook;\n useOutputCardStyles: CustomStyleHook;\n usePromptStarterStyles: CustomStyleHook;\n useCitationStyles: CustomStyleHook;\n useReasonMarkerStyles: CustomStyleHook;\n useReferenceStyles: CustomStyleHook;\n useReferenceGroupStyles: CustomStyleHook;\n useReferenceListStyles: CustomStyleHook;\n useSuggestionListStyles: CustomStyleHook;\n useSuggestionStyles: CustomStyleHook;\n useTextareaStyles: CustomStyleHook;\n useUserMessageStyles: CustomStyleHook;\n}>;\n\n/**\n * @internal\n */\nexport const CustomStyleHooksContext = React.createContext(undefined);\n\nconst noop = () => {};\n\n/**\n * @internal\n */\nexport const CustomStyleHooksProvider = CustomStyleHooksContext.Provider;\n\n/**\n * Gets a custom style hook\n * @param hook - One of the hook properties in CustomStyleHooksContextValue\n * @returns The corresponding hook when defined, otherwise a no-op function.\n */\nexport const useCustomStyleHook = (hook: keyof CustomStyleHooksContextValue): CustomStyleHook => {\n return React.useContext(CustomStyleHooksContext)?.[hook] ?? noop;\n};\n","import * as React from 'react';\r\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\r\nimport { createPriorityQueue, useTimeout } from '@fluentui/react-utilities';\r\nimport type { AnnounceFn, LiveMessage } from './types';\r\n\r\n/** The duration the message needs to be in present in DOM for screen readers to register a change and announce */\r\nconst MESSAGE_DURATION = 500;\r\n\r\ntype BatchMessage = { batchId: string; message: LiveMessage };\r\n\r\nconst visuallyHiddenStyles = {\r\n clip: 'rect(0px, 0px, 0px, 0px)',\r\n height: '1px',\r\n margin: '-1px',\r\n width: '1px',\r\n position: 'absolute',\r\n overflow: 'hidden',\r\n textWrap: 'nowrap',\r\n};\r\n\r\n/**\r\n * Create the state required to render Announce.\r\n *\r\n * The returned state can be modified with hooks such as useAnnounceStyles_unstable,\r\n * before being passed to renderAnnounce_unstable.\r\n *\r\n * @param props - props from this instance of Announce\r\n */\r\nexport const useAnnounce = () => {\r\n const { targetDocument } = useFluent();\r\n\r\n const timeoutRef = React.useRef(undefined);\r\n const [setAnnounceTimeout, clearAnnounceTimeout] = useTimeout();\r\n\r\n const elementRef = React.useRef(null);\r\n\r\n const order = React.useRef(0);\r\n\r\n // investigate alert implementation later\r\n // const [alertList, setAlertList] = React.useState([]);\r\n\r\n const batchMessages = React.useRef([]);\r\n\r\n const [messageQueue] = React.useState(() =>\r\n createPriorityQueue((a, b) => {\r\n if (a.priority !== b.priority) {\r\n return b.priority - a.priority;\r\n } else {\r\n return a.createdAt - b.createdAt;\r\n }\r\n }),\r\n );\r\n\r\n const queueMessage = React.useCallback(() => {\r\n if (timeoutRef.current) {\r\n return;\r\n }\r\n\r\n const runCycle = () => {\r\n if (!elementRef.current) {\r\n return;\r\n }\r\n\r\n if (targetDocument && messageQueue.peek()) {\r\n // need a wrapping element for Narrator/Edge, which currently does not pick up text-only live region changes consistently\r\n // if this is fixed, we can set textContent to the string directly\r\n const wrappingEl = targetDocument.createElement('span');\r\n wrappingEl.innerText = messageQueue\r\n .all()\r\n .filter(msg => msg.message.trim().length > 0)\r\n .reduce((prevText, currMsg) => prevText + currMsg.message + '. ', '');\r\n elementRef.current.innerText = '';\r\n elementRef.current.appendChild(wrappingEl);\r\n messageQueue.clear();\r\n batchMessages.current = [];\r\n\r\n // begin new cycle to clear (or update) messages\r\n timeoutRef.current = setAnnounceTimeout(() => {\r\n runCycle();\r\n }, MESSAGE_DURATION);\r\n } else {\r\n elementRef.current.textContent = '';\r\n clearAnnounceTimeout();\r\n timeoutRef.current = undefined;\r\n }\r\n };\r\n\r\n runCycle();\r\n }, [clearAnnounceTimeout, messageQueue, setAnnounceTimeout, targetDocument]);\r\n\r\n const announce: AnnounceFn = React.useMemo(\r\n () =>\r\n (message, options = {}) => {\r\n const { alert: isAlert = false, priority = 0, batchId } = options;\r\n\r\n // check if message is an alert\r\n if (isAlert) {\r\n // TODO: alert implementation\r\n // setAlertList([...alertList, message]);\r\n }\r\n\r\n const liveMessage: LiveMessage = {\r\n message,\r\n createdAt: order.current++,\r\n priority,\r\n batchId,\r\n };\r\n\r\n // check if batchId exists\r\n if (batchId) {\r\n // update associated msg if it does\r\n const msg = batchMessages.current.find(msg => msg.batchId === batchId);\r\n if (msg) {\r\n // replace existing message in queue\r\n messageQueue.remove(msg.message);\r\n\r\n // update list of existing batchIds w/ most recent message\r\n msg.message = liveMessage;\r\n } else {\r\n // update list of existing batchIds, add new if doesn't already exist\r\n batchMessages.current = [...batchMessages.current, { batchId, message: liveMessage }];\r\n }\r\n }\r\n\r\n // add new message\r\n messageQueue.enqueue(liveMessage);\r\n\r\n queueMessage();\r\n },\r\n [messageQueue, queueMessage],\r\n );\r\n\r\n React.useEffect(() => {\r\n if (elementRef.current || !targetDocument) {\r\n return;\r\n }\r\n\r\n elementRef.current = targetDocument.createElement('div');\r\n elementRef.current.setAttribute('aria-live', 'assertive');\r\n\r\n Object.assign(elementRef.current.style, visuallyHiddenStyles);\r\n targetDocument.body.append(elementRef.current);\r\n\r\n return () => {\r\n elementRef.current?.remove();\r\n elementRef.current = null;\r\n };\r\n }, [targetDocument]);\r\n\r\n return announce;\r\n};\r\n","import * as React from 'react';\n\nimport { AnnounceProvider_unstable as AnnounceProvider } from '@fluentui/react-shared-contexts';\nimport { copilotLightThemeExtension } from '@fluentui-copilot/tokens';\nimport { CustomStyleHooksProvider } from './CustomStyleHooksContext';\nimport type { CopilotProviderProps, CopilotMode } from './CopilotProvider.types';\nimport type { CopilotThemeExtension } from '@fluentui-copilot/tokens';\nimport { useAnnounce } from '@fluentui-copilot/react-announce';\n\nexport const CopilotProvider = (props: CopilotProviderProps) => {\n const { announce, themeExtension, mode, customStyleHooks, ...otherProps } = props;\n\n const announceDefault = useAnnounce();\n\n const style = React.useMemo(() => {\n const mergedTheme = shallowMerge | undefined>(\n copilotLightThemeExtension,\n themeExtension,\n ) as CopilotThemeExtension;\n const style: Record = {};\n for (const [key, value] of Object.entries(mergedTheme)) {\n style[`--fai-${key}`] = value;\n }\n return shallowMerge(style as React.CSSProperties, otherProps.style);\n }, [themeExtension, otherProps.style]);\n\n return (\n
\n \n \n {props.children}\n \n \n
\n );\n};\n\nfunction shallowMerge(a: T, b: T): T {\n // Merge impacts perf: we should like to avoid it if it's possible\n if (a && b) {\n return { ...a, ...b };\n }\n\n if (a) {\n return a;\n }\n\n return b;\n}\n\n// hiding this for now, if we need to we can export it later\nconst ModeContext = React.createContext({ mode: 'canvas' });\n\n/**\n * A hook that returns default mode always. If defaultMode is not provided,\n * it will return the mode from the context, or 'canvas' if there is no context.\n * @param defaultMode - Usually the 'mode' prop from a component.\n * @returns -'canvas' or 'sidecar'\n */\nexport const useCopilotMode = (defaultMode?: 'canvas' | 'sidecar') => {\n const modeFromContext = React.useContext(ModeContext).mode;\n\n return defaultMode ?? modeFromContext ?? 'canvas';\n};\n\nCopilotProvider.displayName = 'CopilotProvider';\n","import type { LexicalNode } from './index';\nimport { $isElementNode } from './index';\n\nexport function $getLeafNodes(node: LexicalNode): Array {\n const nodes: LexicalNode[] = [];\n const stack = [node];\n while (stack.length > 0) {\n const current = stack.shift();\n if (!current) {\n continue;\n }\n\n if ($isElementNode(current)) {\n stack.unshift(...current.getChildren());\n continue;\n }\n if (current !== node) {\n nodes.push(current);\n }\n }\n\n return nodes;\n}\n","import { IDateGridStrings, IDateFormatting, ICalendarStrings } from './dateFormatting.types';\n\n/**\n * Format date to a day string representation\n * @param date - input date to format\n */\nexport const formatDay = (date: Date) => date.getDate().toString();\n\n/**\n * Format date to a month-day-year string\n * @param date - input date to format\n * @param strings - localized strings\n */\nexport const formatMonthDayYear = (date: Date, strings: IDateGridStrings) =>\n strings.months[date.getMonth()] + ' ' + date.getDate() + ', ' + date.getFullYear();\n\n/**\n * Format date to a month-year string\n * @param date - input date to format\n * @param strings - localized strings\n */\nexport const formatMonthYear = (date: Date, strings: IDateGridStrings) =>\n strings.months[date.getMonth()] + ' ' + date.getFullYear();\n\n/**\n * Format date to a month string\n * @param date - input date to format\n * @param strings - localized strings\n */\nexport const formatMonth = (date: Date, strings: IDateGridStrings) => strings.months[date.getMonth()];\n\n/**\n * Format date to a year string representation\n * @param date - input date to format\n */\nexport const formatYear = (date: Date) => date.getFullYear().toString();\n\nexport const DEFAULT_DATE_GRID_STRINGS: IDateGridStrings = {\n months: [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December',\n ],\n shortMonths: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n days: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\n shortDays: ['S', 'M', 'T', 'W', 'T', 'F', 'S'],\n};\n\nexport const DEFAULT_DATE_FORMATTING: IDateFormatting = {\n formatDay,\n formatMonth,\n formatYear,\n formatMonthDayYear,\n formatMonthYear,\n};\n\nexport const DEFAULT_CALENDAR_STRINGS: ICalendarStrings = {\n ...DEFAULT_DATE_GRID_STRINGS,\n\n goToToday: 'Go to today',\n weekNumberFormatString: 'Week number {0}',\n prevMonthAriaLabel: 'Previous month',\n nextMonthAriaLabel: 'Next month',\n prevYearAriaLabel: 'Previous year',\n nextYearAriaLabel: 'Next year',\n prevYearRangeAriaLabel: 'Previous year range',\n nextYearRangeAriaLabel: 'Next year range',\n closeButtonAriaLabel: 'Close',\n selectedDateFormatString: 'Selected date {0}',\n todayDateFormatString: \"Today's date {0}\",\n monthPickerHeaderAriaLabel: '{0}, change year',\n yearPickerHeaderAriaLabel: '{0}, change month',\n dayMarkedAriaLabel: 'marked',\n};\n","import { IAvailableDateOptions } from './dateGrid.types';\n\nimport { isRestrictedDate } from './isRestrictedDate';\n\nimport { isAfterMaxDate } from './isAfterMaxDate';\n\nimport { isBeforeMinDate } from './isBeforeMinDate';\nimport { compareDatePart, addDays } from '../dateMath/dateMath';\n\n/**\n * Returns closest available date given the restriction `options`, or undefined otherwise\n * @param options - list of search options\n */\nexport const findAvailableDate = (options: IAvailableDateOptions): Date | undefined => {\n const { targetDate, initialDate, direction, ...restrictedDateOptions } = options;\n let availableDate = targetDate;\n // if the target date is available, return it immediately\n if (!isRestrictedDate(targetDate, restrictedDateOptions)) {\n return targetDate;\n }\n\n while (\n compareDatePart(initialDate, availableDate) !== 0 &&\n isRestrictedDate(availableDate, restrictedDateOptions) &&\n !isAfterMaxDate(availableDate, restrictedDateOptions) &&\n !isBeforeMinDate(availableDate, restrictedDateOptions)\n ) {\n availableDate = addDays(availableDate, direction);\n }\n\n if (compareDatePart(initialDate, availableDate) !== 0 && !isRestrictedDate(availableDate, restrictedDateOptions)) {\n return availableDate;\n }\n\n return undefined;\n};\n","import { compareDatePart } from '../dateMath/dateMath';\n\n/**\n * Generates a list of dates, bounded by min and max dates\n * @param dateRange - input date range\n * @param minDate - min date to limit the range\n * @param maxDate - max date to limit the range\n */\nexport const getBoundedDateRange = (dateRange: Date[], minDate?: Date, maxDate?: Date): Date[] => {\n let boundedDateRange = [...dateRange];\n if (minDate) {\n boundedDateRange = boundedDateRange.filter((date: Date) => compareDatePart(date, minDate as Date) >= 0);\n }\n if (maxDate) {\n boundedDateRange = boundedDateRange.filter((date: Date) => compareDatePart(date, maxDate as Date) <= 0);\n }\n return boundedDateRange;\n};\n","import { DateRangeType, DayOfWeek } from '../dateValues/dateValues';\nimport { isContiguous } from './isContiguous';\n/**\n * Return corrected date range type, given `dateRangeType` and list of working days.\n * For non-contiguous working days and working week range type, returns general week range type.\n * For other cases returns input date range type.\n * @param dateRangeType - input type of range\n * @param workWeekDays - list of working days in a week\n */\nexport const getDateRangeTypeToUse = (\n dateRangeType: DateRangeType,\n workWeekDays: DayOfWeek[] | undefined,\n firstDayOfWeek: DayOfWeek,\n): DateRangeType => {\n if (workWeekDays && dateRangeType === DateRangeType.WorkWeek) {\n if (!isContiguous(workWeekDays, true, firstDayOfWeek) || workWeekDays.length === 0) {\n return DateRangeType.Week;\n }\n }\n\n return dateRangeType;\n};\n","import { DayOfWeek } from '../dateValues/dateValues';\n\n/**\n * Returns whether provided week days are contiguous.\n * @param days - list of days in a week\n * @param isSingleWeek - decides whether the contiguous logic applies across week boundaries or not\n * @param firstDayOfWeek - decides which day of week is the first one in the order.\n */\nexport const isContiguous = (days: DayOfWeek[], isSingleWeek: boolean, firstDayOfWeek: DayOfWeek): boolean => {\n const daySet = new Set(days);\n let amountOfNoNeighbors = 0;\n for (const day of days) {\n const nextDay = (day + 1) % 7;\n if (!(daySet.has(nextDay) && (!isSingleWeek || firstDayOfWeek !== nextDay))) {\n amountOfNoNeighbors++;\n }\n }\n\n // In case the full week is provided, then each day has a neighbor\n //, otherwise the last day does not have a neighbor.\n return amountOfNoNeighbors < 2;\n};\n","import { addDays, compareDates, getDateRangeArray, isInDateRangeArray } from '../dateMath/dateMath';\nimport { DAYS_IN_WEEK } from '../dateValues/dateValues';\nimport { IDay, IDayGridOptions } from './dateGrid.types';\nimport { getDateRangeTypeToUse } from './getDateRangeTypeToUse';\nimport { getBoundedDateRange } from './getBoundedDateRange';\nimport { isRestrictedDate } from './isRestrictedDate';\n\n/**\n * Generates a grid of days, given the `options`.\n * Returns one additional week at the begining from the previous range\n * and one at the end from the future range\n * @param options - parameters to specify date related restrictions for the resulting grid\n */\nexport const getDayGrid = (options: IDayGridOptions): IDay[][] => {\n const {\n selectedDate,\n dateRangeType,\n firstDayOfWeek,\n today,\n minDate,\n maxDate,\n weeksToShow,\n workWeekDays,\n daysToSelectInDayView,\n restrictedDates,\n markedDays,\n } = options;\n const restrictedDateOptions = { minDate, maxDate, restrictedDates };\n\n const todaysDate = today || new Date();\n\n const navigatedDate = options.navigatedDate ? options.navigatedDate : todaysDate;\n\n let date;\n if (weeksToShow && weeksToShow <= 4) {\n // if showing less than a full month, just use date == navigatedDate\n date = new Date(navigatedDate.getFullYear(), navigatedDate.getMonth(), navigatedDate.getDate());\n } else {\n date = new Date(navigatedDate.getFullYear(), navigatedDate.getMonth(), 1);\n }\n const weeks: IDay[][] = [];\n\n // Cycle the date backwards to get to the first day of the week.\n while (date.getDay() !== firstDayOfWeek) {\n date.setDate(date.getDate() - 1);\n }\n\n // add the transition week as last week of previous range\n date = addDays(date, -DAYS_IN_WEEK);\n\n // a flag to indicate whether all days of the week are outside the month\n let isAllDaysOfWeekOutOfMonth = false;\n\n // in work week view if the days aren't contiguous we use week view instead\n const selectedDateRangeType = getDateRangeTypeToUse(dateRangeType, workWeekDays, firstDayOfWeek);\n\n let selectedDates: Date[] = [];\n\n if (selectedDate) {\n selectedDates = getDateRangeArray(\n selectedDate,\n selectedDateRangeType,\n firstDayOfWeek,\n workWeekDays,\n daysToSelectInDayView,\n );\n selectedDates = getBoundedDateRange(selectedDates, minDate, maxDate);\n }\n\n let shouldGetWeeks = true;\n\n for (let weekIndex = 0; shouldGetWeeks; weekIndex++) {\n const week: IDay[] = [];\n\n isAllDaysOfWeekOutOfMonth = true;\n\n for (let dayIndex = 0; dayIndex < DAYS_IN_WEEK; dayIndex++) {\n const originalDate = new Date(date.getTime());\n const dayInfo: IDay = {\n key: date.toString(),\n date: date.getDate().toString(),\n originalDate: originalDate,\n isInMonth: date.getMonth() === navigatedDate.getMonth(),\n isToday: compareDates(todaysDate, date),\n isSelected: isInDateRangeArray(date, selectedDates),\n isInBounds: !isRestrictedDate(date, restrictedDateOptions),\n isMarked: markedDays?.some(markedDay => compareDates(originalDate, markedDay)) || false,\n };\n\n week.push(dayInfo);\n\n if (dayInfo.isInMonth) {\n isAllDaysOfWeekOutOfMonth = false;\n }\n\n date.setDate(date.getDate() + 1);\n }\n\n // We append the condition of the loop depending upon the showSixWeeksByDefault prop.\n shouldGetWeeks = weeksToShow ? weekIndex < weeksToShow + 1 : !isAllDaysOfWeekOutOfMonth || weekIndex === 0;\n\n // we don't check shouldGetWeeks before pushing because we want to add one extra week for transition state\n weeks.push(week);\n }\n\n return weeks;\n};\n","import { IRestrictedDatesOptions } from './dateGrid.types';\nimport { compareDatePart } from '../dateMath/dateMath';\n\n/**\n * Checks if `date` happens later than max date\n * @param date - date to check\n * @param options - object with max date to check against\n */\nexport const isAfterMaxDate = (date: Date, options: IRestrictedDatesOptions): boolean => {\n const { maxDate } = options;\n return maxDate ? compareDatePart(date, maxDate) >= 1 : false;\n};\n","import { IRestrictedDatesOptions } from './dateGrid.types';\nimport { compareDatePart } from '../dateMath/dateMath';\n\n/**\n * Checks if `date` happens earlier than min date\n * @param date - date to check\n * @param options - object with min date to check against\n */\nexport const isBeforeMinDate = (date: Date, options: IRestrictedDatesOptions): boolean => {\n const { minDate } = options;\n return minDate ? compareDatePart(minDate, date) >= 1 : false;\n};\n","import { IRestrictedDatesOptions } from './dateGrid.types';\nimport { compareDates } from '../dateMath/dateMath';\nimport { isBeforeMinDate } from './isBeforeMinDate';\nimport { isAfterMaxDate } from './isAfterMaxDate';\n\n/**\n * Checks if `date` falls into the restricted `options`\n * @param date - date to check\n * @param options - restriction options (min date, max date and list of restricted dates)\n */\nexport const isRestrictedDate = (date: Date, options: IRestrictedDatesOptions): boolean => {\n const { restrictedDates, minDate, maxDate } = options;\n if (!restrictedDates && !minDate && !maxDate) {\n return false;\n }\n const inRestrictedDates = restrictedDates && restrictedDates.some((rd: Date) => compareDates(rd, date));\n return inRestrictedDates || isBeforeMinDate(date, options) || isAfterMaxDate(date, options);\n};\n","export const TimeConstants = {\n MillisecondsInOneDay: 86400000,\n MillisecondsIn1Sec: 1000,\n MillisecondsIn1Min: 60000,\n MillisecondsIn30Mins: 1800000,\n MillisecondsIn1Hour: 3600000,\n MinutesInOneDay: 1440,\n MinutesInOneHour: 60,\n DaysInOneWeek: 7,\n MonthInOneYear: 12,\n HoursInOneDay: 24,\n SecondsInOneMinute: 60,\n OffsetTo24HourFormat: 12,\n /**\n * Matches a time string. Groups:\n * 1. hours (with or without leading 0)\n * 2. minutes\n * 3. seconds (optional)\n * 4. meridiem (am/pm, case-insensitive, optional)\n */\n TimeFormatRegex: /^(\\d\\d?):(\\d\\d):?(\\d\\d)? ?([ap]m)?/i,\n};\n","import { DayOfWeek, MonthOfYear, FirstWeekOfYear, DateRangeType } from '../dateValues/dateValues';\nimport { TimeConstants } from '../dateValues/timeConstants';\n\n/**\n * Returns a date offset from the given date by the specified number of days.\n * @param date - The origin date\n * @param days - The number of days to offset. 'days' can be negative.\n * @returns A new Date object offset from the origin date by the given number of days\n */\nexport function addDays(date: Date, days: number): Date {\n const result = new Date(date.getTime());\n result.setDate(result.getDate() + days);\n return result;\n}\n\n/**\n * Returns a date offset from the given date by the specified number of weeks.\n * @param date - The origin date\n * @param weeks - The number of weeks to offset. 'weeks' can be negative.\n * @returns A new Date object offset from the origin date by the given number of weeks\n */\nexport function addWeeks(date: Date, weeks: number): Date {\n return addDays(date, weeks * TimeConstants.DaysInOneWeek);\n}\n\n/**\n * Returns a date offset from the given date by the specified number of months.\n * The method tries to preserve the day-of-month; however, if the new month does not have enough days\n * to contain the original day-of-month, we'll use the last day of the new month.\n * @param date - The origin date\n * @param months - The number of months to offset. 'months' can be negative.\n * @returns A new Date object offset from the origin date by the given number of months\n */\nexport function addMonths(date: Date, months: number): Date {\n let result = new Date(date.getTime());\n const newMonth = result.getMonth() + months;\n result.setMonth(newMonth);\n\n // We want to maintain the same day-of-month, but that may not be possible if the new month doesn't have enough days.\n // Loop until we back up to a day the new month has.\n // (Weird modulo math is due to Javascript's treatment of negative numbers in modulo)\n if (\n result.getMonth() !==\n ((newMonth % TimeConstants.MonthInOneYear) + TimeConstants.MonthInOneYear) % TimeConstants.MonthInOneYear\n ) {\n result = addDays(result, -result.getDate());\n }\n return result;\n}\n\n/**\n * Returns a date offset from the given date by the specified number of years.\n * The method tries to preserve the day-of-month; however, if the new month does not have enough days\n * to contain the original day-of-month, we'll use the last day of the new month.\n * @param date - The origin date\n * @param years - The number of years to offset. 'years' can be negative.\n * @returns A new Date object offset from the origin date by the given number of years\n */\nexport function addYears(date: Date, years: number): Date {\n let result = new Date(date.getTime());\n result.setFullYear(date.getFullYear() + years);\n\n // We want to maintain the same day-of-month, but that may not be possible if the new month doesn't have enough days.\n // Loop until we back up to a day the new month has.\n // (Weird modulo math is due to Javascript's treatment of negative numbers in modulo)\n if (\n result.getMonth() !==\n ((date.getMonth() % TimeConstants.MonthInOneYear) + TimeConstants.MonthInOneYear) % TimeConstants.MonthInOneYear\n ) {\n result = addDays(result, -result.getDate());\n }\n return result;\n}\n\n/**\n * Returns a date that is the first day of the month of the provided date.\n * @param date - The origin date\n * @returns A new Date object with the day set to the first day of the month.\n */\nexport function getMonthStart(date: Date): Date {\n return new Date(date.getFullYear(), date.getMonth(), 1, 0, 0, 0, 0);\n}\n\n/**\n * Returns a date that is the last day of the month of the provided date.\n * @param date - The origin date\n * @returns A new Date object with the day set to the last day of the month.\n */\nexport function getMonthEnd(date: Date): Date {\n return new Date(date.getFullYear(), date.getMonth() + 1, 0, 0, 0, 0, 0);\n}\n\n/**\n * Returns a date that is the first day of the year of the provided date.\n * @param date - The origin date\n * @returns A new Date object with the day set to the first day of the year.\n */\nexport function getYearStart(date: Date): Date {\n return new Date(date.getFullYear(), 0, 1, 0, 0, 0, 0);\n}\n\n/**\n * Returns a date that is the last day of the year of the provided date.\n * @param date - The origin date\n * @returns A new Date object with the day set to the last day of the year.\n */\nexport function getYearEnd(date: Date): Date {\n return new Date(date.getFullYear() + 1, 0, 0, 0, 0, 0, 0);\n}\n\n/**\n * Returns a date that is a copy of the given date, aside from the month changing to the given month.\n * The method tries to preserve the day-of-month; however, if the new month does not have enough days\n * to contain the original day-of-month, we'll use the last day of the new month.\n * @param date - The origin date\n * @param month - The 0-based index of the month to set on the date.\n * @returns A new Date object with the given month set.\n */\nexport function setMonth(date: Date, month: number): Date {\n return addMonths(date, month - date.getMonth());\n}\n\n/**\n * Compares two dates, and returns true if the two dates (not accounting for time-of-day) are equal.\n * @returns True if the two dates represent the same date (regardless of time-of-day), false otherwise.\n */\nexport function compareDates(date1: Date, date2: Date): boolean {\n if (!date1 && !date2) {\n return true;\n } else if (!date1 || !date2) {\n return false;\n } else {\n return (\n date1.getFullYear() === date2.getFullYear() &&\n date1.getMonth() === date2.getMonth() &&\n date1.getDate() === date2.getDate()\n );\n }\n}\n\n/**\n * Compare the date parts of two dates\n * @param date1 - The first date to compare\n * @param date2 - The second date to compare\n * @returns A negative value if date1 is earlier than date2, 0 if the dates are equal, or a positive value\n * if date1 is later than date2.\n */\nexport function compareDatePart(date1: Date, date2: Date): number {\n return getDatePartHashValue(date1) - getDatePartHashValue(date2);\n}\n\n/**\n * Gets the date range array including the specified date. The date range array is calculated as the list\n * of dates accounting for the specified first day of the week and date range type.\n * @param date - The input date\n * @param dateRangeType - The desired date range type, i.e., day, week, month, etc.\n * @param firstDayOfWeek - The first day of the week.\n * @param workWeekDays - The allowed days in work week. If not provided, assumes all days are allowed.\n * @param daysToSelectInDayView - The number of days to include when using dateRangeType === DateRangeType.Day\n * for multiday view. Defaults to 1\n * @returns An array of dates representing the date range containing the specified date.\n */\nexport function getDateRangeArray(\n date: Date,\n dateRangeType: DateRangeType,\n firstDayOfWeek: DayOfWeek,\n workWeekDays?: DayOfWeek[],\n daysToSelectInDayView: number = 1,\n): Date[] {\n const datesArray: Date[] = [];\n let startDate: Date;\n let endDate = null;\n\n if (!workWeekDays) {\n workWeekDays = [DayOfWeek.Monday, DayOfWeek.Tuesday, DayOfWeek.Wednesday, DayOfWeek.Thursday, DayOfWeek.Friday];\n }\n\n daysToSelectInDayView = Math.max(daysToSelectInDayView, 1);\n\n switch (dateRangeType) {\n case DateRangeType.Day:\n startDate = getDatePart(date);\n endDate = addDays(startDate, daysToSelectInDayView);\n break;\n\n case DateRangeType.Week:\n case DateRangeType.WorkWeek:\n startDate = getStartDateOfWeek(getDatePart(date), firstDayOfWeek);\n endDate = addDays(startDate, TimeConstants.DaysInOneWeek);\n break;\n\n case DateRangeType.Month:\n startDate = new Date(date.getFullYear(), date.getMonth(), 1);\n endDate = addMonths(startDate, 1);\n break;\n\n default:\n throw new Error('Unexpected object: ' + dateRangeType);\n }\n\n // Populate the dates array with the dates in range\n let nextDate = startDate;\n\n do {\n if (dateRangeType !== DateRangeType.WorkWeek) {\n // push all days not in work week view\n datesArray.push(nextDate);\n } else if (workWeekDays.indexOf(nextDate.getDay()) !== -1) {\n datesArray.push(nextDate);\n }\n nextDate = addDays(nextDate, 1);\n } while (!compareDates(nextDate, endDate));\n\n return datesArray;\n}\n\n/**\n * Checks whether the specified date is in the given date range.\n * @param date - The origin date\n * @param dateRange - An array of dates to do the lookup on\n * @returns True if the date matches one of the dates in the specified array, false otherwise.\n */\nexport function isInDateRangeArray(date: Date, dateRange: Date[]): boolean {\n for (const dateInRange of dateRange) {\n if (compareDates(date, dateInRange)) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * Returns the week number for a date.\n * Week numbers are 1 - 52 (53) in a year\n * @param navigatedDate - A date to find the week number for.\n * @param firstDayOfWeek - The first day of the week (0-6, Sunday = 0)\n * @param firstWeekOfYear - The first week of the year (1-2)\n * @returns The weeks number array for the current month.\n */\nexport function getWeekNumbersInMonth(\n weeksInMonth: number,\n firstDayOfWeek: DayOfWeek,\n firstWeekOfYear: FirstWeekOfYear,\n navigatedDate: Date,\n): number[] {\n const selectedYear = navigatedDate.getFullYear();\n const selectedMonth = navigatedDate.getMonth();\n let dayOfMonth = 1;\n const fistDayOfMonth = new Date(selectedYear, selectedMonth, dayOfMonth);\n const endOfFirstWeek =\n dayOfMonth +\n (firstDayOfWeek + TimeConstants.DaysInOneWeek - 1) -\n adjustWeekDay(firstDayOfWeek, fistDayOfMonth.getDay());\n let endOfWeekRange = new Date(selectedYear, selectedMonth, endOfFirstWeek);\n dayOfMonth = endOfWeekRange.getDate();\n\n const weeksArray = [];\n for (let i = 0; i < weeksInMonth; i++) {\n // Get week number for end of week\n weeksArray.push(getWeekNumber(endOfWeekRange, firstDayOfWeek, firstWeekOfYear));\n dayOfMonth += TimeConstants.DaysInOneWeek;\n endOfWeekRange = new Date(selectedYear, selectedMonth, dayOfMonth);\n }\n return weeksArray;\n}\n\n/**\n * Returns the week number for a date.\n * Week numbers are 1 - 52 (53) in a year\n * @param date - A date to find the week number for.\n * @param firstDayOfWeek - The first day of the week (0-6, Sunday = 0)\n * @param firstWeekOfYear - The first week of the year (1-2)\n * @returns The week's number in the year.\n */\nexport function getWeekNumber(date: Date, firstDayOfWeek: DayOfWeek, firstWeekOfYear: FirstWeekOfYear): number {\n // First four-day week of the year - minumum days count\n const fourDayWeek = 4;\n\n switch (firstWeekOfYear) {\n case FirstWeekOfYear.FirstFullWeek:\n return getWeekOfYearFullDays(date, firstDayOfWeek, TimeConstants.DaysInOneWeek);\n\n case FirstWeekOfYear.FirstFourDayWeek:\n return getWeekOfYearFullDays(date, firstDayOfWeek, fourDayWeek);\n\n default:\n return getFirstDayWeekOfYear(date, firstDayOfWeek);\n }\n}\n\n/**\n * Gets the date for the first day of the week based on the given date assuming\n * the specified first day of the week.\n * @param date - The date to find the beginning of the week date for.\n * @returns A new date object representing the first day of the week containing the input date.\n */\nexport function getStartDateOfWeek(date: Date, firstDayOfWeek: DayOfWeek): Date {\n let daysOffset = firstDayOfWeek - date.getDay();\n if (daysOffset > 0) {\n // If first day of week is > date, go 1 week back, to ensure resulting date is in the past.\n daysOffset -= TimeConstants.DaysInOneWeek;\n }\n return addDays(date, daysOffset);\n}\n\n/**\n * Gets the date for the last day of the week based on the given date assuming\n * the specified first day of the week.\n * @param date - The date to find the beginning of the week date for.\n * @returns A new date object representing the first day of the week containing the input date.\n */\nexport function getEndDateOfWeek(date: Date, firstDayOfWeek: DayOfWeek): Date {\n const lastDayOfWeek = firstDayOfWeek - 1 >= 0 ? firstDayOfWeek - 1 : TimeConstants.DaysInOneWeek - 1;\n let daysOffset = lastDayOfWeek - date.getDay();\n if (daysOffset < 0) {\n // If last day of week is < date, go 1 week forward, to ensure resulting date is in the future.\n daysOffset += TimeConstants.DaysInOneWeek;\n }\n return addDays(date, daysOffset);\n}\n\n/**\n * Gets a new date with the time portion zeroed out, i.e., set to midnight\n * @param date - The origin date\n * @returns A new date with the time set to midnight\n */\nfunction getDatePart(date: Date): Date {\n return new Date(date.getFullYear(), date.getMonth(), date.getDate());\n}\n\n/**\n * Helper function to assist in date comparisons\n */\nexport function getDatePartHashValue(date: Date): number {\n // Generate date hash value created as sum of Date (up to 31 = 5 bits), Month (up to 11 = 4 bits) and Year.\n // eslint-disable-next-line no-bitwise\n return date.getDate() + (date.getMonth() << 5) + (date.getFullYear() << 9);\n}\n\n/**\n * Helper function for `getWeekNumber`.\n * Returns week number for a date.\n * @param date - current selected date.\n * @param firstDayOfWeek - The first day of week (0-6, Sunday = 0)\n * @param numberOfFullDays - week settings.\n * @returns The week's number in the year.\n */\nfunction getWeekOfYearFullDays(date: Date, firstDayOfWeek: DayOfWeek, numberOfFullDays: number): number {\n const dayOfYear = getDayOfYear(date) - 1;\n let num = date.getDay() - (dayOfYear % TimeConstants.DaysInOneWeek);\n\n const lastDayOfPrevYear = new Date(date.getFullYear() - 1, MonthOfYear.December, 31);\n const daysInYear = getDayOfYear(lastDayOfPrevYear) - 1;\n\n let num2 = (firstDayOfWeek - num + 2 * TimeConstants.DaysInOneWeek) % TimeConstants.DaysInOneWeek;\n if (num2 !== 0 && num2 >= numberOfFullDays) {\n num2 -= TimeConstants.DaysInOneWeek;\n }\n\n let num3 = dayOfYear - num2;\n if (num3 < 0) {\n num -= daysInYear % TimeConstants.DaysInOneWeek;\n num2 = (firstDayOfWeek - num + 2 * TimeConstants.DaysInOneWeek) % TimeConstants.DaysInOneWeek;\n if (num2 !== 0 && num2 + 1 >= numberOfFullDays) {\n num2 -= TimeConstants.DaysInOneWeek;\n }\n\n num3 = daysInYear - num2;\n }\n\n return Math.floor(num3 / TimeConstants.DaysInOneWeek + 1);\n}\n\n/**\n * Helper function for `getWeekNumber`.\n * Returns week number for a date.\n * @param date - current selected date.\n * @param firstDayOfWeek - The first day of week (0-6, Sunday = 0)\n * @returns The week's number in the year.\n */\nfunction getFirstDayWeekOfYear(date: Date, firstDayOfWeek: number): number {\n const num = getDayOfYear(date) - 1;\n const num2 = date.getDay() - (num % TimeConstants.DaysInOneWeek);\n const num3 = (num2 - firstDayOfWeek + 2 * TimeConstants.DaysInOneWeek) % TimeConstants.DaysInOneWeek;\n\n return Math.floor((num + num3) / TimeConstants.DaysInOneWeek + 1);\n}\n\n/**\n * Helper function for `getWeekNumber`.\n * Returns adjusted week day number when `firstDayOfWeek` is other than Sunday.\n * For Week Day Number comparison checks\n * @param firstDayOfWeek - The first day of week (0-6, Sunday = 0)\n * @param dateWeekDay - shifts number forward to 1 week in case passed as true\n * @returns The day of week adjusted to `firstDayOfWeek`; e.g. when `firstDayOfWeek` is Monday (1),\n * Sunday becomes 7.\n */\nfunction adjustWeekDay(firstDayOfWeek: DayOfWeek, dateWeekDay: DayOfWeek): number {\n return firstDayOfWeek !== DayOfWeek.Sunday && dateWeekDay < firstDayOfWeek\n ? dateWeekDay + TimeConstants.DaysInOneWeek\n : dateWeekDay;\n}\n\n/**\n * Returns the day number for a date in a year:\n * the number of days since January 1st in the particular year.\n * @param date - A date to find the day number for.\n * @returns The day's number in the year.\n */\nfunction getDayOfYear(date: Date): number {\n const month = date.getMonth();\n const year = date.getFullYear();\n let daysUntilDate = 0;\n\n for (let i = 0; i < month; i++) {\n daysUntilDate += daysInMonth(i + 1, year);\n }\n\n daysUntilDate += date.getDate();\n\n return daysUntilDate;\n}\n\n/**\n * Returns the number of days in the month\n * @param month - The month number to target (months 1-12).\n * @param year - The year to target.\n * @returns The number of days in the month.\n */\nfunction daysInMonth(month: number, year: number): number {\n return new Date(year, month, 0).getDate();\n}\n","/**\n * The days of the week\n * {@docCategory DateTimeUtilities}\n */\nexport enum DayOfWeek {\n Sunday = 0,\n Monday = 1,\n Tuesday = 2,\n Wednesday = 3,\n Thursday = 4,\n Friday = 5,\n Saturday = 6,\n}\n\n/**\n * The months\n * {@docCategory DateTimeUtilities}\n */\nexport enum MonthOfYear {\n January = 0,\n February = 1,\n March = 2,\n April = 3,\n May = 4,\n June = 5,\n July = 6,\n August = 7,\n September = 8,\n October = 9,\n November = 10,\n December = 11,\n}\n\n/**\n * First week of the year settings types\n * {@docCategory DateTimeUtilities}\n */\nexport enum FirstWeekOfYear {\n FirstDay = 0,\n FirstFullWeek = 1,\n FirstFourDayWeek = 2,\n}\n\n/**\n * The supported date range types\n * {@docCategory DateTimeUtilities}\n */\nexport enum DateRangeType {\n Day = 0,\n Week = 1,\n Month = 2,\n WorkWeek = 3,\n}\n\nexport const DAYS_IN_WEEK = 7;\n","import { getParent } from './getParent';\n/**\n * Determines whether or not a parent element contains a given child element.\n * If `allowVirtualParents` is true, this method may return `true` if the child\n * has the parent in its virtual element hierarchy.\n *\n * @public\n */\nexport function elementContains(\n parent: HTMLElement | null,\n child: HTMLElement | null,\n allowVirtualParents: boolean = true,\n): boolean {\n let isContained = false;\n\n if (parent && child) {\n if (allowVirtualParents) {\n if (parent === child) {\n isContained = true;\n } else {\n isContained = false;\n\n while (child) {\n const nextParent: HTMLElement | null = getParent(child);\n\n if (nextParent === parent) {\n isContained = true;\n break;\n }\n\n child = nextParent;\n }\n }\n } else if (parent.contains) {\n isContained = parent.contains(child);\n }\n }\n\n return isContained;\n}\n","import { findElementRecursive } from './findElementRecursive';\n\n/**\n * Determines if an element, or any of its ancestors, contain the given attribute\n * @param element - element to start searching at\n * @param attribute - the attribute to search for\n * @returns the value of the first instance found\n */\nexport function elementContainsAttribute(element: HTMLElement, attribute: string, doc?: Document): string | null {\n const elementMatch = findElementRecursive(\n element,\n (testElement: HTMLElement) => testElement.hasAttribute(attribute),\n doc,\n );\n\n return elementMatch && elementMatch.getAttribute(attribute);\n}\n","import { getParent } from './getParent';\n/**\n * Finds the first parent element where the matchFunction returns true\n * @param element - element to start searching at\n * @param matchFunction - the function that determines if the element is a match\n * @returns the matched element or null no match was found\n */\nexport function findElementRecursive(\n element: HTMLElement | null,\n matchFunction: (element: HTMLElement) => boolean,\n doc?: Document,\n): HTMLElement | null {\n // eslint-disable-next-line no-restricted-globals\n doc ??= document;\n if (!element || element === doc.body || element instanceof Document) {\n return null;\n }\n return matchFunction(element) ? element : findElementRecursive(getParent(element), matchFunction);\n}\n","export const getActiveElement = (doc: Document): Element | null => {\n let ae = doc.activeElement;\n\n while (ae?.shadowRoot) {\n ae = ae.shadowRoot.activeElement;\n }\n\n return ae;\n};\n","import { isVirtualElement } from './isVirtualElement';\n/**\n * Gets the elements which are child elements of the given element.\n * If `allowVirtualChildren` is `true`, this method enumerates virtual child elements\n * after the original children.\n * @param parent - The element to get the children of.\n * @param allowVirtualChildren - true if the method should enumerate virtual child elements.\n */\nexport function getChildren(parent: HTMLElement, allowVirtualChildren: boolean = true): HTMLElement[] {\n const children: HTMLElement[] = [];\n if (parent) {\n for (let i = 0; i < parent.children.length; i++) {\n children.push(parent.children.item(i) as HTMLElement);\n }\n if (allowVirtualChildren && isVirtualElement(parent)) {\n children.push(...parent._virtual.children);\n }\n }\n return children;\n}\n","export const getEventTarget = (event: Event): HTMLElement | null => {\n let target = event.target as HTMLElement;\n if (target && target.shadowRoot) {\n target = event.composedPath()[0] as HTMLElement;\n }\n\n return target;\n};\n","import { getVirtualParent } from './getVirtualParent';\n/**\n * Gets the element which is the parent of a given element.\n * If `allowVirtuaParents` is `true`, this method prefers the virtual parent over\n * real DOM parent when present.\n *\n * @public\n */\nexport function getParent(child: HTMLElement, allowVirtualParents: boolean = true): HTMLElement | null {\n if (!child) {\n return null;\n }\n\n const parent = allowVirtualParents && getVirtualParent(child);\n\n if (parent) {\n return parent;\n }\n\n // Support looking for parents in shadow DOM\n if (typeof (child as HTMLSlotElement).assignedElements !== 'function' && child.assignedSlot?.parentNode) {\n // Element is slotted\n return child.assignedSlot as HTMLElement;\n } else if (child.parentNode?.nodeType === 11) {\n // nodeType 11 is DOCUMENT_FRAGMENT\n // Element is in shadow root\n return (child.parentNode as ShadowRoot).host as HTMLElement;\n } else {\n return child.parentNode as HTMLElement;\n }\n}\n","import { isVirtualElement } from './isVirtualElement';\n/**\n * Gets the virtual parent given the child element, if it exists.\n *\n * @public\n */\nexport function getVirtualParent(child: HTMLElement): HTMLElement | undefined {\n let parent: HTMLElement | undefined;\n if (child && isVirtualElement(child)) {\n parent = child._virtual.parent;\n }\n return parent;\n}\n","import { IVirtualElement } from './IVirtualElement';\n/**\n * Determines whether or not an element has the virtual hierarchy extension.\n *\n * @public\n */\nexport function isVirtualElement(element: HTMLElement | IVirtualElement): element is IVirtualElement {\n return element && !!(element)._virtual;\n}\n","import { findElementRecursive } from './findElementRecursive';\nimport { DATA_PORTAL_ATTRIBUTE } from './setPortalAttribute';\n\n/**\n * Determine whether a target is within a portal from perspective of root or optional parent.\n * This function only works against portal components that use the setPortalAttribute function.\n * If both parent and child are within the same portal this function will return false.\n * @param target - Element to query portal containment status of.\n * @param parent - Optional parent perspective. Search for containing portal stops at parent\n * (or root if parent is undefined or invalid.)\n */\nexport function portalContainsElement(target: HTMLElement, parent?: HTMLElement, doc?: Document): boolean {\n const elementMatch = findElementRecursive(\n target,\n (testElement: HTMLElement) => parent === testElement || !!testElement.hasAttribute?.(DATA_PORTAL_ATTRIBUTE),\n doc,\n );\n return elementMatch !== null && !!elementMatch.hasAttribute?.(DATA_PORTAL_ATTRIBUTE);\n}\n","export const DATA_PORTAL_ATTRIBUTE = 'data-portal-element';\n\n/**\n * Identify element as a portal by setting an attribute.\n * @param element - Element to mark as a portal.\n */\nexport function setPortalAttribute(element: HTMLElement): void {\n element.setAttribute(DATA_PORTAL_ATTRIBUTE, 'true');\n}\n","import { IVirtualElement } from './IVirtualElement';\n/**\n * Sets the virtual parent of an element.\n * Pass `undefined` as the `parent` to clear the virtual parent.\n *\n * @public\n */\nexport function setVirtualParent(child: HTMLElement, parent: HTMLElement | null): void {\n const virtualChild = child;\n const virtualParent = parent;\n\n if (!virtualChild._virtual) {\n virtualChild._virtual = {\n children: [],\n };\n }\n\n const oldParent = virtualChild._virtual.parent;\n\n if (oldParent && oldParent !== parent) {\n // Remove the child from its old parent.\n const index = oldParent._virtual.children.indexOf(virtualChild);\n\n if (index > -1) {\n oldParent._virtual.children.splice(index, 1);\n }\n }\n\n virtualChild._virtual.parent = virtualParent || undefined;\n\n if (virtualParent) {\n if (!virtualParent._virtual) {\n virtualParent._virtual = {\n children: [],\n };\n }\n\n virtualParent._virtual.children.push(virtualChild);\n }\n}\n","import type { IBasePickerStyleProps, IBasePickerStyles, IStyleFunctionOrObject } from '@fluentui/react';\nimport { getInputFocusStyle } from '@fluentui/react';\n\nexport function getBasePickerStyles(\n props: IBasePickerStyleProps,\n): IStyleFunctionOrObject {\n const { theme, isFocused, disabled } = props;\n\n const focusBorderColor = theme?.semanticColors.inputFocusBorderAlt\n ? theme?.semanticColors.inputFocusBorderAlt\n : '#0f6cbd';\n const focusBorderRadius = theme?.effects.roundedCorner4 ? theme?.effects.roundedCorner4 : 4;\n\n const styles: Partial = {\n text: [\n { borderRadius: theme?.effects.roundedCorner4 },\n isFocused && !disabled && getInputFocusStyle(focusBorderColor, focusBorderRadius),\n ],\n };\n\n return styles;\n}\n","import { IButtonProps, IButtonStyles, IStyle, IStyleFunctionOrObject, ITheme } from '@fluentui/react';\nimport { concatStyleSets } from '@fluentui/react';\n\ntype FocusStyleType = {\n '.ms-Fabric--isFocusVisible &:focus::after': {\n border: string;\n borderRadius: string;\n inset: string;\n outline: string;\n };\n};\n\nconst getFocusStyle = (borderColor: string, borderRadius: string, outlineColor: string): FocusStyleType => ({\n '.ms-Fabric--isFocusVisible &:focus::after': {\n border: `1px solid ${borderColor}`,\n borderRadius,\n inset: '1px',\n outline: `2px solid ${outlineColor}`,\n },\n});\n\nfunction getBaseButtonStyles(theme: ITheme): Partial {\n const { effects } = theme;\n\n return {\n root: {\n paddingLeft: '12px',\n paddingRight: '12px',\n borderRadius: effects.roundedCorner4,\n },\n };\n}\n\nexport function getStandardButtonStyles(theme: ITheme): Partial {\n const { effects, palette, semanticColors } = theme;\n\n const styles: Partial = {\n root: {\n borderColor: semanticColors.buttonBorder,\n color: semanticColors.buttonText,\n ...getFocusStyle('transparent', effects.roundedCorner2, semanticColors.focusBorder),\n },\n rootHovered: {\n backgroundColor: semanticColors.buttonBackgroundHovered,\n borderColor: palette.neutralTertiaryAlt,\n color: semanticColors.buttonTextHovered,\n },\n rootPressed: {\n backgroundColor: semanticColors.buttonBackgroundPressed,\n borderColor: palette.neutralTertiary,\n color: semanticColors.buttonTextPressed,\n },\n rootDisabled: {\n backgroundColor: semanticColors.buttonBackgroundDisabled,\n borderColor: semanticColors.buttonBorderDisabled,\n color: semanticColors.buttonTextDisabled,\n },\n };\n\n return styles;\n}\n\nexport function getPrimaryButtonStyles(theme: ITheme): Partial {\n const { effects, palette, semanticColors } = theme;\n\n const styles: Partial = {\n root: {\n backgroundColor: semanticColors.primaryButtonBackground,\n borderColor: semanticColors.primaryButtonBorder,\n color: semanticColors.primaryButtonText,\n ...getFocusStyle(palette.white, effects.roundedCorner2, semanticColors.focusBorder),\n },\n rootHovered: {\n backgroundColor: semanticColors.primaryButtonBackgroundHovered,\n borderColor: semanticColors.primaryButtonBackgroundHovered,\n color: semanticColors.primaryButtonTextHovered,\n },\n rootPressed: {\n backgroundColor: semanticColors.primaryButtonBackgroundPressed,\n borderColor: semanticColors.primaryButtonBackgroundPressed,\n color: semanticColors.primaryButtonTextPressed,\n },\n rootDisabled: {\n backgroundColor: semanticColors.primaryButtonBackgroundDisabled,\n borderColor: semanticColors.primaryButtonBackgroundDisabled,\n color: semanticColors.primaryButtonTextDisabled,\n },\n description: {\n color: semanticColors.primaryButtonText,\n },\n descriptionHovered: {\n color: semanticColors.primaryButtonText,\n },\n };\n\n return styles;\n}\n\nexport function getIconButtonStyles(props: IButtonProps): IStyleFunctionOrObject {\n const { theme } = props;\n const { effects, palette, semanticColors } = theme!;\n\n const styles: Partial = {\n root: {\n borderColor: 'transparent',\n borderRadius: effects.roundedCorner4,\n color: palette.neutralPrimaryAlt,\n ...getFocusStyle('transparent', effects.roundedCorner2, semanticColors.focusBorder),\n },\n rootHovered: {\n backgroundColor: palette.neutralLighter,\n borderColor: palette.neutralLighter,\n color: semanticColors.buttonTextHovered,\n },\n rootPressed: {\n backgroundColor: semanticColors.buttonBackgroundPressed,\n borderColor: semanticColors.buttonBackgroundPressed,\n color: semanticColors.buttonTextPressed,\n },\n rootDisabled: {\n backgroundColor: 'transparent',\n borderColor: 'transparent',\n color: semanticColors.buttonTextDisabled,\n },\n };\n\n return styles;\n}\n\nexport function getDefaultButtonStyles(props: IButtonProps): IStyleFunctionOrObject {\n const { theme, primary, split } = props;\n\n return concatStyleSets(\n getBaseButtonStyles(theme!),\n primary ? getPrimaryButtonStyles(theme!) : getStandardButtonStyles(theme!),\n split && getSplitButtonStyles(theme!),\n );\n}\n\nconst fluent2SplitButtonDividerStyles: IStyle = {\n position: 'relative',\n top: 'unset',\n bottom: 'unset',\n};\n\nexport function getSplitButtonStyles(theme: ITheme): Partial {\n const styles: Partial = {\n splitButtonMenuButton: {\n borderRadius: 'unset',\n borderTopRightRadius: theme?.effects.roundedCorner4,\n borderBottomRightRadius: theme?.effects.roundedCorner4,\n },\n splitButtonDivider: fluent2SplitButtonDividerStyles,\n splitButtonDividerDisabled: fluent2SplitButtonDividerStyles,\n };\n\n return styles;\n}\n","import type { ICheckboxStyleProps, ICheckboxStyles, IStyleFunctionOrObject } from '@fluentui/react';\n\nconst externalPadding = '3px';\n\nconst getTextColor = (props: ICheckboxStyleProps) => {\n const { theme, checked, disabled } = props;\n\n if (disabled) {\n return theme.semanticColors.disabledSubtext;\n }\n\n if (checked) {\n return theme.semanticColors.bodyTextChecked;\n }\n\n return theme.semanticColors.inputPlaceholderText;\n};\n\nconst getBorderColor = (props: ICheckboxStyleProps) => {\n const { theme, checked, disabled } = props;\n\n if (disabled) {\n return theme.semanticColors.disabledBorder;\n }\n\n if (checked) {\n return theme.semanticColors.inputBackgroundChecked;\n }\n\n return theme.semanticColors.inputPlaceholderText;\n};\n\nconst getBackgroundColor = (props: ICheckboxStyleProps) => {\n const { theme, checked, disabled } = props;\n\n if (disabled) {\n return checked ? theme.semanticColors.disabledBorder : theme.semanticColors.inputBackground;\n }\n\n if (checked) {\n return theme.semanticColors.inputBackgroundChecked;\n }\n\n return theme.semanticColors.inputBackground;\n};\n\nconst getHoveredBorderColor = (props: ICheckboxStyleProps) => {\n const { theme, checked, disabled } = props;\n\n if (disabled) {\n return theme.semanticColors.disabledBorder;\n }\n\n if (checked) {\n return theme.semanticColors.inputBackgroundCheckedHovered;\n }\n\n return theme.semanticColors.inputIconHovered;\n};\n\nconst getHoveredBackgroundColor = (props: ICheckboxStyleProps) => {\n const { theme, checked, disabled } = props;\n\n if (disabled) {\n return checked ? theme.semanticColors.disabledBorder : theme.semanticColors.inputBackground;\n }\n\n if (checked) {\n return theme.semanticColors.inputBackgroundCheckedHovered;\n }\n\n return theme.semanticColors.inputBackground;\n};\n\nconst getHoveredTextColor = (props: ICheckboxStyleProps) => {\n const { theme, disabled } = props;\n\n if (disabled) {\n return theme.semanticColors.disabledSubtext;\n }\n\n return theme.semanticColors.inputIconHovered;\n};\n\nconst getCheckmarkColor = (props: ICheckboxStyleProps) => {\n const { theme, disabled } = props;\n\n if (disabled) {\n return theme.semanticColors.buttonTextDisabled;\n }\n\n return undefined;\n};\n\nconst getHoveredCheckmarkColor = (props: ICheckboxStyleProps) => {\n const { theme, disabled, checked } = props;\n\n if (disabled) {\n return theme.semanticColors.buttonTextDisabled;\n }\n\n if (!checked) {\n return theme.semanticColors.inputBackground;\n }\n\n return undefined;\n};\n\nconst getDefaultCheckboxStyles = (props: ICheckboxStyleProps) => {\n return {\n root: {\n '&:hover .ms-Checkbox-checkbox': {\n borderColor: getHoveredBorderColor(props),\n background: getHoveredBackgroundColor(props),\n },\n '&:hover .ms-Checkbox-text': {\n color: getHoveredTextColor(props),\n },\n '&:hover .ms-Checkbox-checkmark': {\n color: getHoveredCheckmarkColor(props),\n },\n },\n label: {\n gap: '4px',\n padding: externalPadding,\n },\n checkbox: {\n margin: 0,\n backgroundColor: getBackgroundColor(props),\n borderColor: getBorderColor(props),\n },\n text: {\n margin: 0,\n color: getTextColor(props),\n },\n checkmark: {\n color: getCheckmarkColor(props),\n },\n };\n};\n\nexport function getCheckboxStyles(\n props: ICheckboxStyleProps,\n): IStyleFunctionOrObject {\n return getDefaultCheckboxStyles(props);\n}\n","import type { IChoiceGroupOptionStyleProps, IChoiceGroupOptionStyles, IStyleFunctionOrObject } from '@fluentui/react';\n\nconst getChoiceGroupOptionColor = (props: IChoiceGroupOptionStyleProps) => {\n const { theme, checked, disabled } = props;\n\n if (disabled) {\n return theme.semanticColors.disabledText;\n } else if (checked) {\n return theme.semanticColors.inputBackgroundChecked;\n } else {\n return theme.semanticColors.inputPlaceholderText;\n }\n};\n\nconst getChoiceGroupTextColor = (props: IChoiceGroupOptionStyleProps) => {\n const { theme, checked, disabled } = props;\n\n if (disabled) {\n return theme.semanticColors.disabledText;\n } else if (checked) {\n return theme.semanticColors.inputIconHovered;\n } else {\n return theme.semanticColors.inputPlaceholderText;\n }\n};\n\nconst getHoveredChoiceGroupOptionColor = (props: IChoiceGroupOptionStyleProps) => {\n const { theme, disabled } = props;\n\n if (disabled) {\n return theme.semanticColors.disabledText;\n } else {\n return theme.semanticColors.inputIconHovered;\n }\n};\n\nconst getInnerCircleColor = (props: IChoiceGroupOptionStyleProps, isHover: boolean) => {\n const { theme, checked, disabled } = props;\n\n if (disabled && checked) {\n return theme.semanticColors.disabledText;\n } else if (checked) {\n if (isHover) {\n return theme.semanticColors.inputBackgroundCheckedHovered;\n }\n\n return theme.semanticColors.inputBackgroundChecked;\n } else {\n return 'transparent';\n }\n};\n\nconst getOuterCircleColor = (props: IChoiceGroupOptionStyleProps, isHover: boolean) => {\n const { theme, checked, disabled } = props;\n\n if (disabled) {\n return theme.semanticColors.disabledText;\n } else if (checked) {\n if (isHover) {\n return theme.semanticColors.inputBackgroundCheckedHovered;\n }\n\n return theme.semanticColors.inputBackgroundChecked;\n } else {\n return theme.semanticColors.inputIconHovered;\n }\n};\n\nconst getTextHoverColor = (props: IChoiceGroupOptionStyleProps) => {\n const { theme, checked, disabled } = props;\n\n if (disabled) {\n return theme.semanticColors.disabledText;\n } else if (checked) {\n return getChoiceGroupTextColor(props);\n } else {\n return theme.semanticColors.inputIconHovered;\n }\n};\n\nexport const getDefaultChoiceGroupOptionStyles = (\n props: IChoiceGroupOptionStyleProps,\n): Partial => {\n return {\n field: {\n color: getChoiceGroupTextColor(props),\n '.ms-ChoiceFieldLabel': {\n color: getChoiceGroupTextColor(props),\n },\n '&:hover .ms-ChoiceFieldLabel': {\n color: getTextHoverColor(props),\n },\n selectors: {\n // The circle\n '::before': {\n borderColor: getChoiceGroupOptionColor(props),\n width: '17px',\n height: '17px',\n margin: '2px',\n },\n // the inner dot\n '::after': {\n width: '11px',\n height: '11px',\n background: getInnerCircleColor(props, false),\n borderColor: getInnerCircleColor(props, false),\n },\n ':hover': {\n color: getHoveredChoiceGroupOptionColor(props),\n },\n ':hover::before': {\n borderColor: getOuterCircleColor(props, true),\n },\n ':hover::after': {\n background: getInnerCircleColor(props, true),\n borderColor: getInnerCircleColor(props, true),\n },\n },\n },\n };\n};\n\nexport function getChoiceGroupOptionStyles(\n props: IChoiceGroupOptionStyleProps,\n): IStyleFunctionOrObject {\n return getDefaultChoiceGroupOptionStyles(props);\n}\n","import { IRawStyle, ITheme } from '@fluentui/react';\nimport { IExtendedSemanticColors } from '../types';\n\nexport const getFluent2InputFocusStyles = (\n theme: ITheme,\n isUnderline: boolean = false,\n isError: boolean = false,\n): IRawStyle => {\n const { semanticColors } = theme;\n\n const bottomBorderFocusColor =\n (semanticColors as IExtendedSemanticColors)?.inputBottomBorderFocus ?? theme.palette.themePrimary;\n\n const focusBottomBorder = `2px solid ${isError ? semanticColors.errorText : bottomBorderFocusColor}`;\n\n return {\n borderColor: semanticColors.focusBorder,\n ':after': {\n borderColor: semanticColors.focusBorder,\n borderBottom: isUnderline ? 'unset' : focusBottomBorder,\n clipPath: 'inset(calc(100% - 2px) 0 0 0)',\n },\n };\n};\n\nexport const getFluent2InputDisabledStyles = (theme: ITheme): IRawStyle => {\n const { semanticColors } = theme;\n return {\n borderRadius: theme?.effects.roundedCorner4,\n border: `1px solid ${semanticColors.disabledBorder}`,\n color: semanticColors.disabledText,\n backgroundColor: 'unset',\n };\n};\n","import type { IStyleFunctionOrObject, ITagItemStyleProps, ITagItemStyles } from '@fluentui/react';\n\nexport function getTagItemStyles(\n props: ITagItemStyleProps,\n): IStyleFunctionOrObject {\n const { theme } = props;\n\n return {\n root: {\n borderRadius: theme.effects.roundedCorner4,\n },\n };\n}\n","import type { IToggleStyleProps, IToggleStyles } from '@fluentui/react';\n\nconst getPillBackgroundColor = (props: IToggleStyleProps) => {\n const { theme, checked, disabled } = props;\n const { semanticColors } = theme;\n\n if (checked) {\n return disabled ? semanticColors.buttonBackgroundDisabled : semanticColors.inputBackgroundChecked;\n } else if (!checked) {\n return semanticColors.primaryButtonBorder;\n }\n\n return undefined;\n};\n\nconst getHoveredPillBackgroundColor = (props: IToggleStyleProps) => {\n const { theme, checked, disabled } = props;\n const { semanticColors } = theme;\n\n if (checked) {\n return disabled ? semanticColors.buttonBackgroundDisabled : semanticColors.inputBackgroundCheckedHovered;\n } else if (!checked) {\n return semanticColors.primaryButtonBorder;\n }\n\n return undefined;\n};\n\nconst getPressedPillBackgroundColor = (props: IToggleStyleProps) => {\n const { theme, checked, disabled } = props;\n const { semanticColors } = theme;\n\n if (checked) {\n return disabled ? semanticColors.disabledBackground : semanticColors.primaryButtonBackgroundPressed;\n } else if (!checked) {\n return semanticColors.primaryButtonBorder;\n }\n\n return undefined;\n};\n\nconst getLabelColor = (props: IToggleStyleProps) => {\n const { theme, disabled } = props;\n const { semanticColors } = theme;\n\n return disabled ? semanticColors.disabledBodySubtext : semanticColors.inputText;\n};\n\nexport const getToggleStyles = (props: IToggleStyleProps): Partial => {\n const { theme, disabled } = props;\n const { semanticColors, effects } = theme;\n\n return {\n root: {},\n label: {\n color: getLabelColor(props),\n },\n thumb: {\n width: '14px',\n height: '14px',\n backgroundColor: disabled ? semanticColors.inputIconDisabled : undefined,\n },\n container: {},\n pill: {\n backgroundColor: getPillBackgroundColor(props),\n '&:hover': {\n backgroundColor: getHoveredPillBackgroundColor(props),\n },\n '&:active': {\n backgroundColor: getPressedPillBackgroundColor(props),\n },\n '&:focus&:after': {\n borderRadius: effects.roundedCorner4,\n outlineWidth: '2px',\n },\n },\n text: {},\n };\n};\n","import type { ISettings } from '@fluentui/react';\n\nimport { getBasePickerStyles } from './componentStyles/BasePicker.styles';\nimport { getBreadcrumbStyles } from './componentStyles/Breadcrumb.styles';\nimport { getDefaultButtonStyles, getIconButtonStyles } from './componentStyles/Button.styles';\nimport { getCalloutContentStyles } from './componentStyles/Callout.styles';\nimport { getCheckboxStyles } from './componentStyles/Checkbox.styles';\nimport { getChoiceGroupStyles } from './componentStyles/ChoiceGroup.styles';\nimport { getChoiceGroupOptionStyles } from './componentStyles/ChoiceGroupOption.styles';\nimport { getColorPickerGridCellStyles } from './componentStyles/ColorPickerGridStyles.styles';\nimport { getCommandBarStyles } from './componentStyles/CommandBar.styles';\nimport { getCommandBarButtonStyles } from './componentStyles/CommandBarButton.styles';\nimport { getContextualMenuStyles } from './componentStyles/ContextualMenu.styles';\nimport { getDialogContentStyles, getDialogStyles } from './componentStyles/Dialog.styles';\nimport { getDropdownStyles } from './componentStyles/Dropdown.styles';\nimport { getMessageBarStyles } from './componentStyles/MessageBar.styles';\nimport { getModalStyles } from './componentStyles/Modal.styles';\nimport { getPivotStyles } from './componentStyles/Pivot.styles';\nimport { getSearchBoxStyles } from './componentStyles/SearchBox.styles';\nimport { getSliderStyles } from './componentStyles/Slider.styles';\nimport { getSpinButtonStyles } from './componentStyles/SpinButton.styles';\nimport { getSpinnerStyles } from './componentStyles/Spinner.styles';\nimport { getTagItemStyles } from './componentStyles/TagItem.styles';\nimport { getTextFieldStyles } from './componentStyles/TextField.styles';\nimport { getToggleStyles } from './componentStyles/Toggle.styles';\nimport { getDetailsRowCheckStyles } from './componentStyles/DetailsRowCheck.styles';\nimport { getCheckStyles } from './componentStyles/Check.styles';\nexport const fluent2ComponentStyles: { [key: string]: ISettings } = {\n Breadcrumb: {\n styles: getBreadcrumbStyles,\n },\n CalloutContent: {\n styles: getCalloutContentStyles,\n },\n Check: {\n styles: getCheckStyles,\n },\n Checkbox: {\n styles: getCheckboxStyles,\n },\n ChoiceGroup: {\n styles: getChoiceGroupStyles,\n },\n ChoiceGroupOption: {\n styles: getChoiceGroupOptionStyles,\n },\n ColorPickerGridCell: {\n styles: getColorPickerGridCellStyles,\n },\n CommandBar: {\n styles: getCommandBarStyles,\n },\n CommandBarButton: {\n styles: getCommandBarButtonStyles,\n },\n CompoundButton: {\n styles: getDefaultButtonStyles,\n },\n ContextualMenu: {\n styles: getContextualMenuStyles,\n },\n DefaultButton: {\n styles: getDefaultButtonStyles,\n },\n DetailRowCheck: {\n styles: getDetailsRowCheckStyles,\n },\n Dialog: {\n styles: getDialogStyles,\n },\n DialogContent: {\n styles: getDialogContentStyles,\n },\n Dropdown: {\n styles: getDropdownStyles,\n },\n IconButton: {\n styles: getIconButtonStyles,\n },\n MessageBar: {\n styles: getMessageBarStyles,\n },\n Modal: {\n styles: getModalStyles,\n },\n Pivot: {\n styles: getPivotStyles,\n },\n // People Pickers\n NormalPeoplePicker: {\n styles: getBasePickerStyles,\n },\n CompactPeoplePicker: {\n styles: getBasePickerStyles,\n },\n ListPeoplePickerBase: {\n styles: getBasePickerStyles,\n },\n SearchBox: {\n styles: getSearchBoxStyles,\n },\n Slider: {\n styles: getSliderStyles,\n },\n SpinButton: {\n styles: getSpinButtonStyles,\n },\n Spinner: {\n styles: getSpinnerStyles,\n },\n TagItem: {\n styles: getTagItemStyles,\n },\n TagPicker: {\n styles: getBasePickerStyles,\n },\n Tag: {\n styles: getTagItemStyles,\n },\n TextField: {\n styles: getTextFieldStyles,\n },\n Toggle: {\n styles: getToggleStyles,\n },\n};\n","import type { IBreadcrumbStyleProps, IBreadcrumbStyles, IStyleFunctionOrObject } from '@fluentui/react';\n\nexport function getBreadcrumbStyles(\n props: IBreadcrumbStyleProps,\n): IStyleFunctionOrObject {\n const { theme } = props;\n const { effects } = theme;\n\n const styles: Partial = {\n itemLink: {\n borderRadius: effects.roundedCorner4,\n '.ms-Fabric--isFocusVisible &:focus::after': {\n borderRadius: effects.roundedCorner4,\n },\n },\n };\n\n return styles;\n}\n","import type { ICalloutContentStyleProps, ICalloutContentStyles, IStyleFunctionOrObject } from '@fluentui/react';\n\nexport function getCalloutContentStyles(\n props: ICalloutContentStyleProps,\n): IStyleFunctionOrObject {\n const { theme } = props;\n const { effects } = theme;\n\n const styles: Partial = {\n root: {\n borderRadius: effects.roundedCorner4,\n },\n calloutMain: {\n borderRadius: effects.roundedCorner4,\n },\n beakCurtain: {\n borderRadius: effects.roundedCorner4,\n },\n };\n\n return styles;\n}\n","import type { ICheckStyleProps, ICheckStyles } from '@fluentui/react';\nimport { FontWeights, warn } from '@fluentui/react';\n\nexport const getCheckStyles = ({ checked, theme }: ICheckStyleProps): Partial => {\n const extendedTheme = theme;\n\n if (!extendedTheme) {\n warn('Theme is undefined or null.');\n }\n\n return {\n root: [\n {\n cursor: 'pointer',\n width: '16px',\n height: '16px',\n '::before': {\n transition: 'all ease-in-out 200ms',\n // Because the ::before element is layering on top of CircleRing border, we are increasing the border\n // radius here to 3px, so it doesn’t compete. When both are 2px, the contour might look fuzzy.\n borderRadius: '3px',\n backgroundColor: 'transparent',\n inset: 0,\n height: '100%',\n width: '100%',\n },\n },\n checked && {\n ':hover': {\n '::before': {\n backgroundColor: theme.semanticColors.inputBackgroundCheckedHovered,\n },\n '[data-icon-name=\"CircleRing\"]': {\n borderColor: theme.semanticColors.inputBackgroundCheckedHovered,\n },\n },\n '::before': {\n backgroundColor: theme.semanticColors.inputBackgroundChecked,\n },\n '[data-icon-name=\"StatusCircleCheckmark\"]': {\n opacity: 1,\n },\n },\n ],\n check: [\n {\n fontSize: '18px',\n lineHeight: '16px',\n margin: '0',\n width: '16px',\n height: '16px',\n fontWeight: FontWeights.regular,\n transition: 'opacity ease-in-out 100ms',\n opacity: 0,\n boxSizing: 'border-box',\n },\n checked && {\n color: 'white', // Intended to be white in all themes (dark and light modes)\n },\n ],\n circle: [\n {\n fontSize: 0,\n width: '16px',\n height: '16px',\n borderRadius: 2,\n borderColor: theme.semanticColors.inputBorder,\n borderWidth: '1px',\n borderStyle: 'solid',\n transition: 'all ease-in-out 200ms',\n boxSizing: 'border-box',\n },\n checked && {\n color: theme.semanticColors.bodyTextChecked,\n borderColor: theme.semanticColors.inputBackgroundChecked,\n },\n ],\n };\n};\n","import type { IChoiceGroupStyleProps, IChoiceGroupStyles, IStyleFunctionOrObject } from '@fluentui/react';\n\nconst getDefaultChoiceGroupStyles = (props: IChoiceGroupStyleProps) => {\n const { theme } = props;\n\n return {\n root: {},\n label: {\n color: theme.semanticColors.inputPlaceholderText,\n },\n flexContainer: {},\n };\n};\n\nexport function getChoiceGroupStyles(\n props: IChoiceGroupStyleProps,\n): IStyleFunctionOrObject {\n return getDefaultChoiceGroupStyles(props);\n}\n","import type {\n IColorPickerGridCellStyleProps,\n IColorPickerGridCellStyles,\n IStyleFunctionOrObject,\n} from '@fluentui/react';\nimport { IExtendedEffects } from '../types';\n\nexport function getColorPickerGridCellStyles(\n props: IColorPickerGridCellStyleProps,\n): IStyleFunctionOrObject {\n const { theme, circle, height, width } = props;\n const { effects } = theme;\n\n let borderRadiusStyle = { borderRadius: effects.roundedCorner2 };\n\n if ((height && height > 32 && height <= 64) || (width && width > 32 && width <= 64)) {\n borderRadiusStyle = { borderRadius: effects.roundedCorner4 };\n } else if ((height && height > 64) || (width && width > 64)) {\n const largestRadius = (effects as IExtendedEffects).roundedCorner8 ?? '8px';\n\n borderRadiusStyle = {\n borderRadius: largestRadius,\n };\n }\n\n const styles: Partial = {\n colorCell: [!circle && borderRadiusStyle],\n svg: [!circle && borderRadiusStyle],\n };\n\n return styles;\n}\n","import type { ICommandBarStyleProps, ICommandBarStyles, IStyleFunctionOrObject } from '@fluentui/react';\nimport { IExtendedEffects } from '../types';\n\nexport function getCommandBarStyles(\n props: ICommandBarStyleProps,\n): IStyleFunctionOrObject {\n const { theme } = props;\n const { effects } = theme;\n\n const styles: Partial = {\n root: {\n height: '48px',\n borderRadius: (effects as IExtendedEffects).roundedCorner8,\n alignItems: 'center',\n },\n primarySet: {\n height: '40px',\n },\n secondarySet: {\n height: '40px',\n },\n };\n\n return styles;\n}\n","import type { IButtonProps, IButtonStyles, IStyleFunctionOrObject, ITheme } from '@fluentui/react';\n\nexport function getCommandBarButtonStyles(props: IButtonProps): IStyleFunctionOrObject {\n const { theme } = props;\n const { semanticColors, effects } = theme!;\n\n const rightCorners = {\n borderRadius: 0,\n borderTopRightRadius: effects.roundedCorner4,\n borderBottomRightRadius: effects.roundedCorner4,\n };\n\n const leftCorners = {\n borderRadius: 0,\n borderTopLeftRadius: effects.roundedCorner4,\n borderBottomLeftRadius: effects.roundedCorner4,\n };\n\n const commandBarHeightPadding = {\n height: 32,\n paddingLeft: 4,\n paddingRight: 4,\n };\n\n const defaultSplitStyles: Partial = getSplitButtonStyles(theme!);\n\n const styles: Partial = {\n root: {\n backgroundColor: 'transparent',\n height: '100%',\n padding: '0px',\n margin: '0px 2px',\n borderRadius: effects.roundedCorner4,\n '.ms-Fabric--isFocusVisible &:focus::after': {\n top: 4,\n right: 0,\n bottom: 4,\n left: 0,\n outline: 'none',\n borderRadius: effects.roundedCorner4,\n border: `2px solid ${semanticColors.focusBorder}`,\n },\n },\n rootHovered: {\n backgroundColor: 'transparent',\n '.ms-Button-flexContainer': {\n backgroundColor: semanticColors.buttonBackgroundHovered,\n },\n },\n rootPressed: {\n backgroundColor: 'transparent',\n '.ms-Button-flexContainer': {\n backgroundColor: semanticColors.buttonBackgroundPressed,\n },\n },\n rootExpanded: {\n backgroundColor: 'transparent',\n color: 'inherit',\n '.ms-Button-flexContainer': {\n backgroundColor: 'transparent',\n },\n },\n rootChecked: {\n backgroundColor: 'transparent',\n '.ms-Button-flexContainer': {\n backgroundColor: semanticColors.buttonBackgroundChecked,\n },\n },\n rootCheckedHovered: {\n backgroundColor: 'transparent',\n '.ms-Button-flexContainer': {\n backgroundColor: semanticColors.buttonBackgroundCheckedHovered,\n },\n },\n rootCheckedPressed: {\n backgroundColor: 'transparent',\n '.ms-Button-flexContainer': {\n backgroundColor: semanticColors.buttonBackgroundPressed,\n },\n },\n rootExpandedHovered: {\n backgroundColor: 'transparent',\n '.ms-Button-flexContainer': {\n backgroundColor: semanticColors.buttonBackgroundHovered,\n },\n },\n flexContainer: {\n height: 32,\n paddingLeft: 4,\n paddingRight: 4,\n borderRadius: effects.roundedCorner4,\n },\n icon: {\n color: 'inherit',\n },\n menuIcon: {\n color: 'inherit',\n fontSize: '10px',\n },\n rootDisabled: {\n backgroundColor: 'transparent',\n },\n textContainer: {\n height: 16,\n },\n ...defaultSplitStyles,\n splitButtonContainer: {\n borderRadius: effects.roundedCorner4,\n color: semanticColors.buttonText,\n '.ms-Button:first-child': {\n '.ms-Button-flexContainer': {\n ...leftCorners,\n ...commandBarHeightPadding,\n },\n },\n },\n splitButtonMenuButton: {\n ...rightCorners,\n height: '100%',\n padding: '0px',\n width: 20,\n marginLeft: '-2px',\n backgroundColor: 'transparent',\n '.ms-Button-flexContainer': {\n ...rightCorners,\n ...commandBarHeightPadding,\n },\n '&:hover': {\n backgroundColor: 'transparent',\n '.ms-Button-flexContainer': {\n backgroundColor: semanticColors.buttonBackgroundHovered,\n },\n },\n },\n splitButtonContainerFocused: {\n ':focus::after': {\n inset: `4px 0px`,\n outline: `none`,\n borderRadius: effects.roundedCorner4,\n border: `2px solid ${semanticColors.focusBorder}`,\n },\n },\n splitButtonMenuButtonExpanded: {\n backgroundColor: 'transparent',\n '.ms-Button-flexContainer': {\n backgroundColor: semanticColors.buttonBackgroundChecked,\n },\n '&:hover': {\n backgroundColor: 'transparent',\n '.ms-Button-flexContainer': {\n backgroundColor: semanticColors.buttonBackgroundCheckedHovered,\n },\n },\n },\n splitButtonFlexContainer: {\n border: 'none',\n },\n };\n\n return styles;\n}\n\n// This function will be moved to Button.styles.ts in another PR to add default split button styling\nfunction getSplitButtonStyles(theme: ITheme): Partial {\n const { effects, semanticColors } = theme;\n\n const rightCorners = {\n borderRadius: 0,\n borderTopRightRadius: effects.roundedCorner4,\n borderBottomRightRadius: effects.roundedCorner4,\n };\n\n const leftCorners = {\n borderRadius: 0,\n borderTopLeftRadius: effects.roundedCorner4,\n borderBottomLeftRadius: effects.roundedCorner4,\n };\n\n const styles: Partial = {\n splitButtonContainer: {\n borderRadius: effects.roundedCorner4,\n color: semanticColors.buttonText,\n '.ms-Button:first-child': {\n ...leftCorners,\n height: '100%',\n },\n '.ms-Button--primary:hover': {\n border: `none`,\n },\n },\n splitButtonMenuButton: {\n ...rightCorners,\n height: '100%',\n padding: '0px',\n width: 20,\n },\n splitButtonContainerFocused: {\n ':focus::after': {\n inset: '0px',\n outline: `none`,\n borderRadius: effects.roundedCorner4,\n border: `2px solid ${semanticColors.focusBorder}`,\n },\n },\n splitButtonMenuFocused: {\n ':focus::after': {\n inset: '0px',\n outline: `none`,\n border: `2px solid ${semanticColors.focusBorder}`,\n ...rightCorners,\n },\n },\n splitButtonDivider: {\n right: 19,\n },\n splitButtonDividerDisabled: {\n right: 19,\n },\n };\n\n return styles;\n}\n","import type { IContextualMenuStyleProps, IContextualMenuStyles, IStyleFunctionOrObject } from '@fluentui/react';\n\nexport function getContextualMenuStyles(\n props: IContextualMenuStyleProps,\n): IStyleFunctionOrObject {\n const { theme } = props;\n const { effects } = theme;\n\n const styles: Partial = {\n root: {\n borderRadius: effects.roundedCorner4,\n boxShadow: effects.elevation8,\n },\n container: {\n borderRadius: effects.roundedCorner4,\n },\n list: {\n padding: '4px',\n },\n subComponentStyles: {\n callout: {},\n menuItem: {\n root: {\n borderRadius: effects.roundedCorner2,\n '&:after': {\n borderRadius: effects.roundedCorner2,\n },\n },\n divider: {\n margin: '4px',\n },\n icon: {\n color: 'inherit',\n },\n },\n },\n };\n\n return styles;\n}\n","import type { IDetailsRowCheckStyles } from '@fluentui/react';\n\nexport const getDetailsRowCheckStyles = (): Partial => ({\n check: [\n {\n opacity: 1,\n },\n ],\n});\n","import type {\n IDialogContentStyleProps,\n IDialogContentStyles,\n IDialogStyleProps,\n IDialogStyles,\n IStyleFunctionOrObject,\n} from '@fluentui/react';\nimport { IExtendedEffects } from '../types';\n\nexport function getDialogStyles(props: IDialogStyleProps): IStyleFunctionOrObject {\n const { theme } = props;\n const { effects } = theme;\n\n const styles: Partial = {\n main: {\n borderRadius: (effects as IExtendedEffects).roundedCorner8,\n boxShadow: effects.elevation64,\n },\n };\n\n return styles;\n}\n\nexport function getDialogContentStyles(\n props: IDialogContentStyleProps,\n): IStyleFunctionOrObject {\n const { theme } = props;\n const { effects } = theme;\n\n const styles: Partial = {\n topButton: {\n '&:hover': {\n '.ms-Dialog-button': {\n borderRadius: effects.roundedCorner4,\n },\n },\n },\n button: {\n borderRadius: effects.roundedCorner4,\n },\n };\n\n return styles;\n}\n","import { IDropdownStyleProps, IDropdownStyles, IStyleFunctionOrObject } from '@fluentui/react';\nimport { FontWeights } from '@fluentui/react';\nimport { IExtendedSemanticColors } from '../types';\nimport { getFluent2InputDisabledStyles } from './inputStyleHelpers.utils';\n\nexport function getDropdownStyles(\n props: IDropdownStyleProps,\n): IStyleFunctionOrObject {\n const { theme, disabled } = props;\n const { semanticColors, palette } = theme!;\n\n const bottomBorderFocusColor =\n (semanticColors as IExtendedSemanticColors)?.inputBottomBorderFocus ?? palette.themePrimary;\n\n const focusBottomBorder = `2px solid ${bottomBorderFocusColor}`;\n\n return {\n dropdown: [\n disabled && getFluent2InputDisabledStyles(theme!),\n !disabled && {\n selectors: {\n '&:focus:after': [\n {\n borderRadius: theme?.effects.roundedCorner4,\n borderColor: semanticColors.focusBorder,\n borderBottom: focusBottomBorder,\n clipPath: 'inset(calc(100% - 2px) 0 0 0)',\n },\n ],\n },\n },\n ],\n title: [{ borderRadius: theme?.effects.roundedCorner4 }, disabled && { backgroundColor: 'unset' }],\n caretDown: { color: theme?.palette.neutralQuaternary },\n label: { fontWeight: FontWeights.regular },\n };\n}\n","import type { IMessageBarStyleProps, IMessageBarStyles } from '@fluentui/react';\n\nexport const fullWidthMessageBarStyle: Partial = {\n root: {\n borderRadius: '0',\n },\n};\n\nexport const getMessageBarStyles = (props: IMessageBarStyleProps): IMessageBarStyles => {\n const { theme } = props;\n const { effects } = theme;\n\n return {\n root: {\n borderRadius: effects.roundedCorner4,\n },\n };\n};\n","import type { IModalStyleProps, IModalStyles, IStyleFunctionOrObject } from '@fluentui/react';\nimport { IExtendedEffects } from '../types';\n\nexport function getModalStyles(props: IModalStyleProps): IStyleFunctionOrObject {\n const { theme } = props;\n const { effects } = theme;\n\n const styles: Partial = {\n main: {\n borderRadius: (effects as IExtendedEffects).roundedCorner8,\n boxShadow: effects.elevation64,\n },\n };\n\n return styles;\n}\n","import type { IPivotStyleProps, IPivotStyles, IStyleFunctionOrObject } from '@fluentui/react';\n\nexport function getPivotStyles(props: IPivotStyleProps): IStyleFunctionOrObject {\n const { theme } = props;\n const { effects, semanticColors } = theme;\n\n return {\n link: {\n backgroundColor: 'transparent',\n border: '2px solid transparent',\n borderRadius: effects.roundedCorner4,\n height: '44px',\n lineHeight: '20px',\n marginRight: 0,\n padding: '12px',\n '&:hover::before': {\n borderRadius: effects.roundedCorner4,\n height: '3px',\n // backgroundColor: rootIsTabs ? 'transparent' : palette.neutralQuaternary,\n },\n '&:hover': {\n '.ms-Pivot-icon': {\n // color: rootIsTabs ? semanticColors.primaryButtonText : palette.themePrimary,\n },\n },\n '.ms-Fabric--isFocusVisible &:focus': {\n border: `2px solid ${semanticColors.focusBorder}`,\n borderRadius: effects.roundedCorner4,\n inset: 0,\n outline: 'none',\n },\n },\n icon: {\n height: '14px',\n width: '14px',\n },\n linkIsSelected: {\n border: '2px solid transparent',\n borderRadius: effects.roundedCorner4,\n height: '44px',\n lineHeight: '20px',\n marginRight: 0,\n padding: '12px',\n '&::before': {\n borderRadius: effects.roundedCorner4,\n height: '3px',\n },\n '.ms-Fabric--isFocusVisible &:focus': {\n border: `2px solid ${semanticColors.focusBorder}`,\n borderRadius: effects.roundedCorner4,\n inset: 0,\n outline: 'none',\n },\n '.ms-Pivot-icon': {\n // color: rootIsTabs ? semanticColors.primaryButtonText : palette.themePrimary,\n },\n },\n };\n}\n","import type { ISearchBoxStyleProps, ISearchBoxStyles, IStyleFunctionOrObject } from '@fluentui/react';\nimport { getFluent2InputDisabledStyles, getFluent2InputFocusStyles } from './inputStyleHelpers.utils';\n\nexport function getSearchBoxStyles(\n props: ISearchBoxStyleProps,\n): IStyleFunctionOrObject {\n const { hasFocus, underlined, disabled, theme } = props;\n const { palette, semanticColors } = theme;\n\n const restBottomBorder = `1px solid ${palette.neutralPrimary}`;\n\n const styles: Partial = {\n root: [\n {\n borderRadius: underlined ? 0 : theme.effects.roundedCorner4,\n borderBottom: restBottomBorder,\n },\n\n hasFocus && [\n 'is-active',\n {\n position: 'relative',\n borderColor: 'unset',\n },\n getFluent2InputFocusStyles(theme),\n ],\n\n disabled && [\n 'is-disabled',\n getFluent2InputDisabledStyles(theme),\n { borderBottom: `1px solid ${semanticColors.disabledBorder}` },\n ],\n ],\n field: [\n disabled && {\n '::placeholder': {\n color: semanticColors.disabledText,\n },\n },\n ],\n iconContainer: [\n {\n color: theme.palette.neutralPrimary,\n },\n disabled && [\n 'is-disabled',\n {\n color: semanticColors.disabledText,\n },\n ],\n ],\n };\n\n return styles;\n}\n","import type { ISliderStyleProps, ISliderStyles, IStyleFunctionOrObject } from '@fluentui/react';\nimport { getRTL } from '@fluentui/react';\n\nexport const fluent2SliderThumbSize = 20;\n\nexport function getSliderStyles(props: ISliderStyleProps): IStyleFunctionOrObject {\n const { theme, vertical, disabled } = props;\n const { semanticColors } = theme;\n\n const slideBoxInactiveSectionStyles = !disabled\n ? {\n backgroundColor: semanticColors.smallInputBorder,\n }\n : undefined;\n\n const activeSectionStyles = !disabled\n ? {\n backgroundColor: semanticColors.primaryButtonBackgroundHovered,\n }\n : undefined;\n\n const thumbActiveStyles = !disabled\n ? {\n border: '1px solid ' + semanticColors.smallInputBorder,\n }\n : undefined;\n\n // since the thumb is now a little bigger,\n // we need to use margin to recenter it in the track\n const thumbMargin = -8;\n\n const styles: Partial = {\n thumb: [\n {\n background: !disabled ? semanticColors.primaryButtonBackground : semanticColors.disabledBorder,\n boxShadow: `0 0 0 4px ${semanticColors.buttonBackground} inset`,\n borderWidth: 1,\n borderColor: semanticColors.disabledBorder,\n height: fluent2SliderThumbSize,\n width: fluent2SliderThumbSize,\n ':hover': {\n backgroundColor: !disabled ? semanticColors.primaryButtonBackgroundHovered : semanticColors.disabledBorder,\n },\n },\n vertical\n ? {\n left: thumbMargin,\n margin: '0 auto',\n transform: 'translateY(8px)',\n }\n : {\n top: thumbMargin,\n transform: getRTL(theme) ? 'translateX(50%)' : 'translateX(-50%)',\n },\n ],\n activeSection: [\n {\n background: !disabled ? semanticColors.primaryButtonBackground : semanticColors.disabledBorder,\n },\n ],\n inactiveSection: {\n backgroundColor: !disabled ? semanticColors.smallInputBorder : semanticColors.buttonBackgroundDisabled,\n },\n slideBox: [\n {\n [`:active .ms-Slider-inactive`]: slideBoxInactiveSectionStyles,\n [`:hover .ms-Slider-inactive`]: slideBoxInactiveSectionStyles,\n [`:active .ms-Slider-active`]: activeSectionStyles,\n [`:hover .ms-Slider-active`]: activeSectionStyles,\n [':active .' + 'ms-Slider-thumb']: thumbActiveStyles,\n [':hover .' + 'ms-Slider-thumb']: thumbActiveStyles,\n },\n ],\n };\n\n return styles;\n}\n","import type { ISpinButtonStyleProps, ISpinButtonStyles, IStyleFunctionOrObject } from '@fluentui/react';\nimport { FontWeights } from '@fluentui/react';\n\nexport function getSpinButtonStyles(\n props: ISpinButtonStyleProps,\n): IStyleFunctionOrObject {\n const { theme, isFocused, disabled } = props;\n const { semanticColors } = theme;\n const SpinButtonRootBorderColorFocused = semanticColors.disabledBorder; // sorry for the broken semantics\n let SpinButtonRootBorderColor = semanticColors.inputBorder;\n let SpinButtonBorderBottomColor = isFocused ? theme.palette.themePrimary : theme.palette.neutralPrimary;\n\n if (disabled) {\n SpinButtonBorderBottomColor = semanticColors.disabledBorder;\n SpinButtonRootBorderColor = semanticColors.disabledBorder;\n }\n\n const styles: Partial = {\n label: {\n fontWeight: FontWeights.regular,\n },\n input: {\n backgroundColor: 'unset',\n },\n spinButtonWrapper: [\n {\n borderBottomColor: SpinButtonBorderBottomColor,\n backgroundColor: 'unset',\n },\n {\n // setting border using pseudo-element here in order to prevent:\n // input and chevron buttons to overlap border under certain resolutions\n ':after': {\n pointerEvents: 'none',\n content: \"''\",\n position: 'absolute',\n left: 0,\n top: 0,\n bottom: 0,\n right: 0,\n borderWidth: '1px',\n borderStyle: 'solid',\n borderColor: SpinButtonRootBorderColor,\n borderBottomColor: SpinButtonBorderBottomColor,\n borderRadius: theme.effects.roundedCorner4,\n },\n },\n !disabled && [\n {\n ':hover :': {\n ':after': {\n borderStyle: 'solid',\n borderColor: SpinButtonRootBorderColorFocused,\n borderBottom: theme.palette.themePrimary,\n borderWidth: '1px',\n },\n },\n },\n isFocused && [\n {\n ':hover:after, :after': {\n borderStyle: 'solid',\n borderColor: SpinButtonRootBorderColorFocused,\n borderBottomColor: SpinButtonBorderBottomColor,\n borderWidth: '1px',\n },\n },\n ],\n ],\n ],\n };\n\n return styles;\n}\n","import { ISpinnerStyleProps, ISpinnerStyles, IStyleFunctionOrObject, SpinnerSize } from '@fluentui/react';\nimport { FontWeights } from '@fluentui/react';\n\nexport function getSpinnerStyles(\n props: ISpinnerStyleProps,\n): IStyleFunctionOrObject {\n const { theme, size } = props;\n\n const styles: Partial = {\n label: [theme.fonts.mediumPlus, { color: theme.semanticColors.bodyText, fontWeight: FontWeights.semibold }],\n circle: [\n {\n borderWidth: 3,\n },\n size === SpinnerSize.large && {\n height: 36,\n width: 36,\n },\n size === SpinnerSize.medium && {\n // default\n height: 32,\n width: 32,\n },\n size === SpinnerSize.small && {\n height: 28,\n width: 28,\n },\n size === SpinnerSize.xSmall && {\n height: 24,\n width: 24,\n },\n ],\n };\n\n return styles;\n}\n","import type { IStyleFunctionOrObject, ITextFieldStyleProps, ITextFieldStyles } from '@fluentui/react';\nimport { FontWeights } from '@fluentui/react';\nimport { getFluent2InputDisabledStyles, getFluent2InputFocusStyles } from './inputStyleHelpers.utils';\n\nexport function getTextFieldStyles(\n props: ITextFieldStyleProps,\n): IStyleFunctionOrObject {\n const { theme, focused, borderless, underlined, hasErrorMessage, disabled } = props;\n const { effects, semanticColors, palette } = theme;\n\n const unsetBackgroundColor = { backgroundColor: 'unset' };\n\n const borderBottomColor = hasErrorMessage ? semanticColors.errorText : palette.neutralPrimary;\n\n const restBottomBorder = borderless || underlined ? 'unset' : `1px solid ${borderBottomColor}`;\n\n const styles: Partial = {\n subComponentStyles: {\n label: {\n root: {\n fontWeight: FontWeights.regular,\n },\n },\n },\n prefix: unsetBackgroundColor,\n suffix: unsetBackgroundColor,\n field: [\n focused && {\n border: 'unset',\n ':after': {\n border: 'unset',\n },\n },\n disabled && {\n backgroundColor: 'unset',\n },\n {\n borderRadius: effects.roundedCorner4,\n ':after': {\n borderRadius: effects.roundedCorner4,\n },\n },\n ],\n fieldGroup: [\n {\n borderBottom: restBottomBorder,\n borderRadius: effects.roundedCorner4,\n ':after': {\n borderRadius: effects.roundedCorner4,\n },\n },\n focused && getFluent2InputFocusStyles(theme, underlined, hasErrorMessage),\n disabled && getFluent2InputDisabledStyles(theme),\n disabled && { borderBottom: `1px solid ${semanticColors.disabledText}` },\n ],\n };\n\n return styles;\n}\n","import { IPalette } from '@fluentui/react';\n\n/**\n * Shared colors from the Fluent 2 global palettes mapped to the v8 shared colors.\n * The mappings are based on closest color match available as semantic name.\n */\nexport const fluent2SharedColors: Partial = {\n yellowDark: '#d39300', // sharedColors.marigold.shade10\n yellow: '#fde300', // sharedColors.yellow.primary\n yellowLight: '#fef7b2', // sharedColors.yellow.tint40\n orange: '#f7630c', // sharedColors.orange.primary\n orangeLight: '#f98845', // sharedColors.orange.tint20\n orangeLighter: '#fdcfb4', // sharedColors.orange.tint40\n redDark: '#750b1c', // sharedColors.darkRed.primary\n red: '#d13438', // sharedColors.red.primary\n magentaDark: '#6b0043', // sharedColors.magenta.shade30\n magenta: '#bf0077', // sharedColors.magenta.primary\n magentaLight: '#d957a8', // sharedColors.magenta.tint30\n purpleDark: '#401b6c', // sharedColors.darkPurple.primary\n purple: '#5c2e91', // sharedColors.purple.primary\n purpleLight: '#c6b1de', // sharedColors.purple.tint40\n blueDark: '#003966', // sharedColors.darkBlue.primary\n blueMid: '#004e8c', // sharedColors.royalBlue.primary\n blue: '#0078d4', // sharedColors.blue.primary\n blueLight: '#3a96dd', // sharedColors.lightBlue.primary\n tealDark: '#006666', // sharedColors.darkTeal.primary\n teal: '#038387', // sharedColors.teal.primary\n tealLight: '#00b7c3', // sharedColors.lightTeal.primary\n greenDark: '#0b6a0b', // sharedColors.darkGreen.primary\n green: '#107c10', // sharedColors.green.primary\n greenLight: '#13a10e', // sharedColors.lightGreen.primary\n};\n","import type { IPalette, ITheme } from '@fluentui/react';\nimport { createTheme } from '@fluentui/react';\nimport { IExtendedEffects, IExtendedSemanticColors } from './types';\nimport { fluent2ComponentStyles } from './fluent2ComponentStyles';\nimport { fluent2SharedColors } from './fluent2SharedColors';\nimport { Fluent2WebLightTheme } from './fluent2WebLightTheme';\n\nconst fluent2ForV8DarkEffects: IExtendedEffects = {\n elevation4: '0px 2px 4px rgba(0, 0, 0, 0.14), 0px 0px 2px rgba(0, 0, 0, 0.12)',\n elevation8: '0px 4px 8px rgba(0, 0, 0, 0.14), 0px 0px 2px rgba(0, 0, 0, 0.12)',\n elevation16: '0px 8px 16px rgba(0, 0, 0, 0.14), 0px 0px 2px rgba(0, 0, 0, 0.12)',\n elevation64: '0px 32px 64px rgba(0, 0, 0, 0.24), 0px 0px 8px rgba(0, 0, 0, 0.2)',\n roundedCorner2: '2px',\n roundedCorner4: '4px',\n roundedCorner6: '6px',\n roundedCorner8: '8px',\n roundedCornerCircle: '50%',\n};\n\nconst fluent2ForV8DarkPalette: Partial = {\n // properties are ordered here as in IPalette.ts\n\n themeDarker: '#62abf5',\n themeDark: '#479ef5',\n themeDarkAlt: '#479ef5',\n themePrimary: '#2886de',\n themeSecondary: '#2886de',\n themeTertiary: '#0f548c',\n themeLight: '#0e4775',\n themeLighter: '#0c3b5e',\n themeLighterAlt: '#0A2E4A',\n\n black: '#ffffff', // Note white and black are inverted in this theme\n blackTranslucent40: 'rgba(255 ,255 ,255 ,0.4)',\n neutralDark: '#fafafa',\n neutralPrimary: '#f5f5f5',\n neutralPrimaryAlt: '#d6d6d6',\n neutralSecondary: '#d1d1d1',\n neutralSecondaryAlt: '#8a8886',\n neutralTertiary: '#707070',\n neutralTertiaryAlt: '#424242',\n neutralQuaternary: '#3d3d3d',\n neutralQuaternaryAlt: '#2e2e2e',\n neutralLight: '#292929',\n neutralLighter: '#242424',\n neutralLighterAlt: '#1a1a1a',\n accent: '#2886de',\n white: '#141414',\n whiteTranslucent40: 'rgba(0, 0, 0, 0.4)',\n\n ...fluent2SharedColors,\n};\n\nconst p = fluent2ForV8DarkPalette;\n\n// shortcut since the gray scale isn't part of the v8 palette.\nconst grey36 = '#5C5C5C';\n\nconst semanticColorMappingOverridesForDark: Partial = {\n // Primary button is unique, it's background color is shared across themes\n primaryButtonBackgroundHovered: Fluent2WebLightTheme.palette.themePrimary,\n primaryButtonBackgroundPressed: Fluent2WebLightTheme.palette.themeDarker,\n primaryButtonBackground: Fluent2WebLightTheme.palette.themeDarkAlt,\n\n // This hex matches the v9 theme.\n link: p.themeDark,\n\n // Extended semantic colors\n inputBottomBorderFocus: p.themePrimary,\n inputBottomBorderRest: p.neutralLighter,\n\n // Base semantic mapping overrides\n primaryButtonText: p.black,\n primaryButtonTextHovered: p.black,\n primaryButtonTextPressed: p.black,\n primaryButtonTextDisabled: p.neutralTertiaryAlt,\n primaryButtonBackgroundDisabled: p.neutralLighter,\n accentButtonText: p.black,\n accentButtonBackground: p.themePrimary,\n\n inputPlaceholderText: p.neutralSecondaryAlt,\n inputForegroundChecked: p.black,\n inputFocusBorderAlt: p.neutralTertiary,\n inputBorder: p.neutralQuaternary,\n focusBorder: p.neutralTertiary,\n\n // Checkbox\n inputBackgroundChecked: p.themePrimary,\n inputBackground: p.white,\n bodyTextChecked: p.neutralPrimary,\n inputBackgroundCheckedHovered: p.themeDarkAlt,\n\n // Errors and warnings\n warningText: p.neutralPrimary,\n\n // Message bar colors\n messageText: p.neutralPrimary,\n messageLink: p.themeDarkAlt,\n messageLinkHovered: p.themeDarker,\n infoIcon: p.neutralSecondary,\n warningIcon: p.neutralPrimary,\n infoBackground: p.neutralLighter,\n disabledBorder: grey36,\n disabledText: grey36,\n inputIconHovered: p.black,\n};\n\nexport const Fluent2WebDarkTheme: ITheme = createTheme({\n palette: fluent2ForV8DarkPalette,\n semanticColors: semanticColorMappingOverridesForDark,\n components: fluent2ComponentStyles,\n effects: fluent2ForV8DarkEffects,\n isInverted: true,\n});\n","import type { IPalette, ITheme } from '@fluentui/react';\nimport { createTheme } from '@fluentui/react';\nimport { IExtendedEffects, IExtendedSemanticColors } from './types';\n\nimport { fluent2ComponentStyles } from './fluent2ComponentStyles';\nimport { fluent2SharedColors } from './fluent2SharedColors';\n\nconst fluent2ForV8DLightEffects: IExtendedEffects = {\n elevation4: '0px 2px 4px rgba(0, 0, 0, 0.14), 0px 0px 2px rgba(0, 0, 0, 0.12)',\n elevation8: '0px 4px 8px rgba(0, 0, 0, 0.14), 0px 0px 2px rgba(0, 0, 0, 0.12)',\n elevation16: '0px 8px 16px rgba(0, 0, 0, 0.14), 0px 0px 2px rgba(0, 0, 0, 0.12)',\n elevation64: '0px 32px 64px rgba(0, 0, 0, 0.24), 0px 0px 8px rgba(0, 0, 0, 0.2)',\n roundedCorner2: '2px',\n roundedCorner4: '4px',\n roundedCorner6: '6px',\n roundedCorner8: '8px',\n roundedCornerCircle: '50%',\n};\n\n// grays used in semantic slots but don't fit in the palette.\nconst grey38 = '#616161';\nconst grey26 = '#424242';\nconst grey74 = '#BDBDBD';\n\nconst fluent2LightPalette: Partial = {\n // properties are ordered here as in IPalette.ts\n\n themeDarker: '#0c3b5e',\n themeDark: '#0f548c',\n themeDarkAlt: '#115ea3',\n themePrimary: '#0f6cbd',\n themeSecondary: '#2886de', // Required by Fabric palette, only used in ShimmerWave\n themeTertiary: '#77b7f7',\n themeLight: '#b4d6fa',\n themeLighter: '#cfe4fa',\n themeLighterAlt: '#ebf3fc',\n\n black: '#000000',\n blackTranslucent40: 'rgba(0, 0, 0, 0.4)',\n neutralDark: '#141414',\n neutralPrimary: '#242424',\n neutralPrimaryAlt: '#383838',\n neutralSecondary: '#5c5c5c',\n neutralSecondaryAlt: '#8a8886',\n neutralTertiary: '#9e9e9e',\n neutralTertiaryAlt: '#c7c7c7',\n neutralQuaternary: '#d1d1d1',\n neutralQuaternaryAlt: '#e0e0e0',\n neutralLight: '#ebebeb',\n neutralLighter: '#f5f5f5',\n neutralLighterAlt: '#fafafa',\n\n accent: '#0f6cbd',\n white: '#FFFFFF',\n whiteTranslucent40: 'rgba(255 ,255 ,255 ,0.4)',\n\n ...fluent2SharedColors,\n};\n\nconst p = fluent2LightPalette;\n\nconst semanticColorMappingOverridesForLight: Partial = {\n // Extended slots\n inputBottomBorderFocus: p.themePrimary,\n inputBottomBorderRest: p.neutralLighter,\n\n // Base slot mapping changes\n // focusBorder seems to be used for keyboard focus on components that don't have text input.\n // inputFocusBorder seems to be used for keyboard focus on text input components.\n focusBorder: p.neutralTertiary,\n inputBorder: p.neutralQuaternary,\n\n // Checkbox\n inputBackgroundChecked: p.themePrimary,\n inputBackground: p.white,\n bodyTextChecked: p.neutralPrimary,\n inputBackgroundCheckedHovered: p.themeDarkAlt,\n\n // Errors and warnings\n warningText: p.neutralPrimary,\n\n // Message bar colors\n messageText: p.neutralPrimary,\n messageLink: p.themeDarkAlt,\n messageLinkHovered: p.themeDarker,\n\n infoIcon: p.neutralSecondary,\n warningIcon: p.neutralPrimary,\n infoBackground: p.neutralLighter,\n\n // Grey values\n inputIconHovered: grey26,\n inputPlaceholderText: grey38,\n disabledBorder: grey74,\n disabledText: grey74,\n};\n\nexport const Fluent2WebLightTheme: ITheme = createTheme({\n palette: fluent2LightPalette,\n semanticColors: semanticColorMappingOverridesForLight,\n components: fluent2ComponentStyles,\n effects: fluent2ForV8DLightEffects,\n});\n","// Your use of the content in the files referenced here is subject to the terms of the license at https://aka.ms/fluentui-assets-license\n\nimport { IIconOptions, IIconSubset, registerIcons } from '@fluentui/style-utilities';\n\nexport function initializeIcons(baseUrl: string = '', options?: IIconOptions): void {\n const subset: IIconSubset = {\n style: {\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontStyle: 'normal',\n fontWeight: 'normal',\n speak: 'none',\n },\n fontFace: {\n fontFamily: `\"FabricMDL2Icons\"`,\n src: `url('${baseUrl}fabric-icons-a13498cf.woff') format('woff')`,\n },\n icons: {\n GlobalNavButton: '\\uE700',\n ChevronDown: '\\uE70D',\n ChevronUp: '\\uE70E',\n Edit: '\\uE70F',\n Add: '\\uE710',\n Cancel: '\\uE711',\n More: '\\uE712',\n Settings: '\\uE713',\n Mail: '\\uE715',\n Filter: '\\uE71C',\n Search: '\\uE721',\n Share: '\\uE72D',\n BlockedSite: '\\uE72F',\n FavoriteStar: '\\uE734',\n FavoriteStarFill: '\\uE735',\n CheckMark: '\\uE73E',\n Delete: '\\uE74D',\n ChevronLeft: '\\uE76B',\n ChevronRight: '\\uE76C',\n Calendar: '\\uE787',\n Megaphone: '\\uE789',\n Undo: '\\uE7A7',\n Flag: '\\uE7C1',\n Page: '\\uE7C3',\n Pinned: '\\uE840',\n View: '\\uE890',\n Clear: '\\uE894',\n Download: '\\uE896',\n Upload: '\\uE898',\n Folder: '\\uE8B7',\n Sort: '\\uE8CB',\n AlignRight: '\\uE8E2',\n AlignLeft: '\\uE8E4',\n Tag: '\\uE8EC',\n AddFriend: '\\uE8FA',\n Info: '\\uE946',\n SortLines: '\\uE9D0',\n List: '\\uEA37',\n CircleRing: '\\uEA3A',\n Heart: '\\uEB51',\n HeartFill: '\\uEB52',\n Tiles: '\\uECA5',\n Embed: '\\uECCE',\n Glimmer: '\\uECF4',\n Ascending: '\\uEDC0',\n Descending: '\\uEDC1',\n SortUp: '\\uEE68',\n SortDown: '\\uEE69',\n SyncToPC: '\\uEE6E',\n LargeGrid: '\\uEECB',\n SkypeCheck: '\\uEF80',\n SkypeClock: '\\uEF81',\n SkypeMinus: '\\uEF82',\n ClearFilter: '\\uEF8F',\n Flow: '\\uEF90',\n StatusCircleCheckmark: '\\uF13E',\n MoreVertical: '\\uF2BC',\n },\n };\n\n registerIcons(subset, options);\n}\n"," // Your use of the content in the files referenced here is subject to the terms of the license at https://aka.ms/fluentui-assets-license\n\nimport {\n IIconOptions,\n IIconSubset,\n registerIcons\n} from '@fluentui/style-utilities';\n\nexport function initializeIcons(\n baseUrl: string = '',\n options?: IIconOptions\n): void {\n const subset: IIconSubset = {\n style: {\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontStyle: 'normal',\n fontWeight: 'normal',\n speak: 'none'\n },\n fontFace: {\n fontFamily: `\"FabricMDL2Icons-0\"`,\n src: `url('${baseUrl}fabric-icons-0-467ee27f.woff') format('woff')`\n },\n icons: {\n 'PageLink': '\\uE302',\n 'CommentSolid': '\\uE30E',\n 'ChangeEntitlements': '\\uE310',\n 'Installation': '\\uE311',\n 'WebAppBuilderModule': '\\uE313',\n 'WebAppBuilderFragment': '\\uE314',\n 'WebAppBuilderSlot': '\\uE315',\n 'BullseyeTargetEdit': '\\uE319',\n 'WebAppBuilderFragmentCreate': '\\uE31B',\n 'PageData': '\\uE31C',\n 'PageHeaderEdit': '\\uE31D',\n 'ProductList': '\\uE31E',\n 'UnpublishContent': '\\uE31F',\n 'DependencyAdd': '\\uE344',\n 'DependencyRemove': '\\uE345',\n 'EntitlementPolicy': '\\uE346',\n 'EntitlementRedemption': '\\uE347',\n 'SchoolDataSyncLogo': '\\uE34C',\n 'PinSolid12': '\\uE352',\n 'PinSolidOff12': '\\uE353',\n 'AddLink': '\\uE35E',\n 'SharepointAppIcon16': '\\uE365',\n 'DataflowsLink': '\\uE366',\n 'TimePicker': '\\uE367',\n 'UserWarning': '\\uE368',\n 'ComplianceAudit': '\\uE369',\n 'InternetSharing': '\\uE704',\n 'Brightness': '\\uE706',\n 'MapPin': '\\uE707',\n 'Airplane': '\\uE709',\n 'Tablet': '\\uE70A',\n 'QuickNote': '\\uE70B',\n 'Video': '\\uE714',\n 'People': '\\uE716',\n 'Phone': '\\uE717',\n 'Pin': '\\uE718',\n 'Shop': '\\uE719',\n 'Stop': '\\uE71A',\n 'Link': '\\uE71B',\n 'AllApps': '\\uE71D',\n 'Zoom': '\\uE71E',\n 'ZoomOut': '\\uE71F',\n 'Microphone': '\\uE720',\n 'Camera': '\\uE722',\n 'Attach': '\\uE723',\n 'Send': '\\uE724',\n 'FavoriteList': '\\uE728',\n 'PageSolid': '\\uE729',\n 'Forward': '\\uE72A',\n 'Back': '\\uE72B',\n 'Refresh': '\\uE72C',\n 'Lock': '\\uE72E',\n 'ReportHacked': '\\uE730',\n 'EMI': '\\uE731',\n 'MiniLink': '\\uE732',\n 'Blocked': '\\uE733',\n 'ReadingMode': '\\uE736',\n 'Favicon': '\\uE737',\n 'Remove': '\\uE738',\n 'Checkbox': '\\uE739',\n 'CheckboxComposite': '\\uE73A',\n 'CheckboxFill': '\\uE73B',\n 'CheckboxIndeterminate': '\\uE73C',\n 'CheckboxCompositeReversed': '\\uE73D',\n 'BackToWindow': '\\uE73F',\n 'FullScreen': '\\uE740',\n 'Print': '\\uE749',\n 'Up': '\\uE74A',\n 'Down': '\\uE74B',\n 'OEM': '\\uE74C',\n 'Save': '\\uE74E',\n 'ReturnKey': '\\uE751',\n 'Cloud': '\\uE753',\n 'Flashlight': '\\uE754',\n 'CommandPrompt': '\\uE756',\n 'Sad': '\\uE757',\n 'RealEstate': '\\uE758',\n 'SIPMove': '\\uE759',\n 'EraseTool': '\\uE75C',\n 'GripperTool': '\\uE75E',\n 'Dialpad': '\\uE75F',\n 'PageLeft': '\\uE760',\n 'PageRight': '\\uE761',\n 'MultiSelect': '\\uE762',\n 'KeyboardClassic': '\\uE765',\n 'Play': '\\uE768',\n 'Pause': '\\uE769',\n 'InkingTool': '\\uE76D',\n 'Emoji2': '\\uE76E',\n 'GripperBarHorizontal': '\\uE76F',\n 'System': '\\uE770',\n 'Personalize': '\\uE771',\n 'SearchAndApps': '\\uE773',\n 'Globe': '\\uE774',\n 'EaseOfAccess': '\\uE776',\n 'ContactInfo': '\\uE779',\n 'Unpin': '\\uE77A',\n 'Contact': '\\uE77B',\n 'Memo': '\\uE77C',\n 'IncomingCall': '\\uE77E'\n }\n };\n\n registerIcons(subset, options);\n}\n"," // Your use of the content in the files referenced here is subject to the terms of the license at https://aka.ms/fluentui-assets-license\n\nimport {\n IIconOptions,\n IIconSubset,\n registerIcons\n} from '@fluentui/style-utilities';\n\nexport function initializeIcons(\n baseUrl: string = '',\n options?: IIconOptions\n): void {\n const subset: IIconSubset = {\n style: {\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontStyle: 'normal',\n fontWeight: 'normal',\n speak: 'none'\n },\n fontFace: {\n fontFamily: `\"FabricMDL2Icons-1\"`,\n src: `url('${baseUrl}fabric-icons-1-4d521695.woff') format('woff')`\n },\n icons: {\n 'Paste': '\\uE77F',\n 'WindowsLogo': '\\uE782',\n 'Error': '\\uE783',\n 'GripperBarVertical': '\\uE784',\n 'Unlock': '\\uE785',\n 'Slideshow': '\\uE786',\n 'Trim': '\\uE78A',\n 'AutoEnhanceOn': '\\uE78D',\n 'AutoEnhanceOff': '\\uE78E',\n 'Color': '\\uE790',\n 'SaveAs': '\\uE792',\n 'Light': '\\uE793',\n 'Filters': '\\uE795',\n 'AspectRatio': '\\uE799',\n 'Contrast': '\\uE7A1',\n 'Redo': '\\uE7A6',\n 'Crop': '\\uE7A8',\n 'PhotoCollection': '\\uE7AA',\n 'Album': '\\uE7AB',\n 'Rotate': '\\uE7AD',\n 'PanoIndicator': '\\uE7B0',\n 'Translate': '\\uE7B2',\n 'RedEye': '\\uE7B3',\n 'ViewOriginal': '\\uE7B4',\n 'ThumbnailView': '\\uE7B6',\n 'Package': '\\uE7B8',\n 'Telemarketer': '\\uE7B9',\n 'Warning': '\\uE7BA',\n 'Financial': '\\uE7BB',\n 'Education': '\\uE7BE',\n 'ShoppingCart': '\\uE7BF',\n 'Train': '\\uE7C0',\n 'Move': '\\uE7C2',\n 'TouchPointer': '\\uE7C9',\n 'Merge': '\\uE7D5',\n 'TurnRight': '\\uE7DB',\n 'Ferry': '\\uE7E3',\n 'Highlight': '\\uE7E6',\n 'PowerButton': '\\uE7E8',\n 'Tab': '\\uE7E9',\n 'Admin': '\\uE7EF',\n 'TVMonitor': '\\uE7F4',\n 'Speakers': '\\uE7F5',\n 'Game': '\\uE7FC',\n 'HorizontalTabKey': '\\uE7FD',\n 'UnstackSelected': '\\uE7FE',\n 'StackIndicator': '\\uE7FF',\n 'Nav2DMapView': '\\uE800',\n 'StreetsideSplitMinimize': '\\uE802',\n 'Car': '\\uE804',\n 'Bus': '\\uE806',\n 'EatDrink': '\\uE807',\n 'SeeDo': '\\uE808',\n 'LocationCircle': '\\uE80E',\n 'Home': '\\uE80F',\n 'SwitcherStartEnd': '\\uE810',\n 'ParkingLocation': '\\uE811',\n 'IncidentTriangle': '\\uE814',\n 'Touch': '\\uE815',\n 'MapDirections': '\\uE816',\n 'CaretHollow': '\\uE817',\n 'CaretSolid': '\\uE818',\n 'History': '\\uE81C',\n 'Location': '\\uE81D',\n 'MapLayers': '\\uE81E',\n 'SearchNearby': '\\uE820',\n 'Work': '\\uE821',\n 'Recent': '\\uE823',\n 'Hotel': '\\uE824',\n 'Bank': '\\uE825',\n 'LocationDot': '\\uE827',\n 'Dictionary': '\\uE82D',\n 'ChromeBack': '\\uE830',\n 'FolderOpen': '\\uE838',\n 'PinnedFill': '\\uE842',\n 'RevToggleKey': '\\uE845',\n 'USB': '\\uE88E',\n 'Previous': '\\uE892',\n 'Next': '\\uE893',\n 'Sync': '\\uE895',\n 'Help': '\\uE897',\n 'Emoji': '\\uE899',\n 'MailForward': '\\uE89C',\n 'ClosePane': '\\uE89F',\n 'OpenPane': '\\uE8A0',\n 'PreviewLink': '\\uE8A1',\n 'ZoomIn': '\\uE8A3',\n 'Bookmarks': '\\uE8A4',\n 'Document': '\\uE8A5',\n 'ProtectedDocument': '\\uE8A6',\n 'OpenInNewWindow': '\\uE8A7',\n 'MailFill': '\\uE8A8',\n 'ViewAll': '\\uE8A9',\n 'Switch': '\\uE8AB',\n 'Rename': '\\uE8AC',\n 'Go': '\\uE8AD',\n 'Remote': '\\uE8AF',\n 'SelectAll': '\\uE8B3',\n 'Orientation': '\\uE8B4',\n 'Import': '\\uE8B5'\n }\n };\n\n registerIcons(subset, options);\n}\n"," // Your use of the content in the files referenced here is subject to the terms of the license at https://aka.ms/fluentui-assets-license\n\nimport {\n IIconOptions,\n IIconSubset,\n registerIcons\n} from '@fluentui/style-utilities';\n\nexport function initializeIcons(\n baseUrl: string = '',\n options?: IIconOptions\n): void {\n const subset: IIconSubset = {\n style: {\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontStyle: 'normal',\n fontWeight: 'normal',\n speak: 'none'\n },\n fontFace: {\n fontFamily: `\"FabricMDL2Icons-2\"`,\n src: `url('${baseUrl}fabric-icons-2-63c99abf.woff') format('woff')`\n },\n icons: {\n 'Picture': '\\uE8B9',\n 'ChromeClose': '\\uE8BB',\n 'ShowResults': '\\uE8BC',\n 'Message': '\\uE8BD',\n 'CalendarDay': '\\uE8BF',\n 'CalendarWeek': '\\uE8C0',\n 'MailReplyAll': '\\uE8C2',\n 'Read': '\\uE8C3',\n 'Cut': '\\uE8C6',\n 'PaymentCard': '\\uE8C7',\n 'Copy': '\\uE8C8',\n 'Important': '\\uE8C9',\n 'MailReply': '\\uE8CA',\n 'GotoToday': '\\uE8D1',\n 'Font': '\\uE8D2',\n 'FontColor': '\\uE8D3',\n 'FolderFill': '\\uE8D5',\n 'Permissions': '\\uE8D7',\n 'DisableUpdates': '\\uE8D8',\n 'Unfavorite': '\\uE8D9',\n 'Italic': '\\uE8DB',\n 'Underline': '\\uE8DC',\n 'Bold': '\\uE8DD',\n 'MoveToFolder': '\\uE8DE',\n 'Dislike': '\\uE8E0',\n 'Like': '\\uE8E1',\n 'AlignCenter': '\\uE8E3',\n 'OpenFile': '\\uE8E5',\n 'ClearSelection': '\\uE8E6',\n 'FontDecrease': '\\uE8E7',\n 'FontIncrease': '\\uE8E8',\n 'FontSize': '\\uE8E9',\n 'CellPhone': '\\uE8EA',\n 'RepeatOne': '\\uE8ED',\n 'RepeatAll': '\\uE8EE',\n 'Calculator': '\\uE8EF',\n 'Library': '\\uE8F1',\n 'PostUpdate': '\\uE8F3',\n 'NewFolder': '\\uE8F4',\n 'CalendarReply': '\\uE8F5',\n 'UnsyncFolder': '\\uE8F6',\n 'SyncFolder': '\\uE8F7',\n 'BlockContact': '\\uE8F8',\n 'Accept': '\\uE8FB',\n 'BulletedList': '\\uE8FD',\n 'Preview': '\\uE8FF',\n 'News': '\\uE900',\n 'Chat': '\\uE901',\n 'Group': '\\uE902',\n 'World': '\\uE909',\n 'Comment': '\\uE90A',\n 'DockLeft': '\\uE90C',\n 'DockRight': '\\uE90D',\n 'Repair': '\\uE90F',\n 'Accounts': '\\uE910',\n 'Street': '\\uE913',\n 'RadioBullet': '\\uE915',\n 'Stopwatch': '\\uE916',\n 'Clock': '\\uE917',\n 'WorldClock': '\\uE918',\n 'AlarmClock': '\\uE919',\n 'Photo': '\\uE91B',\n 'ActionCenter': '\\uE91C',\n 'Hospital': '\\uE91D',\n 'Timer': '\\uE91E',\n 'FullCircleMask': '\\uE91F',\n 'LocationFill': '\\uE920',\n 'ChromeMinimize': '\\uE921',\n 'ChromeRestore': '\\uE923',\n 'Annotation': '\\uE924',\n 'Fingerprint': '\\uE928',\n 'Handwriting': '\\uE929',\n 'ChromeFullScreen': '\\uE92D',\n 'Completed': '\\uE930',\n 'Label': '\\uE932',\n 'FlickDown': '\\uE935',\n 'FlickUp': '\\uE936',\n 'FlickLeft': '\\uE937',\n 'FlickRight': '\\uE938',\n 'MiniExpand': '\\uE93A',\n 'MiniContract': '\\uE93B',\n 'Streaming': '\\uE93E',\n 'MusicInCollection': '\\uE940',\n 'OneDriveLogo': '\\uE941',\n 'CompassNW': '\\uE942',\n 'Code': '\\uE943',\n 'LightningBolt': '\\uE945',\n 'CalculatorMultiply': '\\uE947',\n 'CalculatorAddition': '\\uE948',\n 'CalculatorSubtract': '\\uE949',\n 'CalculatorPercentage': '\\uE94C',\n 'CalculatorEqualTo': '\\uE94E',\n 'PrintfaxPrinterFile': '\\uE956',\n 'StorageOptical': '\\uE958',\n 'Communications': '\\uE95A',\n 'Headset': '\\uE95B',\n 'Health': '\\uE95E',\n 'Webcam2': '\\uE960',\n 'FrontCamera': '\\uE96B',\n 'ChevronUpSmall': '\\uE96D'\n }\n };\n\n registerIcons(subset, options);\n}\n"," // Your use of the content in the files referenced here is subject to the terms of the license at https://aka.ms/fluentui-assets-license\n\nimport {\n IIconOptions,\n IIconSubset,\n registerIcons\n} from '@fluentui/style-utilities';\n\nexport function initializeIcons(\n baseUrl: string = '',\n options?: IIconOptions\n): void {\n const subset: IIconSubset = {\n style: {\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontStyle: 'normal',\n fontWeight: 'normal',\n speak: 'none'\n },\n fontFace: {\n fontFamily: `\"FabricMDL2Icons-3\"`,\n src: `url('${baseUrl}fabric-icons-3-089e217a.woff') format('woff')`\n },\n icons: {\n 'ChevronDownSmall': '\\uE96E',\n 'ChevronLeftSmall': '\\uE96F',\n 'ChevronRightSmall': '\\uE970',\n 'ChevronUpMed': '\\uE971',\n 'ChevronDownMed': '\\uE972',\n 'ChevronLeftMed': '\\uE973',\n 'ChevronRightMed': '\\uE974',\n 'Devices2': '\\uE975',\n 'PC1': '\\uE977',\n 'PresenceChickletVideo': '\\uE979',\n 'Reply': '\\uE97A',\n 'HalfAlpha': '\\uE97E',\n 'ConstructionCone': '\\uE98F',\n 'DoubleChevronLeftMed': '\\uE991',\n 'Volume0': '\\uE992',\n 'Volume1': '\\uE993',\n 'Volume2': '\\uE994',\n 'Volume3': '\\uE995',\n 'Chart': '\\uE999',\n 'Robot': '\\uE99A',\n 'Manufacturing': '\\uE99C',\n 'LockSolid': '\\uE9A2',\n 'FitPage': '\\uE9A6',\n 'FitWidth': '\\uE9A7',\n 'BidiLtr': '\\uE9AA',\n 'BidiRtl': '\\uE9AB',\n 'RightDoubleQuote': '\\uE9B1',\n 'Sunny': '\\uE9BD',\n 'CloudWeather': '\\uE9BE',\n 'Cloudy': '\\uE9BF',\n 'PartlyCloudyDay': '\\uE9C0',\n 'PartlyCloudyNight': '\\uE9C1',\n 'ClearNight': '\\uE9C2',\n 'RainShowersDay': '\\uE9C3',\n 'Rain': '\\uE9C4',\n 'Thunderstorms': '\\uE9C6',\n 'RainSnow': '\\uE9C7',\n 'Snow': '\\uE9C8',\n 'BlowingSnow': '\\uE9C9',\n 'Frigid': '\\uE9CA',\n 'Fog': '\\uE9CB',\n 'Squalls': '\\uE9CC',\n 'Duststorm': '\\uE9CD',\n 'Unknown': '\\uE9CE',\n 'Precipitation': '\\uE9CF',\n 'Ribbon': '\\uE9D1',\n 'AreaChart': '\\uE9D2',\n 'Assign': '\\uE9D3',\n 'FlowChart': '\\uE9D4',\n 'CheckList': '\\uE9D5',\n 'Diagnostic': '\\uE9D9',\n 'Generate': '\\uE9DA',\n 'LineChart': '\\uE9E6',\n 'Equalizer': '\\uE9E9',\n 'BarChartHorizontal': '\\uE9EB',\n 'BarChartVertical': '\\uE9EC',\n 'Freezing': '\\uE9EF',\n 'FunnelChart': '\\uE9F1',\n 'Processing': '\\uE9F5',\n 'Quantity': '\\uE9F8',\n 'ReportDocument': '\\uE9F9',\n 'StackColumnChart': '\\uE9FC',\n 'SnowShowerDay': '\\uE9FD',\n 'HailDay': '\\uEA00',\n 'WorkFlow': '\\uEA01',\n 'HourGlass': '\\uEA03',\n 'StoreLogoMed20': '\\uEA04',\n 'TimeSheet': '\\uEA05',\n 'TriangleSolid': '\\uEA08',\n 'UpgradeAnalysis': '\\uEA0B',\n 'VideoSolid': '\\uEA0C',\n 'RainShowersNight': '\\uEA0F',\n 'SnowShowerNight': '\\uEA11',\n 'Teamwork': '\\uEA12',\n 'HailNight': '\\uEA13',\n 'PeopleAdd': '\\uEA15',\n 'Glasses': '\\uEA16',\n 'DateTime2': '\\uEA17',\n 'Shield': '\\uEA18',\n 'Header1': '\\uEA19',\n 'PageAdd': '\\uEA1A',\n 'NumberedList': '\\uEA1C',\n 'PowerBILogo': '\\uEA1E',\n 'Info2': '\\uEA1F',\n 'MusicInCollectionFill': '\\uEA36',\n 'Asterisk': '\\uEA38',\n 'ErrorBadge': '\\uEA39',\n 'CircleFill': '\\uEA3B',\n 'Record2': '\\uEA3F',\n 'AllAppsMirrored': '\\uEA40',\n 'BookmarksMirrored': '\\uEA41',\n 'BulletedListMirrored': '\\uEA42',\n 'CaretHollowMirrored': '\\uEA45',\n 'CaretSolidMirrored': '\\uEA46',\n 'ChromeBackMirrored': '\\uEA47',\n 'ClearSelectionMirrored': '\\uEA48',\n 'ClosePaneMirrored': '\\uEA49',\n 'DockLeftMirrored': '\\uEA4C',\n 'DoubleChevronLeftMedMirrored': '\\uEA4D',\n 'GoMirrored': '\\uEA4F'\n }\n };\n\n registerIcons(subset, options);\n}\n"," // Your use of the content in the files referenced here is subject to the terms of the license at https://aka.ms/fluentui-assets-license\n\nimport {\n IIconOptions,\n IIconSubset,\n registerIcons\n} from '@fluentui/style-utilities';\n\nexport function initializeIcons(\n baseUrl: string = '',\n options?: IIconOptions\n): void {\n const subset: IIconSubset = {\n style: {\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontStyle: 'normal',\n fontWeight: 'normal',\n speak: 'none'\n },\n fontFace: {\n fontFamily: `\"FabricMDL2Icons-4\"`,\n src: `url('${baseUrl}fabric-icons-4-a656cc0a.woff') format('woff')`\n },\n icons: {\n 'HelpMirrored': '\\uEA51',\n 'ImportMirrored': '\\uEA52',\n 'ImportAllMirrored': '\\uEA53',\n 'ListMirrored': '\\uEA55',\n 'MailForwardMirrored': '\\uEA56',\n 'MailReplyMirrored': '\\uEA57',\n 'MailReplyAllMirrored': '\\uEA58',\n 'MiniContractMirrored': '\\uEA59',\n 'MiniExpandMirrored': '\\uEA5A',\n 'OpenPaneMirrored': '\\uEA5B',\n 'ParkingLocationMirrored': '\\uEA5E',\n 'SendMirrored': '\\uEA63',\n 'ShowResultsMirrored': '\\uEA65',\n 'ThumbnailViewMirrored': '\\uEA67',\n 'Media': '\\uEA69',\n 'Devices3': '\\uEA6C',\n 'Focus': '\\uEA6F',\n 'VideoLightOff': '\\uEA74',\n 'Lightbulb': '\\uEA80',\n 'StatusTriangle': '\\uEA82',\n 'VolumeDisabled': '\\uEA85',\n 'Puzzle': '\\uEA86',\n 'EmojiNeutral': '\\uEA87',\n 'EmojiDisappointed': '\\uEA88',\n 'HomeSolid': '\\uEA8A',\n 'Ringer': '\\uEA8F',\n 'PDF': '\\uEA90',\n 'HeartBroken': '\\uEA92',\n 'StoreLogo16': '\\uEA96',\n 'MultiSelectMirrored': '\\uEA98',\n 'Broom': '\\uEA99',\n 'AddToShoppingList': '\\uEA9A',\n 'Cocktails': '\\uEA9D',\n 'Wines': '\\uEABF',\n 'Articles': '\\uEAC1',\n 'Cycling': '\\uEAC7',\n 'DietPlanNotebook': '\\uEAC8',\n 'Pill': '\\uEACB',\n 'ExerciseTracker': '\\uEACC',\n 'HandsFree': '\\uEAD0',\n 'Medical': '\\uEAD4',\n 'Running': '\\uEADA',\n 'Weights': '\\uEADB',\n 'Trackers': '\\uEADF',\n 'AddNotes': '\\uEAE3',\n 'AllCurrency': '\\uEAE4',\n 'BarChart4': '\\uEAE7',\n 'CirclePlus': '\\uEAEE',\n 'Coffee': '\\uEAEF',\n 'Cotton': '\\uEAF3',\n 'Market': '\\uEAFC',\n 'Money': '\\uEAFD',\n 'PieDouble': '\\uEB04',\n 'PieSingle': '\\uEB05',\n 'RemoveFilter': '\\uEB08',\n 'Savings': '\\uEB0B',\n 'Sell': '\\uEB0C',\n 'StockDown': '\\uEB0F',\n 'StockUp': '\\uEB11',\n 'Lamp': '\\uEB19',\n 'Source': '\\uEB1B',\n 'MSNVideos': '\\uEB1C',\n 'Cricket': '\\uEB1E',\n 'Golf': '\\uEB1F',\n 'Baseball': '\\uEB20',\n 'Soccer': '\\uEB21',\n 'MoreSports': '\\uEB22',\n 'AutoRacing': '\\uEB24',\n 'CollegeHoops': '\\uEB25',\n 'CollegeFootball': '\\uEB26',\n 'ProFootball': '\\uEB27',\n 'ProHockey': '\\uEB28',\n 'Rugby': '\\uEB2D',\n 'SubstitutionsIn': '\\uEB31',\n 'Tennis': '\\uEB33',\n 'Arrivals': '\\uEB34',\n 'Design': '\\uEB3C',\n 'Website': '\\uEB41',\n 'Drop': '\\uEB42',\n 'HistoricalWeather': '\\uEB43',\n 'SkiResorts': '\\uEB45',\n 'Snowflake': '\\uEB46',\n 'BusSolid': '\\uEB47',\n 'FerrySolid': '\\uEB48',\n 'AirplaneSolid': '\\uEB4C',\n 'TrainSolid': '\\uEB4D',\n 'Ticket': '\\uEB54',\n 'WifiWarning4': '\\uEB63',\n 'Devices4': '\\uEB66',\n 'AzureLogo': '\\uEB6A',\n 'BingLogo': '\\uEB6B',\n 'MSNLogo': '\\uEB6C',\n 'OutlookLogoInverse': '\\uEB6D',\n 'OfficeLogo': '\\uEB6E',\n 'SkypeLogo': '\\uEB6F',\n 'Door': '\\uEB75',\n 'EditMirrored': '\\uEB7E',\n 'GiftCard': '\\uEB8E',\n 'DoubleBookmark': '\\uEB8F',\n 'StatusErrorFull': '\\uEB90'\n }\n };\n\n registerIcons(subset, options);\n}\n"," // Your use of the content in the files referenced here is subject to the terms of the license at https://aka.ms/fluentui-assets-license\n\nimport {\n IIconOptions,\n IIconSubset,\n registerIcons\n} from '@fluentui/style-utilities';\n\nexport function initializeIcons(\n baseUrl: string = '',\n options?: IIconOptions\n): void {\n const subset: IIconSubset = {\n style: {\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontStyle: 'normal',\n fontWeight: 'normal',\n speak: 'none'\n },\n fontFace: {\n fontFamily: `\"FabricMDL2Icons-5\"`,\n src: `url('${baseUrl}fabric-icons-5-f95ba260.woff') format('woff')`\n },\n icons: {\n 'Certificate': '\\uEB95',\n 'FastForward': '\\uEB9D',\n 'Rewind': '\\uEB9E',\n 'Photo2': '\\uEB9F',\n 'OpenSource': '\\uEBC2',\n 'Movers': '\\uEBCD',\n 'CloudDownload': '\\uEBD3',\n 'Family': '\\uEBDA',\n 'WindDirection': '\\uEBE6',\n 'Bug': '\\uEBE8',\n 'SiteScan': '\\uEBEC',\n 'BrowserScreenShot': '\\uEBED',\n 'F12DevTools': '\\uEBEE',\n 'CSS': '\\uEBEF',\n 'JS': '\\uEBF0',\n 'DeliveryTruck': '\\uEBF4',\n 'ReminderPerson': '\\uEBF7',\n 'ReminderGroup': '\\uEBF8',\n 'ReminderTime': '\\uEBF9',\n 'TabletMode': '\\uEBFC',\n 'Umbrella': '\\uEC04',\n 'NetworkTower': '\\uEC05',\n 'CityNext': '\\uEC06',\n 'CityNext2': '\\uEC07',\n 'Section': '\\uEC0C',\n 'OneNoteLogoInverse': '\\uEC0D',\n 'ToggleFilled': '\\uEC11',\n 'ToggleBorder': '\\uEC12',\n 'SliderThumb': '\\uEC13',\n 'ToggleThumb': '\\uEC14',\n 'Documentation': '\\uEC17',\n 'Badge': '\\uEC1B',\n 'Giftbox': '\\uEC1F',\n 'VisualStudioLogo': '\\uEC22',\n 'HomeGroup': '\\uEC26',\n 'ExcelLogoInverse': '\\uEC28',\n 'WordLogoInverse': '\\uEC29',\n 'PowerPointLogoInverse': '\\uEC2A',\n 'Cafe': '\\uEC32',\n 'SpeedHigh': '\\uEC4A',\n 'Commitments': '\\uEC4D',\n 'ThisPC': '\\uEC4E',\n 'MusicNote': '\\uEC4F',\n 'MicOff': '\\uEC54',\n 'PlaybackRate1x': '\\uEC57',\n 'EdgeLogo': '\\uEC60',\n 'CompletedSolid': '\\uEC61',\n 'AlbumRemove': '\\uEC62',\n 'MessageFill': '\\uEC70',\n 'TabletSelected': '\\uEC74',\n 'MobileSelected': '\\uEC75',\n 'LaptopSelected': '\\uEC76',\n 'TVMonitorSelected': '\\uEC77',\n 'DeveloperTools': '\\uEC7A',\n 'Shapes': '\\uEC7C',\n 'InsertTextBox': '\\uEC7D',\n 'LowerBrightness': '\\uEC8A',\n 'WebComponents': '\\uEC8B',\n 'OfflineStorage': '\\uEC8C',\n 'DOM': '\\uEC8D',\n 'CloudUpload': '\\uEC8E',\n 'ScrollUpDown': '\\uEC8F',\n 'DateTime': '\\uEC92',\n 'Event': '\\uECA3',\n 'Cake': '\\uECA4',\n 'Org': '\\uECA6',\n 'PartyLeader': '\\uECA7',\n 'DRM': '\\uECA8',\n 'CloudAdd': '\\uECA9',\n 'AppIconDefault': '\\uECAA',\n 'Photo2Add': '\\uECAB',\n 'Photo2Remove': '\\uECAC',\n 'Calories': '\\uECAD',\n 'POI': '\\uECAF',\n 'AddTo': '\\uECC8',\n 'RadioBtnOff': '\\uECCA',\n 'RadioBtnOn': '\\uECCB',\n 'ExploreContent': '\\uECCD',\n 'Product': '\\uECDC',\n 'ProgressLoopInner': '\\uECDE',\n 'ProgressLoopOuter': '\\uECDF',\n 'Blocked2': '\\uECE4',\n 'FangBody': '\\uECEB',\n 'Toolbox': '\\uECED',\n 'PageHeader': '\\uECEE',\n 'ChatInviteFriend': '\\uECFE',\n 'Brush': '\\uECFF',\n 'Shirt': '\\uED00',\n 'Crown': '\\uED01',\n 'Diamond': '\\uED02',\n 'ScaleUp': '\\uED09',\n 'QRCode': '\\uED14',\n 'Feedback': '\\uED15',\n 'SharepointLogoInverse': '\\uED18',\n 'YammerLogo': '\\uED19',\n 'Hide': '\\uED1A',\n 'Uneditable': '\\uED1D',\n 'ReturnToSession': '\\uED24',\n 'OpenFolderHorizontal': '\\uED25',\n 'CalendarMirrored': '\\uED28'\n }\n };\n\n registerIcons(subset, options);\n}\n"," // Your use of the content in the files referenced here is subject to the terms of the license at https://aka.ms/fluentui-assets-license\n\nimport {\n IIconOptions,\n IIconSubset,\n registerIcons\n} from '@fluentui/style-utilities';\n\nexport function initializeIcons(\n baseUrl: string = '',\n options?: IIconOptions\n): void {\n const subset: IIconSubset = {\n style: {\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontStyle: 'normal',\n fontWeight: 'normal',\n speak: 'none'\n },\n fontFace: {\n fontFamily: `\"FabricMDL2Icons-6\"`,\n src: `url('${baseUrl}fabric-icons-6-ef6fd590.woff') format('woff')`\n },\n icons: {\n 'SwayLogoInverse': '\\uED29',\n 'OutOfOffice': '\\uED34',\n 'Trophy': '\\uED3F',\n 'ReopenPages': '\\uED50',\n 'EmojiTabSymbols': '\\uED58',\n 'AADLogo': '\\uED68',\n 'AccessLogo': '\\uED69',\n 'AdminALogoInverse32': '\\uED6A',\n 'AdminCLogoInverse32': '\\uED6B',\n 'AdminDLogoInverse32': '\\uED6C',\n 'AdminELogoInverse32': '\\uED6D',\n 'AdminLLogoInverse32': '\\uED6E',\n 'AdminMLogoInverse32': '\\uED6F',\n 'AdminOLogoInverse32': '\\uED70',\n 'AdminPLogoInverse32': '\\uED71',\n 'AdminSLogoInverse32': '\\uED72',\n 'AdminYLogoInverse32': '\\uED73',\n 'DelveLogoInverse': '\\uED76',\n 'ExchangeLogoInverse': '\\uED78',\n 'LyncLogo': '\\uED79',\n 'OfficeVideoLogoInverse': '\\uED7A',\n 'SocialListeningLogo': '\\uED7C',\n 'VisioLogoInverse': '\\uED7D',\n 'Balloons': '\\uED7E',\n 'Cat': '\\uED7F',\n 'MailAlert': '\\uED80',\n 'MailCheck': '\\uED81',\n 'MailLowImportance': '\\uED82',\n 'MailPause': '\\uED83',\n 'MailRepeat': '\\uED84',\n 'SecurityGroup': '\\uED85',\n 'Table': '\\uED86',\n 'VoicemailForward': '\\uED87',\n 'VoicemailReply': '\\uED88',\n 'Waffle': '\\uED89',\n 'RemoveEvent': '\\uED8A',\n 'EventInfo': '\\uED8B',\n 'ForwardEvent': '\\uED8C',\n 'WipePhone': '\\uED8D',\n 'AddOnlineMeeting': '\\uED8E',\n 'JoinOnlineMeeting': '\\uED8F',\n 'RemoveLink': '\\uED90',\n 'PeopleBlock': '\\uED91',\n 'PeopleRepeat': '\\uED92',\n 'PeopleAlert': '\\uED93',\n 'PeoplePause': '\\uED94',\n 'TransferCall': '\\uED95',\n 'AddPhone': '\\uED96',\n 'UnknownCall': '\\uED97',\n 'NoteReply': '\\uED98',\n 'NoteForward': '\\uED99',\n 'NotePinned': '\\uED9A',\n 'RemoveOccurrence': '\\uED9B',\n 'Timeline': '\\uED9C',\n 'EditNote': '\\uED9D',\n 'CircleHalfFull': '\\uED9E',\n 'Room': '\\uED9F',\n 'Unsubscribe': '\\uEDA0',\n 'Subscribe': '\\uEDA1',\n 'HardDrive': '\\uEDA2',\n 'RecurringTask': '\\uEDB2',\n 'TaskManager': '\\uEDB7',\n 'TaskManagerMirrored': '\\uEDB8',\n 'Combine': '\\uEDBB',\n 'Split': '\\uEDBC',\n 'DoubleChevronUp': '\\uEDBD',\n 'DoubleChevronLeft': '\\uEDBE',\n 'DoubleChevronRight': '\\uEDBF',\n 'TextBox': '\\uEDC2',\n 'TextField': '\\uEDC3',\n 'NumberField': '\\uEDC4',\n 'Dropdown': '\\uEDC5',\n 'PenWorkspace': '\\uEDC6',\n 'BookingsLogo': '\\uEDC7',\n 'ClassNotebookLogoInverse': '\\uEDC8',\n 'DelveAnalyticsLogo': '\\uEDCA',\n 'DocsLogoInverse': '\\uEDCB',\n 'Dynamics365Logo': '\\uEDCC',\n 'DynamicSMBLogo': '\\uEDCD',\n 'OfficeAssistantLogo': '\\uEDCE',\n 'OfficeStoreLogo': '\\uEDCF',\n 'OneNoteEduLogoInverse': '\\uEDD0',\n 'PlannerLogo': '\\uEDD1',\n 'PowerApps': '\\uEDD2',\n 'Suitcase': '\\uEDD3',\n 'ProjectLogoInverse': '\\uEDD4',\n 'CaretLeft8': '\\uEDD5',\n 'CaretRight8': '\\uEDD6',\n 'CaretUp8': '\\uEDD7',\n 'CaretDown8': '\\uEDD8',\n 'CaretLeftSolid8': '\\uEDD9',\n 'CaretRightSolid8': '\\uEDDA',\n 'CaretUpSolid8': '\\uEDDB',\n 'CaretDownSolid8': '\\uEDDC',\n 'ClearFormatting': '\\uEDDD',\n 'Superscript': '\\uEDDE',\n 'Subscript': '\\uEDDF',\n 'Strikethrough': '\\uEDE0',\n 'Export': '\\uEDE1',\n 'ExportMirrored': '\\uEDE2'\n }\n };\n\n registerIcons(subset, options);\n}\n"," // Your use of the content in the files referenced here is subject to the terms of the license at https://aka.ms/fluentui-assets-license\n\nimport {\n IIconOptions,\n IIconSubset,\n registerIcons\n} from '@fluentui/style-utilities';\n\nexport function initializeIcons(\n baseUrl: string = '',\n options?: IIconOptions\n): void {\n const subset: IIconSubset = {\n style: {\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontStyle: 'normal',\n fontWeight: 'normal',\n speak: 'none'\n },\n fontFace: {\n fontFamily: `\"FabricMDL2Icons-7\"`,\n src: `url('${baseUrl}fabric-icons-7-2b97bb99.woff') format('woff')`\n },\n icons: {\n 'SingleBookmark': '\\uEDFF',\n 'SingleBookmarkSolid': '\\uEE00',\n 'DoubleChevronDown': '\\uEE04',\n 'FollowUser': '\\uEE05',\n 'ReplyAll': '\\uEE0A',\n 'WorkforceManagement': '\\uEE0F',\n 'RecruitmentManagement': '\\uEE12',\n 'Questionnaire': '\\uEE19',\n 'ManagerSelfService': '\\uEE23',\n 'ProductionFloorManagement': '\\uEE29',\n 'ProductRelease': '\\uEE2E',\n 'ProductVariant': '\\uEE30',\n 'ReplyMirrored': '\\uEE35',\n 'ReplyAllMirrored': '\\uEE36',\n 'Medal': '\\uEE38',\n 'AddGroup': '\\uEE3D',\n 'QuestionnaireMirrored': '\\uEE4B',\n 'CloudImportExport': '\\uEE55',\n 'TemporaryUser': '\\uEE58',\n 'CaretSolid16': '\\uEE62',\n 'GroupedDescending': '\\uEE66',\n 'GroupedAscending': '\\uEE67',\n 'AwayStatus': '\\uEE6A',\n 'MyMoviesTV': '\\uEE6C',\n 'GenericScan': '\\uEE6F',\n 'AustralianRules': '\\uEE70',\n 'WifiEthernet': '\\uEE77',\n 'TrackersMirrored': '\\uEE92',\n 'DateTimeMirrored': '\\uEE93',\n 'StopSolid': '\\uEE95',\n 'DoubleChevronUp12': '\\uEE96',\n 'DoubleChevronDown12': '\\uEE97',\n 'DoubleChevronLeft12': '\\uEE98',\n 'DoubleChevronRight12': '\\uEE99',\n 'CalendarAgenda': '\\uEE9A',\n 'ConnectVirtualMachine': '\\uEE9D',\n 'AddEvent': '\\uEEB5',\n 'AssetLibrary': '\\uEEB6',\n 'DataConnectionLibrary': '\\uEEB7',\n 'DocLibrary': '\\uEEB8',\n 'FormLibrary': '\\uEEB9',\n 'FormLibraryMirrored': '\\uEEBA',\n 'ReportLibrary': '\\uEEBB',\n 'ReportLibraryMirrored': '\\uEEBC',\n 'ContactCard': '\\uEEBD',\n 'CustomList': '\\uEEBE',\n 'CustomListMirrored': '\\uEEBF',\n 'IssueTracking': '\\uEEC0',\n 'IssueTrackingMirrored': '\\uEEC1',\n 'PictureLibrary': '\\uEEC2',\n 'OfficeAddinsLogo': '\\uEEC7',\n 'OfflineOneDriveParachute': '\\uEEC8',\n 'OfflineOneDriveParachuteDisabled': '\\uEEC9',\n 'TriangleSolidUp12': '\\uEECC',\n 'TriangleSolidDown12': '\\uEECD',\n 'TriangleSolidLeft12': '\\uEECE',\n 'TriangleSolidRight12': '\\uEECF',\n 'TriangleUp12': '\\uEED0',\n 'TriangleDown12': '\\uEED1',\n 'TriangleLeft12': '\\uEED2',\n 'TriangleRight12': '\\uEED3',\n 'ArrowUpRight8': '\\uEED4',\n 'ArrowDownRight8': '\\uEED5',\n 'DocumentSet': '\\uEED6',\n 'GoToDashboard': '\\uEEED',\n 'DelveAnalytics': '\\uEEEE',\n 'ArrowUpRightMirrored8': '\\uEEEF',\n 'ArrowDownRightMirrored8': '\\uEEF0',\n 'CompanyDirectory': '\\uEF0D',\n 'OpenEnrollment': '\\uEF1C',\n 'CompanyDirectoryMirrored': '\\uEF2B',\n 'OneDriveAdd': '\\uEF32',\n 'ProfileSearch': '\\uEF35',\n 'Header2': '\\uEF36',\n 'Header3': '\\uEF37',\n 'Header4': '\\uEF38',\n 'RingerSolid': '\\uEF3A',\n 'Eyedropper': '\\uEF3C',\n 'MarketDown': '\\uEF42',\n 'CalendarWorkWeek': '\\uEF51',\n 'SidePanel': '\\uEF52',\n 'GlobeFavorite': '\\uEF53',\n 'CaretTopLeftSolid8': '\\uEF54',\n 'CaretTopRightSolid8': '\\uEF55',\n 'ViewAll2': '\\uEF56',\n 'DocumentReply': '\\uEF57',\n 'PlayerSettings': '\\uEF58',\n 'ReceiptForward': '\\uEF59',\n 'ReceiptReply': '\\uEF5A',\n 'ReceiptCheck': '\\uEF5B',\n 'Fax': '\\uEF5C',\n 'RecurringEvent': '\\uEF5D',\n 'ReplyAlt': '\\uEF5E',\n 'ReplyAllAlt': '\\uEF5F',\n 'EditStyle': '\\uEF60',\n 'EditMail': '\\uEF61',\n 'Lifesaver': '\\uEF62',\n 'LifesaverLock': '\\uEF63',\n 'InboxCheck': '\\uEF64',\n 'FolderSearch': '\\uEF65'\n }\n };\n\n registerIcons(subset, options);\n}\n"," // Your use of the content in the files referenced here is subject to the terms of the license at https://aka.ms/fluentui-assets-license\n\nimport {\n IIconOptions,\n IIconSubset,\n registerIcons\n} from '@fluentui/style-utilities';\n\nexport function initializeIcons(\n baseUrl: string = '',\n options?: IIconOptions\n): void {\n const subset: IIconSubset = {\n style: {\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontStyle: 'normal',\n fontWeight: 'normal',\n speak: 'none'\n },\n fontFace: {\n fontFamily: `\"FabricMDL2Icons-8\"`,\n src: `url('${baseUrl}fabric-icons-8-6fdf1528.woff') format('woff')`\n },\n icons: {\n 'CollapseMenu': '\\uEF66',\n 'ExpandMenu': '\\uEF67',\n 'Boards': '\\uEF68',\n 'SunAdd': '\\uEF69',\n 'SunQuestionMark': '\\uEF6A',\n 'LandscapeOrientation': '\\uEF6B',\n 'DocumentSearch': '\\uEF6C',\n 'PublicCalendar': '\\uEF6D',\n 'PublicContactCard': '\\uEF6E',\n 'PublicEmail': '\\uEF6F',\n 'PublicFolder': '\\uEF70',\n 'WordDocument': '\\uEF71',\n 'PowerPointDocument': '\\uEF72',\n 'ExcelDocument': '\\uEF73',\n 'GroupedList': '\\uEF74',\n 'ClassroomLogo': '\\uEF75',\n 'Sections': '\\uEF76',\n 'EditPhoto': '\\uEF77',\n 'Starburst': '\\uEF78',\n 'ShareiOS': '\\uEF79',\n 'AirTickets': '\\uEF7A',\n 'PencilReply': '\\uEF7B',\n 'Tiles2': '\\uEF7C',\n 'SkypeCircleCheck': '\\uEF7D',\n 'SkypeCircleClock': '\\uEF7E',\n 'SkypeCircleMinus': '\\uEF7F',\n 'SkypeMessage': '\\uEF83',\n 'ClosedCaption': '\\uEF84',\n 'ATPLogo': '\\uEF85',\n 'OfficeFormsLogoInverse': '\\uEF86',\n 'RecycleBin': '\\uEF87',\n 'EmptyRecycleBin': '\\uEF88',\n 'Hide2': '\\uEF89',\n 'Breadcrumb': '\\uEF8C',\n 'BirthdayCake': '\\uEF8D',\n 'TimeEntry': '\\uEF95',\n 'CRMProcesses': '\\uEFB1',\n 'PageEdit': '\\uEFB6',\n 'PageArrowRight': '\\uEFB8',\n 'PageRemove': '\\uEFBA',\n 'Database': '\\uEFC7',\n 'DataManagementSettings': '\\uEFC8',\n 'CRMServices': '\\uEFD2',\n 'EditContact': '\\uEFD3',\n 'ConnectContacts': '\\uEFD4',\n 'AppIconDefaultAdd': '\\uEFDA',\n 'AppIconDefaultList': '\\uEFDE',\n 'ActivateOrders': '\\uEFE0',\n 'DeactivateOrders': '\\uEFE1',\n 'ProductCatalog': '\\uEFE8',\n 'ScatterChart': '\\uEFEB',\n 'AccountActivity': '\\uEFF4',\n 'DocumentManagement': '\\uEFFC',\n 'CRMReport': '\\uEFFE',\n 'KnowledgeArticle': '\\uF000',\n 'Relationship': '\\uF003',\n 'HomeVerify': '\\uF00E',\n 'ZipFolder': '\\uF012',\n 'SurveyQuestions': '\\uF01B',\n 'TextDocument': '\\uF029',\n 'TextDocumentShared': '\\uF02B',\n 'PageCheckedOut': '\\uF02C',\n 'PageShared': '\\uF02D',\n 'SaveAndClose': '\\uF038',\n 'Script': '\\uF03A',\n 'Archive': '\\uF03F',\n 'ActivityFeed': '\\uF056',\n 'Compare': '\\uF057',\n 'EventDate': '\\uF059',\n 'ArrowUpRight': '\\uF069',\n 'CaretRight': '\\uF06B',\n 'SetAction': '\\uF071',\n 'ChatBot': '\\uF08B',\n 'CaretSolidLeft': '\\uF08D',\n 'CaretSolidDown': '\\uF08E',\n 'CaretSolidRight': '\\uF08F',\n 'CaretSolidUp': '\\uF090',\n 'PowerAppsLogo': '\\uF091',\n 'PowerApps2Logo': '\\uF092',\n 'SearchIssue': '\\uF09A',\n 'SearchIssueMirrored': '\\uF09B',\n 'FabricAssetLibrary': '\\uF09C',\n 'FabricDataConnectionLibrary': '\\uF09D',\n 'FabricDocLibrary': '\\uF09E',\n 'FabricFormLibrary': '\\uF09F',\n 'FabricFormLibraryMirrored': '\\uF0A0',\n 'FabricReportLibrary': '\\uF0A1',\n 'FabricReportLibraryMirrored': '\\uF0A2',\n 'FabricPublicFolder': '\\uF0A3',\n 'FabricFolderSearch': '\\uF0A4',\n 'FabricMovetoFolder': '\\uF0A5',\n 'FabricUnsyncFolder': '\\uF0A6',\n 'FabricSyncFolder': '\\uF0A7',\n 'FabricOpenFolderHorizontal': '\\uF0A8',\n 'FabricFolder': '\\uF0A9',\n 'FabricFolderFill': '\\uF0AA',\n 'FabricNewFolder': '\\uF0AB',\n 'FabricPictureLibrary': '\\uF0AC',\n 'PhotoVideoMedia': '\\uF0B1',\n 'AddFavorite': '\\uF0C8'\n }\n };\n\n registerIcons(subset, options);\n}\n"," // Your use of the content in the files referenced here is subject to the terms of the license at https://aka.ms/fluentui-assets-license\n\nimport {\n IIconOptions,\n IIconSubset,\n registerIcons\n} from '@fluentui/style-utilities';\n\nexport function initializeIcons(\n baseUrl: string = '',\n options?: IIconOptions\n): void {\n const subset: IIconSubset = {\n style: {\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontStyle: 'normal',\n fontWeight: 'normal',\n speak: 'none'\n },\n fontFace: {\n fontFamily: `\"FabricMDL2Icons-9\"`,\n src: `url('${baseUrl}fabric-icons-9-c6162b42.woff') format('woff')`\n },\n icons: {\n 'AddFavoriteFill': '\\uF0C9',\n 'BufferTimeBefore': '\\uF0CF',\n 'BufferTimeAfter': '\\uF0D0',\n 'BufferTimeBoth': '\\uF0D1',\n 'PublishContent': '\\uF0D4',\n 'ClipboardList': '\\uF0E3',\n 'ClipboardListMirrored': '\\uF0E4',\n 'CannedChat': '\\uF0F2',\n 'SkypeForBusinessLogo': '\\uF0FC',\n 'TabCenter': '\\uF100',\n 'PageCheckedin': '\\uF104',\n 'PageList': '\\uF106',\n 'ReadOutLoud': '\\uF112',\n 'CaretBottomLeftSolid8': '\\uF121',\n 'CaretBottomRightSolid8': '\\uF122',\n 'FolderHorizontal': '\\uF12B',\n 'MicrosoftStaffhubLogo': '\\uF130',\n 'GiftboxOpen': '\\uF133',\n 'StatusCircleOuter': '\\uF136',\n 'StatusCircleInner': '\\uF137',\n 'StatusCircleRing': '\\uF138',\n 'StatusTriangleOuter': '\\uF139',\n 'StatusTriangleInner': '\\uF13A',\n 'StatusTriangleExclamation': '\\uF13B',\n 'StatusCircleExclamation': '\\uF13C',\n 'StatusCircleErrorX': '\\uF13D',\n 'StatusCircleInfo': '\\uF13F',\n 'StatusCircleBlock': '\\uF140',\n 'StatusCircleBlock2': '\\uF141',\n 'StatusCircleQuestionMark': '\\uF142',\n 'StatusCircleSync': '\\uF143',\n 'Toll': '\\uF160',\n 'ExploreContentSingle': '\\uF164',\n 'CollapseContent': '\\uF165',\n 'CollapseContentSingle': '\\uF166',\n 'InfoSolid': '\\uF167',\n 'GroupList': '\\uF168',\n 'ProgressRingDots': '\\uF16A',\n 'CaloriesAdd': '\\uF172',\n 'BranchFork': '\\uF173',\n 'MuteChat': '\\uF17A',\n 'AddHome': '\\uF17B',\n 'AddWork': '\\uF17C',\n 'MobileReport': '\\uF18A',\n 'ScaleVolume': '\\uF18C',\n 'HardDriveGroup': '\\uF18F',\n 'FastMode': '\\uF19A',\n 'ToggleLeft': '\\uF19E',\n 'ToggleRight': '\\uF19F',\n 'TriangleShape': '\\uF1A7',\n 'RectangleShape': '\\uF1A9',\n 'CubeShape': '\\uF1AA',\n 'Trophy2': '\\uF1AE',\n 'BucketColor': '\\uF1B6',\n 'BucketColorFill': '\\uF1B7',\n 'Taskboard': '\\uF1C2',\n 'SingleColumn': '\\uF1D3',\n 'DoubleColumn': '\\uF1D4',\n 'TripleColumn': '\\uF1D5',\n 'ColumnLeftTwoThirds': '\\uF1D6',\n 'ColumnRightTwoThirds': '\\uF1D7',\n 'AccessLogoFill': '\\uF1DB',\n 'AnalyticsLogo': '\\uF1DE',\n 'AnalyticsQuery': '\\uF1DF',\n 'NewAnalyticsQuery': '\\uF1E0',\n 'AnalyticsReport': '\\uF1E1',\n 'WordLogo': '\\uF1E3',\n 'WordLogoFill': '\\uF1E4',\n 'ExcelLogo': '\\uF1E5',\n 'ExcelLogoFill': '\\uF1E6',\n 'OneNoteLogo': '\\uF1E7',\n 'OneNoteLogoFill': '\\uF1E8',\n 'OutlookLogo': '\\uF1E9',\n 'OutlookLogoFill': '\\uF1EA',\n 'PowerPointLogo': '\\uF1EB',\n 'PowerPointLogoFill': '\\uF1EC',\n 'PublisherLogo': '\\uF1ED',\n 'PublisherLogoFill': '\\uF1EE',\n 'ScheduleEventAction': '\\uF1EF',\n 'FlameSolid': '\\uF1F3',\n 'ServerProcesses': '\\uF1FE',\n 'Server': '\\uF201',\n 'SaveAll': '\\uF203',\n 'LinkedInLogo': '\\uF20A',\n 'Decimals': '\\uF218',\n 'SidePanelMirrored': '\\uF221',\n 'ProtectRestrict': '\\uF22A',\n 'Blog': '\\uF22B',\n 'UnknownMirrored': '\\uF22E',\n 'PublicContactCardMirrored': '\\uF230',\n 'GridViewSmall': '\\uF232',\n 'GridViewMedium': '\\uF233',\n 'GridViewLarge': '\\uF234',\n 'Step': '\\uF241',\n 'StepInsert': '\\uF242',\n 'StepShared': '\\uF243',\n 'StepSharedAdd': '\\uF244',\n 'StepSharedInsert': '\\uF245',\n 'ViewDashboard': '\\uF246',\n 'ViewList': '\\uF247'\n }\n };\n\n registerIcons(subset, options);\n}\n"," // Your use of the content in the files referenced here is subject to the terms of the license at https://aka.ms/fluentui-assets-license\n\nimport {\n IIconOptions,\n IIconSubset,\n registerIcons\n} from '@fluentui/style-utilities';\n\nexport function initializeIcons(\n baseUrl: string = '',\n options?: IIconOptions\n): void {\n const subset: IIconSubset = {\n style: {\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontStyle: 'normal',\n fontWeight: 'normal',\n speak: 'none'\n },\n fontFace: {\n fontFamily: `\"FabricMDL2Icons-10\"`,\n src: `url('${baseUrl}fabric-icons-10-c4ded8e4.woff') format('woff')`\n },\n icons: {\n 'ViewListGroup': '\\uF248',\n 'ViewListTree': '\\uF249',\n 'TriggerAuto': '\\uF24A',\n 'TriggerUser': '\\uF24B',\n 'PivotChart': '\\uF24C',\n 'StackedBarChart': '\\uF24D',\n 'StackedLineChart': '\\uF24E',\n 'BuildQueue': '\\uF24F',\n 'BuildQueueNew': '\\uF250',\n 'UserFollowed': '\\uF25C',\n 'ContactLink': '\\uF25F',\n 'Stack': '\\uF26F',\n 'Bullseye': '\\uF272',\n 'VennDiagram': '\\uF273',\n 'FiveTileGrid': '\\uF274',\n 'FocalPoint': '\\uF277',\n 'Insert': '\\uF278',\n 'RingerRemove': '\\uF279',\n 'TeamsLogoInverse': '\\uF27A',\n 'TeamsLogo': '\\uF27B',\n 'TeamsLogoFill': '\\uF27C',\n 'SkypeForBusinessLogoFill': '\\uF27D',\n 'SharepointLogo': '\\uF27E',\n 'SharepointLogoFill': '\\uF27F',\n 'DelveLogo': '\\uF280',\n 'DelveLogoFill': '\\uF281',\n 'OfficeVideoLogo': '\\uF282',\n 'OfficeVideoLogoFill': '\\uF283',\n 'ExchangeLogo': '\\uF284',\n 'ExchangeLogoFill': '\\uF285',\n 'Signin': '\\uF286',\n 'DocumentApproval': '\\uF28B',\n 'CloneToDesktop': '\\uF28C',\n 'InstallToDrive': '\\uF28D',\n 'Blur': '\\uF28E',\n 'Build': '\\uF28F',\n 'ProcessMetaTask': '\\uF290',\n 'BranchFork2': '\\uF291',\n 'BranchLocked': '\\uF292',\n 'BranchCommit': '\\uF293',\n 'BranchCompare': '\\uF294',\n 'BranchMerge': '\\uF295',\n 'BranchPullRequest': '\\uF296',\n 'BranchSearch': '\\uF297',\n 'BranchShelveset': '\\uF298',\n 'RawSource': '\\uF299',\n 'MergeDuplicate': '\\uF29A',\n 'RowsGroup': '\\uF29B',\n 'RowsChild': '\\uF29C',\n 'Deploy': '\\uF29D',\n 'Redeploy': '\\uF29E',\n 'ServerEnviroment': '\\uF29F',\n 'VisioDiagram': '\\uF2A0',\n 'HighlightMappedShapes': '\\uF2A1',\n 'TextCallout': '\\uF2A2',\n 'IconSetsFlag': '\\uF2A4',\n 'VisioLogo': '\\uF2A7',\n 'VisioLogoFill': '\\uF2A8',\n 'VisioDocument': '\\uF2A9',\n 'TimelineProgress': '\\uF2AA',\n 'TimelineDelivery': '\\uF2AB',\n 'Backlog': '\\uF2AC',\n 'TeamFavorite': '\\uF2AD',\n 'TaskGroup': '\\uF2AE',\n 'TaskGroupMirrored': '\\uF2AF',\n 'ScopeTemplate': '\\uF2B0',\n 'AssessmentGroupTemplate': '\\uF2B1',\n 'NewTeamProject': '\\uF2B2',\n 'CommentAdd': '\\uF2B3',\n 'CommentNext': '\\uF2B4',\n 'CommentPrevious': '\\uF2B5',\n 'ShopServer': '\\uF2B6',\n 'LocaleLanguage': '\\uF2B7',\n 'QueryList': '\\uF2B8',\n 'UserSync': '\\uF2B9',\n 'UserPause': '\\uF2BA',\n 'StreamingOff': '\\uF2BB',\n 'ArrowTallUpLeft': '\\uF2BD',\n 'ArrowTallUpRight': '\\uF2BE',\n 'ArrowTallDownLeft': '\\uF2BF',\n 'ArrowTallDownRight': '\\uF2C0',\n 'FieldEmpty': '\\uF2C1',\n 'FieldFilled': '\\uF2C2',\n 'FieldChanged': '\\uF2C3',\n 'FieldNotChanged': '\\uF2C4',\n 'RingerOff': '\\uF2C5',\n 'PlayResume': '\\uF2C6',\n 'BulletedList2': '\\uF2C7',\n 'BulletedList2Mirrored': '\\uF2C8',\n 'ImageCrosshair': '\\uF2C9',\n 'GitGraph': '\\uF2CA',\n 'Repo': '\\uF2CB',\n 'RepoSolid': '\\uF2CC',\n 'FolderQuery': '\\uF2CD',\n 'FolderList': '\\uF2CE',\n 'FolderListMirrored': '\\uF2CF',\n 'LocationOutline': '\\uF2D0',\n 'POISolid': '\\uF2D1',\n 'CalculatorNotEqualTo': '\\uF2D2',\n 'BoxSubtractSolid': '\\uF2D3'\n }\n };\n\n registerIcons(subset, options);\n}\n"," // Your use of the content in the files referenced here is subject to the terms of the license at https://aka.ms/fluentui-assets-license\n\nimport {\n IIconOptions,\n IIconSubset,\n registerIcons\n} from '@fluentui/style-utilities';\n\nexport function initializeIcons(\n baseUrl: string = '',\n options?: IIconOptions\n): void {\n const subset: IIconSubset = {\n style: {\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontStyle: 'normal',\n fontWeight: 'normal',\n speak: 'none'\n },\n fontFace: {\n fontFamily: `\"FabricMDL2Icons-11\"`,\n src: `url('${baseUrl}fabric-icons-11-2a8393d6.woff') format('woff')`\n },\n icons: {\n 'BoxAdditionSolid': '\\uF2D4',\n 'BoxMultiplySolid': '\\uF2D5',\n 'BoxPlaySolid': '\\uF2D6',\n 'BoxCheckmarkSolid': '\\uF2D7',\n 'CirclePauseSolid': '\\uF2D8',\n 'CirclePause': '\\uF2D9',\n 'MSNVideosSolid': '\\uF2DA',\n 'CircleStopSolid': '\\uF2DB',\n 'CircleStop': '\\uF2DC',\n 'NavigateBack': '\\uF2DD',\n 'NavigateBackMirrored': '\\uF2DE',\n 'NavigateForward': '\\uF2DF',\n 'NavigateForwardMirrored': '\\uF2E0',\n 'UnknownSolid': '\\uF2E1',\n 'UnknownMirroredSolid': '\\uF2E2',\n 'CircleAddition': '\\uF2E3',\n 'CircleAdditionSolid': '\\uF2E4',\n 'FilePDB': '\\uF2E5',\n 'FileTemplate': '\\uF2E6',\n 'FileSQL': '\\uF2E7',\n 'FileJAVA': '\\uF2E8',\n 'FileASPX': '\\uF2E9',\n 'FileCSS': '\\uF2EA',\n 'FileSass': '\\uF2EB',\n 'FileLess': '\\uF2EC',\n 'FileHTML': '\\uF2ED',\n 'JavaScriptLanguage': '\\uF2EE',\n 'CSharpLanguage': '\\uF2EF',\n 'CSharp': '\\uF2F0',\n 'VisualBasicLanguage': '\\uF2F1',\n 'VB': '\\uF2F2',\n 'CPlusPlusLanguage': '\\uF2F3',\n 'CPlusPlus': '\\uF2F4',\n 'FSharpLanguage': '\\uF2F5',\n 'FSharp': '\\uF2F6',\n 'TypeScriptLanguage': '\\uF2F7',\n 'PythonLanguage': '\\uF2F8',\n 'PY': '\\uF2F9',\n 'CoffeeScript': '\\uF2FA',\n 'MarkDownLanguage': '\\uF2FB',\n 'FullWidth': '\\uF2FE',\n 'FullWidthEdit': '\\uF2FF',\n 'Plug': '\\uF300',\n 'PlugSolid': '\\uF301',\n 'PlugConnected': '\\uF302',\n 'PlugDisconnected': '\\uF303',\n 'UnlockSolid': '\\uF304',\n 'Variable': '\\uF305',\n 'Parameter': '\\uF306',\n 'CommentUrgent': '\\uF307',\n 'Storyboard': '\\uF308',\n 'DiffInline': '\\uF309',\n 'DiffSideBySide': '\\uF30A',\n 'ImageDiff': '\\uF30B',\n 'ImagePixel': '\\uF30C',\n 'FileBug': '\\uF30D',\n 'FileCode': '\\uF30E',\n 'FileComment': '\\uF30F',\n 'BusinessHoursSign': '\\uF310',\n 'FileImage': '\\uF311',\n 'FileSymlink': '\\uF312',\n 'AutoFillTemplate': '\\uF313',\n 'WorkItem': '\\uF314',\n 'WorkItemBug': '\\uF315',\n 'LogRemove': '\\uF316',\n 'ColumnOptions': '\\uF317',\n 'Packages': '\\uF318',\n 'BuildIssue': '\\uF319',\n 'AssessmentGroup': '\\uF31A',\n 'VariableGroup': '\\uF31B',\n 'FullHistory': '\\uF31C',\n 'Wheelchair': '\\uF31F',\n 'SingleColumnEdit': '\\uF321',\n 'DoubleColumnEdit': '\\uF322',\n 'TripleColumnEdit': '\\uF323',\n 'ColumnLeftTwoThirdsEdit': '\\uF324',\n 'ColumnRightTwoThirdsEdit': '\\uF325',\n 'StreamLogo': '\\uF329',\n 'PassiveAuthentication': '\\uF32A',\n 'AlertSolid': '\\uF331',\n 'MegaphoneSolid': '\\uF332',\n 'TaskSolid': '\\uF333',\n 'ConfigurationSolid': '\\uF334',\n 'BugSolid': '\\uF335',\n 'CrownSolid': '\\uF336',\n 'Trophy2Solid': '\\uF337',\n 'QuickNoteSolid': '\\uF338',\n 'ConstructionConeSolid': '\\uF339',\n 'PageListSolid': '\\uF33A',\n 'PageListMirroredSolid': '\\uF33B',\n 'StarburstSolid': '\\uF33C',\n 'ReadingModeSolid': '\\uF33D',\n 'SadSolid': '\\uF33E',\n 'HealthSolid': '\\uF33F',\n 'ShieldSolid': '\\uF340',\n 'GiftBoxSolid': '\\uF341',\n 'ShoppingCartSolid': '\\uF342',\n 'MailSolid': '\\uF343',\n 'ChatSolid': '\\uF344',\n 'RibbonSolid': '\\uF345'\n }\n };\n\n registerIcons(subset, options);\n}\n"," // Your use of the content in the files referenced here is subject to the terms of the license at https://aka.ms/fluentui-assets-license\n\nimport {\n IIconOptions,\n IIconSubset,\n registerIcons\n} from '@fluentui/style-utilities';\n\nexport function initializeIcons(\n baseUrl: string = '',\n options?: IIconOptions\n): void {\n const subset: IIconSubset = {\n style: {\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontStyle: 'normal',\n fontWeight: 'normal',\n speak: 'none'\n },\n fontFace: {\n fontFamily: `\"FabricMDL2Icons-12\"`,\n src: `url('${baseUrl}fabric-icons-12-7e945a1e.woff') format('woff')`\n },\n icons: {\n 'FinancialSolid': '\\uF346',\n 'FinancialMirroredSolid': '\\uF347',\n 'HeadsetSolid': '\\uF348',\n 'PermissionsSolid': '\\uF349',\n 'ParkingSolid': '\\uF34A',\n 'ParkingMirroredSolid': '\\uF34B',\n 'DiamondSolid': '\\uF34C',\n 'AsteriskSolid': '\\uF34D',\n 'OfflineStorageSolid': '\\uF34E',\n 'BankSolid': '\\uF34F',\n 'DecisionSolid': '\\uF350',\n 'Parachute': '\\uF351',\n 'ParachuteSolid': '\\uF352',\n 'FiltersSolid': '\\uF353',\n 'ColorSolid': '\\uF354',\n 'ReviewSolid': '\\uF355',\n 'ReviewRequestSolid': '\\uF356',\n 'ReviewRequestMirroredSolid': '\\uF357',\n 'ReviewResponseSolid': '\\uF358',\n 'FeedbackRequestSolid': '\\uF359',\n 'FeedbackRequestMirroredSolid': '\\uF35A',\n 'FeedbackResponseSolid': '\\uF35B',\n 'WorkItemBar': '\\uF35C',\n 'WorkItemBarSolid': '\\uF35D',\n 'Separator': '\\uF35E',\n 'NavigateExternalInline': '\\uF35F',\n 'PlanView': '\\uF360',\n 'TimelineMatrixView': '\\uF361',\n 'EngineeringGroup': '\\uF362',\n 'ProjectCollection': '\\uF363',\n 'CaretBottomRightCenter8': '\\uF364',\n 'CaretBottomLeftCenter8': '\\uF365',\n 'CaretTopRightCenter8': '\\uF366',\n 'CaretTopLeftCenter8': '\\uF367',\n 'DonutChart': '\\uF368',\n 'ChevronUnfold10': '\\uF369',\n 'ChevronFold10': '\\uF36A',\n 'DoubleChevronDown8': '\\uF36B',\n 'DoubleChevronUp8': '\\uF36C',\n 'DoubleChevronLeft8': '\\uF36D',\n 'DoubleChevronRight8': '\\uF36E',\n 'ChevronDownEnd6': '\\uF36F',\n 'ChevronUpEnd6': '\\uF370',\n 'ChevronLeftEnd6': '\\uF371',\n 'ChevronRightEnd6': '\\uF372',\n 'ContextMenu': '\\uF37C',\n 'AzureAPIManagement': '\\uF37F',\n 'AzureServiceEndpoint': '\\uF380',\n 'VSTSLogo': '\\uF381',\n 'VSTSAltLogo1': '\\uF382',\n 'VSTSAltLogo2': '\\uF383',\n 'FileTypeSolution': '\\uF387',\n 'WordLogoInverse16': '\\uF390',\n 'WordLogo16': '\\uF391',\n 'WordLogoFill16': '\\uF392',\n 'PowerPointLogoInverse16': '\\uF393',\n 'PowerPointLogo16': '\\uF394',\n 'PowerPointLogoFill16': '\\uF395',\n 'ExcelLogoInverse16': '\\uF396',\n 'ExcelLogo16': '\\uF397',\n 'ExcelLogoFill16': '\\uF398',\n 'OneNoteLogoInverse16': '\\uF399',\n 'OneNoteLogo16': '\\uF39A',\n 'OneNoteLogoFill16': '\\uF39B',\n 'OutlookLogoInverse16': '\\uF39C',\n 'OutlookLogo16': '\\uF39D',\n 'OutlookLogoFill16': '\\uF39E',\n 'PublisherLogoInverse16': '\\uF39F',\n 'PublisherLogo16': '\\uF3A0',\n 'PublisherLogoFill16': '\\uF3A1',\n 'VisioLogoInverse16': '\\uF3A2',\n 'VisioLogo16': '\\uF3A3',\n 'VisioLogoFill16': '\\uF3A4',\n 'TestBeaker': '\\uF3A5',\n 'TestBeakerSolid': '\\uF3A6',\n 'TestExploreSolid': '\\uF3A7',\n 'TestAutoSolid': '\\uF3A8',\n 'TestUserSolid': '\\uF3A9',\n 'TestImpactSolid': '\\uF3AA',\n 'TestPlan': '\\uF3AB',\n 'TestStep': '\\uF3AC',\n 'TestParameter': '\\uF3AD',\n 'TestSuite': '\\uF3AE',\n 'TestCase': '\\uF3AF',\n 'Sprint': '\\uF3B0',\n 'SignOut': '\\uF3B1',\n 'TriggerApproval': '\\uF3B2',\n 'Rocket': '\\uF3B3',\n 'AzureKeyVault': '\\uF3B4',\n 'Onboarding': '\\uF3BA',\n 'Transition': '\\uF3BC',\n 'LikeSolid': '\\uF3BF',\n 'DislikeSolid': '\\uF3C0',\n 'CRMCustomerInsightsApp': '\\uF3C8',\n 'EditCreate': '\\uF3C9',\n 'PlayReverseResume': '\\uF3E4',\n 'PlayReverse': '\\uF3E5',\n 'SearchData': '\\uF3F1',\n 'UnSetColor': '\\uF3F9',\n 'DeclineCall': '\\uF405'\n }\n };\n\n registerIcons(subset, options);\n}\n"," // Your use of the content in the files referenced here is subject to the terms of the license at https://aka.ms/fluentui-assets-license\n\nimport {\n IIconOptions,\n IIconSubset,\n registerIcons\n} from '@fluentui/style-utilities';\n\nexport function initializeIcons(\n baseUrl: string = '',\n options?: IIconOptions\n): void {\n const subset: IIconSubset = {\n style: {\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontStyle: 'normal',\n fontWeight: 'normal',\n speak: 'none'\n },\n fontFace: {\n fontFamily: `\"FabricMDL2Icons-13\"`,\n src: `url('${baseUrl}fabric-icons-13-c3989a02.woff') format('woff')`\n },\n icons: {\n 'RectangularClipping': '\\uF407',\n 'TeamsLogo16': '\\uF40A',\n 'TeamsLogoFill16': '\\uF40B',\n 'Spacer': '\\uF40D',\n 'SkypeLogo16': '\\uF40E',\n 'SkypeForBusinessLogo16': '\\uF40F',\n 'SkypeForBusinessLogoFill16': '\\uF410',\n 'FilterSolid': '\\uF412',\n 'MailUndelivered': '\\uF415',\n 'MailTentative': '\\uF416',\n 'MailTentativeMirrored': '\\uF417',\n 'MailReminder': '\\uF418',\n 'ReceiptUndelivered': '\\uF419',\n 'ReceiptTentative': '\\uF41A',\n 'ReceiptTentativeMirrored': '\\uF41B',\n 'Inbox': '\\uF41C',\n 'IRMReply': '\\uF41D',\n 'IRMReplyMirrored': '\\uF41E',\n 'IRMForward': '\\uF41F',\n 'IRMForwardMirrored': '\\uF420',\n 'VoicemailIRM': '\\uF421',\n 'EventAccepted': '\\uF422',\n 'EventTentative': '\\uF423',\n 'EventTentativeMirrored': '\\uF424',\n 'EventDeclined': '\\uF425',\n 'IDBadge': '\\uF427',\n 'BackgroundColor': '\\uF42B',\n 'OfficeFormsLogoInverse16': '\\uF433',\n 'OfficeFormsLogo': '\\uF434',\n 'OfficeFormsLogoFill': '\\uF435',\n 'OfficeFormsLogo16': '\\uF436',\n 'OfficeFormsLogoFill16': '\\uF437',\n 'OfficeFormsLogoInverse24': '\\uF43A',\n 'OfficeFormsLogo24': '\\uF43B',\n 'OfficeFormsLogoFill24': '\\uF43C',\n 'PageLock': '\\uF43F',\n 'NotExecuted': '\\uF440',\n 'NotImpactedSolid': '\\uF441',\n 'FieldReadOnly': '\\uF442',\n 'FieldRequired': '\\uF443',\n 'BacklogBoard': '\\uF444',\n 'ExternalBuild': '\\uF445',\n 'ExternalTFVC': '\\uF446',\n 'ExternalXAML': '\\uF447',\n 'IssueSolid': '\\uF448',\n 'DefectSolid': '\\uF449',\n 'LadybugSolid': '\\uF44A',\n 'NugetLogo': '\\uF44C',\n 'TFVCLogo': '\\uF44D',\n 'ProjectLogo32': '\\uF47E',\n 'ProjectLogoFill32': '\\uF47F',\n 'ProjectLogo16': '\\uF480',\n 'ProjectLogoFill16': '\\uF481',\n 'SwayLogo32': '\\uF482',\n 'SwayLogoFill32': '\\uF483',\n 'SwayLogo16': '\\uF484',\n 'SwayLogoFill16': '\\uF485',\n 'ClassNotebookLogo32': '\\uF486',\n 'ClassNotebookLogoFill32': '\\uF487',\n 'ClassNotebookLogo16': '\\uF488',\n 'ClassNotebookLogoFill16': '\\uF489',\n 'ClassNotebookLogoInverse32': '\\uF48A',\n 'ClassNotebookLogoInverse16': '\\uF48B',\n 'StaffNotebookLogo32': '\\uF48C',\n 'StaffNotebookLogoFill32': '\\uF48D',\n 'StaffNotebookLogo16': '\\uF48E',\n 'StaffNotebookLogoFill16': '\\uF48F',\n 'StaffNotebookLogoInverted32': '\\uF490',\n 'StaffNotebookLogoInverted16': '\\uF491',\n 'KaizalaLogo': '\\uF492',\n 'TaskLogo': '\\uF493',\n 'ProtectionCenterLogo32': '\\uF494',\n 'GallatinLogo': '\\uF496',\n 'Globe2': '\\uF49A',\n 'Guitar': '\\uF49B',\n 'Breakfast': '\\uF49C',\n 'Brunch': '\\uF49D',\n 'BeerMug': '\\uF49E',\n 'Vacation': '\\uF49F',\n 'Teeth': '\\uF4A0',\n 'Taxi': '\\uF4A1',\n 'Chopsticks': '\\uF4A2',\n 'SyncOccurence': '\\uF4A3',\n 'UnsyncOccurence': '\\uF4A4',\n 'GIF': '\\uF4A9',\n 'PrimaryCalendar': '\\uF4AE',\n 'SearchCalendar': '\\uF4AF',\n 'VideoOff': '\\uF4B0',\n 'MicrosoftFlowLogo': '\\uF4B1',\n 'BusinessCenterLogo': '\\uF4B2',\n 'ToDoLogoBottom': '\\uF4B3',\n 'ToDoLogoTop': '\\uF4B4',\n 'EditSolid12': '\\uF4B5',\n 'EditSolidMirrored12': '\\uF4B6',\n 'UneditableSolid12': '\\uF4B7',\n 'UneditableSolidMirrored12': '\\uF4B8',\n 'UneditableMirrored': '\\uF4B9',\n 'AdminALogo32': '\\uF4BA',\n 'AdminALogoFill32': '\\uF4BB',\n 'ToDoLogoInverse': '\\uF4BC'\n }\n };\n\n registerIcons(subset, options);\n}\n"," // Your use of the content in the files referenced here is subject to the terms of the license at https://aka.ms/fluentui-assets-license\n\nimport {\n IIconOptions,\n IIconSubset,\n registerIcons\n} from '@fluentui/style-utilities';\n\nexport function initializeIcons(\n baseUrl: string = '',\n options?: IIconOptions\n): void {\n const subset: IIconSubset = {\n style: {\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontStyle: 'normal',\n fontWeight: 'normal',\n speak: 'none'\n },\n fontFace: {\n fontFamily: `\"FabricMDL2Icons-14\"`,\n src: `url('${baseUrl}fabric-icons-14-5cf58db8.woff') format('woff')`\n },\n icons: {\n 'Snooze': '\\uF4BD',\n 'WaffleOffice365': '\\uF4E0',\n 'ImageSearch': '\\uF4E8',\n 'NewsSearch': '\\uF4E9',\n 'VideoSearch': '\\uF4EA',\n 'R': '\\uF4EB',\n 'FontColorA': '\\uF4EC',\n 'FontColorSwatch': '\\uF4ED',\n 'LightWeight': '\\uF4EE',\n 'NormalWeight': '\\uF4EF',\n 'SemiboldWeight': '\\uF4F0',\n 'GroupObject': '\\uF4F1',\n 'UngroupObject': '\\uF4F2',\n 'AlignHorizontalLeft': '\\uF4F3',\n 'AlignHorizontalCenter': '\\uF4F4',\n 'AlignHorizontalRight': '\\uF4F5',\n 'AlignVerticalTop': '\\uF4F6',\n 'AlignVerticalCenter': '\\uF4F7',\n 'AlignVerticalBottom': '\\uF4F8',\n 'HorizontalDistributeCenter': '\\uF4F9',\n 'VerticalDistributeCenter': '\\uF4FA',\n 'Ellipse': '\\uF4FB',\n 'Line': '\\uF4FC',\n 'Octagon': '\\uF4FD',\n 'Hexagon': '\\uF4FE',\n 'Pentagon': '\\uF4FF',\n 'RightTriangle': '\\uF500',\n 'HalfCircle': '\\uF501',\n 'QuarterCircle': '\\uF502',\n 'ThreeQuarterCircle': '\\uF503',\n '6PointStar': '\\uF504',\n '12PointStar': '\\uF505',\n 'ArrangeBringToFront': '\\uF506',\n 'ArrangeSendToBack': '\\uF507',\n 'ArrangeSendBackward': '\\uF508',\n 'ArrangeBringForward': '\\uF509',\n 'BorderDash': '\\uF50A',\n 'BorderDot': '\\uF50B',\n 'LineStyle': '\\uF50C',\n 'LineThickness': '\\uF50D',\n 'WindowEdit': '\\uF50E',\n 'HintText': '\\uF50F',\n 'MediaAdd': '\\uF510',\n 'AnchorLock': '\\uF511',\n 'AutoHeight': '\\uF512',\n 'ChartSeries': '\\uF513',\n 'ChartXAngle': '\\uF514',\n 'ChartYAngle': '\\uF515',\n 'Combobox': '\\uF516',\n 'LineSpacing': '\\uF517',\n 'Padding': '\\uF518',\n 'PaddingTop': '\\uF519',\n 'PaddingBottom': '\\uF51A',\n 'PaddingLeft': '\\uF51B',\n 'PaddingRight': '\\uF51C',\n 'NavigationFlipper': '\\uF51D',\n 'AlignJustify': '\\uF51E',\n 'TextOverflow': '\\uF51F',\n 'VisualsFolder': '\\uF520',\n 'VisualsStore': '\\uF521',\n 'PictureCenter': '\\uF522',\n 'PictureFill': '\\uF523',\n 'PicturePosition': '\\uF524',\n 'PictureStretch': '\\uF525',\n 'PictureTile': '\\uF526',\n 'Slider': '\\uF527',\n 'SliderHandleSize': '\\uF528',\n 'DefaultRatio': '\\uF529',\n 'NumberSequence': '\\uF52A',\n 'GUID': '\\uF52B',\n 'ReportAdd': '\\uF52C',\n 'DashboardAdd': '\\uF52D',\n 'MapPinSolid': '\\uF52E',\n 'WebPublish': '\\uF52F',\n 'PieSingleSolid': '\\uF530',\n 'BlockedSolid': '\\uF531',\n 'DrillDown': '\\uF532',\n 'DrillDownSolid': '\\uF533',\n 'DrillExpand': '\\uF534',\n 'DrillShow': '\\uF535',\n 'SpecialEvent': '\\uF536',\n 'OneDriveFolder16': '\\uF53B',\n 'FunctionalManagerDashboard': '\\uF542',\n 'BIDashboard': '\\uF543',\n 'CodeEdit': '\\uF544',\n 'RenewalCurrent': '\\uF545',\n 'RenewalFuture': '\\uF546',\n 'SplitObject': '\\uF547',\n 'BulkUpload': '\\uF548',\n 'DownloadDocument': '\\uF549',\n 'GreetingCard': '\\uF54B',\n 'Flower': '\\uF54E',\n 'WaitlistConfirm': '\\uF550',\n 'WaitlistConfirmMirrored': '\\uF551',\n 'LaptopSecure': '\\uF552',\n 'DragObject': '\\uF553',\n 'EntryView': '\\uF554',\n 'EntryDecline': '\\uF555',\n 'ContactCardSettings': '\\uF556',\n 'ContactCardSettingsMirrored': '\\uF557'\n }\n };\n\n registerIcons(subset, options);\n}\n"," // Your use of the content in the files referenced here is subject to the terms of the license at https://aka.ms/fluentui-assets-license\n\nimport {\n IIconOptions,\n IIconSubset,\n registerIcons\n} from '@fluentui/style-utilities';\n\nexport function initializeIcons(\n baseUrl: string = '',\n options?: IIconOptions\n): void {\n const subset: IIconSubset = {\n style: {\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontStyle: 'normal',\n fontWeight: 'normal',\n speak: 'none'\n },\n fontFace: {\n fontFamily: `\"FabricMDL2Icons-15\"`,\n src: `url('${baseUrl}fabric-icons-15-3807251b.woff') format('woff')`\n },\n icons: {\n 'CalendarSettings': '\\uF558',\n 'CalendarSettingsMirrored': '\\uF559',\n 'HardDriveLock': '\\uF55A',\n 'HardDriveUnlock': '\\uF55B',\n 'AccountManagement': '\\uF55C',\n 'ReportWarning': '\\uF569',\n 'TransitionPop': '\\uF5B2',\n 'TransitionPush': '\\uF5B3',\n 'TransitionEffect': '\\uF5B4',\n 'LookupEntities': '\\uF5B5',\n 'ExploreData': '\\uF5B6',\n 'AddBookmark': '\\uF5B7',\n 'SearchBookmark': '\\uF5B8',\n 'DrillThrough': '\\uF5B9',\n 'MasterDatabase': '\\uF5BA',\n 'CertifiedDatabase': '\\uF5BB',\n 'MaximumValue': '\\uF5BC',\n 'MinimumValue': '\\uF5BD',\n 'VisualStudioIDELogo32': '\\uF5D0',\n 'PasteAsText': '\\uF5D5',\n 'PasteAsCode': '\\uF5D6',\n 'BrowserTab': '\\uF5D7',\n 'BrowserTabScreenshot': '\\uF5D8',\n 'DesktopScreenshot': '\\uF5D9',\n 'FileYML': '\\uF5DA',\n 'ClipboardSolid': '\\uF5DC',\n 'FabricUserFolder': '\\uF5E5',\n 'FabricNetworkFolder': '\\uF5E6',\n 'BullseyeTarget': '\\uF5F0',\n 'AnalyticsView': '\\uF5F1',\n 'Video360Generic': '\\uF609',\n 'Untag': '\\uF60B',\n 'Leave': '\\uF627',\n 'Trending12': '\\uF62D',\n 'Blocked12': '\\uF62E',\n 'Warning12': '\\uF62F',\n 'CheckedOutByOther12': '\\uF630',\n 'CheckedOutByYou12': '\\uF631',\n 'CircleShapeSolid': '\\uF63C',\n 'SquareShapeSolid': '\\uF63D',\n 'TriangleShapeSolid': '\\uF63E',\n 'DropShapeSolid': '\\uF63F',\n 'RectangleShapeSolid': '\\uF640',\n 'ZoomToFit': '\\uF649',\n 'InsertColumnsLeft': '\\uF64A',\n 'InsertColumnsRight': '\\uF64B',\n 'InsertRowsAbove': '\\uF64C',\n 'InsertRowsBelow': '\\uF64D',\n 'DeleteColumns': '\\uF64E',\n 'DeleteRows': '\\uF64F',\n 'DeleteRowsMirrored': '\\uF650',\n 'DeleteTable': '\\uF651',\n 'AccountBrowser': '\\uF652',\n 'VersionControlPush': '\\uF664',\n 'StackedColumnChart2': '\\uF666',\n 'TripleColumnWide': '\\uF66E',\n 'QuadColumn': '\\uF66F',\n 'WhiteBoardApp16': '\\uF673',\n 'WhiteBoardApp32': '\\uF674',\n 'PinnedSolid': '\\uF676',\n 'InsertSignatureLine': '\\uF677',\n 'ArrangeByFrom': '\\uF678',\n 'Phishing': '\\uF679',\n 'CreateMailRule': '\\uF67A',\n 'PublishCourse': '\\uF699',\n 'DictionaryRemove': '\\uF69A',\n 'UserRemove': '\\uF69B',\n 'UserEvent': '\\uF69C',\n 'Encryption': '\\uF69D',\n 'PasswordField': '\\uF6AA',\n 'OpenInNewTab': '\\uF6AB',\n 'Hide3': '\\uF6AC',\n 'VerifiedBrandSolid': '\\uF6AD',\n 'MarkAsProtected': '\\uF6AE',\n 'AuthenticatorApp': '\\uF6B1',\n 'WebTemplate': '\\uF6B2',\n 'DefenderTVM': '\\uF6B3',\n 'MedalSolid': '\\uF6B9',\n 'D365TalentLearn': '\\uF6BB',\n 'D365TalentInsight': '\\uF6BC',\n 'D365TalentHRCore': '\\uF6BD',\n 'BacklogList': '\\uF6BF',\n 'ButtonControl': '\\uF6C0',\n 'TableGroup': '\\uF6D9',\n 'MountainClimbing': '\\uF6DB',\n 'TagUnknown': '\\uF6DF',\n 'TagUnknownMirror': '\\uF6E0',\n 'TagUnknown12': '\\uF6E1',\n 'TagUnknown12Mirror': '\\uF6E2',\n 'Link12': '\\uF6E3',\n 'Presentation': '\\uF6E4',\n 'Presentation12': '\\uF6E5',\n 'Lock12': '\\uF6E6',\n 'BuildDefinition': '\\uF6E9',\n 'ReleaseDefinition': '\\uF6EA',\n 'SaveTemplate': '\\uF6EC',\n 'UserGauge': '\\uF6ED',\n 'BlockedSiteSolid12': '\\uF70A',\n 'TagSolid': '\\uF70E',\n 'OfficeChat': '\\uF70F'\n }\n };\n\n registerIcons(subset, options);\n}\n"," // Your use of the content in the files referenced here is subject to the terms of the license at https://aka.ms/fluentui-assets-license\n\nimport {\n IIconOptions,\n IIconSubset,\n registerIcons\n} from '@fluentui/style-utilities';\n\nexport function initializeIcons(\n baseUrl: string = '',\n options?: IIconOptions\n): void {\n const subset: IIconSubset = {\n style: {\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontStyle: 'normal',\n fontWeight: 'normal',\n speak: 'none'\n },\n fontFace: {\n fontFamily: `\"FabricMDL2Icons-16\"`,\n src: `url('${baseUrl}fabric-icons-16-9cf93f3b.woff') format('woff')`\n },\n icons: {\n 'OfficeChatSolid': '\\uF710',\n 'MailSchedule': '\\uF72E',\n 'WarningSolid': '\\uF736',\n 'Blocked2Solid': '\\uF737',\n 'SkypeCircleArrow': '\\uF747',\n 'SkypeArrow': '\\uF748',\n 'SyncStatus': '\\uF751',\n 'SyncStatusSolid': '\\uF752',\n 'ProjectDocument': '\\uF759',\n 'ToDoLogoOutline': '\\uF75B',\n 'VisioOnlineLogoFill32': '\\uF75F',\n 'VisioOnlineLogo32': '\\uF760',\n 'VisioOnlineLogoCloud32': '\\uF761',\n 'VisioDiagramSync': '\\uF762',\n 'Event12': '\\uF763',\n 'EventDateMissed12': '\\uF764',\n 'UserOptional': '\\uF767',\n 'ResponsesMenu': '\\uF768',\n 'DoubleDownArrow': '\\uF769',\n 'DistributeDown': '\\uF76A',\n 'BookmarkReport': '\\uF76B',\n 'FilterSettings': '\\uF76C',\n 'GripperDotsVertical': '\\uF772',\n 'MailAttached': '\\uF774',\n 'AddIn': '\\uF775',\n 'LinkedDatabase': '\\uF779',\n 'TableLink': '\\uF77A',\n 'PromotedDatabase': '\\uF77D',\n 'BarChartVerticalFilter': '\\uF77E',\n 'BarChartVerticalFilterSolid': '\\uF77F',\n 'MicOff2': '\\uF781',\n 'MicrosoftTranslatorLogo': '\\uF782',\n 'ShowTimeAs': '\\uF787',\n 'FileRequest': '\\uF789',\n 'WorkItemAlert': '\\uF78F',\n 'PowerBILogo16': '\\uF790',\n 'PowerBILogoBackplate16': '\\uF791',\n 'BulletedListText': '\\uF792',\n 'BulletedListBullet': '\\uF793',\n 'BulletedListTextMirrored': '\\uF794',\n 'BulletedListBulletMirrored': '\\uF795',\n 'NumberedListText': '\\uF796',\n 'NumberedListNumber': '\\uF797',\n 'NumberedListTextMirrored': '\\uF798',\n 'NumberedListNumberMirrored': '\\uF799',\n 'RemoveLinkChain': '\\uF79A',\n 'RemoveLinkX': '\\uF79B',\n 'FabricTextHighlight': '\\uF79C',\n 'ClearFormattingA': '\\uF79D',\n 'ClearFormattingEraser': '\\uF79E',\n 'Photo2Fill': '\\uF79F',\n 'IncreaseIndentText': '\\uF7A0',\n 'IncreaseIndentArrow': '\\uF7A1',\n 'DecreaseIndentText': '\\uF7A2',\n 'DecreaseIndentArrow': '\\uF7A3',\n 'IncreaseIndentTextMirrored': '\\uF7A4',\n 'IncreaseIndentArrowMirrored': '\\uF7A5',\n 'DecreaseIndentTextMirrored': '\\uF7A6',\n 'DecreaseIndentArrowMirrored': '\\uF7A7',\n 'CheckListText': '\\uF7A8',\n 'CheckListCheck': '\\uF7A9',\n 'CheckListTextMirrored': '\\uF7AA',\n 'CheckListCheckMirrored': '\\uF7AB',\n 'NumberSymbol': '\\uF7AC',\n 'Coupon': '\\uF7BC',\n 'VerifiedBrand': '\\uF7BD',\n 'ReleaseGate': '\\uF7BE',\n 'ReleaseGateCheck': '\\uF7BF',\n 'ReleaseGateError': '\\uF7C0',\n 'M365InvoicingLogo': '\\uF7C1',\n 'RemoveFromShoppingList': '\\uF7D5',\n 'ShieldAlert': '\\uF7D7',\n 'FabricTextHighlightComposite': '\\uF7DA',\n 'Dataflows': '\\uF7DD',\n 'GenericScanFilled': '\\uF7DE',\n 'DiagnosticDataBarTooltip': '\\uF7DF',\n 'SaveToMobile': '\\uF7E0',\n 'Orientation2': '\\uF7E1',\n 'ScreenCast': '\\uF7E2',\n 'ShowGrid': '\\uF7E3',\n 'SnapToGrid': '\\uF7E4',\n 'ContactList': '\\uF7E5',\n 'NewMail': '\\uF7EA',\n 'EyeShadow': '\\uF7EB',\n 'FabricFolderConfirm': '\\uF7FF',\n 'InformationBarriers': '\\uF803',\n 'CommentActive': '\\uF804',\n 'ColumnVerticalSectionEdit': '\\uF806',\n 'WavingHand': '\\uF807',\n 'ShakeDevice': '\\uF80A',\n 'SmartGlassRemote': '\\uF80B',\n 'Rotate90Clockwise': '\\uF80D',\n 'Rotate90CounterClockwise': '\\uF80E',\n 'CampaignTemplate': '\\uF811',\n 'ChartTemplate': '\\uF812',\n 'PageListFilter': '\\uF813',\n 'SecondaryNav': '\\uF814',\n 'ColumnVerticalSection': '\\uF81E',\n 'SkypeCircleSlash': '\\uF825',\n 'SkypeSlash': '\\uF826'\n }\n };\n\n registerIcons(subset, options);\n}\n"," // Your use of the content in the files referenced here is subject to the terms of the license at https://aka.ms/fluentui-assets-license\n\nimport {\n IIconOptions,\n IIconSubset,\n registerIcons\n} from '@fluentui/style-utilities';\n\nexport function initializeIcons(\n baseUrl: string = '',\n options?: IIconOptions\n): void {\n const subset: IIconSubset = {\n style: {\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontStyle: 'normal',\n fontWeight: 'normal',\n speak: 'none'\n },\n fontFace: {\n fontFamily: `\"FabricMDL2Icons-17\"`,\n src: `url('${baseUrl}fabric-icons-17-0c4ed701.woff') format('woff')`\n },\n icons: {\n 'CustomizeToolbar': '\\uF828',\n 'DuplicateRow': '\\uF82A',\n 'RemoveFromTrash': '\\uF82B',\n 'MailOptions': '\\uF82C',\n 'Childof': '\\uF82D',\n 'Footer': '\\uF82E',\n 'Header': '\\uF82F',\n 'BarChartVerticalFill': '\\uF830',\n 'StackedColumnChart2Fill': '\\uF831',\n 'PlainText': '\\uF834',\n 'AccessibiltyChecker': '\\uF835',\n 'DatabaseSync': '\\uF842',\n 'ReservationOrders': '\\uF845',\n 'TabOneColumn': '\\uF849',\n 'TabTwoColumn': '\\uF84A',\n 'TabThreeColumn': '\\uF84B',\n 'BulletedTreeList': '\\uF84C',\n 'MicrosoftTranslatorLogoGreen': '\\uF852',\n 'MicrosoftTranslatorLogoBlue': '\\uF853',\n 'InternalInvestigation': '\\uF854',\n 'AddReaction': '\\uF85D',\n 'ContactHeart': '\\uF862',\n 'VisuallyImpaired': '\\uF866',\n 'EventToDoLogo': '\\uF869',\n 'Variable2': '\\uF86D',\n 'ModelingView': '\\uF871',\n 'DisconnectVirtualMachine': '\\uF873',\n 'ReportLock': '\\uF875',\n 'Uneditable2': '\\uF876',\n 'Uneditable2Mirrored': '\\uF877',\n 'BarChartVerticalEdit': '\\uF89D',\n 'GlobalNavButtonActive': '\\uF89F',\n 'PollResults': '\\uF8A0',\n 'Rerun': '\\uF8A1',\n 'QandA': '\\uF8A2',\n 'QandAMirror': '\\uF8A3',\n 'BookAnswers': '\\uF8A4',\n 'AlertSettings': '\\uF8B6',\n 'TrimStart': '\\uF8BB',\n 'TrimEnd': '\\uF8BC',\n 'TableComputed': '\\uF8F5',\n 'DecreaseIndentLegacy': '\\uE290',\n 'IncreaseIndentLegacy': '\\uE291',\n 'SizeLegacy': '\\uE2B2'\n }\n };\n\n registerIcons(subset, options);\n}\n","import { registerIconAlias } from '@fluentui/style-utilities';\n\nexport const registerIconAliases = () => {\n registerIconAlias('trash', 'delete');\n registerIconAlias('onedrive', 'onedrivelogo');\n registerIconAlias('alertsolid12', 'eventdatemissed12');\n registerIconAlias('sixpointstar', '6pointstar');\n registerIconAlias('twelvepointstar', '12pointstar');\n registerIconAlias('toggleon', 'toggleleft');\n registerIconAlias('toggleoff', 'toggleright');\n};\n\nexport default registerIconAliases;\n","// Do not modify this file; it is generated as part of publish.\n// The checked in version is a placeholder only and will not be updated.\nimport { setVersion } from '@fluentui/set-version';\nsetVersion('@fluentui/font-icons-mdl2', '8.5.58');","import { initializeIcons as i } from './fabric-icons';\nimport { initializeIcons as i0 } from './fabric-icons-0';\nimport { initializeIcons as i1 } from './fabric-icons-1';\nimport { initializeIcons as i2 } from './fabric-icons-2';\nimport { initializeIcons as i3 } from './fabric-icons-3';\nimport { initializeIcons as i4 } from './fabric-icons-4';\nimport { initializeIcons as i5 } from './fabric-icons-5';\nimport { initializeIcons as i6 } from './fabric-icons-6';\nimport { initializeIcons as i7 } from './fabric-icons-7';\nimport { initializeIcons as i8 } from './fabric-icons-8';\nimport { initializeIcons as i9 } from './fabric-icons-9';\nimport { initializeIcons as i10 } from './fabric-icons-10';\nimport { initializeIcons as i11 } from './fabric-icons-11';\nimport { initializeIcons as i12 } from './fabric-icons-12';\nimport { initializeIcons as i13 } from './fabric-icons-13';\nimport { initializeIcons as i14 } from './fabric-icons-14';\nimport { initializeIcons as i15 } from './fabric-icons-15';\nimport { initializeIcons as i16 } from './fabric-icons-16';\nimport { initializeIcons as i17 } from './fabric-icons-17';\nimport { IIconOptions, FLUENT_CDN_BASE_URL } from '@fluentui/style-utilities';\nimport { registerIconAliases } from './iconAliases';\nimport { getWindow } from '@fluentui/utilities';\n\nconst DEFAULT_BASE_URL = `${FLUENT_CDN_BASE_URL}/assets/icons/`;\n\n/*\n * The Window variable has the iconBaseUrl prop in order to allow for users to redirect icon font downloads to a new\n * URL. The config can be burned on the page to ensure there are no race conditions which might load resources on\n * script load.\n */\ndeclare global {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n interface Window {\n /**\n * The FabricConfig options can be burned on the page prior to script load to provide\n * alternative defaults at script load time. This helps avoid race conditions by calling\n * `initializeIcons` too late, or in cases where you can't control the `initializeIcons` call,\n * such as using the pre-created Fluent bundle.\n */\n FabricConfig?: {\n /**\n * Controls the base url of the font files. This is useful for scenarios where the fonts\n * are stored on a private CDN other than the default SharePoint CDN.\n */\n fontBaseUrl?: string;\n\n /**\n * Controls the base url of the icon font files. This is useful for scenarios where the icons\n * are stored on a private CDN other than the default SharePoint CDN. Note that in prior\n * iterations, `fontBaseUrl` was used to control both font and icon base urls. While you can\n * still use `fontBaseUrl` to provide a single base url for both, the `iconBaseUrl` will be\n * used first if available.\n */\n iconBaseUrl?: string;\n };\n }\n}\n\nconst win = getWindow();\n\nexport function initializeIcons(\n baseUrl: string = win?.FabricConfig?.iconBaseUrl || win?.FabricConfig?.fontBaseUrl || DEFAULT_BASE_URL,\n options?: IIconOptions,\n): void {\n [i, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17].forEach(\n (initialize: (url: string, options?: IIconOptions) => void) => initialize(baseUrl, options),\n );\n\n registerIconAliases();\n}\n\n/* eslint-disable @typescript-eslint/no-deprecated */\nexport type { IconNamesInput } from './IconNames';\nexport { IconNames } from './IconNames';\n/* eslint-enable @typescript-eslint/no-deprecated */\n\nimport './version';\n","import * as React from 'react';\nimport { concatStyleSets, IStyleSetBase, ITheme } from '@fluentui/style-utilities';\nimport { Customizations, CustomizerContext, ICustomizerContext } from '@fluentui/utilities';\nimport { createFactory } from './slots';\nimport { assign } from './utilities';\n\nimport {\n IComponentOptions,\n ICustomizationProps,\n IStyleableComponentProps,\n IStylesFunctionOrObject,\n IToken,\n ITokenFunction,\n IViewComponent,\n} from './IComponent';\nimport { IDefaultSlotProps, ISlotCreator, ValidProps } from './ISlots';\n\n/**\n * Assembles a higher order component based on the following: styles, theme, view, and state.\n * Imposes a separation of concern and centralizes styling processing to increase ease of use and robustness\n * in how components use and apply styling and theming.\n *\n * Automatically merges and applies themes and styles with theme / styleprops having the highest priority.\n * State component, if provided, is passed in props for processing. Props from state / user are automatically processed\n * and styled before finally being passed to view.\n *\n * State components should contain all stateful behavior and should not generate any JSX, but rather simply call\n * the view prop.\n *\n * Views should simply be stateless pure functions that receive all props needed for rendering their output.\n *\n * State component is optional. If state is not provided, created component is essentially a functional\n * stateless component.\n *\n * @param options - component Component options. See IComponentOptions for more detail.\n */\nexport function createComponent<\n TComponentProps extends ValidProps,\n TTokens,\n TStyleSet extends IStyleSetBase,\n TViewProps extends TComponentProps = TComponentProps,\n TStatics = {},\n>(\n view: IViewComponent,\n options: IComponentOptions = {},\n): React.FunctionComponent & TStatics {\n const { factoryOptions = {} } = options;\n const { defaultProp } = factoryOptions;\n\n const ResultComponent: React.FunctionComponent = (\n componentProps: TComponentProps & IStyleableComponentProps,\n ) => {\n const settings: ICustomizationProps = _getCustomizations(\n options.displayName,\n React.useContext(CustomizerContext),\n options.fields,\n );\n\n const stateReducer = options.state;\n\n if (stateReducer) {\n // Don't assume state will return all props, so spread useState result over component props.\n componentProps = {\n ...componentProps,\n ...stateReducer(componentProps),\n };\n }\n\n const theme = componentProps.theme || settings.theme;\n\n const tokens = _resolveTokens(componentProps, theme, options.tokens, settings.tokens, componentProps.tokens);\n const styles = _resolveStyles(\n componentProps,\n theme,\n tokens,\n options.styles,\n settings.styles,\n componentProps.styles,\n );\n\n const viewProps = {\n ...componentProps,\n styles,\n tokens,\n _defaultStyles: styles,\n theme,\n } as unknown as TViewProps & IDefaultSlotProps;\n\n return view(viewProps);\n };\n\n ResultComponent.displayName = options.displayName || view.name;\n\n // If a shorthand prop is defined, create a factory for the component.\n // TODO: This shouldn't be a concern of createComponent.. factoryOptions should just be forwarded.\n // Need to weigh creating default factories on component creation vs. memoizing them on use in slots.tsx.\n if (defaultProp) {\n (ResultComponent as ISlotCreator).create = createFactory(ResultComponent, { defaultProp });\n }\n\n assign(ResultComponent, options.statics);\n\n // Later versions of TypeSript should allow us to merge objects in a type safe way and avoid this cast.\n return ResultComponent as React.FunctionComponent & TStatics;\n}\n\n/**\n * Resolve all styles functions with both props and tokens and flatten results along with all styles objects.\n */\nfunction _resolveStyles(\n props: TProps,\n theme: ITheme,\n tokens: TTokens,\n ...allStyles: (IStylesFunctionOrObject | undefined)[]\n): ReturnType {\n return concatStyleSets(\n ...allStyles.map((styles: IStylesFunctionOrObject | undefined) =>\n typeof styles === 'function' ? styles(props, theme, tokens) : styles,\n ),\n );\n}\n\n/**\n * Resolve all tokens functions with props flatten results along with all tokens objects.\n */\nfunction _resolveTokens(\n props: TViewProps,\n theme: ITheme,\n ...allTokens: (IToken | false | null | undefined)[]\n): TTokens {\n const tokens = {};\n\n for (let currentTokens of allTokens) {\n if (currentTokens) {\n // TODO: why is this cast needed? TS seems to think there is a (TToken | Function) union from somewhere.\n currentTokens =\n typeof currentTokens === 'function'\n ? (currentTokens as ITokenFunction)(props, theme)\n : currentTokens;\n\n if (Array.isArray(currentTokens)) {\n currentTokens = _resolveTokens(props, theme, ...currentTokens);\n }\n\n assign(tokens, currentTokens);\n }\n }\n\n return tokens as TTokens;\n}\n\n/**\n * Helper function for calling Customizations.getSettings falling back to default fields.\n *\n * @param displayName Displayable name for component.\n * @param context React context passed to component containing contextual settings.\n * @param fields Optional list of properties to grab from global store and context.\n */\nfunction _getCustomizations(\n displayName: string | undefined,\n context: ICustomizerContext,\n fields?: string[],\n): ICustomizationProps {\n // TODO: do we want field props? should fields be part of IComponent and used here?\n // TODO: should we centrally define DefaultFields? (not exported from styling)\n // TODO: tie this array to ICustomizationProps, such that each array element is keyof ICustomizationProps\n const DefaultFields = ['theme', 'styles', 'tokens'];\n return Customizations.getSettings(fields || DefaultFields, displayName, context.customizations);\n}\n","import * as React from 'react';\nimport { mergeCss } from '@fluentui/merge-styles';\nimport { IStyle, ITheme } from '@fluentui/style-utilities';\nimport { getRTL, memoizeFunction } from '@fluentui/utilities';\nimport { assign } from './utilities';\nimport { IFactoryOptions } from './IComponent';\nimport {\n ISlottableReactType,\n ISlot,\n ISlots,\n ISlotDefinition,\n ISlotFactory,\n ISlotProp,\n ISlottableProps,\n ISlotOptions,\n IDefaultSlotProps,\n IProcessedSlotProps,\n ValidProps,\n ValidShorthand,\n} from './ISlots';\n\n/**\n * This function is required for any module that uses slots.\n *\n * This function is a slot resolver that automatically evaluates slot functions to generate React elements.\n * A byproduct of this resolver is that it removes slots from the React hierarchy by bypassing React.createElement.\n *\n * To use this function on a per-file basis, use the jsx directive targeting withSlots.\n * This directive must be the FIRST LINE in the file to work correctly.\n * Usage of this pragma also requires withSlots import statement.\n *\n * See React.createElement\n */\n// Can't use typeof on React.createElement since it's overloaded. Approximate createElement's signature for now\n// and widen as needed.\nexport function withSlots

(\n type: ISlot

| React.FunctionComponent

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

;\n if (slotType.isSlot) {\n // Since we are bypassing createElement, use React.Children.toArray to make sure children are\n // properly assigned keys.\n // TODO: should this be mutating? does React mutate children subprop with createElement?\n // TODO: will toArray clobber existing keys?\n // TODO: React generates warnings because it doesn't detect hidden member _store that is set in createElement.\n // Even children passed to createElement without keys don't generate this warning.\n // Is there a better way to prevent slots from appearing in hierarchy? toArray doesn't address root issue.\n children = React.Children.toArray(children);\n\n // TODO: There is something weird going on here with children embedded in props vs. rest args.\n // Comment out these lines to see. Make sure this function is doing the right things.\n if (children.length === 0) {\n return slotType(props);\n }\n\n return slotType({ ...(props as any), children });\n } else {\n // TODO: Are there some cases where children should NOT be spread? Also, spreading reraises perf question.\n // Children had to be spread to avoid breaking KeytipData in Toggle.view:\n // react-dom.development.js:18931 Uncaught TypeError: children is not a function\n // Without spread, function child is a child array of one element\n // TODO: is there a reason this can't be:\n // return React.createElement.apply(this, arguments);\n return React.createElement(type, props, ...children);\n }\n}\n\n/**\n * This function creates factories that render ouput depending on the user ISlotProp props passed in.\n * @param DefaultComponent - Base component to render when not overridden by user props.\n * @param options - Factory options, including defaultProp value for shorthand prop mapping.\n * @returns ISlotFactory function used for rendering slots.\n */\nexport function createFactory(\n DefaultComponent: React.ComponentType,\n options: IFactoryOptions = {},\n): ISlotFactory {\n const { defaultProp = 'children' } = options;\n\n const result: ISlotFactory = (\n componentProps,\n userProps,\n userSlotOptions,\n defaultStyles,\n theme,\n ) => {\n // If they passed in raw JSX, just return that.\n if (React.isValidElement(userProps)) {\n return userProps;\n }\n\n const flattenedUserProps: TProps | undefined = _translateShorthand(defaultProp as string, userProps);\n const finalProps = _constructFinalProps(defaultStyles, theme, componentProps, flattenedUserProps);\n\n if (userSlotOptions) {\n if (userSlotOptions.component) {\n // TODO: Remove cast if possible. This cast is needed because TS errors on the intrinsic portion of ReactType.\n // return ;\n const UserComponent = userSlotOptions.component as React.ComponentType;\n return ;\n }\n\n if (userSlotOptions.render) {\n return userSlotOptions.render(finalProps, DefaultComponent);\n }\n }\n\n return ;\n };\n\n return result;\n}\n\n/**\n * Default factory for components without explicit factories.\n */\nconst defaultFactory = memoizeFunction(type => createFactory(type));\n\n/**\n * This function generates slots that can be used in JSX given a definition of slots and their corresponding types.\n * @param userProps - Props as pass to component.\n * @param slots - Slot definition object defining the default slot component for each slot.\n * @returns A set of created slots that components can render in JSX.\n */\nexport function getSlots, TComponentSlots>(\n userProps: TComponentProps,\n slots: ISlotDefinition>,\n): ISlots> {\n const result: ISlots> = {} as ISlots>;\n\n // userProps already has default props mixed in by createComponent. Recast here to gain typing for this function.\n const mixedProps = userProps as TComponentProps & IDefaultSlotProps;\n\n for (const name in slots) {\n if (slots.hasOwnProperty(name)) {\n // This closure method requires the use of withSlots to prevent unnecessary rerenders. This is because React\n // detects each closure as a different component (since it is a new instance) from the previous one and then\n // forces a rerender of the entire slot subtree. For now, the only way to avoid this is to use withSlots, which\n // bypasses the call to React.createElement.\n const slot: ISlots>[keyof TComponentSlots] = (componentProps, ...args: any[]) => {\n if (args.length > 0) {\n // If React.createElement is being incorrectly used with slots, there will be additional arguments.\n // We can detect these additional arguments and error on their presence.\n throw new Error('Any module using getSlots must use withSlots. Please see withSlots javadoc for more info.');\n }\n // TODO: having TS infer types here seems to cause infinite loop.\n // use explicit types or casting to preserve typing if possible.\n // TODO: this should be a lookup on TProps property instead of being TProps directly, which is probably\n // causing the infinite loop\n return _renderSlot(\n slots[name],\n // TODO: this cast to any is hiding a relationship issue between the first two args\n componentProps as any,\n mixedProps[name],\n mixedProps.slots && mixedProps.slots[name],\n // _defaultStyles should always be present, but a check for existence is added to make view tests\n // easier to use.\n mixedProps._defaultStyles && mixedProps._defaultStyles[name],\n (mixedProps as any).theme,\n );\n };\n slot.isSlot = true;\n result[name] = slot;\n }\n }\n\n return result;\n}\n\n/**\n * Helper function that translates shorthand as needed.\n * @param defaultProp\n * @param slotProps\n */\nfunction _translateShorthand(\n defaultProp: string,\n slotProps: ISlotProp,\n): TProps | undefined {\n let transformedProps: TProps | undefined;\n\n if (typeof slotProps === 'string' || typeof slotProps === 'number' || typeof slotProps === 'boolean') {\n transformedProps = {\n [defaultProp]: slotProps as any,\n } as TProps;\n } else {\n transformedProps = slotProps as TProps;\n }\n\n return transformedProps;\n}\n\n/**\n * Helper function that constructs final styles and props given a series of props ordered by increasing priority.\n */\nfunction _constructFinalProps(\n defaultStyles: IStyle,\n theme?: ITheme,\n ...allProps: (TProps | undefined)[]\n): TProps {\n const finalProps: TProps = {} as any;\n const classNames: (string | undefined)[] = [];\n\n for (const props of allProps) {\n classNames.push(props && props.className);\n assign(finalProps, props);\n }\n\n finalProps.className = mergeCss([defaultStyles, classNames], { rtl: getRTL(theme) });\n\n return finalProps;\n}\n\n/**\n * Render a slot given component and user props. Uses component factory if available, otherwise falls back\n * to default factory.\n * @param ComponentType Factory component type.\n * @param componentProps The properties passed into slot from within the component.\n * @param userProps The user properties passed in from outside of the component.\n */\nfunction _renderSlot<\n TSlotComponent extends ISlottableReactType,\n TSlotProps extends ValidProps,\n TSlotShorthand extends ValidShorthand,\n>(\n ComponentType: TSlotComponent,\n componentProps: TSlotProps,\n userProps: ISlotProp,\n slotOptions: ISlotOptions | undefined,\n defaultStyles: IStyle,\n theme?: ITheme,\n): ReturnType {\n if (ComponentType.create !== undefined) {\n return ComponentType.create(componentProps, userProps, slotOptions, defaultStyles);\n } else {\n // TODO: need to resolve typing / generic issues passing through memoizeFunction. for now, cast to 'unknown'\n return (defaultFactory(ComponentType) as unknown as ISlotFactory)(\n componentProps,\n userProps,\n slotOptions,\n defaultStyles,\n theme,\n );\n }\n}\n","import { __assign } from 'tslib';\nexport const assign = __assign;\n","export const Alt = 'Alt';\nexport const AltGraph = 'AltGraph';\nexport const CapsLock = 'CapsLock';\nexport const Control = 'Control';\nexport const Fn = 'Fn';\nexport const FnLock = 'FnLock';\nexport const Meta = 'Meta';\nexport const NumLock = 'NumLock';\nexport const ScrollLock = 'ScrollLock';\nexport const Shift = 'Shift';\nexport const Symbol = 'Symbol';\nexport const SymbolLock = 'SymbolLock';\nexport const Hyper = 'Hyper';\nexport const Super = 'Super';\nexport const Enter = 'Enter';\nexport const Space = ' ';\nexport const Tab = 'Tab';\nexport const ArrowDown = 'ArrowDown';\nexport const ArrowLeft = 'ArrowLeft';\nexport const ArrowRight = 'ArrowRight';\nexport const ArrowUp = 'ArrowUp';\nexport const End = 'End';\nexport const Home = 'Home';\nexport const PageDown = 'PageDown';\nexport const PageUp = 'PageUp';\nexport const Backspace = 'Backspace';\nexport const Clear = 'Clear';\nexport const Copy = 'Copy';\nexport const CrSel = 'CrSel';\nexport const Cut = 'Cut';\nexport const Delete = 'Delete';\nexport const EraseEof = 'EraseEof';\nexport const ExSel = 'ExSel';\nexport const Insert = 'Insert';\nexport const Paste = 'Paste';\nexport const Redo = 'Redo';\nexport const Undo = 'Undo';\nexport const Accept = 'Accept';\nexport const Again = 'Again';\nexport const Attn = 'Attn';\nexport const Cancel = 'Cancel';\nexport const ContextMenu = 'ContextMenu';\nexport const Escape = 'Escape';\nexport const Execute = 'Execute';\nexport const Find = 'Find';\nexport const Help = 'Help';\nexport const Pause = 'Pause';\nexport const Play = 'Play';\nexport const Props = 'Props';\nexport const Select = 'Select';\nexport const ZoomIn = 'ZoomIn';\nexport const ZoomOut = 'ZoomOut';\nexport const BrightnessDown = 'BrightnessDown';\nexport const BrightnessUp = 'BrightnessUp';\nexport const Eject = 'Eject';\nexport const LogOff = 'LogOff';\nexport const Power = 'Power';\nexport const PowerOff = 'PowerOff';\nexport const PrintScreen = 'PrintScreen';\nexport const Hibernate = 'Hibernate';\nexport const Standby = 'Standby';\nexport const WakeUp = 'WakeUp';\nexport const AllCandidates = 'AllCandidates';\nexport const Alphanumeric = 'Alphanumeric';\nexport const CodeInput = 'CodeInput';\nexport const Compose = 'Compose';\nexport const Convert = 'Convert';\nexport const Dead = 'Dead';\nexport const FinalMode = 'FinalMode';\nexport const GroupFirst = 'GroupFirst';\nexport const GroupLast = 'GroupLast';\nexport const GroupNext = 'GroupNext';\nexport const GroupPrevious = 'GroupPrevious';\nexport const ModeChange = 'ModeChange';\nexport const NextCandidate = 'NextCandidate';\nexport const NonConvert = 'NonConvert';\nexport const PreviousCandidate = 'PreviousCandidate';\nexport const Process = 'Process';\nexport const SingleCandidate = 'SingleCandidate';\nexport const HangulMode = 'HangulMode';\nexport const HanjaMode = 'HanjaMode';\nexport const JunjaMode = 'JunjaMode';\nexport const Eisu = 'Eisu';\nexport const Hankaku = 'Hankaku';\nexport const Hiragana = 'Hiragana';\nexport const HiraganaKatakana = 'HiraganaKatakana';\nexport const KanaMode = 'KanaMode';\nexport const KanjiMode = 'KanjiMode';\nexport const Katakana = 'Katakana';\nexport const Romaji = 'Romaji';\nexport const Zenkaku = 'Zenkaku';\nexport const ZenkakuHankaku = 'ZenkakuHankaku';\nexport const F1 = 'F1';\nexport const F2 = 'F2';\nexport const F3 = 'F3';\nexport const F4 = 'F4';\nexport const F5 = 'F5';\nexport const F6 = 'F6';\nexport const F7 = 'F7';\nexport const F8 = 'F8';\nexport const F9 = 'F9';\nexport const F10 = 'F10';\nexport const F11 = 'F11';\nexport const F12 = 'F12';\nexport const Soft1 = 'Soft1';\nexport const Soft2 = 'Soft2';\nexport const Soft3 = 'Soft3';\nexport const Soft4 = 'Soft4';\nexport const ChannelDown = 'ChannelDown';\nexport const ChannelUp = 'ChannelUp';\nexport const Close = 'Close';\nexport const MailForward = 'MailForward';\nexport const MailReply = 'MailReply';\nexport const MailSend = 'MailSend';\nexport const MediaClose = 'MediaClose';\nexport const MediaFastForward = 'MediaFastForward';\nexport const MediaPause = 'MediaPause';\nexport const MediaPlay = 'MediaPlay';\nexport const MediaPlayPause = 'MediaPlayPause';\nexport const MediaRecord = 'MediaRecord';\nexport const MediaRewind = 'MediaRewind';\nexport const MediaStop = 'MediaStop';\nexport const MediaTrackNext = 'MediaTrackNext';\nexport const MediaTrackPrevious = 'MediaTrackPrevious';\nexport const New = 'New';\nexport const Open = 'Open';\nexport const Print = 'Print';\nexport const Save = 'Save';\nexport const SpellCheck = 'SpellCheck';\nexport const Key11 = 'Key11';\nexport const Key12 = 'Key12';\nexport const AudioBalanceLeft = 'AudioBalanceLeft';\nexport const AudioBalanceRight = 'AudioBalanceRight';\nexport const AudioBassBoostDown = 'AudioBassBoostDown';\nexport const AudioBassBoostToggle = 'AudioBassBoostToggle';\nexport const AudioBassBoostUp = 'AudioBassBoostUp';\nexport const AudioFaderFront = 'AudioFaderFront';\nexport const AudioFaderRear = 'AudioFaderRear';\nexport const AudioSurroundModeNext = 'AudioSurroundModeNext';\nexport const AudioTrebleDown = 'AudioTrebleDown';\nexport const AudioTrebleUp = 'AudioTrebleUp';\nexport const AudioVolumeDown = 'AudioVolumeDown';\nexport const AudioVolumeUp = 'AudioVolumeUp';\nexport const AudioVolumeMute = 'AudioVolumeMute';\nexport const MicrophoneToggle = 'MicrophoneToggle';\nexport const MicrophoneVolumeDown = 'MicrophoneVolumeDown';\nexport const MicrophoneVolumeUp = 'MicrophoneVolumeUp';\nexport const MicrophoneVolumeMute = 'MicrophoneVolumeMute';\nexport const SpeechCorrectionList = 'SpeechCorrectionList';\nexport const SpeechInputToggle = 'SpeechInputToggle';\nexport const LaunchApplication1 = 'LaunchApplication1';\nexport const LaunchApplication2 = 'LaunchApplication2';\nexport const LaunchCalendar = 'LaunchCalendar';\nexport const LaunchContacts = 'LaunchContacts';\nexport const LaunchMail = 'LaunchMail';\nexport const LaunchMediaPlayer = 'LaunchMediaPlayer';\nexport const LaunchMusicPlayer = 'LaunchMusicPlayer';\nexport const LaunchPhone = 'LaunchPhone';\nexport const LaunchScreenSaver = 'LaunchScreenSaver';\nexport const LaunchSpreadsheet = 'LaunchSpreadsheet';\nexport const LaunchWebBrowser = 'LaunchWebBrowser';\nexport const LaunchWebCam = 'LaunchWebCam';\nexport const LaunchWordProcessor = 'LaunchWordProcessor';\nexport const BrowserBack = 'BrowserBack';\nexport const BrowserFavorites = 'BrowserFavorites';\nexport const BrowserForward = 'BrowserForward';\nexport const BrowserHome = 'BrowserHome';\nexport const BrowserRefresh = 'BrowserRefresh';\nexport const BrowserSearch = 'BrowserSearch';\nexport const BrowserStop = 'BrowserStop';\nexport const AppSwitch = 'AppSwitch';\nexport const Call = 'Call';\nexport const Camera = 'Camera';\nexport const CameraFocus = 'CameraFocus';\nexport const EndCall = 'EndCall';\nexport const GoBack = 'GoBack';\nexport const GoHome = 'GoHome';\nexport const HeadsetHook = 'HeadsetHook';\nexport const LastNumberRedial = 'LastNumberRedial';\nexport const Notification = 'Notification';\nexport const MannerMode = 'MannerMode';\nexport const VoiceDial = 'VoiceDial';\nexport const TV = 'TV';\nexport const TV3DMode = 'TV3DMode';\nexport const TVAntennaCable = 'TVAntennaCable';\nexport const TVAudioDescription = 'TVAudioDescription';\nexport const TVAudioDescriptionMixDown = 'TVAudioDescriptionMixDown';\nexport const TVAudioDescriptionMixUp = 'TVAudioDescriptionMixUp';\nexport const TVContentsMenu = 'TVContentsMenu';\nexport const TVDataService = 'TVDataService';\nexport const TVInput = 'TVInput';\nexport const TVInputComponent1 = 'TVInputComponent1';\nexport const TVInputComponent2 = 'TVInputComponent2';\nexport const TVInputComposite1 = 'TVInputComposite1';\nexport const TVInputComposite2 = 'TVInputComposite2';\nexport const TVInputHDMI1 = 'TVInputHDMI1';\nexport const TVInputHDMI2 = 'TVInputHDMI2';\nexport const TVInputHDMI3 = 'TVInputHDMI3';\nexport const TVInputHDMI4 = 'TVInputHDMI4';\nexport const TVInputVGA1 = 'TVInputVGA1';\nexport const TVMediaContext = 'TVMediaContext';\nexport const TVNetwork = 'TVNetwork';\nexport const TVNumberEntry = 'TVNumberEntry';\nexport const TVPower = 'TVPower';\nexport const TVRadioService = 'TVRadioService';\nexport const TVSatellite = 'TVSatellite';\nexport const TVSatelliteBS = 'TVSatelliteBS';\nexport const TVSatelliteCS = 'TVSatelliteCS';\nexport const TVSatelliteToggle = 'TVSatelliteToggle';\nexport const TVTerrestrialAnalog = 'TVTerrestrialAnalog';\nexport const TVTerrestrialDigital = 'TVTerrestrialDigital';\nexport const TVTimer = 'TVTimer';\nexport const AVRInput = 'AVRInput';\nexport const AVRPower = 'AVRPower';\nexport const ColorF0Red = 'ColorF0Red';\nexport const ColorF1Green = 'ColorF1Green';\nexport const ColorF2Yellow = 'ColorF2Yellow';\nexport const ColorF3Blue = 'ColorF3Blue';\nexport const ColorF4Grey = 'ColorF4Grey';\nexport const ColorF5Brown = 'ColorF5Brown';\nexport const ClosedCaptionToggle = 'ClosedCaptionToggle';\nexport const Dimmer = 'Dimmer';\nexport const DisplaySwap = 'DisplaySwap';\nexport const DVR = 'DVR';\nexport const Exit = 'Exit';\nexport const FavoriteClear0 = 'FavoriteClear0';\nexport const FavoriteClear1 = 'FavoriteClear1';\nexport const FavoriteClear2 = 'FavoriteClear2';\nexport const FavoriteClear3 = 'FavoriteClear3';\nexport const FavoriteRecall0 = 'FavoriteRecall0';\nexport const FavoriteRecall1 = 'FavoriteRecall1';\nexport const FavoriteRecall2 = 'FavoriteRecall2';\nexport const FavoriteRecall3 = 'FavoriteRecall3';\nexport const FavoriteStore0 = 'FavoriteStore0';\nexport const FavoriteStore1 = 'FavoriteStore1';\nexport const FavoriteStore2 = 'FavoriteStore2';\nexport const FavoriteStore3 = 'FavoriteStore3';\nexport const Guide = 'Guide';\nexport const GuideNextDay = 'GuideNextDay';\nexport const GuidePreviousDay = 'GuidePreviousDay';\nexport const Info = 'Info';\nexport const InstantReplay = 'InstantReplay';\nexport const Link = 'Link';\nexport const ListProgram = 'ListProgram';\nexport const LiveContent = 'LiveContent';\nexport const Lock = 'Lock';\nexport const MediaApps = 'MediaApps';\nexport const MediaAudioTrack = 'MediaAudioTrack';\nexport const MediaLast = 'MediaLast';\nexport const MediaSkipBackward = 'MediaSkipBackward';\nexport const MediaSkipForward = 'MediaSkipForward';\nexport const MediaStepBackward = 'MediaStepBackward';\nexport const MediaStepForward = 'MediaStepForward';\nexport const MediaTopMenu = 'MediaTopMenu';\nexport const NavigateIn = 'NavigateIn';\nexport const NavigateNext = 'NavigateNext';\nexport const NavigateOut = 'NavigateOut';\nexport const NavigatePrevious = 'NavigatePrevious';\nexport const NextFavoriteChannel = 'NextFavoriteChannel';\nexport const NextUserProfile = 'NextUserProfile';\nexport const OnDemand = 'OnDemand';\nexport const Pairing = 'Pairing';\nexport const PinPDown = 'PinPDown';\nexport const PinPMove = 'PinPMove';\nexport const PinPToggle = 'PinPToggle';\nexport const PinPUp = 'PinPUp';\nexport const PlaySpeedDown = 'PlaySpeedDown';\nexport const PlaySpeedReset = 'PlaySpeedReset';\nexport const PlaySpeedUp = 'PlaySpeedUp';\nexport const RandomToggle = 'RandomToggle';\nexport const RcLowBattery = 'RcLowBattery';\nexport const RecordSpeedNext = 'RecordSpeedNext';\nexport const RfBypass = 'RfBypass';\nexport const ScanChannelsToggle = 'ScanChannelsToggle';\nexport const ScreenModeNext = 'ScreenModeNext';\nexport const Settings = 'Settings';\nexport const SplitScreenToggle = 'SplitScreenToggle';\nexport const STBInput = 'STBInput';\nexport const STBPower = 'STBPower';\nexport const Subtitle = 'Subtitle';\nexport const Teletext = 'Teletext';\nexport const VideoModeNext = 'VideoModeNext';\nexport const Wink = 'Wink';\nexport const ZoomToggle = 'ZoomToggle';\nexport const MediaNextTrack = 'MediaNextTrack';\nexport const MediaPreviousTrack = 'MediaPreviousTrack';\nexport const Unidentified = 'Unidentified';\n","import { IStyleOptions } from './IStyleOptions';\nimport { DEFAULT_SHADOW_CONFIG } from './shadowConfig';\n\n/**\n * Sets the current RTL value.\n */\nexport function setRTL(isRTL: boolean): void {\n if (_rtl !== isRTL) {\n _rtl = isRTL;\n }\n}\n\n/**\n * Gets the current RTL value.\n */\nexport function getRTL(): boolean {\n if (_rtl === undefined) {\n _rtl =\n // eslint-disable-next-line no-restricted-globals\n typeof document !== 'undefined' &&\n // eslint-disable-next-line no-restricted-globals\n !!document.documentElement &&\n // eslint-disable-next-line no-restricted-globals\n document.documentElement.getAttribute('dir') === 'rtl';\n }\n return _rtl;\n}\n\n// This has been split into 2 lines because it was working in Fabric due to the code being transpiled to es5, so this\n// was converted to var while not working in Fluent that uses babel to transpile the code to be es6-like. Splitting the\n// logic into two lines, however, allows it to work in both scenarios.\nlet _rtl: boolean;\n_rtl = getRTL();\n\nexport function getStyleOptions(): IStyleOptions {\n return {\n rtl: getRTL(),\n shadowConfig: DEFAULT_SHADOW_CONFIG,\n };\n}\n","/* eslint no-restricted-globals: 0 */\n// globals in stylesheets will be addressed as part of shadow DOM work.\n// See: https://github.com/microsoft/fluentui/issues/28058\nimport { IStyle } from './IStyle';\nimport { GLOBAL_STYLESHEET_KEY, SHADOW_DOM_STYLESHEET_SETTING } from './shadowConfig';\nimport type { ShadowConfig } from './shadowConfig';\n\nexport const InjectionMode = {\n /**\n * Avoids style injection, use getRules() to read the styles.\n */\n none: 0 as 0,\n\n /**\n * Inserts rules using the insertRule api.\n */\n insertNode: 1 as 1,\n\n /**\n * Appends rules using appendChild.\n */\n appendChild: 2 as 2,\n};\n\nexport type InjectionMode = (typeof InjectionMode)[keyof typeof InjectionMode];\n\n/**\n * CSP settings for the stylesheet\n */\nexport interface ICSPSettings {\n /**\n * Nonce to inject into script tag\n */\n nonce?: string;\n}\n\n/**\n * Stylesheet config.\n *\n * @public\n */\nexport interface IStyleSheetConfig {\n /**\n * Injection mode for how rules are inserted.\n */\n injectionMode?: InjectionMode;\n\n /**\n * Default 'displayName' to use for a className.\n * @defaultvalue 'css'\n */\n defaultPrefix?: string;\n\n /**\n * Defines the default direction of rules for auto-rtlifying things.\n * While typically this is represented as a DIR attribute in the markup,\n * the DIR is not enough to control whether padding goes on the left or\n * right. Use this to set the default direction when rules are registered.\n */\n rtl?: boolean;\n\n /**\n * Default 'namespace' to attach before the className.\n */\n namespace?: string;\n\n /**\n * CSP settings\n */\n cspSettings?: ICSPSettings;\n\n /**\n * Callback executed when a rule is inserted.\n * @deprecated Use `Stylesheet.onInsertRule` instead.\n */\n onInsertRule?: (rule: string) => void;\n\n /**\n * Initial value for classnames cache. Key is serialized css rules associated with a classname.\n */\n classNameCache?: { [key: string]: string };\n\n window?: Window;\n\n inShadow?: boolean;\n\n stylesheetKey?: string;\n}\n\n/**\n * Representation of Stylesheet used for rehydration.\n */\nexport interface ISerializedStylesheet {\n classNameToArgs: Stylesheet['_classNameToArgs'];\n counter: Stylesheet['_counter'];\n keyToClassName: Stylesheet['_keyToClassName'];\n preservedRules: Stylesheet['_preservedRules'];\n rules: Stylesheet['_rules'];\n}\n\nexport const STYLESHEET_SETTING = '__stylesheet__';\n\n/**\n * MSIE 11 doesn't cascade styles based on DOM ordering, but rather on the order that each style node\n * is created. As such, to maintain consistent priority, IE11 should reuse a single style node.\n */\nconst REUSE_STYLE_NODE = typeof navigator !== 'undefined' && /rv:11.0/.test(navigator.userAgent);\n\ndeclare global {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n interface Document {\n adoptedStyleSheets: CSSStyleSheet[];\n }\n}\n\nexport type WindowWithMergeStyles = (Window | {}) & {\n [STYLESHEET_SETTING]?: Stylesheet;\n [SHADOW_DOM_STYLESHEET_SETTING]?: typeof Stylesheet;\n FabricConfig?: {\n mergeStyles?: IStyleSheetConfig;\n serializedStylesheet?: ISerializedStylesheet;\n };\n};\n\nlet _global: WindowWithMergeStyles = {};\n\n// Grab window.\ntry {\n // Why the cast?\n // if compiled/type checked in same program with `@fluentui/font-icons-mdl2` which extends `Window` on global\n // ( check packages/font-icons-mdl2/src/index.ts ) the definitions don't match! Thus the need of this extra assertion\n _global = (window || {}) as WindowWithMergeStyles;\n} catch {\n /* leave as blank object */\n}\n\nlet _stylesheet: Stylesheet | undefined;\n\nexport type ExtendedCSSStyleSheet = CSSStyleSheet & {\n bucketName: string;\n metadata: Record;\n};\n\ntype InsertRuleArgs = {\n key?: string;\n sheet?: ExtendedCSSStyleSheet | null;\n rule?: string;\n};\n\nexport type InsertRuleCallback = ({ key, sheet, rule }: InsertRuleArgs) => void;\n\n/**\n * Represents the state of styles registered in the page. Abstracts\n * the surface for adding styles to the stylesheet, exposes helpers\n * for reading the styles registered in server rendered scenarios.\n *\n * @public\n */\nexport class Stylesheet {\n protected _lastStyleElement?: HTMLStyleElement;\n protected _config: IStyleSheetConfig;\n\n private _styleElement?: HTMLStyleElement;\n\n private _rules: string[] = [];\n private _preservedRules: string[] = [];\n private _counter = 0;\n private _keyToClassName: { [key: string]: string } = {};\n private _onInsertRuleCallbacks: (Function | InsertRuleCallback)[] = [];\n private _onResetCallbacks: Function[] = [];\n private _classNameToArgs: { [key: string]: { args: any; rules: string[] } } = {};\n\n /**\n * Gets the singleton instance.\n */\n public static getInstance(shadowConfig?: ShadowConfig): Stylesheet {\n _stylesheet = _global[STYLESHEET_SETTING] as Stylesheet;\n\n if (_global[SHADOW_DOM_STYLESHEET_SETTING]) {\n return _global[SHADOW_DOM_STYLESHEET_SETTING].getInstance(shadowConfig);\n }\n\n if (!_stylesheet || (_stylesheet._lastStyleElement && _stylesheet._lastStyleElement.ownerDocument !== document)) {\n const fabricConfig = _global?.FabricConfig || {};\n\n const stylesheet = new Stylesheet(fabricConfig.mergeStyles, fabricConfig.serializedStylesheet);\n _stylesheet = stylesheet;\n _global[STYLESHEET_SETTING] = stylesheet;\n }\n\n return _stylesheet;\n }\n\n constructor(config?: IStyleSheetConfig, serializedStylesheet?: ISerializedStylesheet) {\n // If there is no document we won't have an element to inject into.\n this._config = {\n injectionMode: typeof document === 'undefined' ? InjectionMode.none : InjectionMode.insertNode,\n defaultPrefix: 'css',\n namespace: undefined,\n cspSettings: undefined,\n ...config,\n };\n\n this._classNameToArgs = serializedStylesheet?.classNameToArgs ?? this._classNameToArgs;\n this._counter = serializedStylesheet?.counter ?? this._counter;\n this._keyToClassName = this._config.classNameCache ?? serializedStylesheet?.keyToClassName ?? this._keyToClassName;\n this._preservedRules = serializedStylesheet?.preservedRules ?? this._preservedRules;\n this._rules = serializedStylesheet?.rules ?? this._rules;\n }\n\n /**\n * Serializes the Stylesheet instance into a format which allows rehydration on creation.\n * @returns string representation of `ISerializedStylesheet` interface.\n */\n public serialize(): string {\n return JSON.stringify({\n classNameToArgs: this._classNameToArgs,\n counter: this._counter,\n keyToClassName: this._keyToClassName,\n preservedRules: this._preservedRules,\n rules: this._rules,\n });\n }\n\n /**\n * Configures the stylesheet.\n */\n public setConfig(config?: IStyleSheetConfig): void {\n this._config = {\n ...this._config,\n ...config,\n };\n }\n\n /**\n * Configures a reset callback.\n *\n * @param callback - A callback which will be called when the Stylesheet is reset.\n * @returns function which when called un-registers provided callback.\n */\n public onReset(callback: Function): Function {\n this._onResetCallbacks.push(callback);\n\n return () => {\n this._onResetCallbacks = this._onResetCallbacks.filter(cb => cb !== callback);\n };\n }\n\n /**\n * Configures an insert rule callback.\n *\n * @param callback - A callback which will be called when a rule is inserted.\n * @returns function which when called un-registers provided callback.\n */\n public onInsertRule(callback: Function | InsertRuleCallback): Function {\n this._onInsertRuleCallbacks.push(callback);\n\n return () => {\n this._onInsertRuleCallbacks = this._onInsertRuleCallbacks.filter(cb => cb !== callback);\n };\n }\n\n /**\n * Generates a unique classname.\n *\n * @param displayName - Optional value to use as a prefix.\n */\n public getClassName(displayName?: string): string {\n const { namespace } = this._config;\n const prefix = displayName || this._config.defaultPrefix;\n\n return `${namespace ? namespace + '-' : ''}${prefix}-${this._counter++}`;\n }\n\n /**\n * Used internally to cache information about a class which was\n * registered with the stylesheet.\n */\n public cacheClassName(className: string, key: string, args: IStyle[], rules: string[]): void {\n this._keyToClassName[this._getCacheKey(key)] = className;\n this._classNameToArgs[className] = {\n args,\n rules,\n };\n }\n\n /**\n * Gets the appropriate classname given a key which was previously\n * registered using cacheClassName.\n */\n public classNameFromKey(key: string): string | undefined {\n return this._keyToClassName[this._getCacheKey(key)];\n }\n\n /**\n * Gets all classnames cache with the stylesheet.\n */\n public getClassNameCache(): { [key: string]: string } {\n return this._keyToClassName;\n }\n\n /**\n * Gets the arguments associated with a given classname which was\n * previously registered using cacheClassName.\n */\n public argsFromClassName(className: string): IStyle[] | undefined {\n const entry = this._classNameToArgs[className];\n\n return entry && entry.args;\n }\n\n /**\n * Gets the rules associated with a given classname which was\n * previously registered using cacheClassName.\n */\n public insertedRulesFromClassName(className: string): string[] | undefined {\n const entry = this._classNameToArgs[className];\n\n return entry && entry.rules;\n }\n\n /**\n * Inserts a css rule into the stylesheet.\n * @param preserve - Preserves the rule beyond a reset boundary.\n */\n public insertRule(rule: string, preserve?: boolean, stylesheetKey: string = GLOBAL_STYLESHEET_KEY): void {\n const { injectionMode } = this._config;\n\n const element: HTMLStyleElement | undefined =\n injectionMode !== InjectionMode.none ? this._getStyleElement() : undefined;\n\n if (preserve) {\n this._preservedRules.push(rule);\n }\n\n if (element) {\n switch (injectionMode) {\n case InjectionMode.insertNode:\n this._insertRuleIntoSheet(element.sheet, rule);\n break;\n\n case InjectionMode.appendChild:\n (element as HTMLStyleElement).appendChild(document.createTextNode(rule));\n break;\n }\n } else {\n this._rules.push(rule);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n if (this._config.onInsertRule) {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n this._config.onInsertRule(rule);\n }\n\n this._onInsertRuleCallbacks.forEach(callback =>\n callback({ key: stylesheetKey, sheet: (element ? element.sheet : undefined) as ExtendedCSSStyleSheet, rule }),\n );\n }\n\n /**\n * Gets all rules registered with the stylesheet; only valid when\n * using InsertionMode.none.\n */\n public getRules(includePreservedRules?: boolean): string {\n return (includePreservedRules ? this._preservedRules.join('') : '') + this._rules.join('');\n }\n\n /**\n * Resets the internal state of the stylesheet. Only used in server\n * rendered scenarios where we're using InsertionMode.none.\n */\n public reset(): void {\n this._rules = [];\n this._counter = 0;\n this._classNameToArgs = {};\n this._keyToClassName = {};\n\n this._onResetCallbacks.forEach(callback => callback());\n }\n\n // Forces the regeneration of incoming styles without totally resetting the stylesheet.\n public resetKeys(): void {\n this._keyToClassName = {};\n }\n\n protected _createStyleElement(): HTMLStyleElement {\n const doc = this._config.window?.document || document;\n const head: HTMLHeadElement = doc.head;\n const styleElement = doc.createElement('style');\n let nodeToInsertBefore: Node | null = null;\n\n styleElement.setAttribute('data-merge-styles', 'true');\n\n const { cspSettings } = this._config;\n if (cspSettings) {\n if (cspSettings.nonce) {\n styleElement.setAttribute('nonce', cspSettings.nonce);\n }\n }\n if (this._lastStyleElement) {\n // If the `nextElementSibling` is null, then the insertBefore will act as a regular append.\n // https://developer.mozilla.org/en-US/docs/Web/API/Node/insertBefore#Syntax\n nodeToInsertBefore = this._lastStyleElement.nextElementSibling;\n } else {\n const placeholderStyleTag: Element | null = this._findPlaceholderStyleTag();\n\n if (placeholderStyleTag) {\n nodeToInsertBefore = placeholderStyleTag.nextElementSibling;\n } else {\n nodeToInsertBefore = head.childNodes[0];\n }\n }\n\n head!.insertBefore(styleElement, head!.contains(nodeToInsertBefore) ? nodeToInsertBefore : null);\n this._lastStyleElement = styleElement;\n\n return styleElement;\n }\n\n protected _insertRuleIntoSheet(sheet: CSSStyleSheet | undefined | null, rule: string): boolean {\n if (!sheet) {\n return false;\n }\n\n try {\n sheet!.insertRule(rule, sheet!.cssRules.length);\n return true;\n } catch (e) {\n // The browser will throw exceptions on unsupported rules (such as a moz prefix in webkit.)\n // We need to swallow the exceptions for this scenario, otherwise we'd need to filter\n // which could be slower and bulkier.\n }\n\n return false;\n }\n\n protected _getCacheKey(key: string): string {\n return key;\n }\n\n private _getStyleElement(): HTMLStyleElement | undefined {\n if (!this._styleElement) {\n this._styleElement = this._createStyleElement();\n\n if (!REUSE_STYLE_NODE) {\n // Reset the style element on the next frame.\n const win = this._config.window || window;\n win.requestAnimationFrame(() => {\n this._styleElement = undefined;\n });\n }\n }\n return this._styleElement;\n }\n\n private _findPlaceholderStyleTag(): Element | null {\n const head: HTMLHeadElement = document.head;\n if (head) {\n return head.querySelector('style[data-merge-styles]');\n }\n return null;\n }\n}\n","import { IStyleSet, IConcatenatedStyleSet } from './IStyleSet';\nimport { IStyleBase, IStyle } from './IStyle';\nimport { IStyleFunctionOrObject } from './IStyleFunction';\nimport { ObjectOnly } from './ObjectOnly';\nimport { ShadowConfig, isShadowConfig } from './shadowConfig';\n\ntype Missing = false | null | undefined;\ntype MissingOrShadowConfig = Missing | ShadowConfig;\n\n/**\n * Combine a set of styles together (but does not register css classes).\n * @param styleSet - The first style set to be concatenated.\n */\nexport function concatStyleSets(styleSet: TStyleSet | Missing): IConcatenatedStyleSet>;\n\n/**\n * Combine a set of styles together (but does not register css classes).\n * @param styleSet1 - The first style set to be concatenated.\n * @param styleSet2 - The second style set to be concatenated.\n */\nexport function concatStyleSets(\n styleSet1: TStyleSet1 | MissingOrShadowConfig,\n styleSet2: TStyleSet2 | Missing,\n): IConcatenatedStyleSet & ObjectOnly>;\n\n/**\n * Combine a set of styles together (but does not register css classes).\n * @param styleSet1 - The first style set to be concatenated.\n * @param styleSet2 - The second style set to be concatenated.\n * @param styleSet3 - The third style set to be concatenated.\n */\nexport function concatStyleSets(\n styleSet1: TStyleSet1 | MissingOrShadowConfig,\n styleSet2: TStyleSet2 | Missing,\n styleSet3: TStyleSet3 | Missing,\n): IConcatenatedStyleSet & ObjectOnly & ObjectOnly>;\n\n/**\n * Combine a set of styles together (but does not register css classes).\n * @param styleSet1 - The first style set to be concatenated.\n * @param styleSet2 - The second style set to be concatenated.\n * @param styleSet3 - The third style set to be concatenated.\n * @param styleSet4 - The fourth style set to be concatenated.\n */\nexport function concatStyleSets(\n styleSet1: TStyleSet1 | MissingOrShadowConfig,\n styleSet2: TStyleSet2 | Missing,\n styleSet3: TStyleSet3 | Missing,\n styleSet4: TStyleSet4 | Missing,\n): IConcatenatedStyleSet<\n ObjectOnly & ObjectOnly & ObjectOnly & ObjectOnly\n>;\n\n/**\n * Combine a set of styles together (but does not register css classes).\n * @param styleSet1 - The first style set to be concatenated.\n * @param styleSet2 - The second style set to be concatenated.\n * @param styleSet3 - The third style set to be concatenated.\n * @param styleSet4 - The fourth style set to be concatenated.\n * @param styleSet5 - The fifth set to be concatenated.\n */\nexport function concatStyleSets(\n styleSet1: TStyleSet1 | MissingOrShadowConfig,\n styleSet2: TStyleSet2 | Missing,\n styleSet3: TStyleSet3 | Missing,\n styleSet4: TStyleSet4 | Missing,\n styleSet5: TStyleSet5 | Missing,\n): IConcatenatedStyleSet<\n ObjectOnly &\n ObjectOnly &\n ObjectOnly &\n ObjectOnly &\n ObjectOnly\n>;\n\n/**\n * Combine a set of styles together (but does not register css classes).\n * @param styleSet1 - The first style set to be concatenated.\n * @param styleSet2 - The second style set to be concatenated.\n * @param styleSet3 - The third style set to be concatenated.\n * @param styleSet4 - The fourth style set to be concatenated.\n * @param styleSet5 - The fifth set to be concatenated.\n * @param styleSet6 - The sixth set to be concatenated.\n */\nexport function concatStyleSets(\n styleSet1: TStyleSet1 | MissingOrShadowConfig,\n styleSet2: TStyleSet2 | Missing,\n styleSet3: TStyleSet3 | Missing,\n styleSet4: TStyleSet4 | Missing,\n styleSet5: TStyleSet5 | Missing,\n styleSet6: TStyleSet6 | Missing,\n): IConcatenatedStyleSet<\n ObjectOnly &\n ObjectOnly &\n ObjectOnly &\n ObjectOnly &\n ObjectOnly &\n ObjectOnly\n>;\n\n/**\n * Combine a set of styles together (but does not register css classes).\n * @param styleSets - One or more stylesets to be merged (each param can also be falsy).\n */\nexport function concatStyleSets(...styleSets: (IStyleSet | MissingOrShadowConfig)[]): IConcatenatedStyleSet;\n\n/**\n * Combine a set of styles together (but does not register css classes).\n * @param styleSets - One or more stylesets to be merged (each param can also be falsy).\n */\nexport function concatStyleSets(...styleSets: any[]): IConcatenatedStyleSet {\n if (\n styleSets &&\n styleSets.length === 1 &&\n styleSets[0] &&\n !(styleSets[0] as IStyleSet).subComponentStyles &&\n !isShadowConfig(styleSets[0])\n ) {\n return styleSets[0] as IConcatenatedStyleSet;\n }\n\n const mergedSet: IConcatenatedStyleSet = {};\n\n // We process sub component styles in two phases. First we collect them, then we combine them into 1 style function.\n const workingSubcomponentStyles: { [key: string]: Array> } = {};\n\n for (const currentSet of styleSets) {\n if (currentSet && !isShadowConfig(currentSet)) {\n for (const prop in currentSet) {\n if (currentSet.hasOwnProperty(prop)) {\n if (prop === 'subComponentStyles' && currentSet.subComponentStyles !== undefined) {\n // subcomponent styles - style functions or objects\n\n const currentComponentStyles = currentSet.subComponentStyles;\n for (const subCompProp in currentComponentStyles) {\n if (currentComponentStyles.hasOwnProperty(subCompProp)) {\n if (workingSubcomponentStyles.hasOwnProperty(subCompProp)) {\n workingSubcomponentStyles[subCompProp].push(currentComponentStyles[subCompProp]);\n } else {\n workingSubcomponentStyles[subCompProp] = [currentComponentStyles[subCompProp]];\n }\n }\n }\n\n continue;\n }\n\n // the as any casts below is a workaround for ts 2.8.\n // todo: remove cast to any in ts 2.9.\n const mergedValue: IStyle = (mergedSet as any)[prop];\n const currentValue = (currentSet as any)[prop];\n\n if (mergedValue === undefined) {\n (mergedSet as any)[prop] = currentValue;\n } else {\n (mergedSet as any)[prop] = [\n // https://github.com/Microsoft/TypeScript/issues/25474\n ...(Array.isArray(mergedValue) ? mergedValue : [mergedValue as IStyleBase]),\n ...(Array.isArray(currentValue) ? currentValue : [currentValue as IStyleBase]),\n ];\n }\n }\n }\n }\n }\n\n if (Object.keys(workingSubcomponentStyles).length > 0) {\n mergedSet.subComponentStyles = {};\n const mergedSubStyles = mergedSet.subComponentStyles;\n\n // now we process the subcomponent styles if there are any\n for (const subCompProp in workingSubcomponentStyles) {\n if (workingSubcomponentStyles.hasOwnProperty(subCompProp)) {\n const workingSet = workingSubcomponentStyles[subCompProp];\n mergedSubStyles[subCompProp] = (styleProps: any) => {\n return concatStyleSets(\n ...workingSet.map((styleFunctionOrObject: IStyleFunctionOrObject) =>\n typeof styleFunctionOrObject === 'function' ? styleFunctionOrObject(styleProps) : styleFunctionOrObject,\n ),\n );\n };\n }\n }\n }\n\n return mergedSet;\n}\n","import { concatStyleSets } from './concatStyleSets';\nimport { IStyleSetBase } from './IStyleSet';\nimport { IStyleFunctionOrObject } from './IStyleFunction';\nimport { DeepPartialV2 as DeepPartial } from './DeepPartial';\n\n/**\n * Concatenates style sets into one, but resolves functional sets using the given props.\n * @param styleProps - Props used to resolve functional sets.\n * @param allStyles - Style sets, which can be functions or objects.\n */\nexport function concatStyleSetsWithProps(\n styleProps: TStyleProps,\n ...allStyles: (IStyleFunctionOrObject | undefined)[]\n): DeepPartial {\n const result: Array> = [];\n for (const styles of allStyles) {\n if (styles) {\n result.push(typeof styles === 'function' ? styles(styleProps) : styles);\n }\n }\n if (result.length === 1) {\n return result[0];\n } else if (result.length) {\n // cliffkoh: I cannot figure out how to avoid the cast to any here.\n // It is something to do with the use of Omit in IStyleSet.\n // It might not be necessary once Omit becomes part of lib.d.ts (when we remove our own Omit and rely on\n // the official version).\n return concatStyleSets(...result) as DeepPartial;\n }\n\n return {} as DeepPartial;\n}\n","import { IStyle, IStyleBaseArray } from './IStyle';\nimport { Stylesheet } from './Stylesheet';\nimport { isShadowConfig } from './shadowConfig';\n\n/**\n * Separates the classes and style objects. Any classes that are pre-registered\n * args are auto expanded into objects.\n */\nexport function extractStyleParts(\n sheet: Stylesheet,\n ...args: (IStyle | IStyle[] | false | null | undefined)[]\n): {\n classes: string[];\n objects: IStyleBaseArray;\n} {\n const classes: string[] = [];\n const objects: {}[] = [];\n const stylesheet = sheet;\n\n function _processArgs(argsList: (IStyle | IStyle[])[]): void {\n for (const arg of argsList) {\n if (arg && !isShadowConfig(arg)) {\n if (typeof arg === 'string') {\n if (arg.indexOf(' ') >= 0) {\n _processArgs(arg.split(' '));\n } else {\n const translatedArgs = stylesheet.argsFromClassName(arg);\n\n if (translatedArgs) {\n _processArgs(translatedArgs);\n } else {\n // Avoid adding the same class twice.\n if (classes.indexOf(arg) === -1) {\n classes.push(arg);\n }\n }\n }\n } else if (Array.isArray(arg)) {\n _processArgs(arg);\n } else if (typeof arg === 'object') {\n objects.push(arg);\n }\n }\n }\n }\n\n _processArgs(args);\n\n return {\n classes,\n objects,\n };\n}\n","import { IFontFace } from './IRawStyleBase';\nimport { getStyleOptions } from './StyleOptionsState';\nimport { Stylesheet } from './Stylesheet';\nimport { serializeRuleEntries } from './styleToClassName';\n\n/**\n * Registers a font face.\n * @public\n */\nexport function fontFace(font: IFontFace): void {\n const stylesheet = Stylesheet.getInstance();\n\n const rule = serializeRuleEntries(getStyleOptions(), font as {});\n\n const className = stylesheet.classNameFromKey(rule);\n\n if (className) {\n return;\n }\n\n const name = stylesheet.getClassName();\n stylesheet.insertRule(`@font-face{${rule}}`, true);\n stylesheet.cacheClassName(name, rule, [], ['font-face', rule]);\n}\n","import { IKeyframes } from './IKeyframes';\nimport { getStyleOptions } from './StyleOptionsState';\nimport { Stylesheet } from './Stylesheet';\nimport { serializeRuleEntries } from './styleToClassName';\n\n/**\n * Registers keyframe definitions.\n *\n * @public\n */\nexport function keyframes(timeline: IKeyframes): string {\n const stylesheet = Stylesheet.getInstance();\n const rulesArray: string[] = [];\n\n for (const prop in timeline) {\n if (timeline.hasOwnProperty(prop)) {\n rulesArray.push(prop, '{', serializeRuleEntries(getStyleOptions(), timeline[prop]), '}');\n }\n }\n const rules = rulesArray.join('');\n\n const className = stylesheet.classNameFromKey(rules);\n\n if (className) {\n return className;\n }\n\n const name = stylesheet.getClassName();\n stylesheet.insertRule(`@keyframes ${name}{${rules}}`, true);\n stylesheet.cacheClassName(name, rules, [], ['keyframes', rules]);\n\n return name;\n}\n","import { concatStyleSets } from './concatStyleSets';\nimport { extractStyleParts } from './extractStyleParts';\nimport { IStyle } from './IStyle';\nimport { IStyleOptions } from './IStyleOptions';\nimport { IConcatenatedStyleSet, IProcessedStyleSet, IStyleSet } from './IStyleSet';\nimport { getStyleOptions } from './StyleOptionsState';\nimport { applyRegistration, styleToRegistration } from './styleToClassName';\nimport { ObjectOnly } from './ObjectOnly';\nimport { isShadowConfig, ShadowConfig } from './shadowConfig';\nimport { Stylesheet } from './Stylesheet';\n\ntype Missing = false | null | undefined;\ntype MissingOrShadowConfig = Missing | ShadowConfig;\n\n/**\n * Takes in one or more style set objects, each consisting of a set of areas,\n * each which will produce a class name. Using this is analogous to calling\n * `mergeStyles` for each property in the object, but ensures we maintain the\n * set ordering when multiple style sets are merged.\n *\n * @param styleSet - The first style set to be merged and reigstered.\n */\nexport function mergeStyleSets(styleSet: TStyleSet | Missing): IProcessedStyleSet>;\n\n/**\n * Takes in one or more style set objects, each consisting of a set of areas,\n * each which will produce a class name. Using this is analogous to calling\n * `mergeStyles` for each property in the object, but ensures we maintain the\n * set ordering when multiple style sets are merged.\n *\n * @param styleSet1 - The first style set to be merged.\n * @param styleSet2 - The second style set to be merged.\n */\nexport function mergeStyleSets(\n styleSet1: TStyleSet1 | Missing,\n styleSet2: TStyleSet2 | Missing,\n): IProcessedStyleSet & ObjectOnly>;\n\n/**\n * Takes in one or more style set objects, each consisting of a set of areas,\n * each which will produce a class name. Using this is analogous to calling\n * `mergeStyles` for each property in the object, but ensures we maintain the\n * set ordering when multiple style sets are merged.\n *\n * @param styleSet1 - The first style set to be merged.\n * @param styleSet2 - The second style set to be merged.\n * @param styleSet3 - The third style set to be merged.\n */\nexport function mergeStyleSets(\n styleSet1: TStyleSet1 | Missing,\n styleSet2: TStyleSet2 | Missing,\n styleSet3: TStyleSet3 | Missing,\n): IProcessedStyleSet & ObjectOnly & ObjectOnly>;\n\n/**\n * Takes in one or more style set objects, each consisting of a set of areas,\n * each which will produce a class name. Using this is analogous to calling\n * `mergeStyles` for each property in the object, but ensures we maintain the\n * set ordering when multiple style sets are merged.\n *\n * @param styleSet1 - The first style set to be merged.\n * @param styleSet2 - The second style set to be merged.\n * @param styleSet3 - The third style set to be merged.\n * @param styleSet4 - The fourth style set to be merged.\n */\nexport function mergeStyleSets(\n styleSet1: TStyleSet1 | Missing,\n styleSet2: TStyleSet2 | Missing,\n styleSet3: TStyleSet3 | Missing,\n styleSet4: TStyleSet4 | Missing,\n): IProcessedStyleSet<\n ObjectOnly & ObjectOnly & ObjectOnly & ObjectOnly\n>;\n\n/**\n * Takes in one or more style set objects, each consisting of a set of areas,\n * each which will produce a class name. Using this is analogous to calling\n * `mergeStyles` for each property in the object, but ensures we maintain the\n * set ordering when multiple style sets are merged.\n *\n * @param styleSets - One or more style sets to be merged.\n */\nexport function mergeStyleSets(...styleSets: Array): IProcessedStyleSet;\n\nexport function mergeStyleSets(\n shadowConfig: ShadowConfig,\n ...styleSets: Array\n): IProcessedStyleSet;\n\n/**\n * Takes in one or more style set objects, each consisting of a set of areas,\n * each which will produce a class name. Using this is analogous to calling\n * `mergeStyles` for each property in the object, but ensures we maintain the\n * set ordering when multiple style sets are merged.\n *\n * @param styleSets - One or more style sets to be merged.\n */\nexport function mergeStyleSets(...styleSets: any[]): IProcessedStyleSet {\n return mergeCssSets(styleSets as any, getStyleOptions());\n}\n\n/**\n * Takes in one or more style set objects, each1consisting of a set of areas,\n * each which will produce a class name. Using this is analogous to calling\n * `mergeCss` for each property in the object, but ensures we maintain the\n * set ordering when multiple style sets are merged.\n *\n * @param styleSets - One or more style sets to be merged.\n * @param options - (optional) Options to use when creating rules.\n */\nexport function mergeCssSets(\n styleSets: [TStyleSet | Missing],\n options?: IStyleOptions,\n): IProcessedStyleSet>;\n\n/**\n * Takes in one or more style set objects, each1consisting of a set of areas,\n * each which will produce a class name. Using this is analogous to calling\n * `mergeCss` for each property in the object, but ensures we maintain the\n * set ordering when multiple style sets are merged.\n *\n * @param styleSets - One or more style sets to be merged.\n * @param options - (optional) Options to use when creating rules.\n */\nexport function mergeCssSets(\n styleSets: [TStyleSet1 | MissingOrShadowConfig, TStyleSet2 | Missing],\n options?: IStyleOptions,\n): IProcessedStyleSet & ObjectOnly>;\n\n/**\n * Takes in one or more style set objects, each1consisting of a set of areas,\n * each which will produce a class name. Using this is analogous to calling\n * `mergeCss` for each property in the object, but ensures we maintain the\n * set ordering when multiple style sets are merged.\n *\n * @param styleSets - One or more style sets to be merged.\n * @param options - (optional) Options to use when creating rules.\n */\nexport function mergeCssSets(\n styleSets: [TStyleSet1 | MissingOrShadowConfig, TStyleSet2 | Missing, TStyleSet3 | Missing],\n options?: IStyleOptions,\n): IProcessedStyleSet & ObjectOnly & ObjectOnly>;\n\n/**\n * Takes in one or more style set objects, each1consisting of a set of areas,\n * each which will produce a class name. Using this is analogous to calling\n * `mergeCss` for each property in the object, but ensures we maintain the\n * set ordering when multiple style sets are merged.\n *\n * @param styleSets - One or more style sets to be merged.\n * @param options - (optional) Options to use when creating rules.\n */\nexport function mergeCssSets(\n styleSets: [TStyleSet1 | MissingOrShadowConfig, TStyleSet2 | Missing, TStyleSet3 | Missing, TStyleSet4 | Missing],\n options?: IStyleOptions,\n): IProcessedStyleSet<\n ObjectOnly & ObjectOnly & ObjectOnly & ObjectOnly\n>;\n\n/**\n * Takes in one or more style set objects, each1consisting of a set of areas,\n * each which will produce a class name. Using this is analogous to calling\n * `mergeCss` for each property in the object, but ensures we maintain the\n * set ordering when multiple style sets are merged.\n *\n * @param styleSets - One or more style sets to be merged.\n * @param options - (optional) Options to use when creating rules.\n */\nexport function mergeCssSets(\n styleSet: [TStyleSet | Missing],\n options?: IStyleOptions,\n): IProcessedStyleSet>;\n\n/**\n * Takes in one or more style set objects, each1consisting of a set of areas,\n * each which will produce a class name. Using this is analogous to calling\n * `mergeCss` for each property in the object, but ensures the\n * set ordering when multiple style sets are merged.\n *\n * @param styleSets - One or more style sets to be merged.\n * @param options - (optional) Options to use when creating rules.\n */\nexport function mergeCssSets(styleSets: any[], options?: IStyleOptions): IProcessedStyleSet {\n const classNameSet: IProcessedStyleSet & Record = { subComponentStyles: {} };\n\n let shadowConfig: ShadowConfig | undefined = undefined;\n let styleSet;\n if (isShadowConfig(styleSets[0])) {\n shadowConfig = styleSets[0];\n styleSet = styleSets[1];\n } else {\n styleSet = styleSets[0];\n }\n\n shadowConfig ??= options?.shadowConfig;\n\n const opts = { ...options, shadowConfig };\n\n if (!styleSet && styleSets.length <= 1) {\n return { subComponentStyles: {} } as any;\n }\n\n const sheet = Stylesheet.getInstance(shadowConfig);\n opts.stylesheet = sheet;\n const concatenatedStyleSet = concatStyleSets(...styleSets);\n\n const registrations = [];\n\n for (const styleSetArea in concatenatedStyleSet) {\n if (concatenatedStyleSet.hasOwnProperty(styleSetArea)) {\n if (styleSetArea === 'subComponentStyles') {\n classNameSet.subComponentStyles = concatenatedStyleSet.subComponentStyles || {};\n continue;\n } else if (styleSetArea === '__shadowConfig__') {\n continue;\n }\n\n const styles: IStyle = (concatenatedStyleSet as any)[styleSetArea];\n\n const { classes, objects } = extractStyleParts(sheet, styles);\n\n if (objects?.length) {\n const registration = styleToRegistration(opts || {}, { displayName: styleSetArea }, objects);\n\n if (registration) {\n registrations.push(registration);\n classNameSet[styleSetArea] = classes.concat([registration.className]).join(' ');\n }\n } else {\n classNameSet[styleSetArea] = classes.join(' ');\n }\n }\n }\n\n for (const registration of registrations) {\n if (registration) {\n applyRegistration(registration, options?.specificityMultiplier, shadowConfig);\n }\n }\n\n return classNameSet;\n}\n","import { extractStyleParts } from './extractStyleParts';\nimport { IStyle, IStyleBaseArray } from './IStyle';\nimport { IStyleOptions } from './IStyleOptions';\nimport { isShadowConfig, ShadowConfig } from './shadowConfig';\nimport { getStyleOptions } from './StyleOptionsState';\nimport { Stylesheet } from './Stylesheet';\nimport { styleToClassName } from './styleToClassName';\n\ntype Missing = false | null | undefined;\ntype StyleArg = IStyle | IStyleBaseArray | Missing;\ntype StyleArgWithShadow = StyleArg | ShadowConfig;\n\nexport function mergeStyles(...args: StyleArg[]): string;\nexport function mergeStyles(shadowConfig: ShadowConfig, ...args: StyleArg[]): string;\n/**\n * Concatenation helper, which can merge class names together. Skips over falsey values.\n *\n * @public\n */\nexport function mergeStyles(...args: any[]): string {\n return mergeCss(args, getStyleOptions());\n}\n\n/**\n * Concatenation helper, which can merge class names together. Skips over falsey values.\n * Accepts a set of options that will be used when calculating styles.\n *\n * @public\n */\nexport function mergeCss(args: StyleArgWithShadow | StyleArgWithShadow[], options?: IStyleOptions): string {\n const styleArgs = args instanceof Array ? args : [args];\n const opts = options || {};\n const hasShadowConfig = isShadowConfig(styleArgs[0]);\n if (hasShadowConfig) {\n opts.shadowConfig = styleArgs[0] as ShadowConfig;\n }\n opts.stylesheet = Stylesheet.getInstance(opts.shadowConfig);\n const { classes, objects } = extractStyleParts(opts.stylesheet, styleArgs);\n\n if (objects.length) {\n classes.push(styleToClassName(opts, objects));\n }\n\n return classes.join(' ');\n}\n","// eslint-disable-next-line @typescript-eslint/naming-convention\nexport interface ShadowConfig {\n stylesheetKey: string;\n inShadow: boolean;\n window?: Window;\n __isShadowConfig__: true;\n}\n\nexport const GLOBAL_STYLESHEET_KEY = '__global__';\nexport const SHADOW_DOM_STYLESHEET_SETTING = '__shadow_dom_stylesheet__';\n\nexport const DEFAULT_SHADOW_CONFIG: ShadowConfig = {\n stylesheetKey: GLOBAL_STYLESHEET_KEY,\n inShadow: false,\n window: undefined,\n __isShadowConfig__: true,\n};\n\nexport const makeShadowConfig = (stylesheetKey: string, inShadow: boolean, window?: Window): ShadowConfig => {\n return {\n stylesheetKey,\n inShadow,\n window,\n __isShadowConfig__: true,\n };\n};\n\nexport const isShadowConfig = (value: unknown): value is ShadowConfig => {\n if (!(value && isRecord(value))) {\n return false;\n }\n\n return value.__isShadowConfig__ === true;\n};\n\nfunction isRecord(value: unknown): value is Record {\n return value !== null && typeof value === 'object' && !Array.isArray(value);\n}\n","export interface IVendorSettings {\n isWebkit?: boolean;\n isMoz?: boolean;\n isMs?: boolean;\n isOpera?: boolean;\n}\n\nlet _vendorSettings: IVendorSettings | undefined;\n\nexport function getVendorSettings(): IVendorSettings {\n if (!_vendorSettings) {\n // eslint-disable-next-line no-restricted-globals\n const doc = typeof document !== 'undefined' ? document : undefined;\n const nav = typeof navigator !== 'undefined' ? navigator : undefined;\n const userAgent = nav?.userAgent?.toLowerCase();\n\n if (!doc) {\n _vendorSettings = {\n isWebkit: true,\n isMoz: true,\n isOpera: true,\n isMs: true,\n };\n } else {\n _vendorSettings = {\n isWebkit: !!(doc && 'WebkitAppearance' in doc.documentElement.style),\n isMoz: !!(userAgent && userAgent.indexOf('firefox') > -1),\n isOpera: !!(userAgent && userAgent.indexOf('opera') > -1),\n isMs: !!(nav && (/rv:11.0/i.test(nav.userAgent) || /Edge\\/\\d./i.test(navigator.userAgent))),\n };\n }\n }\n\n return _vendorSettings;\n}\n\n/**\n * Sets the vendor settings for prefixing and vendor specific operations.\n */\nexport function setVendorSettings(vendorSettings?: IVendorSettings): void {\n _vendorSettings = vendorSettings;\n}\n","const rules: { [key: string]: string } = {};\n\nexport function kebabRules(rulePairs: (string | number)[], index: number): void {\n const rule: string = rulePairs[index] as string;\n\n if (rule.charAt(0) !== '-') {\n rulePairs[index] = rules[rule] = rules[rule] || rule.replace(/([A-Z])/g, '-$1').toLowerCase();\n }\n}\n","import { getVendorSettings } from '../getVendorSettings';\n\nconst autoPrefixNames: { [key: string]: number } = {\n 'user-select': 1,\n};\n\nexport function prefixRules(rulePairs: (string | number)[], index: number): void {\n const vendorSettings = getVendorSettings();\n\n const name = rulePairs[index];\n\n if (autoPrefixNames[name]) {\n const value = rulePairs[index + 1];\n\n if (autoPrefixNames[name]) {\n if (vendorSettings.isWebkit) {\n rulePairs.push('-webkit-' + name, value);\n }\n if (vendorSettings.isMoz) {\n rulePairs.push('-moz-' + name, value);\n }\n if (vendorSettings.isMs) {\n rulePairs.push('-ms-' + name, value);\n }\n if (vendorSettings.isOpera) {\n rulePairs.push('-o-' + name, value);\n }\n }\n }\n}\n","const NON_PIXEL_NUMBER_PROPS = [\n 'column-count',\n 'font-weight',\n 'flex',\n 'flex-grow',\n 'flex-shrink',\n 'fill-opacity',\n 'opacity',\n 'order',\n 'z-index',\n 'zoom',\n];\n\nexport function provideUnits(rulePairs: (string | number)[], index: number): void {\n const name = rulePairs[index] as string;\n const value = rulePairs[index + 1];\n\n if (typeof value === 'number') {\n const isNonPixelProp = NON_PIXEL_NUMBER_PROPS.indexOf(name as string) > -1;\n const isVariableOrPrefixed = name.indexOf('--') > -1;\n const unit = isNonPixelProp || isVariableOrPrefixed ? '' : 'px';\n\n rulePairs[index + 1] = `${value}${unit}`;\n }\n}\n","import { IStyleOptions } from '../IStyleOptions';\n\nconst LEFT = 'left';\nconst RIGHT = 'right';\nconst NO_FLIP = '@noflip';\nconst NAME_REPLACEMENTS: { [key: string]: string } = {\n [LEFT]: RIGHT,\n [RIGHT]: LEFT,\n};\nconst VALUE_REPLACEMENTS: { [key: string]: string } = {\n 'w-resize': 'e-resize',\n 'sw-resize': 'se-resize',\n 'nw-resize': 'ne-resize',\n};\n\n/**\n * RTLifies the rulePair in the array at the current index. This mutates the array for performance\n * reasons.\n */\nexport function rtlifyRules(options: IStyleOptions, rulePairs: (string | number)[], index: number): void {\n if (options.rtl) {\n const name = rulePairs[index] as string;\n\n if (!name) {\n return;\n }\n\n const value = rulePairs[index + 1] as string;\n\n if (typeof value === 'string' && value.indexOf(NO_FLIP) >= 0) {\n rulePairs[index + 1] = value.replace(/\\s*(?:\\/\\*\\s*)?\\@noflip\\b(?:\\s*\\*\\/)?\\s*?/g, '');\n } else if (name.indexOf(LEFT) >= 0) {\n rulePairs[index] = name.replace(LEFT, RIGHT);\n } else if (name.indexOf(RIGHT) >= 0) {\n rulePairs[index] = name.replace(RIGHT, LEFT);\n } else if (String(value).indexOf(LEFT) >= 0) {\n rulePairs[index + 1] = value.replace(LEFT, RIGHT);\n } else if (String(value).indexOf(RIGHT) >= 0) {\n rulePairs[index + 1] = value.replace(RIGHT, LEFT);\n } else if (NAME_REPLACEMENTS[name]) {\n rulePairs[index] = NAME_REPLACEMENTS[name];\n } else if (VALUE_REPLACEMENTS[value]) {\n rulePairs[index + 1] = VALUE_REPLACEMENTS[value];\n } else {\n switch (name) {\n case 'margin':\n case 'padding':\n rulePairs[index + 1] = flipQuad(value);\n break;\n case 'box-shadow':\n rulePairs[index + 1] = negateNum(value, 0);\n break;\n }\n }\n }\n}\n\n/**\n * Given a string value in a space delimited format (e.g. \"1 2 3 4\"), negates a particular value.\n */\nfunction negateNum(value: string, partIndex: number): string {\n const parts = value.split(' ');\n const numberVal = parseInt(parts[partIndex], 10);\n\n parts[0] = parts[0].replace(String(numberVal), String(numberVal * -1));\n\n return parts.join(' ');\n}\n\n/**\n * Given a string quad, flips the left and right values.\n */\nfunction flipQuad(value: string): string {\n if (typeof value === 'string') {\n const parts = value.split(' ');\n\n if (parts.length === 4) {\n return `${parts[0]} ${parts[3]} ${parts[2]} ${parts[1]}`;\n }\n }\n\n return value;\n}\n","import { IStyle } from './IStyle';\nimport { IRawStyle } from './IRawStyle';\n\nimport { Stylesheet } from './Stylesheet';\nimport { kebabRules } from './transforms/kebabRules';\nimport { prefixRules } from './transforms/prefixRules';\nimport { provideUnits } from './transforms/provideUnits';\nimport { rtlifyRules } from './transforms/rtlifyRules';\nimport { IStyleOptions } from './IStyleOptions';\nimport { tokenizeWithParentheses } from './tokenizeWithParentheses';\nimport { ShadowConfig } from './shadowConfig';\n\nconst DISPLAY_NAME = 'displayName';\n\ntype IDictionary = { [key: string]: any };\n\ninterface IRuleSet {\n __order: string[];\n [key: string]: IDictionary;\n}\n\nfunction getDisplayName(rules?: { [key: string]: IRawStyle }): string | undefined {\n const rootStyle: IStyle = rules && rules['&'];\n\n return rootStyle ? (rootStyle as IRawStyle).displayName : undefined;\n}\n\nconst globalSelectorRegExp = /\\:global\\((.+?)\\)/g;\n\ntype ReplacementInfo = [number, number, string];\n\n/**\n * Finds comma separated selectors in a :global() e.g. \":global(.class1, .class2, .class3)\"\n * and wraps them each in their own global \":global(.class1), :global(.class2), :global(.class3)\"\n *\n * @param selectorWithGlobals The selector to process\n * @returns The updated selector\n */\nfunction expandCommaSeparatedGlobals(selectorWithGlobals: string): string {\n // We the selector does not have a :global() we can shortcut\n if (!globalSelectorRegExp.test(selectorWithGlobals)) {\n return selectorWithGlobals;\n }\n\n const replacementInfo: ReplacementInfo[] = [];\n\n const findGlobal = /\\:global\\((.+?)\\)/g;\n let match = null;\n // Create a result list for global selectors so we can replace them.\n while ((match = findGlobal.exec(selectorWithGlobals))) {\n // Only if the found selector is a comma separated list we'll process it.\n if (match[1].indexOf(',') > -1) {\n replacementInfo.push([\n match.index,\n match.index + match[0].length,\n // Wrap each of the found selectors in :global()\n match[1]\n .split(',')\n .map((v: string) => `:global(${v.trim()})`)\n .join(', '),\n ]);\n }\n }\n\n // Replace the found selectors with their wrapped variants in reverse order\n return replacementInfo\n .reverse()\n .reduce((selector: string, [matchIndex, matchEndIndex, replacement]: ReplacementInfo) => {\n const prefix = selector.slice(0, matchIndex);\n const suffix = selector.slice(matchEndIndex);\n\n return prefix + replacement + suffix;\n }, selectorWithGlobals);\n}\n\nfunction isSelector(potentialSelector: string): boolean {\n return potentialSelector.indexOf(':global(') >= 0 || potentialSelector.indexOf(':') === 0;\n}\n\nfunction expandSelector(newSelector: string, currentSelector: string): string {\n if (newSelector.indexOf(':global(') >= 0) {\n return newSelector.replace(globalSelectorRegExp, '$1');\n } else if (newSelector.indexOf(':host(') === 0) {\n return newSelector;\n } else if (newSelector.indexOf(':') === 0) {\n return currentSelector + newSelector;\n } else if (newSelector.indexOf('&') < 0) {\n return currentSelector + ' ' + newSelector;\n }\n\n return newSelector;\n}\n\nfunction extractSelector(\n currentSelector: string,\n rules: IRuleSet = { __order: [] },\n selector: string,\n value: IStyle,\n stylesheet: Stylesheet,\n) {\n if (selector.indexOf('@') === 0) {\n selector = selector + '{' + currentSelector;\n extractRules([value], rules, selector, stylesheet);\n } else if (selector.indexOf(',') > -1) {\n expandCommaSeparatedGlobals(selector)\n .split(',')\n .map((s: string) => s.trim())\n .forEach((separatedSelector: string) =>\n extractRules([value], rules, expandSelector(separatedSelector, currentSelector), stylesheet),\n );\n } else {\n extractRules([value], rules, expandSelector(selector, currentSelector), stylesheet);\n }\n}\n\nfunction extractRules(\n args: IStyle[],\n rules: IRuleSet = { __order: [] },\n currentSelector: string = '&',\n stylesheet: Stylesheet,\n): IRuleSet {\n let currentRules: IDictionary | undefined = rules[currentSelector] as IDictionary;\n\n if (!currentRules) {\n currentRules = {};\n rules[currentSelector] = currentRules;\n rules.__order.push(currentSelector);\n }\n\n for (const arg of args) {\n // If the arg is a string, we need to look up the class map and merge.\n if (typeof arg === 'string') {\n const expandedRules = stylesheet.argsFromClassName(arg);\n\n if (expandedRules) {\n extractRules(expandedRules, rules, currentSelector, stylesheet);\n }\n // Else if the arg is an array, we need to recurse in.\n } else if (Array.isArray(arg)) {\n extractRules(arg, rules, currentSelector, stylesheet);\n } else {\n for (const prop in arg as any) {\n if ((arg as any).hasOwnProperty(prop)) {\n const propValue = (arg as any)[prop];\n if (prop === 'selectors') {\n // every child is a selector.\n const selectors: { [key: string]: IStyle } = (arg as any).selectors;\n\n for (const newSelector in selectors) {\n if (selectors.hasOwnProperty(newSelector)) {\n extractSelector(currentSelector, rules, newSelector, selectors[newSelector], stylesheet);\n }\n }\n } else if (typeof propValue === 'object' || isSelector(prop)) {\n // prop is a selector.\n if (propValue !== null && propValue !== undefined) {\n extractSelector(currentSelector, rules, prop, propValue, stylesheet);\n }\n } else {\n if (propValue !== undefined) {\n // Else, add the rule to the currentSelector.\n if (prop === 'margin' || prop === 'padding') {\n expandQuads(currentRules, prop, propValue);\n } else {\n (currentRules as any)[prop] = propValue;\n }\n }\n }\n }\n }\n }\n }\n\n return rules;\n}\n\nfunction expandQuads(currentRules: IDictionary, name: string, value: string): void {\n let parts = typeof value === 'string' ? tokenizeWithParentheses(value) : [value];\n\n if (parts.length === 0) {\n parts.push(value);\n }\n\n if (parts[parts.length - 1] === '!important') {\n // Remove !important from parts, and append it to each part individually\n parts = parts.slice(0, -1).map(p => p + ' !important');\n }\n\n currentRules[name + 'Top'] = parts[0];\n currentRules[name + 'Right'] = parts[1] || parts[0];\n currentRules[name + 'Bottom'] = parts[2] || parts[0];\n currentRules[name + 'Left'] = parts[3] || parts[1] || parts[0];\n}\n\nfunction getKeyForRules(options: IStyleOptions, rules: IRuleSet): string | undefined {\n const serialized: string[] = [options.rtl ? 'rtl' : 'ltr'];\n let hasProps = false;\n\n for (const selector of rules.__order) {\n serialized.push(selector);\n const rulesForSelector = rules[selector];\n\n for (const propName in rulesForSelector) {\n if (rulesForSelector.hasOwnProperty(propName) && rulesForSelector[propName] !== undefined) {\n hasProps = true;\n serialized.push(propName, rulesForSelector[propName]);\n }\n }\n }\n\n return hasProps ? serialized.join('') : undefined;\n}\n\nfunction repeatString(target: string, count: number): string {\n if (count <= 0) {\n return '';\n }\n\n if (count === 1) {\n return target;\n }\n\n return target + repeatString(target, count - 1);\n}\n\nexport function serializeRuleEntries(options: IStyleOptions, ruleEntries: { [key: string]: string | number }): string {\n if (!ruleEntries) {\n return '';\n }\n\n const allEntries: (string | number)[] = [];\n\n for (const entry in ruleEntries) {\n if (ruleEntries.hasOwnProperty(entry) && entry !== DISPLAY_NAME && ruleEntries[entry] !== undefined) {\n allEntries.push(entry, ruleEntries[entry]);\n }\n }\n\n // Apply transforms.\n for (let i = 0; i < allEntries.length; i += 2) {\n kebabRules(allEntries, i);\n provideUnits(allEntries, i);\n rtlifyRules(options, allEntries, i);\n prefixRules(allEntries, i);\n }\n\n // Apply punctuation.\n for (let i = 1; i < allEntries.length; i += 4) {\n allEntries.splice(i, 1, ':', allEntries[i], ';');\n }\n\n return allEntries.join('');\n}\n\nexport interface IRegistration {\n className: string;\n key: string;\n args: IStyle[];\n rulesToInsert: string[];\n}\n\nexport function styleToRegistration(options: IStyleOptions, ...args: IStyle[]): IRegistration | undefined {\n const stylesheet = options.stylesheet ?? Stylesheet.getInstance(options.shadowConfig);\n const rules: IRuleSet = extractRules(args, undefined, undefined, stylesheet);\n const key = getKeyForRules(options, rules);\n\n if (key) {\n const registration: Partial = {\n className: stylesheet.classNameFromKey(key),\n key,\n args,\n };\n\n if (!registration.className) {\n registration.className = stylesheet.getClassName(getDisplayName(rules));\n const rulesToInsert: string[] = [];\n\n for (const selector of rules.__order) {\n rulesToInsert.push(selector, serializeRuleEntries(options, rules[selector]));\n }\n registration.rulesToInsert = rulesToInsert;\n }\n\n return registration as IRegistration;\n }\n\n return undefined;\n}\n\n/**\n * Insert style to stylesheet.\n * @param registration Style registration.\n * @param specificityMultiplier Number of times classname selector is repeated in the css rule.\n * This is to increase css specificity in case it's needed. Default to 1.\n */\nexport function applyRegistration(\n registration: IRegistration,\n specificityMultiplier: number = 1,\n shadowConfig?: ShadowConfig,\n sheet?: Stylesheet,\n): void {\n const stylesheet = sheet ?? Stylesheet.getInstance(shadowConfig);\n const { className, key, args, rulesToInsert } = registration;\n\n if (rulesToInsert) {\n // rulesToInsert is an ordered array of selector/rule pairs.\n for (let i = 0; i < rulesToInsert.length; i += 2) {\n const rules = rulesToInsert[i + 1];\n if (rules) {\n let selector = rulesToInsert[i];\n selector = selector.replace(/&/g, repeatString(`.${registration.className}`, specificityMultiplier));\n\n // Insert. Note if a media query, we must close the query with a final bracket.\n const processedRule = `${selector}{${rules}}${selector.indexOf('@') === 0 ? '}' : ''}`;\n stylesheet.insertRule(processedRule);\n }\n }\n stylesheet.cacheClassName(className!, key!, args!, rulesToInsert);\n }\n}\n\nexport function styleToClassName(options: IStyleOptions, ...args: IStyle[]): string {\n const registration = styleToRegistration(options, ...args);\n if (registration) {\n applyRegistration(registration, options.specificityMultiplier, options.shadowConfig, options.stylesheet);\n\n return registration.className;\n }\n\n return '';\n}\n","/**\n * Split a string into tokens separated by whitespace, except all text within parentheses\n * is treated as a single token (whitespace is ignored within parentheses).\n *\n * Unlike String.split(' '), multiple consecutive space characters are collapsed and\n * removed from the returned array (including leading and trailing spaces).\n *\n * For example:\n * `tokenizeWithParentheses(\"3px calc(var(--x) / 2) 9px 0 \")`\n * => `[\"3px\", \"calc(var(--x) / 2)\", \"9px\", \"0\"]`\n *\n * @returns The array of tokens. Returns an empty array if the string was empty or contained only whitespace.\n */\nexport function tokenizeWithParentheses(value: string): string[] {\n const parts = [];\n let partStart = 0;\n let parens = 0;\n\n for (let i = 0; i < value.length; i++) {\n switch (value[i]) {\n case '(':\n parens++;\n break;\n case ')':\n if (parens) {\n parens--;\n }\n break;\n case '\\t':\n case ' ':\n if (!parens) {\n // Add the new part if it's not an empty string\n if (i > partStart) {\n parts.push(value.substring(partStart, i));\n }\n partStart = i + 1;\n }\n break;\n }\n }\n\n // Add the last part\n if (partStart < value.length) {\n parts.push(value.substring(partStart));\n }\n\n return parts;\n}\n","/**\n * Regular expressions matching characters to ignore when calculating the initials.\n */ /**\n * Regular expression matching characters within various types of enclosures, including the enclosures themselves\n * so for example, (xyz) [xyz] {xyz} all would be ignored\n */ const UNWANTED_ENCLOSURES_REGEX = /[\\(\\[\\{][^\\)\\]\\}]*[\\)\\]\\}]/g;\n/**\n * Regular expression matching special ASCII characters except space, plus some unicode special characters.\n * Applies after unwanted enclosures have been removed\n */ const UNWANTED_CHARS_REGEX = /[\\0-\\u001F\\!-/:-@\\[-`\\{-\\u00BF\\u0250-\\u036F\\uD800-\\uFFFF]/g;\n/**\n * Regular expression matching phone numbers. Applied after chars matching UNWANTED_CHARS_REGEX have been removed\n * and number has been trimmed for whitespaces\n */ const PHONENUMBER_REGEX = /^\\d+[\\d\\s]*(:?ext|x|)\\s*\\d+$/i;\n/** Regular expression matching one or more spaces. */ const MULTIPLE_WHITESPACES_REGEX = /\\s+/g;\n/**\n * Regular expression matching languages for which we currently don't support initials.\n * Arabic: Arabic, Arabic Supplement, Arabic Extended-A.\n * Korean: Hangul Jamo, Hangul Compatibility Jamo, Hangul Jamo Extended-A, Hangul Syllables, Hangul Jamo Extended-B.\n * Japanese: Hiragana, Katakana.\n * CJK: CJK Unified Ideographs Extension A, CJK Unified Ideographs, CJK Compatibility Ideographs,\n * CJK Unified Ideographs Extension B\n */ const UNSUPPORTED_TEXT_REGEX = /[\\u0600-\\u06FF\\u0750-\\u077F\\u08A0-\\u08FF\\u1100-\\u11FF\\u3130-\\u318F\\uA960-\\uA97F\\uAC00-\\uD7AF\\uD7B0-\\uD7FF\\u3040-\\u309F\\u30A0-\\u30FF\\u3400-\\u4DBF\\u4E00-\\u9FFF\\uF900-\\uFAFF]|[\\uD840-\\uD869][\\uDC00-\\uDED6]/;\nfunction getInitialsLatin(displayName, isRtl, firstInitialOnly) {\n let initials = '';\n const splits = displayName.split(' ');\n if (splits.length !== 0) {\n initials += splits[0].charAt(0).toUpperCase();\n }\n if (!firstInitialOnly) {\n if (splits.length === 2) {\n initials += splits[1].charAt(0).toUpperCase();\n } else if (splits.length === 3) {\n initials += splits[2].charAt(0).toUpperCase();\n }\n }\n if (isRtl && initials.length > 1) {\n return initials.charAt(1) + initials.charAt(0);\n }\n return initials;\n}\nfunction cleanupDisplayName(displayName) {\n displayName = displayName.replace(UNWANTED_ENCLOSURES_REGEX, '');\n displayName = displayName.replace(UNWANTED_CHARS_REGEX, '');\n displayName = displayName.replace(MULTIPLE_WHITESPACES_REGEX, ' ');\n displayName = displayName.trim();\n return displayName;\n}\n/**\n * Get (up to 2 characters) initials based on display name of the persona.\n *\n * @param displayName - The full name of the person or entity\n * @param isRtl - Whether the display is in RTL\n * @param options - Extra options to control the behavior of getInitials\n *\n * @returns The 1 or 2 character initials based on the name. Or an empty string if no initials\n * could be derived from the name.\n *\n * @internal\n */ export function getInitials(displayName, isRtl, options) {\n if (!displayName) {\n return '';\n }\n displayName = cleanupDisplayName(displayName);\n // For names containing CJK characters, and phone numbers, we don't display initials\n if (UNSUPPORTED_TEXT_REGEX.test(displayName) || !(options === null || options === void 0 ? void 0 : options.allowPhoneInitials) && PHONENUMBER_REGEX.test(displayName)) {\n return '';\n }\n return getInitialsLatin(displayName, isRtl, options === null || options === void 0 ? void 0 : options.firstInitialOnly);\n}\n","import * as React from 'react';\nimport { PresenceAvailable10Regular, PresenceAvailable12Regular, PresenceAvailable16Regular, PresenceAvailable20Regular, PresenceAvailable10Filled, PresenceAvailable12Filled, PresenceAvailable16Filled, PresenceAvailable20Filled, PresenceAway10Regular, PresenceAway12Regular, PresenceAway16Regular, PresenceAway20Regular, PresenceAway10Filled, PresenceAway12Filled, PresenceAway16Filled, PresenceAway20Filled, PresenceBlocked10Regular, PresenceBlocked12Regular, PresenceBlocked16Regular, PresenceBlocked20Regular, PresenceBusy10Filled, PresenceBusy12Filled, PresenceBusy16Filled, PresenceBusy20Filled, PresenceDnd10Regular, PresenceDnd12Regular, PresenceDnd16Regular, PresenceDnd20Regular, PresenceDnd10Filled, PresenceDnd12Filled, PresenceDnd16Filled, PresenceDnd20Filled, PresenceOof10Regular, PresenceOof12Regular, PresenceOof16Regular, PresenceOof20Regular, PresenceOffline10Regular, PresenceOffline12Regular, PresenceOffline16Regular, PresenceOffline20Regular, PresenceUnknown10Regular, PresenceUnknown12Regular, PresenceUnknown16Regular, PresenceUnknown20Regular } from '@fluentui/react-icons';\nexport const presenceAwayRegular = {\n // FIXME not all presence icon sizes are available\n // https://github.com/microsoft/fluentui/issues/20650\n tiny: PresenceAway10Regular,\n 'extra-small': PresenceAway10Regular,\n small: PresenceAway12Regular,\n medium: PresenceAway16Regular,\n large: PresenceAway20Regular,\n // FIXME not all presence icon sizes are available\n // https://github.com/microsoft/fluentui/issues/20650\n 'extra-large': PresenceAway20Regular\n};\nexport const presenceAwayFilled = {\n // FIXME not all presence icon sizes are available\n // https://github.com/microsoft/fluentui/issues/20650\n tiny: PresenceAway10Filled,\n 'extra-small': PresenceAway10Filled,\n small: PresenceAway12Filled,\n medium: PresenceAway16Filled,\n large: PresenceAway20Filled,\n // FIXME not all presence icon sizes are available\n // https://github.com/microsoft/fluentui/issues/20650\n 'extra-large': PresenceAway20Filled\n};\nexport const presenceAvailableRegular = {\n // FIXME not all presence icon sizes are available\n // https://github.com/microsoft/fluentui/issues/20650\n tiny: PresenceAvailable10Regular,\n 'extra-small': PresenceAvailable10Regular,\n small: PresenceAvailable12Regular,\n medium: PresenceAvailable16Regular,\n large: PresenceAvailable20Regular,\n // FIXME not all presence icon sizes are available\n // https://github.com/microsoft/fluentui/issues/20650\n 'extra-large': PresenceAvailable20Regular\n};\nexport const presenceAvailableFilled = {\n // FIXME not all presence icon sizes are available\n // https://github.com/microsoft/fluentui/issues/20650\n tiny: PresenceAvailable10Filled,\n 'extra-small': PresenceAvailable10Filled,\n small: PresenceAvailable12Filled,\n medium: PresenceAvailable16Filled,\n large: PresenceAvailable20Filled,\n // FIXME not all presence icon sizes are available\n // https://github.com/microsoft/fluentui/issues/20650\n 'extra-large': PresenceAvailable20Filled\n};\nexport const presenceBlockedRegular = {\n // FIXME not all presence icon sizes are available\n // https://github.com/microsoft/fluentui/issues/20650\n tiny: PresenceBlocked10Regular,\n 'extra-small': PresenceBlocked10Regular,\n small: PresenceBlocked12Regular,\n medium: PresenceBlocked16Regular,\n large: PresenceBlocked20Regular,\n // FIXME not all presence icon sizes are available\n // https://github.com/microsoft/fluentui/issues/20650\n 'extra-large': PresenceBlocked20Regular\n};\nexport const presenceBusyFilled = {\n // FIXME not all presence icon sizes are available\n // https://github.com/microsoft/fluentui/issues/20650\n tiny: PresenceBusy10Filled,\n 'extra-small': PresenceBusy10Filled,\n small: PresenceBusy12Filled,\n medium: PresenceBusy16Filled,\n large: PresenceBusy20Filled,\n // FIXME not all presence icon sizes are available\n // https://github.com/microsoft/fluentui/issues/20650\n 'extra-large': PresenceBusy20Filled\n};\nexport const presenceDndFilled = {\n // FIXME not all presence icon sizes are available\n // https://github.com/microsoft/fluentui/issues/20650\n tiny: PresenceDnd10Filled,\n 'extra-small': PresenceDnd10Filled,\n small: PresenceDnd12Filled,\n medium: PresenceDnd16Filled,\n large: PresenceDnd20Filled,\n // FIXME not all presence icon sizes are available\n // https://github.com/microsoft/fluentui/issues/20650\n 'extra-large': PresenceDnd20Filled\n};\nexport const presenceDndRegular = {\n // FIXME not all presence icon sizes are available\n // https://github.com/microsoft/fluentui/issues/20650\n tiny: PresenceDnd10Regular,\n 'extra-small': PresenceDnd10Regular,\n small: PresenceDnd12Regular,\n medium: PresenceDnd16Regular,\n large: PresenceDnd20Regular,\n // FIXME not all presence icon sizes are available\n // https://github.com/microsoft/fluentui/issues/20650\n 'extra-large': PresenceDnd20Regular\n};\nexport const presenceOofRegular = {\n // FIXME not all presence icon sizes are available\n // https://github.com/microsoft/fluentui/issues/20650\n tiny: PresenceOof10Regular,\n 'extra-small': PresenceOof10Regular,\n small: PresenceOof12Regular,\n medium: PresenceOof16Regular,\n large: PresenceOof20Regular,\n // FIXME not all presence icon sizes are available\n // https://github.com/microsoft/fluentui/issues/20650\n 'extra-large': PresenceOof20Regular\n};\nexport const presenceOfflineRegular = {\n // FIXME not all presence icon sizes are available\n // https://github.com/microsoft/fluentui/issues/20650\n tiny: PresenceOffline10Regular,\n 'extra-small': PresenceOffline10Regular,\n small: PresenceOffline12Regular,\n medium: PresenceOffline16Regular,\n large: PresenceOffline20Regular,\n // FIXME not all presence icon sizes are available\n // https://github.com/microsoft/fluentui/issues/20650\n 'extra-large': PresenceOffline20Regular\n};\nexport const presenceUnknownRegular = {\n // FIXME not all presence icon sizes are available\n // https://github.com/microsoft/fluentui/issues/20650\n tiny: PresenceUnknown10Regular,\n 'extra-small': PresenceUnknown10Regular,\n small: PresenceUnknown12Regular,\n medium: PresenceUnknown16Regular,\n large: PresenceUnknown20Regular,\n // FIXME not all presence icon sizes are available\n // https://github.com/microsoft/fluentui/issues/20650\n 'extra-large': PresenceUnknown20Regular\n};\n","import * as React from 'react';\nimport { getIntrinsicElementProps, slot } from '@fluentui/react-utilities';\n/**\n * Returns the props and state required to render the component\n */ export const useBadge_unstable = (props, ref)=>{\n const { shape = 'circular', size = 'medium', iconPosition = 'before', appearance = 'filled', color = 'brand' } = props;\n const state = {\n shape,\n size,\n iconPosition,\n appearance,\n color,\n components: {\n root: 'div',\n icon: 'span'\n },\n root: slot.always(getIntrinsicElementProps('div', {\n // FIXME:\n // `ref` is wrongly assigned to be `HTMLElement` instead of `HTMLDivElement`\n // but since it would be a breaking change to fix it, we are casting ref to it's proper type\n ref: ref,\n ...props\n }), {\n elementType: 'div'\n }),\n icon: slot.optional(props.icon, {\n elementType: 'span'\n })\n };\n return state;\n};\n","import * as React from 'react';\nimport { slot } from '@fluentui/react-utilities';\nimport { presenceAvailableFilled, presenceAvailableRegular, presenceAwayFilled, presenceBlockedRegular, presenceBusyFilled, presenceDndFilled, presenceDndRegular, presenceOfflineRegular, presenceOofRegular, presenceUnknownRegular } from './presenceIcons';\nimport { useBadge_unstable } from '../Badge/index';\nconst iconMap = (status, outOfOffice, size)=>{\n switch(status){\n case 'available':\n return outOfOffice ? presenceAvailableRegular[size] : presenceAvailableFilled[size];\n case 'away':\n return outOfOffice ? presenceOofRegular[size] : presenceAwayFilled[size];\n case 'blocked':\n return presenceBlockedRegular[size];\n case 'busy':\n return outOfOffice ? presenceUnknownRegular[size] : presenceBusyFilled[size];\n case 'do-not-disturb':\n return outOfOffice ? presenceDndRegular[size] : presenceDndFilled[size];\n case 'offline':\n return outOfOffice ? presenceOofRegular[size] : presenceOfflineRegular[size];\n case 'out-of-office':\n return presenceOofRegular[size];\n case 'unknown':\n return presenceUnknownRegular[size];\n }\n};\nconst DEFAULT_STRINGS = {\n busy: 'busy',\n 'out-of-office': 'out of office',\n away: 'away',\n available: 'available',\n offline: 'offline',\n 'do-not-disturb': 'do not disturb',\n unknown: 'unknown',\n blocked: 'blocked'\n};\n/**\n * Returns the props and state required to render the component\n */ export const usePresenceBadge_unstable = (props, ref)=>{\n const { size = 'medium', status = 'available', outOfOffice = false } = props;\n const statusText = DEFAULT_STRINGS[status];\n const oofText = props.outOfOffice && props.status !== 'out-of-office' ? ` ${DEFAULT_STRINGS['out-of-office']}` : '';\n const IconElement = iconMap(status, outOfOffice, size);\n const state = {\n ...useBadge_unstable({\n 'aria-label': statusText + oofText,\n role: 'img',\n ...props,\n size,\n icon: slot.optional(props.icon, {\n defaultProps: {\n children: IconElement ? /*#__PURE__*/ React.createElement(IconElement, null) : null\n },\n renderByDefault: true,\n elementType: 'span'\n })\n }, ref),\n status,\n outOfOffice\n };\n return state;\n};\n","import { __resetStyles, __styles, mergeClasses } from '@griffel/react';\nimport { tokens } from '@fluentui/react-theme';\nexport const presenceBadgeClassNames = {\n root: 'fui-PresenceBadge',\n icon: 'fui-PresenceBadge__icon'\n};\nconst getIsBusy = status => {\n if (status === 'busy' || status === 'do-not-disturb' || status === 'blocked') {\n return true;\n }\n return false;\n};\nconst useRootClassName = /*#__PURE__*/__resetStyles(\"r832ydo\", null, [\".r832ydo{display:inline-flex;box-sizing:border-box;align-items:center;justify-content:center;border-radius:var(--borderRadiusCircular);background-color:var(--colorNeutralBackground1);padding:1px;background-clip:content-box;}\"]);\nconst useIconClassName = /*#__PURE__*/__resetStyles(\"r11ag4qr\", null, [\".r11ag4qr{display:flex;margin:-1px;}\"]);\nconst useStyles = /*#__PURE__*/__styles({\n statusBusy: {\n sj55zd: \"fvi85wt\"\n },\n statusAway: {\n sj55zd: \"f14k8a89\"\n },\n statusAvailable: {\n sj55zd: \"fqa5hgp\"\n },\n statusOffline: {\n sj55zd: \"f11d4kpn\"\n },\n statusOutOfOffice: {\n sj55zd: \"fdce8r3\"\n },\n statusUnknown: {\n sj55zd: \"f11d4kpn\"\n },\n outOfOffice: {\n sj55zd: \"fr0bkrk\"\n },\n outOfOfficeAvailable: {\n sj55zd: \"fqa5hgp\"\n },\n outOfOfficeBusy: {\n sj55zd: \"fvi85wt\"\n },\n outOfOfficeUnknown: {\n sj55zd: \"f11d4kpn\"\n },\n tiny: {\n Bubjx69: \"f9ikmtg\",\n a9b677: \"f16dn6v3\",\n B2eet1l: \"f1w2irj7\",\n B5pe6w7: \"fab5kbq\",\n p4uzdd: \"f1ms1d91\"\n },\n large: {\n Bubjx69: \"f9ikmtg\",\n a9b677: \"f64fuq3\",\n B5pe6w7: \"f1vfi1yj\",\n p4uzdd: \"f15s34gz\"\n },\n extraLarge: {\n Bubjx69: \"f9ikmtg\",\n a9b677: \"f1w9dchk\",\n B5pe6w7: \"f14efy9b\",\n p4uzdd: \"fhipgdu\"\n }\n}, {\n d: [\".fvi85wt{color:var(--colorPaletteRedBackground3);}\", \".f14k8a89{color:var(--colorPaletteMarigoldBackground3);}\", \".fqa5hgp{color:var(--colorPaletteLightGreenForeground3);}\", \".f11d4kpn{color:var(--colorNeutralForeground3);}\", \".fdce8r3{color:var(--colorPaletteBerryForeground3);}\", \".fr0bkrk{color:var(--colorNeutralBackground1);}\", \".f9ikmtg{aspect-ratio:1;}\", \".f16dn6v3{width:6px;}\", \".f1w2irj7{background-clip:unset;}\", \".fab5kbq svg{width:6px!important;}\", \".f1ms1d91 svg{height:6px!important;}\", \".f64fuq3{width:20px;}\", \".f1vfi1yj svg{width:20px!important;}\", \".f15s34gz svg{height:20px!important;}\", \".f1w9dchk{width:28px;}\", \".f14efy9b svg{width:28px!important;}\", \".fhipgdu svg{height:28px!important;}\"]\n});\n/**\n * Applies style classnames to slots\n */\nexport const usePresenceBadgeStyles_unstable = state => {\n 'use no memo';\n\n const rootClassName = useRootClassName();\n const iconClassName = useIconClassName();\n const styles = useStyles();\n const isBusy = getIsBusy(state.status);\n state.root.className = mergeClasses(presenceBadgeClassNames.root, rootClassName, isBusy && styles.statusBusy, state.status === 'away' && styles.statusAway, state.status === 'available' && styles.statusAvailable, state.status === 'offline' && styles.statusOffline, state.status === 'out-of-office' && styles.statusOutOfOffice, state.status === 'unknown' && styles.statusUnknown, state.outOfOffice && styles.outOfOffice, state.outOfOffice && state.status === 'available' && styles.outOfOfficeAvailable, state.outOfOffice && isBusy && styles.outOfOfficeBusy, state.outOfOffice && (state.status === 'out-of-office' || state.status === 'away' || state.status === 'offline') && styles.statusOutOfOffice, state.outOfOffice && state.status === 'unknown' && styles.outOfOfficeUnknown, state.size === 'tiny' && styles.tiny, state.size === 'large' && styles.large, state.size === 'extra-large' && styles.extraLarge, state.root.className);\n if (state.icon) {\n state.icon.className = mergeClasses(presenceBadgeClassNames.icon, iconClassName, state.icon.className);\n }\n return state;\n};"," import { jsx as _jsx, jsxs as _jsxs } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { assertSlots } from '@fluentui/react-utilities';\nexport const renderBadge_unstable = (state)=>{\n assertSlots(state);\n return /*#__PURE__*/ _jsxs(state.root, {\n children: [\n state.iconPosition === 'before' && state.icon && /*#__PURE__*/ _jsx(state.icon, {}),\n state.root.children,\n state.iconPosition === 'after' && state.icon && /*#__PURE__*/ _jsx(state.icon, {})\n ]\n });\n};\n","import * as React from 'react';\nimport { usePresenceBadge_unstable } from './usePresenceBadge';\nimport { usePresenceBadgeStyles_unstable } from './usePresenceBadgeStyles.styles';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\nimport { renderBadge_unstable } from '../../Badge';\n/**\n * Define a styled Badge, using the `useBadge_unstable` hook.\n */ export const PresenceBadge = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = usePresenceBadge_unstable(props, ref);\n usePresenceBadgeStyles_unstable(state);\n useCustomStyleHook_unstable('usePresenceBadgeStyles_unstable')(state);\n return renderBadge_unstable(state);\n});\nPresenceBadge.displayName = 'PresenceBadge';\n","import * as React from 'react';\nconst avatarContext = React.createContext(undefined);\nconst avatarContextDefaultValue = {};\n/**\n * @internal\n */ export const AvatarContextProvider = avatarContext.Provider;\n/**\n * @internal\n */ export const useAvatarContext = ()=>{\n var _React_useContext;\n return (_React_useContext = React.useContext(avatarContext)) !== null && _React_useContext !== void 0 ? _React_useContext : avatarContextDefaultValue;\n};\n","import * as React from 'react';\nimport { getIntrinsicElementProps, mergeCallbacks, useId, slot } from '@fluentui/react-utilities';\nimport { getInitials } from '../../utils/index';\nimport { PersonRegular } from '@fluentui/react-icons';\nimport { PresenceBadge } from '@fluentui/react-badge';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\nimport { useAvatarContext } from '../../contexts/AvatarContext';\nexport const DEFAULT_STRINGS = {\n active: 'active',\n inactive: 'inactive'\n};\nexport const useAvatar_unstable = (props, ref)=>{\n const { dir } = useFluent();\n const { shape: contextShape, size: contextSize } = useAvatarContext();\n const { name, size = contextSize !== null && contextSize !== void 0 ? contextSize : 32, shape = contextShape !== null && contextShape !== void 0 ? contextShape : 'circular', active = 'unset', activeAppearance = 'ring', idForColor } = props;\n let { color = 'neutral' } = props;\n // Resolve 'colorful' to a specific color name\n if (color === 'colorful') {\n var _ref;\n color = avatarColors[getHashCode((_ref = idForColor !== null && idForColor !== void 0 ? idForColor : name) !== null && _ref !== void 0 ? _ref : '') % avatarColors.length];\n }\n const baseId = useId('avatar-');\n const root = slot.always(getIntrinsicElementProps('span', {\n role: 'img',\n id: baseId,\n // aria-label and/or aria-labelledby are resolved below\n ...props,\n ref\n }, /* excludedPropNames: */ [\n 'name'\n ]), {\n elementType: 'span'\n });\n const [imageHidden, setImageHidden] = React.useState(undefined);\n let image = slot.optional(props.image, {\n defaultProps: {\n alt: '',\n role: 'presentation',\n 'aria-hidden': true,\n hidden: imageHidden\n },\n elementType: 'img'\n }); // Image shouldn't be rendered if its src is not set\n if (!(image === null || image === void 0 ? void 0 : image.src)) {\n image = undefined;\n } // Hide the image if it fails to load and restore it on a successful load\n if (image) {\n image.onError = mergeCallbacks(image.onError, ()=>setImageHidden(true));\n image.onLoad = mergeCallbacks(image.onLoad, ()=>setImageHidden(undefined));\n } // Resolve the initials slot, defaulted to getInitials.\n let initials = slot.optional(props.initials, {\n renderByDefault: true,\n defaultProps: {\n children: getInitials(name, dir === 'rtl', {\n firstInitialOnly: size <= 16\n }),\n id: baseId + '__initials'\n },\n elementType: 'span'\n }); // Don't render the initials slot if it's empty\n if (!(initials === null || initials === void 0 ? void 0 : initials.children)) {\n initials = undefined;\n } // Render the icon slot *only if* there aren't any initials or image to display\n let icon = undefined;\n if (!initials && (!image || imageHidden)) {\n icon = slot.optional(props.icon, {\n renderByDefault: true,\n defaultProps: {\n children: /*#__PURE__*/ React.createElement(PersonRegular, null),\n 'aria-hidden': true\n },\n elementType: 'span'\n });\n }\n const badge = slot.optional(props.badge, {\n defaultProps: {\n size: getBadgeSize(size),\n id: baseId + '__badge'\n },\n elementType: PresenceBadge\n });\n let activeAriaLabelElement; // Resolve aria-label and/or aria-labelledby if not provided by the user\n if (!root['aria-label'] && !root['aria-labelledby']) {\n if (name) {\n root['aria-label'] = name; // Include the badge in labelledby if it exists\n if (badge) {\n root['aria-labelledby'] = root.id + ' ' + badge.id;\n }\n } else if (initials) {\n // root's aria-label should be the name, but fall back to being labelledby the initials if name is missing\n root['aria-labelledby'] = initials.id + (badge ? ' ' + badge.id : '');\n } // Add the active state to the aria label\n if (active === 'active' || active === 'inactive') {\n const activeText = DEFAULT_STRINGS[active];\n if (root['aria-labelledby']) {\n // If using aria-labelledby, render a hidden span and append it to the labelledby\n const activeId = baseId + '__active';\n root['aria-labelledby'] += ' ' + activeId;\n activeAriaLabelElement = /*#__PURE__*/ React.createElement(\"span\", {\n hidden: true,\n id: activeId\n }, activeText);\n } else if (root['aria-label']) {\n // Otherwise, just append it to the aria-label\n root['aria-label'] += ' ' + activeText;\n }\n }\n }\n return {\n size,\n shape,\n active,\n activeAppearance,\n activeAriaLabelElement,\n color,\n components: {\n root: 'span',\n initials: 'span',\n icon: 'span',\n image: 'img',\n badge: PresenceBadge\n },\n root,\n initials,\n icon,\n image,\n badge\n };\n};\nconst getBadgeSize = (size)=>{\n if (size >= 96) {\n return 'extra-large';\n } else if (size >= 64) {\n return 'large';\n } else if (size >= 56) {\n return 'medium';\n } else if (size >= 40) {\n return 'small';\n } else if (size >= 28) {\n return 'extra-small';\n } else {\n return 'tiny';\n }\n};\nconst avatarColors = [\n 'dark-red',\n 'cranberry',\n 'red',\n 'pumpkin',\n 'peach',\n 'marigold',\n 'gold',\n 'brass',\n 'brown',\n 'forest',\n 'seafoam',\n 'dark-green',\n 'light-teal',\n 'teal',\n 'steel',\n 'blue',\n 'royal-blue',\n 'cornflower',\n 'navy',\n 'lavender',\n 'purple',\n 'grape',\n 'lilac',\n 'pink',\n 'magenta',\n 'plum',\n 'beige',\n 'mink',\n 'platinum',\n 'anchor'\n];\nconst getHashCode = (str)=>{\n let hashCode = 0;\n for(let len = str.length - 1; len >= 0; len--){\n const ch = str.charCodeAt(len);\n const shift = len % 8;\n hashCode ^= (ch << shift) + (ch >> 8 - shift); // eslint-disable-line no-bitwise\n }\n return hashCode;\n};\n","import { tokens } from '@fluentui/react-theme';\nimport { __resetStyles, __styles, mergeClasses } from '@griffel/react';\nexport const avatarClassNames = {\n root: 'fui-Avatar',\n image: 'fui-Avatar__image',\n initials: 'fui-Avatar__initials',\n icon: 'fui-Avatar__icon',\n badge: 'fui-Avatar__badge'\n};\n// CSS variables used internally in Avatar's styles\nconst vars = {\n badgeRadius: '--fui-Avatar-badgeRadius',\n badgeGap: '--fui-Avatar-badgeGap',\n badgeAlign: '--fui-Avatar-badgeAlign',\n ringWidth: '--fui-Avatar-ringWidth'\n};\nconst useRootClassName = /*#__PURE__*/__resetStyles(\"r81b29z\", \"r1aatmv\", {\n r: [\".r81b29z{display:inline-block;flex-shrink:0;position:relative;vertical-align:middle;border-radius:var(--borderRadiusCircular);font-family:var(--fontFamilyBase);font-weight:var(--fontWeightSemibold);font-size:var(--fontSizeBase300);width:32px;height:32px;}\", \".r81b29z::before,.r81b29z::after{position:absolute;top:0;left:0;bottom:0;right:0;z-index:-1;margin:calc(-2 * var(--fui-Avatar-ringWidth, 0px));border-radius:inherit;transition-property:margin,opacity;transition-timing-function:var(--curveEasyEaseMax),var(--curveLinear);transition-duration:var(--durationUltraSlow),var(--durationSlower);}\", \".r81b29z::before{border-style:solid;border-width:var(--fui-Avatar-ringWidth);}\", \".r1aatmv{display:inline-block;flex-shrink:0;position:relative;vertical-align:middle;border-radius:var(--borderRadiusCircular);font-family:var(--fontFamilyBase);font-weight:var(--fontWeightSemibold);font-size:var(--fontSizeBase300);width:32px;height:32px;}\", \".r1aatmv::before,.r1aatmv::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;margin:calc(-2 * var(--fui-Avatar-ringWidth, 0px));border-radius:inherit;transition-property:margin,opacity;transition-timing-function:var(--curveEasyEaseMax),var(--curveLinear);transition-duration:var(--durationUltraSlow),var(--durationSlower);}\", \".r1aatmv::before{border-style:solid;border-width:var(--fui-Avatar-ringWidth);}\"],\n s: [\"@media screen and (prefers-reduced-motion: reduce){.r81b29z::before,.r81b29z::after{transition-duration:0.01ms;}}\", \"@media screen and (prefers-reduced-motion: reduce){.r1aatmv::before,.r1aatmv::after{transition-duration:0.01ms;}}\"]\n});\nconst useImageClassName = /*#__PURE__*/__resetStyles(\"r136dc0n\", \"rjly0nl\", [\".r136dc0n{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:inherit;object-fit:cover;vertical-align:top;}\", \".rjly0nl{position:absolute;top:0;right:0;width:100%;height:100%;border-radius:inherit;object-fit:cover;vertical-align:top;}\"]);\nconst useIconInitialsClassName = /*#__PURE__*/__resetStyles(\"rip04v\", \"r31uzil\", [\".rip04v{position:absolute;box-sizing:border-box;top:0;left:0;width:100%;height:100%;line-height:1;border:var(--strokeWidthThin) solid var(--colorTransparentStroke);display:flex;align-items:center;justify-content:center;vertical-align:center;text-align:center;-webkit-user-select:none;-moz-user-select:none;user-select:none;border-radius:inherit;}\", \".r31uzil{position:absolute;box-sizing:border-box;top:0;right:0;width:100%;height:100%;line-height:1;border:var(--strokeWidthThin) solid var(--colorTransparentStroke);display:flex;align-items:center;justify-content:center;vertical-align:center;text-align:center;-webkit-user-select:none;-moz-user-select:none;user-select:none;border-radius:inherit;}\"]);\n/**\n * Helper to create a maskImage that punches out a circle larger than the badge by `badgeGap`.\n * This creates a transparent gap between the badge and Avatar.\n *\n * Used by the icon, initials, and image slots, as well as the ring ::before pseudo-element.\n */\nconst badgeMask = margin => {\n // Center the cutout at the badge's radius away from the edge.\n // The ring (::before) also has a 2 * ringWidth margin that also needs to be offset.\n const centerOffset = margin ? `calc(var(${vars.badgeRadius}) + ${margin})` : `var(${vars.badgeRadius})`;\n // radial-gradient does not have anti-aliasing, so the transparent and opaque gradient stops are offset by +/- 0.25px\n // to \"fade\" from transparent to opaque over a half-pixel and ease the transition.\n const innerRadius = `calc(var(${vars.badgeRadius}) + var(${vars.badgeGap}) - 0.25px)`;\n const outerRadius = `calc(var(${vars.badgeRadius}) + var(${vars.badgeGap}) + 0.25px)`;\n return `radial-gradient(circle at bottom ${centerOffset} var(${vars.badgeAlign}) ${centerOffset}, ` + `transparent ${innerRadius}, white ${outerRadius})`;\n};\nconst useStyles = /*#__PURE__*/__styles({\n textCaption2Strong: {\n Be2twd7: \"f13mqy1h\"\n },\n textCaption1Strong: {\n Be2twd7: \"fy9rknc\"\n },\n textSubtitle2: {\n Be2twd7: \"fod5ikn\"\n },\n textSubtitle1: {\n Be2twd7: \"f1pp30po\"\n },\n textTitle3: {\n Be2twd7: \"f1x0m3f5\"\n },\n squareSmall: {\n Beyfa6y: 0,\n Bbmb7ep: 0,\n Btl43ni: 0,\n B7oj6ja: 0,\n Dimara: \"fq9zq91\"\n },\n squareMedium: {\n Beyfa6y: 0,\n Bbmb7ep: 0,\n Btl43ni: 0,\n B7oj6ja: 0,\n Dimara: \"ft85np5\"\n },\n squareLarge: {\n Beyfa6y: 0,\n Bbmb7ep: 0,\n Btl43ni: 0,\n B7oj6ja: 0,\n Dimara: \"f1o0qvyv\"\n },\n squareXLarge: {\n Beyfa6y: 0,\n Bbmb7ep: 0,\n Btl43ni: 0,\n B7oj6ja: 0,\n Dimara: \"f1kijzfu\"\n },\n activeOrInactive: {\n Bz10aip: \"ftfx35i\",\n Bmy1vo4: \"fv0atk9\",\n B3o57yi: \"f1iry5bo\",\n Bkqvd7p: \"f15n41j8\",\n Hwfdqs: \"f1onx1g3\"\n },\n ring: {\n Ftih45: \"f1wl9k8s\"\n },\n ringBadgeCutout: {\n f4a502: \"fp2gujx\"\n },\n ringThick: {\n of393c: \"fq1w1vq\"\n },\n ringThicker: {\n of393c: \"fzg6ace\"\n },\n ringThickest: {\n of393c: \"f1nu8p71\"\n },\n shadow: {\n Bsft5z2: \"f13zj6fq\"\n },\n shadow4: {\n Be6vj1x: \"fcjn15l\"\n },\n shadow8: {\n Be6vj1x: \"f1tm8t9f\"\n },\n shadow16: {\n Be6vj1x: \"f1a1aohj\"\n },\n shadow28: {\n Be6vj1x: \"fond6v5\"\n },\n inactive: {\n abs64n: \"fp25eh\",\n Bz10aip: \"f1clczzi\",\n Bkqvd7p: \"f1l3s34x\",\n Bfgortx: 0,\n Bnvr3x9: 0,\n b2tv09: 0,\n Bucmhp4: 0,\n iayac2: \"flkahu5\",\n b6ubon: \"fw457kn\",\n Bqinb2h: \"f1wmllxl\"\n },\n badge: {\n qhf8xq: \"f1euv43f\",\n B5kzvoi: \"f1yab3r1\",\n j35jbq: [\"f1e31b4d\", \"f1vgc2s3\"]\n },\n badgeCutout: {\n btxmck: \"f1eugkqs\"\n },\n badgeAlign: {\n Dnlfbu: [\"f1tlnv9o\", \"f1y9kyih\"]\n },\n tiny: {\n Bdjeniz: \"f1uwoubl\",\n niu6jh: \"fid048z\"\n },\n \"extra-small\": {\n Bdjeniz: \"f13ar0e0\",\n niu6jh: \"fid048z\"\n },\n small: {\n Bdjeniz: \"fwwuruf\",\n niu6jh: \"fid048z\"\n },\n medium: {\n Bdjeniz: \"f1af27q5\",\n niu6jh: \"fid048z\"\n },\n large: {\n Bdjeniz: \"f18yy57a\",\n niu6jh: \"f924bxt\"\n },\n \"extra-large\": {\n Bdjeniz: \"f2jg042\",\n niu6jh: \"f924bxt\"\n },\n icon12: {\n Be2twd7: \"f1ugzwwg\"\n },\n icon16: {\n Be2twd7: \"f4ybsrx\"\n },\n icon20: {\n Be2twd7: \"fe5j1ua\"\n },\n icon24: {\n Be2twd7: \"f1rt2boy\"\n },\n icon28: {\n Be2twd7: \"f24l1pt\"\n },\n icon32: {\n Be2twd7: \"ffl51b\"\n },\n icon48: {\n Be2twd7: \"f18m8u13\"\n }\n}, {\n d: [\".f13mqy1h{font-size:var(--fontSizeBase100);}\", \".fy9rknc{font-size:var(--fontSizeBase200);}\", \".fod5ikn{font-size:var(--fontSizeBase400);}\", \".f1pp30po{font-size:var(--fontSizeBase500);}\", \".f1x0m3f5{font-size:var(--fontSizeBase600);}\", [\".fq9zq91{border-radius:var(--borderRadiusSmall);}\", {\n p: -1\n }], [\".ft85np5{border-radius:var(--borderRadiusMedium);}\", {\n p: -1\n }], [\".f1o0qvyv{border-radius:var(--borderRadiusLarge);}\", {\n p: -1\n }], [\".f1kijzfu{border-radius:var(--borderRadiusXLarge);}\", {\n p: -1\n }], \".ftfx35i{transform:perspective(1px);}\", \".fv0atk9{transition-property:transform,opacity;}\", \".f1iry5bo{transition-duration:var(--durationUltraSlow),var(--durationFaster);}\", \".f15n41j8{transition-timing-function:var(--curveEasyEaseMax),var(--curveLinear);}\", \".f1wl9k8s::before{content:\\\"\\\";}\", \".fp2gujx::before{-webkit-mask-image:radial-gradient(circle at bottom calc(var(--fui-Avatar-badgeRadius) + 2 * var(--fui-Avatar-ringWidth)) var(--fui-Avatar-badgeAlign) calc(var(--fui-Avatar-badgeRadius) + 2 * var(--fui-Avatar-ringWidth)), transparent calc(var(--fui-Avatar-badgeRadius) + var(--fui-Avatar-badgeGap) - 0.25px), white calc(var(--fui-Avatar-badgeRadius) + var(--fui-Avatar-badgeGap) + 0.25px));mask-image:radial-gradient(circle at bottom calc(var(--fui-Avatar-badgeRadius) + 2 * var(--fui-Avatar-ringWidth)) var(--fui-Avatar-badgeAlign) calc(var(--fui-Avatar-badgeRadius) + 2 * var(--fui-Avatar-ringWidth)), transparent calc(var(--fui-Avatar-badgeRadius) + var(--fui-Avatar-badgeGap) - 0.25px), white calc(var(--fui-Avatar-badgeRadius) + var(--fui-Avatar-badgeGap) + 0.25px));}\", \".fq1w1vq{--fui-Avatar-ringWidth:var(--strokeWidthThick);}\", \".fzg6ace{--fui-Avatar-ringWidth:var(--strokeWidthThicker);}\", \".f1nu8p71{--fui-Avatar-ringWidth:var(--strokeWidthThickest);}\", \".f13zj6fq::after{content:\\\"\\\";}\", \".fcjn15l::after{box-shadow:var(--shadow4);}\", \".f1tm8t9f::after{box-shadow:var(--shadow8);}\", \".f1a1aohj::after{box-shadow:var(--shadow16);}\", \".fond6v5::after{box-shadow:var(--shadow28);}\", \".fp25eh{opacity:0.8;}\", \".f1clczzi{transform:scale(0.875);}\", \".f1l3s34x{transition-timing-function:var(--curveDecelerateMin),var(--curveLinear);}\", [\".flkahu5::before,.flkahu5::after{margin:0;}\", {\n p: -1\n }], \".fw457kn::before,.fw457kn::after{opacity:0;}\", \".f1wmllxl::before,.f1wmllxl::after{transition-timing-function:var(--curveDecelerateMin),var(--curveLinear);}\", \".f1euv43f{position:absolute;}\", \".f1yab3r1{bottom:0;}\", \".f1e31b4d{right:0;}\", \".f1vgc2s3{left:0;}\", \".f1eugkqs{-webkit-mask-image:radial-gradient(circle at bottom var(--fui-Avatar-badgeRadius) var(--fui-Avatar-badgeAlign) var(--fui-Avatar-badgeRadius), transparent calc(var(--fui-Avatar-badgeRadius) + var(--fui-Avatar-badgeGap) - 0.25px), white calc(var(--fui-Avatar-badgeRadius) + var(--fui-Avatar-badgeGap) + 0.25px));mask-image:radial-gradient(circle at bottom var(--fui-Avatar-badgeRadius) var(--fui-Avatar-badgeAlign) var(--fui-Avatar-badgeRadius), transparent calc(var(--fui-Avatar-badgeRadius) + var(--fui-Avatar-badgeGap) - 0.25px), white calc(var(--fui-Avatar-badgeRadius) + var(--fui-Avatar-badgeGap) + 0.25px));}\", \".f1tlnv9o{--fui-Avatar-badgeAlign:right;}\", \".f1y9kyih{--fui-Avatar-badgeAlign:left;}\", \".f1uwoubl{--fui-Avatar-badgeRadius:3px;}\", \".fid048z{--fui-Avatar-badgeGap:var(--strokeWidthThin);}\", \".f13ar0e0{--fui-Avatar-badgeRadius:5px;}\", \".fwwuruf{--fui-Avatar-badgeRadius:6px;}\", \".f1af27q5{--fui-Avatar-badgeRadius:8px;}\", \".f18yy57a{--fui-Avatar-badgeRadius:10px;}\", \".f924bxt{--fui-Avatar-badgeGap:var(--strokeWidthThick);}\", \".f2jg042{--fui-Avatar-badgeRadius:14px;}\", \".f1ugzwwg{font-size:12px;}\", \".f4ybsrx{font-size:16px;}\", \".fe5j1ua{font-size:20px;}\", \".f1rt2boy{font-size:24px;}\", \".f24l1pt{font-size:28px;}\", \".ffl51b{font-size:32px;}\", \".f18m8u13{font-size:48px;}\"],\n m: [[\"@media screen and (prefers-reduced-motion: reduce){.f1onx1g3{transition-duration:0.01ms;}}\", {\n m: \"screen and (prefers-reduced-motion: reduce)\"\n }]]\n});\nexport const useSizeStyles = /*#__PURE__*/__styles({\n \"16\": {\n a9b677: \"fjw5fx7\",\n Bqenvij: \"fd461yt\"\n },\n \"20\": {\n a9b677: \"f64fuq3\",\n Bqenvij: \"fjamq6b\"\n },\n \"24\": {\n a9b677: \"fq4mcun\",\n Bqenvij: \"frvgh55\"\n },\n \"28\": {\n a9b677: \"f1w9dchk\",\n Bqenvij: \"fxldao9\"\n },\n \"32\": {\n a9b677: \"f1szoe96\",\n Bqenvij: \"f1d2rq10\"\n },\n \"36\": {\n a9b677: \"fpdz1er\",\n Bqenvij: \"f8ljn23\"\n },\n \"40\": {\n a9b677: \"feqmc2u\",\n Bqenvij: \"fbhnoac\"\n },\n \"48\": {\n a9b677: \"f124akge\",\n Bqenvij: \"ff2sm71\"\n },\n \"56\": {\n a9b677: \"f1u66zr1\",\n Bqenvij: \"fzki0ko\"\n },\n \"64\": {\n a9b677: \"fa9ln6p\",\n Bqenvij: \"f16k9i2m\"\n },\n \"72\": {\n a9b677: \"fhcae8x\",\n Bqenvij: \"f1shusfg\"\n },\n \"96\": {\n a9b677: \"f1kyr2gn\",\n Bqenvij: \"fypu0ge\"\n },\n \"120\": {\n a9b677: \"fwfqyga\",\n Bqenvij: \"fjr5b71\"\n },\n \"128\": {\n a9b677: \"f1iksgmy\",\n Bqenvij: \"fele2au\"\n }\n}, {\n d: [\".fjw5fx7{width:16px;}\", \".fd461yt{height:16px;}\", \".f64fuq3{width:20px;}\", \".fjamq6b{height:20px;}\", \".fq4mcun{width:24px;}\", \".frvgh55{height:24px;}\", \".f1w9dchk{width:28px;}\", \".fxldao9{height:28px;}\", \".f1szoe96{width:32px;}\", \".f1d2rq10{height:32px;}\", \".fpdz1er{width:36px;}\", \".f8ljn23{height:36px;}\", \".feqmc2u{width:40px;}\", \".fbhnoac{height:40px;}\", \".f124akge{width:48px;}\", \".ff2sm71{height:48px;}\", \".f1u66zr1{width:56px;}\", \".fzki0ko{height:56px;}\", \".fa9ln6p{width:64px;}\", \".f16k9i2m{height:64px;}\", \".fhcae8x{width:72px;}\", \".f1shusfg{height:72px;}\", \".f1kyr2gn{width:96px;}\", \".fypu0ge{height:96px;}\", \".fwfqyga{width:120px;}\", \".fjr5b71{height:120px;}\", \".f1iksgmy{width:128px;}\", \".fele2au{height:128px;}\"]\n});\nconst useColorStyles = /*#__PURE__*/__styles({\n neutral: {\n sj55zd: \"f11d4kpn\",\n De3pzq: \"f18f03hv\"\n },\n brand: {\n sj55zd: \"fonrgv7\",\n De3pzq: \"f1blnnmj\"\n },\n \"dark-red\": {\n sj55zd: \"fqjd1y1\",\n De3pzq: \"f1vq2oo4\"\n },\n cranberry: {\n sj55zd: \"fg9gses\",\n De3pzq: \"f1lwxszt\"\n },\n red: {\n sj55zd: \"f23f7i0\",\n De3pzq: \"f1q9qhfq\"\n },\n pumpkin: {\n sj55zd: \"fjnan08\",\n De3pzq: \"fz91bi3\"\n },\n peach: {\n sj55zd: \"fknu15p\",\n De3pzq: \"f1b9nr51\"\n },\n marigold: {\n sj55zd: \"f9603vw\",\n De3pzq: \"f3z4w6d\"\n },\n gold: {\n sj55zd: \"fmq0uwp\",\n De3pzq: \"fg50kya\"\n },\n brass: {\n sj55zd: \"f28g5vo\",\n De3pzq: \"f4w2gd0\"\n },\n brown: {\n sj55zd: \"ftl572b\",\n De3pzq: \"f14wu1f4\"\n },\n forest: {\n sj55zd: \"f1gymlvd\",\n De3pzq: \"f19ut4y6\"\n },\n seafoam: {\n sj55zd: \"fnnb6wn\",\n De3pzq: \"f1n057jc\"\n },\n \"dark-green\": {\n sj55zd: \"ff58qw8\",\n De3pzq: \"f11t05wk\"\n },\n \"light-teal\": {\n sj55zd: \"f1up9qbj\",\n De3pzq: \"f42feg1\"\n },\n teal: {\n sj55zd: \"f135dsb4\",\n De3pzq: \"f6hvv1p\"\n },\n steel: {\n sj55zd: \"f151dlcp\",\n De3pzq: \"f1lnp8zf\"\n },\n blue: {\n sj55zd: \"f1rjv50u\",\n De3pzq: \"f1ggcpy6\"\n },\n \"royal-blue\": {\n sj55zd: \"f1emykk5\",\n De3pzq: \"f12rj61f\"\n },\n cornflower: {\n sj55zd: \"fqsigj7\",\n De3pzq: \"f8k7hur\"\n },\n navy: {\n sj55zd: \"f1nj97xi\",\n De3pzq: \"f19gw0ux\"\n },\n lavender: {\n sj55zd: \"fwctg0i\",\n De3pzq: \"ff379vm\"\n },\n purple: {\n sj55zd: \"fjrsgpu\",\n De3pzq: \"f1mzf1e1\"\n },\n grape: {\n sj55zd: \"f1fiiydq\",\n De3pzq: \"f1o4k8oy\"\n },\n lilac: {\n sj55zd: \"f1res9jt\",\n De3pzq: \"f1x6mz1o\"\n },\n pink: {\n sj55zd: \"fv3fbbi\",\n De3pzq: \"fydlv6t\"\n },\n magenta: {\n sj55zd: \"f1f1fwnz\",\n De3pzq: \"f4xb6j5\"\n },\n plum: {\n sj55zd: \"f8ptl6j\",\n De3pzq: \"fqo8e26\"\n },\n beige: {\n sj55zd: \"f1ntv3ld\",\n De3pzq: \"f101elhj\"\n },\n mink: {\n sj55zd: \"f1fscmp\",\n De3pzq: \"f13g8o5c\"\n },\n platinum: {\n sj55zd: \"f1dr00v2\",\n De3pzq: \"fkh7blw\"\n },\n anchor: {\n sj55zd: \"f1f3ti53\",\n De3pzq: \"fu4yj0j\"\n }\n}, {\n d: [\".f11d4kpn{color:var(--colorNeutralForeground3);}\", \".f18f03hv{background-color:var(--colorNeutralBackground6);}\", \".fonrgv7{color:var(--colorNeutralForegroundStaticInverted);}\", \".f1blnnmj{background-color:var(--colorBrandBackgroundStatic);}\", \".fqjd1y1{color:var(--colorPaletteDarkRedForeground2);}\", \".f1vq2oo4{background-color:var(--colorPaletteDarkRedBackground2);}\", \".fg9gses{color:var(--colorPaletteCranberryForeground2);}\", \".f1lwxszt{background-color:var(--colorPaletteCranberryBackground2);}\", \".f23f7i0{color:var(--colorPaletteRedForeground2);}\", \".f1q9qhfq{background-color:var(--colorPaletteRedBackground2);}\", \".fjnan08{color:var(--colorPalettePumpkinForeground2);}\", \".fz91bi3{background-color:var(--colorPalettePumpkinBackground2);}\", \".fknu15p{color:var(--colorPalettePeachForeground2);}\", \".f1b9nr51{background-color:var(--colorPalettePeachBackground2);}\", \".f9603vw{color:var(--colorPaletteMarigoldForeground2);}\", \".f3z4w6d{background-color:var(--colorPaletteMarigoldBackground2);}\", \".fmq0uwp{color:var(--colorPaletteGoldForeground2);}\", \".fg50kya{background-color:var(--colorPaletteGoldBackground2);}\", \".f28g5vo{color:var(--colorPaletteBrassForeground2);}\", \".f4w2gd0{background-color:var(--colorPaletteBrassBackground2);}\", \".ftl572b{color:var(--colorPaletteBrownForeground2);}\", \".f14wu1f4{background-color:var(--colorPaletteBrownBackground2);}\", \".f1gymlvd{color:var(--colorPaletteForestForeground2);}\", \".f19ut4y6{background-color:var(--colorPaletteForestBackground2);}\", \".fnnb6wn{color:var(--colorPaletteSeafoamForeground2);}\", \".f1n057jc{background-color:var(--colorPaletteSeafoamBackground2);}\", \".ff58qw8{color:var(--colorPaletteDarkGreenForeground2);}\", \".f11t05wk{background-color:var(--colorPaletteDarkGreenBackground2);}\", \".f1up9qbj{color:var(--colorPaletteLightTealForeground2);}\", \".f42feg1{background-color:var(--colorPaletteLightTealBackground2);}\", \".f135dsb4{color:var(--colorPaletteTealForeground2);}\", \".f6hvv1p{background-color:var(--colorPaletteTealBackground2);}\", \".f151dlcp{color:var(--colorPaletteSteelForeground2);}\", \".f1lnp8zf{background-color:var(--colorPaletteSteelBackground2);}\", \".f1rjv50u{color:var(--colorPaletteBlueForeground2);}\", \".f1ggcpy6{background-color:var(--colorPaletteBlueBackground2);}\", \".f1emykk5{color:var(--colorPaletteRoyalBlueForeground2);}\", \".f12rj61f{background-color:var(--colorPaletteRoyalBlueBackground2);}\", \".fqsigj7{color:var(--colorPaletteCornflowerForeground2);}\", \".f8k7hur{background-color:var(--colorPaletteCornflowerBackground2);}\", \".f1nj97xi{color:var(--colorPaletteNavyForeground2);}\", \".f19gw0ux{background-color:var(--colorPaletteNavyBackground2);}\", \".fwctg0i{color:var(--colorPaletteLavenderForeground2);}\", \".ff379vm{background-color:var(--colorPaletteLavenderBackground2);}\", \".fjrsgpu{color:var(--colorPalettePurpleForeground2);}\", \".f1mzf1e1{background-color:var(--colorPalettePurpleBackground2);}\", \".f1fiiydq{color:var(--colorPaletteGrapeForeground2);}\", \".f1o4k8oy{background-color:var(--colorPaletteGrapeBackground2);}\", \".f1res9jt{color:var(--colorPaletteLilacForeground2);}\", \".f1x6mz1o{background-color:var(--colorPaletteLilacBackground2);}\", \".fv3fbbi{color:var(--colorPalettePinkForeground2);}\", \".fydlv6t{background-color:var(--colorPalettePinkBackground2);}\", \".f1f1fwnz{color:var(--colorPaletteMagentaForeground2);}\", \".f4xb6j5{background-color:var(--colorPaletteMagentaBackground2);}\", \".f8ptl6j{color:var(--colorPalettePlumForeground2);}\", \".fqo8e26{background-color:var(--colorPalettePlumBackground2);}\", \".f1ntv3ld{color:var(--colorPaletteBeigeForeground2);}\", \".f101elhj{background-color:var(--colorPaletteBeigeBackground2);}\", \".f1fscmp{color:var(--colorPaletteMinkForeground2);}\", \".f13g8o5c{background-color:var(--colorPaletteMinkBackground2);}\", \".f1dr00v2{color:var(--colorPalettePlatinumForeground2);}\", \".fkh7blw{background-color:var(--colorPalettePlatinumBackground2);}\", \".f1f3ti53{color:var(--colorPaletteAnchorForeground2);}\", \".fu4yj0j{background-color:var(--colorPaletteAnchorBackground2);}\"]\n});\nconst useRingColorStyles = /*#__PURE__*/__styles({\n neutral: {\n Bic5iru: \"f1uuiafn\"\n },\n brand: {\n Bic5iru: \"f1uuiafn\"\n },\n \"dark-red\": {\n Bic5iru: \"f1t2x9on\"\n },\n cranberry: {\n Bic5iru: \"f1pvshc9\"\n },\n red: {\n Bic5iru: \"f1ectbk9\"\n },\n pumpkin: {\n Bic5iru: \"fvzpl0b\"\n },\n peach: {\n Bic5iru: \"fwj2kd7\"\n },\n marigold: {\n Bic5iru: \"fr120vy\"\n },\n gold: {\n Bic5iru: \"f8xmmar\"\n },\n brass: {\n Bic5iru: \"f1hbety2\"\n },\n brown: {\n Bic5iru: \"f1vg3s4g\"\n },\n forest: {\n Bic5iru: \"f1m3olm5\"\n },\n seafoam: {\n Bic5iru: \"f17xiqtr\"\n },\n \"dark-green\": {\n Bic5iru: \"fx32vyh\"\n },\n \"light-teal\": {\n Bic5iru: \"f1mkihwv\"\n },\n teal: {\n Bic5iru: \"fecnooh\"\n },\n steel: {\n Bic5iru: \"f15hfgzm\"\n },\n blue: {\n Bic5iru: \"fqproka\"\n },\n \"royal-blue\": {\n Bic5iru: \"f17v2w59\"\n },\n cornflower: {\n Bic5iru: \"fp0q1mo\"\n },\n navy: {\n Bic5iru: \"f1nlym55\"\n },\n lavender: {\n Bic5iru: \"f62vk8h\"\n },\n purple: {\n Bic5iru: \"f15zl69q\"\n },\n grape: {\n Bic5iru: \"f53w4j7\"\n },\n lilac: {\n Bic5iru: \"fu2771t\"\n },\n pink: {\n Bic5iru: \"fzflscs\"\n },\n magenta: {\n Bic5iru: \"fb6rmqc\"\n },\n plum: {\n Bic5iru: \"f1a4gm5b\"\n },\n beige: {\n Bic5iru: \"f1qpf9z1\"\n },\n mink: {\n Bic5iru: \"f1l7or83\"\n },\n platinum: {\n Bic5iru: \"fzrj0iu\"\n },\n anchor: {\n Bic5iru: \"f8oz6wf\"\n }\n}, {\n d: [\".f1uuiafn::before{color:var(--colorBrandStroke1);}\", \".f1t2x9on::before{color:var(--colorPaletteDarkRedBorderActive);}\", \".f1pvshc9::before{color:var(--colorPaletteCranberryBorderActive);}\", \".f1ectbk9::before{color:var(--colorPaletteRedBorderActive);}\", \".fvzpl0b::before{color:var(--colorPalettePumpkinBorderActive);}\", \".fwj2kd7::before{color:var(--colorPalettePeachBorderActive);}\", \".fr120vy::before{color:var(--colorPaletteMarigoldBorderActive);}\", \".f8xmmar::before{color:var(--colorPaletteGoldBorderActive);}\", \".f1hbety2::before{color:var(--colorPaletteBrassBorderActive);}\", \".f1vg3s4g::before{color:var(--colorPaletteBrownBorderActive);}\", \".f1m3olm5::before{color:var(--colorPaletteForestBorderActive);}\", \".f17xiqtr::before{color:var(--colorPaletteSeafoamBorderActive);}\", \".fx32vyh::before{color:var(--colorPaletteDarkGreenBorderActive);}\", \".f1mkihwv::before{color:var(--colorPaletteLightTealBorderActive);}\", \".fecnooh::before{color:var(--colorPaletteTealBorderActive);}\", \".f15hfgzm::before{color:var(--colorPaletteSteelBorderActive);}\", \".fqproka::before{color:var(--colorPaletteBlueBorderActive);}\", \".f17v2w59::before{color:var(--colorPaletteRoyalBlueBorderActive);}\", \".fp0q1mo::before{color:var(--colorPaletteCornflowerBorderActive);}\", \".f1nlym55::before{color:var(--colorPaletteNavyBorderActive);}\", \".f62vk8h::before{color:var(--colorPaletteLavenderBorderActive);}\", \".f15zl69q::before{color:var(--colorPalettePurpleBorderActive);}\", \".f53w4j7::before{color:var(--colorPaletteGrapeBorderActive);}\", \".fu2771t::before{color:var(--colorPaletteLilacBorderActive);}\", \".fzflscs::before{color:var(--colorPalettePinkBorderActive);}\", \".fb6rmqc::before{color:var(--colorPaletteMagentaBorderActive);}\", \".f1a4gm5b::before{color:var(--colorPalettePlumBorderActive);}\", \".f1qpf9z1::before{color:var(--colorPaletteBeigeBorderActive);}\", \".f1l7or83::before{color:var(--colorPaletteMinkBorderActive);}\", \".fzrj0iu::before{color:var(--colorPalettePlatinumBorderActive);}\", \".f8oz6wf::before{color:var(--colorPaletteAnchorBorderActive);}\"]\n});\nexport const useAvatarStyles_unstable = state => {\n 'use no memo';\n\n const {\n size,\n shape,\n active,\n activeAppearance,\n color\n } = state;\n const rootClassName = useRootClassName();\n const imageClassName = useImageClassName();\n const iconInitialsClassName = useIconInitialsClassName();\n const styles = useStyles();\n const sizeStyles = useSizeStyles();\n const colorStyles = useColorStyles();\n const ringColorStyles = useRingColorStyles();\n const rootClasses = [rootClassName, size !== 32 && sizeStyles[size]];\n if (state.badge) {\n rootClasses.push(styles.badgeAlign, styles[state.badge.size || 'medium']);\n }\n if (size <= 24) {\n rootClasses.push(styles.textCaption2Strong);\n } else if (size <= 28) {\n rootClasses.push(styles.textCaption1Strong);\n } else if (size <= 40) {\n // Default text size included in useRootClassName\n } else if (size <= 56) {\n rootClasses.push(styles.textSubtitle2);\n } else if (size <= 96) {\n rootClasses.push(styles.textSubtitle1);\n } else {\n rootClasses.push(styles.textTitle3);\n }\n if (shape === 'square') {\n if (size <= 24) {\n rootClasses.push(styles.squareSmall);\n } else if (size <= 48) {\n rootClasses.push(styles.squareMedium);\n } else if (size <= 72) {\n rootClasses.push(styles.squareLarge);\n } else {\n rootClasses.push(styles.squareXLarge);\n }\n }\n if (active === 'active' || active === 'inactive') {\n rootClasses.push(styles.activeOrInactive);\n if (activeAppearance === 'ring' || activeAppearance === 'ring-shadow') {\n rootClasses.push(styles.ring, ringColorStyles[color]);\n if (state.badge) {\n rootClasses.push(styles.ringBadgeCutout);\n }\n if (size <= 48) {\n rootClasses.push(styles.ringThick);\n } else if (size <= 64) {\n rootClasses.push(styles.ringThicker);\n } else {\n rootClasses.push(styles.ringThickest);\n }\n }\n if (activeAppearance === 'shadow' || activeAppearance === 'ring-shadow') {\n rootClasses.push(styles.shadow);\n if (size <= 28) {\n rootClasses.push(styles.shadow4);\n } else if (size <= 48) {\n rootClasses.push(styles.shadow8);\n } else if (size <= 64) {\n rootClasses.push(styles.shadow16);\n } else {\n rootClasses.push(styles.shadow28);\n }\n }\n // Note: The inactive style overrides some of the activeAppearance styles and must be applied after them\n if (active === 'inactive') {\n rootClasses.push(styles.inactive);\n }\n }\n state.root.className = mergeClasses(avatarClassNames.root, ...rootClasses, state.root.className);\n if (state.badge) {\n state.badge.className = mergeClasses(avatarClassNames.badge, styles.badge, state.badge.className);\n }\n if (state.image) {\n state.image.className = mergeClasses(avatarClassNames.image, imageClassName, colorStyles[color], state.badge && styles.badgeCutout, state.image.className);\n }\n if (state.initials) {\n state.initials.className = mergeClasses(avatarClassNames.initials, iconInitialsClassName, colorStyles[color], state.badge && styles.badgeCutout, state.initials.className);\n }\n if (state.icon) {\n let iconSizeClass;\n if (size <= 16) {\n iconSizeClass = styles.icon12;\n } else if (size <= 24) {\n iconSizeClass = styles.icon16;\n } else if (size <= 40) {\n iconSizeClass = styles.icon20;\n } else if (size <= 48) {\n iconSizeClass = styles.icon24;\n } else if (size <= 56) {\n iconSizeClass = styles.icon28;\n } else if (size <= 72) {\n iconSizeClass = styles.icon32;\n } else {\n iconSizeClass = styles.icon48;\n }\n state.icon.className = mergeClasses(avatarClassNames.icon, iconInitialsClassName, iconSizeClass, colorStyles[color], state.badge && styles.badgeCutout, state.icon.className);\n }\n return state;\n};","import * as React from 'react';\nimport { renderAvatar_unstable } from './renderAvatar';\nimport { useAvatar_unstable } from './useAvatar';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\nimport { useAvatarStyles_unstable } from './useAvatarStyles.styles';\nexport const Avatar = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useAvatar_unstable(props, ref);\n useAvatarStyles_unstable(state);\n useCustomStyleHook_unstable('useAvatarStyles_unstable')(state);\n return renderAvatar_unstable(state);\n});\nAvatar.displayName = 'Avatar';\n"," import { jsx as _jsx, jsxs as _jsxs } from \"@fluentui/react-jsx-runtime/jsx-runtime\";\nimport { assertSlots } from '@fluentui/react-utilities';\nexport const renderAvatar_unstable = (state)=>{\n assertSlots(state);\n return /*#__PURE__*/ _jsxs(state.root, {\n children: [\n state.initials && /*#__PURE__*/ _jsx(state.initials, {}),\n state.icon && /*#__PURE__*/ _jsx(state.icon, {}),\n state.image && /*#__PURE__*/ _jsx(state.image, {}),\n state.badge && /*#__PURE__*/ _jsx(state.badge, {}),\n state.activeAriaLabelElement\n ]\n });\n};\n","import { Enter, Space } from '@fluentui/keyboard-keys';\nimport { useEventCallback } from '@fluentui/react-utilities';\nimport * as React from 'react';\n/**\n * @internal\n *\n * Button keyboard handling, role, disabled and tabIndex implementation that ensures ARIA spec\n * for multiple scenarios of non native button elements. Ensuring 1st rule of ARIA for cases\n * where no attribute addition is required.\n *\n * @param type - the proper scenario to be interpreted by the hook.\n * 1. `button` - Minimal interference from the hook, as semantic button already supports most of the states\n * 2. `a` or `div` - Proper keyboard/mouse handling plus other support to ensure ARIA behavior\n * @param props - the props to be passed down the line to the desired element.\n * This hook will encapsulate proper properties, such as `onClick`, `onKeyDown`, `onKeyUp`, etc,.\n *\n * @example\n * ```tsx\n * const buttonProps = useARIAButtonProps('a', {\n * href: './some-route'\n * onClick: () => console.log('this should run both on click and Space and Enter')\n * })\n *\n * // ...\n *\n * return (\n * This anchor will behave as a proper button\n * )\n * ```\n */ export function useARIAButtonProps(type, props) {\n const { disabled, disabledFocusable = false, ['aria-disabled']: ariaDisabled, onClick, onKeyDown, onKeyUp, ...rest } = props !== null && props !== void 0 ? props : {};\n const normalizedARIADisabled = typeof ariaDisabled === 'string' ? ariaDisabled === 'true' : ariaDisabled;\n const isDisabled = disabled || disabledFocusable || normalizedARIADisabled;\n const handleClick = useEventCallback((ev)=>{\n if (isDisabled) {\n ev.preventDefault();\n ev.stopPropagation();\n } else {\n onClick === null || onClick === void 0 ? void 0 : onClick(ev);\n }\n });\n const handleKeyDown = useEventCallback((ev)=>{\n onKeyDown === null || onKeyDown === void 0 ? void 0 : onKeyDown(ev);\n if (ev.isDefaultPrevented()) {\n return;\n }\n const key = ev.key;\n if (isDisabled && (key === Enter || key === Space)) {\n ev.preventDefault();\n ev.stopPropagation();\n return;\n }\n if (key === Space) {\n ev.preventDefault();\n return;\n } else if (key === Enter) {\n ev.preventDefault();\n ev.currentTarget.click();\n }\n });\n const handleKeyUp = useEventCallback((ev)=>{\n onKeyUp === null || onKeyUp === void 0 ? void 0 : onKeyUp(ev);\n if (ev.isDefaultPrevented()) {\n return;\n }\n const key = ev.key;\n if (isDisabled && (key === Enter || key === Space)) {\n ev.preventDefault();\n ev.stopPropagation();\n return;\n }\n if (key === Space) {\n ev.preventDefault();\n ev.currentTarget.click();\n }\n });\n // If a