@azure/communication-react 1.18.0-alpha-202407200014 → 1.18.0-alpha-202407262302

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 (167) hide show
  1. package/dist/communication-react.d.ts +33 -94
  2. package/dist/dist-cjs/communication-react/{ChatMessageComponentAsRichTextEditBox-D4ctXnw1.js → ChatMessageComponentAsRichTextEditBox-CmXCpkwp.js} +9 -58
  3. package/dist/dist-cjs/communication-react/ChatMessageComponentAsRichTextEditBox-CmXCpkwp.js.map +1 -0
  4. package/dist/dist-cjs/communication-react/{RichTextSendBoxWrapper-F6eqVXer.js → RichTextSendBoxWrapper-DI4k0qyf.js} +2 -2
  5. package/dist/dist-cjs/communication-react/{RichTextSendBoxWrapper-F6eqVXer.js.map → RichTextSendBoxWrapper-DI4k0qyf.js.map} +1 -1
  6. package/dist/dist-cjs/communication-react/{index-BJO_NOTU.js → index-BSczaURy.js} +479 -831
  7. package/dist/dist-cjs/communication-react/index-BSczaURy.js.map +1 -0
  8. package/dist/dist-cjs/communication-react/index.js +1 -1
  9. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
  10. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
  11. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.d.ts +1 -1
  12. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js +3 -3
  13. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js.map +1 -1
  14. package/dist/dist-esm/calling-component-bindings/src/notificationStackSelector.js +2 -2
  15. package/dist/dist-esm/calling-component-bindings/src/notificationStackSelector.js.map +1 -1
  16. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.d.ts +3 -3
  17. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.js.map +1 -1
  18. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.d.ts +1 -1
  19. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js +7 -15
  20. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js.map +1 -1
  21. package/dist/dist-esm/calling-stateful-client/src/CallClientState.d.ts +1 -3
  22. package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
  23. package/dist/dist-esm/calling-stateful-client/src/CallContext.js +2 -2
  24. package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
  25. package/dist/dist-esm/calling-stateful-client/src/Converter.js +1 -1
  26. package/dist/dist-esm/calling-stateful-client/src/Converter.js.map +1 -1
  27. package/dist/dist-esm/calling-stateful-client/src/IncomingCallDeclarative.d.ts +8 -2
  28. package/dist/dist-esm/calling-stateful-client/src/IncomingCallDeclarative.js.map +1 -1
  29. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.d.ts +2 -14
  30. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.js.map +1 -1
  31. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.d.ts +1 -9
  32. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.js +0 -16
  33. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.js.map +1 -1
  34. package/dist/dist-esm/calling-stateful-client/src/index-public.d.ts +1 -1
  35. package/dist/dist-esm/calling-stateful-client/src/index-public.js.map +1 -1
  36. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.d.ts +3 -5
  37. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.js.map +1 -1
  38. package/dist/dist-esm/communication-react/src/index.d.ts +1 -1
  39. package/dist/dist-esm/communication-react/src/index.js.map +1 -1
  40. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentCard.js +8 -14
  41. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentCard.js.map +1 -1
  42. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.d.ts +2 -8
  43. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.js.map +1 -1
  44. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.d.ts +4 -6
  45. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.js +12 -2
  46. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.js.map +1 -1
  47. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.d.ts +2 -2
  48. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.js +8 -60
  49. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.js.map +1 -1
  50. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.d.ts +6 -8
  51. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.js +4 -18
  52. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.js.map +1 -1
  53. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/FluentChatMyMessageComponent.js +3 -27
  54. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/FluentChatMyMessageComponent.js.map +1 -1
  55. package/dist/dist-esm/react-components/src/components/MeetingConferencePhoneInfo.d.ts +8 -8
  56. package/dist/dist-esm/react-components/src/components/MeetingConferencePhoneInfo.js +4 -4
  57. package/dist/dist-esm/react-components/src/components/MeetingConferencePhoneInfo.js.map +1 -1
  58. package/dist/dist-esm/react-components/src/components/MessageThread.d.ts +15 -9
  59. package/dist/dist-esm/react-components/src/components/MessageThread.js +1 -10
  60. package/dist/dist-esm/react-components/src/components/MessageThread.js.map +1 -1
  61. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/CopyPastePlugin.js +1 -0
  62. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/CopyPastePlugin.js.map +1 -1
  63. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.js +22 -28
  64. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.js.map +1 -1
  65. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.d.ts +0 -49
  66. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.js +18 -37
  67. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.js.map +1 -1
  68. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/RichTextToolbar.js +2 -20
  69. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/RichTextToolbar.js.map +1 -1
  70. package/dist/dist-esm/react-components/src/components/index.d.ts +1 -2
  71. package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
  72. package/dist/dist-esm/react-components/src/components/styles/AttachmentCard.styles.d.ts +2 -2
  73. package/dist/dist-esm/react-components/src/components/styles/AttachmentCard.styles.js +17 -15
  74. package/dist/dist-esm/react-components/src/components/styles/AttachmentCard.styles.js.map +1 -1
  75. package/dist/dist-esm/react-components/src/components/styles/Common.style.d.ts +1 -1
  76. package/dist/dist-esm/react-components/src/components/styles/Common.style.js +1 -2
  77. package/dist/dist-esm/react-components/src/components/styles/Common.style.js.map +1 -1
  78. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js +2 -5
  79. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js.map +1 -1
  80. package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.js +3 -3
  81. package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.js.map +1 -1
  82. package/dist/dist-esm/react-components/src/components/utils/RichTextEditorUtils.d.ts +5 -1
  83. package/dist/dist-esm/react-components/src/components/utils/RichTextEditorUtils.js +21 -0
  84. package/dist/dist-esm/react-components/src/components/utils/RichTextEditorUtils.js.map +1 -1
  85. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.d.ts +3 -15
  86. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js +14 -67
  87. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js.map +1 -1
  88. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.d.ts +1 -1
  89. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.js.map +1 -1
  90. package/dist/dist-esm/react-components/src/localization/locales/ar-SA/strings.json +64 -102
  91. package/dist/dist-esm/react-components/src/localization/locales/cs-CZ/strings.json +62 -100
  92. package/dist/dist-esm/react-components/src/localization/locales/de-DE/strings.json +62 -100
  93. package/dist/dist-esm/react-components/src/localization/locales/en-GB/strings.json +62 -100
  94. package/dist/dist-esm/react-components/src/localization/locales/en-US/strings.json +3 -9
  95. package/dist/dist-esm/react-components/src/localization/locales/es-ES/strings.json +62 -100
  96. package/dist/dist-esm/react-components/src/localization/locales/fi-FI/strings.json +62 -100
  97. package/dist/dist-esm/react-components/src/localization/locales/fr-FR/strings.json +65 -103
  98. package/dist/dist-esm/react-components/src/localization/locales/he-IL/strings.json +62 -100
  99. package/dist/dist-esm/react-components/src/localization/locales/it-IT/strings.json +62 -100
  100. package/dist/dist-esm/react-components/src/localization/locales/ja-JP/strings.json +64 -102
  101. package/dist/dist-esm/react-components/src/localization/locales/ko-KR/strings.json +69 -107
  102. package/dist/dist-esm/react-components/src/localization/locales/nb-NO/strings.json +62 -100
  103. package/dist/dist-esm/react-components/src/localization/locales/nl-NL/strings.json +68 -106
  104. package/dist/dist-esm/react-components/src/localization/locales/pl-PL/strings.json +67 -105
  105. package/dist/dist-esm/react-components/src/localization/locales/pt-BR/strings.json +65 -103
  106. package/dist/dist-esm/react-components/src/localization/locales/ru-RU/strings.json +63 -101
  107. package/dist/dist-esm/react-components/src/localization/locales/sv-SE/strings.json +62 -100
  108. package/dist/dist-esm/react-components/src/localization/locales/tr-TR/strings.json +63 -101
  109. package/dist/dist-esm/react-components/src/localization/locales/zh-CN/strings.json +64 -102
  110. package/dist/dist-esm/react-components/src/localization/locales/zh-TW/strings.json +63 -101
  111. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js +4 -4
  112. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js.map +1 -1
  113. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useMeetingPhoneInfo.js +1 -1
  114. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useMeetingPhoneInfo.js.map +1 -1
  115. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js +1 -1
  116. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js.map +1 -1
  117. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js +31 -66
  118. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js.map +1 -1
  119. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadUtils.d.ts +1 -33
  120. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadUtils.js +6 -198
  121. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadUtils.js.map +1 -1
  122. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/useImageUpload.d.ts +12 -0
  123. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/useImageUpload.js +115 -0
  124. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/useImageUpload.js.map +1 -0
  125. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUpload.d.ts +7 -7
  126. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUpload.js.map +1 -1
  127. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js +10 -10
  128. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js.map +1 -1
  129. package/dist/dist-esm/react-composites/src/composites/common/MeetingPhoneInfoPaneContent.js +4 -4
  130. package/dist/dist-esm/react-composites/src/composites/common/MeetingPhoneInfoPaneContent.js.map +1 -1
  131. package/dist/dist-esm/react-composites/src/composites/common/SendBoxPicker.d.ts +5 -2
  132. package/dist/dist-esm/react-composites/src/composites/common/SendBoxPicker.js.map +1 -1
  133. package/dist/dist-esm/react-composites/src/composites/common/constants.d.ts +0 -4
  134. package/dist/dist-esm/react-composites/src/composites/common/constants.js +0 -4
  135. package/dist/dist-esm/react-composites/src/composites/common/constants.js.map +1 -1
  136. package/dist/dist-esm/react-composites/src/composites/common/icons.d.ts +2 -6
  137. package/dist/dist-esm/react-composites/src/composites/common/icons.js +1 -5
  138. package/dist/dist-esm/react-composites/src/composites/common/icons.js.map +1 -1
  139. package/dist/dist-esm/react-composites/src/composites/localization/locales/ar-SA/strings.json +5 -10
  140. package/dist/dist-esm/react-composites/src/composites/localization/locales/cs-CZ/strings.json +1 -6
  141. package/dist/dist-esm/react-composites/src/composites/localization/locales/de-DE/strings.json +1 -6
  142. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-GB/strings.json +1 -6
  143. package/dist/dist-esm/react-composites/src/composites/localization/locales/es-ES/strings.json +1 -6
  144. package/dist/dist-esm/react-composites/src/composites/localization/locales/fi-FI/strings.json +5 -10
  145. package/dist/dist-esm/react-composites/src/composites/localization/locales/fr-FR/strings.json +5 -10
  146. package/dist/dist-esm/react-composites/src/composites/localization/locales/he-IL/strings.json +5 -10
  147. package/dist/dist-esm/react-composites/src/composites/localization/locales/it-IT/strings.json +5 -10
  148. package/dist/dist-esm/react-composites/src/composites/localization/locales/ja-JP/strings.json +1 -6
  149. package/dist/dist-esm/react-composites/src/composites/localization/locales/ko-KR/strings.json +5 -10
  150. package/dist/dist-esm/react-composites/src/composites/localization/locales/nb-NO/strings.json +1 -6
  151. package/dist/dist-esm/react-composites/src/composites/localization/locales/nl-NL/strings.json +1 -6
  152. package/dist/dist-esm/react-composites/src/composites/localization/locales/pl-PL/strings.json +1 -6
  153. package/dist/dist-esm/react-composites/src/composites/localization/locales/pt-BR/strings.json +5 -10
  154. package/dist/dist-esm/react-composites/src/composites/localization/locales/ru-RU/strings.json +1 -6
  155. package/dist/dist-esm/react-composites/src/composites/localization/locales/sv-SE/strings.json +5 -10
  156. package/dist/dist-esm/react-composites/src/composites/localization/locales/tr-TR/strings.json +1 -6
  157. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-CN/strings.json +5 -10
  158. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-TW/strings.json +5 -10
  159. package/package.json +14 -14
  160. package/dist/dist-cjs/communication-react/ChatMessageComponentAsRichTextEditBox-D4ctXnw1.js.map +0 -1
  161. package/dist/dist-cjs/communication-react/index-BJO_NOTU.js.map +0 -1
  162. package/dist/dist-esm/calling-stateful-client/src/TeamsIncomingCallDeclarative.d.ts +0 -17
  163. package/dist/dist-esm/calling-stateful-client/src/TeamsIncomingCallDeclarative.js +0 -49
  164. package/dist/dist-esm/calling-stateful-client/src/TeamsIncomingCallDeclarative.js.map +0 -1
  165. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadReducer.d.ts +0 -49
  166. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadReducer.js +0 -48
  167. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadReducer.js.map +0 -1
