@azure/communication-react 1.18.0-alpha-202407191547 → 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 (108) hide show
  1. package/dist/communication-react.d.ts +15 -23
  2. package/dist/dist-cjs/communication-react/{ChatMessageComponentAsRichTextEditBox-ChK7xe6Z.js → ChatMessageComponentAsRichTextEditBox-CmXCpkwp.js} +5 -33
  3. package/dist/dist-cjs/communication-react/ChatMessageComponentAsRichTextEditBox-CmXCpkwp.js.map +1 -0
  4. package/dist/dist-cjs/communication-react/{RichTextSendBoxWrapper-BLCHZv_g.js → RichTextSendBoxWrapper-DI4k0qyf.js} +2 -2
  5. package/dist/dist-cjs/communication-react/{RichTextSendBoxWrapper-BLCHZv_g.js.map → RichTextSendBoxWrapper-DI4k0qyf.js.map} +1 -1
  6. package/dist/dist-cjs/communication-react/{index-BWVQuckY.js → index-BSczaURy.js} +184 -249
  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/CallClientState.d.ts +1 -3
  17. package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
  18. package/dist/dist-esm/calling-stateful-client/src/CallContext.js +2 -2
  19. package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
  20. package/dist/dist-esm/calling-stateful-client/src/Converter.js +1 -1
  21. package/dist/dist-esm/calling-stateful-client/src/Converter.js.map +1 -1
  22. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.d.ts +3 -5
  23. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.js.map +1 -1
  24. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentCard.js +8 -14
  25. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentCard.js.map +1 -1
  26. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.js +4 -35
  27. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.js.map +1 -1
  28. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.js +1 -6
  29. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.js.map +1 -1
  30. package/dist/dist-esm/react-components/src/components/MeetingConferencePhoneInfo.d.ts +8 -8
  31. package/dist/dist-esm/react-components/src/components/MeetingConferencePhoneInfo.js +4 -4
  32. package/dist/dist-esm/react-components/src/components/MeetingConferencePhoneInfo.js.map +1 -1
  33. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/CopyPastePlugin.js +1 -0
  34. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/CopyPastePlugin.js.map +1 -1
  35. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.js +14 -21
  36. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.js.map +1 -1
  37. package/dist/dist-esm/react-components/src/components/styles/AttachmentCard.styles.d.ts +2 -2
  38. package/dist/dist-esm/react-components/src/components/styles/AttachmentCard.styles.js +17 -15
  39. package/dist/dist-esm/react-components/src/components/styles/AttachmentCard.styles.js.map +1 -1
  40. package/dist/dist-esm/react-components/src/components/styles/Common.style.d.ts +1 -1
  41. package/dist/dist-esm/react-components/src/components/styles/Common.style.js +1 -2
  42. package/dist/dist-esm/react-components/src/components/styles/Common.style.js.map +1 -1
  43. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js +2 -5
  44. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js.map +1 -1
  45. package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.js +3 -0
  46. package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.js.map +1 -1
  47. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.d.ts +2 -6
  48. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js +12 -57
  49. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js.map +1 -1
  50. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.d.ts +1 -1
  51. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.js.map +1 -1
  52. package/dist/dist-esm/react-components/src/localization/locales/ar-SA/strings.json +64 -102
  53. package/dist/dist-esm/react-components/src/localization/locales/cs-CZ/strings.json +62 -100
  54. package/dist/dist-esm/react-components/src/localization/locales/de-DE/strings.json +62 -100
  55. package/dist/dist-esm/react-components/src/localization/locales/en-GB/strings.json +62 -100
  56. package/dist/dist-esm/react-components/src/localization/locales/en-US/strings.json +1 -1
  57. package/dist/dist-esm/react-components/src/localization/locales/es-ES/strings.json +62 -100
  58. package/dist/dist-esm/react-components/src/localization/locales/fi-FI/strings.json +62 -100
  59. package/dist/dist-esm/react-components/src/localization/locales/fr-FR/strings.json +65 -103
  60. package/dist/dist-esm/react-components/src/localization/locales/he-IL/strings.json +62 -100
  61. package/dist/dist-esm/react-components/src/localization/locales/it-IT/strings.json +62 -100
  62. package/dist/dist-esm/react-components/src/localization/locales/ja-JP/strings.json +64 -102
  63. package/dist/dist-esm/react-components/src/localization/locales/ko-KR/strings.json +69 -107
  64. package/dist/dist-esm/react-components/src/localization/locales/nb-NO/strings.json +62 -100
  65. package/dist/dist-esm/react-components/src/localization/locales/nl-NL/strings.json +68 -106
  66. package/dist/dist-esm/react-components/src/localization/locales/pl-PL/strings.json +67 -105
  67. package/dist/dist-esm/react-components/src/localization/locales/pt-BR/strings.json +65 -103
  68. package/dist/dist-esm/react-components/src/localization/locales/ru-RU/strings.json +63 -101
  69. package/dist/dist-esm/react-components/src/localization/locales/sv-SE/strings.json +62 -100
  70. package/dist/dist-esm/react-components/src/localization/locales/tr-TR/strings.json +63 -101
  71. package/dist/dist-esm/react-components/src/localization/locales/zh-CN/strings.json +64 -102
  72. package/dist/dist-esm/react-components/src/localization/locales/zh-TW/strings.json +63 -101
  73. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js +4 -4
  74. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js.map +1 -1
  75. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useMeetingPhoneInfo.js +1 -1
  76. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useMeetingPhoneInfo.js.map +1 -1
  77. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js +1 -1
  78. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js.map +1 -1
  79. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js +10 -10
  80. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js.map +1 -1
  81. package/dist/dist-esm/react-composites/src/composites/common/MeetingPhoneInfoPaneContent.js +4 -4
  82. package/dist/dist-esm/react-composites/src/composites/common/MeetingPhoneInfoPaneContent.js.map +1 -1
  83. package/dist/dist-esm/react-composites/src/composites/common/icons.d.ts +2 -6
  84. package/dist/dist-esm/react-composites/src/composites/common/icons.js +1 -5
  85. package/dist/dist-esm/react-composites/src/composites/common/icons.js.map +1 -1
  86. package/dist/dist-esm/react-composites/src/composites/localization/locales/ar-SA/strings.json +5 -10
  87. package/dist/dist-esm/react-composites/src/composites/localization/locales/cs-CZ/strings.json +1 -6
  88. package/dist/dist-esm/react-composites/src/composites/localization/locales/de-DE/strings.json +1 -6
  89. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-GB/strings.json +1 -6
  90. package/dist/dist-esm/react-composites/src/composites/localization/locales/es-ES/strings.json +1 -6
  91. package/dist/dist-esm/react-composites/src/composites/localization/locales/fi-FI/strings.json +5 -10
  92. package/dist/dist-esm/react-composites/src/composites/localization/locales/fr-FR/strings.json +5 -10
  93. package/dist/dist-esm/react-composites/src/composites/localization/locales/he-IL/strings.json +5 -10
  94. package/dist/dist-esm/react-composites/src/composites/localization/locales/it-IT/strings.json +5 -10
  95. package/dist/dist-esm/react-composites/src/composites/localization/locales/ja-JP/strings.json +1 -6
  96. package/dist/dist-esm/react-composites/src/composites/localization/locales/ko-KR/strings.json +5 -10
  97. package/dist/dist-esm/react-composites/src/composites/localization/locales/nb-NO/strings.json +1 -6
  98. package/dist/dist-esm/react-composites/src/composites/localization/locales/nl-NL/strings.json +1 -6
  99. package/dist/dist-esm/react-composites/src/composites/localization/locales/pl-PL/strings.json +1 -6
  100. package/dist/dist-esm/react-composites/src/composites/localization/locales/pt-BR/strings.json +5 -10
  101. package/dist/dist-esm/react-composites/src/composites/localization/locales/ru-RU/strings.json +1 -6
  102. package/dist/dist-esm/react-composites/src/composites/localization/locales/sv-SE/strings.json +5 -10
  103. package/dist/dist-esm/react-composites/src/composites/localization/locales/tr-TR/strings.json +1 -6
  104. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-CN/strings.json +5 -10
  105. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-TW/strings.json +5 -10
  106. package/package.json +7 -7
  107. package/dist/dist-cjs/communication-react/ChatMessageComponentAsRichTextEditBox-ChK7xe6Z.js.map +0 -1
  108. package/dist/dist-cjs/communication-react/index-BWVQuckY.js.map +0 -1
