@azure/communication-react 1.3.3-alpha-202209110016.0 → 1.3.3-alpha-202209150016.0

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 (75) hide show
  1. package/dist/communication-react.d.ts +62 -3
  2. package/dist/dist-cjs/communication-react/index.js +227 -72
  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/createHandlers.d.ts +8 -4
  7. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js +26 -5
  8. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js.map +1 -1
  9. package/dist/dist-esm/calling-component-bindings/src/index.d.ts +1 -0
  10. package/dist/dist-esm/calling-component-bindings/src/index.js.map +1 -1
  11. package/dist/dist-esm/communication-react/src/index.d.ts +3 -0
  12. package/dist/dist-esm/communication-react/src/index.js +2 -0
  13. package/dist/dist-esm/communication-react/src/index.js.map +1 -1
  14. package/dist/dist-esm/react-components/src/components/CameraButton.js +1 -7
  15. package/dist/dist-esm/react-components/src/components/CameraButton.js.map +1 -1
  16. package/dist/dist-esm/react-components/src/components/DevicesButton.js +1 -11
  17. package/dist/dist-esm/react-components/src/components/DevicesButton.js.map +1 -1
  18. package/dist/dist-esm/react-components/src/components/DomainPermissions.d.ts +45 -0
  19. package/dist/dist-esm/react-components/src/components/DomainPermissions.js +42 -0
  20. package/dist/dist-esm/react-components/src/components/DomainPermissions.js.map +1 -0
  21. package/dist/dist-esm/react-components/src/components/MicrophoneButton.js +1 -5
  22. package/dist/dist-esm/react-components/src/components/MicrophoneButton.js.map +1 -1
  23. package/dist/dist-esm/react-components/src/components/ParticipantList.js +3 -6
  24. package/dist/dist-esm/react-components/src/components/ParticipantList.js.map +1 -1
  25. package/dist/dist-esm/react-components/src/components/ScreenShareButton.js +3 -8
  26. package/dist/dist-esm/react-components/src/components/ScreenShareButton.js.map +1 -1
  27. package/dist/dist-esm/react-components/src/components/index.d.ts +2 -0
  28. package/dist/dist-esm/react-components/src/components/index.js +2 -0
  29. package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
  30. package/dist/dist-esm/react-components/src/components/styles/DomainPermissions.styles.d.ts +30 -0
  31. package/dist/dist-esm/react-components/src/components/styles/DomainPermissions.styles.js +74 -0
  32. package/dist/dist-esm/react-components/src/components/styles/DomainPermissions.styles.js.map +1 -0
  33. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.d.ts +3 -0
  34. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.js.map +1 -1
  35. package/dist/dist-esm/react-components/src/localization/locales/en-US/strings.json +5 -0
  36. package/dist/dist-esm/react-components/src/theming/icons.d.ts +1 -0
  37. package/dist/dist-esm/react-components/src/theming/icons.js +5 -1
  38. package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
  39. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.d.ts +3 -3
  40. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +6 -1
  41. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
  42. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.d.ts +3 -2
  43. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js.map +1 -1
  44. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js +16 -3
  45. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js.map +1 -1
  46. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallPane.js.map +1 -1
  47. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js +5 -5
  48. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js.map +1 -1
  49. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Devices.js +18 -1
  50. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Devices.js.map +1 -1
  51. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js +17 -6
  52. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js.map +1 -1
  53. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.d.ts +2 -1
  54. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js +4 -3
  55. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js.map +1 -1
  56. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatPane.js.map +1 -1
  57. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.d.ts +3 -2
  58. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +8 -1
  59. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js.map +1 -1
  60. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.d.ts +3 -2
  61. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.js.map +1 -1
  62. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.d.ts +3 -2
  63. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js +13 -4
  64. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js.map +1 -1
  65. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.d.ts +2 -2
  66. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js.map +1 -1
  67. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.d.ts +2 -2
  68. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js.map +1 -1
  69. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.d.ts +2 -2
  70. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js.map +1 -1
  71. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.d.ts +2 -2
  72. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js +6 -11
  73. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js.map +1 -1
  74. package/dist/dist-esm/react-composites/src/composites/common/icons.d.ts +1 -0
  75. package/package.json +8 -8
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- import { CommunicationIdentifier } from '@azure/communication-common';
2
+ import { PhoneNumberIdentifier } from '@azure/communication-common';
3
3
  import { AddPhoneNumberOptions } from '@azure/communication-calling';
4
4
  /** @private */
