@azure/communication-react 1.30.0 → 1.31.0-beta.1

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 (381) hide show
  1. package/dist/communication-react.d.ts +1373 -24
  2. package/dist/dist-cjs/communication-react/ChatMessageComponentAsRichTextEditBox-DdSFdo_m.js +213 -0
  3. package/dist/dist-cjs/communication-react/ChatMessageComponentAsRichTextEditBox-DdSFdo_m.js.map +1 -0
  4. package/dist/dist-cjs/communication-react/RichTextSendBoxWrapper-C2HrwCVY.js +49 -0
  5. package/dist/dist-cjs/communication-react/RichTextSendBoxWrapper-C2HrwCVY.js.map +1 -0
  6. package/dist/dist-cjs/communication-react/index-CH39vOsT.js +46344 -0
  7. package/dist/dist-cjs/communication-react/index-CH39vOsT.js.map +1 -0
  8. package/dist/dist-cjs/communication-react/index.js +174 -40373
  9. package/dist/dist-cjs/communication-react/index.js.map +1 -1
  10. package/dist/dist-esm/acs-ui-common/src/common.d.ts +13 -0
  11. package/dist/dist-esm/acs-ui-common/src/common.js.map +1 -1
  12. package/dist/dist-esm/acs-ui-common/src/constants.d.ts +5 -0
  13. package/dist/dist-esm/acs-ui-common/src/constants.js +5 -0
  14. package/dist/dist-esm/acs-ui-common/src/constants.js.map +1 -1
  15. package/dist/dist-esm/acs-ui-common/src/dataConversion.d.ts +6 -0
  16. package/dist/dist-esm/acs-ui-common/src/dataConversion.js +20 -0
  17. package/dist/dist-esm/acs-ui-common/src/dataConversion.js.map +1 -0
  18. package/dist/dist-esm/acs-ui-common/src/index.d.ts +4 -0
  19. package/dist/dist-esm/acs-ui-common/src/index.js +3 -0
  20. package/dist/dist-esm/acs-ui-common/src/index.js.map +1 -1
  21. package/dist/dist-esm/acs-ui-common/src/removeImageTags.d.ts +7 -0
  22. package/dist/dist-esm/acs-ui-common/src/removeImageTags.js +18 -0
  23. package/dist/dist-esm/acs-ui-common/src/removeImageTags.js.map +1 -0
  24. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
  25. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
  26. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js +2 -0
  27. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js.map +1 -1
  28. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.d.ts +2 -0
  29. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js +6 -0
  30. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js.map +1 -1
  31. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js +25 -1
  32. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js.map +1 -1
  33. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.d.ts +1 -0
  34. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js +3 -1
  35. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js.map +1 -1
  36. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js +4 -0
  37. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js.map +1 -1
  38. package/dist/dist-esm/calling-stateful-client/src/CallClientState.d.ts +42 -2
  39. package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
  40. package/dist/dist-esm/calling-stateful-client/src/CallContext.d.ts +6 -0
  41. package/dist/dist-esm/calling-stateful-client/src/CallContext.js +35 -0
  42. package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
  43. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.d.ts +4 -0
  44. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js +24 -4
  45. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js.map +1 -1
  46. package/dist/dist-esm/calling-stateful-client/src/Converter.js +3 -0
  47. package/dist/dist-esm/calling-stateful-client/src/Converter.js.map +1 -1
  48. package/dist/dist-esm/calling-stateful-client/src/LocalRecordingSubscriber.d.ts +17 -0
  49. package/dist/dist-esm/calling-stateful-client/src/LocalRecordingSubscriber.js +33 -0
  50. package/dist/dist-esm/calling-stateful-client/src/LocalRecordingSubscriber.js.map +1 -0
  51. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.d.ts +1 -0
  52. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.js +7 -1
  53. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.js.map +1 -1
  54. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js +17 -0
  55. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js.map +1 -1
  56. package/dist/dist-esm/calling-stateful-client/src/index-public.d.ts +1 -0
  57. package/dist/dist-esm/calling-stateful-client/src/index-public.js.map +1 -1
  58. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.d.ts +6 -2
  59. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js +36 -2
  60. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js.map +1 -1
  61. package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.d.ts +2 -1
  62. package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.js +4 -0
  63. package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  64. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js +25 -2
  65. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js.map +1 -1
  66. package/dist/dist-esm/chat-component-bindings/src/utils/getImageAttachmentsFromHTMLContent.d.ts +6 -0
  67. package/dist/dist-esm/chat-component-bindings/src/utils/getImageAttachmentsFromHTMLContent.js +20 -0
  68. package/dist/dist-esm/chat-component-bindings/src/utils/getImageAttachmentsFromHTMLContent.js.map +1 -0
  69. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js +3 -3
  70. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js.map +1 -1
  71. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.d.ts +15 -1
  72. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.js.map +1 -1
  73. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js +2 -1
  74. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js.map +1 -1
  75. package/dist/dist-esm/chat-stateful-client/src/index.d.ts +1 -0
  76. package/dist/dist-esm/chat-stateful-client/src/index.js.map +1 -1
  77. package/dist/dist-esm/communication-react/src/index.d.ts +21 -0
  78. package/dist/dist-esm/communication-react/src/index.js +3 -0
  79. package/dist/dist-esm/communication-react/src/index.js.map +1 -1
  80. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentDownloadCards.d.ts +2 -0
  81. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentDownloadCards.js +1 -0
  82. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentDownloadCards.js.map +1 -1
  83. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.d.ts +13 -1
  84. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.js +9 -3
  85. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.js.map +1 -1
  86. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.d.ts +11 -0
  87. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js +32 -2
  88. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js.map +1 -1
  89. package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.d.ts +10 -0
  90. package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.js +15 -0
  91. package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.js.map +1 -0
  92. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.d.ts +8 -1
  93. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.js +9 -5
  94. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.js.map +1 -1
  95. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/FluentChatMessageComponent.d.ts +2 -1
  96. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/FluentChatMessageComponent.js +4 -4
  97. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/FluentChatMessageComponent.js.map +1 -1
  98. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBox.d.ts +4 -1
  99. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBox.js +31 -6
  100. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBox.js.map +1 -1
  101. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.d.ts +15 -1
  102. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.js +9 -0
  103. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.js.map +1 -1
  104. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.d.ts +24 -0
  105. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.js +203 -0
  106. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.js.map +1 -0
  107. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.d.ts +23 -2
  108. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.js +17 -6
  109. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.js.map +1 -1
  110. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.d.ts +8 -1
  111. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.js +10 -6
  112. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.js.map +1 -1
  113. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/FluentChatMyMessageComponent.js +5 -5
  114. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/FluentChatMyMessageComponent.js.map +1 -1
  115. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.d.ts +69 -0
  116. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js +36 -0
  117. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js.map +1 -0
  118. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.d.ts +75 -0
  119. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js +67 -0
  120. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js.map +1 -0
  121. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.d.ts +105 -0
  122. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js +51 -0
  123. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js.map +1 -0
  124. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.d.ts +86 -0
  125. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.js +40 -0
  126. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.js.map +1 -0
  127. package/dist/dist-esm/react-components/src/components/ImageOverlay.js +2 -0
  128. package/dist/dist-esm/react-components/src/components/ImageOverlay.js.map +1 -1
  129. package/dist/dist-esm/react-components/src/components/InputBoxComponent.d.ts +2 -0
  130. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js +15 -0
  131. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js.map +1 -1
  132. package/dist/dist-esm/react-components/src/components/MentionPopover.d.ts +121 -0
  133. package/dist/dist-esm/react-components/src/components/MentionPopover.js +119 -0
  134. package/dist/dist-esm/react-components/src/components/MentionPopover.js.map +1 -0
  135. package/dist/dist-esm/react-components/src/components/MessageThread.d.ts +81 -5
  136. package/dist/dist-esm/react-components/src/components/MessageThread.js +13 -3
  137. package/dist/dist-esm/react-components/src/components/MessageThread.js.map +1 -1
  138. package/dist/dist-esm/react-components/src/components/ParticipantList.d.ts +15 -0
  139. package/dist/dist-esm/react-components/src/components/ParticipantList.js +12 -3
  140. package/dist/dist-esm/react-components/src/components/ParticipantList.js.map +1 -1
  141. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/ContextMenuPlugin.d.ts +9 -0
  142. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/ContextMenuPlugin.js +29 -0
  143. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/ContextMenuPlugin.js.map +1 -0
  144. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/CopyPastePlugin.d.ts +30 -0
  145. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/CopyPastePlugin.js +98 -0
  146. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/CopyPastePlugin.js.map +1 -0
  147. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/KeyboardInputPlugin.d.ts +19 -0
  148. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/KeyboardInputPlugin.js +43 -0
  149. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/KeyboardInputPlugin.js.map +1 -0
  150. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/PlaceholderPlugin.d.ts +15 -0
  151. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/PlaceholderPlugin.js +42 -0
  152. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/PlaceholderPlugin.js.map +1 -0
  153. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/RichTextToolbarPlugin.d.ts +24 -0
  154. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/RichTextToolbarPlugin.js +64 -0
  155. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/RichTextToolbarPlugin.js.map +1 -0
  156. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/TableEditContextMenuProvider.d.ts +20 -0
  157. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/TableEditContextMenuProvider.js +45 -0
  158. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/TableEditContextMenuProvider.js.map +1 -0
  159. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UndoRedoPlugin.d.ts +14 -0
  160. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UndoRedoPlugin.js +42 -0
  161. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UndoRedoPlugin.js.map +1 -0
  162. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UpdateContentPlugin.d.ts +30 -0
  163. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UpdateContentPlugin.js +99 -0
  164. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UpdateContentPlugin.js.map +1 -0
  165. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.d.ts +59 -0
  166. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.js +334 -0
  167. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.js.map +1 -0
  168. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.d.ts +37 -0
  169. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.js +78 -0
  170. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.js.map +1 -0
  171. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.d.ts +215 -0
  172. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.js +184 -0
  173. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.js.map +1 -0
  174. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxErrors.d.ts +16 -0
  175. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxErrors.js +75 -0
  176. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxErrors.js.map +1 -0
  177. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxUtils.d.ts +9 -0
  178. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxUtils.js +16 -0
  179. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxUtils.js.map +1 -0
  180. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/RichTextToolbar.d.ts +19 -0
  181. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/RichTextToolbar.js +229 -0
  182. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/RichTextToolbar.js.map +1 -0
  183. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTableCommandBarItem.d.ts +7 -0
  184. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTableCommandBarItem.js +51 -0
  185. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTableCommandBarItem.js.map +1 -0
  186. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTablePane.d.ts +15 -0
  187. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTablePane.js +64 -0
  188. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTablePane.js.map +1 -0
  189. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextToolbarTableIcon.d.ts +6 -0
  190. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextToolbarTableIcon.js +13 -0
  191. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextToolbarTableIcon.js.map +1 -0
  192. package/dist/dist-esm/react-components/src/components/SendBox.d.ts +51 -1
  193. package/dist/dist-esm/react-components/src/components/SendBox.js +58 -6
  194. package/dist/dist-esm/react-components/src/components/SendBox.js.map +1 -1
  195. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.d.ts +56 -0
  196. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js +75 -0
  197. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js.map +1 -0
  198. package/dist/dist-esm/react-components/src/components/SendBoxErrors.d.ts +14 -0
  199. package/dist/dist-esm/react-components/src/components/SendBoxErrors.js +18 -0
  200. package/dist/dist-esm/react-components/src/components/SendBoxErrors.js.map +1 -0
  201. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.d.ts +24 -0
  202. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.js +550 -0
  203. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.js.map +1 -0
  204. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.d.ts +152 -0
  205. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.js +819 -0
  206. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.js.map +1 -0
  207. package/dist/dist-esm/react-components/src/components/index.d.ts +21 -0
  208. package/dist/dist-esm/react-components/src/components/index.js +8 -0
  209. package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
  210. package/dist/dist-esm/react-components/src/components/styles/AttachmentCard.styles.d.ts +1 -1
  211. package/dist/dist-esm/react-components/src/components/styles/AttachmentCardGroup.styles.d.ts +1 -1
  212. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.d.ts +58 -0
  213. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js +144 -0
  214. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js.map +1 -0
  215. package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.d.ts +26 -0
  216. package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.js +69 -0
  217. package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.js.map +1 -0
  218. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.d.ts +3 -3
  219. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js +8 -0
  220. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js.map +1 -1
  221. package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.d.ts +82 -0
  222. package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.js +328 -0
  223. package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.js.map +1 -0
  224. package/dist/dist-esm/react-components/src/components/styles/RichTextInputBoxComponent.styles.d.ts +21 -0
  225. package/dist/dist-esm/react-components/src/components/styles/RichTextInputBoxComponent.styles.js +38 -0
  226. package/dist/dist-esm/react-components/src/components/styles/RichTextInputBoxComponent.styles.js.map +1 -0
  227. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.d.ts +38 -0
  228. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.js +99 -0
  229. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.js.map +1 -0
  230. package/dist/dist-esm/react-components/src/components/styles/Stack.style.d.ts +5 -0
  231. package/dist/dist-esm/react-components/src/components/styles/Stack.style.js +32 -0
  232. package/dist/dist-esm/react-components/src/components/styles/Stack.style.js.map +1 -0
  233. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.d.ts +38 -1
  234. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.js +30 -3
  235. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.js.map +1 -1
  236. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.d.ts +4 -2
  237. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.js +9 -2
  238. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.js.map +1 -1
  239. package/dist/dist-esm/react-components/src/components/utils/RichTextEditorUtils.d.ts +73 -0
  240. package/dist/dist-esm/react-components/src/components/utils/RichTextEditorUtils.js +178 -0
  241. package/dist/dist-esm/react-components/src/components/utils/RichTextEditorUtils.js.map +1 -0
  242. package/dist/dist-esm/react-components/src/components/utils/RichTextTableUtils.d.ts +33 -0
  243. package/dist/dist-esm/react-components/src/components/utils/RichTextTableUtils.js +119 -0
  244. package/dist/dist-esm/react-components/src/components/utils/RichTextTableUtils.js.map +1 -0
  245. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.d.ts +47 -1
  246. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js +154 -4
  247. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js.map +1 -1
  248. package/dist/dist-esm/react-components/src/components/utils/common.js +2 -0
  249. package/dist/dist-esm/react-components/src/components/utils/common.js.map +1 -1
  250. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.d.ts +2 -1
  251. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.js.map +1 -1
  252. package/dist/dist-esm/react-components/src/components/utils/merge.d.ts +7 -0
  253. package/dist/dist-esm/react-components/src/components/utils/merge.js +16 -0
  254. package/dist/dist-esm/react-components/src/components/utils/merge.js.map +1 -0
  255. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.d.ts +4 -0
  256. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js +3 -1
  257. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js.map +1 -1
  258. package/dist/dist-esm/react-components/src/index.d.ts +1 -0
  259. package/dist/dist-esm/react-components/src/index.js.map +1 -1
  260. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.d.ts +45 -0
  261. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.js.map +1 -1
  262. package/dist/dist-esm/react-components/src/theming/icons.d.ts +24 -0
  263. package/dist/dist-esm/react-components/src/theming/icons.js +67 -0
  264. package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
  265. package/dist/dist-esm/react-components/src/theming/icons.styles.d.ts +6 -0
  266. package/dist/dist-esm/react-components/src/theming/icons.styles.js +25 -0
  267. package/dist/dist-esm/react-components/src/theming/icons.styles.js.map +1 -0
  268. package/dist/dist-esm/react-components/src/theming/themes.d.ts +6 -0
  269. package/dist/dist-esm/react-components/src/theming/themes.js +9 -0
  270. package/dist/dist-esm/react-components/src/theming/themes.js.map +1 -1
  271. package/dist/dist-esm/react-components/src/types/Attachment.d.ts +13 -0
  272. package/dist/dist-esm/react-components/src/types/Attachment.js.map +1 -1
  273. package/dist/dist-esm/react-components/src/types/ChatMessage.d.ts +20 -1
  274. package/dist/dist-esm/react-components/src/types/ChatMessage.js.map +1 -1
  275. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.d.ts +59 -0
  276. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js +15 -10
  277. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js.map +1 -1
  278. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.d.ts +38 -6
  279. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +12 -1
  280. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
  281. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.d.ts +2 -0
  282. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.js.map +1 -1
  283. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.d.ts +46 -0
  284. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js +200 -0
  285. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js.map +1 -0
  286. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.d.ts +2 -0
  287. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js +19 -0
  288. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js.map +1 -1
  289. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js +10 -2
  290. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js.map +1 -1
  291. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.d.ts +2 -0
  292. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js +19 -0
  293. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js.map +1 -1
  294. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.d.ts +1 -0
  295. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js +5 -3
  296. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js.map +1 -1
  297. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js +3 -0
  298. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js.map +1 -1
  299. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.d.ts +3 -0
  300. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js.map +1 -1
  301. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js +2 -2
  302. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js.map +1 -1
  303. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.d.ts +7 -0
  304. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js +43 -5
  305. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js.map +1 -1
  306. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js +2 -2
  307. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js.map +1 -1
  308. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js +2 -2
  309. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js.map +1 -1
  310. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.js +2 -2
  311. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.js.map +1 -1
  312. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.d.ts +8 -0
  313. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js +68 -0
  314. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js.map +1 -1
  315. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.d.ts +52 -0
  316. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js +10 -4
  317. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js.map +1 -1
  318. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.d.ts +10 -3
  319. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +20 -2
  320. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js.map +1 -1
  321. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.d.ts +16 -2
  322. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.js.map +1 -1
  323. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.d.ts +10 -4
  324. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js +14 -2
  325. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js.map +1 -1
  326. package/dist/dist-esm/react-composites/src/composites/ChatComposite/AttachmentDownloadErrorBar.d.ts +15 -0
  327. package/dist/dist-esm/react-composites/src/composites/ChatComposite/AttachmentDownloadErrorBar.js +23 -0
  328. package/dist/dist-esm/react-composites/src/composites/ChatComposite/AttachmentDownloadErrorBar.js.map +1 -0
  329. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.d.ts +27 -0
  330. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js +2 -1
  331. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js.map +1 -1
  332. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.d.ts +2 -0
  333. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js +189 -11
  334. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js.map +1 -1
  335. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.d.ts +18 -0
  336. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js +18 -0
  337. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js.map +1 -0
  338. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadReducer.d.ts +49 -0
  339. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadReducer.js +44 -0
  340. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadReducer.js.map +1 -0
  341. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadUtils.d.ts +39 -0
  342. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadUtils.js +267 -0
  343. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadUtils.js.map +1 -0
  344. package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.d.ts +20 -0
  345. package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.js.map +1 -1
  346. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.d.ts +6 -2
  347. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js +36 -0
  348. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js.map +1 -1
  349. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.d.ts +12 -2
  350. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.js.map +1 -1
  351. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUpload.d.ts +80 -0
  352. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUpload.js +36 -0
  353. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUpload.js.map +1 -0
  354. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUploadButton.d.ts +38 -0
  355. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUploadButton.js +66 -0
  356. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUploadButton.js.map +1 -0
  357. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.d.ts +5 -0
  358. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.js +5 -0
  359. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.js.map +1 -0
  360. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js +13 -2
  361. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js.map +1 -1
  362. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.d.ts +2 -0
  363. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.js.map +1 -1
  364. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.d.ts +4 -0
  365. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js +4 -0
  366. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js.map +1 -1
  367. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js +2 -1
  368. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js.map +1 -1
  369. package/dist/dist-esm/react-composites/src/composites/common/RichTextSendBoxWrapper.d.ts +10 -0
  370. package/dist/dist-esm/react-composites/src/composites/common/RichTextSendBoxWrapper.js +16 -0
  371. package/dist/dist-esm/react-composites/src/composites/common/RichTextSendBoxWrapper.js.map +1 -0
  372. package/dist/dist-esm/react-composites/src/composites/common/SendBoxPicker.d.ts +41 -2
  373. package/dist/dist-esm/react-composites/src/composites/common/SendBoxPicker.js +21 -0
  374. package/dist/dist-esm/react-composites/src/composites/common/SendBoxPicker.js.map +1 -1
  375. package/dist/dist-esm/react-composites/src/composites/common/constants.d.ts +5 -0
  376. package/dist/dist-esm/react-composites/src/composites/common/constants.js +5 -0
  377. package/dist/dist-esm/react-composites/src/composites/common/constants.js.map +1 -1
  378. package/dist/dist-esm/react-composites/src/composites/common/icons.d.ts +26 -1
  379. package/dist/dist-esm/react-composites/src/composites/common/icons.js +2 -0
  380. package/dist/dist-esm/react-composites/src/composites/common/icons.js.map +1 -1
  381. package/package.json +4 -4
