@azure/communication-react 1.19.0-alpha-202408010015 → 1.19.0-alpha-202408030014

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 (105) hide show
  1. package/dist/communication-react.d.ts +39 -32
  2. package/dist/dist-cjs/communication-react/{ChatMessageComponentAsRichTextEditBox-B0zbyF6Z.js → ChatMessageComponentAsRichTextEditBox-BBTJIosO.js} +52 -33
  3. package/dist/dist-cjs/communication-react/ChatMessageComponentAsRichTextEditBox-BBTJIosO.js.map +1 -0
  4. package/dist/dist-cjs/communication-react/{RichTextSendBoxWrapper-BVOysnsq.js → RichTextSendBoxWrapper-C1Ev6MKx.js} +3 -3
  5. package/dist/dist-cjs/communication-react/{RichTextSendBoxWrapper-BVOysnsq.js.map → RichTextSendBoxWrapper-C1Ev6MKx.js.map} +1 -1
  6. package/dist/dist-cjs/communication-react/{index-YIP5Cyt3.js → index-B74o7NiP.js} +587 -280
  7. package/dist/dist-cjs/communication-react/index-B74o7NiP.js.map +1 -0
  8. package/dist/dist-cjs/communication-react/index.js +2 -2
  9. package/dist/dist-esm/acs-ui-common/src/constants.d.ts +5 -0
  10. package/dist/dist-esm/acs-ui-common/src/constants.js +6 -0
  11. package/dist/dist-esm/acs-ui-common/src/constants.js.map +1 -1
  12. package/dist/dist-esm/acs-ui-common/src/index.d.ts +1 -0
  13. package/dist/dist-esm/acs-ui-common/src/index.js +2 -0
  14. package/dist/dist-esm/acs-ui-common/src/index.js.map +1 -1
  15. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
  16. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
  17. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.d.ts +1 -0
  18. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js +31 -9
  19. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js.map +1 -1
  20. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.d.ts +5 -1
  21. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js +6 -2
  22. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js.map +1 -1
  23. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js +2 -1
  24. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js.map +1 -1
  25. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js +6 -1
  26. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js.map +1 -1
  27. package/dist/dist-esm/communication-react/src/index.d.ts +1 -1
  28. package/dist/dist-esm/communication-react/src/index.js.map +1 -1
  29. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.d.ts +3 -3
  30. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.js.map +1 -1
  31. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.d.ts +3 -3
  32. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.js.map +1 -1
  33. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.d.ts +3 -3
  34. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.js +53 -32
  35. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.js.map +1 -1
  36. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.d.ts +3 -3
  37. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.js +2 -2
  38. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.js.map +1 -1
  39. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/FluentChatMyMessageComponent.js +6 -6
  40. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/FluentChatMyMessageComponent.js.map +1 -1
  41. package/dist/dist-esm/react-components/src/components/MessageThread.d.ts +18 -6
  42. package/dist/dist-esm/react-components/src/components/MessageThread.js +3 -3
  43. package/dist/dist-esm/react-components/src/components/MessageThread.js.map +1 -1
  44. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/CopyPastePlugin.d.ts +2 -2
  45. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/CopyPastePlugin.js +18 -34
  46. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/CopyPastePlugin.js.map +1 -1
  47. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UndoRedoPlugin.d.ts +14 -0
  48. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UndoRedoPlugin.js +56 -0
  49. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UndoRedoPlugin.js.map +1 -0
  50. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UpdateContentPlugin.d.ts +1 -1
  51. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UpdateContentPlugin.js +10 -16
  52. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UpdateContentPlugin.js.map +1 -1
  53. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.d.ts +2 -2
  54. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.js +85 -8
  55. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.js.map +1 -1
  56. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.d.ts +2 -2
  57. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.js.map +1 -1
  58. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.d.ts +16 -27
  59. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.js +33 -35
  60. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.js.map +1 -1
  61. package/dist/dist-esm/react-components/src/components/VideoGallery/LocalScreenShare.d.ts +5 -1
  62. package/dist/dist-esm/react-components/src/components/VideoGallery/LocalScreenShare.js +15 -12
  63. package/dist/dist-esm/react-components/src/components/VideoGallery/LocalScreenShare.js.map +1 -1
  64. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.d.ts +9 -0
  65. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.js +7 -1
  66. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.js.map +1 -1
  67. package/dist/dist-esm/react-components/src/components/VideoGallery.d.ts +4 -0
  68. package/dist/dist-esm/react-components/src/components/VideoGallery.js +4 -4
  69. package/dist/dist-esm/react-components/src/components/VideoGallery.js.map +1 -1
  70. package/dist/dist-esm/react-components/src/components/index.d.ts +1 -1
  71. package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
  72. package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.js +3 -1
  73. package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.js.map +1 -1
  74. package/dist/dist-esm/react-components/src/components/utils/RichTextEditorUtils.d.ts +34 -0
  75. package/dist/dist-esm/react-components/src/components/utils/RichTextEditorUtils.js +121 -0
  76. package/dist/dist-esm/react-components/src/components/utils/RichTextEditorUtils.js.map +1 -1
  77. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.d.ts +15 -13
  78. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js +42 -32
  79. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js.map +1 -1
  80. package/dist/dist-esm/react-components/src/localization/locales/en-US/strings.json +1 -0
  81. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.d.ts +2 -0
  82. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.js.map +1 -1
  83. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +6 -1
  84. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
  85. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js +3 -0
  86. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js.map +1 -1
  87. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackCapabilityChangedNotifications.js +19 -6
  88. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackCapabilityChangedNotifications.js.map +1 -1
  89. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js +21 -12
  90. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js.map +1 -1
  91. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadUtils.d.ts +5 -5
  92. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadUtils.js +61 -31
  93. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadUtils.js.map +1 -1
  94. package/dist/dist-esm/react-composites/src/composites/common/SendBoxPicker.d.ts +32 -2
  95. package/dist/dist-esm/react-composites/src/composites/common/SendBoxPicker.js +3 -3
  96. package/dist/dist-esm/react-composites/src/composites/common/SendBoxPicker.js.map +1 -1
  97. package/dist/dist-esm/react-composites/src/composites/common/constants.d.ts +5 -0
  98. package/dist/dist-esm/react-composites/src/composites/common/constants.js +6 -0
  99. package/dist/dist-esm/react-composites/src/composites/common/constants.js.map +1 -1
  100. package/package.json +6 -6
  101. package/dist/dist-cjs/communication-react/ChatMessageComponentAsRichTextEditBox-B0zbyF6Z.js.map +0 -1
  102. package/dist/dist-cjs/communication-react/index-YIP5Cyt3.js.map +0 -1
  103. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/LocalScreenShare.styles.d.ts +0 -22
  104. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/LocalScreenShare.styles.js +0 -44
  105. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/LocalScreenShare.styles.js.map +0 -1