@@ -107,7 +107,6 @@ import { StartCaptionsOptions } from '@azure/communication-calling';
107
107
  import { TeamsCall } from '@azure/communication-calling';
108
108
  import { TeamsCallAgent } from '@azure/communication-calling';
109
109
  import { TeamsCallInfo } from '@azure/communication-calling';
110
- import { TeamsIncomingCall } from '@azure/communication-calling';
111
110
  import { TeamsMeetingIdLocator } from '@azure/communication-calling';
112
111
  import { TeamsMeetingLinkLocator } from '@azure/communication-calling';
113
112
  import { Theme } from '@fluentui/react';
@@ -1735,9 +1734,7 @@ export declare type CallCompositeIcons = {
1735
1734
  DefaultCustomButton?: JSX.Element;
1736
1735
  DtmfDialpadButton?: JSX.Element;
1737
1736
  PhoneNumberButton?: JSX.Element;
1738
- JoinByPhoneDialStepIcon?: JSX.Element;
1739
- JoinByPhoneConferenceIdIcon?: JSX.Element;
1740
- JoinByPhoneWaitToBeAdmittedIcon?: JSX.Element;
1737
+ PhoneInfoWait?: JSX.Element;
1741
1738
  PeoplePaneMoreButton?: JSX.Element;
1742
1739
  StopAllSpotlightMenuButton?: JSX.Element;
1743
1740
  };