@@ -1,11 +1,13 @@
1
1
  export { createAzureCommunicationCallAdapter, _createAzureCommunicationCallAdapterInner, createAzureCommunicationCallAdapterFromClient, useAzureCommunicationCallAdapter } from './AzureCommunicationCallAdapter';
2
2
  export { createTeamsCallAdapter, createTeamsCallAdapterFromClient, useTeamsCallAdapter } from './AzureCommunicationCallAdapter';
3
+ export type { TeamsOutboundCallAdapterArgs, StartTeamsCallIdentifier } from './AzureCommunicationCallAdapter';
3
4
  export type { TeamsAdapterOptions } from './AzureCommunicationCallAdapter';
4
5
  export type { TeamsCallAdapterArgsCommon, TeamsCallAdapterArgs } from './AzureCommunicationCallAdapter';
5
6
  export type { OnFetchProfileCallback, Profile } from './OnFetchProfileCallback';
6
7
  export type { AzureCommunicationCallAdapterArgs, CallAdapterLocator, AzureCommunicationOutboundCallAdapterArgs } from './AzureCommunicationCallAdapter';
7
8
  export type { AzureCommunicationCallAdapterOptions } from './AzureCommunicationCallAdapter';
8
9
  export type { CommonCallAdapterOptions } from './AzureCommunicationCallAdapter';
