@azure/communication-react 1.15.0-alpha-202404110013 → 1.15.0-alpha-202404130012

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/dist/dist-cjs/communication-react/{ChatMessageComponentAsRichTextEditBox-BXHOj2Z6.js → ChatMessageComponentAsRichTextEditBox-C7JhyJ8D.js} +3 -2
  2. package/dist/dist-cjs/communication-react/{ChatMessageComponentAsRichTextEditBox-BXHOj2Z6.js.map → ChatMessageComponentAsRichTextEditBox-C7JhyJ8D.js.map} +1 -1
  3. package/dist/dist-cjs/communication-react/{index-D5L3GDY8.js → index-RKUKw8Xi.js} +86 -11
  4. package/dist/dist-cjs/communication-react/index-RKUKw8Xi.js.map +1 -0
  5. package/dist/dist-cjs/communication-react/index.js +1 -1
  6. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
  7. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
  8. package/dist/dist-esm/communication-react/src/index.d.ts +3 -1
  9. package/dist/dist-esm/communication-react/src/index.js +1 -1
  10. package/dist/dist-esm/communication-react/src/index.js.map +1 -1
  11. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.d.ts +12 -1
  12. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.js +19 -7
  13. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.js.map +1 -1
  14. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.d.ts +1 -0
  15. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.js +1 -0
  16. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.js.map +1 -1
  17. package/dist/dist-esm/react-components/src/components/ErrorBoundary.d.ts +20 -0
  18. package/dist/dist-esm/react-components/src/components/ErrorBoundary.js +29 -0
  19. package/dist/dist-esm/react-components/src/components/ErrorBoundary.js.map +1 -0
  20. package/dist/dist-esm/react-components/src/components/MessageThread.js +11 -0
  21. package/dist/dist-esm/react-components/src/components/MessageThread.js.map +1 -1
  22. package/dist/dist-esm/react-components/src/components/VideoTile.js +28 -1
  23. package/dist/dist-esm/react-components/src/components/VideoTile.js.map +1 -1
  24. package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.js +1 -1
  25. package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.js.map +1 -1
  26. package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.js +2 -1
  27. package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.js.map +1 -1
  28. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/Buttons.styles.js +1 -1
  29. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/Buttons.styles.js.map +1 -1
  30. package/package.json +1 -1
  31. package/dist/dist-cjs/communication-react/index-D5L3GDY8.js.map +0 -1
@@ -4,7 +4,7 @@ var react = require('@fluentui/react');
4
4
  var reactChat = require('@fluentui-contrib/react-chat');
5
5
  var reactComponents = require('@fluentui/react-components');
6
6
  require('@azure/communication-common');
7
- var index = require('./index-D5L3GDY8.js');
7
+ var index = require('./index-RKUKw8Xi.js');
8
8
  var React = require('react');
9
9
  require('reselect');
10
10
  require('@azure/communication-calling');
@@ -125,4 +125,5 @@ const ChatMessageComponentAsRichTextEditBox = (props) => {
125
125
  };
126
126
 
127
127
  exports.ChatMessageComponentAsRichTextEditBox = ChatMessageComponentAsRichTextEditBox;