@@ -338,16 +338,11 @@
338
338
  "endCallConfirmDialogTitle": "לסיים את השיחה?",
339
339
  "endCallConfirmDialogContent": "פעולה זאת תסיים את השיחה עבור כל המשתתפים.",
340
340
  "invalidMeetingIdentifier": "מזהה פגישה או קוד סיסמה לא חוקיים",
341
- "pinParticipantMenuLabel": "הצמד עבורי",
342
- "pinParticipantLimitReachedMenuLabel": "הצמדה (הגעת למגבלה)",
343
- "unpinParticipantMenuLabel": "בטל הצמדה",
344
- "pinParticipantMenuItemAriaLabel": "הצמד",
345
- "unpinParticipantMenuItemAriaLabel": "בטל הצמדה",
346
- "muteAllMenuLabel": "השתק הכל",
347
- "muteAllDialogTitle": "האם להשתיק את כולם?",
348
- "muteAllDialogContent": "פעולה זו תשתיק את כל האנשים בפגישה חוץ ממך.",
349
- "muteAllConfirmButtonLabel": "השתק הכל",
350
- "muteAllCancelButtonLabel": "ביטול"
341
+ "pinParticipantMenuLabel": "Pin for me",
342
+ "pinParticipantLimitReachedMenuLabel": "Pin (limit reached)",
343
+ "unpinParticipantMenuLabel": "Unpin",
344
+ "pinParticipantMenuItemAriaLabel": "Pin",
345
+ "unpinParticipantMenuItemAriaLabel": "Unpin"
351
346
  },