5
5
  export interface CallingDialpadStrings {
@@ -14,7 +14,7 @@ export interface CallingDialpadProps {
14
14
  showDialpad: boolean;
15
15
  strings: CallingDialpadStrings;
16
16
  onDismissDialpad: () => void;
17
- onAddParticipant: (participant: CommunicationIdentifier, options?: AddPhoneNumberOptions) => void;
17
+ onAddParticipant: (participant: PhoneNumberIdentifier, options?: AddPhoneNumberOptions) => void;
18
18
  alternateCallerId: string;
19
19
  }
20
20
  /** @private */
@@ -1 +1 @@
1
- {"version":3,"file":"CallingDialpad.js","sourceRoot":"","sources":["../../../../../../../react-composites/src/composites/common/CallingDialpad.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAClC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,OAAO,EAAiB,yCAAmC;AACpE,OAAO,EAAqC,cAAc,EAAE,yCAAmC;AAC/F,OAAO,EAAgB,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACzF,OAAO,EAAiB,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAE/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AACpF,6CAA6C;AAC7C,OAAO,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,6DAA6D,CAAC;AAsBpG,eAAe;AACf,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAA0B,EAAe,EAAE;IACxE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,GAAG,KAAK,CAAC;IACxG,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAEzD,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IAEzB,MAAM,kBAAkB,GAAG,GAAS,EAAE;QACpC,iBAAiB,CAAC,EAAE,CAAC,CAAC;QACtB,gBAAgB,EAAE,CAAC;IACrB,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,GAAS,EAAE;QAC7B,IAAI,gBAAgB,EAAE;YACpB;;;eAGG;YAEH,MAAM,WAAW,GAAG,EAAE,WAAW,EAAE,GAAG,GAAG,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC;YAEjG,gBAAgB,CAAC,WAAW,EAAE,EAAE,iBAAiB,EAAE,EAAE,WAAW,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC;YACzF,kBAAkB,EAAE,CAAC;SACtB;IACH,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAA0B,OAAO,CAAC,GAAG,EAAE,CAAC,uBAAuB,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAExG,MAAM,YAAY,GAA2B,OAAO,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEnH,MAAM,eAAe,GAA2B,OAAO,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAErG,MAAM,gBAAgB,GAAG,GAAgB,EAAE;QACzC,OAAO,CACL;YACE,oBAAC,OAAO,IAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,iBAAiB,EAAE,QAAQ,EAAE,QAAQ,GAAI;YAClF,oBAAC,aAAa,IACZ,IAAI,EAAE,OAAO,CAAC,2BAA2B,EACzC,YAAY,EAAE,GAAG,EAAE,CAAC,8BAA8B,EAAE,EACpD,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,eAAe,EACvB,QAAQ,EAAE,cAAc,KAAK,EAAE,GAC/B,CACD,CACJ,CAAC;QAEF,OAAO,yCAAK,CAAC;IACf,CAAC,CAAC;IAEF,IAAI,QAAQ,EAAE;QACZ,OAAO,CACL,oBAAC,KAAK,kBAAY,kCAAkC,IACjD,WAAW,IAAI,CACd,oBAAC,KAAK,IAAC,MAAM,EAAE,qBAAqB;YAClC,oBAAC,cAAc,IAAC,cAAc,EAAE,kBAAkB;gBAChD,oBAAC,KAAK,IAAC,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,IAAG,gBAAgB,EAAE,CAAS,CAChD,CACX,CACT,CACK,CACT,CAAC;KACH;IAED,OAAO,CACL,0CAEI,oBAAC,KAAK,IACJ,WAAW,EAAE,OAAO,CAAC,qBAAqB,EAC1C,MAAM,EAAE,WAAW,EACnB,SAAS,EAAE,kBAAkB,EAC7B,UAAU,EAAE,IAAI,EAChB,MAAM,EAAE,iBAAiB,gBACd,kCAAkC;QAE7C,oBAAC,KAAK,IAAC,UAAU,QAAC,eAAe,EAAC,eAAe,EAAC,aAAa,EAAC,QAAQ;YACtE,oBAAC,IAAI,QAAE,OAAO,CAAC,iBAAiB,CAAQ;YACxC,oBAAC,UAAU,IACT,SAAS,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,EACjC,SAAS,EAAE,OAAO,CAAC,gCAAgC,EACnD,OAAO,EAAE,kBAAkB,EAC3B,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GACrC,CACI;QAER,oBAAC,KAAK,IAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAG,gBAAgB,EAAE,CAAS,CAC5D,CAET,CACJ,CAAC;AACJ,CAAC,CAAC;AAEF,SAAS,8BAA8B;IACrC,6CAA6C;IAC7C,OAAO,oBAAC,yBAAyB,IAAC,QAAQ,EAAC,kBAAkB,GAAG,CAAC;IACjE,OAAO,yCAAK,CAAC;AACf,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport React from 'react';\nimport { useState } from 'react';\nimport { useMemo } from 'react';\nimport { Dialpad, DialpadStyles } from '@internal/react-components';\nimport { _DrawerMenu, _DrawerMenuItemProps, _DrawerSurface } from '@internal/react-components';\nimport { IModalStyles, Modal, Stack, useTheme, Text, IconButton } from '@fluentui/react';\nimport { IButtonStyles, PrimaryButton } from '@fluentui/react';\n\nimport { themeddialpadModalStyle } from './CallingDialpad.styles';\nimport { themedCallButtonStyle, themedDialpadStyle } from './CallingDialpad.styles';\n/* @conditional-compile-remove(PSTN-calls) */\nimport { CallWithChatCompositeIcon } from './icons';\nimport { drawerContainerStyles } from '../CallWithChatComposite/styles/CallWithChatCompositeStyles';\nimport { CommunicationIdentifier } from '@azure/communication-common';\nimport { AddPhoneNumberOptions } from '@azure/communication-calling';\n\n/** @private */\nexport interface CallingDialpadStrings {\n dialpadModalAriaLabel: string;\n dialpadModalTitle: string;\n dialpadCloseModalButtonAriaLabel: string;\n dialpadStartCallButtonLabel: string;\n}\n\n/** @private */\nexport interface CallingDialpadProps {\n isMobile: boolean;\n showDialpad: boolean;\n strings: CallingDialpadStrings;\n onDismissDialpad: () => void;\n onAddParticipant: (participant: CommunicationIdentifier, options?: AddPhoneNumberOptions) => void;\n alternateCallerId: string;\n}\n\n/** @private */\nexport const CallingDialpad = (props: CallingDialpadProps): JSX.Element => {\n const { strings, isMobile, showDialpad, onDismissDialpad, onAddParticipant, alternateCallerId } = props;\n const [textFieldInput, setTextFieldInput] = useState('');\n\n const theme = useTheme();\n\n const onDismissTriggered = (): void => {\n setTextFieldInput('');\n onDismissDialpad();\n };\n\n const onClickCall = (): void => {\n if (onAddParticipant) {\n /**\n * Format the phone number in dialpad textfield to make sure the phone number is in E.164 format.\n * We assume the input number always include countrycode\n */\n\n const phoneNumber = { phoneNumber: '+' + textFieldInput.replace(/\\D/g, '').replaceAll(' ', '') };\n\n onAddParticipant(phoneNumber, { alternateCallerId: { phoneNumber: alternateCallerId } });\n onDismissTriggered();\n }\n };\n\n const dialpadModalStyle: Partial<IModalStyles> = useMemo(() => themeddialpadModalStyle(theme), [theme]);\n\n const dialpadStyle: Partial<DialpadStyles> = useMemo(() => themedDialpadStyle(isMobile, theme), [theme, isMobile]);\n\n const callButtonStyle: Partial<IButtonStyles> = useMemo(() => themedCallButtonStyle(theme), [theme]);\n\n const dialpadComponent = (): JSX.Element => {\n return (\n <>\n <Dialpad styles={dialpadStyle} onChange={setTextFieldInput} isMobile={isMobile} />\n <PrimaryButton\n text={strings.dialpadStartCallButtonLabel}\n onRenderIcon={() => DialpadStartCallIconTrampoline()}\n onClick={onClickCall}\n styles={callButtonStyle}\n disabled={textFieldInput === ''}\n />\n </>\n );\n\n return <></>;\n };\n\n if (isMobile) {\n return (\n <Stack data-ui-id=\"call-with-chat-composite-dialpad\">\n {showDialpad && (\n <Stack styles={drawerContainerStyles}>\n <_DrawerSurface onLightDismiss={onDismissTriggered}>\n <Stack style={{ padding: '1rem' }}>{dialpadComponent()}</Stack>\n </_DrawerSurface>\n </Stack>\n )}\n </Stack>\n );\n }\n\n return (\n <>\n {\n <Modal\n titleAriaId={strings.dialpadModalAriaLabel}\n isOpen={showDialpad}\n onDismiss={onDismissTriggered}\n isBlocking={true}\n styles={dialpadModalStyle}\n data-ui-id=\"call-with-chat-composite-dialpad\"\n >\n <Stack horizontal horizontalAlign=\"space-between\" verticalAlign=\"center\">\n <Text>{strings.dialpadModalTitle}</Text>\n <IconButton\n iconProps={{ iconName: 'Cancel' }}\n ariaLabel={strings.dialpadCloseModalButtonAriaLabel}\n onClick={onDismissTriggered}\n style={{ color: theme.palette.black }}\n />\n </Stack>\n\n <Stack style={{ overflow: 'hidden' }}>{dialpadComponent()}</Stack>\n </Modal>\n }\n </>\n );\n};\n\nfunction DialpadStartCallIconTrampoline(): JSX.Element {\n /* @conditional-compile-remove(PSTN-calls) */\n return <CallWithChatCompositeIcon iconName=\"DialpadStartCall\" />;\n return <></>;\n}\n\"../../../../react-components/src\""]}
1
+ {"version":3,"file":"CallingDialpad.js","sourceRoot":"","sources":["../../../../../../../react-composites/src/composites/common/CallingDialpad.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport React from 'react';\nimport { useState } from 'react';\nimport { useMemo } from 'react';\nimport { Dialpad, DialpadStyles } from '@internal/react-components';\nimport { _DrawerMenu, _DrawerMenuItemProps, _DrawerSurface } from '@internal/react-components';\nimport { IModalStyles, Modal, Stack, useTheme, Text, IconButton } from '@fluentui/react';\nimport { IButtonStyles, PrimaryButton } from '@fluentui/react';\n\nimport { themeddialpadModalStyle } from './CallingDialpad.styles';\nimport { themedCallButtonStyle, themedDialpadStyle } from './CallingDialpad.styles';\n/* @conditional-compile-remove(PSTN-calls) */\nimport { CallWithChatCompositeIcon } from './icons';\nimport { drawerContainerStyles } from '../CallWithChatComposite/styles/CallWithChatCompositeStyles';\nimport { PhoneNumberIdentifier } from '@azure/communication-common';\nimport { AddPhoneNumberOptions } from '@azure/communication-calling';\n\n/** @private */\nexport interface CallingDialpadStrings {\n dialpadModalAriaLabel: string;\n dialpadModalTitle: string;\n dialpadCloseModalButtonAriaLabel: string;\n dialpadStartCallButtonLabel: string;\n}\n\n/** @private */\nexport interface CallingDialpadProps {\n isMobile: boolean;\n showDialpad: boolean;\n strings: CallingDialpadStrings;\n onDismissDialpad: () => void;\n onAddParticipant: (participant: PhoneNumberIdentifier, options?: AddPhoneNumberOptions) => void;\n alternateCallerId: string;\n}\n\n/** @private */\nexport const CallingDialpad = (props: CallingDialpadProps): JSX.Element => {\n const { strings, isMobile, showDialpad, onDismissDialpad, onAddParticipant, alternateCallerId } = props;\n const [textFieldInput, setTextFieldInput] = useState('');\n\n const theme = useTheme();\n\n const onDismissTriggered = (): void => {\n setTextFieldInput('');\n onDismissDialpad();\n };\n\n const onClickCall = (): void => {\n if (onAddParticipant) {\n /**\n * Format the phone number in dialpad textfield to make sure the phone number is in E.164 format.\n * We assume the input number always include countrycode\n */\n\n const phoneNumber = { phoneNumber: '+' + textFieldInput.replace(/\\D/g, '').replaceAll(' ', '') };\n\n onAddParticipant(phoneNumber, { alternateCallerId: { phoneNumber: alternateCallerId } });\n onDismissTriggered();\n }\n };\n\n const dialpadModalStyle: Partial<IModalStyles> = useMemo(() => themeddialpadModalStyle(theme), [theme]);\n\n const dialpadStyle: Partial<DialpadStyles> = useMemo(() => themedDialpadStyle(isMobile, theme), [theme, isMobile]);\n\n const callButtonStyle: Partial<IButtonStyles> = useMemo(() => themedCallButtonStyle(theme), [theme]);\n\n const dialpadComponent = (): JSX.Element => {\n return (\n <>\n <Dialpad styles={dialpadStyle} onChange={setTextFieldInput} isMobile={isMobile} />\n <PrimaryButton\n text={strings.dialpadStartCallButtonLabel}\n onRenderIcon={() => DialpadStartCallIconTrampoline()}\n onClick={onClickCall}\n styles={callButtonStyle}\n disabled={textFieldInput === ''}\n />\n </>\n );\n\n return <></>;\n };\n\n if (isMobile) {\n return (\n <Stack data-ui-id=\"call-with-chat-composite-dialpad\">\n {showDialpad && (\n <Stack styles={drawerContainerStyles}>\n <_DrawerSurface onLightDismiss={onDismissTriggered}>\n <Stack style={{ padding: '1rem' }}>{dialpadComponent()}</Stack>\n </_DrawerSurface>\n </Stack>\n )}\n </Stack>\n );\n }\n\n return (\n <>\n {\n <Modal\n titleAriaId={strings.dialpadModalAriaLabel}\n isOpen={showDialpad}\n onDismiss={onDismissTriggered}\n isBlocking={true}\n styles={dialpadModalStyle}\n data-ui-id=\"call-with-chat-composite-dialpad\"\n >\n <Stack horizontal horizontalAlign=\"space-between\" verticalAlign=\"center\">\n <Text>{strings.dialpadModalTitle}</Text>\n <IconButton\n iconProps={{ iconName: 'Cancel' }}\n ariaLabel={strings.dialpadCloseModalButtonAriaLabel}\n onClick={onDismissTriggered}\n style={{ color: theme.palette.black }}\n />\n </Stack>\n\n <Stack style={{ overflow: 'hidden' }}>{dialpadComponent()}</Stack>\n </Modal>\n }\n </>\n );\n};\n\nfunction DialpadStartCallIconTrampoline(): JSX.Element {\n /* @conditional-compile-remove(PSTN-calls) */\n return <CallWithChatCompositeIcon iconName=\"DialpadStartCall\" />;\n return <></>;\n}\n\"../../../../react-components/src\""]}
@@ -3,7 +3,7 @@ import { ParticipantMenuItemsCallback } from "../../../../react-components/src";
3
3
  import { CallWithChatCompositeStrings } from '../CallWithChatComposite';
4
4
  import { AvatarPersonaDataCallback } from '../common/AvatarPersona';
5
5
  import { CallCompositeStrings } from '../CallComposite';
6
- import { CommunicationIdentifier } from '@azure/communication-common';
6
+ import { PhoneNumberIdentifier } from '@azure/communication-common';
7
7
  import { AddPhoneNumberOptions } from '@azure/communication-calling';
8
8
  /**
9
9
  * @private
@@ -11,7 +11,7 @@ import { AddPhoneNumberOptions } from '@azure/communication-calling';
11
11
  export declare const PeoplePaneContent: (props: {
12
12
  inviteLink?: string | undefined;
13
13
  onRemoveParticipant: (participantId: string) => void;
14
- onAddParticipant: (participant: CommunicationIdentifier, options?: AddPhoneNumberOptions | undefined) => void;
14
+ onAddParticipant: (participant: PhoneNumberIdentifier, options?: AddPhoneNumberOptions | undefined) => void;
15
15
  onFetchAvatarPersonaData?: AvatarPersonaDataCallback | undefined;
16
16
  onFetchParticipantMenuItems?: ParticipantMenuItemsCallback | undefined;
17
17
  strings: CallWithChatCompositeStrings | /* @conditional-compile-remove(one-to-n-calling) */ CallCompositeStrings;
@@ -26,11 +26,11 @@ import { AddPeopleButton } from './AddPeopleButton';
26
26
  export const PeoplePaneContent = (props) => {
27
27
  const { inviteLink, onFetchParticipantMenuItems, setDrawerMenuItems, strings, onRemoveParticipant } = props;
28
28
  const participantListDefaultProps = usePropsFor(ParticipantList);
29
- const disableRemoveButton = !hasRemoveParticipantsPermissionTrampoline();
29
+ const removeButtonAllowed = hasRemoveParticipantsPermissionTrampoline();
30
30
  const setDrawerMenuItemsForParticipant = useMemo(() => {
31
31
  return (participant) => {
32
32
  if (participant) {
33
- let contextualMenuItems = createDefaultContextualMenuItems(participant, strings, participantListDefaultProps.onRemoveParticipant, participantListDefaultProps.myUserId, disableRemoveButton);
33
+ let contextualMenuItems = createDefaultContextualMenuItems(participant, strings, removeButtonAllowed ? participantListDefaultProps.onRemoveParticipant : undefined, participantListDefaultProps.myUserId);
34
34
  if (onFetchParticipantMenuItems) {
35
35
  contextualMenuItems = onFetchParticipantMenuItems(participant.userId, participantListDefaultProps.myUserId, contextualMenuItems);
36
36
  }
@@ -42,7 +42,7 @@ export const PeoplePaneContent = (props) => {
42
42
  strings,
43
43
  participantListDefaultProps.onRemoveParticipant,
44
44
  participantListDefaultProps.myUserId,
45
- disableRemoveButton,
45
+ removeButtonAllowed,
46
46
  onFetchParticipantMenuItems,
47
47
  setDrawerMenuItems
48
48
  ]);
@@ -78,13 +78,9 @@ export const PeoplePaneContent = (props) => {
78
78
  * @param localParticipantUserId - Local participant user id
79
79
  * @returns - IContextualMenuItem[]
80
80
  */
81
- const createDefaultContextualMenuItems = (participant, strings, onRemoveParticipant, localParticipantUserId, disableRemoveButton) => {
82
- let disabled = !participant.isRemovable;
83
- if (disableRemoveButton) {
84
- disabled = disabled || disableRemoveButton;
85
- }
81
+ const createDefaultContextualMenuItems = (participant, strings, onRemoveParticipant, localParticipantUserId) => {
86
82
  const menuItems = [];
87
- if ((participant === null || participant === void 0 ? void 0 : participant.userId) !== localParticipantUserId) {
83
+ if (onRemoveParticipant && (participant === null || participant === void 0 ? void 0 : participant.userId) !== localParticipantUserId) {
88
84
  menuItems.push({
89
85
  key: 'remove',
90
86
  text: strings.removeMenuLabel,
@@ -95,8 +91,7 @@ const createDefaultContextualMenuItems = (participant, strings, onRemoveParticip
95
91
  },
96
92
  iconProps: {
97
93
  iconName: 'UserRemove'
98
- },
99
- disabled: disabled
94
+ }
100
95
  });
101
96
  }
102
97
  return menuItems;
@@ -1 +1 @@
1
- {"version":3,"file":"PeoplePaneContent.js","sourceRoot":"","sources":["../../../../../../../react-composites/src/composites/common/PeoplePaneContent.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;;;;;;;;;;AAElC,OAAO,EAAuB,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EACL,eAAe,EAKhB,yCAAmC;AACpC,wCAAwC;AACxC,OAAO,EAAE,eAAe,EAAE,yCAAmC;AAC7D,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AAEjE,OAAO,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,EAAE,yBAAyB,EAAE,MAAM,8CAA8C,CAAC;AACzF,OAAO,EAAE,8BAA8B,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAC7G,OAAO,EAAE,yCAAyC,EAAE,MAAM,oEAAoE,CAAC;AAG/H,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAMpD;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,KAYjC,EAAe,EAAE;IAChB,MAAM,EAAE,UAAU,EAAE,2BAA2B,EAAE,kBAAkB,EAAE,OAAO,EAAE,mBAAmB,EAAE,GAAG,KAAK,CAAC;IAC5G,MAAM,2BAA2B,GAAG,WAAW,CAAC,eAAe,CAAC,CAAC;IACjE,MAAM,mBAAmB,GAAG,CAAC,yCAAyC,EAAE,CAAC;IACzE,MAAM,gCAAgC,GAAuD,OAAO,CAAC,GAAG,EAAE;QACxG,OAAO,CAAC,WAAwC,EAAE,EAAE;YAClD,IAAI,WAAW,EAAE;gBACf,IAAI,mBAAmB,GAA0B,gCAAgC,CAC/E,WAAW,EACX,OAAO,EACP,2BAA2B,CAAC,mBAAmB,EAC/C,2BAA2B,CAAC,QAAQ,EACpC,mBAAmB,CACpB,CAAC;gBACF,IAAI,2BAA2B,EAAE;oBAC/B,mBAAmB,GAAG,2BAA2B,CAC/C,WAAW,CAAC,MAAM,EAClB,2BAA2B,CAAC,QAAQ,EACpC,mBAAmB,CACpB,CAAC;iBACH;gBACD,MAAM,eAAe,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC,cAAmC,EAAE,EAAE,CACtF,yCAAyC,CAAC,cAAc,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CACxF,CAAC;gBACF,kBAAkB,CAAC,eAAe,CAAC,CAAC;aACrC;QACH,CAAC,CAAC;IACJ,CAAC,EAAE;QACD,OAAO;QACP,2BAA2B,CAAC,mBAAmB;QAC/C,2BAA2B,CAAC,QAAQ;QACpC,mBAAmB;QACnB,2BAA2B;QAC3B,kBAAkB;KACnB,CAAC,CAAC;IAEH,MAAM,oBAAoB,GAAyB,OAAO,CAAC,GAAG,EAAE;QAC9D,MAAM,oBAAoB,GAAG,CAAO,aAAqB,EAAiB,EAAE,kDAAC,OAAA,mBAAmB,CAAC,aAAa,CAAC,CAAA,GAAA,CAAC;QAChH,uCACK,2BAA2B;YAC9B,+GAA+G;YAC/G,mBAAmB,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,oBAAoB;YACxE,2FAA2F;YAC3F,kBAAkB,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,SAAS,IACnF;IACJ,CAAC,EAAE,CAAC,2BAA2B,EAAE,KAAK,CAAC,UAAU,EAAE,gCAAgC,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAE3G,MAAM,eAAe,GAAG,CACtB,oBAAC,0BAA0B,IACzB,QAAQ,EAAE,KAAK,CAAC,UAAU,EAC1B,oBAAoB,EAAE,oBAAoB,EAC1C,wBAAwB,EAAE,KAAK,CAAC,wBAAwB,EACxD,2BAA2B,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,2BAA2B,EAC7F,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,kBAAkB,GACvC,CACH,CAAC;IAEF,IAAI,KAAK,CAAC,UAAU,EAAE;QACpB,OAAO,CACL,oBAAC,KAAK,IAAC,YAAY,QAAC,MAAM,EAAE,wBAAwB,EAAE,MAAM,EAAE,yBAAyB;YACrF,oBAAC,KAAK,CAAC,IAAI,IAAC,IAAI,QAAC,MAAM,EAAE,8BAA8B,IACpD,eAAe,CACL;YAEb,oBAAC,eAAe,IACd,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,KAAK,CAAC,UAAU,EAC5B,eAAe,EAAE,eAAe,EAChC,OAAO,EAAE,OAAO;gBAChB,6CAA6C;gBAC7C,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;gBACxC,6CAA6C;gBAC7C,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,GAC1C,CACI,CACT,CAAC;KACH;IAED,OAAO,CACL,oBAAC,eAAe,IACd,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,KAAK,CAAC,UAAU,EAC5B,eAAe,EAAE,eAAe,EAChC,OAAO,EAAE,OAAO;QAChB,6CAA6C;QAC7C,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;QACxC,6CAA6C;QAC7C,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,GAC1C,CACH,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,gCAAgC,GAAG,CACvC,WAAuC,EACvC,OAAgH,EAChH,mBAAsD,EACtD,sBAA+B,EAC/B,mBAA6B,EACN,EAAE;IACzB,IAAI,QAAQ,GAAG,CAAC,WAAW,CAAC,WAAW,CAAC;IACxC,IAAI,mBAAmB,EAAE;QACvB,QAAQ,GAAG,QAAQ,IAAI,mBAAmB,CAAC;KAC5C;IACD,MAAM,SAAS,GAA0B,EAAE,CAAC;IAC5C,IAAI,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,MAAK,sBAAsB,EAAE;QAClD,SAAS,CAAC,IAAI,CAAC;YACb,GAAG,EAAE,QAAQ;YACb,IAAI,EAAE,OAAO,CAAC,eAAe;YAC7B,OAAO,EAAE,GAAG,EAAE;gBACZ,IAAI,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,EAAE;oBACvB,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAG,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,CAAC,CAAC;iBAC5C;YACH,CAAC;YACD,SAAS,EAAE;gBACT,QAAQ,EAAE,YAAY;aACvB;YACD,QAAQ,EAAE,QAAQ;SACnB,CAAC,CAAC;KACJ;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,yCAAyC,GAAG,GAAY,EAAE;IAC9D,wCAAwC;IACxC,OAAO,eAAe,EAAE,CAAC,uBAAuB,CAAC;IACjD,yBAAyB;IACzB,OAAO,IAAI,CAAC;AACd,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { IContextualMenuItem, Stack } from '@fluentui/react';\nimport {\n ParticipantList,\n ParticipantListParticipant,\n ParticipantListProps,\n ParticipantMenuItemsCallback,\n _DrawerMenuItemProps\n} from '@internal/react-components';\n/* @conditional-compile-remove(rooms) */\nimport { _usePermissions } from '@internal/react-components';\nimport React, { useMemo } from 'react';\nimport { CallWithChatCompositeStrings } from '../CallWithChatComposite';\nimport { usePropsFor } from '../CallComposite/hooks/usePropsFor';\nimport { AvatarPersonaDataCallback } from '../common/AvatarPersona';\nimport { ParticipantListWithHeading } from '../common/ParticipantContainer';\nimport { peoplePaneContainerTokens } from '../common/styles/ParticipantContainer.styles';\nimport { participantListContainerStyles, peoplePaneContainerStyle } from './styles/PeoplePaneContent.styles';\nimport { convertContextualMenuItemToDrawerMenuItem } from '../CallWithChatComposite/ConvertContextualMenuItemToDrawerMenuItem';\n/* @conditional-compile-remove(one-to-n-calling) */\nimport { CallCompositeStrings } from '../CallComposite';\nimport { AddPeopleButton } from './AddPeopleButton';\n/* @conditional-compile-remove(PSTN-calls) */\nimport { CommunicationIdentifier } from '@azure/communication-common';\n/* @conditional-compile-remove(PSTN-calls) */\nimport { AddPhoneNumberOptions } from '@azure/communication-calling';\n\n/**\n * @private\n */\nexport const PeoplePaneContent = (props: {\n inviteLink?: string;\n onRemoveParticipant: (participantId: string) => void;\n /* @conditional-compile-remove(PSTN-calls) */\n onAddParticipant: (participant: CommunicationIdentifier, options?: AddPhoneNumberOptions) => void;\n onFetchAvatarPersonaData?: AvatarPersonaDataCallback;\n onFetchParticipantMenuItems?: ParticipantMenuItemsCallback;\n strings: CallWithChatCompositeStrings | /* @conditional-compile-remove(one-to-n-calling) */ CallCompositeStrings;\n setDrawerMenuItems: (_DrawerMenuItemProps) => void;\n mobileView?: boolean;\n /* @conditional-compile-remove(PSTN-calls) */\n alternateCallerId?: string;\n}): JSX.Element => {\n const { inviteLink, onFetchParticipantMenuItems, setDrawerMenuItems, strings, onRemoveParticipant } = props;\n const participantListDefaultProps = usePropsFor(ParticipantList);\n const disableRemoveButton = !hasRemoveParticipantsPermissionTrampoline();\n const setDrawerMenuItemsForParticipant: (participant?: ParticipantListParticipant) => void = useMemo(() => {\n return (participant?: ParticipantListParticipant) => {\n if (participant) {\n let contextualMenuItems: IContextualMenuItem[] = createDefaultContextualMenuItems(\n participant,\n strings,\n participantListDefaultProps.onRemoveParticipant,\n participantListDefaultProps.myUserId,\n disableRemoveButton\n );\n if (onFetchParticipantMenuItems) {\n contextualMenuItems = onFetchParticipantMenuItems(\n participant.userId,\n participantListDefaultProps.myUserId,\n contextualMenuItems\n );\n }\n const drawerMenuItems = contextualMenuItems.map((contextualMenu: IContextualMenuItem) =>\n convertContextualMenuItemToDrawerMenuItem(contextualMenu, () => setDrawerMenuItems([]))\n );\n setDrawerMenuItems(drawerMenuItems);\n }\n };\n }, [\n strings,\n participantListDefaultProps.onRemoveParticipant,\n participantListDefaultProps.myUserId,\n disableRemoveButton,\n onFetchParticipantMenuItems,\n setDrawerMenuItems\n ]);\n\n const participantListProps: ParticipantListProps = useMemo(() => {\n const onRemoveAParticipant = async (participantId: string): Promise<void> => onRemoveParticipant(participantId);\n return {\n ...participantListDefaultProps,\n // Passing undefined callback for mobile to avoid context menus for participants in ParticipantList are clicked\n onRemoveParticipant: props.mobileView ? undefined : onRemoveAParticipant,\n // We want the drawer menu items to appear when participants in ParticipantList are clicked\n onParticipantClick: props.mobileView ? setDrawerMenuItemsForParticipant : undefined\n };\n }, [participantListDefaultProps, props.mobileView, setDrawerMenuItemsForParticipant, onRemoveParticipant]);\n\n const participantList = (\n <ParticipantListWithHeading\n isMobile={props.mobileView}\n participantListProps={participantListProps}\n onFetchAvatarPersonaData={props.onFetchAvatarPersonaData}\n onFetchParticipantMenuItems={props.mobileView ? undefined : props.onFetchParticipantMenuItems}\n title={props.strings.peoplePaneSubTitle}\n />\n );\n\n if (props.mobileView) {\n return (\n <Stack verticalFill styles={peoplePaneContainerStyle} tokens={peoplePaneContainerTokens}>\n <Stack.Item grow styles={participantListContainerStyles}>\n {participantList}\n </Stack.Item>\n\n <AddPeopleButton\n inviteLink={inviteLink}\n mobileView={props.mobileView}\n participantList={participantList}\n strings={strings}\n /* @conditional-compile-remove(PSTN-calls) */\n onAddParticipant={props.onAddParticipant}\n /* @conditional-compile-remove(PSTN-calls) */\n alternateCallerId={props.alternateCallerId}\n />\n </Stack>\n );\n }\n\n return (\n <AddPeopleButton\n inviteLink={inviteLink}\n mobileView={props.mobileView}\n participantList={participantList}\n strings={strings}\n /* @conditional-compile-remove(PSTN-calls) */\n onAddParticipant={props.onAddParticipant}\n /* @conditional-compile-remove(PSTN-calls) */\n alternateCallerId={props.alternateCallerId}\n />\n );\n};\n\n/**\n * Create default contextual menu items for particant\n * @param participant - participant to create contextual menu items for\n * @param strings - localized strings for menu item text\n * @param onRemoveParticipant - callback to remove participant\n * @param localParticipantUserId - Local participant user id\n * @returns - IContextualMenuItem[]\n */\nconst createDefaultContextualMenuItems = (\n participant: ParticipantListParticipant,\n strings: CallWithChatCompositeStrings | /* @conditional-compile-remove(one-to-n-calling) */ CallCompositeStrings,\n onRemoveParticipant: (userId: string) => Promise<void>,\n localParticipantUserId?: string,\n disableRemoveButton?: boolean\n): IContextualMenuItem[] => {\n let disabled = !participant.isRemovable;\n if (disableRemoveButton) {\n disabled = disabled || disableRemoveButton;\n }\n const menuItems: IContextualMenuItem[] = [];\n if (participant?.userId !== localParticipantUserId) {\n menuItems.push({\n key: 'remove',\n text: strings.removeMenuLabel,\n onClick: () => {\n if (participant?.userId) {\n onRemoveParticipant?.(participant?.userId);\n }\n },\n iconProps: {\n iconName: 'UserRemove'\n },\n disabled: disabled\n });\n }\n return menuItems;\n};\n\n/**\n * @private\n */\nconst hasRemoveParticipantsPermissionTrampoline = (): boolean => {\n /* @conditional-compile-remove(rooms) */\n return _usePermissions().removeParticipantButton;\n // Return true if stable.\n return true;\n};\n\"../../../../react-components/src\""]}
1
+ {"version":3,"file":"PeoplePaneContent.js","sourceRoot":"","sources":["../../../../../../../react-composites/src/composites/common/PeoplePaneContent.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { IContextualMenuItem, Stack } from '@fluentui/react';\nimport {\n ParticipantList,\n ParticipantListParticipant,\n ParticipantListProps,\n ParticipantMenuItemsCallback,\n _DrawerMenuItemProps\n} from '@internal/react-components';\n/* @conditional-compile-remove(rooms) */\nimport { _usePermissions } from '@internal/react-components';\nimport React, { useMemo } from 'react';\nimport { CallWithChatCompositeStrings } from '../CallWithChatComposite';\nimport { usePropsFor } from '../CallComposite/hooks/usePropsFor';\nimport { AvatarPersonaDataCallback } from '../common/AvatarPersona';\nimport { ParticipantListWithHeading } from '../common/ParticipantContainer';\nimport { peoplePaneContainerTokens } from '../common/styles/ParticipantContainer.styles';\nimport { participantListContainerStyles, peoplePaneContainerStyle } from './styles/PeoplePaneContent.styles';\nimport { convertContextualMenuItemToDrawerMenuItem } from '../CallWithChatComposite/ConvertContextualMenuItemToDrawerMenuItem';\n/* @conditional-compile-remove(one-to-n-calling) */\nimport { CallCompositeStrings } from '../CallComposite';\nimport { AddPeopleButton } from './AddPeopleButton';\n/* @conditional-compile-remove(PSTN-calls) */\nimport { PhoneNumberIdentifier } from '@azure/communication-common';\n/* @conditional-compile-remove(PSTN-calls) */\nimport { AddPhoneNumberOptions } from '@azure/communication-calling';\n\n/**\n * @private\n */\nexport const PeoplePaneContent = (props: {\n inviteLink?: string;\n onRemoveParticipant: (participantId: string) => void;\n /* @conditional-compile-remove(PSTN-calls) */\n onAddParticipant: (participant: PhoneNumberIdentifier, options?: AddPhoneNumberOptions) => void;\n onFetchAvatarPersonaData?: AvatarPersonaDataCallback;\n onFetchParticipantMenuItems?: ParticipantMenuItemsCallback;\n strings: CallWithChatCompositeStrings | /* @conditional-compile-remove(one-to-n-calling) */ CallCompositeStrings;\n setDrawerMenuItems: (_DrawerMenuItemProps) => void;\n mobileView?: boolean;\n /* @conditional-compile-remove(PSTN-calls) */\n alternateCallerId?: string;\n}): JSX.Element => {\n const { inviteLink, onFetchParticipantMenuItems, setDrawerMenuItems, strings, onRemoveParticipant } = props;\n const participantListDefaultProps = usePropsFor(ParticipantList);\n const removeButtonAllowed = hasRemoveParticipantsPermissionTrampoline();\n const setDrawerMenuItemsForParticipant: (participant?: ParticipantListParticipant) => void = useMemo(() => {\n return (participant?: ParticipantListParticipant) => {\n if (participant) {\n let contextualMenuItems: IContextualMenuItem[] = createDefaultContextualMenuItems(\n participant,\n strings,\n removeButtonAllowed ? participantListDefaultProps.onRemoveParticipant : undefined,\n participantListDefaultProps.myUserId\n );\n if (onFetchParticipantMenuItems) {\n contextualMenuItems = onFetchParticipantMenuItems(\n participant.userId,\n participantListDefaultProps.myUserId,\n contextualMenuItems\n );\n }\n const drawerMenuItems = contextualMenuItems.map((contextualMenu: IContextualMenuItem) =>\n convertContextualMenuItemToDrawerMenuItem(contextualMenu, () => setDrawerMenuItems([]))\n );\n setDrawerMenuItems(drawerMenuItems);\n }\n };\n }, [\n strings,\n participantListDefaultProps.onRemoveParticipant,\n participantListDefaultProps.myUserId,\n removeButtonAllowed,\n onFetchParticipantMenuItems,\n setDrawerMenuItems\n ]);\n\n const participantListProps: ParticipantListProps = useMemo(() => {\n const onRemoveAParticipant = async (participantId: string): Promise<void> => onRemoveParticipant(participantId);\n return {\n ...participantListDefaultProps,\n // Passing undefined callback for mobile to avoid context menus for participants in ParticipantList are clicked\n onRemoveParticipant: props.mobileView ? undefined : onRemoveAParticipant,\n // We want the drawer menu items to appear when participants in ParticipantList are clicked\n onParticipantClick: props.mobileView ? setDrawerMenuItemsForParticipant : undefined\n };\n }, [participantListDefaultProps, props.mobileView, setDrawerMenuItemsForParticipant, onRemoveParticipant]);\n\n const participantList = (\n <ParticipantListWithHeading\n isMobile={props.mobileView}\n participantListProps={participantListProps}\n onFetchAvatarPersonaData={props.onFetchAvatarPersonaData}\n onFetchParticipantMenuItems={props.mobileView ? undefined : props.onFetchParticipantMenuItems}\n title={props.strings.peoplePaneSubTitle}\n />\n );\n\n if (props.mobileView) {\n return (\n <Stack verticalFill styles={peoplePaneContainerStyle} tokens={peoplePaneContainerTokens}>\n <Stack.Item grow styles={participantListContainerStyles}>\n {participantList}\n </Stack.Item>\n\n <AddPeopleButton\n inviteLink={inviteLink}\n mobileView={props.mobileView}\n participantList={participantList}\n strings={strings}\n /* @conditional-compile-remove(PSTN-calls) */\n onAddParticipant={props.onAddParticipant}\n /* @conditional-compile-remove(PSTN-calls) */\n alternateCallerId={props.alternateCallerId}\n />\n </Stack>\n );\n }\n\n return (\n <AddPeopleButton\n inviteLink={inviteLink}\n mobileView={props.mobileView}\n participantList={participantList}\n strings={strings}\n /* @conditional-compile-remove(PSTN-calls) */\n onAddParticipant={props.onAddParticipant}\n /* @conditional-compile-remove(PSTN-calls) */\n alternateCallerId={props.alternateCallerId}\n />\n );\n};\n\n/**\n * Create default contextual menu items for particant\n * @param participant - participant to create contextual menu items for\n * @param strings - localized strings for menu item text\n * @param onRemoveParticipant - callback to remove participant\n * @param localParticipantUserId - Local participant user id\n * @returns - IContextualMenuItem[]\n */\nconst createDefaultContextualMenuItems = (\n participant: ParticipantListParticipant,\n strings: CallWithChatCompositeStrings | /* @conditional-compile-remove(one-to-n-calling) */ CallCompositeStrings,\n onRemoveParticipant?: (userId: string) => Promise<void>,\n localParticipantUserId?: string\n): IContextualMenuItem[] => {\n const menuItems: IContextualMenuItem[] = [];\n if (onRemoveParticipant && participant?.userId !== localParticipantUserId) {\n menuItems.push({\n key: 'remove',\n text: strings.removeMenuLabel,\n onClick: () => {\n if (participant?.userId) {\n onRemoveParticipant?.(participant?.userId);\n }\n },\n iconProps: {\n iconName: 'UserRemove'\n }\n });\n }\n return menuItems;\n};\n\n/**\n * @private\n */\nconst hasRemoveParticipantsPermissionTrampoline = (): boolean => {\n /* @conditional-compile-remove(rooms) */\n return _usePermissions().removeParticipantButton;\n // Return true if stable.\n return true;\n};\n\"../../../../react-components/src\""]}
@@ -91,6 +91,7 @@ export declare const DEFAULT_COMPOSITE_ICONS: {
91
91
  HoldCallButton: JSX.Element;
92
92
  ResumeCall: JSX.Element;
93
93
  BackSpace: JSX.Element;
94
+ iconBackdrop: JSX.Element;
94
95
  };
95
96
  /** @private */
96
97
  export declare type CompositeIconProps<Icons> = IIconProps & {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@azure/communication-react",
3
- "version": "1.3.3-alpha-202209110016.0",
3
+ "version": "1.3.3-alpha-202209150016.0",
4
4
  "sideEffects": false,
5
5
  "description": "React library for building modern communication user experiences utilizing Azure Communication Services",
6
6
  "keywords": [
@@ -86,13 +86,13 @@
86
86
  "@azure/core-auth": "1.3.2",
87
87
  "@babel/cli": "~7.16.0",
88
88
  "@babel/core": "~7.16.0",
89
- "@internal/calling-component-bindings": "1.3.3-alpha-202209110016.0",
90
- "@internal/calling-stateful-client": "1.3.3-alpha-202209110016.0",
91
- "@internal/chat-component-bindings": "1.3.3-alpha-202209110016.0",
92
- "@internal/chat-stateful-client": "1.3.3-alpha-202209110016.0",
93
- "@internal/fake-backends": "1.3.3-alpha-202209110016.0",
94
- "@internal/react-components": "1.3.3-alpha-202209110016.0",
95
- "@internal/react-composites": "1.3.3-alpha-202209110016.0",
89
+ "@internal/calling-component-bindings": "1.3.3-alpha-202209150016.0",
90
+ "@internal/calling-stateful-client": "1.3.3-alpha-202209150016.0",
91
+ "@internal/chat-component-bindings": "1.3.3-alpha-202209150016.0",
92
+ "@internal/chat-stateful-client": "1.3.3-alpha-202209150016.0",
93
+ "@internal/fake-backends": "1.3.3-alpha-202209150016.0",
94
+ "@internal/react-components": "1.3.3-alpha-202209150016.0",
95
+ "@internal/react-composites": "1.3.3-alpha-202209150016.0",
96
96
  "@microsoft/api-documenter": "~7.12.11",
97
97
  "@microsoft/api-extractor": "~7.18.0",
98
98
  "@rollup/plugin-json": "~4.1.0",