@@ -3179,9 +3176,7 @@ export declare interface CallState {
3179
3176
  /**
3180
3177
  * Proxy of {@link @azure/communication-calling#TeamsMeetingAudioConferencingCallFeature}.
3181
3178
  */
3182
- meetingConference?: {
3183
- conferencePhones: ConferencePhoneInfo[];
3184
- };
3179
+ teamsMeetingConference?: ConferencePhoneInfo[];
3185
3180
  }
3186
3181
 
3187
3182
  /**
@@ -5877,7 +5872,7 @@ export declare interface ComponentStrings {
5877
5872
  /** Strings for the participant list component */
5878
5873
  ParticipantList: ParticipantListStrings;
5879
5874
  /** Strings for the MeetingConferencePhoneInfoModal */
5880
- meetingConferencePhoneInfo: MeetingConferencePhoneInfoModalStrings;
5875
+ MeetingConferencePhoneInfo: MeetingConferencePhoneInfoModalStrings;
5881
5876
  IncomingCallNotification: IncomingCallNotificationStrings;
5882
5877
  }
5883
5878
 
@@ -6610,11 +6605,17 @@ export declare const darkTheme: PartialTheme & CallingTheme;
6610
6605
  */
6611
6606
  export declare type DeclarativeCallAgent = CallAgent & IncomingCallManagement;