352
347
  "chat": {
353
348
  "chatListHeader": "בצ'אט זה",
@@ -338,16 +338,11 @@
338
338
  "endCallConfirmDialogTitle": "Vuoi terminare la chiamata?",
339
339
  "endCallConfirmDialogContent": "La chiamata terminerà per tutti gli utenti.",
340
340
  "invalidMeetingIdentifier": "ID riunione o passcode non valido",
341
- "pinParticipantMenuLabel": "Aggiungi per me",
342
- "pinParticipantLimitReachedMenuLabel": "Segnaposto (limite raggiunto)",
343
- "unpinParticipantMenuLabel": "Rimuovere dall’alto",
344
- "pinParticipantMenuItemAriaLabel": "Aggiungi in alto",
345
- "unpinParticipantMenuItemAriaLabel": "Rimuovere dall’alto",
346
- "muteAllMenuLabel": "Disattivare l'audio di tutti",
347
- "muteAllDialogTitle": "Disattivare l'audio di tutti?",
348
- "muteAllDialogContent": "Questa operazione disattiverà l'audio di tutte le persone nella riunione, tranne te.",
349
- "muteAllConfirmButtonLabel": "Disattivare l'audio di tutti",
350
- "muteAllCancelButtonLabel": "Annullare"
341
+ "pinParticipantMenuLabel": "Pin for me",
342
+ "pinParticipantLimitReachedMenuLabel": "Pin (limit reached)",
343
+ "unpinParticipantMenuLabel": "Unpin",
344
+ "pinParticipantMenuItemAriaLabel": "Pin",
345
+ "unpinParticipantMenuItemAriaLabel": "Unpin"
351
346
  },
