@azure/communication-react 1.13.0-alpha-202402040013 → 1.13.0-alpha-202402070012

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 (148) hide show
  1. package/dist/communication-react.d.ts +183 -66
  2. package/dist/dist-cjs/communication-react/index.js +959 -690
  3. package/dist/dist-cjs/communication-react/index.js.map +1 -1
  4. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
  5. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
  6. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.d.ts +5 -1
  7. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js.map +1 -1
  8. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js.map +1 -1
  9. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js +6 -4
  10. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js.map +1 -1
  11. package/dist/dist-esm/communication-react/src/index.d.ts +2 -2
  12. package/dist/dist-esm/communication-react/src/index.js +2 -2
  13. package/dist/dist-esm/communication-react/src/index.js.map +1 -1
  14. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponent.js +1 -1
  15. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponent.js.map +1 -1
  16. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsMessageBubble.js +3 -3
  17. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsMessageBubble.js.map +1 -1
  18. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.js.map +1 -1
  19. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js +3 -3
  20. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js.map +1 -1
  21. package/dist/dist-esm/react-components/src/components/ChatMessage/FluentChatMessageComponentWrapper.js +3 -3
  22. package/dist/dist-esm/react-components/src/components/ChatMessage/FluentChatMessageComponentWrapper.js.map +1 -1
  23. package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.d.ts +7 -7
  24. package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js +1 -1
  25. package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js.map +1 -1
  26. package/dist/dist-esm/react-components/src/components/ImageOverlay.d.ts +62 -0
  27. package/dist/dist-esm/react-components/src/components/ImageOverlay.js +52 -0
  28. package/dist/dist-esm/react-components/src/components/ImageOverlay.js.map +1 -0
  29. package/dist/dist-esm/react-components/src/components/MessageThread.js +2 -2
  30. package/dist/dist-esm/react-components/src/components/MessageThread.js.map +1 -1
  31. package/dist/dist-esm/react-components/src/components/ParticipantList.js.map +1 -1
  32. package/dist/dist-esm/react-components/src/components/Survey/StarSurvey/StarSurvey.styles.js +4 -4
  33. package/dist/dist-esm/react-components/src/components/Survey/StarSurvey/StarSurvey.styles.js.map +1 -1
  34. package/dist/dist-esm/react-components/src/components/Survey/TagsSurvey/TagsSurvey.styles.js +3 -1
  35. package/dist/dist-esm/react-components/src/components/Survey/TagsSurvey/TagsSurvey.styles.js.map +1 -1
  36. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.js +4 -4
  37. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.js.map +1 -1
  38. package/dist/dist-esm/react-components/src/components/VideoGallery.js.map +1 -1
  39. package/dist/dist-esm/react-components/src/components/assets/RaisedHandIcon.js +56 -56
  40. package/dist/dist-esm/react-components/src/components/assets/RaisedHandIcon.js.map +1 -1
  41. package/dist/dist-esm/react-components/src/components/index.d.ts +3 -3
  42. package/dist/dist-esm/react-components/src/components/index.js +2 -2
  43. package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
  44. package/dist/dist-esm/react-components/src/components/styles/{ImageGallery.style.d.ts → ImageOverlay.style.d.ts} +1 -1
  45. package/dist/dist-esm/react-components/src/components/styles/{ImageGallery.style.js → ImageOverlay.style.js} +7 -7
  46. package/dist/dist-esm/react-components/src/components/styles/{ImageGallery.style.js.map → ImageOverlay.style.js.map} +1 -1
  47. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.d.ts +3 -3
  48. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.js.map +1 -1
  49. package/dist/dist-esm/react-components/src/localization/locales/ar-SA/strings.json +1 -1
  50. package/dist/dist-esm/react-components/src/localization/locales/cs-CZ/strings.json +1 -1
  51. package/dist/dist-esm/react-components/src/localization/locales/de-DE/strings.json +1 -1
  52. package/dist/dist-esm/react-components/src/localization/locales/en-GB/strings.json +1 -1
  53. package/dist/dist-esm/react-components/src/localization/locales/en-US/strings.json +1 -1
  54. package/dist/dist-esm/react-components/src/localization/locales/es-ES/strings.json +1 -1
  55. package/dist/dist-esm/react-components/src/localization/locales/fi-FI/strings.json +1 -1
  56. package/dist/dist-esm/react-components/src/localization/locales/fr-FR/strings.json +1 -1
  57. package/dist/dist-esm/react-components/src/localization/locales/he-IL/strings.json +1 -1
  58. package/dist/dist-esm/react-components/src/localization/locales/it-IT/strings.json +1 -1
  59. package/dist/dist-esm/react-components/src/localization/locales/ja-JP/strings.json +1 -1
  60. package/dist/dist-esm/react-components/src/localization/locales/ko-KR/strings.json +1 -1
  61. package/dist/dist-esm/react-components/src/localization/locales/nb-NO/strings.json +1 -1
  62. package/dist/dist-esm/react-components/src/localization/locales/nl-NL/strings.json +1 -1
  63. package/dist/dist-esm/react-components/src/localization/locales/pl-PL/strings.json +1 -1
  64. package/dist/dist-esm/react-components/src/localization/locales/pt-BR/strings.json +1 -1
  65. package/dist/dist-esm/react-components/src/localization/locales/ru-RU/strings.json +1 -1
  66. package/dist/dist-esm/react-components/src/localization/locales/sv-SE/strings.json +1 -1
  67. package/dist/dist-esm/react-components/src/localization/locales/tr-TR/strings.json +1 -1
  68. package/dist/dist-esm/react-components/src/localization/locales/zh-CN/strings.json +1 -1
  69. package/dist/dist-esm/react-components/src/localization/locales/zh-TW/strings.json +1 -1
  70. package/dist/dist-esm/react-components/src/theming/icons.js +3 -1
  71. package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
  72. package/dist/dist-esm/react-components/src/theming/themes.d.ts +2 -2
  73. package/dist/dist-esm/react-components/src/theming/themes.js +2 -2
  74. package/dist/dist-esm/react-components/src/theming/themes.js.map +1 -1
  75. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.d.ts +4 -3
  76. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js +25 -22
  77. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js.map +1 -1
  78. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.d.ts +13 -4
  79. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.js.map +1 -1
  80. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.d.ts +62 -9
  81. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +115 -79
  82. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
  83. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.d.ts +16 -9
  84. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js.map +1 -1
  85. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.d.ts +2 -2
  86. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.js.map +1 -1
  87. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.d.ts +3 -0
  88. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js +12 -4
  89. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js.map +1 -1
  90. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.d.ts +3 -0
  91. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js +15 -3
  92. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js.map +1 -1
  93. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/Prompt.d.ts +73 -0
  94. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/Prompt.js +41 -0
  95. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/Prompt.js.map +1 -0
  96. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js +1 -1
  97. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js.map +1 -1
  98. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.d.ts +3 -2
  99. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js.map +1 -1
  100. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js +46 -23
  101. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js.map +1 -1
  102. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/NoticePage.d.ts +0 -35
  103. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/NoticePage.js +1 -11
  104. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/NoticePage.js.map +1 -1
  105. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/SurveyPage.d.ts +56 -0
  106. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/SurveyPage.js +29 -0
  107. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/SurveyPage.js.map +1 -0
  108. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ThankYouForFeedbackPage.d.ts +14 -0
  109. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ThankYouForFeedbackPage.js +27 -0
  110. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ThankYouForFeedbackPage.js.map +1 -0
  111. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js.map +1 -1
  112. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.d.ts +9 -2
  113. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js +9 -0
  114. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js.map +1 -1
  115. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/spotlightUtils.d.ts +9 -0
  116. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/spotlightUtils.js +81 -0
  117. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/spotlightUtils.js.map +1 -0
  118. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.d.ts +3 -2
  119. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js.map +1 -1
  120. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.d.ts +6 -3
  121. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +11 -6
  122. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js.map +1 -1
  123. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.d.ts +9 -5
  124. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.js.map +1 -1
  125. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.d.ts +6 -4
  126. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js +10 -6
  127. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js.map +1 -1
  128. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js +3 -1
  129. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js.map +1 -1
  130. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js +30 -34
  131. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js.map +1 -1
  132. package/dist/dist-esm/react-composites/src/composites/common/Survey.d.ts +20 -0
  133. package/dist/dist-esm/react-composites/src/composites/common/Survey.js +136 -0
  134. package/dist/dist-esm/react-composites/src/composites/common/Survey.js.map +1 -0
  135. package/dist/dist-esm/react-composites/src/composites/common/{SurveyPaneContent.d.ts → SurveyContent.d.ts} +2 -2
  136. package/dist/dist-esm/react-composites/src/composites/common/{SurveyPaneContent.js → SurveyContent.js} +4 -4
  137. package/dist/dist-esm/react-composites/src/composites/common/SurveyContent.js.map +1 -0
  138. package/dist/dist-esm/react-composites/src/composites/common/icons.js +3 -1
  139. package/dist/dist-esm/react-composites/src/composites/common/icons.js.map +1 -1
  140. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-US/strings.json +17 -2
  141. package/package.json +1 -1
  142. package/dist/dist-esm/react-components/src/components/ImageGallery.d.ts +0 -71
  143. package/dist/dist-esm/react-components/src/components/ImageGallery.js +0 -53
  144. package/dist/dist-esm/react-components/src/components/ImageGallery.js.map +0 -1
  145. package/dist/dist-esm/react-composites/src/composites/common/SurveyPane.d.ts +0 -13
  146. package/dist/dist-esm/react-composites/src/composites/common/SurveyPane.js +0 -87
  147. package/dist/dist-esm/react-composites/src/composites/common/SurveyPane.js.map +0 -1
  148. package/dist/dist-esm/react-composites/src/composites/common/SurveyPaneContent.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Survey.js","sourceRoot":"","sources":["../../../../../../../react-composites/src/composites/common/Survey.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport React from 'react';\n/* @conditional-compile-remove(end-of-call-survey) */\nimport { useState } from 'react';\n/* @conditional-compile-remove(end-of-call-survey) */\nimport { useLocale } from '../localization';\n/* @conditional-compile-remove(end-of-call-survey) */\nimport { CallSurvey, CallSurveyResponse } from '@azure/communication-calling';\n/* @conditional-compile-remove(end-of-call-survey) */\nimport { Text, PrimaryButton, Stack, Theme, mergeStyles, useTheme } from '@fluentui/react';\n/* @conditional-compile-remove(end-of-call-survey) */\nimport { SurveyContent } from './SurveyContent';\n/* @conditional-compile-remove(end-of-call-survey) */\nimport { CallSurveyImprovementSuggestions } from '@internal/react-components';\n/* @conditional-compile-remove(end-of-call-survey) */\nimport { _pxToRem } from '@internal/acs-ui-common';\n/* @conditional-compile-remove(end-of-call-survey) */\nimport { CallCompositeIcons } from './icons';\n/* @conditional-compile-remove(end-of-call-survey) */\nimport { NoticePage } from '../CallComposite/pages/NoticePage';\n/* @conditional-compile-remove(end-of-call-survey) */\nimport { ThankYouForFeedbackPage } from '../CallComposite/pages/ThankYouForFeedbackPage';\n\n/** @private */\nexport const Survey = (props: {\n /* @conditional-compile-remove(end-of-call-survey) */\n iconName?: keyof CallCompositeIcons;\n /* @conditional-compile-remove(end-of-call-survey) */\n title: string;\n /* @conditional-compile-remove(end-of-call-survey) */\n moreDetails?: string;\n /* @conditional-compile-remove(end-of-call-survey) */\n disableStartCallButton?: boolean;\n /* @conditional-compile-remove(end-of-call-survey) */\n isMobile?: boolean;\n /* @conditional-compile-remove(end-of-call-survey) */\n onSubmitSurvey?: (survey: CallSurvey) => Promise<CallSurveyResponse | undefined>;\n /* @conditional-compile-remove(end-of-call-survey) */\n /**\n * Optional callback to redirect users to custom screens when survey is done, note that default end call screen will be shown if this callback is not provided\n * This callback can be used to redirect users to different screens depending on survey state, whether it is submitted, skipped or has a problem when submitting the survey\n */\n onSurveyClosed?: (surveyState: 'sent' | 'skipped' | 'error', surveyError?: string) => void;\n /* @conditional-compile-remove(end-of-call-survey) */\n onSurveySubmittedCustom?: (\n callId: string,\n surveyId: string,\n /**\n * This is the survey results containing star survey data and API tag survey data.\n * This part of the result will always be sent to the calling sdk\n * This callback provides user with the ability to gain access to survey data\n */\n submittedSurvey: CallSurvey,\n /**\n * This is the survey results containing free form text\n * This part of the result will not be handled by composites\n * User will need to collect and handle this information 100% on their own\n * Free form text survey is not going to show in the UI if onSurveySubmitted is not populated\n */\n improvementSuggestions: CallSurveyImprovementSuggestions\n ) => Promise<void>;\n}): JSX.Element => {\n /* @conditional-compile-remove(end-of-call-survey) */\n const {\n onSubmitSurvey,\n onSurveySubmittedCustom,\n onSurveyClosed,\n iconName,\n title,\n moreDetails,\n disableStartCallButton,\n isMobile\n } = props;\n /* @conditional-compile-remove(end-of-call-survey) */\n const strings = useLocale().strings.call;\n /* @conditional-compile-remove(end-of-call-survey) */\n const [ratings, setRatings] = useState(0);\n /* @conditional-compile-remove(end-of-call-survey) */\n const [issuesSelected, setIssuesSelected] = useState<CallSurvey | undefined>();\n /* @conditional-compile-remove(end-of-call-survey) */\n const [showSubmitFeedbackButton, setShowSubmitFeedbackButton] = useState(false);\n /* @conditional-compile-remove(end-of-call-survey) */\n const [improvementSuggestions, setImprovementSuggestions] = useState<CallSurveyImprovementSuggestions>({});\n\n /* @conditional-compile-remove(end-of-call-survey) */\n const [showDefaultAfterSubmitScreen, setShowDefaultAfterSubmitScreen] = useState<boolean>(false);\n\n /* @conditional-compile-remove(end-of-call-survey) */\n const [showDefaultAfterDismissedScreen, setShowDefaultAfterDismissedScreen] = useState<boolean>(false);\n\n /* @conditional-compile-remove(end-of-call-survey) */\n const [submitButtonDisabled, setSubmitButtonDisabled] = useState<boolean>(false);\n\n /* @conditional-compile-remove(end-of-call-survey) */\n const theme = useTheme();\n\n /* @conditional-compile-remove(end-of-call-survey) */\n const questionTextStyle = (theme: Theme): string =>\n mergeStyles({\n fontWeight: 600,\n fontSize: _pxToRem(20),\n lineHeight: _pxToRem(20),\n color: theme.palette.neutralPrimary\n });\n /* @conditional-compile-remove(end-of-call-survey) */\n return (\n <>\n {showDefaultAfterSubmitScreen && <ThankYouForFeedbackPage iconName={iconName} />}\n {showDefaultAfterDismissedScreen && (\n <NoticePage\n iconName={iconName}\n title={title}\n moreDetails={moreDetails}\n dataUiId={'left-call-page'}\n disableStartCallButton={disableStartCallButton}\n />\n )}\n {!showDefaultAfterSubmitScreen && !showDefaultAfterDismissedScreen && (\n <Stack verticalAlign=\"center\" style={{ width: isMobile ? '20rem' : '24rem' }}>\n <Text className={questionTextStyle(theme)}>{strings.surveyTitle}</Text>\n <SurveyContent\n setShowSubmitFeedbackButton={(showButton: boolean) => {\n setShowSubmitFeedbackButton(showButton);\n }}\n setRatings={(rating: number) => {\n setRatings(rating);\n }}\n setIssuesSelected={(issuesSelected: CallSurvey) => {\n setIssuesSelected(issuesSelected);\n }}\n setImprovementSuggestions={\n onSurveySubmittedCustom\n ? (improvementSuggestions: CallSurveyImprovementSuggestions) => {\n setImprovementSuggestions(improvementSuggestions);\n }\n : undefined\n }\n />\n <Stack horizontal horizontalAlign=\"end\">\n <PrimaryButton\n style={{ marginTop: '1rem', marginRight: '0.5rem' }}\n onClick={() => {\n if (onSurveyClosed) {\n onSurveyClosed('skipped');\n } else {\n setShowDefaultAfterDismissedScreen(true);\n }\n }}\n >\n {strings.surveySkipButtonLabel}\n </PrimaryButton>\n\n {showSubmitFeedbackButton && (\n <PrimaryButton\n disabled={submitButtonDisabled}\n style={{ marginTop: '1rem', marginLeft: '0.5rem' }}\n onClick={async () => {\n const surveyResults: CallSurvey = { overallRating: { score: ratings } };\n if (issuesSelected?.overallRating) {\n surveyResults.overallRating = { score: ratings, issues: issuesSelected.overallRating.issues };\n }\n if (issuesSelected?.audioRating) {\n surveyResults.audioRating = { score: ratings, issues: issuesSelected.audioRating.issues };\n }\n if (issuesSelected?.screenshareRating) {\n surveyResults.screenshareRating = {\n score: ratings,\n issues: issuesSelected.screenshareRating.issues\n };\n }\n if (issuesSelected?.videoRating) {\n surveyResults.videoRating = { score: ratings, issues: issuesSelected.videoRating.issues };\n }\n if (onSubmitSurvey) {\n // disable submit button while waiting for the survey to submit\n setSubmitButtonDisabled(true);\n // submitting survey results to calling\n onSubmitSurvey(surveyResults)\n .then((res) => {\n // if contoso provided callback to handle their own survey data, send over the submitted survey results\n if (onSurveySubmittedCustom) {\n onSurveySubmittedCustom(\n res?.callId ?? '',\n res?.id ?? '',\n surveyResults,\n improvementSuggestions\n ).then(() => setSubmitButtonDisabled(false));\n } else {\n // if callback is not provided, enable the submit button after survey is submitted\n setSubmitButtonDisabled(false);\n }\n\n // redirect to new screen\n if (onSurveyClosed) {\n // redirect to new screen according to contoso's callback set up\n onSurveyClosed('sent');\n } else {\n // if call back not provided, redirect to default screen\n setShowDefaultAfterSubmitScreen(true);\n }\n })\n .catch((e) => {\n // if there is an error submitting the survey, log the error in the console\n console.log('error when submitting survey: ' + e);\n // if contoso provided redirect callback, pass contoso the error so they can redirect to a corresponding error screen\n if (onSurveyClosed) {\n onSurveyClosed('error', e);\n }\n });\n }\n }}\n >\n {strings.surveyConfirmButtonLabel}\n </PrimaryButton>\n )}\n </Stack>\n </Stack>\n )}\n </>\n );\n return <></>;\n};\n"]}
@@ -4,10 +4,10 @@ import { CallSurvey } from '@azure/communication-calling';
4
4
  /**
5
5
  * @private
6
6
  */
7
- export declare const SurveyPaneContent: (props: {
7
+ export declare const SurveyContent: (props: {
8
8
  setShowSubmitFeedbackButton: (showButton: boolean) => void;
9
9
  setRatings: (rating: number) => void;
10
10
  setIssuesSelected: (issuesSelected: CallSurvey) => void;
11
11
  setImprovementSuggestions?: ((improvementSuggestions: CallSurveyImprovementSuggestions) => void) | undefined;
12
12
  }) => JSX.Element;
13
- //# sourceMappingURL=SurveyPaneContent.d.ts.map
13
+ //# sourceMappingURL=SurveyContent.d.ts.map
@@ -12,13 +12,13 @@ import { Stack } from '@fluentui/react';
12
12
  /**
13
13
  * @private
14
14
  */
15
- export const SurveyPaneContent = (
15
+ export const SurveyContent = (
16
16
  /* @conditional-compile-remove(end-of-call-survey) */ props) => {
17
17
  /* @conditional-compile-remove(end-of-call-survey) */
18
18
  const [showTagsSurvey, setShowTagsSurvey] = useState(false);
19
19
  /* @conditional-compile-remove(end-of-call-survey) */
20
20
  const onStarRatingSelected = (ratings) => {
21
- if (ratings <= 2) {
21
+ if (ratings < 5) {
22
22
  setShowTagsSurvey(true);
23
23
  props.setShowSubmitFeedbackButton(true);
24
24
  }
@@ -36,9 +36,9 @@ export const SurveyPaneContent = (
36
36
  }
37
37
  };
38
38
  /* @conditional-compile-remove(end-of-call-survey) */
39
- return (React.createElement(Stack, null,
39
+ return (React.createElement(Stack, { "data-ui-id": "call-composite-survey" },
40
40
  React.createElement(StarSurvey, { onStarRatingSelected: onStarRatingSelected }),
41
41
  showTagsSurvey && (React.createElement(TagsSurvey, { onConfirm: onIssuesSelected, showFreeFormTextField: !(props.setImprovementSuggestions === undefined) }))));
42
42
  return React.createElement(React.Fragment, null);
43
43
  };
44
- //# sourceMappingURL=SurveyPaneContent.js.map
44
+ //# sourceMappingURL=SurveyContent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SurveyContent.js","sourceRoot":"","sources":["../../../../../../../react-composites/src/composites/common/SurveyContent.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,qDAAqD;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,qDAAqD;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,qDAAqD;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAWjC,qDAAqD;AACrD,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAExC;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;AAC3B,qDAAqD,CAAC,KASrD,EACY,EAAE;IACf,qDAAqD;IACrD,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5D,qDAAqD;IACrD,MAAM,oBAAoB,GAAG,CAAC,OAAe,EAAQ,EAAE;QACrD,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YAChB,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACxB,KAAK,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC;QAC1C,CAAC;QACD,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC,CAAC;IACF,qDAAqD;IACrD,MAAM,gBAAgB,GAAG,CACvB,YAAwB,EACxB,sBAAyD,EACnD,EAAE;QACR,KAAK,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;QACtC,KAAK,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,sBAAsB,IAAI,KAAK,CAAC,yBAAyB,EAAE,CAAC;YAC9D,KAAK,CAAC,yBAAyB,CAAC,sBAAsB,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC,CAAC;IACF,qDAAqD;IACrD,OAAO,CACL,oBAAC,KAAK,kBAAY,uBAAuB;QACvC,oBAAC,UAAU,IAAC,oBAAoB,EAAE,oBAAoB,GAAI;QAEzD,cAAc,IAAI,CACjB,oBAAC,UAAU,IACT,SAAS,EAAE,gBAAgB,EAC3B,qBAAqB,EAAE,CAAC,CAAC,KAAK,CAAC,yBAAyB,KAAK,SAAS,CAAC,GACvE,CACH,CACK,CACT,CAAC;IAEF,OAAO,yCAAK,CAAC;AACf,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport React from 'react';\n/* @conditional-compile-remove(end-of-call-survey) */\nimport { StarSurvey } from './StarSurvey';\n/* @conditional-compile-remove(end-of-call-survey) */\nimport { TagsSurvey } from './TagsSurvey';\n/* @conditional-compile-remove(end-of-call-survey) */\nimport { useState } from 'react';\n/* @conditional-compile-remove(end-of-call-survey) */\nimport {\n _AudioIssue,\n _OverallIssue,\n _ScreenshareIssue,\n _VideoIssue,\n CallSurveyImprovementSuggestions\n} from '@internal/react-components';\n/* @conditional-compile-remove(end-of-call-survey) */\nimport { CallSurvey } from '@azure/communication-calling';\n/* @conditional-compile-remove(end-of-call-survey) */\nimport { Stack } from '@fluentui/react';\n\n/**\n * @private\n */\nexport const SurveyContent = (\n /* @conditional-compile-remove(end-of-call-survey) */ props: {\n /* @conditional-compile-remove(end-of-call-survey) */\n setShowSubmitFeedbackButton: (showButton: boolean) => void;\n /* @conditional-compile-remove(end-of-call-survey) */\n setRatings: (rating: number) => void;\n /* @conditional-compile-remove(end-of-call-survey) */\n setIssuesSelected: (issuesSelected: CallSurvey) => void;\n /* @conditional-compile-remove(end-of-call-survey) */\n setImprovementSuggestions?: (improvementSuggestions: CallSurveyImprovementSuggestions) => void;\n }\n): JSX.Element => {\n /* @conditional-compile-remove(end-of-call-survey) */\n const [showTagsSurvey, setShowTagsSurvey] = useState(false);\n /* @conditional-compile-remove(end-of-call-survey) */\n const onStarRatingSelected = (ratings: number): void => {\n if (ratings < 5) {\n setShowTagsSurvey(true);\n props.setShowSubmitFeedbackButton(true);\n } else {\n props.setShowSubmitFeedbackButton(true);\n }\n props.setRatings(ratings);\n };\n /* @conditional-compile-remove(end-of-call-survey) */\n const onIssuesSelected = (\n selectedTags: CallSurvey,\n improvementSuggestions?: CallSurveyImprovementSuggestions\n ): void => {\n props.setIssuesSelected(selectedTags);\n props.setShowSubmitFeedbackButton(true);\n if (improvementSuggestions && props.setImprovementSuggestions) {\n props.setImprovementSuggestions(improvementSuggestions);\n }\n };\n /* @conditional-compile-remove(end-of-call-survey) */\n return (\n <Stack data-ui-id=\"call-composite-survey\">\n <StarSurvey onStarRatingSelected={onStarRatingSelected} />\n\n {showTagsSurvey && (\n <TagsSurvey\n onConfirm={onIssuesSelected}\n showFreeFormTextField={!(props.setImprovementSuggestions === undefined)}\n />\n )}\n </Stack>\n );\n\n return <></>;\n};\n"]}
@@ -6,7 +6,9 @@ import { MicProhibited20Filled, VideoProhibited20Filled } from '@fluentui/react-
6
6
  /* @conditional-compile-remove(gallery-layouts) */
7
7
  import { Grid20Regular } from '@fluentui/react-icons';
8
8
  /* @conditional-compile-remove(PSTN-calls) */
9
- import { PersonAdd20Regular, Dialpad20Regular, Call20Regular } from '@fluentui/react-icons';
9
+ import { PersonAdd20Regular, Call20Regular } from '@fluentui/react-icons';
10
+ /* @conditional-compile-remove(dtmf-dialer) */
11
+ import { Dialpad20Regular } from '@fluentui/react-icons';
10
12
  import { DEFAULT_COMPONENT_ICONS } from "../../../../react-components/src";
11
13
  import React from 'react';
12
14
  // eslint-disable-next-line no-restricted-imports
@@ -1 +1 @@
1
- {"version":3,"file":"icons.js","sourceRoot":"","sources":["../../../../../../../react-composites/src/composites/common/icons.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport {\n CallEnd20Filled,\n CallMissed20Filled,\n CameraSwitch24Regular,\n Chat20Filled,\n Chat20Regular,\n Info20Filled,\n MicOff20Filled,\n Mic20Filled,\n Mic20Regular,\n People20Regular,\n PersonDelete20Filled,\n Speaker220Filled,\n Speaker220Regular,\n Video20Filled,\n VideoOff20Filled,\n WifiWarning20Filled,\n Circle20Regular\n} from '@fluentui/react-icons';\n/* @conditional-compile-remove(capabilities) */\nimport { MicProhibited20Filled, VideoProhibited20Filled } from '@fluentui/react-icons';\n/* @conditional-compile-remove(gallery-layouts) */\nimport { Grid20Regular } from '@fluentui/react-icons';\n/* @conditional-compile-remove(PSTN-calls) */\nimport { PersonAdd20Regular, Dialpad20Regular, Call20Regular } from '@fluentui/react-icons';\nimport { DEFAULT_COMPONENT_ICONS } from '@internal/react-components';\nimport React from 'react';\n// eslint-disable-next-line no-restricted-imports\nimport { FontIcon, IIconProps, Spinner, SpinnerSize } from '@fluentui/react';\n/* @conditional-compile-remove(file-sharing) */\nimport { Attach20Regular } from '@fluentui/react-icons';\n/* @conditional-compile-remove(video-background-effects) */\nimport { VideoBackgroundEffect20Regular, VideoPerson20Filled } from '@fluentui/react-icons';\n/* @conditional-compile-remove(gallery-layouts) */\nimport {\n PersonSquare20Regular,\n WindowHeaderHorizontal20Regular,\n TableSimple20Regular,\n BoardSplit20Regular,\n ContentView20Regular,\n Table20Regular\n} from '@fluentui/react-icons';\n\nconst SpinnerIcon = (): JSX.Element => <Spinner size={SpinnerSize.large} />;\n\n/**\n * The default set of icons used by the composites directly (i.e. not via the components defined in this library).\n *\n * @public\n */\nexport const COMPOSITE_ONLY_ICONS: CompositeIcons = {\n ChevronLeft: undefined,\n Link: undefined,\n LobbyScreenConnectingToCall: <SpinnerIcon />,\n LobbyScreenWaitingToBeAdmitted: <SpinnerIcon />,\n LocalDeviceSettingsCamera: <Video20Filled />,\n LocalDeviceSettingsMic: <Mic20Filled />,\n LocalDeviceSettingsSpeaker: <Speaker220Filled />,\n LocalPreviewPlaceholder: <VideoOff20Filled />,\n LocalCameraSwitch: <CameraSwitch24Regular />,\n ControlBarChatButtonActive: <Chat20Filled />,\n ControlBarChatButtonInactive: <Chat20Regular />,\n /* @conditional-compile-remove(capabilities) */\n ControlButtonCameraProhibited: <VideoProhibited20Filled />,\n /* @conditional-compile-remove(capabilities) */\n ControlButtonMicProhibited: <MicProhibited20Filled />,\n ControlBarPeopleButton: <People20Regular />,\n MoreDrawerMicrophones: <Mic20Regular />,\n MoreDrawerPeople: <People20Regular />,\n MoreDrawerSpeakers: <Speaker220Regular />,\n MoreDrawerSelectedMicrophone: <Mic20Filled />,\n MoreDrawerSelectedSpeaker: <Speaker220Filled />,\n Muted: <MicOff20Filled />,\n NetworkReconnectIcon: <CallMissed20Filled />,\n NoticePageAccessDeniedTeamsMeeting: <PersonDelete20Filled />,\n NoticePageJoinCallFailedDueToNoNetwork: <WifiWarning20Filled />,\n NoticePageLeftCall: <CallEnd20Filled />,\n NoticePageRemovedFromCall: <Info20Filled />,\n /* @conditional-compile-remove(rooms) */\n NoticePageNotInvitedToRoom: <Info20Filled />,\n /* @conditional-compile-remove(rooms) */\n NoticePageRoomNotFound: <Info20Filled />,\n /* @conditional-compile-remove(rooms) */\n NoticePageRoomNotValid: <Info20Filled />,\n /* @conditional-compile-remove(calling-sounds) */\n NoticePageCallRejected: <Info20Filled />,\n NoticePageCallTimeout: <Info20Filled />,\n /* @conditional-compile-remove(file-sharing) */\n SendBoxAttachFile: <Attach20Regular />,\n /* @conditional-compile-remove(PSTN-calls) */\n PeoplePaneAddPerson: <PersonAdd20Regular />,\n /* @conditional-compile-remove(PSTN-calls) */\n PeoplePaneOpenDialpad: <Dialpad20Regular />,\n /* @conditional-compile-remove(PSTN-calls) */\n DialpadStartCall: <Call20Regular />,\n /* @conditional-compile-remove(rooms) */\n NoticePageInviteToRoomRemoved: <Info20Filled />,\n /* @conditional-compile-remove(video-background-effects) */\n BlurVideoBackground: <VideoBackgroundEffect20Regular />,\n /* @conditional-compile-remove(video-background-effects) */\n RemoveVideoBackgroundEffect: <VideoPerson20Filled />,\n /* @conditional-compile-remove(gallery-layouts) */\n GalleryOptions: <Grid20Regular />,\n /* @conditional-compile-remove(gallery-layouts) */\n OverflowGalleryTop: <WindowHeaderHorizontal20Regular />,\n /* @conditional-compile-remove(gallery-layouts) */\n SpeakerGalleryLayout: <PersonSquare20Regular />,\n /* @conditional-compile-remove(gallery-layouts) */\n DefaultGalleryLayout: <TableSimple20Regular />,\n /* @conditional-compile-remove(gallery-layouts) */\n FloatingLocalVideoGalleryLayout: <BoardSplit20Regular />,\n /* @conditional-compile-remove(gallery-layouts) */\n FocusedContentGalleryLayout: <ContentView20Regular />,\n /* @conditional-compile-remove(gallery-layouts) */\n LargeGalleryLayout: <Table20Regular />,\n /* @conditional-compile-remove(control-bar-button-injection) */\n DefaultCustomButton: <Circle20Regular />,\n /* @conditional-compile-remove(dtmf-dialer) */\n DtmfDialpadButton: <Dialpad20Regular />\n};\n\n/**\n * The default set of icons that are available to used in the Composites.\n *\n * @public\n */\nexport const DEFAULT_COMPOSITE_ICONS = {\n ...DEFAULT_COMPONENT_ICONS,\n ...COMPOSITE_ONLY_ICONS\n};\n\n/** @private */\nexport type CompositeIconProps<Icons> = IIconProps & { iconName: keyof Icons };\n\n/**\n * Icons that can be overridden for {@link ChatComposite}.\n *\n * @public\n */\nexport type ChatCompositeIcons = {\n EditBoxCancel?: JSX.Element;\n EditBoxSubmit?: JSX.Element;\n MessageDelivered?: JSX.Element;\n MessageEdit?: JSX.Element;\n MessageFailed?: JSX.Element;\n MessageRemove?: JSX.Element;\n MessageSeen?: JSX.Element;\n MessageSending?: JSX.Element;\n ParticipantItemOptions?: JSX.Element;\n ParticipantItemOptionsHovered?: JSX.Element;\n SendBoxSend?: JSX.Element;\n SendBoxSendHovered?: JSX.Element;\n /* @conditional-compile-remove(file-sharing) */\n SendBoxAttachFile?: JSX.Element;\n};\n\n/**\n * Icon wrapper to use when including customizable icons inside the ChatComposite.\n * This wrapper ensures the icon name is being type-checked helping ensure no typos\n * and ensure that icon is customizable through the composite API.\n *\n * @private\n */\nexport const ChatCompositeIcon = (props: CompositeIconProps<ChatCompositeIcons>): JSX.Element => (\n <FontIcon {...props} />\n);\n\n/**\n * Icons that can be overridden for {@link CallComposite}.\n *\n * @public\n */\nexport type CallCompositeIcons = {\n ControlBarPeopleButton?: JSX.Element;\n ControlButtonCameraOff?: JSX.Element;\n ControlButtonCameraOn?: JSX.Element;\n ControlButtonEndCall?: JSX.Element;\n ControlButtonMicOff?: JSX.Element;\n ControlButtonMicOn?: JSX.Element;\n ControlButtonOptions?: JSX.Element;\n ControlButtonParticipants?: JSX.Element;\n ControlButtonScreenShareStart?: JSX.Element;\n ControlButtonScreenShareStop?: JSX.Element;\n /* @conditional-compile-remove(capabilities) */\n ControlButtonCameraProhibited?: JSX.Element;\n /* @conditional-compile-remove(capabilities) */\n ControlButtonMicProhibited?: JSX.Element;\n /* @conditional-compile-remove(raise-hand) */\n ControlButtonRaiseHand?: JSX.Element;\n /* @conditional-compile-remove(raise-hand) */\n ControlButtonLowerHand?: JSX.Element;\n /* @conditional-compile-remove(raise-hand) */\n RaiseHandContextualMenuItem?: JSX.Element;\n /* @conditional-compile-remove(reaction) */\n ReactionContextualMenuItem?: JSX.Element;\n LowerHandContextualMenuItem?: JSX.Element;\n /* @conditional-compile-remove(reaction) */\n ReactionButtonIcon?: JSX.Element;\n ErrorBarCallCameraAccessDenied?: JSX.Element;\n ErrorBarCallCameraAlreadyInUse?: JSX.Element;\n ErrorBarCallLocalVideoFreeze?: JSX.Element;\n ErrorBarCallMacOsCameraAccessDenied?: JSX.Element;\n ErrorBarCallMacOsMicrophoneAccessDenied?: JSX.Element;\n ErrorBarCallMicrophoneAccessDenied?: JSX.Element;\n ErrorBarCallMicrophoneMutedBySystem?: JSX.Element;\n ErrorBarCallMicrophoneUnmutedBySystem?: JSX.Element;\n ErrorBarCallNetworkQualityLow?: JSX.Element;\n ErrorBarCallNoMicrophoneFound?: JSX.Element;\n ErrorBarCallNoSpeakerFound?: JSX.Element;\n ErrorBarClear?: JSX.Element;\n HorizontalGalleryLeftButton?: JSX.Element;\n HorizontalGalleryRightButton?: JSX.Element;\n LobbyScreenConnectingToCall?: JSX.Element;\n LobbyScreenWaitingToBeAdmitted?: JSX.Element;\n LocalDeviceSettingsCamera?: JSX.Element;\n LocalDeviceSettingsMic?: JSX.Element;\n LocalDeviceSettingsSpeaker?: JSX.Element;\n LocalPreviewPlaceholder?: JSX.Element;\n Muted?: JSX.Element;\n NetworkReconnectIcon?: JSX.Element;\n NoticePageAccessDeniedTeamsMeeting?: JSX.Element;\n NoticePageJoinCallFailedDueToNoNetwork?: JSX.Element;\n NoticePageLeftCall?: JSX.Element;\n NoticePageRemovedFromCall?: JSX.Element;\n /* @conditional-compile-remove(calling-sounds) */\n NoticePageCallRejected?: JSX.Element;\n /* @conditional-compile-remove(rooms) */\n NoticePageNotInvitedToRoom?: JSX.Element;\n /* @conditional-compile-remove(rooms) */\n NoticePageRoomNotFound?: JSX.Element;\n /* @conditional-compile-remove(rooms) */\n NoticePageRoomNotValid?: JSX.Element;\n NoticePageCallTimeout?: JSX.Element;\n OptionsCamera?: JSX.Element;\n OptionsMic?: JSX.Element;\n OptionsSpeaker?: JSX.Element;\n ParticipantItemMicOff?: JSX.Element;\n ParticipantItemOptions?: JSX.Element;\n ParticipantItemOptionsHovered?: JSX.Element;\n ParticipantItemScreenShareStart?: JSX.Element;\n VideoTileMicOff?: JSX.Element;\n LocalCameraSwitch?: JSX.Element;\n /* @conditional-compile-remove(PSTN-calls) */\n PeoplePaneAddPerson?: JSX.Element;\n /* @conditional-compile-remove(PSTN-calls) */\n PeoplePaneOpenDialpad?: JSX.Element;\n /* @conditional-compile-remove(PSTN-calls) */\n DialpadStartCall?: JSX.Element;\n /* @conditional-compile-remove(rooms) */\n NoticePageInviteToRoomRemoved?: JSX.Element;\n /* @conditional-compile-remove(video-background-effects) */\n BlurVideoBackground?: JSX.Element;\n /* @conditional-compile-remove(video-background-effects) */\n RemoveVideoBackgroundEffect?: JSX.Element;\n /* @conditional-compile-remove(gallery-layouts) */\n GalleryOptions?: JSX.Element;\n /* @conditional-compile-remove(gallery-layouts) */\n SpeakerGalleryLayout?: JSX.Element;\n /* @conditional-compile-remove(gallery-layouts) */\n FloatingLocalVideoGalleryLayout?: JSX.Element;\n /* @conditional-compile-remove(gallery-layouts) */\n DefaultGalleryLayout?: JSX.Element;\n /* @conditional-compile-remove(gallery-layouts) */\n FocusedContentGalleryLayout?: JSX.Element;\n /* @conditional-compile-remove(gallery-layouts) */\n OverflowGalleryTop?: JSX.Element;\n /* @conditional-compile-remove(gallery-layouts) */\n LargeGalleryLayout?: JSX.Element;\n /* @conditional-compile-remove(control-bar-button-injection) */\n DefaultCustomButton?: JSX.Element;\n /* @conditional-compile-remove(dtmf-dialer) */\n DtmfDialpadButton?: JSX.Element;\n};\n\n/**\n * Icon wrapper to use when including customizable icons inside the CallComposite.\n * This wrapper ensures the icon name is being type-checked helping ensure no typos\n * and ensure that icon is customizable through the composite API.\n *\n * @private\n */\nexport const CallCompositeIcon = (props: CompositeIconProps<CallCompositeIcons>): JSX.Element => (\n <FontIcon {...props} />\n);\n\n/**\n * Icons that can be overridden for {@link CallWithChatComposite}.\n *\n * @public\n */\nexport type CallWithChatCompositeIcons = {\n // CallWithChat Specific Icons\n ChevronLeft?: JSX.Element;\n ControlBarChatButtonActive?: JSX.Element;\n ControlBarChatButtonInactive?: JSX.Element;\n ControlBarPeopleButton?: JSX.Element;\n Link?: JSX.Element;\n MoreDrawerMicrophones?: JSX.Element;\n MoreDrawerPeople?: JSX.Element;\n MoreDrawerSelectedMicrophone?: JSX.Element;\n MoreDrawerSelectedSpeaker?: JSX.Element;\n MoreDrawerSpeakers?: JSX.Element;\n\n // Call icons\n ControlButtonCameraOff?: JSX.Element;\n ControlButtonCameraOn?: JSX.Element;\n ControlButtonEndCall?: JSX.Element;\n ControlButtonMicOff?: JSX.Element;\n ControlButtonMicOn?: JSX.Element;\n ControlButtonOptions?: JSX.Element;\n ControlButtonScreenShareStart?: JSX.Element;\n ControlButtonScreenShareStop?: JSX.Element;\n /* @conditional-compile-remove(capabilities) */\n ControlButtonCameraProhibited?: JSX.Element;\n /* @conditional-compile-remove(capabilities) */\n ControlButtonMicProhibited?: JSX.Element;\n ErrorBarCallCameraAccessDenied?: JSX.Element;\n ErrorBarCallCameraAlreadyInUse?: JSX.Element;\n ErrorBarCallLocalVideoFreeze?: JSX.Element;\n ErrorBarCallMacOsCameraAccessDenied?: JSX.Element;\n ErrorBarCallMacOsMicrophoneAccessDenied?: JSX.Element;\n ErrorBarCallMicrophoneAccessDenied?: JSX.Element;\n ErrorBarCallMicrophoneMutedBySystem?: JSX.Element;\n ErrorBarCallMicrophoneUnmutedBySystem?: JSX.Element;\n ErrorBarCallNetworkQualityLow?: JSX.Element;\n ErrorBarCallNoMicrophoneFound?: JSX.Element;\n ErrorBarCallNoSpeakerFound?: JSX.Element;\n ErrorBarClear?: JSX.Element;\n HorizontalGalleryLeftButton?: JSX.Element;\n HorizontalGalleryRightButton?: JSX.Element;\n LobbyScreenConnectingToCall?: JSX.Element;\n LobbyScreenWaitingToBeAdmitted?: JSX.Element;\n LocalDeviceSettingsCamera?: JSX.Element;\n LocalDeviceSettingsMic?: JSX.Element;\n LocalDeviceSettingsSpeaker?: JSX.Element;\n LocalPreviewPlaceholder?: JSX.Element;\n Muted?: JSX.Element;\n NetworkReconnectIcon?: JSX.Element;\n NoticePageAccessDeniedTeamsMeeting?: JSX.Element;\n NoticePageJoinCallFailedDueToNoNetwork?: JSX.Element;\n NoticePageLeftCall?: JSX.Element;\n NoticePageRemovedFromCall?: JSX.Element;\n OptionsCamera?: JSX.Element;\n OptionsMic?: JSX.Element;\n OptionsSpeaker?: JSX.Element;\n ParticipantItemMicOff?: JSX.Element;\n ParticipantItemScreenShareStart?: JSX.Element;\n VideoTileMicOff?: JSX.Element;\n LocalCameraSwitch?: JSX.Element;\n /* @conditional-compile-remove(PSTN-calls) */\n PeoplePaneAddPerson?: JSX.Element;\n /* @conditional-compile-remove(PSTN-calls) */\n PeoplePaneOpenDialpad?: JSX.Element;\n /* @conditional-compile-remove(PSTN-calls) */\n DialpadStartCall?: JSX.Element;\n /* @conditional-compile-remove(control-bar-button-injection) */\n DefaultCustomButton?: JSX.Element;\n /* @conditional-compile-remove(dtmf-dialer) */\n DtmfDialpadButton?: JSX.Element;\n\n // Chat icons\n EditBoxCancel?: JSX.Element;\n EditBoxSubmit?: JSX.Element;\n MessageDelivered?: JSX.Element;\n MessageEdit?: JSX.Element;\n MessageFailed?: JSX.Element;\n MessageRemove?: JSX.Element;\n MessageSeen?: JSX.Element;\n MessageSending?: JSX.Element;\n SendBoxSend?: JSX.Element;\n SendBoxSendHovered?: JSX.Element;\n SendBoxAttachFile?: JSX.Element;\n\n // Icons common to Call and Chat.\n ParticipantItemOptions?: JSX.Element;\n ParticipantItemOptionsHovered?: JSX.Element;\n};\n\n/**\n * Icon wrapper to use when including customizable icons inside the CallWithChatComposite.\n * This wrapper ensures the icon name is being type-checked helping ensure no typos\n * and ensure that icon is customizable through the composite API.\n *\n * @private\n */\nexport const CallWithChatCompositeIcon = (props: CompositeIconProps<CallWithChatCompositeIcons>): JSX.Element => (\n <FontIcon {...props} />\n);\n\n/**\n * Icons that can be overridden in one of the composites exported by this library.\n *\n * See {@link ChatCompositeIcons}, {@link CallCompositeIcons} and {@link CallWithChatCompositeIcons} for more targeted types.\n *\n * @public\n */\nexport type CompositeIcons = ChatCompositeIcons & CallCompositeIcons & CallWithChatCompositeIcons;\n"]}
1
+ {"version":3,"file":"icons.js","sourceRoot":"","sources":["../../../../../../../react-composites/src/composites/common/icons.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport {\n CallEnd20Filled,\n CallMissed20Filled,\n CameraSwitch24Regular,\n Chat20Filled,\n Chat20Regular,\n Info20Filled,\n MicOff20Filled,\n Mic20Filled,\n Mic20Regular,\n People20Regular,\n PersonDelete20Filled,\n Speaker220Filled,\n Speaker220Regular,\n Video20Filled,\n VideoOff20Filled,\n WifiWarning20Filled,\n Circle20Regular\n} from '@fluentui/react-icons';\n/* @conditional-compile-remove(capabilities) */\nimport { MicProhibited20Filled, VideoProhibited20Filled } from '@fluentui/react-icons';\n/* @conditional-compile-remove(gallery-layouts) */\nimport { Grid20Regular } from '@fluentui/react-icons';\n/* @conditional-compile-remove(PSTN-calls) */\nimport { PersonAdd20Regular, Call20Regular } from '@fluentui/react-icons';\n/* @conditional-compile-remove(dtmf-dialer) */\nimport { Dialpad20Regular } from '@fluentui/react-icons';\nimport { DEFAULT_COMPONENT_ICONS } from '@internal/react-components';\nimport React from 'react';\n// eslint-disable-next-line no-restricted-imports\nimport { FontIcon, IIconProps, Spinner, SpinnerSize } from '@fluentui/react';\n/* @conditional-compile-remove(file-sharing) */\nimport { Attach20Regular } from '@fluentui/react-icons';\n/* @conditional-compile-remove(video-background-effects) */\nimport { VideoBackgroundEffect20Regular, VideoPerson20Filled } from '@fluentui/react-icons';\n/* @conditional-compile-remove(gallery-layouts) */\nimport {\n PersonSquare20Regular,\n WindowHeaderHorizontal20Regular,\n TableSimple20Regular,\n BoardSplit20Regular,\n ContentView20Regular,\n Table20Regular\n} from '@fluentui/react-icons';\n\nconst SpinnerIcon = (): JSX.Element => <Spinner size={SpinnerSize.large} />;\n\n/**\n * The default set of icons used by the composites directly (i.e. not via the components defined in this library).\n *\n * @public\n */\nexport const COMPOSITE_ONLY_ICONS: CompositeIcons = {\n ChevronLeft: undefined,\n Link: undefined,\n LobbyScreenConnectingToCall: <SpinnerIcon />,\n LobbyScreenWaitingToBeAdmitted: <SpinnerIcon />,\n LocalDeviceSettingsCamera: <Video20Filled />,\n LocalDeviceSettingsMic: <Mic20Filled />,\n LocalDeviceSettingsSpeaker: <Speaker220Filled />,\n LocalPreviewPlaceholder: <VideoOff20Filled />,\n LocalCameraSwitch: <CameraSwitch24Regular />,\n ControlBarChatButtonActive: <Chat20Filled />,\n ControlBarChatButtonInactive: <Chat20Regular />,\n /* @conditional-compile-remove(capabilities) */\n ControlButtonCameraProhibited: <VideoProhibited20Filled />,\n /* @conditional-compile-remove(capabilities) */\n ControlButtonMicProhibited: <MicProhibited20Filled />,\n ControlBarPeopleButton: <People20Regular />,\n MoreDrawerMicrophones: <Mic20Regular />,\n MoreDrawerPeople: <People20Regular />,\n MoreDrawerSpeakers: <Speaker220Regular />,\n MoreDrawerSelectedMicrophone: <Mic20Filled />,\n MoreDrawerSelectedSpeaker: <Speaker220Filled />,\n Muted: <MicOff20Filled />,\n NetworkReconnectIcon: <CallMissed20Filled />,\n NoticePageAccessDeniedTeamsMeeting: <PersonDelete20Filled />,\n NoticePageJoinCallFailedDueToNoNetwork: <WifiWarning20Filled />,\n NoticePageLeftCall: <CallEnd20Filled />,\n NoticePageRemovedFromCall: <Info20Filled />,\n /* @conditional-compile-remove(rooms) */\n NoticePageNotInvitedToRoom: <Info20Filled />,\n /* @conditional-compile-remove(rooms) */\n NoticePageRoomNotFound: <Info20Filled />,\n /* @conditional-compile-remove(rooms) */\n NoticePageRoomNotValid: <Info20Filled />,\n /* @conditional-compile-remove(calling-sounds) */\n NoticePageCallRejected: <Info20Filled />,\n NoticePageCallTimeout: <Info20Filled />,\n /* @conditional-compile-remove(file-sharing) */\n SendBoxAttachFile: <Attach20Regular />,\n /* @conditional-compile-remove(PSTN-calls) */\n PeoplePaneAddPerson: <PersonAdd20Regular />,\n /* @conditional-compile-remove(PSTN-calls) */\n PeoplePaneOpenDialpad: <Dialpad20Regular />,\n /* @conditional-compile-remove(PSTN-calls) */\n DialpadStartCall: <Call20Regular />,\n /* @conditional-compile-remove(rooms) */\n NoticePageInviteToRoomRemoved: <Info20Filled />,\n /* @conditional-compile-remove(video-background-effects) */\n BlurVideoBackground: <VideoBackgroundEffect20Regular />,\n /* @conditional-compile-remove(video-background-effects) */\n RemoveVideoBackgroundEffect: <VideoPerson20Filled />,\n /* @conditional-compile-remove(gallery-layouts) */\n GalleryOptions: <Grid20Regular />,\n /* @conditional-compile-remove(gallery-layouts) */\n OverflowGalleryTop: <WindowHeaderHorizontal20Regular />,\n /* @conditional-compile-remove(gallery-layouts) */\n SpeakerGalleryLayout: <PersonSquare20Regular />,\n /* @conditional-compile-remove(gallery-layouts) */\n DefaultGalleryLayout: <TableSimple20Regular />,\n /* @conditional-compile-remove(gallery-layouts) */\n FloatingLocalVideoGalleryLayout: <BoardSplit20Regular />,\n /* @conditional-compile-remove(gallery-layouts) */\n FocusedContentGalleryLayout: <ContentView20Regular />,\n /* @conditional-compile-remove(gallery-layouts) */\n LargeGalleryLayout: <Table20Regular />,\n /* @conditional-compile-remove(control-bar-button-injection) */\n DefaultCustomButton: <Circle20Regular />,\n /* @conditional-compile-remove(dtmf-dialer) */\n DtmfDialpadButton: <Dialpad20Regular />\n};\n\n/**\n * The default set of icons that are available to used in the Composites.\n *\n * @public\n */\nexport const DEFAULT_COMPOSITE_ICONS = {\n ...DEFAULT_COMPONENT_ICONS,\n ...COMPOSITE_ONLY_ICONS\n};\n\n/** @private */\nexport type CompositeIconProps<Icons> = IIconProps & { iconName: keyof Icons };\n\n/**\n * Icons that can be overridden for {@link ChatComposite}.\n *\n * @public\n */\nexport type ChatCompositeIcons = {\n EditBoxCancel?: JSX.Element;\n EditBoxSubmit?: JSX.Element;\n MessageDelivered?: JSX.Element;\n MessageEdit?: JSX.Element;\n MessageFailed?: JSX.Element;\n MessageRemove?: JSX.Element;\n MessageSeen?: JSX.Element;\n MessageSending?: JSX.Element;\n ParticipantItemOptions?: JSX.Element;\n ParticipantItemOptionsHovered?: JSX.Element;\n SendBoxSend?: JSX.Element;\n SendBoxSendHovered?: JSX.Element;\n /* @conditional-compile-remove(file-sharing) */\n SendBoxAttachFile?: JSX.Element;\n};\n\n/**\n * Icon wrapper to use when including customizable icons inside the ChatComposite.\n * This wrapper ensures the icon name is being type-checked helping ensure no typos\n * and ensure that icon is customizable through the composite API.\n *\n * @private\n */\nexport const ChatCompositeIcon = (props: CompositeIconProps<ChatCompositeIcons>): JSX.Element => (\n <FontIcon {...props} />\n);\n\n/**\n * Icons that can be overridden for {@link CallComposite}.\n *\n * @public\n */\nexport type CallCompositeIcons = {\n ControlBarPeopleButton?: JSX.Element;\n ControlButtonCameraOff?: JSX.Element;\n ControlButtonCameraOn?: JSX.Element;\n ControlButtonEndCall?: JSX.Element;\n ControlButtonMicOff?: JSX.Element;\n ControlButtonMicOn?: JSX.Element;\n ControlButtonOptions?: JSX.Element;\n ControlButtonParticipants?: JSX.Element;\n ControlButtonScreenShareStart?: JSX.Element;\n ControlButtonScreenShareStop?: JSX.Element;\n /* @conditional-compile-remove(capabilities) */\n ControlButtonCameraProhibited?: JSX.Element;\n /* @conditional-compile-remove(capabilities) */\n ControlButtonMicProhibited?: JSX.Element;\n /* @conditional-compile-remove(raise-hand) */\n ControlButtonRaiseHand?: JSX.Element;\n /* @conditional-compile-remove(raise-hand) */\n ControlButtonLowerHand?: JSX.Element;\n /* @conditional-compile-remove(raise-hand) */\n RaiseHandContextualMenuItem?: JSX.Element;\n /* @conditional-compile-remove(reaction) */\n ReactionContextualMenuItem?: JSX.Element;\n LowerHandContextualMenuItem?: JSX.Element;\n /* @conditional-compile-remove(reaction) */\n ReactionButtonIcon?: JSX.Element;\n ErrorBarCallCameraAccessDenied?: JSX.Element;\n ErrorBarCallCameraAlreadyInUse?: JSX.Element;\n ErrorBarCallLocalVideoFreeze?: JSX.Element;\n ErrorBarCallMacOsCameraAccessDenied?: JSX.Element;\n ErrorBarCallMacOsMicrophoneAccessDenied?: JSX.Element;\n ErrorBarCallMicrophoneAccessDenied?: JSX.Element;\n ErrorBarCallMicrophoneMutedBySystem?: JSX.Element;\n ErrorBarCallMicrophoneUnmutedBySystem?: JSX.Element;\n ErrorBarCallNetworkQualityLow?: JSX.Element;\n ErrorBarCallNoMicrophoneFound?: JSX.Element;\n ErrorBarCallNoSpeakerFound?: JSX.Element;\n ErrorBarClear?: JSX.Element;\n HorizontalGalleryLeftButton?: JSX.Element;\n HorizontalGalleryRightButton?: JSX.Element;\n LobbyScreenConnectingToCall?: JSX.Element;\n LobbyScreenWaitingToBeAdmitted?: JSX.Element;\n LocalDeviceSettingsCamera?: JSX.Element;\n LocalDeviceSettingsMic?: JSX.Element;\n LocalDeviceSettingsSpeaker?: JSX.Element;\n LocalPreviewPlaceholder?: JSX.Element;\n Muted?: JSX.Element;\n NetworkReconnectIcon?: JSX.Element;\n NoticePageAccessDeniedTeamsMeeting?: JSX.Element;\n NoticePageJoinCallFailedDueToNoNetwork?: JSX.Element;\n NoticePageLeftCall?: JSX.Element;\n NoticePageRemovedFromCall?: JSX.Element;\n /* @conditional-compile-remove(calling-sounds) */\n NoticePageCallRejected?: JSX.Element;\n /* @conditional-compile-remove(rooms) */\n NoticePageNotInvitedToRoom?: JSX.Element;\n /* @conditional-compile-remove(rooms) */\n NoticePageRoomNotFound?: JSX.Element;\n /* @conditional-compile-remove(rooms) */\n NoticePageRoomNotValid?: JSX.Element;\n NoticePageCallTimeout?: JSX.Element;\n OptionsCamera?: JSX.Element;\n OptionsMic?: JSX.Element;\n OptionsSpeaker?: JSX.Element;\n ParticipantItemMicOff?: JSX.Element;\n ParticipantItemOptions?: JSX.Element;\n ParticipantItemOptionsHovered?: JSX.Element;\n ParticipantItemScreenShareStart?: JSX.Element;\n VideoTileMicOff?: JSX.Element;\n LocalCameraSwitch?: JSX.Element;\n /* @conditional-compile-remove(PSTN-calls) */\n PeoplePaneAddPerson?: JSX.Element;\n /* @conditional-compile-remove(PSTN-calls) */\n PeoplePaneOpenDialpad?: JSX.Element;\n /* @conditional-compile-remove(PSTN-calls) */\n DialpadStartCall?: JSX.Element;\n /* @conditional-compile-remove(rooms) */\n NoticePageInviteToRoomRemoved?: JSX.Element;\n /* @conditional-compile-remove(video-background-effects) */\n BlurVideoBackground?: JSX.Element;\n /* @conditional-compile-remove(video-background-effects) */\n RemoveVideoBackgroundEffect?: JSX.Element;\n /* @conditional-compile-remove(gallery-layouts) */\n GalleryOptions?: JSX.Element;\n /* @conditional-compile-remove(gallery-layouts) */\n SpeakerGalleryLayout?: JSX.Element;\n /* @conditional-compile-remove(gallery-layouts) */\n FloatingLocalVideoGalleryLayout?: JSX.Element;\n /* @conditional-compile-remove(gallery-layouts) */\n DefaultGalleryLayout?: JSX.Element;\n /* @conditional-compile-remove(gallery-layouts) */\n FocusedContentGalleryLayout?: JSX.Element;\n /* @conditional-compile-remove(gallery-layouts) */\n OverflowGalleryTop?: JSX.Element;\n /* @conditional-compile-remove(gallery-layouts) */\n LargeGalleryLayout?: JSX.Element;\n /* @conditional-compile-remove(control-bar-button-injection) */\n DefaultCustomButton?: JSX.Element;\n /* @conditional-compile-remove(dtmf-dialer) */\n DtmfDialpadButton?: JSX.Element;\n};\n\n/**\n * Icon wrapper to use when including customizable icons inside the CallComposite.\n * This wrapper ensures the icon name is being type-checked helping ensure no typos\n * and ensure that icon is customizable through the composite API.\n *\n * @private\n */\nexport const CallCompositeIcon = (props: CompositeIconProps<CallCompositeIcons>): JSX.Element => (\n <FontIcon {...props} />\n);\n\n/**\n * Icons that can be overridden for {@link CallWithChatComposite}.\n *\n * @public\n */\nexport type CallWithChatCompositeIcons = {\n // CallWithChat Specific Icons\n ChevronLeft?: JSX.Element;\n ControlBarChatButtonActive?: JSX.Element;\n ControlBarChatButtonInactive?: JSX.Element;\n ControlBarPeopleButton?: JSX.Element;\n Link?: JSX.Element;\n MoreDrawerMicrophones?: JSX.Element;\n MoreDrawerPeople?: JSX.Element;\n MoreDrawerSelectedMicrophone?: JSX.Element;\n MoreDrawerSelectedSpeaker?: JSX.Element;\n MoreDrawerSpeakers?: JSX.Element;\n\n // Call icons\n ControlButtonCameraOff?: JSX.Element;\n ControlButtonCameraOn?: JSX.Element;\n ControlButtonEndCall?: JSX.Element;\n ControlButtonMicOff?: JSX.Element;\n ControlButtonMicOn?: JSX.Element;\n ControlButtonOptions?: JSX.Element;\n ControlButtonScreenShareStart?: JSX.Element;\n ControlButtonScreenShareStop?: JSX.Element;\n /* @conditional-compile-remove(capabilities) */\n ControlButtonCameraProhibited?: JSX.Element;\n /* @conditional-compile-remove(capabilities) */\n ControlButtonMicProhibited?: JSX.Element;\n ErrorBarCallCameraAccessDenied?: JSX.Element;\n ErrorBarCallCameraAlreadyInUse?: JSX.Element;\n ErrorBarCallLocalVideoFreeze?: JSX.Element;\n ErrorBarCallMacOsCameraAccessDenied?: JSX.Element;\n ErrorBarCallMacOsMicrophoneAccessDenied?: JSX.Element;\n ErrorBarCallMicrophoneAccessDenied?: JSX.Element;\n ErrorBarCallMicrophoneMutedBySystem?: JSX.Element;\n ErrorBarCallMicrophoneUnmutedBySystem?: JSX.Element;\n ErrorBarCallNetworkQualityLow?: JSX.Element;\n ErrorBarCallNoMicrophoneFound?: JSX.Element;\n ErrorBarCallNoSpeakerFound?: JSX.Element;\n ErrorBarClear?: JSX.Element;\n HorizontalGalleryLeftButton?: JSX.Element;\n HorizontalGalleryRightButton?: JSX.Element;\n LobbyScreenConnectingToCall?: JSX.Element;\n LobbyScreenWaitingToBeAdmitted?: JSX.Element;\n LocalDeviceSettingsCamera?: JSX.Element;\n LocalDeviceSettingsMic?: JSX.Element;\n LocalDeviceSettingsSpeaker?: JSX.Element;\n LocalPreviewPlaceholder?: JSX.Element;\n Muted?: JSX.Element;\n NetworkReconnectIcon?: JSX.Element;\n NoticePageAccessDeniedTeamsMeeting?: JSX.Element;\n NoticePageJoinCallFailedDueToNoNetwork?: JSX.Element;\n NoticePageLeftCall?: JSX.Element;\n NoticePageRemovedFromCall?: JSX.Element;\n OptionsCamera?: JSX.Element;\n OptionsMic?: JSX.Element;\n OptionsSpeaker?: JSX.Element;\n ParticipantItemMicOff?: JSX.Element;\n ParticipantItemScreenShareStart?: JSX.Element;\n VideoTileMicOff?: JSX.Element;\n LocalCameraSwitch?: JSX.Element;\n /* @conditional-compile-remove(PSTN-calls) */\n PeoplePaneAddPerson?: JSX.Element;\n /* @conditional-compile-remove(PSTN-calls) */\n PeoplePaneOpenDialpad?: JSX.Element;\n /* @conditional-compile-remove(PSTN-calls) */\n DialpadStartCall?: JSX.Element;\n /* @conditional-compile-remove(control-bar-button-injection) */\n DefaultCustomButton?: JSX.Element;\n /* @conditional-compile-remove(dtmf-dialer) */\n DtmfDialpadButton?: JSX.Element;\n\n // Chat icons\n EditBoxCancel?: JSX.Element;\n EditBoxSubmit?: JSX.Element;\n MessageDelivered?: JSX.Element;\n MessageEdit?: JSX.Element;\n MessageFailed?: JSX.Element;\n MessageRemove?: JSX.Element;\n MessageSeen?: JSX.Element;\n MessageSending?: JSX.Element;\n SendBoxSend?: JSX.Element;\n SendBoxSendHovered?: JSX.Element;\n SendBoxAttachFile?: JSX.Element;\n\n // Icons common to Call and Chat.\n ParticipantItemOptions?: JSX.Element;\n ParticipantItemOptionsHovered?: JSX.Element;\n};\n\n/**\n * Icon wrapper to use when including customizable icons inside the CallWithChatComposite.\n * This wrapper ensures the icon name is being type-checked helping ensure no typos\n * and ensure that icon is customizable through the composite API.\n *\n * @private\n */\nexport const CallWithChatCompositeIcon = (props: CompositeIconProps<CallWithChatCompositeIcons>): JSX.Element => (\n <FontIcon {...props} />\n);\n\n/**\n * Icons that can be overridden in one of the composites exported by this library.\n *\n * See {@link ChatCompositeIcons}, {@link CallCompositeIcons} and {@link CallWithChatCompositeIcons} for more targeted types.\n *\n * @public\n */\nexport type CompositeIcons = ChatCompositeIcons & CallCompositeIcons & CallWithChatCompositeIcons;\n"]}
@@ -243,7 +243,7 @@
243
243
  "grantedDueToRoleChangeToPresenter": "You're a presenter. You can share content and facilitate the meeting."
244
244
  }
245
245
  },
246
- "surveyQuestion": "How was your call today?",
246
+ "surveyTitle": "Help us improve",
247
247
  "starSurveyHelperText": "How was the quality of the call?",
248
248
  "starSurveyOneStarText": "The quality was bad.",
249
249
  "starSurveyTwoStarText": "The quality was poor.",
@@ -252,11 +252,12 @@
252
252
  "starSurveyFiveStarText": "The quality was excellent.",
253
253
  "surveyConfirmButtonLabel": "Send Feedback",
254
254
  "starRatingAriaLabel": "Select {0} of {1} stars",
255
- "surveyCancelButtonAriaLabel": "Cancel",
255
+ "surveySkipButtonLabel": "Skip",
256
256
  "tagsSurveyQuestion": "What could have been better?",
257
257
  "tagsSurveyTextFieldDefaultText": "Other, please specify",
258
258
  "tagsSurveyHelperText": "Check any issues you experienced",
259
259
  "surveyTextboxDefaultText": "Other, please specify",
260
+ "endOfSurveyText": "Thank you for your feedback!",
260
261
  "surveyIssues": {
261
262
  "overallRating": {
262
263
  "callCannotJoin": "I could not join call",
@@ -302,6 +303,20 @@
302
303
  "audioRating": "Audio",
303
304
  "videoRating": "Video",
304
305
  "screenshareRating": "Presenting"
306
+ },
307
+ "spotlightPrompt": {
308
+ "startSpotlightHeading": "Spotlight for everyone?",
309
+ "startSpotlightText": "You'll highlight this video for everyone in the meeting.",
310
+ "startSpotlightOnSelfText": "You'll highlight your video for everyone in the meeting.",
311
+ "startSpotlightConfirmButtonLabel": "Spotlight for everyone",
312
+ "startSpotlightCancelButtonLabel": "Cancel",
313
+ "stopSpotlightHeading": "Stop spotlighting?",
314
+ "stopSpotlightOnSelfHeading": "Exit spotlight?",
315
+ "stopSpotlightText": "This video will no longer be highlighted for everyone in the meeting.",
316
+ "stopSpotlightOnSelfText": "Your video will no longer be highlighted for everyone in the meeting.",
317
+ "stopSpotlightConfirmButtonLabel": "Stop spotlighting",
318
+ "stopSpotlightOnSelfConfirmButtonLabel": "Exit spotlight",
319
+ "stopSpotlightCancelButtonLabel": "Cancel"
305
320
  }
306
321
  },
307
322
  "chat": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@azure/communication-react",
3
- "version": "1.13.0-alpha-202402040013",
3
+ "version": "1.13.0-alpha-202402070012",
4
4
  "sideEffects": false,
5
5
  "description": "React library for building modern communication user experiences utilizing Azure Communication Services",
6
6
  "keywords": [
@@ -1,71 +0,0 @@
1
- import { SyntheticEvent } from 'react';
2
- /**
3
- * Props for {@link ImageGallery}.
4
- *
5
- * @beta
6
- */
7
- export interface ImageGalleryImageProps {
8
- /** Image Url used to display the image in a large scale. */
9
- imageUrl: string;
10
- /** String used as a file name when downloading this image to user's local device. */
11
- downloadFilename: string;
12
- /** Optional string used as a alt text for the image. @default 'image' */
13
- altText?: string;
14
- /** Optional string used as the title of the image and displayed on the top left corner of the ImageGallery. */
15
- title?: string;
16
- /** Optional JSX element used as a title icon and displayed to the left of the title element. */
17
- titleIcon?: JSX.Element;
18
- }
19
- /**
20
- * Props for {@link ImageGallery}.
21
- *
22
- * @beta
23
- */
24
- export interface ImageGalleryProps {
25
- /**
26
- * Boolean that controls whether the modal is displayed.
27
- */
28
- isOpen: boolean;
29
- /**
30
- * Array of images used to populate the ImageGallery
31
- */
32
- images: Array<ImageGalleryImageProps>;
33
- /**
34
- * Callback to invoke when the ImageGallery modal is dismissed
35
- */
36
- onDismiss: () => void;
37
- /**
38
- * Callback called when the download button is clicked.
39
- */
40
- onImageDownloadButtonClicked: (imageUrl: string, downloadFilename: string) => void;
41
- /**
42
- * Callback called when there's an error loading the image.
43
- */
44
- onError?: (event: SyntheticEvent<HTMLImageElement, Event>) => void;
45
- /**
46
- * Indicating which index of the images array to start with.
47
- */
48
- startIndex?: number;
49
- }
50
- /**
51
- * Strings of {@link ImageGallery} that can be overridden.
52
- *
53
- * @beta
54
- */
55
- export interface ImageGalleryStrings {
56
- /**
57
- * Download button label for ImageGallery
58
- */
59
- downloadButtonLabel: string;
60
- /**
61
- * Dismiss button aria label for ImageGallery
62
- */
63
- dismissButtonAriaLabel: string;
64
- }
65
- /**
66
- * Component to render a fullscreen modal for a selected image.
67
- *
68
- * @beta
69
- */
70
- export declare const ImageGallery: (props: ImageGalleryProps) => JSX.Element;
71
- //# sourceMappingURL=ImageGallery.d.ts.map
@@ -1,53 +0,0 @@
1
- // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT License.
3
- /* @conditional-compile-remove(image-gallery) */
4
- import { DefaultButton, Icon, IconButton, Modal, Stack, mergeStyles } from '@fluentui/react';
5
- /* @conditional-compile-remove(image-gallery) */
6
- import React, { useState } from 'react';
7
- /* @conditional-compile-remove(image-gallery) */
8
- import { bodyContainer, brokenImageStyle, cancelIcon, closeButtonStyles, controlBarContainerStyle, downloadButtonStyle, downloadIcon, downloadIconStyle, focusTrapZoneStyle, headerStyle, normalImageStyle, overlayStyles, scrollableContentStyle, smallDownloadButtonContainerStyle, titleBarContainerStyle, titleStyle } from './styles/ImageGallery.style';
9
- /* @conditional-compile-remove(image-gallery) */
10
- import { useTheme } from '../theming/FluentThemeProvider';
11
- /* @conditional-compile-remove(image-gallery) */
12
- import { useLocale } from '../localization';
13
- /* @conditional-compile-remove(image-gallery) */
14
- /**
15
- * Component to render a fullscreen modal for a selected image.
16
- *
17
- * @beta
18
- */
19
- export const ImageGallery = (props) => {
20
- const { isOpen, images, onImageDownloadButtonClicked, onDismiss, onError, startIndex = 0 } = props;
21
- const theme = useTheme();
22
- /* @conditional-compile-remove(image-gallery) */
23
- const localeStrings = useLocale().strings.imageGallery;
24
- const [isImageLoaded, setIsImageLoaded] = useState(true);
25
- const imageStyle = isImageLoaded ? normalImageStyle : brokenImageStyle(theme);
26
- const image = images[startIndex];
27
- const renderHeaderBar = () => {
28
- return (React.createElement(Stack, { className: mergeStyles(headerStyle) },
29
- React.createElement(Stack, { className: mergeStyles(titleBarContainerStyle) }, image === null || image === void 0 ? void 0 :
30
- image.titleIcon,
31
- React.createElement(Stack.Item, { className: mergeStyles(titleStyle(theme)), "aria-label": image === null || image === void 0 ? void 0 : image.title }, image === null || image === void 0 ? void 0 : image.title)),
32
- React.createElement(Stack, { className: mergeStyles(controlBarContainerStyle) },
33
- React.createElement(DefaultButton, { className: mergeStyles(downloadButtonStyle(theme)),
34
- /* @conditional-compile-remove(image-gallery) */
35
- text: localeStrings.downloadButtonLabel, onClick: () => onImageDownloadButtonClicked((image === null || image === void 0 ? void 0 : image.imageUrl) || '', (image === null || image === void 0 ? void 0 : image.downloadFilename) || 'image'), onRenderIcon: () => React.createElement(Icon, { iconName: downloadIcon.iconName, className: mergeStyles(downloadIconStyle) }), "aria-live": 'polite', "aria-label": localeStrings.downloadButtonLabel }),
36
- React.createElement(IconButton, { iconProps: downloadIcon, className: mergeStyles(smallDownloadButtonContainerStyle(theme)), onClick: () => onImageDownloadButtonClicked(image === null || image === void 0 ? void 0 : image.imageUrl, image === null || image === void 0 ? void 0 : image.downloadFilename), "aria-label": localeStrings.downloadButtonLabel, "aria-live": 'polite' }),
37
- React.createElement(IconButton, { iconProps: cancelIcon, className: mergeStyles(closeButtonStyles(theme)), onClick: onDismiss,
38
- /* @conditional-compile-remove(image-gallery) */
39
- ariaLabel: localeStrings.dismissButtonAriaLabel, "aria-live": 'polite' }))));
40
- };
41
- const renderBodyWithLightDismiss = () => {
42
- return (React.createElement(Stack, { className: mergeStyles(bodyContainer), onClick: () => props.onDismiss() }, images.length > startIndex && (React.createElement("img", { src: image === null || image === void 0 ? void 0 : image.imageUrl, className: mergeStyles(imageStyle), alt: (image === null || image === void 0 ? void 0 : image.altText) || 'image', "aria-label": 'image-gallery-main-image', "aria-live": 'polite', onError: (event) => {
43
- setIsImageLoaded(false);
44
- onError && onError(event);
45
- }, onClick: (event) => event.stopPropagation(), onDoubleClick: (event) => {
46
- event.persist();
47
- } }))));
48
- };
49
- return (React.createElement(Modal, { titleAriaId: image === null || image === void 0 ? void 0 : image.title, isOpen: isOpen, onDismiss: onDismiss, overlay: { styles: Object.assign({}, overlayStyles(theme)) }, styles: { main: focusTrapZoneStyle, scrollableContent: scrollableContentStyle }, isDarkOverlay: true },
50
- renderHeaderBar(),
51
- renderBodyWithLightDismiss()));
52
- };
53
- //# sourceMappingURL=ImageGallery.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ImageGallery.js","sourceRoot":"","sources":["../../../../../../react-components/src/components/ImageGallery.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/* @conditional-compile-remove(image-gallery) */\nimport { DefaultButton, Icon, IconButton, Modal, Stack, mergeStyles } from '@fluentui/react';\n/* @conditional-compile-remove(image-gallery) */\nimport React, { SyntheticEvent, useState } from 'react';\n/* @conditional-compile-remove(image-gallery) */\nimport {\n bodyContainer,\n brokenImageStyle,\n cancelIcon,\n closeButtonStyles,\n controlBarContainerStyle,\n downloadButtonStyle,\n downloadIcon,\n downloadIconStyle,\n focusTrapZoneStyle,\n headerStyle,\n normalImageStyle,\n overlayStyles,\n scrollableContentStyle,\n smallDownloadButtonContainerStyle,\n titleBarContainerStyle,\n titleStyle\n} from './styles/ImageGallery.style';\n/* @conditional-compile-remove(image-gallery) */\nimport { useTheme } from '../theming/FluentThemeProvider';\n/* @conditional-compile-remove(image-gallery) */\nimport { useLocale } from '../localization';\n/* @conditional-compile-remove(image-gallery) */\nimport { ChatTheme } from '../theming';\n/**\n * Props for {@link ImageGallery}.\n *\n * @beta\n */\nexport interface ImageGalleryImageProps {\n /** Image Url used to display the image in a large scale. */\n imageUrl: string;\n /** String used as a file name when downloading this image to user's local device. */\n downloadFilename: string;\n /** Optional string used as a alt text for the image. @default 'image' */\n altText?: string;\n /** Optional string used as the title of the image and displayed on the top left corner of the ImageGallery. */\n title?: string;\n /** Optional JSX element used as a title icon and displayed to the left of the title element. */\n titleIcon?: JSX.Element;\n}\n/* @conditional-compile-remove(image-gallery) */\n/**\n * Props for {@link ImageGallery}.\n *\n * @beta\n */\nexport interface ImageGalleryProps {\n /**\n * Boolean that controls whether the modal is displayed.\n */\n isOpen: boolean;\n /**\n * Array of images used to populate the ImageGallery\n */\n images: Array<ImageGalleryImageProps>;\n /**\n * Callback to invoke when the ImageGallery modal is dismissed\n */\n onDismiss: () => void;\n /**\n * Callback called when the download button is clicked.\n */\n onImageDownloadButtonClicked: (imageUrl: string, downloadFilename: string) => void;\n /**\n * Callback called when there's an error loading the image.\n */\n onError?: (event: SyntheticEvent<HTMLImageElement, Event>) => void;\n /**\n * Indicating which index of the images array to start with.\n */\n startIndex?: number;\n}\n/* @conditional-compile-remove(image-gallery) */\n/**\n * Strings of {@link ImageGallery} that can be overridden.\n *\n * @beta\n */\nexport interface ImageGalleryStrings {\n /**\n * Download button label for ImageGallery\n */\n downloadButtonLabel: string;\n /**\n * Dismiss button aria label for ImageGallery\n */\n dismissButtonAriaLabel: string;\n}\n/* @conditional-compile-remove(image-gallery) */\n/**\n * Component to render a fullscreen modal for a selected image.\n *\n * @beta\n */\nexport const ImageGallery = (props: ImageGalleryProps): JSX.Element => {\n const { isOpen, images, onImageDownloadButtonClicked, onDismiss, onError, startIndex = 0 } = props;\n const theme = useTheme() as unknown as ChatTheme;\n\n /* @conditional-compile-remove(image-gallery) */\n const localeStrings = useLocale().strings.imageGallery;\n\n const [isImageLoaded, setIsImageLoaded] = useState<boolean>(true);\n\n const imageStyle = isImageLoaded ? normalImageStyle : brokenImageStyle(theme);\n\n const image = images[startIndex];\n const renderHeaderBar = (): JSX.Element => {\n return (\n <Stack className={mergeStyles(headerStyle)}>\n <Stack className={mergeStyles(titleBarContainerStyle)}>\n {image?.titleIcon}\n <Stack.Item className={mergeStyles(titleStyle(theme))} aria-label={image?.title}>\n {image?.title}\n </Stack.Item>\n </Stack>\n <Stack className={mergeStyles(controlBarContainerStyle)}>\n <DefaultButton\n className={mergeStyles(downloadButtonStyle(theme))}\n /* @conditional-compile-remove(image-gallery) */\n text={localeStrings.downloadButtonLabel}\n onClick={() => onImageDownloadButtonClicked(image?.imageUrl || '', image?.downloadFilename || 'image')}\n onRenderIcon={() => <Icon iconName={downloadIcon.iconName} className={mergeStyles(downloadIconStyle)} />}\n aria-live={'polite'}\n /* @conditional-compile-remove(image-gallery) */\n aria-label={localeStrings.downloadButtonLabel}\n />\n <IconButton\n iconProps={downloadIcon}\n className={mergeStyles(smallDownloadButtonContainerStyle(theme))}\n onClick={() => onImageDownloadButtonClicked(image?.imageUrl, image?.downloadFilename)}\n /* @conditional-compile-remove(image-gallery) */\n aria-label={localeStrings.downloadButtonLabel}\n aria-live={'polite'}\n />\n <IconButton\n iconProps={cancelIcon}\n className={mergeStyles(closeButtonStyles(theme))}\n onClick={onDismiss}\n /* @conditional-compile-remove(image-gallery) */\n ariaLabel={localeStrings.dismissButtonAriaLabel}\n aria-live={'polite'}\n />\n </Stack>\n </Stack>\n );\n };\n\n const renderBodyWithLightDismiss = (): JSX.Element => {\n return (\n <Stack className={mergeStyles(bodyContainer)} onClick={() => props.onDismiss()}>\n {images.length > startIndex && (\n <img\n src={image?.imageUrl}\n className={mergeStyles(imageStyle)}\n alt={image?.altText || 'image'}\n aria-label={'image-gallery-main-image'}\n aria-live={'polite'}\n onError={(event) => {\n setIsImageLoaded(false);\n onError && onError(event);\n }}\n onClick={(event) => event.stopPropagation()}\n onDoubleClick={(event) => {\n event.persist();\n }}\n />\n )}\n </Stack>\n );\n };\n\n return (\n <Modal\n titleAriaId={image?.title}\n isOpen={isOpen}\n onDismiss={onDismiss}\n overlay={{ styles: { ...overlayStyles(theme) } }}\n styles={{ main: focusTrapZoneStyle, scrollableContent: scrollableContentStyle }}\n isDarkOverlay={true}\n >\n {renderHeaderBar()}\n {renderBodyWithLightDismiss()}\n </Modal>\n );\n};\n"]}
@@ -1,13 +0,0 @@
1
- /// <reference types="react" />
2
- import { CallSurvey, CallSurveyResponse } from '@azure/communication-calling';
3
- import { CallSurveyImprovementSuggestions } from "../../../../react-components/src";
4
- /** @private */
5
- export declare const SurveyPane: (props: {
6
- onSubmitSurvey?: ((survey: CallSurvey) => Promise<CallSurveyResponse | undefined>) | undefined;
7
- /**
8
- * Optional callback to add extra logic when survey is dismissed. For self-host only
9
- */
10
- onSurveyDismissed?: (() => void) | undefined;
11
- onSurveySubmittedCustom?: ((callId: string, surveyId: string, submittedSurvey: CallSurvey, improvementSuggestions: CallSurveyImprovementSuggestions) => Promise<void>) | undefined;
12
- }) => JSX.Element;
13
- //# sourceMappingURL=SurveyPane.d.ts.map
@@ -1,87 +0,0 @@
1
- // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT License.
3
- import React from 'react';
4
- /* @conditional-compile-remove(end-of-call-survey) */
5
- import { useState } from 'react';
6
- /* @conditional-compile-remove(end-of-call-survey) */
7
- import { useLocale } from '../localization';
8
- /* @conditional-compile-remove(end-of-call-survey) */
9
- import { Panel, PanelType, PrimaryButton, Stack } from '@fluentui/react';
10
- /* @conditional-compile-remove(end-of-call-survey) */
11
- import { SurveyPaneContent } from './SurveyPaneContent';
12
- /** @private */
13
- export const SurveyPane = (props) => {
14
- /* @conditional-compile-remove(end-of-call-survey) */
15
- const { onSubmitSurvey, onSurveySubmittedCustom } = props;
16
- /* @conditional-compile-remove(end-of-call-survey-self-host) */ /* @conditional-compile-remove(end-of-call-survey) */
17
- const { onSurveyDismissed } = props;
18
- /* @conditional-compile-remove(end-of-call-survey) */
19
- const strings = useLocale().strings.call;
20
- /* @conditional-compile-remove(end-of-call-survey) */
21
- const [isOpen, setIsOpen] = useState(true);
22
- /* @conditional-compile-remove(end-of-call-survey) */
23
- const [ratings, setRatings] = useState(0);
24
- /* @conditional-compile-remove(end-of-call-survey) */
25
- const [issuesSelected, setIssuesSelected] = useState();
26
- /* @conditional-compile-remove(end-of-call-survey) */
27
- const [showSubmitFeedbackButton, setShowSubmitFeedbackButton] = useState(false);
28
- /* @conditional-compile-remove(end-of-call-survey) */
29
- const [improvementSuggestions, setImprovementSuggestions] = useState({});
30
- /* @conditional-compile-remove(end-of-call-survey) */
31
- const onRenderFooterContent = React.useCallback(() => (React.createElement(React.Fragment, null, showSubmitFeedbackButton && (React.createElement(Stack, { horizontalAlign: "end" },
32
- React.createElement(PrimaryButton, { style: { marginTop: '1rem' }, onClick: () => {
33
- const surveyResults = { overallRating: { score: ratings } };
34
- if (issuesSelected === null || issuesSelected === void 0 ? void 0 : issuesSelected.overallRating) {
35
- surveyResults.overallRating = { score: ratings, issues: issuesSelected.overallRating.issues };
36
- }
37
- if (issuesSelected === null || issuesSelected === void 0 ? void 0 : issuesSelected.audioRating) {
38
- surveyResults.audioRating = { score: ratings, issues: issuesSelected.audioRating.issues };
39
- }
40
- if (issuesSelected === null || issuesSelected === void 0 ? void 0 : issuesSelected.screenshareRating) {
41
- surveyResults.screenshareRating = { score: ratings, issues: issuesSelected.screenshareRating.issues };
42
- }
43
- if (issuesSelected === null || issuesSelected === void 0 ? void 0 : issuesSelected.videoRating) {
44
- surveyResults.videoRating = { score: ratings, issues: issuesSelected.videoRating.issues };
45
- }
46
- if (onSubmitSurvey) {
47
- onSubmitSurvey(surveyResults)
48
- .then((res) => {
49
- var _a, _b;
50
- if (onSurveySubmittedCustom) {
51
- onSurveySubmittedCustom((_a = res === null || res === void 0 ? void 0 : res.callId) !== null && _a !== void 0 ? _a : '', (_b = res === null || res === void 0 ? void 0 : res.id) !== null && _b !== void 0 ? _b : '', surveyResults, improvementSuggestions);
52
- }
53
- })
54
- .catch((e) => console.log('error when submitting survey: ' + e));
55
- }
56
- setIsOpen(false);
57
- } }, strings.surveyConfirmButtonLabel))))), [
58
- showSubmitFeedbackButton,
59
- ratings,
60
- issuesSelected,
61
- onSubmitSurvey,
62
- strings.surveyConfirmButtonLabel,
63
- onSurveySubmittedCustom,
64
- improvementSuggestions
65
- ]);
66
- /* @conditional-compile-remove(end-of-call-survey) */
67
- return (React.createElement(Panel, { headerText: strings.surveyQuestion, isOpen: isOpen, onDismiss: () => {
68
- /* @conditional-compile-remove(end-of-call-survey-self-host) */
69
- if (onSurveyDismissed) {
70
- onSurveyDismissed();
71
- }
72
- setIsOpen(false);
73
- }, closeButtonAriaLabel: strings.surveyCancelButtonAriaLabel, type: PanelType.custom, customWidth: "24rem", onRenderFooterContent: onRenderFooterContent, isFooterAtBottom: true },
74
- React.createElement(SurveyPaneContent, { setShowSubmitFeedbackButton: (showButton) => {
75
- setShowSubmitFeedbackButton(showButton);
76
- }, setRatings: (rating) => {
77
- setRatings(rating);
78
- }, setIssuesSelected: (issuesSelected) => {
79
- setIssuesSelected(issuesSelected);
80
- }, setImprovementSuggestions: onSurveySubmittedCustom
81
- ? (improvementSuggestions) => {
82
- setImprovementSuggestions(improvementSuggestions);
83
- }
84
- : undefined })));
85
- return React.createElement(React.Fragment, null);
86
- };
87
- //# sourceMappingURL=SurveyPane.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SurveyPane.js","sourceRoot":"","sources":["../../../../../../../react-composites/src/composites/common/SurveyPane.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,qDAAqD;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,qDAAqD;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,qDAAqD;AACrD,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACzE,qDAAqD;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAIxD,eAAe;AACf,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KA0B1B,EAAe,EAAE;IAChB,qDAAqD;IACrD,MAAM,EAAE,cAAc,EAAE,uBAAuB,EAAE,GAAG,KAAK,CAAC;IAC1D,+DAA+D,CAAC,qDAAqD;IACrH,MAAM,EAAE,iBAAiB,EAAE,GAAG,KAAK,CAAC;IACpC,qDAAqD;IACrD,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACzC,qDAAqD;IACrD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC3C,qDAAqD;IACrD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC1C,qDAAqD;IACrD,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,EAA0B,CAAC;IAC/E,qDAAqD;IACrD,MAAM,CAAC,wBAAwB,EAAE,2BAA2B,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChF,qDAAqD;IACrD,MAAM,CAAC,sBAAsB,EAAE,yBAAyB,CAAC,GAAG,QAAQ,CAAmC,EAAE,CAAC,CAAC;IAC3G,qDAAqD;IACrD,MAAM,qBAAqB,GAAG,KAAK,CAAC,WAAW,CAC7C,GAAG,EAAE,CAAC,CACJ,0CACG,wBAAwB,IAAI,CAC3B,oBAAC,KAAK,IAAC,eAAe,EAAC,KAAK;QAC1B,oBAAC,aAAa,IACZ,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,EAC5B,OAAO,EAAE,GAAG,EAAE;gBACZ,MAAM,aAAa,GAAe,EAAE,aAAa,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC;gBACxE,IAAI,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,aAAa,EAAE,CAAC;oBAClC,aAAa,CAAC,aAAa,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;gBAChG,CAAC;gBACD,IAAI,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,WAAW,EAAE,CAAC;oBAChC,aAAa,CAAC,WAAW,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;gBAC5F,CAAC;gBACD,IAAI,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,iBAAiB,EAAE,CAAC;oBACtC,aAAa,CAAC,iBAAiB,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC;gBACxG,CAAC;gBACD,IAAI,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,WAAW,EAAE,CAAC;oBAChC,aAAa,CAAC,WAAW,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;gBAC5F,CAAC;gBACD,IAAI,cAAc,EAAE,CAAC;oBACnB,cAAc,CAAC,aAAa,CAAC;yBAC1B,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;;wBACZ,IAAI,uBAAuB,EAAE,CAAC;4BAC5B,uBAAuB,CACrB,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,MAAM,mCAAI,EAAE,EACjB,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,EAAE,mCAAI,EAAE,EACb,aAAa,EACb,sBAAsB,CACvB,CAAC;wBACJ,CAAC;oBACH,CAAC,CAAC;yBACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,gCAAgC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACrE,CAAC;gBACD,SAAS,CAAC,KAAK,CAAC,CAAC;YACnB,CAAC,IAEA,OAAO,CAAC,wBAAwB,CACnB,CACV,CACT,CACA,CACJ,EACD;QACE,wBAAwB;QACxB,OAAO;QACP,cAAc;QACd,cAAc;QACd,OAAO,CAAC,wBAAwB;QAChC,uBAAuB;QACvB,sBAAsB;KACvB,CACF,CAAC;IACF,qDAAqD;IACrD,OAAO,CACL,oBAAC,KAAK,IACJ,UAAU,EAAE,OAAO,CAAC,cAAc,EAClC,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,GAAG,EAAE;YACd,+DAA+D;YAC/D,IAAI,iBAAiB,EAAE,CAAC;gBACtB,iBAAiB,EAAE,CAAC;YACtB,CAAC;YACD,SAAS,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC,EACD,oBAAoB,EAAE,OAAO,CAAC,2BAA2B,EACzD,IAAI,EAAE,SAAS,CAAC,MAAM,EACtB,WAAW,EAAC,OAAO,EACnB,qBAAqB,EAAE,qBAAqB,EAC5C,gBAAgB;QAEhB,oBAAC,iBAAiB,IAChB,2BAA2B,EAAE,CAAC,UAAmB,EAAE,EAAE;gBACnD,2BAA2B,CAAC,UAAU,CAAC,CAAC;YAC1C,CAAC,EACD,UAAU,EAAE,CAAC,MAAc,EAAE,EAAE;gBAC7B,UAAU,CAAC,MAAM,CAAC,CAAC;YACrB,CAAC,EACD,iBAAiB,EAAE,CAAC,cAA0B,EAAE,EAAE;gBAChD,iBAAiB,CAAC,cAAc,CAAC,CAAC;YACpC,CAAC,EACD,yBAAyB,EACvB,uBAAuB;gBACrB,CAAC,CAAC,CAAC,sBAAwD,EAAE,EAAE;oBAC3D,yBAAyB,CAAC,sBAAsB,CAAC,CAAC;gBACpD,CAAC;gBACH,CAAC,CAAC,SAAS,GAEf,CACI,CACT,CAAC;IACF,OAAO,yCAAK,CAAC;AACf,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport React from 'react';\n/* @conditional-compile-remove(end-of-call-survey) */\nimport { useState } from 'react';\n/* @conditional-compile-remove(end-of-call-survey) */\nimport { useLocale } from '../localization';\n/* @conditional-compile-remove(end-of-call-survey) */\nimport { CallSurvey, CallSurveyResponse } from '@azure/communication-calling';\n/* @conditional-compile-remove(end-of-call-survey) */\nimport { Panel, PanelType, PrimaryButton, Stack } from '@fluentui/react';\n/* @conditional-compile-remove(end-of-call-survey) */\nimport { SurveyPaneContent } from './SurveyPaneContent';\n/* @conditional-compile-remove(end-of-call-survey) */\nimport { CallSurveyImprovementSuggestions } from '@internal/react-components';\n\n/** @private */\nexport const SurveyPane = (props: {\n /* @conditional-compile-remove(end-of-call-survey) */\n onSubmitSurvey?: (survey: CallSurvey) => Promise<CallSurveyResponse | undefined>;\n /* @conditional-compile-remove(end-of-call-survey-self-host) */\n /**\n * Optional callback to add extra logic when survey is dismissed. For self-host only\n */\n onSurveyDismissed?: () => void;\n /* @conditional-compile-remove(end-of-call-survey) */\n onSurveySubmittedCustom?: (\n callId: string,\n surveyId: string,\n /**\n * This is the survey results containing star survey data and API tag survey data.\n * This part of the result will always be sent to the calling sdk\n * This callback provides user with the ability to gain access to survey data\n */\n submittedSurvey: CallSurvey,\n /**\n * This is the survey results containing free form text\n * This part of the result will not be handled by composites\n * User will need to collect and handle this information 100% on their own\n * Free form text survey is not going to show in the UI if onSurveySubmitted is not populated\n */\n improvementSuggestions: CallSurveyImprovementSuggestions\n ) => Promise<void>;\n}): JSX.Element => {\n /* @conditional-compile-remove(end-of-call-survey) */\n const { onSubmitSurvey, onSurveySubmittedCustom } = props;\n /* @conditional-compile-remove(end-of-call-survey-self-host) */ /* @conditional-compile-remove(end-of-call-survey) */\n const { onSurveyDismissed } = props;\n /* @conditional-compile-remove(end-of-call-survey) */\n const strings = useLocale().strings.call;\n /* @conditional-compile-remove(end-of-call-survey) */\n const [isOpen, setIsOpen] = useState(true);\n /* @conditional-compile-remove(end-of-call-survey) */\n const [ratings, setRatings] = useState(0);\n /* @conditional-compile-remove(end-of-call-survey) */\n const [issuesSelected, setIssuesSelected] = useState<CallSurvey | undefined>();\n /* @conditional-compile-remove(end-of-call-survey) */\n const [showSubmitFeedbackButton, setShowSubmitFeedbackButton] = useState(false);\n /* @conditional-compile-remove(end-of-call-survey) */\n const [improvementSuggestions, setImprovementSuggestions] = useState<CallSurveyImprovementSuggestions>({});\n /* @conditional-compile-remove(end-of-call-survey) */\n const onRenderFooterContent = React.useCallback(\n () => (\n <>\n {showSubmitFeedbackButton && (\n <Stack horizontalAlign=\"end\">\n <PrimaryButton\n style={{ marginTop: '1rem' }}\n onClick={() => {\n const surveyResults: CallSurvey = { overallRating: { score: ratings } };\n if (issuesSelected?.overallRating) {\n surveyResults.overallRating = { score: ratings, issues: issuesSelected.overallRating.issues };\n }\n if (issuesSelected?.audioRating) {\n surveyResults.audioRating = { score: ratings, issues: issuesSelected.audioRating.issues };\n }\n if (issuesSelected?.screenshareRating) {\n surveyResults.screenshareRating = { score: ratings, issues: issuesSelected.screenshareRating.issues };\n }\n if (issuesSelected?.videoRating) {\n surveyResults.videoRating = { score: ratings, issues: issuesSelected.videoRating.issues };\n }\n if (onSubmitSurvey) {\n onSubmitSurvey(surveyResults)\n .then((res) => {\n if (onSurveySubmittedCustom) {\n onSurveySubmittedCustom(\n res?.callId ?? '',\n res?.id ?? '',\n surveyResults,\n improvementSuggestions\n );\n }\n })\n .catch((e) => console.log('error when submitting survey: ' + e));\n }\n setIsOpen(false);\n }}\n >\n {strings.surveyConfirmButtonLabel}\n </PrimaryButton>\n </Stack>\n )}\n </>\n ),\n [\n showSubmitFeedbackButton,\n ratings,\n issuesSelected,\n onSubmitSurvey,\n strings.surveyConfirmButtonLabel,\n onSurveySubmittedCustom,\n improvementSuggestions\n ]\n );\n /* @conditional-compile-remove(end-of-call-survey) */\n return (\n <Panel\n headerText={strings.surveyQuestion}\n isOpen={isOpen}\n onDismiss={() => {\n /* @conditional-compile-remove(end-of-call-survey-self-host) */\n if (onSurveyDismissed) {\n onSurveyDismissed();\n }\n setIsOpen(false);\n }}\n closeButtonAriaLabel={strings.surveyCancelButtonAriaLabel}\n type={PanelType.custom}\n customWidth=\"24rem\"\n onRenderFooterContent={onRenderFooterContent}\n isFooterAtBottom\n >\n <SurveyPaneContent\n setShowSubmitFeedbackButton={(showButton: boolean) => {\n setShowSubmitFeedbackButton(showButton);\n }}\n setRatings={(rating: number) => {\n setRatings(rating);\n }}\n setIssuesSelected={(issuesSelected: CallSurvey) => {\n setIssuesSelected(issuesSelected);\n }}\n setImprovementSuggestions={\n onSurveySubmittedCustom\n ? (improvementSuggestions: CallSurveyImprovementSuggestions) => {\n setImprovementSuggestions(improvementSuggestions);\n }\n : undefined\n }\n />\n </Panel>\n );\n return <></>;\n};\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"SurveyPaneContent.js","sourceRoot":"","sources":["../../../../../../../react-composites/src/composites/common/SurveyPaneContent.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,qDAAqD;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,qDAAqD;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,qDAAqD;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAWjC,qDAAqD;AACrD,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAExC;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;AAC/B,qDAAqD,CAAC,KASrD,EACY,EAAE;IACf,qDAAqD;IACrD,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5D,qDAAqD;IACrD,MAAM,oBAAoB,GAAG,CAAC,OAAe,EAAQ,EAAE;QACrD,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;YACjB,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACxB,KAAK,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC;QAC1C,CAAC;QACD,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC,CAAC;IACF,qDAAqD;IACrD,MAAM,gBAAgB,GAAG,CACvB,YAAwB,EACxB,sBAAyD,EACnD,EAAE;QACR,KAAK,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;QACtC,KAAK,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,sBAAsB,IAAI,KAAK,CAAC,yBAAyB,EAAE,CAAC;YAC9D,KAAK,CAAC,yBAAyB,CAAC,sBAAsB,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC,CAAC;IACF,qDAAqD;IACrD,OAAO,CACL,oBAAC,KAAK;QACJ,oBAAC,UAAU,IAAC,oBAAoB,EAAE,oBAAoB,GAAI;QAEzD,cAAc,IAAI,CACjB,oBAAC,UAAU,IACT,SAAS,EAAE,gBAAgB,EAC3B,qBAAqB,EAAE,CAAC,CAAC,KAAK,CAAC,yBAAyB,KAAK,SAAS,CAAC,GACvE,CACH,CACK,CACT,CAAC;IAEF,OAAO,yCAAK,CAAC;AACf,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport React from 'react';\n/* @conditional-compile-remove(end-of-call-survey) */\nimport { StarSurvey } from './StarSurvey';\n/* @conditional-compile-remove(end-of-call-survey) */\nimport { TagsSurvey } from './TagsSurvey';\n/* @conditional-compile-remove(end-of-call-survey) */\nimport { useState } from 'react';\n/* @conditional-compile-remove(end-of-call-survey) */\nimport {\n _AudioIssue,\n _OverallIssue,\n _ScreenshareIssue,\n _VideoIssue,\n CallSurveyImprovementSuggestions\n} from '@internal/react-components';\n/* @conditional-compile-remove(end-of-call-survey) */\nimport { CallSurvey } from '@azure/communication-calling';\n/* @conditional-compile-remove(end-of-call-survey) */\nimport { Stack } from '@fluentui/react';\n\n/**\n * @private\n */\nexport const SurveyPaneContent = (\n /* @conditional-compile-remove(end-of-call-survey) */ props: {\n /* @conditional-compile-remove(end-of-call-survey) */\n setShowSubmitFeedbackButton: (showButton: boolean) => void;\n /* @conditional-compile-remove(end-of-call-survey) */\n setRatings: (rating: number) => void;\n /* @conditional-compile-remove(end-of-call-survey) */\n setIssuesSelected: (issuesSelected: CallSurvey) => void;\n /* @conditional-compile-remove(end-of-call-survey) */\n setImprovementSuggestions?: (improvementSuggestions: CallSurveyImprovementSuggestions) => void;\n }\n): JSX.Element => {\n /* @conditional-compile-remove(end-of-call-survey) */\n const [showTagsSurvey, setShowTagsSurvey] = useState(false);\n /* @conditional-compile-remove(end-of-call-survey) */\n const onStarRatingSelected = (ratings: number): void => {\n if (ratings <= 2) {\n setShowTagsSurvey(true);\n props.setShowSubmitFeedbackButton(true);\n } else {\n props.setShowSubmitFeedbackButton(true);\n }\n props.setRatings(ratings);\n };\n /* @conditional-compile-remove(end-of-call-survey) */\n const onIssuesSelected = (\n selectedTags: CallSurvey,\n improvementSuggestions?: CallSurveyImprovementSuggestions\n ): void => {\n props.setIssuesSelected(selectedTags);\n props.setShowSubmitFeedbackButton(true);\n if (improvementSuggestions && props.setImprovementSuggestions) {\n props.setImprovementSuggestions(improvementSuggestions);\n }\n };\n /* @conditional-compile-remove(end-of-call-survey) */\n return (\n <Stack>\n <StarSurvey onStarRatingSelected={onStarRatingSelected} />\n\n {showTagsSurvey && (\n <TagsSurvey\n onConfirm={onIssuesSelected}\n showFreeFormTextField={!(props.setImprovementSuggestions === undefined)}\n />\n )}\n </Stack>\n );\n\n return <></>;\n};\n"]}