6612
6607
 
6608
+ /**
6609
+ * @beta
6610
+ * Proxies the {@link @azure/communication-calling#IncomingCall} interface.
6611
+ */
6612
+ export declare type DeclarativeIncomingCall = IncomingCall;
6613
+
6613
6614
  /**
6614
6615
  * @public
6615
6616
  * `DeclarativeTeamsCallAgent` extends and proxies the {@link @azure/communication-calling#TeamsCallAgent}
6616
6617
  */
6617
- export declare type DeclarativeTeamsCallAgent = TeamsCallAgent & TeamsIncomingCallManagement;
6618
+ export declare type DeclarativeTeamsCallAgent = TeamsCallAgent & IncomingCallManagement;
6618
6619
 
6619
6620
  /**
6620
6621
  * The default set of icons that are available to use in the UI components.
@@ -6835,9 +6836,7 @@ export declare const DEFAULT_COMPOSITE_ICONS: {
6835
6836
  DefaultCustomButton?: JSX.Element | undefined;
6836
6837
  DtmfDialpadButton?: JSX.Element | undefined;
6837
6838
  PhoneNumberButton?: JSX.Element | undefined;
6838
- JoinByPhoneDialStepIcon?: JSX.Element | undefined;
6839
- JoinByPhoneConferenceIdIcon?: JSX.Element | undefined;
6840
- JoinByPhoneWaitToBeAdmittedIcon?: JSX.Element | undefined;
6839
+ PhoneInfoWait?: JSX.Element | undefined;
6841
6840
  PeoplePaneMoreButton?: JSX.Element | undefined;
6842
6841
  StopAllSpotlightMenuButton?: JSX.Element | undefined;
6843
6842
  ChevronLeft?: JSX.Element | undefined;
@@ -7888,9 +7887,9 @@ export declare type IncomingCallManagement = {
7888
7887
  /**
7889
7888
  * @beta
7890
7889
  * @Remark This attribute doesn't exist on the {@link @azure/communication-calling#CallAgent} interface.
7891
- * @returns readonly array of {@link IncomingCall}
7890
+ * @returns readonly array of {@link DeclarativeIncomingCall}
7892
7891
  */
7893
- incomingCalls: ReadonlyArray<IncomingCall>;
7892
+ incomingCalls: ReadonlyArray<DeclarativeIncomingCall>;
7894
7893
  };
7895
7894
 
7896
7895
  /**
@@ -8329,35 +8328,35 @@ export declare interface MeetingConferencePhoneInfoModalStrings {
8329
8328
  /**
8330
8329
  * Header for the phone info modal
8331
8330
  */
8332
- meetingConferencePhoneInfoModalTitle: string;
8331
+ meetingConferencePhoneInfoModalTitle?: string;
8333
8332
  /**
8334
8333
  * Phone number instruction
8335
8334
  */
8336
- meetingConferencePhoneInfoModalDialIn: string;
8335
+ meetingConferencePhoneInfoModalDialIn?: string;
8337
8336
  /**
8338
8337
  * Meeting ID instruction
8339
8338
  */
8340
- meetingConferencePhoneInfoModalMeetingId: string;
8339
+ meetingConferencePhoneInfoModalMeetingId?: string;
8341
8340
  /**
8342
8341
  * Wait for phone connection
8343
8342
  */
8344
- meetingConferencePhoneInfoModalWait: string;
8343
+ meetingConferencePhoneInfoModalWait?: string;
8345
8344
  /**
8346
8345
  * Toll Free Phone Label
8347
8346
  */
8348
- meetingConferencePhoneInfoModalTollFree: string;
8347
+ meetingConferencePhoneInfoModalTollFree?: string;
8349
8348
  /**
8350
8349
  * Toll Phone Label
8351
8350
  */
8352
- meetingConferencePhoneInfoModalToll: string;
8351
+ meetingConferencePhoneInfoModalToll?: string;
8353
8352
  /**
8354
8353
  * Toll Phone Label without geo data
8355
8354
  */
8356
- meetingConferencePhoneInfoModalTollGeoData: string;
8355
+ meetingConferencePhoneInfoModalTollGeoData?: string;
8357
8356
  /**
8358
8357
  * No phone number available message
8359
8358
  */