128
- //# sourceMappingURL=ChatMessageComponentAsRichTextEditBox-BXHOj2Z6.js.map
128
+ exports.default = ChatMessageComponentAsRichTextEditBox;
129
+ //# sourceMappingURL=ChatMessageComponentAsRichTextEditBox-C7JhyJ8D.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChatMessageComponentAsRichTextEditBox-BXHOj2Z6.js","sources":["../../../../react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.tsx"],"sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { mergeStyles, Stack } from '@fluentui/react';\nimport { ChatMyMessage } from '@fluentui-contrib/react-chat';\nimport { mergeClasses } from '@fluentui/react-components';\nimport { _formatString } from '@internal/acs-ui-common';\nimport { useTheme } from '../../../theming';\nimport React, { useCallback, useMemo, useState } from 'react';\nimport { editBoxWidthStyles, richTextEditBoxActionButtonIcon } from '../../styles/EditBox.styles';\nimport { InputBoxButton } from '../../InputBoxButton';\nimport { MessageThreadStrings } from '../../MessageThread';\nimport { useChatMyMessageStyles } from '../../styles/MessageThread.styles';\nimport { ChatMessage } from '../../../types';\nimport { _AttachmentUploadCards } from '../../AttachmentUploadCards';\n/* @conditional-compile-remove(attachment-upload) */\nimport { AttachmentMetadata } from '../../../types/Attachment';\nimport { useChatMessageRichTextEditContainerStyles } from '../../styles/ChatMessageComponent.styles';\nimport { MAXIMUM_LENGTH_OF_MESSAGE } from '../../utils/SendBoxUtils';\nimport {\n getMessageState,\n onRenderCancelIcon,\n onRenderSubmitIcon\n} from '../../utils/ChatMessageComponentAsEditBoxUtils';\n/* @conditional-compile-remove(attachment-upload) */\nimport { getMessageWithAttachmentMetadata } from '../../utils/ChatMessageComponentAsEditBoxUtils';\nimport { RichTextEditorComponentRef } from '../../RichTextEditor/RichTextEditor';\nimport { RichTextInputBoxComponent } from '../../RichTextEditor/RichTextInputBoxComponent';\nimport { editBoxRichTextEditorStyle, richTextActionButtonsStyle } from '../../styles/RichTextEditor.styles';\nimport { RichTextSendBoxErrors } from '../../RichTextEditor/RichTextSendBoxErrors';\nimport { useLocale } from '../../../localization';\n/* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */\nimport { FluentV9ThemeProvider } from '../../../theming/FluentV9ThemeProvider';\n/* @conditional-compile-remove(attachment-upload) */\nimport { attachmentUploadCardsStyles } from '../../styles/SendBox.styles';\n\n/** @private */\nexport type ChatMessageComponentAsRichTextEditBoxProps = {\n onCancel?: (messageId: string) => void;\n onSubmit: (\n text: string,\n metadata?: Record<string, string>,\n options?: {\n /* @conditional-compile-remove(attachment-upload) */\n attachmentMetadata?: AttachmentMetadata[];\n }\n ) => void;\n message: ChatMessage;\n strings: MessageThreadStrings;\n};\n\n/**\n * @private\n */\nexport const ChatMessageComponentAsRichTextEditBox = (\n props: ChatMessageComponentAsRichTextEditBoxProps\n): JSX.Element => {\n const { onCancel, onSubmit, strings, message } = props;\n\n const [textValue, setTextValue] = useState<string>(message.content || '');\n /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */\n const [attachmentMetadata, setAttachmentMetadata] = useState(getMessageWithAttachmentMetadata(message));\n const editTextFieldRef = React.useRef<RichTextEditorComponentRef>(null);\n const theme = useTheme();\n const messageState = getMessageState(\n textValue,\n /* @conditional-compile-remove(attachment-upload) */ attachmentMetadata ?? []\n );\n const submitEnabled = messageState === 'OK';\n\n const editContainerStyles = useChatMessageRichTextEditContainerStyles();\n const chatMyMessageStyles = useChatMyMessageStyles();\n const locale = useLocale().strings;\n\n const setText = (newValue?: string): void => {\n setTextValue(newValue ?? '');\n };\n\n const textTooLongMessage =\n messageState === 'too long'\n ? _formatString(strings.editBoxTextLimit, { limitNumber: `${MAXIMUM_LENGTH_OF_MESSAGE}` })\n : undefined;\n\n const iconClassName = useCallback(\n (isHover: boolean) => {\n const color = isHover ? theme.palette.accent : theme.palette.neutralSecondary;\n return mergeStyles(richTextEditBoxActionButtonIcon, { color });\n },\n [theme.palette.accent, theme.palette.neutralSecondary]\n );\n\n const onRenderThemedCancelIcon = useCallback(\n (isHover: boolean) => {\n return onRenderCancelIcon(iconClassName(isHover));\n },\n [iconClassName]\n );\n\n const onRenderThemedSubmitIcon = useCallback(\n (isHover: boolean) => {\n return onRenderSubmitIcon(iconClassName(isHover));\n },\n [iconClassName]\n );\n\n const actionButtons = useMemo(() => {\n return (\n <Stack horizontal>\n <InputBoxButton\n className={richTextActionButtonsStyle}\n ariaLabel={strings.editBoxCancelButton}\n tooltipContent={strings.editBoxCancelButton}\n onRenderIcon={onRenderThemedCancelIcon}\n onClick={() => {\n onCancel && onCancel(message.messageId);\n }}\n id={'dismissIconWrapper'}\n />\n <InputBoxButton\n className={richTextActionButtonsStyle}\n ariaLabel={strings.editBoxSubmitButton}\n tooltipContent={strings.editBoxSubmitButton}\n onRenderIcon={onRenderThemedSubmitIcon}\n onClick={(e) => {\n submitEnabled &&\n onSubmit(\n textValue,\n message.metadata,\n /* @conditional-compile-remove(attachment-upload) */ {\n attachmentMetadata\n }\n );\n e.stopPropagation();\n }}\n id={'submitIconWrapper'}\n />\n </Stack>\n );\n }, [\n /* @conditional-compile-remove(attachment-upload) */ attachmentMetadata,\n message.messageId,\n message.metadata,\n onCancel,\n onRenderThemedCancelIcon,\n onRenderThemedSubmitIcon,\n onSubmit,\n strings.editBoxCancelButton,\n strings.editBoxSubmitButton,\n submitEnabled,\n textValue\n ]);\n const richTextLocaleStrings = useMemo(() => {\n /* @conditional-compile-remove(rich-text-editor) */\n return locale.richTextSendBox;\n return locale.sendBox;\n }, [/* @conditional-compile-remove(rich-text-editor) */ locale.richTextSendBox, locale.sendBox]);\n\n /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */\n const onCancelAttachmentUpload = useCallback(\n (attachmentId: string) => {\n setAttachmentMetadata(attachmentMetadata?.filter((attachment) => attachment.id !== attachmentId));\n },\n [attachmentMetadata]\n );\n\n /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */\n const onRenderAttachmentUploads = useCallback(() => {\n return (\n <Stack className={attachmentUploadCardsStyles}>\n <FluentV9ThemeProvider v8Theme={theme}>\n <_AttachmentUploadCards\n activeAttachmentUploads={attachmentMetadata}\n onCancelAttachmentUpload={onCancelAttachmentUpload}\n />\n </FluentV9ThemeProvider>\n </Stack>\n );\n }, [attachmentMetadata, onCancelAttachmentUpload, theme]);\n\n const getContent = (): JSX.Element => {\n return (\n <Stack className={mergeStyles(editBoxWidthStyles)}>\n <RichTextSendBoxErrors textTooLongMessage={textTooLongMessage} systemMessage={message.failureReason} />\n <RichTextInputBoxComponent\n placeholderText={strings.editBoxPlaceholderText}\n onChange={setText}\n editorComponentRef={editTextFieldRef}\n initialContent={message.content}\n content={textValue}\n strings={richTextLocaleStrings}\n disabled={false}\n actionComponents={actionButtons}\n richTextEditorStyleProps={editBoxRichTextEditorStyle}\n isHorizontalLayoutDisabled={true}\n /* @conditional-compile-remove(attachment-upload) */\n onRenderAttachmentUploads={onRenderAttachmentUploads}\n />\n </Stack>\n );\n };\n\n const attached = message.attached === true ? 'center' : message.attached === 'bottom' ? 'bottom' : 'top';\n return (\n <ChatMyMessage\n attached={attached}\n root={{\n className: chatMyMessageStyles.root\n }}\n body={{\n className: mergeClasses(\n editContainerStyles.body,\n attached !== 'top' ? editContainerStyles.bodyAttached : undefined\n )\n }}\n >\n {getContent()}\n </ChatMyMessage>\n );\n};\n"],"names":["useState","getMessageWithAttachmentMetadata","useTheme","getMessageState","useChatMessageRichTextEditContainerStyles","useChatMyMessageStyles","useLocale","_formatString","MAXIMUM_LENGTH_OF_MESSAGE","useCallback","mergeStyles","richTextEditBoxActionButtonIcon","onRenderCancelIcon","onRenderSubmitIcon","useMemo","Stack","InputBoxButton","richTextActionButtonsStyle","attachmentUploadCardsStyles","FluentV9ThemeProvider","_AttachmentUploadCards","editBoxWidthStyles","RichTextSendBoxErrors","RichTextInputBoxComponent","editBoxRichTextEditorStyle","ChatMyMessage","mergeClasses"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AAkDA;;AAEG;AACU,MAAA,qCAAqC,GAAG,CACnD,KAAiD,KAClC;IACf,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;AAEvD,IAAA,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAGA,cAAQ,CAAS,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;;AAE1E,IAAA,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAGA,cAAQ,CAACC,sCAAgC,CAAC,OAAO,CAAC,CAAC,CAAC;IACxG,MAAM,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAA6B,IAAI,CAAC,CAAC;AACxE,IAAA,MAAM,KAAK,GAAGC,cAAQ,EAAE,CAAC;AACzB,IAAA,MAAM,YAAY,GAAGC,qBAAe,CAClC,SAAS;yDAC4C,kBAAkB,KAAlB,IAAA,IAAA,kBAAkB,cAAlB,kBAAkB,GAAI,EAAE,CAC9E,CAAC;AACF,IAAA,MAAM,aAAa,GAAG,YAAY,KAAK,IAAI,CAAC;AAE5C,IAAA,MAAM,mBAAmB,GAAGC,+CAAyC,EAAE,CAAC;AACxE,IAAA,MAAM,mBAAmB,GAAGC,4BAAsB,EAAE,CAAC;AACrD,IAAA,MAAM,MAAM,GAAGC,eAAS,EAAE,CAAC,OAAO,CAAC;AAEnC,IAAA,MAAM,OAAO,GAAG,CAAC,QAAiB,KAAU;QAC1C,YAAY,CAAC,QAAQ,KAAR,IAAA,IAAA,QAAQ,cAAR,QAAQ,GAAI,EAAE,CAAC,CAAC;AAC/B,KAAC,CAAC;AAEF,IAAA,MAAM,kBAAkB,GACtB,YAAY,KAAK,UAAU;AACzB,UAAEC,mBAAa,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,WAAW,EAAE,CAAA,EAAGC,+BAAyB,CAAA,CAAE,EAAE,CAAC;UACxF,SAAS,CAAC;AAEhB,IAAA,MAAM,aAAa,GAAGC,iBAAW,CAC/B,CAAC,OAAgB,KAAI;AACnB,QAAA,MAAM,KAAK,GAAG,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC;QAC9E,OAAOC,iBAAW,CAACC,qCAA+B,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;AACjE,KAAC,EACD,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CACvD,CAAC;AAEF,IAAA,MAAM,wBAAwB,GAAGF,iBAAW,CAC1C,CAAC,OAAgB,KAAI;AACnB,QAAA,OAAOG,wBAAkB,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;AACpD,KAAC,EACD,CAAC,aAAa,CAAC,CAChB,CAAC;AAEF,IAAA,MAAM,wBAAwB,GAAGH,iBAAW,CAC1C,CAAC,OAAgB,KAAI;AACnB,QAAA,OAAOI,wBAAkB,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;AACpD,KAAC,EACD,CAAC,aAAa,CAAC,CAChB,CAAC;AAEF,IAAA,MAAM,aAAa,GAAGC,aAAO,CAAC,MAAK;AACjC,QAAA,QACE,KAAA,CAAA,aAAA,CAACC,WAAK,EAAA,EAAC,UAAU,EAAA,IAAA,EAAA;YACf,KAAC,CAAA,aAAA,CAAAC,oBAAc,EACb,EAAA,SAAS,EAAEC,gCAA0B,EACrC,SAAS,EAAE,OAAO,CAAC,mBAAmB,EACtC,cAAc,EAAE,OAAO,CAAC,mBAAmB,EAC3C,YAAY,EAAE,wBAAwB,EACtC,OAAO,EAAE,MAAK;AACZ,oBAAA,QAAQ,IAAI,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAC1C,iBAAC,EACD,EAAE,EAAE,oBAAoB,EACxB,CAAA;YACF,KAAC,CAAA,aAAA,CAAAD,oBAAc,EACb,EAAA,SAAS,EAAEC,gCAA0B,EACrC,SAAS,EAAE,OAAO,CAAC,mBAAmB,EACtC,cAAc,EAAE,OAAO,CAAC,mBAAmB,EAC3C,YAAY,EAAE,wBAAwB,EACtC,OAAO,EAAE,CAAC,CAAC,KAAI;oBACb,aAAa;AACX,wBAAA,QAAQ,CACN,SAAS,EACT,OAAO,CAAC,QAAQ;AAChB,6EAAqD;4BACnD,kBAAkB;AACnB,yBAAA,CACF,CAAC;oBACJ,CAAC,CAAC,eAAe,EAAE,CAAC;AACtB,iBAAC,EACD,EAAE,EAAE,mBAAmB,EACvB,CAAA,CACI,EACR;AACJ,KAAC,EAAE;AACD,6DAAqD,kBAAkB;AACvE,QAAA,OAAO,CAAC,SAAS;AACjB,QAAA,OAAO,CAAC,QAAQ;QAChB,QAAQ;QACR,wBAAwB;QACxB,wBAAwB;QACxB,QAAQ;AACR,QAAA,OAAO,CAAC,mBAAmB;AAC3B,QAAA,OAAO,CAAC,mBAAmB;QAC3B,aAAa;QACb,SAAS;AACV,KAAA,CAAC,CAAC;AACH,IAAA,MAAM,qBAAqB,GAAGH,aAAO,CAAC,MAAK;;QAEzC,OAAO,MAAM,CAAC,eAAe,CAAC;AAEhC,KAAC,EAAE,qDAAqD,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;;AAGjG,IAAA,MAAM,wBAAwB,GAAGL,iBAAW,CAC1C,CAAC,YAAoB,KAAI;QACvB,qBAAqB,CAAC,kBAAkB,KAAlB,IAAA,IAAA,kBAAkB,uBAAlB,kBAAkB,CAAE,MAAM,CAAC,CAAC,UAAU,KAAK,UAAU,CAAC,EAAE,KAAK,YAAY,CAAC,CAAC,CAAC;AACpG,KAAC,EACD,CAAC,kBAAkB,CAAC,CACrB,CAAC;;AAGF,IAAA,MAAM,yBAAyB,GAAGA,iBAAW,CAAC,MAAK;AACjD,QAAA,QACE,KAAC,CAAA,aAAA,CAAAM,WAAK,EAAC,EAAA,SAAS,EAAEG,iCAA2B,EAAA;AAC3C,YAAA,KAAA,CAAA,aAAA,CAACC,2BAAqB,EAAA,EAAC,OAAO,EAAE,KAAK,EAAA;AACnC,gBAAA,KAAA,CAAA,aAAA,CAACC,4BAAsB,EAAA,EACrB,uBAAuB,EAAE,kBAAkB,EAC3C,wBAAwB,EAAE,wBAAwB,EAAA,CAClD,CACoB,CAClB,EACR;KACH,EAAE,CAAC,kBAAkB,EAAE,wBAAwB,EAAE,KAAK,CAAC,CAAC,CAAC;IAE1D,MAAM,UAAU,GAAG,MAAkB;QACnC,QACE,oBAACL,WAAK,EAAA,EAAC,SAAS,EAAEL,iBAAW,CAACW,wBAAkB,CAAC,EAAA;YAC/C,KAAC,CAAA,aAAA,CAAAC,2BAAqB,EAAC,EAAA,kBAAkB,EAAE,kBAAkB,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAI,CAAA;YACvG,KAAC,CAAA,aAAA,CAAAC,+BAAyB,IACxB,eAAe,EAAE,OAAO,CAAC,sBAAsB,EAC/C,QAAQ,EAAE,OAAO,EACjB,kBAAkB,EAAE,gBAAgB,EACpC,cAAc,EAAE,OAAO,CAAC,OAAO,EAC/B,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,qBAAqB,EAC9B,QAAQ,EAAE,KAAK,EACf,gBAAgB,EAAE,aAAa,EAC/B,wBAAwB,EAAEC,gCAA0B,EACpD,0BAA0B,EAAE,IAAI;;AAEhC,gBAAA,yBAAyB,EAAE,yBAAyB,EACpD,CAAA,CACI,EACR;AACJ,KAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,KAAK,IAAI,GAAG,QAAQ,GAAG,OAAO,CAAC,QAAQ,KAAK,QAAQ,GAAG,QAAQ,GAAG,KAAK,CAAC;IACzG,QACE,oBAACC,uBAAa,EAAA,EACZ,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE;YACJ,SAAS,EAAE,mBAAmB,CAAC,IAAI;AACpC,SAAA,EACD,IAAI,EAAE;YACJ,SAAS,EAAEC,4BAAY,CACrB,mBAAmB,CAAC,IAAI,EACxB,QAAQ,KAAK,KAAK,GAAG,mBAAmB,CAAC,YAAY,GAAG,SAAS,CAClE;AACF,SAAA,EAAA,EAEA,UAAU,EAAE,CACC,EAChB;AACJ;;;;"}
1
+ {"version":3,"file":"ChatMessageComponentAsRichTextEditBox-C7JhyJ8D.js","sources":["../../../../react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.tsx"],"sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { mergeStyles, Stack } from '@fluentui/react';\nimport { ChatMyMessage } from '@fluentui-contrib/react-chat';\nimport { mergeClasses } from '@fluentui/react-components';\nimport { _formatString } from '@internal/acs-ui-common';\nimport { useTheme } from '../../../theming';\nimport React, { useCallback, useMemo, useState } from 'react';\nimport { editBoxWidthStyles, richTextEditBoxActionButtonIcon } from '../../styles/EditBox.styles';\nimport { InputBoxButton } from '../../InputBoxButton';\nimport { MessageThreadStrings } from '../../MessageThread';\nimport { useChatMyMessageStyles } from '../../styles/MessageThread.styles';\nimport { ChatMessage } from '../../../types';\nimport { _AttachmentUploadCards } from '../../AttachmentUploadCards';\n/* @conditional-compile-remove(attachment-upload) */\nimport { AttachmentMetadata } from '../../../types/Attachment';\nimport { useChatMessageRichTextEditContainerStyles } from '../../styles/ChatMessageComponent.styles';\nimport { MAXIMUM_LENGTH_OF_MESSAGE } from '../../utils/SendBoxUtils';\nimport {\n getMessageState,\n onRenderCancelIcon,\n onRenderSubmitIcon\n} from '../../utils/ChatMessageComponentAsEditBoxUtils';\n/* @conditional-compile-remove(attachment-upload) */\nimport { getMessageWithAttachmentMetadata } from '../../utils/ChatMessageComponentAsEditBoxUtils';\nimport { RichTextEditorComponentRef } from '../../RichTextEditor/RichTextEditor';\nimport { RichTextInputBoxComponent } from '../../RichTextEditor/RichTextInputBoxComponent';\nimport { editBoxRichTextEditorStyle, richTextActionButtonsStyle } from '../../styles/RichTextEditor.styles';\nimport { RichTextSendBoxErrors } from '../../RichTextEditor/RichTextSendBoxErrors';\nimport { useLocale } from '../../../localization';\n/* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */\nimport { FluentV9ThemeProvider } from '../../../theming/FluentV9ThemeProvider';\n/* @conditional-compile-remove(attachment-upload) */\nimport { attachmentUploadCardsStyles } from '../../styles/SendBox.styles';\n\n/** @private */\nexport type ChatMessageComponentAsRichTextEditBoxProps = {\n onCancel?: (messageId: string) => void;\n onSubmit: (\n text: string,\n metadata?: Record<string, string>,\n options?: {\n /* @conditional-compile-remove(attachment-upload) */\n attachmentMetadata?: AttachmentMetadata[];\n }\n ) => void;\n message: ChatMessage;\n strings: MessageThreadStrings;\n};\n\n/**\n * @private\n */\nexport const ChatMessageComponentAsRichTextEditBox = (\n props: ChatMessageComponentAsRichTextEditBoxProps\n): JSX.Element => {\n const { onCancel, onSubmit, strings, message } = props;\n\n const [textValue, setTextValue] = useState<string>(message.content || '');\n /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */\n const [attachmentMetadata, setAttachmentMetadata] = useState(getMessageWithAttachmentMetadata(message));\n const editTextFieldRef = React.useRef<RichTextEditorComponentRef>(null);\n const theme = useTheme();\n const messageState = getMessageState(\n textValue,\n /* @conditional-compile-remove(attachment-upload) */ attachmentMetadata ?? []\n );\n const submitEnabled = messageState === 'OK';\n\n const editContainerStyles = useChatMessageRichTextEditContainerStyles();\n const chatMyMessageStyles = useChatMyMessageStyles();\n const locale = useLocale().strings;\n\n const setText = (newValue?: string): void => {\n setTextValue(newValue ?? '');\n };\n\n const textTooLongMessage =\n messageState === 'too long'\n ? _formatString(strings.editBoxTextLimit, { limitNumber: `${MAXIMUM_LENGTH_OF_MESSAGE}` })\n : undefined;\n\n const iconClassName = useCallback(\n (isHover: boolean) => {\n const color = isHover ? theme.palette.accent : theme.palette.neutralSecondary;\n return mergeStyles(richTextEditBoxActionButtonIcon, { color });\n },\n [theme.palette.accent, theme.palette.neutralSecondary]\n );\n\n const onRenderThemedCancelIcon = useCallback(\n (isHover: boolean) => {\n return onRenderCancelIcon(iconClassName(isHover));\n },\n [iconClassName]\n );\n\n const onRenderThemedSubmitIcon = useCallback(\n (isHover: boolean) => {\n return onRenderSubmitIcon(iconClassName(isHover));\n },\n [iconClassName]\n );\n\n const actionButtons = useMemo(() => {\n return (\n <Stack horizontal>\n <InputBoxButton\n className={richTextActionButtonsStyle}\n ariaLabel={strings.editBoxCancelButton}\n tooltipContent={strings.editBoxCancelButton}\n onRenderIcon={onRenderThemedCancelIcon}\n onClick={() => {\n onCancel && onCancel(message.messageId);\n }}\n id={'dismissIconWrapper'}\n />\n <InputBoxButton\n className={richTextActionButtonsStyle}\n ariaLabel={strings.editBoxSubmitButton}\n tooltipContent={strings.editBoxSubmitButton}\n onRenderIcon={onRenderThemedSubmitIcon}\n onClick={(e) => {\n submitEnabled &&\n onSubmit(\n textValue,\n message.metadata,\n /* @conditional-compile-remove(attachment-upload) */ {\n attachmentMetadata\n }\n );\n e.stopPropagation();\n }}\n id={'submitIconWrapper'}\n />\n </Stack>\n );\n }, [\n /* @conditional-compile-remove(attachment-upload) */ attachmentMetadata,\n message.messageId,\n message.metadata,\n onCancel,\n onRenderThemedCancelIcon,\n onRenderThemedSubmitIcon,\n onSubmit,\n strings.editBoxCancelButton,\n strings.editBoxSubmitButton,\n submitEnabled,\n textValue\n ]);\n const richTextLocaleStrings = useMemo(() => {\n /* @conditional-compile-remove(rich-text-editor) */\n return locale.richTextSendBox;\n return locale.sendBox;\n }, [/* @conditional-compile-remove(rich-text-editor) */ locale.richTextSendBox, locale.sendBox]);\n\n /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */\n const onCancelAttachmentUpload = useCallback(\n (attachmentId: string) => {\n setAttachmentMetadata(attachmentMetadata?.filter((attachment) => attachment.id !== attachmentId));\n },\n [attachmentMetadata]\n );\n\n /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */\n const onRenderAttachmentUploads = useCallback(() => {\n return (\n <Stack className={attachmentUploadCardsStyles}>\n <FluentV9ThemeProvider v8Theme={theme}>\n <_AttachmentUploadCards\n activeAttachmentUploads={attachmentMetadata}\n onCancelAttachmentUpload={onCancelAttachmentUpload}\n />\n </FluentV9ThemeProvider>\n </Stack>\n );\n }, [attachmentMetadata, onCancelAttachmentUpload, theme]);\n\n const getContent = (): JSX.Element => {\n return (\n <Stack className={mergeStyles(editBoxWidthStyles)}>\n <RichTextSendBoxErrors textTooLongMessage={textTooLongMessage} systemMessage={message.failureReason} />\n <RichTextInputBoxComponent\n placeholderText={strings.editBoxPlaceholderText}\n onChange={setText}\n editorComponentRef={editTextFieldRef}\n initialContent={message.content}\n content={textValue}\n strings={richTextLocaleStrings}\n disabled={false}\n actionComponents={actionButtons}\n richTextEditorStyleProps={editBoxRichTextEditorStyle}\n isHorizontalLayoutDisabled={true}\n /* @conditional-compile-remove(attachment-upload) */\n onRenderAttachmentUploads={onRenderAttachmentUploads}\n />\n </Stack>\n );\n };\n\n const attached = message.attached === true ? 'center' : message.attached === 'bottom' ? 'bottom' : 'top';\n return (\n <ChatMyMessage\n attached={attached}\n root={{\n className: chatMyMessageStyles.root\n }}\n body={{\n className: mergeClasses(\n editContainerStyles.body,\n attached !== 'top' ? editContainerStyles.bodyAttached : undefined\n )\n }}\n >\n {getContent()}\n </ChatMyMessage>\n );\n};\n\nexport default ChatMessageComponentAsRichTextEditBox;\n"],"names":["useState","getMessageWithAttachmentMetadata","useTheme","getMessageState","useChatMessageRichTextEditContainerStyles","useChatMyMessageStyles","useLocale","_formatString","MAXIMUM_LENGTH_OF_MESSAGE","useCallback","mergeStyles","richTextEditBoxActionButtonIcon","onRenderCancelIcon","onRenderSubmitIcon","useMemo","Stack","InputBoxButton","richTextActionButtonsStyle","attachmentUploadCardsStyles","FluentV9ThemeProvider","_AttachmentUploadCards","editBoxWidthStyles","RichTextSendBoxErrors","RichTextInputBoxComponent","editBoxRichTextEditorStyle","ChatMyMessage","mergeClasses"],"mappings":"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"}
@@ -176,7 +176,7 @@ function getDefaultExportFromCjs (x) {
176
176
  // Copyright (c) Microsoft Corporation.
177
177
  // Licensed under the MIT License.
178
178
  // GENERATED FILE. DO NOT EDIT MANUALLY.
179
- var telemetryVersion = '1.15.0-alpha-202404110013';
179
+ var telemetryVersion = '1.15.0-alpha-202404130012';
180
180
 
181
181
 
182
182
  var telemetryVersion$1 = /*@__PURE__*/getDefaultExportFromCjs(telemetryVersion);
@@ -10010,7 +10010,7 @@ const insertTableMenuTablePane = react.mergeStyles({
10010
10010
  const insertTableMenuFocusZone = (theme) => {
10011
10011
  return react.mergeStyles({
10012
10012
  lineHeight: '12px',
10013
- width: '5rem',
10013
+ width: '5.125rem',
10014
10014
  border: `solid 0.0625rem ${theme.palette.neutralTertiaryAlt}`
10015
10015
  });
10016
10016
  };
@@ -12651,24 +12651,62 @@ const ChatMessageComponentAsEditBox = (props) => {
12651
12651
  } }, getContent()));