@@ -5658,6 +5658,7 @@ export declare interface CommonCallingHandlers {
5658
5658
  onDisposeLocalStreamView: () => Promise<void>;
5659
5659
  onDisposeRemoteVideoStreamView: (userId: string) => Promise<void>;
5660
5660
  onDisposeRemoteScreenShareStreamView: (userId: string) => Promise<void>;
5661
+ onDisposeLocalScreenShareStreamView: () => Promise<void>;
5661
5662
  onSendDtmfTone: (dtmfTone: DtmfTone_2) => Promise<void>;
5662
5663
  onRemoveParticipant(userId: string): Promise<void>;
5663
5664
  onRemoveParticipant(participant: CommunicationIdentifier): Promise<void>;
@@ -10641,17 +10642,29 @@ export declare interface RichTextEditBoxOptions extends RichTextEditorOptions {
10641
10642
  /**
10642
10643
  * Optional callback to handle an inline image that's inserted in the rich text editor.
10643
10644
  * When not provided, pasting images into rich text editor will be disabled.
10645
+ * @param imageAttributes - attributes of the image such as id, src, style, etc.
10646
+ * It also contains the image file name which can be accessed through imageAttributes['data-image-file-name']
10647
+ * @param messageId - the id of the message that the inlineImage belongs to.
10644
10648
  */
10645
- onInsertInlineImage?: (imageUrl: string, imageFileName: string, messageId: string) => void;
10649
+ onInsertInlineImage?: (imageAttributes: Record<string, string>, messageId: string) => void;
10646
10650
  /**
10647
- * Optional callback to remove the image upload or delete the image from server before sending.
10651
+ * Optional callback invoked after inline image is removed from the UI.
10652
+ * @param imageAttributes - attributes of the image such as id, src, style, etc.
10653
+ * It also contains the image file name which can be accessed through imageAttributes['data-image-file-name'].
10654
+ * Note that if the src attribute is a local blob url, it has been revoked at this point.
10655
+ * @param messageId - the id of the message that the inlineImage belongs to.
10648
10656
  */
10649
- onCancelInlineImageUpload?: (imageId: string, messageId: string) => void;
10657
+ onRemoveInlineImage?: (imageAttributes: Record<string, string>, messageId: string) => void;
10650
10658
  /**
10651
10659
  * Optional Record of type {@link AttachmentMetadataInProgress}
10652
- * to render inline images being inserted in the MessageThread's edit boxes.
10660
+ * to render the errorBar for inline images inserted in the MessageThread's edit boxes when:
10661
+ * - there is an error provided in the messagesInlineImagesWithProgress
10662
+ * - progress is less than 1 when the send button is clicked
10663
+ * - content html string is longer than the max allowed length.
10664
+ * (Note that the id and the url prop of the messagesInlineImagesWithProgress will be used as the id and src attribute of the content html
10665
+ * when calculating the content length, only for the purpose of displaying the content length overflow error.)
10653
10666
  */
10654
- messagesInlineImages?: Record<string, AttachmentMetadataInProgress[]>;
10667
+ messagesInlineImagesWithProgress?: Record<string, AttachmentMetadataInProgress[]>;
10655
10668
  }
10656
10669
 
10657
10670
  /**
@@ -10675,28 +10688,6 @@ export declare interface RichTextEditorOptions {
10675
10688
  */
10676
10689
  export declare const RichTextSendBox: (props: RichTextSendBoxProps) => JSX.Element;
10677
10690
 
10678
- /**
10679
- * Options for the rich text editor send box configuration.
10680
- *
10681
- * @beta
10682
- */
10683
- export declare interface RichTextSendBoxOptions extends RichTextEditorOptions {
10684
- /**
10685
- * Optional callback to handle an inline image that's inserted in the rich text editor.
10686
- * When not provided, pasting images into rich text editor will be disabled.
10687
- */
10688
- onInsertInlineImage?: (imageUrl: string, imageFileName: string) => void;
10689
- /**
10690
- * Optional callback to remove the image upload or delete the image from server before sending.
10691
- */
10692
- onCancelInlineImageUpload?: (imageId: string) => void;
10693
- /**
10694
- * Optional Array of type {@link AttachmentMetadataInProgress}
10695
- * to render inline images being inserted in the RichTextSendBox.
10696
- */
10697
- inlineImages?: AttachmentMetadataInProgress[];
10698
- }
10699
-
10700
10691
  /**
10701
10692
  * Props for {@link RichTextSendBox}.
10702
10693
  *
@@ -10739,9 +10730,12 @@ export declare interface RichTextSendBoxProps {
10739
10730
  */
10740
10731
  onCancelAttachmentUpload?: (attachmentId: string) => void;
10741
10732
  /**
10742
- * Optional callback to remove the image upload or delete the image from server before sending.
10733
+ * Optional callback invoked after inline image is removed from the UI.
10734
+ * @param imageAttributes - attributes of the image such as id, src, style, etc.
10735
+ * It also contains the image file name which can be accessed through imageAttributes['data-image-file-name'].
10736
+ * Note that if the src attribute is a local blob url, it has been revoked at this point.
10743
10737
  */
10744
- onCancelInlineImageUpload?: (imageId: string) => void;
10738
+ onRemoveInlineImage?: (imageAttributes: Record<string, string>) => void;
10745
10739
  /**
10746
10740
  * Callback function used when the send button is clicked.
10747
10741
  */
@@ -10753,13 +10747,20 @@ export declare interface RichTextSendBoxProps {
10753
10747
  /**
10754
10748
  * Optional callback to handle an inline image that's inserted in the rich text editor.
10755
10749
  * When not provided, pasting images into rich text editor will be disabled.
10750
+ * @param imageAttributes - attributes of the image such as id, src, style, etc.
10751
+ * It also contains the image file name which can be accessed through imageAttributes['data-image-file-name']
10756
10752
  */
10757
- onInsertInlineImage?: (imageUrl: string, imageFileName: string) => void;
10753
+ onInsertInlineImage?: (imageAttributes: Record<string, string>) => void;
10758
10754
  /**
10759
10755
  * Optional Array of type {@link AttachmentMetadataInProgress}
10760
- * to render inline images being inserted in the RichTextSendBox.
10756
+ * to render the errorBar for inline images inserted in the RichTextSendBox when:
10757
+ * - there is an error provided in the inlineImagesWithProgress
10758
+ * - progress is less than 1 when the send button is clicked
10759
+ * - content html string is longer than the max allowed length.
10760
+ * (Note that the id and the url prop of the inlineImagesWithProgress will be used as the id and src attribute of the content html
10761
+ * when calculating the content length, only for the purpose of displaying the content length overflow error.)
10761
10762
  */
10762
- inlineImages?: AttachmentMetadataInProgress[];
10763
+ inlineImagesWithProgress?: AttachmentMetadataInProgress[];
10763
10764
  }
10764
10765
 
10765
10766
  /**
@@ -12543,6 +12544,8 @@ export declare interface VideoGalleryLocalParticipant extends VideoGalleryPartic
12543
12544
  *
12544
12545
  * */
12545
12546
  reaction?: Reaction;
12547
+ /** Video stream of shared screen */
12548
+ screenShareStream?: VideoGalleryStream;
12546
12549
  }
