@azure/communication-react 1.19.0-alpha-202407310012 → 1.19.0-alpha-202408020014

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 (98) hide show
  1. package/dist/communication-react.d.ts +42 -33
  2. package/dist/dist-cjs/communication-react/{ChatMessageComponentAsRichTextEditBox-CsHqT8dY.js → ChatMessageComponentAsRichTextEditBox-DM13Kp5W.js} +52 -33
  3. package/dist/dist-cjs/communication-react/ChatMessageComponentAsRichTextEditBox-DM13Kp5W.js.map +1 -0
  4. package/dist/dist-cjs/communication-react/{RichTextSendBoxWrapper-TGDmjXvl.js → RichTextSendBoxWrapper-8FsFMpKF.js} +3 -3
  5. package/dist/dist-cjs/communication-react/{RichTextSendBoxWrapper-TGDmjXvl.js.map → RichTextSendBoxWrapper-8FsFMpKF.js.map} +1 -1
  6. package/dist/dist-cjs/communication-react/{index-BBPqvw4B.js → index-D84PSTZV.js} +573 -198
  7. package/dist/dist-cjs/communication-react/index-D84PSTZV.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-stateful-client/src/BreakoutRoomsSubscriber.d.ts +1 -0
  18. package/dist/dist-esm/calling-stateful-client/src/BreakoutRoomsSubscriber.js +6 -0
  19. package/dist/dist-esm/calling-stateful-client/src/BreakoutRoomsSubscriber.js.map +1 -1
  20. package/dist/dist-esm/calling-stateful-client/src/CallClientState.d.ts +1 -0
  21. package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
  22. package/dist/dist-esm/calling-stateful-client/src/CallContext.d.ts +1 -0
  23. package/dist/dist-esm/calling-stateful-client/src/CallContext.js +9 -0
  24. package/dist/dist-esm/calling-stateful-client/src/CallContext.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/index.d.ts +1 -1
  62. package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
  63. package/dist/dist-esm/react-components/src/components/utils/RichTextEditorUtils.d.ts +34 -0
  64. package/dist/dist-esm/react-components/src/components/utils/RichTextEditorUtils.js +121 -0
  65. package/dist/dist-esm/react-components/src/components/utils/RichTextEditorUtils.js.map +1 -1
  66. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.d.ts +15 -13
  67. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js +42 -32
  68. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js.map +1 -1
  69. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.d.ts +3 -0
  70. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +41 -0
  71. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
  72. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.d.ts +4 -0
  73. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js.map +1 -1
  74. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackCapabilityChangedNotifications.js +19 -6
  75. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackCapabilityChangedNotifications.js.map +1 -1
  76. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.d.ts +1 -0
  77. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +6 -0
  78. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js.map +1 -1
  79. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.d.ts +4 -0
  80. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.js.map +1 -1
  81. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.d.ts +1 -0
  82. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js +6 -0
  83. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js.map +1 -1
  84. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js +30 -17
  85. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js.map +1 -1
  86. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadUtils.d.ts +5 -5
  87. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadUtils.js +61 -31
  88. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadUtils.js.map +1 -1
  89. package/dist/dist-esm/react-composites/src/composites/common/SendBoxPicker.d.ts +32 -2
  90. package/dist/dist-esm/react-composites/src/composites/common/SendBoxPicker.js +3 -3
  91. package/dist/dist-esm/react-composites/src/composites/common/SendBoxPicker.js.map +1 -1
  92. package/dist/dist-esm/react-composites/src/composites/common/constants.d.ts +5 -0
  93. package/dist/dist-esm/react-composites/src/composites/common/constants.js +6 -0
  94. package/dist/dist-esm/react-composites/src/composites/common/constants.js.map +1 -1
  95. package/dist/tsdoc-metadata.json +1 -1
  96. package/package.json +7 -7
  97. package/dist/dist-cjs/communication-react/ChatMessageComponentAsRichTextEditBox-CsHqT8dY.js.map +0 -1
  98. package/dist/dist-cjs/communication-react/index-BBPqvw4B.js.map +0 -1