352
347
  "chat": {
353
348
  "chatListHeader": "In questa chat",
@@ -342,12 +342,7 @@
342
342
  "pinParticipantLimitReachedMenuLabel": "ピン留め (上限に達しました)",
343
343
  "unpinParticipantMenuLabel": "ピン留めを外す",
344
344
  "pinParticipantMenuItemAriaLabel": "ピン留めします",
345
- "unpinParticipantMenuItemAriaLabel": "ピン留めを外す",
346
- "muteAllMenuLabel": "全員をミュート",
347
- "muteAllDialogTitle": "全員をミュートにしますか?",
348
- "muteAllDialogContent": "会議に参加している自分以外の全員がミュートになります。",
349
- "muteAllConfirmButtonLabel": "全員をミュート",
350
- "muteAllCancelButtonLabel": "取り消す"
345
+ "unpinParticipantMenuItemAriaLabel": "ピン留めを外す"
351
346
  },
352
347
  "chat": {
353
348
  "chatListHeader": "このチャット内",
@@ -338,16 +338,11 @@
338
338
  "endCallConfirmDialogTitle": "통화를 종료하시겠습니까?",
339
339
  "endCallConfirmDialogContent": "모든 사용자의 통화가 종료됩니다.",
340
340
  "invalidMeetingIdentifier": "유효하지 않은 모임 ID 또는 암호",
341
- "pinParticipantMenuLabel": "고정",
342
- "pinParticipantLimitReachedMenuLabel": "고정(제한에 도달함)",
343
- "unpinParticipantMenuLabel": "고정 해제",
344
- "pinParticipantMenuItemAriaLabel": "고정",
345
- "unpinParticipantMenuItemAriaLabel": "고정 해제",
346
- "muteAllMenuLabel": "모두 음소거",
347
- "muteAllDialogTitle": "모든 사용자를 음소거하시겠습니까?",
348
- "muteAllDialogContent": "나를 제외한 모임 참여자를 모두 음소거합니다.",
349
- "muteAllConfirmButtonLabel": "모두 음소거",
350
- "muteAllCancelButtonLabel": "취소"
341
+ "pinParticipantMenuLabel": "Pin for me",
342
+ "pinParticipantLimitReachedMenuLabel": "Pin (limit reached)",
343
+ "unpinParticipantMenuLabel": "Unpin",
344
+ "pinParticipantMenuItemAriaLabel": "Pin",
345
+ "unpinParticipantMenuItemAriaLabel": "Unpin"
351
346
  },
352
347
  "chat": {
353
348
  "chatListHeader": "채팅 참가자",
@@ -342,12 +342,7 @@
342
342
  "pinParticipantLimitReachedMenuLabel": "Fest (grensen er nådd)",
343
343
  "unpinParticipantMenuLabel": "Løsne",
344
344
  "pinParticipantMenuItemAriaLabel": "Fest",
345
- "unpinParticipantMenuItemAriaLabel": "Løsne",
346
- "muteAllMenuLabel": "Demp alle",
347
- "muteAllDialogTitle": "Vil du dempe alle?",
348
- "muteAllDialogContent": "Dette demper alle i møtet, bortsett fra deg selv.",
349
- "muteAllConfirmButtonLabel": "Demp alle",
350
- "muteAllCancelButtonLabel": "Avbryt"
345
+ "unpinParticipantMenuItemAriaLabel": "Løsne"
351
346
  },
352
347
  "chat": {
353
348
  "chatListHeader": "I denne chatten",
@@ -342,12 +342,7 @@
342
342
  "pinParticipantLimitReachedMenuLabel": "Pin (limiet bereikt)",
343
343
  "unpinParticipantMenuLabel": "Losmaken",
344
344
  "pinParticipantMenuItemAriaLabel": "Vastmaken",
345
- "unpinParticipantMenuItemAriaLabel": "Losmaken",
346
- "muteAllMenuLabel": "Allen dempen",
347
- "muteAllDialogTitle": "Iedereen dempen?",
348
- "muteAllDialogContent": "Hiermee wordt iedereen in de vergadering gedempt, behalve u.",
349
- "muteAllConfirmButtonLabel": "Allen dempen",
350
- "muteAllCancelButtonLabel": "Annuleren"
345
+ "unpinParticipantMenuItemAriaLabel": "Losmaken"
351
346
  },