12547
12550
 
12548
12551
  /**
@@ -12612,6 +12615,8 @@ export declare interface VideoGalleryProps {
12612
12615
  onDisposeRemoteVideoStreamView?: (userId: string) => Promise<void>;
12613
12616
  /** Callback to dispose a remote screen share stream view */
12614
12617
  onDisposeRemoteScreenShareStreamView?: (userId: string) => Promise<void>;
12618
+ /** Callback to dispose a local screen share stream view */
12619
+ onDisposeLocalScreenShareStreamView?: () => Promise<void>;
12615
12620
  /** Callback to render a particpant avatar */
12616
12621
  onRenderAvatar?: OnRenderAvatarCallback;
12617
12622
  /**
@@ -12777,6 +12782,8 @@ export declare interface VideoGalleryStrings {
12777
12782
  screenIsBeingSharedMessage: string;
12778
12783
  /** String to show when remote screen share stream is loading */
12779
12784
  screenShareLoadingMessage: string;
12785
+ /** String to show when local screen share stream is loading */
12786
+ localScreenShareLoadingMessage: string;
12780
12787
  /** String for local video label. Default is "You" */
12781
12788
  localVideoLabel: string;
12782
12789
  /** String for local video camera switcher */
@@ -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-YIP5Cyt3.js');
7
+ var index = require('./index-B74o7NiP.js');
8
8
  var React = require('react');
9
9
  require('react-dom/client');
10
10
  require('@azure/communication-chat');
@@ -18,11 +18,11 @@ require('textarea-caret-ts');
18
18
  require('use-debounce');
19
19
  require('@fluentui/react-file-type-icons');
20
20
  require('@griffel/react');
21
+ require('uuid');
21
22
  require('roosterjs-content-model-core');
22
23
  require('roosterjs-content-model-dom');
23
24
  require('roosterjs-content-model-plugins');
24
25
  require('roosterjs-content-model-api');
25
- require('uuid');
26
26
  require('html-react-parser');
27
27
  require('react-linkify');
28
28
  require('dompurify');
@@ -47,13 +47,17 @@ const ChatMessageComponentAsRichTextEditBox = (props) => {
47
47
  /* @conditional-compile-remove(rich-text-editor-image-upload) */
48
48
  onInsertInlineImage,
49
49
  /* @conditional-compile-remove(rich-text-editor-image-upload) */
50
- inlineImages,
50
+ inlineImagesWithProgress,
51
51
  /* @conditional-compile-remove(rich-text-editor-image-upload) */
52
- onCancelInlineImageUpload } = props;
52
+ onRemoveInlineImage } = props;
53
+ /* @conditional-compile-remove(rich-text-editor-image-upload) */
54
+ const [initialInlineImages, setInitialInlineImages] = React.useState([]);
53
55
  const initialContent = React.useMemo(() => {
54
56
  /* @conditional-compile-remove(rich-text-editor-image-upload) */
55
57
  const content = message.content;
56
58
  /* @conditional-compile-remove(rich-text-editor-image-upload) */
59
+ setInitialInlineImages(index.getPreviousInlineImages(content));
60
+ /* @conditional-compile-remove(rich-text-editor-image-upload) */
57
61
  const document = new DOMParser().parseFromString(content !== null && content !== void 0 ? content : '', 'text/html');
58
62
  // The broken image element is a div element with all the attributes of the original image element.
59
63
  // We need to convert it to a img element so the Rooster knows how to render it.
@@ -76,6 +80,8 @@ const ChatMessageComponentAsRichTextEditBox = (props) => {
76
80
  return document.body.innerHTML;
77
81
  }, [message]);
78
82
  const [textValue, setTextValue] = React.useState(initialContent || '');
83
+ /* @conditional-compile-remove(rich-text-editor-image-upload) */
84
+ const [contentValueWithInlineImagesOverflow, setContentValueWithInlineImagesOverflow] = React.useState(false);
79
85
  /* @conditional-compile-remove(file-sharing-acs) */
80
86
  const [attachmentMetadata, handleAttachmentAction] = React.useReducer(index.attachmentMetadataReducer, (_a = index.getMessageWithAttachmentMetadata(message)) !== null && _a !== void 0 ? _a : []);
81
87
  /* @conditional-compile-remove(rich-text-editor-image-upload) */
@@ -88,8 +94,8 @@ const ChatMessageComponentAsRichTextEditBox = (props) => {
88
94
  /* @conditional-compile-remove(rich-text-editor-image-upload) */
89
95
  const imageUploadErrorMessage = React.useMemo(() => {
90
96
  var _a, _b;
91
- return (_b = (_a = inlineImages === null || inlineImages === void 0 ? void 0 : inlineImages.filter((image) => image.error).pop()) === null || _a === void 0 ? void 0 : _a.error) === null || _b === void 0 ? void 0 : _b.message;
92
- }, [inlineImages]);
97
+ return (_b = (_a = inlineImagesWithProgress === null || inlineImagesWithProgress === void 0 ? void 0 : inlineImagesWithProgress.filter((image) => image.error).pop()) === null || _a === void 0 ? void 0 : _a.error) === null || _b === void 0 ? void 0 : _b.message;
98
+ }, [inlineImagesWithProgress]);
93
99
  const submitEnabled = messageState === 'OK';