@@ -715,6 +715,7 @@ export declare interface BlockedMessage extends MessageCommon {
715
715
  export declare interface BreakoutRoomsState {
716
716
  assignedBreakoutRoom?: BreakoutRoom;
717
717
  breakoutRoomSettings?: BreakoutRoomsSettings;
718
+ breakoutRoomOriginCallId?: string;
718
719
  }
719
720
 
720
721
  /**
@@ -1179,6 +1180,10 @@ export declare interface CallAdapterCallOperations {
1179
1180
  * Mute All participants
1180
1181
  */
1181
1182
  muteAllRemoteParticipants(): Promise<void>;
1183
+ /**
1184
+ * Return to origin call of breakout room
1185
+ */
1186
+ returnFromBreakoutRoom(): Promise<void>;
1182
1187
  }
1183
1188
 
1184
1189
  /**
@@ -3700,6 +3705,10 @@ export declare interface CallWithChatAdapterManagement {
3700
3705
  * Mute a participant
3701
3706
  */
3702
3707
  muteAllRemoteParticipants(): Promise<void>;
3708
+ /**
3709
+ * Return to origin call of breakout room
3710
+ */
3711
+ returnFromBreakoutRoom(): Promise<void>;
3703
3712
  }
3704
3713
 
3705
3714
  /**
@@ -10632,17 +10641,29 @@ export declare interface RichTextEditBoxOptions extends RichTextEditorOptions {
10632
10641
  /**
10633
10642
  * Optional callback to handle an inline image that's inserted in the rich text editor.
10634
10643
  * When not provided, pasting images into rich text editor will be disabled.
10644
+ * @param imageAttributes - attributes of the image such as id, src, style, etc.
10645
+ * It also contains the image file name which can be accessed through imageAttributes['data-image-file-name']
10646
+ * @param messageId - the id of the message that the inlineImage belongs to.
10635
10647
  */
10636
- onInsertInlineImage?: (imageUrl: string, imageFileName: string, messageId: string) => void;
10648
+ onInsertInlineImage?: (imageAttributes: Record<string, string>, messageId: string) => void;
10637
10649
  /**
10638
- * Optional callback to remove the image upload or delete the image from server before sending.
10650
+ * Optional callback invoked after inline image is removed from the UI.
10651
+ * @param imageAttributes - attributes of the image such as id, src, style, etc.
10652
+ * It also contains the image file name which can be accessed through imageAttributes['data-image-file-name'].
10653
+ * Note that if the src attribute is a local blob url, it has been revoked at this point.
10654
+ * @param messageId - the id of the message that the inlineImage belongs to.
10639
10655
  */
10640
- onCancelInlineImageUpload?: (imageId: string, messageId: string) => void;
10656
+ onRemoveInlineImage?: (imageAttributes: Record<string, string>, messageId: string) => void;
10641
10657
  /**
10642
10658
  * Optional Record of type {@link AttachmentMetadataInProgress}
10643
- * to render inline images being inserted in the MessageThread's edit boxes.
10659
+ * to render the errorBar for inline images inserted in the MessageThread's edit boxes when:
10660
+ * - there is an error provided in the messagesInlineImagesWithProgress
10661
+ * - progress is less than 1 when the send button is clicked
10662
+ * - content html string is longer than the max allowed length.
10663
+ * (Note that the id and the url prop of the messagesInlineImagesWithProgress will be used as the id and src attribute of the content html
10664
+ * when calculating the content length, only for the purpose of displaying the content length overflow error.)
10644
10665
  */
10645
- messagesInlineImages?: Record<string, AttachmentMetadataInProgress[]>;
10666
+ messagesInlineImagesWithProgress?: Record<string, AttachmentMetadataInProgress[]>;
10646
10667
  }
10647
10668
 
10648
10669
  /**
@@ -10666,28 +10687,6 @@ export declare interface RichTextEditorOptions {
10666
10687
  */
10667
10688
  export declare const RichTextSendBox: (props: RichTextSendBoxProps) => JSX.Element;
10668
10689
 