352
347
  "chat": {
353
348
  "chatListHeader": "In deze chat",
@@ -342,12 +342,7 @@
342
342
  "pinParticipantLimitReachedMenuLabel": "Przypięcie (osiągnięto limit)",
343
343
  "unpinParticipantMenuLabel": "Odepnij",
344
344
  "pinParticipantMenuItemAriaLabel": "Przypnij",
345
- "unpinParticipantMenuItemAriaLabel": "Odepnij",
346
- "muteAllMenuLabel": "Wycisz wszystkich",
347
- "muteAllDialogTitle": "Wyciszyć wszystkich?",
348
- "muteAllDialogContent": "Spowoduje to wyciszenie wszystkich osób na spotkaniu oprócz Ciebie.",
349
- "muteAllConfirmButtonLabel": "Wycisz wszystkich",
350
- "muteAllCancelButtonLabel": "Anuluj"
345
+ "unpinParticipantMenuItemAriaLabel": "Odepnij"
351
346
  },
352
347
  "chat": {
353
348
  "chatListHeader": "W tym czacie",
@@ -338,16 +338,11 @@
338
338
  "endCallConfirmDialogTitle": "Encerrar a chamada?",
339
339
  "endCallConfirmDialogContent": "Você encerrará a chamada para todos.",
340
340
  "invalidMeetingIdentifier": "ID ou senha de reunião inválida",
341
- "pinParticipantMenuLabel": "Fixar para mim",
342
- "pinParticipantLimitReachedMenuLabel": "Fixar (limite alcançado)",
343
- "unpinParticipantMenuLabel": "Desafixar",
344
- "pinParticipantMenuItemAriaLabel": "Fixar",
345
- "unpinParticipantMenuItemAriaLabel": "Desafixar",
346
- "muteAllMenuLabel": "Ativar mudo de todos",
347
- "muteAllDialogTitle": "Ativar mudo para todos?",
348
- "muteAllDialogContent": "Isso ativará o mudo para todas as pessoas na reunião, exceto para você.",
349
- "muteAllConfirmButtonLabel": "Ativar mudo de todos",
350
- "muteAllCancelButtonLabel": "Cancelar"
341
+ "pinParticipantMenuLabel": "Pin for me",
342
+ "pinParticipantLimitReachedMenuLabel": "Pin (limit reached)",
343
+ "unpinParticipantMenuLabel": "Unpin",
344
+ "pinParticipantMenuItemAriaLabel": "Pin",
345
+ "unpinParticipantMenuItemAriaLabel": "Unpin"
351
346
  },
352
347
  "chat": {
353
348
  "chatListHeader": "Neste chat",
@@ -342,12 +342,7 @@
342
342
  "pinParticipantLimitReachedMenuLabel": "Закрепить (достигнуто ограничение)",
343
343
  "unpinParticipantMenuLabel": "Открепить",
344
344
  "pinParticipantMenuItemAriaLabel": "Закрепить",
345
- "unpinParticipantMenuItemAriaLabel": "Открепить",
346
- "muteAllMenuLabel": "Отключить все микрофоны",
347
- "muteAllDialogTitle": "Отключить микрофоны всех участников?",
348
- "muteAllDialogContent": "Будут отключены микрофоны всех участников собрания, кроме вас.",
349
- "muteAllConfirmButtonLabel": "Отключить все микрофоны",
350
- "muteAllCancelButtonLabel": "Отмена"
345
+ "unpinParticipantMenuItemAriaLabel": "Открепить"
351
346
  },