10
+ export type { CallParticipantsLocator } from './AzureCommunicationCallAdapter';
9
11
  export type { CallAdapter, CommonCallAdapter, CallAdapterCallEndedEvent, CallAdapterCallManagement, CallAdapterCallOperations, CallAdapterClientState, CallAdapterDeviceManagement, CallAdapterState, CallAdapterSubscribers, CallAdapterUiState, CallCompositePage, CallEndedListener, CallIdChangedListener, DiagnosticChangedEventListner, DisplayNameChangedListener, IsLocalScreenSharingActiveChangedListener, IsMutedChangedListener, IsSpeakingChangedListener, MediaDiagnosticChangedEvent, NetworkDiagnosticChangedEvent, ParticipantsJoinedListener, ParticipantsLeftListener, JoinCallOptions, StartCallIdentifier, StartCaptionsAdapterOptions, StopCaptionsAdapterOptions } from './CallAdapter';
10
12
  export type { CaptionsReceivedListener, IsCaptionsActiveChangedListener, IsCaptionLanguageChangedListener, IsSpokenLanguageChangedListener } from './CallAdapter';
11
13
  export type { RealTimeTextReceivedListener } from './CallAdapter';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/adapter/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,mCAAmC,EAAE,yCAAyC,EAAE,6CAA6C,EAAE,gCAAgC,EAAE,MAAM,iCAAiC,CAAC;AAClN,OAAO,EAAE,sBAAsB,EAAE,gCAAgC,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nexport { createAzureCommunicationCallAdapter, _createAzureCommunicationCallAdapterInner, createAzureCommunicationCallAdapterFromClient, useAzureCommunicationCallAdapter } from './AzureCommunicationCallAdapter';\nexport { createTeamsCallAdapter, createTeamsCallAdapterFromClient, useTeamsCallAdapter } from './AzureCommunicationCallAdapter';\nexport type { TeamsAdapterOptions } from './AzureCommunicationCallAdapter';\nexport type { TeamsCallAdapterArgsCommon, TeamsCallAdapterArgs } from './AzureCommunicationCallAdapter';\nexport type { OnFetchProfileCallback, Profile } from './OnFetchProfileCallback';\nexport type { AzureCommunicationCallAdapterArgs, CallAdapterLocator, AzureCommunicationOutboundCallAdapterArgs } from './AzureCommunicationCallAdapter';\nexport type { AzureCommunicationCallAdapterOptions } from './AzureCommunicationCallAdapter';\nexport type { CommonCallAdapterOptions } from './AzureCommunicationCallAdapter';\nexport type { CallAdapter, CommonCallAdapter, CallAdapterCallEndedEvent, CallAdapterCallManagement, CallAdapterCallOperations, CallAdapterClientState, CallAdapterDeviceManagement, CallAdapterState, CallAdapterSubscribers, CallAdapterUiState, CallCompositePage, CallEndedListener, CallIdChangedListener, DiagnosticChangedEventListner, DisplayNameChangedListener, IsLocalScreenSharingActiveChangedListener, IsMutedChangedListener, IsSpeakingChangedListener, MediaDiagnosticChangedEvent, NetworkDiagnosticChangedEvent, ParticipantsJoinedListener, ParticipantsLeftListener, JoinCallOptions, StartCallIdentifier, StartCaptionsAdapterOptions, StopCaptionsAdapterOptions } from './CallAdapter';\nexport type { CaptionsReceivedListener, IsCaptionsActiveChangedListener, IsCaptionLanguageChangedListener, IsSpokenLanguageChangedListener } from './CallAdapter';\nexport type { RealTimeTextReceivedListener } from './CallAdapter';\nexport type { TransferAcceptedListener } from './CallAdapter';\nexport type { CapabilitiesChangedListener } from './CallAdapter';\nexport type { SpotlightChangedListener } from './CallAdapter';\nexport type { TeamsCallAdapter } from './CallAdapter';\nexport type { CallingSounds, SoundEffect } from './CallAdapter';"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/adapter/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,mCAAmC,EAAE,yCAAyC,EAAE,6CAA6C,EAAE,gCAAgC,EAAE,MAAM,iCAAiC,CAAC;AAClN,OAAO,EAAE,sBAAsB,EAAE,gCAAgC,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nexport { createAzureCommunicationCallAdapter, _createAzureCommunicationCallAdapterInner, createAzureCommunicationCallAdapterFromClient, useAzureCommunicationCallAdapter } from './AzureCommunicationCallAdapter';\nexport { createTeamsCallAdapter, createTeamsCallAdapterFromClient, useTeamsCallAdapter } from './AzureCommunicationCallAdapter';\nexport type { TeamsOutboundCallAdapterArgs, StartTeamsCallIdentifier } from './AzureCommunicationCallAdapter';\nexport type { TeamsAdapterOptions } from './AzureCommunicationCallAdapter';\nexport type { TeamsCallAdapterArgsCommon, TeamsCallAdapterArgs } from './AzureCommunicationCallAdapter';\nexport type { OnFetchProfileCallback, Profile } from './OnFetchProfileCallback';\nexport type { AzureCommunicationCallAdapterArgs, CallAdapterLocator, AzureCommunicationOutboundCallAdapterArgs } from './AzureCommunicationCallAdapter';\nexport type { AzureCommunicationCallAdapterOptions } from './AzureCommunicationCallAdapter';\nexport type { CommonCallAdapterOptions } from './AzureCommunicationCallAdapter';\nexport type { CallParticipantsLocator } from './AzureCommunicationCallAdapter';\nexport type { CallAdapter, CommonCallAdapter, CallAdapterCallEndedEvent, CallAdapterCallManagement, CallAdapterCallOperations, CallAdapterClientState, CallAdapterDeviceManagement, CallAdapterState, CallAdapterSubscribers, CallAdapterUiState, CallCompositePage, CallEndedListener, CallIdChangedListener, DiagnosticChangedEventListner, DisplayNameChangedListener, IsLocalScreenSharingActiveChangedListener, IsMutedChangedListener, IsSpeakingChangedListener, MediaDiagnosticChangedEvent, NetworkDiagnosticChangedEvent, ParticipantsJoinedListener, ParticipantsLeftListener, JoinCallOptions, StartCallIdentifier, StartCaptionsAdapterOptions, StopCaptionsAdapterOptions } from './CallAdapter';\nexport type { CaptionsReceivedListener, IsCaptionsActiveChangedListener, IsCaptionLanguageChangedListener, IsSpokenLanguageChangedListener } from './CallAdapter';\nexport type { RealTimeTextReceivedListener } from './CallAdapter';\nexport type { TransferAcceptedListener } from './CallAdapter';\nexport type { CapabilitiesChangedListener } from './CallAdapter';\nexport type { SpotlightChangedListener } from './CallAdapter';\nexport type { TeamsCallAdapter } from './CallAdapter';\nexport type { CallingSounds, SoundEffect } from './CallAdapter';"]}