8360
- meetingConferencePhoneInfoModalNoPhoneAvailable: string;
8359
+ meetingConferencePhoneInfoModalNoPhoneAvailable?: string;
8361
8360
  }
8362
8361
 
8363
8362
  /**
@@ -8839,7 +8838,7 @@ export declare type MessageThreadProps = {
8839
8838
  * Options to enable rich text editor for the edit box.
8840
8839
  * @beta
8841
8840
  */
8842
- richTextEditorOptions?: RichTextEditBoxOptions;
8841
+ richTextEditorOptions?: RichTextEditorOptions;
8843
8842
  };
8844
8843
 
8845
8844
  /**
@@ -8965,12 +8964,10 @@ export declare interface MessageThreadStyles extends BaseCustomStyles {
8965
8964
  *
8966
8965
  * @beta
8967
8966
  */
8968
- export declare interface MessagingPolicy {
8969
- /**
8970
- * Boolean to track whether or not messages are restricted to only text.
8971
- * */
8967
+ export declare type MessagingPolicy = {
8968
+ /** Boolean to track whether or not messages are restricted to only text. */
8972
8969
  textOnlyChat?: boolean;
8973
- }
8970
+ };
8974
8971
 
8975
8972
  /**
8976
8973
  * A button to turn microphone on / off.
@@ -10403,27 +10400,6 @@ export declare type ResourceFetchResult = {
10403
10400
  error?: Error;
10404
10401
  };
10405
10402
 
10406
- /**
10407
- * Options for the rich text editor edit box configuration.
10408
- *
10409
- * @beta
10410
- */
10411
- export declare interface RichTextEditBoxOptions extends RichTextEditorOptions {
10412
- /**
10413
- * Optional callback to upload an inline image in the rich text editor.
10414
- */
10415
- onUploadInlineImage?: (imageUrl: string, imageFileName: string, messageId: string) => void;
10416
- /**
10417
- * Optional callback to remove the attachment upload or delete the image before sending.
10418
- */
10419
- onCancelInlineImageUpload?: (imageId: string, messageId: string) => void;
10420
- /**
10421
- * Optional Record of type {@link AttachmentMetadataInProgress}
10422
- * to render inline images being uploaded in the MessageThread's edit box.
10423
- */
10424
- messagesImageUploadsInProgress?: Record<string, AttachmentMetadataInProgress[]>;
10425
- }
10426
-
10427
10403
  /**
10428
10404
  * Options for the rich text editor configuration.
10429
10405
  *
@@ -10436,21 +10412,6 @@ export declare interface RichTextEditorOptions {
10436
10412
  onPaste?: (event: {
10437
10413
  content: DocumentFragment;
10438
10414
  }) => void;
10439
- }
10440
-
10441
- /**
10442
- * A component to render SendBox with Rich Text Editor support.
10443
- *
10444
- * @beta
10445
- */
10446
- export declare const RichTextSendBox: (props: RichTextSendBoxProps) => JSX.Element;
10447
-
10448
- /**
10449
- * Options for the rich text editor send box configuration.
10450
- *
10451
- * @beta
10452
- */
10453
- export declare interface RichTextSendBoxOptions extends RichTextEditorOptions {
10454
10415
  /**
10455
10416
  * Optional callback to upload an inline image in the rich text editor.
10456
10417
  */
@@ -10460,12 +10421,19 @@ export declare interface RichTextSendBoxOptions extends RichTextEditorOptions {
10460
10421
  */
10461
10422
  onCancelInlineImageUpload?: (imageId: string) => void;
10462
10423
  /**
10463
- * Optional Array of type {@link AttachmentMetadataInProgress}
10424
+ * Optional array of type {@link AttachmentMetadataInProgress}
10464
10425
  * to render inline images being uploaded in the RichTextSendBox.
10465
10426
  */
10466
10427
  imageUploadsInProgress?: AttachmentMetadataInProgress[];
10467
10428
  }
10468
10429
 
10430
+ /**
10431
+ * A component to render SendBox with Rich Text Editor support.
10432
+ *
10433
+ * @beta
10434
+ */
10435
+ export declare const RichTextSendBox: (props: RichTextSendBoxProps) => JSX.Element;
10436
+
10469
10437
  /**
10470
10438
  * Props for {@link RichTextSendBox}.
10471
10439
  *
@@ -10624,22 +10592,6 @@ export declare interface RichTextStrings {
10624
10592
  * Text for the rich text toolbar more button.
10625
10593
  */
10626
10594
  richTextToolbarMoreButtonAriaLabel: string;
10627
- /**
10628
- * Text for announcement when a new bulleted list item is added.
10629
- */
10630
- richTextNewBulletedListItemAnnouncement: string;
10631
- /**
10632
- * Text for announcement when a new numbered list item is added.
10633
- */
10634
- richTextNewNumberedListItemAnnouncement: string;
10635
- /**
10636
- * Text for announcement when the bulleted list style is applied.
10637
- */
10638
- richTextBulletedListAppliedAnnouncement: string;
10639
- /**
10640
- * Text for announcement when the numbered list style is applied.
10641
- */
10642
- richTextNumberedListAppliedAnnouncement: string;
10643
10595
  }