352
347
  "chat": {
353
348
  "chatListHeader": "В этом чате",
@@ -338,16 +338,11 @@
338
338
  "endCallConfirmDialogTitle": "Vill du avsluta samtalet?",
339
339
  "endCallConfirmDialogContent": "Du avslutar samtalet för alla.",
340
340
  "invalidMeetingIdentifier": "Ogiltigt mötes-ID eller lösenord",
341
- "pinParticipantMenuLabel": "Fäst åt mig",
342
- "pinParticipantLimitReachedMenuLabel": "Fäst (gränsen har nåtts)",
343
- "unpinParticipantMenuLabel": "Ta bort",
344
- "pinParticipantMenuItemAriaLabel": "Fäst",
345
- "unpinParticipantMenuItemAriaLabel": "Ta bort",
346
- "muteAllMenuLabel": "Stäng av ljudet för alla",
347
- "muteAllDialogTitle": "Stäng av ljudet för alla?",
348
- "muteAllDialogContent": "Detta stänger av ljudet för alla i mötet utom för dig.",
349
- "muteAllConfirmButtonLabel": "Stäng av ljudet för alla",
350
- "muteAllCancelButtonLabel": "Avbryt"
341
+ "pinParticipantMenuLabel": "Pin for me",
342
+ "pinParticipantLimitReachedMenuLabel": "Pin (limit reached)",
343
+ "unpinParticipantMenuLabel": "Unpin",
344
+ "pinParticipantMenuItemAriaLabel": "Pin",
345
+ "unpinParticipantMenuItemAriaLabel": "Unpin"
351
346
  },
352
347
  "chat": {
353
348
  "chatListHeader": "I den här chatten",
@@ -342,12 +342,7 @@
342
342
  "pinParticipantLimitReachedMenuLabel": "Sabitleme (sınıra ulaşıldı)",
343
343
  "unpinParticipantMenuLabel": "Sabitlemeyi kaldır",
344
344
  "pinParticipantMenuItemAriaLabel": "Sabitle",
345
- "unpinParticipantMenuItemAriaLabel": "Sabitlemeyi kaldır",
346
- "muteAllMenuLabel": "Tümünü sessize al",
347
- "muteAllDialogTitle": "Herkesi sessize almak mı istiyorsunuz?",
348
- "muteAllDialogContent": "Bu, toplantıda sizin dışınızdaki herkesi sessize alır.",
349
- "muteAllConfirmButtonLabel": "Tümünü sessize al",
350
- "muteAllCancelButtonLabel": "İptal"
345
+ "unpinParticipantMenuItemAriaLabel": "Sabitlemeyi kaldır"
351
346
  },
352
347
  "chat": {
353
348
  "chatListHeader": "Bu sohbette",
@@ -338,16 +338,11 @@
338
338
  "endCallConfirmDialogTitle": "结束通话?",
339
339
  "endCallConfirmDialogContent": "你将结束所有人的通话。",
340
340
  "invalidMeetingIdentifier": "会议 ID 或密码无效",
341
- "pinParticipantMenuLabel": "为我固定",
342
- "pinParticipantLimitReachedMenuLabel": "固定(已达到上限)",
343
- "unpinParticipantMenuLabel": "取消固定",
344
- "pinParticipantMenuItemAriaLabel": "固定",
345
- "unpinParticipantMenuItemAriaLabel": "取消固定",
346
- "muteAllMenuLabel": "全部静音",
347
- "muteAllDialogTitle": "对所有人静音?",
348
- "muteAllDialogContent": "这会将会议中除你之外的所有人静音。",
349
- "muteAllConfirmButtonLabel": "全部静音",
350
- "muteAllCancelButtonLabel": "取消"
341
+ "pinParticipantMenuLabel": "Pin for me",
342
+ "pinParticipantLimitReachedMenuLabel": "Pin (limit reached)",
343
+ "unpinParticipantMenuLabel": "Unpin",
344
+ "pinParticipantMenuItemAriaLabel": "Pin",
345
+ "unpinParticipantMenuItemAriaLabel": "Unpin"
351
346
  },
352
347
  "chat": {
353
348
  "chatListHeader": "在此聊天中",
@@ -338,16 +338,11 @@
338
338
  "endCallConfirmDialogTitle": "結束通話?",
339
339
  "endCallConfirmDialogContent": "您將結束所有人的通話。",
340
340
  "invalidMeetingIdentifier": "會議標識碼或密碼無效",
341
- "pinParticipantMenuLabel": "為我釘選",
342
- "pinParticipantLimitReachedMenuLabel": "釘選 (已達到限制)",
343
- "unpinParticipantMenuLabel": "取消釘選",
344
- "pinParticipantMenuItemAriaLabel": "釘選",
345
- "unpinParticipantMenuItemAriaLabel": "取消釘選",
346
- "muteAllMenuLabel": "將所有人設為靜音",
347
- "muteAllDialogTitle": "將所有人設為靜音?",
348
- "muteAllDialogContent": "這會將會議中您以外的所有人設為靜音。",
349
- "muteAllConfirmButtonLabel": "將所有人設為靜音",
350
- "muteAllCancelButtonLabel": "取消"
341
+ "pinParticipantMenuLabel": "Pin for me",
342
+ "pinParticipantLimitReachedMenuLabel": "Pin (limit reached)",
343
+ "unpinParticipantMenuLabel": "Unpin",
344
+ "pinParticipantMenuItemAriaLabel": "Pin",
345
+ "unpinParticipantMenuItemAriaLabel": "Unpin"
351
346
  },