@@ -0,0 +1,46 @@
1
+ /// <reference types="react" />
2
+ /**
3
+ * Modal that guides user through enabling their camera and mic access
4
+ * @private
5
+ */
6
+ export declare const CallReadinessModal: (props: {
7
+ mobileView: boolean;
8
+ modalLayerHostId: string;
9
+ permissionsState: {
10
+ camera: PermissionState;
11
+ microphone: PermissionState;
12
+ };
13
+ isPermissionsModalDismissed: boolean;
14
+ setIsPermissionsModalDismissed: (dismissedState: boolean) => void;
15
+ onPermissionsTroubleshootingClick?: (permissionsState: {
16
+ camera: PermissionState;
17
+ microphone: PermissionState;
18
+ }) => void;
19
+ doNotPromptCamera: boolean;
20
+ }) => JSX.Element;
21
+ /**
22
+ * Modal that guides user through enabling their camera and mic access
23
+ * This is used when permission API is not supported
24
+ * @private
25
+ */
26
+ export declare const CallReadinessModalFallBack: (props: {
27
+ mobileView: boolean;
28
+ checkPermissionModalShowing: boolean;
29
+ permissionsState: {
30
+ camera: PermissionState;
31
+ microphone: PermissionState;
32
+ };
33
+ modalLayerHostId: string;
34
+ isPermissionsModalDismissed: boolean;
35
+ setIsPermissionsModalDismissed: (dismissedState: boolean) => void;
36
+ onPermissionsTroubleshootingClick?: (permissionsState: {
37
+ camera: PermissionState;
38
+ microphone: PermissionState;
39
+ }) => void;
40
+ }) => JSX.Element;
41
+ /**
42
+ * Placeholder for conditional compile
43
+ * @private
44
+ */
45
+ export declare const CallReadinessModalPlaceHolder: () => JSX.Element;
46
+ //# sourceMappingURL=CallReadinessModal.d.ts.map
@@ -0,0 +1,200 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+ import React from 'react';
4
+ import { CameraAndMicrophoneSitePermissions, CameraSitePermissions, MicrophoneSitePermissions, _DrawerSurface } from "../../../../../react-components/src";
5
+ import { _ModalClone } from "../../../../../react-components/src";
6
+ import { drawerContainerStyles } from '../styles/CallComposite.styles';
7
+ const DRAWER_HIGH_Z_BAND = 99; // setting z index to 99 so that it sit above all components
8
+ /**
9
+ * Modal that guides user through enabling their camera and mic access
10
+ * @private
11
+ */
12
+ export const CallReadinessModal = (props) => {
13
+ const { mobileView, permissionsState, isPermissionsModalDismissed, setIsPermissionsModalDismissed, onPermissionsTroubleshootingClick } = props;
14
+ const onLightDismissTriggered = () => {
15
+ // do nothing here
16
+ // only way to dismiss this drawer is clicking on allow access which will leads to device permission prompt
17
+ };
18
+ // On Safari browser with 2 options: don't allow/never for this website again, when don't allow is clicked, permissionAPI returns prompt and PermissionGranted from calling sdk returns false (the right value)
19
+ const videoState = permissionsState.camera;
20
+ const audioState = permissionsState.microphone;
21
+ const showModal = !props.doNotPromptCamera && videoState === 'denied' || !props.doNotPromptCamera && videoState === 'prompt' || audioState === 'denied' || audioState === 'prompt';
22
+ const modal = !showModal ? undefined : () => {
23
+ // if both video and audio permission are not set
24
+ if (videoState === 'prompt' && !props.doNotPromptCamera && audioState === 'prompt') {
25
+ return React.createElement(CameraAndMicrophoneSitePermissions, { appName: 'app', onTroubleshootingClick: onPermissionsTroubleshootingClick ? () => {
26
+ onPermissionsTroubleshootingClick(permissionsState);
27
+ } : undefined, kind: "request" });
28
+ }
29
+ // if audio permission is set up but video is not
30
+ else if (videoState === 'prompt' && !props.doNotPromptCamera) {
31
+ return React.createElement(CameraSitePermissions, { appName: 'app', onTroubleshootingClick: onPermissionsTroubleshootingClick ? () => {
32
+ onPermissionsTroubleshootingClick(permissionsState);
33
+ } : undefined, onContinueAnywayClick: () => {
34
+ setIsPermissionsModalDismissed(false);
35
+ }, kind: "request" });
36
+ }
37
+ // if video permission is set up but audio is not
38
+ else if (audioState === 'prompt') {
39
+ return React.createElement(MicrophoneSitePermissions, { appName: 'app', onTroubleshootingClick: onPermissionsTroubleshootingClick ? () => {
40
+ onPermissionsTroubleshootingClick(permissionsState);
41
+ } : undefined, kind: "request" });
42
+ }
43
+ // if both video and audio are denied
44
+ else if (videoState === 'denied' && !props.doNotPromptCamera && audioState === 'denied') {
45
+ return React.createElement(CameraAndMicrophoneSitePermissions, { appName: 'app', onTroubleshootingClick: onPermissionsTroubleshootingClick ? () => {
46
+ onPermissionsTroubleshootingClick(permissionsState);
47
+ } : undefined, kind: "denied" });
48
+ }
49
+ // if only video is denied
50
+ else if (videoState === 'denied' && !props.doNotPromptCamera) {
51
+ return React.createElement(CameraSitePermissions, { appName: 'app', onTroubleshootingClick: onPermissionsTroubleshootingClick ? () => {
52
+ onPermissionsTroubleshootingClick(permissionsState);
53
+ } : undefined, onContinueAnywayClick: () => {
54
+ setIsPermissionsModalDismissed(false);
55
+ }, kind: "denied" });
56
+ }
57
+ // if only audio is denied
58
+ else {
59
+ return React.createElement(MicrophoneSitePermissions, { appName: 'app', onTroubleshootingClick: onPermissionsTroubleshootingClick ? () => {
60
+ onPermissionsTroubleshootingClick(permissionsState);
61
+ } : undefined, kind: "denied" });
62
+ }
63
+ };
64
+ if (mobileView && modal !== undefined) {
65
+ return React.createElement(React.Fragment, null, isPermissionsModalDismissed && React.createElement(_DrawerSurface, { disableMaxHeight: true, onLightDismiss: onLightDismissTriggered, styles: drawerContainerStyles(DRAWER_HIGH_Z_BAND) }, modal()));
66
+ }
67
+ else if (!mobileView && modal !== undefined) {
68
+ return React.createElement(_ModalClone, { styles: {
69
+ root: {
70
+ position: 'unset'
71
+ },
72
+ main: {
73
+ position: 'absolute',
74
+ left: '50%',
75
+ top: '50%',
76
+ transform: 'translate(-50%, -50%)'
77
+ }
78
+ }, layerProps: {
79
+ hostId: props.modalLayerHostId
80
+ }, isOpen: isPermissionsModalDismissed, isBlocking: false, onDismiss: () => {
81
+ setIsPermissionsModalDismissed(false);
82
+ }, overlay: {
83
+ styles: {
84
+ root: {
85
+ background: 'rgba(0,0,0,0.4)'
86
+ }
87
+ }
88
+ }, forceFocusInsideTrap: true, focusTrapZoneProps: {
89
+ disabled: false,
90
+ onKeyDown: (ev) => {
91
+ if (ev.key === 'Escape') {
92
+ setIsPermissionsModalDismissed(false);
93
+ }
94
+ }
95
+ } }, modal());
96
+ }
97
+ else {
98
+ return React.createElement(React.Fragment, null);
99
+ }
100
+ };
101
+ /**
102
+ * Modal that guides user through enabling their camera and mic access
103
+ * This is used when permission API is not supported
104
+ * @private
105
+ */
106
+ export const CallReadinessModalFallBack = (props) => {
107
+ const { mobileView, checkPermissionModalShowing, permissionsState, isPermissionsModalDismissed, setIsPermissionsModalDismissed, onPermissionsTroubleshootingClick } = props;
108
+ const onLightDismissTriggered = () => {
109
+ // do nothing here
110
+ // only way to dismiss this drawer is clicking on allow access which will leads to device permission prompt
111
+ };
112
+ const videoState = permissionsState.camera;
113
+ const audioState = permissionsState.microphone;
114
+ // When permissions are not set, do nothing here
115
+ // When permissions are set to denied, show helper screen
116
+ const showModal = videoState === 'denied' || audioState === 'denied';
117
+ const modal = !showModal ? undefined : () => {
118
+ if (videoState === 'denied' && audioState === 'denied') {
119
+ return React.createElement(CameraAndMicrophoneSitePermissions, { appName: 'app', onTroubleshootingClick: onPermissionsTroubleshootingClick ? () => {
120
+ onPermissionsTroubleshootingClick(permissionsState);
121
+ } : undefined, kind: "denied" });
122
+ }
123
+ else if (videoState === 'denied' && audioState === 'granted') {
124
+ return React.createElement(CameraSitePermissions, { appName: 'app', onTroubleshootingClick: onPermissionsTroubleshootingClick ? () => {
125
+ onPermissionsTroubleshootingClick(permissionsState);
126
+ } : undefined, onContinueAnywayClick: () => {
127
+ setIsPermissionsModalDismissed(false);
128
+ }, kind: "denied" });
129
+ }
130
+ else {
131
+ return React.createElement(MicrophoneSitePermissions, { appName: 'app', onTroubleshootingClick: onPermissionsTroubleshootingClick ? () => {
132
+ onPermissionsTroubleshootingClick(permissionsState);
133
+ } : undefined, kind: "denied" });
134
+ }
135
+ };
136
+ if (mobileView) {
137
+ return React.createElement(React.Fragment, null,
138
+ (checkPermissionModalShowing || audioState === 'prompt' || videoState === 'prompt') && React.createElement(_DrawerSurface, { disableMaxHeight: true, onLightDismiss: onLightDismissTriggered, styles: drawerContainerStyles(DRAWER_HIGH_Z_BAND) },
139
+ React.createElement(CameraAndMicrophoneSitePermissions, { appName: 'app', onTroubleshootingClick: onPermissionsTroubleshootingClick ? () => {
140
+ onPermissionsTroubleshootingClick(permissionsState);
141
+ } : undefined, kind: "check" })),
142
+ isPermissionsModalDismissed && !checkPermissionModalShowing && modal !== undefined && React.createElement(_DrawerSurface, { disableMaxHeight: true, onLightDismiss: onLightDismissTriggered, styles: drawerContainerStyles(DRAWER_HIGH_Z_BAND) }, modal()));
143
+ }
144
+ else {
145
+ return React.createElement(React.Fragment, null,
146
+ (checkPermissionModalShowing || audioState === 'prompt' || videoState === 'prompt') && React.createElement(_ModalClone, { styles: {
147
+ root: {
148
+ position: 'unset'
149
+ },
150
+ main: {
151
+ position: 'absolute',
152
+ left: '50%',
153
+ top: '50%',
154
+ transform: 'translate(-50%, -50%)'
155
+ }
156
+ }, layerProps: {
157
+ hostId: props.modalLayerHostId
158
+ }, isOpen: isPermissionsModalDismissed, isBlocking: false, onDismiss: () => {
159
+ setIsPermissionsModalDismissed(false);
160
+ }, overlay: {
161
+ styles: {
162
+ root: {
163
+ background: 'rgba(0,0,0,0.4)'
164
+ }
165
+ }
166
+ } },
167
+ React.createElement(CameraAndMicrophoneSitePermissions, { appName: 'app', onTroubleshootingClick: onPermissionsTroubleshootingClick ? () => {
168
+ onPermissionsTroubleshootingClick(permissionsState);
169
+ } : undefined, kind: "check" })),
170
+ !checkPermissionModalShowing && modal !== undefined && React.createElement(_ModalClone, { styles: {
171
+ root: {
172
+ position: 'unset'
173
+ },
174
+ main: {
175
+ position: 'absolute',
176
+ left: '50%',
177
+ top: '50%',
178
+ transform: 'translate(-50%, -50%)'
179
+ }
180
+ }, layerProps: {
181
+ hostId: props.modalLayerHostId
182
+ }, isOpen: isPermissionsModalDismissed, isBlocking: false, onDismiss: () => {
183
+ setIsPermissionsModalDismissed(false);
184
+ }, overlay: {
185
+ styles: {
186
+ root: {
187
+ background: 'rgba(0,0,0,0.4)'
188
+ }
189
+ }
190
+ } }, modal()));
191
+ }
192
+ };
193
+ /**
194
+ * Placeholder for conditional compile
195
+ * @private
196
+ */
197
+ export const CallReadinessModalPlaceHolder = () => {
198
+ return React.createElement(React.Fragment, null);
199
+ };
200
+ //# sourceMappingURL=CallReadinessModal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CallReadinessModal.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/components/CallReadinessModal.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport React from 'react';\nimport { CameraAndMicrophoneSitePermissions, CameraSitePermissions, MicrophoneSitePermissions, _DrawerSurface } from '@internal/react-components';\nimport { _ModalClone } from '@internal/react-components';\nimport { drawerContainerStyles } from '../styles/CallComposite.styles';\nimport { _isSafari } from '../utils';\nconst DRAWER_HIGH_Z_BAND = 99; // setting z index to 99 so that it sit above all components\n/**\n * Modal that guides user through enabling their camera and mic access\n * @private\n */\nexport const CallReadinessModal = (props: {\n mobileView: boolean;\n modalLayerHostId: string;\n permissionsState: {\n camera: PermissionState;\n microphone: PermissionState;\n };\n isPermissionsModalDismissed: boolean;\n setIsPermissionsModalDismissed: (dismissedState: boolean) => void;\n onPermissionsTroubleshootingClick?: (permissionsState: {\n camera: PermissionState;\n microphone: PermissionState;\n }) => void;\n doNotPromptCamera: boolean;\n}): JSX.Element => {\n const {\n mobileView,\n permissionsState,\n isPermissionsModalDismissed,\n setIsPermissionsModalDismissed,\n onPermissionsTroubleshootingClick\n } = props;\n const onLightDismissTriggered = (): void => {\n // do nothing here\n // only way to dismiss this drawer is clicking on allow access which will leads to device permission prompt\n };\n\n // On Safari browser with 2 options: don't allow/never for this website again, when don't allow is clicked, permissionAPI returns prompt and PermissionGranted from calling sdk returns false (the right value)\n const videoState: PermissionState = permissionsState.camera;\n const audioState: PermissionState = permissionsState.microphone;\n const showModal = !props.doNotPromptCamera && videoState === 'denied' || !props.doNotPromptCamera && videoState === 'prompt' || audioState === 'denied' || audioState === 'prompt';\n const modal: undefined | (() => JSX.Element) = !showModal ? undefined : () => {\n // if both video and audio permission are not set\n if (videoState === 'prompt' && !props.doNotPromptCamera && audioState === 'prompt') {\n return <CameraAndMicrophoneSitePermissions appName={'app'} onTroubleshootingClick={onPermissionsTroubleshootingClick ? () => {\n onPermissionsTroubleshootingClick(permissionsState);\n } : undefined} kind=\"request\" />;\n }\n // if audio permission is set up but video is not\n else if (videoState === 'prompt' && !props.doNotPromptCamera) {\n return <CameraSitePermissions appName={'app'} onTroubleshootingClick={onPermissionsTroubleshootingClick ? () => {\n onPermissionsTroubleshootingClick(permissionsState);\n } : undefined} onContinueAnywayClick={() => {\n setIsPermissionsModalDismissed(false);\n }} kind=\"request\" />;\n }\n // if video permission is set up but audio is not\n else if (audioState === 'prompt') {\n return <MicrophoneSitePermissions appName={'app'} onTroubleshootingClick={onPermissionsTroubleshootingClick ? () => {\n onPermissionsTroubleshootingClick(permissionsState);\n } : undefined} kind=\"request\" />;\n }\n // if both video and audio are denied\n else if (videoState === 'denied' && !props.doNotPromptCamera && audioState === 'denied') {\n return <CameraAndMicrophoneSitePermissions appName={'app'} onTroubleshootingClick={onPermissionsTroubleshootingClick ? () => {\n onPermissionsTroubleshootingClick(permissionsState);\n } : undefined} kind=\"denied\" />;\n }\n // if only video is denied\n else if (videoState === 'denied' && !props.doNotPromptCamera) {\n return <CameraSitePermissions appName={'app'} onTroubleshootingClick={onPermissionsTroubleshootingClick ? () => {\n onPermissionsTroubleshootingClick(permissionsState);\n } : undefined} onContinueAnywayClick={() => {\n setIsPermissionsModalDismissed(false);\n }} kind=\"denied\" />;\n }\n // if only audio is denied\n else {\n return <MicrophoneSitePermissions appName={'app'} onTroubleshootingClick={onPermissionsTroubleshootingClick ? () => {\n onPermissionsTroubleshootingClick(permissionsState);\n } : undefined} kind=\"denied\" />;\n }\n };\n if (mobileView && modal !== undefined) {\n return <>\n {isPermissionsModalDismissed && <_DrawerSurface disableMaxHeight={true} onLightDismiss={onLightDismissTriggered} styles={drawerContainerStyles(DRAWER_HIGH_Z_BAND)}>\n {modal()}\n </_DrawerSurface>}\n </>;\n } else if (!mobileView && modal !== undefined) {\n return <_ModalClone styles={{\n root: {\n position: 'unset'\n },\n main: {\n position: 'absolute',\n left: '50%',\n top: '50%',\n transform: 'translate(-50%, -50%)'\n }\n }} layerProps={{\n hostId: props.modalLayerHostId\n }} isOpen={isPermissionsModalDismissed} isBlocking={false} onDismiss={() => {\n setIsPermissionsModalDismissed(false);\n }} overlay={{\n styles: {\n root: {\n background: 'rgba(0,0,0,0.4)'\n }\n }\n }} forceFocusInsideTrap={true} focusTrapZoneProps={{\n disabled: false,\n onKeyDown: (ev: React.KeyboardEvent<HTMLElement>) => {\n if (ev.key === 'Escape') {\n setIsPermissionsModalDismissed(false);\n }\n }\n }}>\n {modal()}\n </_ModalClone>;\n } else {\n return <></>;\n }\n};\n/**\n * Modal that guides user through enabling their camera and mic access\n * This is used when permission API is not supported\n * @private\n */\nexport const CallReadinessModalFallBack = (props: {\n mobileView: boolean;\n checkPermissionModalShowing: boolean;\n permissionsState: {\n camera: PermissionState;\n microphone: PermissionState;\n };\n modalLayerHostId: string;\n isPermissionsModalDismissed: boolean;\n setIsPermissionsModalDismissed: (dismissedState: boolean) => void;\n onPermissionsTroubleshootingClick?: (permissionsState: {\n camera: PermissionState;\n microphone: PermissionState;\n }) => void;\n}): JSX.Element => {\n const {\n mobileView,\n checkPermissionModalShowing,\n permissionsState,\n isPermissionsModalDismissed,\n setIsPermissionsModalDismissed,\n onPermissionsTroubleshootingClick\n } = props;\n const onLightDismissTriggered = (): void => {\n // do nothing here\n // only way to dismiss this drawer is clicking on allow access which will leads to device permission prompt\n };\n const videoState = permissionsState.camera;\n const audioState = permissionsState.microphone;\n\n // When permissions are not set, do nothing here\n // When permissions are set to denied, show helper screen\n const showModal = videoState === 'denied' || audioState === 'denied';\n const modal: undefined | (() => JSX.Element) = !showModal ? undefined : () => {\n if (videoState === 'denied' && audioState === 'denied') {\n return <CameraAndMicrophoneSitePermissions appName={'app'} onTroubleshootingClick={onPermissionsTroubleshootingClick ? () => {\n onPermissionsTroubleshootingClick(permissionsState);\n } : undefined} kind=\"denied\" />;\n } else if (videoState === 'denied' && audioState === 'granted') {\n return <CameraSitePermissions appName={'app'} onTroubleshootingClick={onPermissionsTroubleshootingClick ? () => {\n onPermissionsTroubleshootingClick(permissionsState);\n } : undefined} onContinueAnywayClick={() => {\n setIsPermissionsModalDismissed(false);\n }} kind=\"denied\" />;\n } else {\n return <MicrophoneSitePermissions appName={'app'} onTroubleshootingClick={onPermissionsTroubleshootingClick ? () => {\n onPermissionsTroubleshootingClick(permissionsState);\n } : undefined} kind=\"denied\" />;\n }\n };\n if (mobileView) {\n return <>\n {(checkPermissionModalShowing || audioState === 'prompt' || videoState === 'prompt') && <_DrawerSurface disableMaxHeight={true} onLightDismiss={onLightDismissTriggered} styles={drawerContainerStyles(DRAWER_HIGH_Z_BAND)}>\n <CameraAndMicrophoneSitePermissions appName={'app'} onTroubleshootingClick={onPermissionsTroubleshootingClick ? () => {\n onPermissionsTroubleshootingClick(permissionsState);\n } : undefined} kind=\"check\" />\n </_DrawerSurface>}\n {isPermissionsModalDismissed && !checkPermissionModalShowing && modal !== undefined && <_DrawerSurface disableMaxHeight={true} onLightDismiss={onLightDismissTriggered} styles={drawerContainerStyles(DRAWER_HIGH_Z_BAND)}>\n {modal()}\n </_DrawerSurface>}\n </>;\n } else {\n return <>\n {(checkPermissionModalShowing || audioState === 'prompt' || videoState === 'prompt') && <_ModalClone styles={{\n root: {\n position: 'unset'\n },\n main: {\n position: 'absolute',\n left: '50%',\n top: '50%',\n transform: 'translate(-50%, -50%)'\n }\n }} layerProps={{\n hostId: props.modalLayerHostId\n }} isOpen={isPermissionsModalDismissed} isBlocking={false} onDismiss={() => {\n setIsPermissionsModalDismissed(false);\n }} overlay={{\n styles: {\n root: {\n background: 'rgba(0,0,0,0.4)'\n }\n }\n }}>\n <CameraAndMicrophoneSitePermissions appName={'app'} onTroubleshootingClick={onPermissionsTroubleshootingClick ? () => {\n onPermissionsTroubleshootingClick(permissionsState);\n } : undefined} kind=\"check\" />\n </_ModalClone>}\n\n {!checkPermissionModalShowing && modal !== undefined && <_ModalClone styles={{\n root: {\n position: 'unset'\n },\n main: {\n position: 'absolute',\n left: '50%',\n top: '50%',\n transform: 'translate(-50%, -50%)'\n }\n }} layerProps={{\n hostId: props.modalLayerHostId\n }} isOpen={isPermissionsModalDismissed} isBlocking={false} onDismiss={() => {\n setIsPermissionsModalDismissed(false);\n }} overlay={{\n styles: {\n root: {\n background: 'rgba(0,0,0,0.4)'\n }\n }\n }}>\n {modal()}\n </_ModalClone>}\n </>;\n }\n};\n\n/**\n * Placeholder for conditional compile\n * @private\n */\nexport const CallReadinessModalPlaceHolder = (): JSX.Element => {\n return <></>;\n};"]}
@@ -1,10 +1,12 @@
1
1
  /// <reference types="react" />