12652
12652
  };
12653
12653
 
12654
+ // Copyright (c) Microsoft Corporation.
12655
+ // Licensed under the MIT License.
12656
+ /**
12657
+ * @private
12658
+ * ErrorBoundary component to handle errors in React components.
12659
+ */
12660
+ class ErrorBoundary extends React.Component {
12661
+ constructor(props) {
12662
+ super(props);
12663
+ this.state = { hasError: false };
12664
+ }
12665
+ static getDerivedStateFromError() {
12666
+ // Update state so the next render will show the fallback UI.
12667
+ return { hasError: true };
12668
+ }
12669
+ componentDidCatch(error) {
12670
+ console.error(error);
12671
+ }
12672
+ render() {
12673
+ if (this.state.hasError) {
12674
+ // handle error
12675
+ return this.props.fallback;
12676
+ }
12677
+ // otherwise render children
12678
+ return this.props.children;
12679
+ }
12680
+ }
12681
+
12654
12682
  // Copyright (c) Microsoft Corporation.
12655
12683
  // Licensed under the MIT License.
12656
12684
  /* @conditional-compile-remove(rich-text-editor) */
12657
- const ChatMessageComponentAsRichTextEditBox = React.lazy(() => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-BXHOj2Z6.js'); }).then((module) => ({
12658
- default: module.ChatMessageComponentAsRichTextEditBox
12659
- })));
12685
+ const ChatMessageComponentAsRichTextEditBox = React.lazy(() => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-C7JhyJ8D.js'); }));
12686
+ /**
12687
+ * @private
12688
+ * Use this function to load RoosterJS dependencies early in the lifecycle.
12689
+ * It should be the same import as used for lazy loading.
12690
+ *
12691
+ * @conditional-compile-remove(rich-text-editor)
12692
+ */
12693
+ const loadChatMessageComponentAsRichTextEditBox = () => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-C7JhyJ8D.js'); });
12660
12694
  /**
12661
12695
  * @private
12662
12696
  */
12663
12697
  const ChatMessageComponentAsEditBoxPicker = (props) => {
12664
12698
  /* @conditional-compile-remove(rich-text-editor) */
12665
12699
  const { richTextEditor } = props;
12700
+ const simpleEditBox = React.useMemo(() => {
12701
+ return React.createElement(ChatMessageComponentAsEditBox, Object.assign({}, props));
12702
+ }, [props]);
12666
12703
  /* @conditional-compile-remove(rich-text-editor) */
12667
12704
  if (richTextEditor) {
12668
- return (React.createElement(React.Suspense, null,
12669
- React.createElement(ChatMessageComponentAsRichTextEditBox, Object.assign({}, props))));
12705
+ return (React.createElement(ErrorBoundary, { fallback: simpleEditBox },
12706
+ React.createElement(React.Suspense, { fallback: simpleEditBox },
12707
+ React.createElement(ChatMessageComponentAsRichTextEditBox, Object.assign({}, props)))));
12670
12708
  }
12671
- return React.createElement(ChatMessageComponentAsEditBox, Object.assign({}, props));
12709
+ return simpleEditBox;
12672
12710
  };
12673
12711
 
12674
12712
  // Copyright (c) Microsoft Corporation.
@@ -13285,6 +13323,15 @@ const MessageThreadWrapper = (props) => {
13285
13323
  const previousMessagesRef = React.useRef([]);
13286
13324
  // an aria label for Narrator to notify when a message is deleted
13287
13325
  const [deletedMessageAriaLabel, setDeletedMessageAriaLabel] = React.useState(undefined);
13326
+ /* @conditional-compile-remove(rich-text-editor) */
13327
+ React.useEffect(() => {
13328
+ // if rich text editor is enabled, the rich text editor component should be loaded early for good UX
13329
+ if (richTextEditor !== undefined && richTextEditor) {
13330
+ // this line is needed to load the Rooster JS dependencies early in the lifecycle
13331
+ // when the rich text editor is enabled
13332
+ loadChatMessageComponentAsRichTextEditBox();
13333
+ }
13334
+ }, [richTextEditor]);
13288
13335
  const onDeleteMessageCallback = React.useCallback((messageId) => __awaiter$B(void 0, void 0, void 0, function* () {
13289
13336
  if (!onDeleteMessage) {
13290
13337
  return;
@@ -15123,7 +15170,8 @@ const raiseHandContainerStyles = (theme, limitedSpace) => react.mergeStyles({
15123
15170
  borderRadius: '1rem',
15124
15171
  margin: '0.5rem',
15125
15172
  width: 'fit-content',
15126
- position: 'absolute'
15173
+ position: 'absolute',
15174
+ top: 0
15127
15175
  }, limitedSpace && raiseHandLimitedSpaceStyles);
15128
15176
  /**
15129
15177
  * @private
@@ -15342,6 +15390,33 @@ const VideoTile = (props) => {
15342
15390
  const currentObserver = observer.current;
15343
15391
  return () => currentObserver.disconnect();
15344
15392
  }, [videoTileRef]);
15393
+ /* @conditional-compile-remove(ppt-live) */
15394
+ // TODO: Remove after calling sdk fix the keybaord focus
15395
+ React.useEffect(() => {
15396
+ // PPTLive display name is undefined, return as it is not screen share
15397
+ if (displayName !== undefined) {
15398
+ return;
15399
+ }
15400
+ let observer;
15401
+ if (videoTileRef.current) {
15402
+ observer = new MutationObserver((mutationsList) => {
15403
+ for (const mutation of mutationsList) {
15404
+ if (mutation.type === 'childList') {
15405
+ const iframe = document.querySelector('iframe');
15406
+ if (iframe) {
15407
+ if (!iframe.getAttribute('tabIndex')) {
15408
+ iframe.setAttribute('tabIndex', '-1');
15409
+ }
15410
+ }
15411
+ }
15412
+ }
15413
+ });
15414
+ observer.observe(videoTileRef.current, { childList: true, subtree: true });
15415
+ }
15416
+ return () => {
15417
+ observer === null || observer === void 0 ? void 0 : observer.disconnect();
15418
+ };
15419
+ }, [displayName, renderElement]);
15345
15420
  const useLongPressProps = React.useMemo(() => {
15346
15421
  return {
15347
15422
  onLongPress: () => {
@@ -28172,7 +28247,7 @@ const devicesButtonWithIncreasedTouchTargets = {
28172
28247
  */
28173
28248
  const controlButtonBaseStyle = {
28174
28249
  label: {
28175
- minWidth: '2.25rem'
28250
+ minWidth: '1.25rem'
28176
28251
  }
28177
28252
  };
28178
28253
  /**
@@ -39584,4 +39659,4 @@ exports.useTeamsCall = useTeamsCall;
39584
39659
  exports.useTeamsCallAdapter = useTeamsCallAdapter;
39585
39660
  exports.useTeamsCallAgent = useTeamsCallAgent;
39586
39661
  exports.useTheme = useTheme;
39587
- //# sourceMappingURL=index-D5L3GDY8.js.map
39662
+ //# sourceMappingURL=index-RKUKw8Xi.js.map