352
347
  "chat": {
353
348
  "chatListHeader": "在此聊天中",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@azure/communication-react",
3
- "version": "1.18.0-alpha-202407191547",
3
+ "version": "1.18.0-alpha-202407262302",
4
4
  "sideEffects": false,
5
5
  "description": "React library for building modern communication user experiences utilizing Azure Communication Services",
6
6
  "keywords": [
@@ -26,14 +26,14 @@
26
26
  "@azure/communication-common": "^2.3.1",
27
27
  "@azure/core-paging": "^1.5.0",
28
28
  "@azure/logger": "^1.0.4",
29
- "@fluentui/react-components": "^9.54.5",
30
- "@fluentui/react": "^8.119.1",
31
- "@fluentui/react-file-type-icons": "8.11.18",
32
- "@fluentui/react-hooks": "^8.8.10",
33
- "@fluentui/react-icons": "^2.0.249",
29
+ "@fluentui/react-components": "^9.47.3",
30
+ "@fluentui/react": "^8.117.1",
31
+ "@fluentui/react-file-type-icons": "8.11.16",
32
+ "@fluentui/react-hooks": "^8.7.0",
33
+ "@fluentui/react-icons": "^2.0.245",
34
34
  "@fluentui/react-window-provider": "^2.2.27",
35
35
  "@fluentui-contrib/react-chat": "0.1.10",
36
- "@griffel/react": "^1.5.24",
36
+ "@griffel/react": "^1.5.23",
37
37
  "copy-to-clipboard": "^3.3.1",
38
38
  "dompurify": "^3.1.5",
39
39
  "events": "^3.3.0",
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChatMessageComponentAsRichTextEditBox-ChK7xe6Z.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 removeBrokenImageContent\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/* @conditional-compile-remove(rich-text-editor-image-upload) */\nimport { BROKEN_IMAGE_SVG_DATA } from '../../styles/Common.style';\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 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 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 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\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 content = removeBrokenImageContent(content);\n /* @conditional-compile-remove(rich-text-editor-image-upload) */\n if (isAttachmentUploadCompleted(imageUploadsInProgress)) {\n insertImagesToContentString(textValue, imageUploadsInProgress, (content) => {\n onSubmit(content, /* @conditional-compile-remove(file-sharing-acs) */ attachmentMetadata || []);\n });\n return;\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={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 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":["useMemo","BROKEN_IMAGE_SVG_DATA","useState","useReducer","attachmentMetadataReducer","getMessageWithAttachmentMetadata","useTheme","getMessageState","useChatMessageRichTextEditContainerStyles","useChatMyMessageStyles","useLocale","useCallback","useEffect","_formatString","MAXIMUM_LENGTH_OF_MESSAGE","mergeStyles","richTextEditBoxActionButtonIcon","onRenderCancelIcon","onRenderSubmitIcon","doesMessageContainMultipleAttachments","hasIncompleteAttachmentUploads","removeBrokenImageContent","isAttachmentUploadCompleted","insertImagesToContentString","Stack","InputBoxButton","richTextActionButtonsStyle","attachmentUploadCardsStyles","FluentV9ThemeProvider","_AttachmentUploadCards","cancelInlineImageUpload","editBoxWidthStyles","RichTextSendBoxErrors","RichTextInputBoxComponent","editBoxRichTextEditorStyle","ChatMyMessage","mergeClasses"],"mappings":"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"}