2
+ import { _DevicePermissionDropdownProps } from "../../../../../react-components/src";
2
3
  /**
3
4
  * @private
4
5
  */
5
6
  export interface ConfigurationPageCameraDropdownProps {
6
7
  cameraGrantedDropdown: JSX.Element;
7
8
  cameraPermissionGranted: boolean;
9
+ dropdownProps: Partial<_DevicePermissionDropdownProps>;
8
10
  onClickEnableDevicePermission?: () => void;
9
11
  ariaLabelledby?: string;
10
12
  }
@@ -1,7 +1,26 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+ import React from 'react';
4
+ import { useTheme, _DevicePermissionDropdown } from "../../../../../react-components/src";
5
+ import { dropDownStyles } from '../styles/LocalDeviceSettings.styles';
6
+ import { CallCompositeIcon } from '../../common/icons';
1
7
  /**
2
8
  * @private
3
9
  */
4
10
  export const ConfigurationPageCameraDropdown = (props) => {
11
+ const theme = useTheme();
12
+ const devicePermissionDropdownStringsCamera = {
13
+ placeHolderText: 'Enable Camera (optional)',
14
+ actionButtonContent: 'Allow'
15
+ };
16
+ const cameraBlockedDropdown = React.createElement(_DevicePermissionDropdown, Object.assign({}, props.dropdownProps, { styles: dropDownStyles(theme), constrain: {
17
+ video: true,
18
+ audio: false
19
+ }, strings: devicePermissionDropdownStringsCamera, icon: React.createElement(CallCompositeIcon, { iconName: "ControlButtonCameraOn", style: {
20
+ height: '1.25rem',
21
+ marginRight: '0.625rem'
22
+ } }), onClick: props.onClickEnableDevicePermission, ariaLabelledby: props.ariaLabelledby }));
23
+ return props.cameraPermissionGranted ? props.cameraGrantedDropdown : cameraBlockedDropdown;
5
24
  return props.cameraGrantedDropdown;
6
25
  };