10669
- /**
10670
- * Options for the rich text editor send box configuration.
10671
- *
10672
- * @beta
10673
- */
10674
- export declare interface RichTextSendBoxOptions extends RichTextEditorOptions {
10675
- /**
10676
- * Optional callback to handle an inline image that's inserted in the rich text editor.
10677
- * When not provided, pasting images into rich text editor will be disabled.
10678
- */
10679
- onInsertInlineImage?: (imageUrl: string, imageFileName: string) => void;
10680
- /**
10681
- * Optional callback to remove the image upload or delete the image from server before sending.
10682
- */
10683
- onCancelInlineImageUpload?: (imageId: string) => void;
10684
- /**
10685
- * Optional Array of type {@link AttachmentMetadataInProgress}
10686
- * to render inline images being inserted in the RichTextSendBox.
10687
- */
10688
- inlineImages?: AttachmentMetadataInProgress[];
10689
- }
10690
-
10691
10690
  /**
10692
10691
  * Props for {@link RichTextSendBox}.
10693
10692
  *
@@ -10730,9 +10729,12 @@ export declare interface RichTextSendBoxProps {
10730
10729
  */
10731
10730
  onCancelAttachmentUpload?: (attachmentId: string) => void;
10732
10731
  /**
10733
- * Optional callback to remove the image upload or delete the image from server before sending.
10732
+ * Optional callback invoked after inline image is removed from the UI.
10733
+ * @param imageAttributes - attributes of the image such as id, src, style, etc.
10734
+ * It also contains the image file name which can be accessed through imageAttributes['data-image-file-name'].
10735
+ * Note that if the src attribute is a local blob url, it has been revoked at this point.
10734
10736
  */
10735
- onCancelInlineImageUpload?: (imageId: string) => void;
10737
+ onRemoveInlineImage?: (imageAttributes: Record<string, string>) => void;
10736
10738
  /**
10737
10739
  * Callback function used when the send button is clicked.
10738
10740
  */
@@ -10744,13 +10746,20 @@ export declare interface RichTextSendBoxProps {
10744
10746
  /**
10745
10747
  * Optional callback to handle an inline image that's inserted in the rich text editor.
10746
10748
  * When not provided, pasting images into rich text editor will be disabled.
10749
+ * @param imageAttributes - attributes of the image such as id, src, style, etc.
10750
+ * It also contains the image file name which can be accessed through imageAttributes['data-image-file-name']
10747
10751
  */
10748
- onInsertInlineImage?: (imageUrl: string, imageFileName: string) => void;
10752
+ onInsertInlineImage?: (imageAttributes: Record<string, string>) => void;
10749
10753
  /**
10750
10754
  * Optional Array of type {@link AttachmentMetadataInProgress}
10751
- * to render inline images being inserted in the RichTextSendBox.
10752
- */
10753
- inlineImages?: AttachmentMetadataInProgress[];
10755
+ * to render the errorBar for inline images inserted in the RichTextSendBox when:
10756
+ * - there is an error provided in the inlineImagesWithProgress
10757
+ * - progress is less than 1 when the send button is clicked
10758
+ * - content html string is longer than the max allowed length.
10759
+ * (Note that the id and the url prop of the inlineImagesWithProgress will be used as the id and src attribute of the content html
10760
+ * when calculating the content length, only for the purpose of displaying the content length overflow error.)
10761
+ */
10762
+ inlineImagesWithProgress?: AttachmentMetadataInProgress[];
10754
10763
  }
10755
10764
 
10756
10765
  /**
@@ -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-BBPqvw4B.js');
7
+ var index = require('./index-D84PSTZV.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-CsHqT8dY.js.map
276
+ //# sourceMappingURL=ChatMessageComponentAsRichTextEditBox-DM13Kp5W.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatMessageComponentAsRichTextEditBox-DM13Kp5W.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-BBPqvw4B.js');
4
+ var index = require('./index-D84PSTZV.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-TGDmjXvl.js.map
53
+ //# sourceMappingURL=RichTextSendBoxWrapper-8FsFMpKF.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RichTextSendBoxWrapper-TGDmjXvl.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-8FsFMpKF.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;;;;"}