Skip to content
Merged
Show file tree
Hide file tree
Changes from 16 commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
8cb506a
Create DevicePermissions folder
JamesBurnside Nov 2, 2022
035c4f0
Have camera and microphone individual permission requests. Add option…
JamesBurnside Nov 2, 2022
2c20fd4
mic -> microphone
JamesBurnside Nov 2, 2022
4f2d9ba
Change files
JamesBurnside Nov 2, 2022
cea0472
add styles prop
JamesBurnside Nov 3, 2022
761b269
Add permission denied UI
JamesBurnside Nov 3, 2022
d1aab13
Merge branch 'jaburnsi/domainPermissionsUIUpdates' into jaburnsi/upda…
JamesBurnside Nov 3, 2022
94ea82b
Update packages/react-composites CallComposite browser test snapshots
github-actions[bot] Nov 3, 2022
bbff661
update strings + build fix
JamesBurnside Nov 3, 2022
f991048
Update packages/react-composites CallComposite browser test snapshots
github-actions[bot] Nov 3, 2022
29a732e
Merge remote-tracking branch 'origin/jaburnsi/domainPermissionsUIUpda…
JamesBurnside Nov 3, 2022
301d8c8
fix stable build
JamesBurnside Nov 3, 2022
df54759
fix storybook build
JamesBurnside Nov 4, 2022
4ff8c29
Merge remote-tracking branch 'origin/main' into jaburnsi/domainPermis…
JamesBurnside Nov 4, 2022
4eb88f1
Merge remote-tracking branch 'origin/jaburnsi/domainPermissionsUIUpda…
JamesBurnside Nov 4, 2022
d45bd70
update continue anyway strings
JamesBurnside Nov 4, 2022
71ead87
make common icon styles
JamesBurnside Nov 4, 2022
6aca9a8
move icons styles to seperate file
JamesBurnside Nov 4, 2022
18f6929
git pu -Merge remote-tracking branch 'origin/main' into jaburnsi/doma…
JamesBurnside Nov 4, 2022
707e4f9
Merge remote-tracking branch 'origin/jaburnsi/domainPermissionsUIUpda…
JamesBurnside Nov 4, 2022
c84f2b6
Merge remote-tracking branch 'origin/main' into jaburnsi/update-permi…
JamesBurnside Nov 4, 2022
38ca03a
Change files
JamesBurnside Nov 4, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"type": "prerelease",
"comment": "New individual camera and microphone permission modals",
"packageName": "@internal/react-components",
"email": "2684369+JamesBurnside@users.noreply.github.com",
"dependentChangeType": "patch"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"type": "none",
"comment": "Update names",
"packageName": "@internal/react-composites",
"email": "2684369+JamesBurnside@users.noreply.github.com",
"dependentChangeType": "none"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"type": "none",
"comment": "Add stories for individual camera and mic permission modals in internal folder",
"packageName": "@internal/storybook",
"email": "2684369+JamesBurnside@users.noreply.github.com",
"dependentChangeType": "none"
}
Original file line number Diff line number Diff line change
Expand Up @@ -1020,6 +1020,20 @@ export interface CallWithChatControlOptions {
// @public
export type CallWithChatEvent = 'callError' | 'chatError' | 'callEnded' | 'isMutedChanged' | 'callIdChanged' | 'isLocalScreenSharingActiveChanged' | 'displayNameChanged' | 'isSpeakingChanged' | 'callParticipantsJoined' | 'callParticipantsLeft' | 'selectedMicrophoneChanged' | 'selectedSpeakerChanged' | 'messageReceived' | 'messageSent' | 'messageRead' | 'chatParticipantsAdded' | 'chatParticipantsRemoved';

// @beta
export const CameraAndMicrophoneDomainPermissions: (props: CameraAndMicrophoneDomainPermissionsProps) => JSX.Element;

// @beta
export interface CameraAndMicrophoneDomainPermissionsProps extends CommonDomainPermissionsProps {
cameraIconName?: string;
connectorIconName?: string;
microphoneIconName?: string;
strings?: CameraAndMicrophoneDomainPermissionsStrings;
}

// @beta
export type CameraAndMicrophoneDomainPermissionsStrings = DomainPermissionsStrings;

// @public
export const CameraButton: (props: CameraButtonProps) => JSX.Element;

Expand Down Expand Up @@ -1070,6 +1084,18 @@ export interface CameraButtonStyles extends ControlBarButtonStyles {
menuStyles?: Partial<CameraButtonContextualMenuStyles>;
}

// @beta
export const CameraDomainPermissions: (props: CameraDomainPermissionsProps) => JSX.Element;

// @beta
export interface CameraDomainPermissionsProps extends CommonDomainPermissionsProps {
cameraIconName?: string;
strings?: CameraDomainPermissionsStrings;
}

// @beta
export type CameraDomainPermissionsStrings = DomainPermissionsStrings;

// @public
export type ChatAdapter = ChatAdapterThreadManagement & AdapterState<ChatAdapterState> & Disposable & ChatAdapterSubscribers & FileUploadAdapter;

Expand Down Expand Up @@ -1305,6 +1331,15 @@ export type ClientState = CallClientState & ChatClientState;
// @public
export type Common<A, B> = Pick<A, CommonProperties<A, B>>;

// @beta
export interface CommonDomainPermissionsProps {
appName: string;
onContinueAnywayClick?: () => void;
onTroubleshootingClick?: () => void;
styles?: DomainPermissionsStyles;
type: 'request' | 'denied';
}

// @public
export type CommonProperties<A, B> = {
[P in keyof A & keyof B]: A[P] extends B[P] ? P : never;
Expand Down Expand Up @@ -1375,16 +1410,21 @@ export type ComponentProps<Component extends (props: any) => JSX.Element> = Chat
export interface ComponentStrings {
BrowserPermissionDenied: BrowserPermissionDeniedStrings;
BrowserPermissionDeniedIOS: BrowserPermissionDeniedIOSStrings;
CameraAndMicrophoneDomainPermissions: DomainPermissionsStrings;
CameraAndMicrophoneDomainPermissionsDenied: DomainPermissionsStrings;
cameraButton: CameraButtonStrings;
CameraDomainPermissions: DomainPermissionsStrings;
CameraDomainPermissionsDenied: DomainPermissionsStrings;
devicesButton: DevicesButtonStrings;
dialpad: DialpadStrings;
DomainPermissions: DomainPermissionsStrings;
endCallButton: EndCallButtonStrings;
errorBar: ErrorBarStrings;
holdButton: HoldButtonStrings;
messageStatusIndicator: MessageStatusIndicatorStrings;
messageThread: MessageThreadStrings;
microphoneButton: MicrophoneButtonStrings;
MicrophoneDomainPermissions: DomainPermissionsStrings;
MicrophoneDomainPermissionsDenied: DomainPermissionsStrings;
participantItem: ParticipantItemStrings;
participantsButton: ParticipantsButtonStrings;
screenShareButton: ScreenShareButtonStrings;
Expand Down Expand Up @@ -1677,6 +1717,8 @@ export const DEFAULT_COMPONENT_ICONS: {
DomainPermissionsSparkle: JSX.Element;
DomainPermissionCamera: JSX.Element;
DomainPermissionMic: JSX.Element;
DomainPermissionCameraDenied: JSX.Element;
DomainPermissionMicDenied: JSX.Element;
UnsupportedBrowserWarning: JSX.Element;
BrowserPermissionDeniedError: JSX.Element;
};
Expand Down Expand Up @@ -1766,6 +1808,8 @@ export const DEFAULT_COMPOSITE_ICONS: {
DomainPermissionsSparkle: JSX.Element;
DomainPermissionCamera: JSX.Element;
DomainPermissionMic: JSX.Element;
DomainPermissionCameraDenied: JSX.Element;
DomainPermissionMicDenied: JSX.Element;
UnsupportedBrowserWarning: JSX.Element;
BrowserPermissionDeniedError: JSX.Element;
};
Expand Down Expand Up @@ -1922,23 +1966,18 @@ export interface Disposable {
}

// @beta
export const DomainPermissions: (props: DomainPermissionsProps) => JSX.Element;

// @beta
export interface DomainPermissionsProps {
appName: string;
onAllowAccessClick?: () => void;
onTroubleshootingClick?: () => void;
strings?: DomainPermissionsStrings;
}
export type DomainPermissionsStrings = {
primaryText?: string;
secondaryText?: string;
linkText?: string;
primaryButtonText?: string;
ariaLabel?: string;
};

// @beta
export interface DomainPermissionsStrings {
ariaLabel: string;
linkText: string;
primaryButtonText: string;
primaryText: string;
secondaryText: string;
export interface DomainPermissionsStyles extends BaseCustomStyles {
primaryButton?: IButtonStyles;
troubleshootingLink?: ILinkStyles;
}

// @beta
Expand Down Expand Up @@ -2467,6 +2506,18 @@ export interface MicrophoneButtonStyles extends ControlBarButtonStyles {
menuStyles?: Partial<MicrophoneButtonContextualMenuStyles>;
}

// @beta
export const MicrophoneDomainPermissions: (props: MicrophoneDomainPermissionsProps) => JSX.Element;

// @beta
export interface MicrophoneDomainPermissionsProps extends CommonDomainPermissionsProps {
microphoneIconName?: string;
strings?: MicrophoneDomainPermissionsStrings;
}

// @beta
export type MicrophoneDomainPermissionsStrings = DomainPermissionsStrings;

// @public
export type NetworkDiagnosticChangedEvent = NetworkDiagnosticChangedEventArgs & {
type: 'network';
Expand Down
20 changes: 17 additions & 3 deletions packages/communication-react/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,23 @@ export { HoldButton } from '../../react-components/src';
export { Dialpad } from '../../react-components/src';

/* @conditional-compile-remove(call-readiness) */
export { DomainPermissions } from '../../react-components/src';
export {
CameraAndMicrophoneDomainPermissions,
MicrophoneDomainPermissions,
CameraDomainPermissions
} from '../../react-components/src';
/* @conditional-compile-remove(call-readiness) */
export type {
CameraAndMicrophoneDomainPermissionsStrings,
CameraAndMicrophoneDomainPermissionsProps,
CameraDomainPermissionsStrings,
CameraDomainPermissionsProps,
CommonDomainPermissionsProps,
DomainPermissionsStrings,
DomainPermissionsStyles,
MicrophoneDomainPermissionsStrings,
MicrophoneDomainPermissionsProps
} from '../../react-components/src';

export type {
_IdentifierProviderProps,
Expand Down Expand Up @@ -233,8 +249,6 @@ export type {
/* @conditional-compile-remove(PSTN-calls) */
export type { HoldButtonProps, HoldButtonStrings, VideoTileStrings } from '../../react-components/src';
/* @conditional-compile-remove(call-readiness) */
export type { DomainPermissionsStrings, DomainPermissionsProps } from '../../react-components/src';
/* @conditional-compile-remove(call-readiness) */
export type { BrowserPermissionDeniedStrings, BrowserPermissionDeniedProps } from '../../react-components/src';
/* @conditional-compile-remove(call-readiness) */
export type {
Expand Down
81 changes: 65 additions & 16 deletions packages/react-components/review/beta/react-components.api.md
Original file line number Diff line number Diff line change
Expand Up @@ -136,6 +136,20 @@ export type CallParticipantListParticipant = ParticipantListParticipant & {
role?: Role;
};

// @beta
export const CameraAndMicrophoneDomainPermissions: (props: CameraAndMicrophoneDomainPermissionsProps) => JSX.Element;

// @beta
export interface CameraAndMicrophoneDomainPermissionsProps extends CommonDomainPermissionsProps {
cameraIconName?: string;
connectorIconName?: string;
microphoneIconName?: string;
strings?: CameraAndMicrophoneDomainPermissionsStrings;
}

// @beta
export type CameraAndMicrophoneDomainPermissionsStrings = DomainPermissionsStrings;

// @public
export const CameraButton: (props: CameraButtonProps) => JSX.Element;

Expand Down Expand Up @@ -178,6 +192,18 @@ export interface CameraButtonStyles extends ControlBarButtonStyles {
menuStyles?: Partial<CameraButtonContextualMenuStyles>;
}

// @beta
export const CameraDomainPermissions: (props: CameraDomainPermissionsProps) => JSX.Element;

// @beta
export interface CameraDomainPermissionsProps extends CommonDomainPermissionsProps {
cameraIconName?: string;
strings?: CameraDomainPermissionsStrings;
}

// @beta
export type CameraDomainPermissionsStrings = DomainPermissionsStrings;

// @public
export interface ChatMessage extends MessageCommon {
// (undocumented)
Expand Down Expand Up @@ -207,6 +233,15 @@ export interface ChatMessage extends MessageCommon {
status?: MessageStatus;
}

// @beta
export interface CommonDomainPermissionsProps {
appName: string;
onContinueAnywayClick?: () => void;
onTroubleshootingClick?: () => void;
styles?: DomainPermissionsStyles;
type: 'request' | 'denied';
}

// @public
export type CommunicationParticipant = {
userId: string;
Expand Down Expand Up @@ -313,16 +348,21 @@ export interface ComponentLocale {
export interface ComponentStrings {
BrowserPermissionDenied: BrowserPermissionDeniedStrings;
BrowserPermissionDeniedIOS: BrowserPermissionDeniedIOSStrings;
CameraAndMicrophoneDomainPermissions: DomainPermissionsStrings;
CameraAndMicrophoneDomainPermissionsDenied: DomainPermissionsStrings;
cameraButton: CameraButtonStrings;
CameraDomainPermissions: DomainPermissionsStrings;
CameraDomainPermissionsDenied: DomainPermissionsStrings;
devicesButton: DevicesButtonStrings;
dialpad: DialpadStrings;
DomainPermissions: DomainPermissionsStrings;
endCallButton: EndCallButtonStrings;
errorBar: ErrorBarStrings;
holdButton: HoldButtonStrings;
messageStatusIndicator: MessageStatusIndicatorStrings;
messageThread: MessageThreadStrings;
microphoneButton: MicrophoneButtonStrings;
MicrophoneDomainPermissions: DomainPermissionsStrings;
MicrophoneDomainPermissionsDenied: DomainPermissionsStrings;
participantItem: ParticipantItemStrings;
participantsButton: ParticipantsButtonStrings;
screenShareButton: ScreenShareButtonStrings;
Expand Down Expand Up @@ -475,6 +515,8 @@ export const DEFAULT_COMPONENT_ICONS: {
DomainPermissionsSparkle: JSX.Element;
DomainPermissionCamera: JSX.Element;
DomainPermissionMic: JSX.Element;
DomainPermissionCameraDenied: JSX.Element;
DomainPermissionMicDenied: JSX.Element;
UnsupportedBrowserWarning: JSX.Element;
BrowserPermissionDeniedError: JSX.Element;
};
Expand Down Expand Up @@ -582,23 +624,18 @@ export interface DialpadStyles {
}

// @beta
export const DomainPermissions: (props: DomainPermissionsProps) => JSX.Element;

// @beta
export interface DomainPermissionsProps {
appName: string;
onAllowAccessClick?: () => void;
onTroubleshootingClick?: () => void;
strings?: DomainPermissionsStrings;
}
export type DomainPermissionsStrings = {
primaryText?: string;
secondaryText?: string;
linkText?: string;
primaryButtonText?: string;
ariaLabel?: string;
};

// @beta
export interface DomainPermissionsStrings {
ariaLabel: string;
linkText: string;
primaryButtonText: string;
primaryText: string;
secondaryText: string;
export interface DomainPermissionsStyles extends BaseCustomStyles {
primaryButton?: IButtonStyles;
troubleshootingLink?: ILinkStyles;
}

// @internal
Expand Down Expand Up @@ -1116,6 +1153,18 @@ export interface MicrophoneButtonStyles extends ControlBarButtonStyles {
menuStyles?: Partial<MicrophoneButtonContextualMenuStyles>;
}

// @beta
export const MicrophoneDomainPermissions: (props: MicrophoneDomainPermissionsProps) => JSX.Element;

// @beta
export interface MicrophoneDomainPermissionsProps extends CommonDomainPermissionsProps {
microphoneIconName?: string;
strings?: MicrophoneDomainPermissionsStrings;
}

// @beta
export type MicrophoneDomainPermissionsStrings = DomainPermissionsStrings;

// @internal (undocumented)
export const _ModalClone: React_3.FunctionComponent<_ExtendedIModalProps>;

Expand Down
Loading