7
26
  //# sourceMappingURL=ConfigurationPageCameraDropdown.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigurationPageCameraDropdown.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.tsx"],"names":[],"mappings":"AAYA;;GAEG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,KAA2C,EAAe,EAAE;IAC1G,OAAO,KAAK,CAAC,qBAAqB,CAAC;AACrC,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n/**\n * @private\n */\nexport interface ConfigurationPageCameraDropdownProps {\n cameraGrantedDropdown: JSX.Element;\n cameraPermissionGranted: boolean;\n onClickEnableDevicePermission?: () => void;\n ariaLabelledby?: string;\n}\n\n/**\n * @private\n */\nexport const ConfigurationPageCameraDropdown = (props: ConfigurationPageCameraDropdownProps): JSX.Element => {\n return props.cameraGrantedDropdown;\n};"]}
1
+ {"version":3,"file":"ConfigurationPageCameraDropdown.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAClC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAoC,yBAAyB,EAAkC,4CAAmC;AACnJ,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAavD;;GAEG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,KAA2C,EAAe,EAAE;IAC1G,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,qCAAqC,GAAqC;QAC9E,eAAe,EAAE,0BAA0B;QAC3C,mBAAmB,EAAE,OAAO;KAC7B,CAAC;IACF,MAAM,qBAAqB,GAAG,oBAAC,yBAAyB,oBAAK,KAAK,CAAC,aAAa,IAAE,MAAM,EAAE,cAAc,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE;YAC1H,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,KAAK;SACb,EAAE,OAAO,EAAE,qCAAqC,EAAE,IAAI,EAAE,oBAAC,iBAAiB,IAAC,QAAQ,EAAC,uBAAuB,EAAC,KAAK,EAAE;gBAClH,MAAM,EAAE,SAAS;gBACjB,WAAW,EAAE,UAAU;aACxB,GAAI,EAAE,OAAO,EAAE,KAAK,CAAC,6BAA6B,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,IAAI,CAAC;IAC9F,OAAO,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC,qBAAqB,CAAC;IAC3F,OAAO,KAAK,CAAC,qBAAqB,CAAC;AACrC,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport React from 'react';\nimport { useTheme, _DevicePermissionDropdownStrings, _DevicePermissionDropdown, _DevicePermissionDropdownProps } from '@internal/react-components';\nimport { dropDownStyles } from '../styles/LocalDeviceSettings.styles';\nimport { CallCompositeIcon } from '../../common/icons';\n\n/**\n * @private\n */\nexport interface ConfigurationPageCameraDropdownProps {\n cameraGrantedDropdown: JSX.Element;\n cameraPermissionGranted: boolean;\n dropdownProps: Partial<_DevicePermissionDropdownProps>;\n onClickEnableDevicePermission?: () => void;\n ariaLabelledby?: string;\n}\n\n/**\n * @private\n */\nexport const ConfigurationPageCameraDropdown = (props: ConfigurationPageCameraDropdownProps): JSX.Element => {\n const theme = useTheme();\n const devicePermissionDropdownStringsCamera: _DevicePermissionDropdownStrings = {\n placeHolderText: 'Enable Camera (optional)',\n actionButtonContent: 'Allow'\n };\n const cameraBlockedDropdown = <_DevicePermissionDropdown {...props.dropdownProps} styles={dropDownStyles(theme)} constrain={{\n video: true,\n audio: false\n }} strings={devicePermissionDropdownStringsCamera} icon={<CallCompositeIcon iconName=\"ControlButtonCameraOn\" style={{\n height: '1.25rem',\n marginRight: '0.625rem'\n }} />} onClick={props.onClickEnableDevicePermission} ariaLabelledby={props.ariaLabelledby} />;\n return props.cameraPermissionGranted ? props.cameraGrantedDropdown : cameraBlockedDropdown;\n return props.cameraGrantedDropdown;\n};"]}
@@ -1,13 +1,21 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
2
  // Licensed under the MIT License.