10644
10596
 
10645
10597
  /**
@@ -11562,19 +11514,6 @@ export declare interface TeamsCallingHandlers extends CommonCallingHandlers {
11562
11514
  onStartCall: (participants: CommunicationIdentifier[], options?: StartCallOptions) => undefined | /* @conditional-compile-remove(teams-identity-support) */ TeamsCall;
11563
11515
  }
11564
11516
 
11565
- /**
11566
- * @beta
11567
- * Proxies the {@link @azure/communication-calling#TeamsIncomingCall} interface.
11568
- */
11569
- export declare type TeamsIncomingCallManagement = {
11570
- /**
11571
- * @beta
11572
- * @Remark This attribute doesn't exist on the {@link @azure/communication-calling#TeamsCallAgent} interface.
11573
- * @returns readonly array of {@link DeclarativeTeamsIncomingCall}
11574
- */
11575
- incomingCalls: ReadonlyArray<TeamsIncomingCall>;
11576
- };
11577
-
11578
11517
  /**
11579
11518
  * Arguments for creating the Azure Communication Services implementation of {@link TeamsCallAdapter}.
11580
11519
  *
@@ -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-BJO_NOTU.js');
7
+ var index = require('./index-BSczaURy.js');
8
8
  var React = require('react');
9
9
  require('react-dom/client');
10
10
  require('@azure/communication-chat');
@@ -51,30 +51,7 @@ const ChatMessageComponentAsRichTextEditBox = (props) => {
51
51
  imageUploadsInProgress,
52
52
  /* @conditional-compile-remove(rich-text-editor-image-upload) */
53
53
  onCancelInlineImageUpload } = props;
54
- const initialContent = React.useMemo(() => {
55
- /* @conditional-compile-remove(rich-text-editor-image-upload) */
56
- const content = message.content;
57
- /* @conditional-compile-remove(rich-text-editor-image-upload) */
58
- const document = new DOMParser().parseFromString(content !== null && content !== void 0 ? content : '', 'text/html');
59
- // The broken image element is a div element with all the attributes of the original image element.
60
- // We need to convert it to a img element so the Rooster knows how to render it.
61
- // And we need to copy over all the attributes such as id, width, etc.
62
- // which is needed for sending the message with the images correctly.
63
- /* @conditional-compile-remove(rich-text-editor-image-upload) */
64
- document.querySelectorAll('.broken-image-wrapper').forEach((brokenImage) => {
65
- var _a;
66
- const imageElement = document.createElement('img');
67
- const attributes = brokenImage.attributes;
68
- for (const attribute of attributes) {
69
- imageElement.setAttribute(attribute.name, attribute.value);
70
- }
71
- imageElement.src = index.BROKEN_IMAGE_SVG_DATA;
72
- (_a = brokenImage.parentElement) === null || _a === void 0 ? void 0 : _a.replaceChild(imageElement, brokenImage);
73
- });
74
- /* @conditional-compile-remove(rich-text-editor-image-upload) */
75
- return document.body.innerHTML;
76
- }, [message]);
77
- const [textValue, setTextValue] = React.useState(initialContent || '');
54
+ const [textValue, setTextValue] = React.useState(message.content || '');
78
55
  /* @conditional-compile-remove(file-sharing-acs) */
79
56
  const [attachmentMetadata, handleAttachmentAction] = React.useReducer(index.attachmentMetadataReducer, (_a = index.getMessageWithAttachmentMetadata(message)) !== null && _a !== void 0 ? _a : []);
80
57
  /* @conditional-compile-remove(rich-text-editor-image-upload) */