94
100
  const editContainerStyles = index.useChatMessageRichTextEditContainerStyles();
95
101
  const chatMyMessageStyles = index.useChatMyMessageStyles();
@@ -102,10 +108,15 @@ const ChatMessageComponentAsRichTextEditBox = (props) => {
102
108
  (_a = editTextFieldRef.current) === null || _a === void 0 ? void 0 : _a.focus();
103
109
  }, []);
104
110
  const textTooLongMessage = React.useMemo(() => {
105
- return messageState === 'too long'
111
+ return messageState === 'too long' ||
112
+ /* @conditional-compile-remove(rich-text-editor-image-upload) */ contentValueWithInlineImagesOverflow
106
113
  ? index._formatString(strings.editBoxTextLimit, { limitNumber: `${index.MAXIMUM_LENGTH_OF_MESSAGE}` })
107
114
  : undefined;
108
- }, [messageState, strings.editBoxTextLimit]);
115
+ }, [
116
+ messageState,
117
+ strings.editBoxTextLimit,
118
+ /* @conditional-compile-remove(rich-text-editor-image-upload) */ contentValueWithInlineImagesOverflow
119
+ ]);
109
120
  const iconClassName = React.useCallback((isHover) => {
110
121
  const color = isHover ? theme.palette.accent : theme.palette.neutralSecondary;
111
122
  return react.mergeStyles(index.richTextEditBoxActionButtonIcon, { color });
@@ -124,11 +135,23 @@ const ChatMessageComponentAsRichTextEditBox = (props) => {
124
135
  if (!submitEnabled) {
125
136
  return;
126
137
  }
138
+ /* @conditional-compile-remove(rich-text-editor-image-upload) */
139
+ if (inlineImagesWithProgress && inlineImagesWithProgress.length > 0) {
140
+ const contentWithUpdatedInlineImagesInfo = index.getContentWithUpdatedInlineImagesInfo(textValue, inlineImagesWithProgress);
141
+ const messageTooLong = index.isMessageTooLong(contentWithUpdatedInlineImagesInfo.length);
142
+ // Set contentValueWithInlineImagesOverflow state to display the error bar
143
+ setContentValueWithInlineImagesOverflow(messageTooLong);
144
+ // The change from the setContentValueOverflow in the previous line will not kick in yet.
145
+ // We need to rely on the local value of messageTooLong to return early if the message is too long.
146
+ if (messageTooLong) {
147
+ return;
148
+ }
149
+ }
127
150
  // Don't send message until all attachments have been uploaded successfully
128
151
  /* @conditional-compile-remove(rich-text-editor-image-upload) */
129
152
  setAttachmentUploadsPendingError(undefined);
130
153
  /* @conditional-compile-remove(rich-text-editor-image-upload) */
131
- if (index.hasIncompleteAttachmentUploads(inlineImages)) {
154
+ if (index.hasIncompleteAttachmentUploads(inlineImagesWithProgress)) {
132
155
  setAttachmentUploadsPendingError({
133
156
  message: strings.imageUploadsPendingError,
134
157
  timestamp: Date.now(),
@@ -139,22 +162,22 @@ const ChatMessageComponentAsRichTextEditBox = (props) => {
139
162
  let content = textValue;
140
163
  /* @conditional-compile-remove(rich-text-editor-image-upload) */
141
164
  content = index.removeBrokenImageContentAndClearImageSizeStyles(content);
165
+ let initInlineImages = [];
142
166
  /* @conditional-compile-remove(rich-text-editor-image-upload) */
143
- if (index.isAttachmentUploadCompleted(inlineImages)) {
144
- index.insertImagesToContentString(textValue, inlineImages, (content) => {
145
- onSubmit(content, /* @conditional-compile-remove(file-sharing-acs) */ attachmentMetadata || []);
146
- });
147
- return;
148
- }
149
- // it's very important to pass an empty attachment here
150
- // so when user removes all attachments, UI can reflect it instantly
151
- // if you set it to undefined, the attachments pre-edited would still be there
152
- // until edit message event is received
153
- onSubmit(content, /* @conditional-compile-remove(file-sharing-acs) */ attachmentMetadata || []);
167
+ initInlineImages = initialInlineImages !== null && initialInlineImages !== void 0 ? initialInlineImages : [];
168
+ index.modifyInlineImagesInContentString(content, initInlineImages, (content) => {
169
+ // it's very important to pass an empty attachment here
170
+ // so when user removes all attachments, UI can reflect it instantly
171
+ // if you set it to undefined, the attachments pre-edited would still be there
172
+ // until edit message event is received
173
+ onSubmit(content, /* @conditional-compile-remove(file-sharing-acs) */ attachmentMetadata || []);
174
+ });
154
175
  }, [
155
176
  submitEnabled,
156
177
  /* @conditional-compile-remove(rich-text-editor-image-upload) */
157
- inlineImages,
178
+ inlineImagesWithProgress,
179
+ /* @conditional-compile-remove(rich-text-editor-image-upload) */
180
+ initialInlineImages,
158
181
  textValue,
159
182
  /* @conditional-compile-remove(rich-text-editor-image-upload) */
160
183
  strings.imageUploadsPendingError,
@@ -202,20 +225,16 @@ const ChatMessageComponentAsRichTextEditBox = (props) => {
202
225
  React.createElement(index._AttachmentUploadCards, { attachments: attachmentMetadata, onCancelAttachmentUpload: onCancelAttachmentUpload }))));
203
226
  }, [attachmentMetadata, onCancelAttachmentUpload, theme]);
204
227
  const onChangeHandler = React.useCallback((content,
205
- /* @conditional-compile-remove(rich-text-editor-image-upload) */ imageSrcArray) => {
228
+ /* @conditional-compile-remove(rich-text-editor-image-upload) */
229
+ removedInlineImages) => {
206
230
  /* @conditional-compile-remove(rich-text-editor-image-upload) */
207
- index.cancelInlineImageUpload({
208
- imageSrcArray,
209
- inlineImages,
210
- messageId: message.messageId,
211
- editBoxOnCancelInlineImageUpload: onCancelInlineImageUpload,
212
- sendBoxOnCancelInlineImageUpload: undefined
231
+ removedInlineImages === null || removedInlineImages === void 0 ? void 0 : removedInlineImages.forEach((removedInlineImage) => {
232
+ onRemoveInlineImage && onRemoveInlineImage(removedInlineImage, message.messageId);
213
233
  });
214
234
  setText(content);
215
235
  }, [
216
236
  setText,
217
- /* @conditional-compile-remove(rich-text-editor-image-upload) */ inlineImages,
218
- /* @conditional-compile-remove(rich-text-editor-image-upload) */ onCancelInlineImageUpload,
237
+ /* @conditional-compile-remove(rich-text-editor-image-upload) */ onRemoveInlineImage,
219
238
  /* @conditional-compile-remove(rich-text-editor-image-upload) */ message.messageId
220
239
  ]);
221
240
  const getContent = () => {
@@ -237,8 +256,8 @@ const ChatMessageComponentAsRichTextEditBox = (props) => {
237
256
  onPaste: onPaste,
238
257
  /* @conditional-compile-remove(rich-text-editor-image-upload) */
239
258
  onInsertInlineImage: onInsertInlineImage
240
- ? (imageUrl, imageFileName) => {
241
- onInsertInlineImage(imageUrl, imageFileName, message.messageId);
259
+ ? (imageAttributes) => {
260
+ onInsertInlineImage(imageAttributes, message.messageId);
242
261
  }
243
262
  : undefined })));
244
263
  };
@@ -254,4 +273,4 @@ const ChatMessageComponentAsRichTextEditBox = (props) => {
254
273
 
255
274
  exports.ChatMessageComponentAsRichTextEditBox = ChatMessageComponentAsRichTextEditBox;
256
275
  exports.default = ChatMessageComponentAsRichTextEditBox;
257
- //# sourceMappingURL=ChatMessageComponentAsRichTextEditBox-B0zbyF6Z.js.map
276
+ //# sourceMappingURL=ChatMessageComponentAsRichTextEditBox-BBTJIosO.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatMessageComponentAsRichTextEditBox-BBTJIosO.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';\n/* @conditional-compile-remove(rich-text-editor-image-upload) */\nimport { AttachmentMetadataInProgress } from '@internal/acs-ui-common';\nimport { useTheme } from '../../../theming';\nimport React, { useCallback, useEffect, useMemo, useState } from 'react';\n/* @conditional-compile-remove(file-sharing-acs) */\nimport { useReducer } 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 '../../Attachment/AttachmentUploadCards';\n/* @conditional-compile-remove(file-sharing-acs) */\nimport { AttachmentMetadata } from '@internal/acs-ui-common';\nimport { useChatMessageRichTextEditContainerStyles } from '../../styles/ChatMessageComponent.styles';\nimport { MAXIMUM_LENGTH_OF_MESSAGE, modifyInlineImagesInContentString } from '../../utils/SendBoxUtils';\n/* @conditional-compile-remove(rich-text-editor-image-upload) */\nimport {\n hasIncompleteAttachmentUploads,\n removeBrokenImageContentAndClearImageSizeStyles,\n getContentWithUpdatedInlineImagesInfo,\n isMessageTooLong\n} from '../../utils/SendBoxUtils';\nimport {\n getMessageState,\n onRenderCancelIcon,\n onRenderSubmitIcon\n} from '../../utils/ChatMessageComponentAsEditBoxUtils';\n/* @conditional-compile-remove(file-sharing-acs) */\nimport {\n attachmentMetadataReducer,\n getMessageWithAttachmentMetadata,\n doesMessageContainMultipleAttachments\n} 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(file-sharing-acs) */\nimport { FluentV9ThemeProvider } from '../../../theming/FluentV9ThemeProvider';\n/* @conditional-compile-remove(file-sharing-acs) */\nimport { attachmentUploadCardsStyles } from '../../styles/SendBox.styles';\n/* @conditional-compile-remove(rich-text-editor-image-upload) */\nimport { SendBoxErrorBarError, SendBoxErrorBarType } from '../../SendBoxErrorBar';\n/* @conditional-compile-remove(rich-text-editor-image-upload) */\nimport { BROKEN_IMAGE_SVG_DATA } from '../../styles/Common.style';\n/* @conditional-compile-remove(rich-text-editor-image-upload) */\nimport { getPreviousInlineImages } from '../../utils/RichTextEditorUtils';\n\n/** @private */\nexport type ChatMessageComponentAsRichTextEditBoxProps = {\n onCancel?: (messageId: string) => void;\n onSubmit: (\n text: string,\n /* @conditional-compile-remove(file-sharing-acs) */\n attachmentMetadata?: AttachmentMetadata[]\n ) => void;\n message: ChatMessage;\n strings: MessageThreadStrings;\n /* @conditional-compile-remove(rich-text-editor-image-upload) */\n onPaste?: (event: { content: DocumentFragment }) => void;\n /* @conditional-compile-remove(rich-text-editor-image-upload) */\n onRemoveInlineImage?: (imageAttributes: Record<string, string>, messageId: string) => void;\n /* @conditional-compile-remove(rich-text-editor-image-upload) */\n onInsertInlineImage?: (imageAttributes: Record<string, string>, messageId: string) => void;\n /* @conditional-compile-remove(rich-text-editor-image-upload) */\n inlineImagesWithProgress?: AttachmentMetadataInProgress[];\n};\n\n/**\n * @private\n */\nexport const ChatMessageComponentAsRichTextEditBox = (\n props: ChatMessageComponentAsRichTextEditBoxProps\n): JSX.Element => {\n const {\n onCancel,\n onSubmit,\n strings,\n message,\n /* @conditional-compile-remove(rich-text-editor-image-upload) */\n onPaste,\n /* @conditional-compile-remove(rich-text-editor-image-upload) */\n onInsertInlineImage,\n /* @conditional-compile-remove(rich-text-editor-image-upload) */\n inlineImagesWithProgress,\n /* @conditional-compile-remove(rich-text-editor-image-upload) */\n onRemoveInlineImage\n } = props;\n\n /* @conditional-compile-remove(rich-text-editor-image-upload) */\n const [initialInlineImages, setInitialInlineImages] = useState<Record<string, string>[]>([]);\n\n const initialContent = useMemo(() => {\n /* @conditional-compile-remove(rich-text-editor-image-upload) */\n const content = message.content;\n /* @conditional-compile-remove(rich-text-editor-image-upload) */\n setInitialInlineImages(getPreviousInlineImages(content));\n /* @conditional-compile-remove(rich-text-editor-image-upload) */\n const document = new DOMParser().parseFromString(content ?? '', 'text/html');\n // The broken image element is a div element with all the attributes of the original image element.\n // We need to convert it to a img element so the Rooster knows how to render it.\n // And we need to copy over all the attributes such as id, width, etc.\n // which is needed for sending the message with the images correctly.\n /* @conditional-compile-remove(rich-text-editor-image-upload) */\n document.querySelectorAll('.broken-image-wrapper').forEach((brokenImage) => {\n const imageElement = document.createElement('img');\n const attributes = brokenImage.attributes;\n for (const attribute of attributes) {\n imageElement.setAttribute(attribute.name, attribute.value);\n }\n\n imageElement.src = BROKEN_IMAGE_SVG_DATA;\n imageElement.style.width = '3rem';\n imageElement.style.height = '3rem';\n brokenImage.parentElement?.replaceChild(imageElement, brokenImage);\n });\n /* @conditional-compile-remove(rich-text-editor-image-upload) */\n return document.body.innerHTML;\n return message.content;\n }, [message]);\n\n const [textValue, setTextValue] = useState<string>(initialContent || '');\n /* @conditional-compile-remove(rich-text-editor-image-upload) */\n const [contentValueWithInlineImagesOverflow, setContentValueWithInlineImagesOverflow] = useState(false);\n\n /* @conditional-compile-remove(file-sharing-acs) */\n const [attachmentMetadata, handleAttachmentAction] = useReducer(\n attachmentMetadataReducer,\n getMessageWithAttachmentMetadata(message) ?? []\n );\n\n /* @conditional-compile-remove(rich-text-editor-image-upload) */\n const [attachmentUploadsPendingError, setAttachmentUploadsPendingError] = useState<SendBoxErrorBarError | undefined>(\n undefined\n );\n const editTextFieldRef = React.useRef<RichTextEditorComponentRef>(null);\n const theme = useTheme();\n const messageState = useMemo(() => {\n return getMessageState(textValue, /* @conditional-compile-remove(file-sharing-acs) */ attachmentMetadata ?? []);\n }, [/* @conditional-compile-remove(file-sharing-acs) */ attachmentMetadata, textValue]);\n\n /* @conditional-compile-remove(rich-text-editor-image-upload) */\n const imageUploadErrorMessage = useMemo(() => {\n return inlineImagesWithProgress?.filter((image) => image.error).pop()?.error?.message;\n }, [inlineImagesWithProgress]);\n\n const submitEnabled = messageState === 'OK';\n\n const editContainerStyles = useChatMessageRichTextEditContainerStyles();\n const chatMyMessageStyles = useChatMyMessageStyles();\n const locale = useLocale().strings;\n\n const setText = useCallback((newValue?: string): void => {\n setTextValue(newValue ?? '');\n }, []);\n\n useEffect(() => {\n editTextFieldRef.current?.focus();\n }, []);\n\n const textTooLongMessage = useMemo(() => {\n return messageState === 'too long' ||\n /* @conditional-compile-remove(rich-text-editor-image-upload) */ contentValueWithInlineImagesOverflow\n ? _formatString(strings.editBoxTextLimit, { limitNumber: `${MAXIMUM_LENGTH_OF_MESSAGE}` })\n : undefined;\n }, [\n messageState,\n strings.editBoxTextLimit,\n /* @conditional-compile-remove(rich-text-editor-image-upload) */ contentValueWithInlineImagesOverflow\n ]);\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 /* @conditional-compile-remove(file-sharing-acs) */\n const hasMultipleAttachments = useMemo(() => {\n return doesMessageContainMultipleAttachments(message);\n }, [message]);\n\n const onSubmitHandler = useCallback((): void => {\n if (!submitEnabled) {\n return;\n }\n /* @conditional-compile-remove(rich-text-editor-image-upload) */\n if (inlineImagesWithProgress && inlineImagesWithProgress.length > 0) {\n const contentWithUpdatedInlineImagesInfo = getContentWithUpdatedInlineImagesInfo(\n textValue,\n inlineImagesWithProgress\n );\n const messageTooLong = isMessageTooLong(contentWithUpdatedInlineImagesInfo.length);\n // Set contentValueWithInlineImagesOverflow state to display the error bar\n setContentValueWithInlineImagesOverflow(messageTooLong);\n // The change from the setContentValueOverflow in the previous line will not kick in yet.\n // We need to rely on the local value of messageTooLong to return early if the message is too long.\n if (messageTooLong) {\n return;\n }\n }\n\n // Don't send message until all attachments have been uploaded successfully\n /* @conditional-compile-remove(rich-text-editor-image-upload) */\n setAttachmentUploadsPendingError(undefined);\n\n /* @conditional-compile-remove(rich-text-editor-image-upload) */\n if (hasIncompleteAttachmentUploads(inlineImagesWithProgress)) {\n setAttachmentUploadsPendingError({\n message: strings.imageUploadsPendingError,\n timestamp: Date.now(),\n errorBarType: SendBoxErrorBarType.info\n });\n return;\n }\n\n let content = textValue;\n /* @conditional-compile-remove(rich-text-editor-image-upload) */\n content = removeBrokenImageContentAndClearImageSizeStyles(content);\n let initInlineImages: Record<string, string>[] = [];\n /* @conditional-compile-remove(rich-text-editor-image-upload) */\n initInlineImages = initialInlineImages ?? [];\n modifyInlineImagesInContentString(content, initInlineImages, (content: string) => {\n // it's very important to pass an empty attachment here\n // so when user removes all attachments, UI can reflect it instantly\n // if you set it to undefined, the attachments pre-edited would still be there\n // until edit message event is received\n onSubmit(content, /* @conditional-compile-remove(file-sharing-acs) */ attachmentMetadata || []);\n });\n }, [\n submitEnabled,\n /* @conditional-compile-remove(rich-text-editor-image-upload) */\n inlineImagesWithProgress,\n /* @conditional-compile-remove(rich-text-editor-image-upload) */\n initialInlineImages,\n textValue,\n /* @conditional-compile-remove(rich-text-editor-image-upload) */\n strings.imageUploadsPendingError,\n onSubmit,\n /* @conditional-compile-remove(file-sharing-acs) */\n attachmentMetadata\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 data-testId={strings.editBoxCancelButton}\n />\n <InputBoxButton\n className={richTextActionButtonsStyle}\n ariaLabel={strings.editBoxSubmitButton}\n tooltipContent={strings.editBoxSubmitButton}\n onRenderIcon={onRenderThemedSubmitIcon}\n onClick={(e) => {\n onSubmitHandler();\n e.stopPropagation();\n }}\n id={'submitIconWrapper'}\n data-testId={strings.editBoxSubmitButton}\n />\n </Stack>\n );\n }, [\n message.messageId,\n onCancel,\n onRenderThemedCancelIcon,\n onRenderThemedSubmitIcon,\n strings.editBoxCancelButton,\n strings.editBoxSubmitButton,\n onSubmitHandler\n ]);\n const richTextLocaleStrings = useMemo(() => {\n /* @conditional-compile-remove(rich-text-editor) */\n return { ...locale.richTextSendBox, ...strings };\n return locale.sendBox;\n }, [\n /* @conditional-compile-remove(rich-text-editor) */ locale.richTextSendBox,\n /* @conditional-compile-remove(rich-text-editor) */ strings,\n locale.sendBox\n ]);\n\n /* @conditional-compile-remove(file-sharing-acs) */\n const onCancelAttachmentUpload = useCallback((attachmentId: string) => {\n // edit box only capable of removing attachments\n // we need to expand attachment actions\n // if we want to support more actions e.g. add\n handleAttachmentAction({ type: 'remove', id: attachmentId });\n }, []);\n\n /* @conditional-compile-remove(file-sharing-acs) */\n const onRenderAttachmentUploads = useCallback(() => {\n return (\n <Stack className={attachmentUploadCardsStyles}>\n <FluentV9ThemeProvider v8Theme={theme}>\n <_AttachmentUploadCards\n attachments={attachmentMetadata}\n onCancelAttachmentUpload={onCancelAttachmentUpload}\n />\n </FluentV9ThemeProvider>\n </Stack>\n );\n }, [attachmentMetadata, onCancelAttachmentUpload, theme]);\n\n const onChangeHandler = useCallback(\n (\n content: string | undefined,\n /* @conditional-compile-remove(rich-text-editor-image-upload) */\n removedInlineImages?: Record<string, string>[]\n ) => {\n /* @conditional-compile-remove(rich-text-editor-image-upload) */\n removedInlineImages?.forEach((removedInlineImage: Record<string, string>) => {\n onRemoveInlineImage && onRemoveInlineImage(removedInlineImage, message.messageId);\n });\n setText(content);\n },\n [\n setText,\n /* @conditional-compile-remove(rich-text-editor-image-upload) */ onRemoveInlineImage,\n /* @conditional-compile-remove(rich-text-editor-image-upload) */ message.messageId\n ]\n );\n\n const getContent = (): JSX.Element => {\n return (\n <Stack className={mergeStyles(editBoxWidthStyles)}>\n <RichTextSendBoxErrors\n textTooLongMessage={textTooLongMessage}\n systemMessage={message.failureReason}\n /* @conditional-compile-remove(rich-text-editor-image-upload) */ attachmentUploadsPendingError={\n attachmentUploadsPendingError\n }\n /* @conditional-compile-remove(rich-text-editor-image-upload) */\n attachmentProgressError={\n imageUploadErrorMessage\n ? {\n message: imageUploadErrorMessage,\n timestamp: Date.now(),\n errorBarType: SendBoxErrorBarType.error\n }\n : undefined\n }\n />\n <RichTextInputBoxComponent\n placeholderText={strings.editBoxPlaceholderText}\n onChange={onChangeHandler}\n editorComponentRef={editTextFieldRef}\n initialContent={initialContent}\n strings={richTextLocaleStrings}\n disabled={false}\n actionComponents={actionButtons}\n richTextEditorStyleProps={editBoxRichTextEditorStyle}\n isHorizontalLayoutDisabled={true}\n /* @conditional-compile-remove(file-sharing-acs) */\n onRenderAttachmentUploads={onRenderAttachmentUploads}\n /* @conditional-compile-remove(rich-text-editor-image-upload) */\n onPaste={onPaste}\n /* @conditional-compile-remove(rich-text-editor-image-upload) */\n onInsertInlineImage={\n onInsertInlineImage\n ? (imageAttributes: Record<string, string>) => {\n onInsertInlineImage(imageAttributes, message.messageId);\n }\n : undefined\n }\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: mergeClasses(\n chatMyMessageStyles.root,\n /* @conditional-compile-remove(file-sharing-acs) */\n hasMultipleAttachments ? chatMyMessageStyles.multipleAttachmentsInEditing : undefined\n )\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","useMemo","getPreviousInlineImages","BROKEN_IMAGE_SVG_DATA","useReducer","attachmentMetadataReducer","getMessageWithAttachmentMetadata","useTheme","getMessageState","useChatMessageRichTextEditContainerStyles","useChatMyMessageStyles","useLocale","useCallback","useEffect","_formatString","MAXIMUM_LENGTH_OF_MESSAGE","mergeStyles","richTextEditBoxActionButtonIcon","onRenderCancelIcon","onRenderSubmitIcon","doesMessageContainMultipleAttachments","getContentWithUpdatedInlineImagesInfo","isMessageTooLong","hasIncompleteAttachmentUploads","SendBoxErrorBarType","removeBrokenImageContentAndClearImageSizeStyles","modifyInlineImagesInContentString","Stack","InputBoxButton","richTextActionButtonsStyle","attachmentUploadCardsStyles","FluentV9ThemeProvider","_AttachmentUploadCards","editBoxWidthStyles","RichTextSendBoxErrors","RichTextInputBoxComponent","editBoxRichTextEditorStyle","ChatMyMessage","mergeClasses"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var React = require('react');
4
- var index = require('./index-YIP5Cyt3.js');
4
+ var index = require('./index-B74o7NiP.js');
5
5
  require('@fluentui/react');
6
6
  require('@fluentui/react-components');
7
7
  require('@fluentui-contrib/react-chat');
@@ -21,11 +21,11 @@ require('textarea-caret-ts');
21
21
  require('use-debounce');
22
22
  require('@fluentui/react-file-type-icons');
23
23
  require('@griffel/react');
24
+ require('uuid');
24
25
  require('roosterjs-content-model-core');
25
26
  require('roosterjs-content-model-dom');
26
27
  require('roosterjs-content-model-plugins');
27
28
  require('roosterjs-content-model-api');
28
- require('uuid');
29
29
  require('html-react-parser');
30
30
  require('react-linkify');
31
31
  require('dompurify');
@@ -50,4 +50,4 @@ const RichTextSendBoxWrapper = (props) => {
50
50
  };
51
51
 
52
52
  exports.RichTextSendBoxWrapper = RichTextSendBoxWrapper;
53
- //# sourceMappingURL=RichTextSendBoxWrapper-BVOysnsq.js.map
53
+ //# sourceMappingURL=RichTextSendBoxWrapper-C1Ev6MKx.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RichTextSendBoxWrapper-BVOysnsq.js","sources":["../../../../react-composites/src/composites/common/RichTextSendBoxWrapper.tsx"],"sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/* @conditional-compile-remove(rich-text-editor-composite-support) */\nimport React from 'react';\n/* @conditional-compile-remove(rich-text-editor-composite-support) */\nimport { usePropsFor } from '../ChatComposite/hooks/usePropsFor';\n/* @conditional-compile-remove(rich-text-editor-composite-support) */\nimport { RichTextSendBox, RichTextSendBoxProps } from '@internal/react-components';\n\n/* @conditional-compile-remove(rich-text-editor-composite-support) */\n/**\n * @private\n *\n * Wrapper for RichTextSendBox component to allow us to use usePropsFor with richTextSendBox\n * before lazyLoading is done\n */\nexport const RichTextSendBoxWrapper = (props: RichTextSendBoxProps): JSX.Element => {\n const richTextSendBoxProps = usePropsFor(RichTextSendBox);\n\n return <RichTextSendBox {...richTextSendBoxProps} {...props} />;\n};\n"],"names":["usePropsFor","RichTextSendBox"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AAEA;AAOA;AACA;;;;;AAKG;AACU,MAAA,sBAAsB,GAAG,CAAC,KAA2B,KAAiB;AACjF,IAAA,MAAM,oBAAoB,GAAGA,iBAAW,CAACC,qBAAe,CAAC,CAAC;AAE1D,IAAA,OAAO,oBAACA,qBAAe,EAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAK,oBAAoB,EAAM,KAAK,EAAI,CAAC;AAClE;;;;"}
1
+ {"version":3,"file":"RichTextSendBoxWrapper-C1Ev6MKx.js","sources":["../../../../react-composites/src/composites/common/RichTextSendBoxWrapper.tsx"],"sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/* @conditional-compile-remove(rich-text-editor-composite-support) */\nimport React from 'react';\n/* @conditional-compile-remove(rich-text-editor-composite-support) */\nimport { usePropsFor } from '../ChatComposite/hooks/usePropsFor';\n/* @conditional-compile-remove(rich-text-editor-composite-support) */\nimport { RichTextSendBox, RichTextSendBoxProps } from '@internal/react-components';\n\n/* @conditional-compile-remove(rich-text-editor-composite-support) */\n/**\n * @private\n *\n * Wrapper for RichTextSendBox component to allow us to use usePropsFor with richTextSendBox\n * before lazyLoading is done\n */\nexport const RichTextSendBoxWrapper = (props: RichTextSendBoxProps): JSX.Element => {\n const richTextSendBoxProps = usePropsFor(RichTextSendBox);\n\n return <RichTextSendBox {...richTextSendBoxProps} {...props} />;\n};\n"],"names":["usePropsFor","RichTextSendBox"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AAEA;AAOA;AACA;;;;;AAKG;AACU,MAAA,sBAAsB,GAAG,CAAC,KAA2B,KAAiB;AACjF,IAAA,MAAM,oBAAoB,GAAGA,iBAAW,CAACC,qBAAe,CAAC,CAAC;AAE1D,IAAA,OAAO,oBAACA,qBAAe,EAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAK,oBAAoB,EAAM,KAAK,EAAI,CAAC;AAClE;;;;"}