3
3
  import React from 'react';
4
- import { ErrorBar } from "../../../../../react-components/src";
4
+ import { _TroubleshootingGuideErrorBar, ErrorBar } from "../../../../../react-components/src";
5
5
  import { FocusZone } from '@fluentui/react';
6
6
  /**
7
7
  * @private
8
8
  */
9
9
  export const ConfigurationPageErrorBar = (props) => {
10
- const { errorBarProps } = props;
10
+ const { errorBarProps, showTroubleShootingErrorBar = false, onPermissionsTroubleshootingClick, onNetworkingTroubleShootingClick, permissionsState } = props;
11
+ const permissionTroubleshootingGuideStrings = {
12
+ devicePermissionLinkText: 'Troubleshooting Camera and Microphone Permissions',
13
+ networkTroubleshootingLinkText: 'Troubleshooting Network Connection',
14
+ dismissButtonText: 'OK'
15
+ };
16
+ if (showTroubleShootingErrorBar) {
17
+ return React.createElement(_TroubleshootingGuideErrorBar, Object.assign({ troubleshootingGuideStrings: permissionTroubleshootingGuideStrings, onPermissionsTroubleshootingClick: onPermissionsTroubleshootingClick, onNetworkingTroubleshootingClick: onNetworkingTroubleShootingClick, permissionsState: permissionsState }, errorBarProps, { onDismissError: props.onDismissError }));
18
+ }
11
19
  if (errorBarProps.activeErrorMessages.length === 0) {
12
20
  return React.createElement(React.Fragment, null);
13
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigurationPageErrorBar.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAuM,QAAQ,EAAE,4CAAmC;AAG3P,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAsB5C;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,KAAqC,EAAe,EAAE;IAC9F,MAAM,EACJ,aAAa,EACd,GAAG,KAAK,CAAC;IACV,IAAI,aAAa,CAAC,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnD,OAAO,yCAAK,CAAC;IACf,CAAC;IACD,OAAO,oBAAC,SAAS,IAAC,kBAAkB;QAChC,oBAAC,QAAQ,oBAAK,aAAa,IAAE,cAAc,EAAE,KAAK,CAAC,cAAc,IAAI,CAC3D,CAAC;AACjB,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport React from 'react';\nimport { _DevicePermissionDropdownStrings, _DevicePermissionDropdown, _DevicePermissionDropdownProps, ActiveErrorMessage, ErrorBarProps, _TroubleshootingGuideErrorBarStrings, _TroubleshootingGuideErrorBar, ErrorBar } from '@internal/react-components';\nimport { CallingHandlers } from '@internal/calling-component-bindings';\nimport { Common } from '@internal/acs-ui-common';\nimport { FocusZone } from '@fluentui/react';\n\n/**\n * @private\n */\nexport interface ConfigurationPageErrorBarProps {\n errorBarProps: {\n activeErrorMessages: ActiveErrorMessage[];\n } & Common<CallingHandlers, ErrorBarProps>;\n showTroubleShootingErrorBar?: boolean;\n onPermissionsTroubleshootingClick?: (permissionsState: {\n camera: PermissionState;\n microphone: PermissionState;\n }) => void;\n onNetworkingTroubleShootingClick?: () => void;\n permissionsState?: {\n camera: PermissionState;\n microphone: PermissionState;\n };\n onDismissError: (error: ActiveErrorMessage) => void;\n}\n\n/**\n * @private\n */\nexport const ConfigurationPageErrorBar = (props: ConfigurationPageErrorBarProps): JSX.Element => {\n const {\n errorBarProps\n } = props;\n if (errorBarProps.activeErrorMessages.length === 0) {\n return <></>;\n }\n return <FocusZone shouldFocusOnMount>\n <ErrorBar {...errorBarProps} onDismissError={props.onDismissError} />\n </FocusZone>;\n};"]}
1
+ {"version":3,"file":"ConfigurationPageErrorBar.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAwK,6BAA6B,EAAE,QAAQ,EAAE,4CAAmC;AAG3P,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAsB5C;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,KAAqC,EAAe,EAAE;IAC9F,MAAM,EACJ,aAAa,EACb,2BAA2B,GAAG,KAAK,EACnC,iCAAiC,EACjC,gCAAgC,EAChC,gBAAgB,EACjB,GAAG,KAAK,CAAC;IACV,MAAM,qCAAqC,GAAyC;QAClF,wBAAwB,EAAE,mDAAmD;QAC7E,8BAA8B,EAAE,oCAAoC;QACpE,iBAAiB,EAAE,IAAI;KACxB,CAAC;IACF,IAAI,2BAA2B,EAAE,CAAC;QAChC,OAAO,oBAAC,6BAA6B,kBAAC,2BAA2B,EAAE,qCAAqC,EAAE,iCAAiC,EAAE,iCAAiC,EAAE,gCAAgC,EAAE,gCAAgC,EAAE,gBAAgB,EAAE,gBAAgB,IAAM,aAAa,IAAE,cAAc,EAAE,KAAK,CAAC,cAAc,IAAI,CAAC;IACtV,CAAC;IACD,IAAI,aAAa,CAAC,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnD,OAAO,yCAAK,CAAC;IACf,CAAC;IACD,OAAO,oBAAC,SAAS,IAAC,kBAAkB;QAChC,oBAAC,QAAQ,oBAAK,aAAa,IAAE,cAAc,EAAE,KAAK,CAAC,cAAc,IAAI,CAC3D,CAAC;AACjB,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport React from 'react';\nimport { _DevicePermissionDropdownStrings, _DevicePermissionDropdown, _DevicePermissionDropdownProps, ActiveErrorMessage, ErrorBarProps, _TroubleshootingGuideErrorBarStrings, _TroubleshootingGuideErrorBar, ErrorBar } from '@internal/react-components';\nimport { CallingHandlers } from '@internal/calling-component-bindings';\nimport { Common } from '@internal/acs-ui-common';\nimport { FocusZone } from '@fluentui/react';\n\n/**\n * @private\n */\nexport interface ConfigurationPageErrorBarProps {\n errorBarProps: {\n activeErrorMessages: ActiveErrorMessage[];\n } & Common<CallingHandlers, ErrorBarProps>;\n showTroubleShootingErrorBar?: boolean;\n onPermissionsTroubleshootingClick?: (permissionsState: {\n camera: PermissionState;\n microphone: PermissionState;\n }) => void;\n onNetworkingTroubleShootingClick?: () => void;\n permissionsState?: {\n camera: PermissionState;\n microphone: PermissionState;\n };\n onDismissError: (error: ActiveErrorMessage) => void;\n}\n\n/**\n * @private\n */\nexport const ConfigurationPageErrorBar = (props: ConfigurationPageErrorBarProps): JSX.Element => {\n const {\n errorBarProps,\n showTroubleShootingErrorBar = false,\n onPermissionsTroubleshootingClick,\n onNetworkingTroubleShootingClick,\n permissionsState\n } = props;\n const permissionTroubleshootingGuideStrings: _TroubleshootingGuideErrorBarStrings = {\n devicePermissionLinkText: 'Troubleshooting Camera and Microphone Permissions',\n networkTroubleshootingLinkText: 'Troubleshooting Network Connection',\n dismissButtonText: 'OK'\n };\n if (showTroubleShootingErrorBar) {\n return <_TroubleshootingGuideErrorBar troubleshootingGuideStrings={permissionTroubleshootingGuideStrings} onPermissionsTroubleshootingClick={onPermissionsTroubleshootingClick} onNetworkingTroubleshootingClick={onNetworkingTroubleShootingClick} permissionsState={permissionsState} {...errorBarProps} onDismissError={props.onDismissError} />;\n }\n if (errorBarProps.activeErrorMessages.length === 0) {\n return <></>;\n }\n return <FocusZone shouldFocusOnMount>\n <ErrorBar {...errorBarProps} onDismissError={props.onDismissError} />\n </FocusZone>;\n};"]}
@@ -1,10 +1,12 @@
1
1
  /// <reference types="react" />
2
+ import { _DevicePermissionDropdownProps } from "../../../../../react-components/src";
2
3
  /**
3
4
  * @private
4
5
  */
5
6
  export interface ConfigurationPageMicDropdownProps {
6
7
  micGrantedDropdown: JSX.Element;
7
8
  micPermissionGranted: boolean;
9
+ dropdownProps: Partial<_DevicePermissionDropdownProps>;
8
10
  onClickEnableDevicePermission?: () => void;
9
11
  ariaLabelledby?: string;
10
12
  }
@@ -1,7 +1,26 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+ import React from 'react';
4
+ import { useTheme, _DevicePermissionDropdown } from "../../../../../react-components/src";
5
+ import { dropDownStyles } from '../styles/LocalDeviceSettings.styles';
6
+ import { CallCompositeIcon } from '../../common/icons';
1
7
  /**
2
8
  * @private
3
9
  */
4
10
  export const ConfigurationPageMicDropdown = (props) => {
11
+ const theme = useTheme();
12
+ const devicePermissionDropdownStringsMicrophone = {
13
+ placeHolderText: 'Enable Microphone (required)',
14
+ actionButtonContent: 'Allow'
15
+ };
16
+ const microphoneBlockedDropdown = React.createElement(_DevicePermissionDropdown, Object.assign({}, props.dropdownProps, { styles: dropDownStyles(theme), constrain: {
17
+ video: false,
18
+ audio: true
19
+ }, strings: devicePermissionDropdownStringsMicrophone, icon: React.createElement(CallCompositeIcon, { iconName: "ControlButtonMicOn", style: {
20
+ height: '1.25rem',
21
+ marginRight: '0.625rem'
22
+ } }), onClick: props.onClickEnableDevicePermission, ariaLabelledby: props.ariaLabelledby }));
23
+ return props.micPermissionGranted ? props.micGrantedDropdown : microphoneBlockedDropdown;
5
24
  return props.micGrantedDropdown;
6
25
  };
7
26
  //# sourceMappingURL=ConfigurationPageMicDropdown.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigurationPageMicDropdown.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.tsx"],"names":[],"mappings":"AAYA;;GAEG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,KAAwC,EAAe,EAAE;IACpG,OAAO,KAAK,CAAC,kBAAkB,CAAC;AAClC,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n/**\n * @private\n */\nexport interface ConfigurationPageMicDropdownProps {\n micGrantedDropdown: JSX.Element;\n micPermissionGranted: boolean;\n onClickEnableDevicePermission?: () => void;\n ariaLabelledby?: string;\n}\n\n/**\n * @private\n */\nexport const ConfigurationPageMicDropdown = (props: ConfigurationPageMicDropdownProps): JSX.Element => {\n return props.micGrantedDropdown;\n};"]}
1
+ {"version":3,"file":"ConfigurationPageMicDropdown.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAClC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAoC,yBAAyB,EAAkC,4CAAmC;AACnJ,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAavD;;GAEG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,KAAwC,EAAe,EAAE;IACpG,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,yCAAyC,GAAqC;QAClF,eAAe,EAAE,8BAA8B;QAC/C,mBAAmB,EAAE,OAAO;KAC7B,CAAC;IACF,MAAM,yBAAyB,GAAG,oBAAC,yBAAyB,oBAAK,KAAK,CAAC,aAAa,IAAE,MAAM,EAAE,cAAc,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE;YAC9H,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,IAAI;SACZ,EAAE,OAAO,EAAE,yCAAyC,EAAE,IAAI,EAAE,oBAAC,iBAAiB,IAAC,QAAQ,EAAC,oBAAoB,EAAC,KAAK,EAAE;gBACnH,MAAM,EAAE,SAAS;gBACjB,WAAW,EAAE,UAAU;aACxB,GAAI,EAAE,OAAO,EAAE,KAAK,CAAC,6BAA6B,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,IAAI,CAAC;IAC9F,OAAO,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,yBAAyB,CAAC;IACzF,OAAO,KAAK,CAAC,kBAAkB,CAAC;AAClC,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport React from 'react';\nimport { useTheme, _DevicePermissionDropdownStrings, _DevicePermissionDropdown, _DevicePermissionDropdownProps } from '@internal/react-components';\nimport { dropDownStyles } from '../styles/LocalDeviceSettings.styles';\nimport { CallCompositeIcon } from '../../common/icons';\n\n/**\n * @private\n */\nexport interface ConfigurationPageMicDropdownProps {\n micGrantedDropdown: JSX.Element;\n micPermissionGranted: boolean;\n dropdownProps: Partial<_DevicePermissionDropdownProps>;\n onClickEnableDevicePermission?: () => void;\n ariaLabelledby?: string;\n}\n\n/**\n * @private\n */\nexport const ConfigurationPageMicDropdown = (props: ConfigurationPageMicDropdownProps): JSX.Element => {\n const theme = useTheme();\n const devicePermissionDropdownStringsMicrophone: _DevicePermissionDropdownStrings = {\n placeHolderText: 'Enable Microphone (required)',\n actionButtonContent: 'Allow'\n };\n const microphoneBlockedDropdown = <_DevicePermissionDropdown {...props.dropdownProps} styles={dropDownStyles(theme)} constrain={{\n video: false,\n audio: true\n }} strings={devicePermissionDropdownStringsMicrophone} icon={<CallCompositeIcon iconName=\"ControlButtonMicOn\" style={{\n height: '1.25rem',\n marginRight: '0.625rem'\n }} />} onClick={props.onClickEnableDevicePermission} ariaLabelledby={props.ariaLabelledby} />;\n return props.micPermissionGranted ? props.micGrantedDropdown : microphoneBlockedDropdown;\n return props.micGrantedDropdown;\n};"]}
@@ -16,6 +16,7 @@ export interface LocalDeviceSettingsType {
16
16
  onSelectCamera: (device: VideoDeviceInfo, options?: VideoStreamOptions) => Promise<void>;
17
17
  onSelectMicrophone: (device: AudioDeviceInfo) => Promise<void>;
18
18
  onSelectSpeaker: (device: AudioDeviceInfo) => Promise<void>;
19
+ onClickEnableDevicePermission?: () => void;
19
20
  onClickVideoEffects?: () => void;
20
21
  }