@@ -84,11 +61,6 @@ const ChatMessageComponentAsRichTextEditBox = (props) => {
84
61
  const messageState = React.useMemo(() => {
85
62
  return index.getMessageState(textValue, /* @conditional-compile-remove(file-sharing-acs) */ attachmentMetadata !== null && attachmentMetadata !== void 0 ? attachmentMetadata : []);
86
63
  }, [/* @conditional-compile-remove(file-sharing-acs) */ attachmentMetadata, textValue]);
87
- /* @conditional-compile-remove(rich-text-editor-image-upload) */
88
- const imageUploadErrorMessage = React.useMemo(() => {
89
- var _a, _b;
90
- return (_b = (_a = imageUploadsInProgress === null || imageUploadsInProgress === void 0 ? void 0 : imageUploadsInProgress.filter((image) => image.error).pop()) === null || _a === void 0 ? void 0 : _a.error) === null || _b === void 0 ? void 0 : _b.message;
91
- }, [imageUploadsInProgress]);
92
64
  const submitEnabled = messageState === 'OK';
93
65
  const editContainerStyles = index.useChatMessageRichTextEditContainerStyles();
94
66
  const chatMyMessageStyles = index.useChatMyMessageStyles();
@@ -133,13 +105,8 @@ const ChatMessageComponentAsRichTextEditBox = (props) => {
133
105
  }
134
106
  let content = textValue;
135
107
  /* @conditional-compile-remove(rich-text-editor-image-upload) */
136
- content = index.removeBrokenImageContent(content);
137
- /* @conditional-compile-remove(rich-text-editor-image-upload) */
138
108
  if (index.isAttachmentUploadCompleted(imageUploadsInProgress)) {
139
- index.insertImagesToContentString(textValue, imageUploadsInProgress, (content) => {
140
- onSubmit(content, /* @conditional-compile-remove(file-sharing-acs) */ attachmentMetadata || []);
141
- });
142
- return;
109
+ content = index.insertImagesToContentString(textValue, imageUploadsInProgress);
143
110
  }
144
111
  // it's very important to pass an empty attachment here
145
112
  // so when user removes all attachments, UI can reflect it instantly
@@ -199,40 +166,24 @@ const ChatMessageComponentAsRichTextEditBox = (props) => {
199
166
  const onChangeHandler = React.useCallback((content,
200
167
  /* @conditional-compile-remove(rich-text-editor-image-upload) */ imageSrcArray) => {
201
168
  /* @conditional-compile-remove(rich-text-editor-image-upload) */
202
- index.cancelInlineImageUpload({
203
- imageSrcArray,
204
- imageUploadsInProgress,
205
- messageId: message.messageId,
206
- editBoxOnCancelInlineImageUpload: onCancelInlineImageUpload,
207
- sendBoxOnCancelInlineImageUpload: undefined
208
- });
169
+ index.cancelInlineImageUpload(imageSrcArray, imageUploadsInProgress, onCancelInlineImageUpload);
209
170
  setText(content);
210
171
  }, [
211
172
  setText,
212
173
  /* @conditional-compile-remove(rich-text-editor-image-upload) */ imageUploadsInProgress,
213
- /* @conditional-compile-remove(rich-text-editor-image-upload) */ onCancelInlineImageUpload,
214
- /* @conditional-compile-remove(rich-text-editor-image-upload) */ message.messageId
174
+ /* @conditional-compile-remove(rich-text-editor-image-upload) */ onCancelInlineImageUpload
215
175
  ]);
216
176
  const getContent = () => {
217
177
  return (React.createElement(react.Stack, { className: react.mergeStyles(index.editBoxWidthStyles) },
218
178
  React.createElement(index.RichTextSendBoxErrors, { textTooLongMessage: textTooLongMessage, systemMessage: message.failureReason,
219
- /* @conditional-compile-remove(rich-text-editor-image-upload) */ attachmentUploadsPendingError: attachmentUploadsPendingError,
220
- /* @conditional-compile-remove(rich-text-editor-image-upload) */
221
- attachmentProgressError: imageUploadErrorMessage
222
- ? {
223
- message: imageUploadErrorMessage,
224
- timestamp: Date.now()
225
- }
226
- : undefined }),
227
- React.createElement(index.RichTextInputBoxComponent, { placeholderText: strings.editBoxPlaceholderText, onChange: onChangeHandler, editorComponentRef: editTextFieldRef, initialContent: initialContent, strings: richTextLocaleStrings, disabled: false, actionComponents: actionButtons, richTextEditorStyleProps: index.editBoxRichTextEditorStyle, isHorizontalLayoutDisabled: true,
179
+ /* @conditional-compile-remove(rich-text-editor-image-upload) */ attachmentUploadsPendingError: attachmentUploadsPendingError }),
180
+ React.createElement(index.RichTextInputBoxComponent, { placeholderText: strings.editBoxPlaceholderText, onChange: onChangeHandler, editorComponentRef: editTextFieldRef, initialContent: message.content, strings: richTextLocaleStrings, disabled: false, actionComponents: actionButtons, richTextEditorStyleProps: index.editBoxRichTextEditorStyle, isHorizontalLayoutDisabled: true,
228
181
  /* @conditional-compile-remove(file-sharing-acs) */
229
182
  onRenderAttachmentUploads: onRenderAttachmentUploads,
230
183
  /* @conditional-compile-remove(rich-text-editor-image-upload) */
231
184
  onPaste: onPaste,
232
185
  /* @conditional-compile-remove(rich-text-editor-image-upload) */
233
- onUploadInlineImage: (imageUrl, imageFileName) => {
234
- onUploadInlineImage && onUploadInlineImage(imageUrl, imageFileName, message.messageId);
235
- } })));
186
+ onUploadInlineImage: onUploadInlineImage })));
236
187
  };
237
188
  const attached = message.attached === true ? 'center' : message.attached === 'bottom' ? 'bottom' : 'top';