21
22
  /**
@@ -12,7 +12,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
12
12
  import { Dropdown, Label, mergeStyles, Stack } from '@fluentui/react';
13
13
  import { DefaultButton } from '@fluentui/react';
14
14
  import { useEffect } from 'react';
15
- import { useTheme } from "../../../../../react-components/src";
15
+ import { useTheme, _DevicePermissionDropdown } from "../../../../../react-components/src";
16
16
  import React from 'react';
17
17
  import { CallCompositeIcon } from '../../common/icons';
18
18
  import { useLocale } from '../../localization';
@@ -20,6 +20,7 @@ import { deviceSelectionContainerStyles, dropDownStyles, dropDownTitleIconStyles
20
20
  import { useAdapter } from '../adapter/CallAdapterProvider';
21
21
  import { ConfigurationPageCameraDropdown } from './ConfigurationPageCameraDropdown';
22
22
  import { ConfigurationPageMicDropdown } from './ConfigurationPageMicDropdown';
23
+ import { useHandlers } from '../hooks/useHandlers';
23
24
  import { cameraAndVideoEffectsContainerStyleDesktop } from '../styles/CallConfiguration.styles';
24
25
  import { effectsButtonStyles } from '../styles/CallConfiguration.styles';
25
26
  import { useSelector } from '../hooks/useSelector';
@@ -98,6 +99,7 @@ export const LocalDeviceSettings = (props) => {
98
99
  }
99
100
  adapter.querySpeakers();
100
101
  }, [adapter, cameraPermissionGranted, micPermissionGranted]);
102
+ const dropdownProps = useHandlers(_DevicePermissionDropdown);
101
103
  const hasCameras = props.cameras.length > 0;
102
104
  const hasMicrophones = props.microphones.length > 0;
103
105
  const hasSpeakers = props.speakers.length > 0;
@@ -145,11 +147,11 @@ export const LocalDeviceSettings = (props) => {
145
147
  onResolveVideoEffectDependency && React.createElement(DefaultButton, { iconProps: {
146
148
  iconName: 'ConfigurationScreenVideoEffectsButton'
147
149
  }, styles: effectsButtonStyles(theme, !cameraPermissionGranted), onClick: props.onClickVideoEffects, disabled: !cameraPermissionGranted, "data-ui-id": 'call-config-video-effects-button' }, locale.strings.call.configurationPageVideoEffectsButtonLabel)),
148
- React.createElement(ConfigurationPageCameraDropdown, { cameraGrantedDropdown: cameraGrantedDropdown, cameraPermissionGranted: cameraPermissionGranted !== null && cameraPermissionGranted !== void 0 ? cameraPermissionGranted : false, ariaLabelledby: cameraLabelId })),
150
+ React.createElement(ConfigurationPageCameraDropdown, { cameraGrantedDropdown: cameraGrantedDropdown, cameraPermissionGranted: cameraPermissionGranted !== null && cameraPermissionGranted !== void 0 ? cameraPermissionGranted : false, dropdownProps: dropdownProps, onClickEnableDevicePermission: props.onClickEnableDevicePermission, ariaLabelledby: cameraLabelId })),
149
151
  React.createElement(Stack, null,
150
152
  React.createElement(Label, { id: soundLabelId, className: mergeStyles(dropDownStyles(theme).label) }, soundLabel),
151
153
  React.createElement(Stack, { "data-ui-id": "call-composite-sound-settings", tokens: soundStackTokens },
152
- React.createElement(ConfigurationPageMicDropdown, { micGrantedDropdown: micGrantedDropdown, micPermissionGranted: micPermissionGranted !== null && micPermissionGranted !== void 0 ? micPermissionGranted : false, ariaLabelledby: soundLabelId }),
154
+ React.createElement(ConfigurationPageMicDropdown, { micGrantedDropdown: micGrantedDropdown, micPermissionGranted: micPermissionGranted !== null && micPermissionGranted !== void 0 ? micPermissionGranted : false, dropdownProps: dropdownProps, onClickEnableDevicePermission: props.onClickEnableDevicePermission, ariaLabelledby: soundLabelId }),
153
155
  isSafariWithNoSpeakers ? React.createElement(React.Fragment, null) : speakerDropdown)));
154
156
  };
155
157
  const defaultDeviceId = (devices) => {