238
189
  return (React.createElement(reactChat.ChatMyMessage, { attached: attached, root: {
@@ -246,4 +197,4 @@ const ChatMessageComponentAsRichTextEditBox = (props) => {
246
197
 
247
198
  exports.ChatMessageComponentAsRichTextEditBox = ChatMessageComponentAsRichTextEditBox;
248
199
  exports.default = ChatMessageComponentAsRichTextEditBox;
249
- //# sourceMappingURL=ChatMessageComponentAsRichTextEditBox-D4ctXnw1.js.map
200
+ //# sourceMappingURL=ChatMessageComponentAsRichTextEditBox-CmXCpkwp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatMessageComponentAsRichTextEditBox-CmXCpkwp.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 } from '../../utils/SendBoxUtils';\n/* @conditional-compile-remove(rich-text-editor-image-upload) */\nimport {\n cancelInlineImageUpload,\n hasIncompleteAttachmentUploads,\n insertImagesToContentString,\n isAttachmentUploadCompleted\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 } from '../../SendBoxErrorBar';\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 onCancelInlineImageUpload?: (imageId: string) => void;\n /* @conditional-compile-remove(rich-text-editor-image-upload) */\n onUploadInlineImage?: (imageUrl: string, imageFileName: string) => void;\n /* @conditional-compile-remove(rich-text-editor-image-upload) */\n imageUploadsInProgress?: 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 onUploadInlineImage,\n /* @conditional-compile-remove(rich-text-editor-image-upload) */\n imageUploadsInProgress,\n /* @conditional-compile-remove(rich-text-editor-image-upload) */\n onCancelInlineImageUpload\n } = props;\n\n const [textValue, setTextValue] = useState<string>(message.content || '');\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 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 ? _formatString(strings.editBoxTextLimit, { limitNumber: `${MAXIMUM_LENGTH_OF_MESSAGE}` })\n : undefined;\n }, [messageState, strings.editBoxTextLimit]);\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 // 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(imageUploadsInProgress)) {\n setAttachmentUploadsPendingError({ message: strings.attachmentUploadsPendingError, timestamp: Date.now() });\n return;\n }\n\n let content = textValue;\n /* @conditional-compile-remove(rich-text-editor-image-upload) */\n if (isAttachmentUploadCompleted(imageUploadsInProgress)) {\n content = insertImagesToContentString(textValue, imageUploadsInProgress);\n }\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 submitEnabled,\n /* @conditional-compile-remove(rich-text-editor-image-upload) */\n imageUploadsInProgress,\n textValue,\n /* @conditional-compile-remove(rich-text-editor-image-upload) */\n strings.attachmentUploadsPendingError,\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) */ imageSrcArray?: Array<string>\n ) => {\n /* @conditional-compile-remove(rich-text-editor-image-upload) */\n cancelInlineImageUpload(imageSrcArray, imageUploadsInProgress, onCancelInlineImageUpload);\n setText(content);\n },\n [\n setText,\n /* @conditional-compile-remove(rich-text-editor-image-upload) */ imageUploadsInProgress,\n /* @conditional-compile-remove(rich-text-editor-image-upload) */ onCancelInlineImageUpload\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 />\n <RichTextInputBoxComponent\n placeholderText={strings.editBoxPlaceholderText}\n onChange={onChangeHandler}\n editorComponentRef={editTextFieldRef}\n initialContent={message.content}\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 onUploadInlineImage={onUploadInlineImage}\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","useReducer","attachmentMetadataReducer","getMessageWithAttachmentMetadata","useTheme","useMemo","getMessageState","useChatMessageRichTextEditContainerStyles","useChatMyMessageStyles","useLocale","useCallback","useEffect","_formatString","MAXIMUM_LENGTH_OF_MESSAGE","mergeStyles","richTextEditBoxActionButtonIcon","onRenderCancelIcon","onRenderSubmitIcon","doesMessageContainMultipleAttachments","hasIncompleteAttachmentUploads","isAttachmentUploadCompleted","insertImagesToContentString","Stack","InputBoxButton","richTextActionButtonsStyle","attachmentUploadCardsStyles","FluentV9ThemeProvider","_AttachmentUploadCards","cancelInlineImageUpload","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-BJO_NOTU.js');
4
+ var index = require('./index-BSczaURy.js');
5
5
  require('@fluentui/react');
6
6
  require('@fluentui/react-components');
7
7
  require('@fluentui-contrib/react-chat');
@@ -51,4 +51,4 @@ const RichTextSendBoxWrapper = (props) => {
51
51
  };
52
52
 
53
53
  exports.RichTextSendBoxWrapper = RichTextSendBoxWrapper;
54
- //# sourceMappingURL=RichTextSendBoxWrapper-F6eqVXer.js.map
54
+ //# sourceMappingURL=RichTextSendBoxWrapper-DI4k0qyf.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RichTextSendBoxWrapper-F6eqVXer.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-DI4k0qyf.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;;;;"}