@azure/communication-react 1.4.2-alpha-202211150040.0 → 1.4.2-alpha-202211160016.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 (87) hide show
  1. package/dist/communication-react.d.ts +108 -35
  2. package/dist/dist-cjs/communication-react/index.js +11108 -10812
  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 +51 -0
  7. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js +270 -0
  8. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js.map +1 -0
  9. package/dist/dist-esm/calling-component-bindings/src/handlers/createDefaultCallingHandlersForComponent.d.ts +20 -0
  10. package/dist/dist-esm/calling-component-bindings/src/handlers/createDefaultCallingHandlersForComponent.js +36 -0
  11. package/dist/dist-esm/calling-component-bindings/src/handlers/createDefaultCallingHandlersForComponent.js.map +1 -0
  12. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.d.ts +6 -51
  13. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js +22 -299
  14. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js.map +1 -1
  15. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.d.ts +43 -0
  16. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js +81 -0
  17. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js.map +1 -0
  18. package/dist/dist-esm/calling-component-bindings/src/hooks/useHandlers.d.ts +1 -1
  19. package/dist/dist-esm/calling-component-bindings/src/hooks/useHandlers.js +17 -5
  20. package/dist/dist-esm/calling-component-bindings/src/hooks/useHandlers.js.map +1 -1
  21. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.d.ts +2 -2
  22. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  23. package/dist/dist-esm/calling-component-bindings/src/hooks/useSelector.js +3 -3
  24. package/dist/dist-esm/calling-component-bindings/src/hooks/useSelector.js.map +1 -1
  25. package/dist/dist-esm/calling-component-bindings/src/index.d.ts +4 -0
  26. package/dist/dist-esm/calling-component-bindings/src/index.js +4 -0
  27. package/dist/dist-esm/calling-component-bindings/src/index.js.map +1 -1
  28. package/dist/dist-esm/calling-component-bindings/src/providers/CallAgentProvider.d.ts +12 -2
  29. package/dist/dist-esm/calling-component-bindings/src/providers/CallAgentProvider.js +25 -1
  30. package/dist/dist-esm/calling-component-bindings/src/providers/CallAgentProvider.js.map +1 -1
  31. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.d.ts +16 -2
  32. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.js +27 -1
  33. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.js.map +1 -1
  34. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.d.ts +11 -0
  35. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js +15 -1
  36. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js.map +1 -1
  37. package/dist/dist-esm/calling-stateful-client/src/BetaToStableTypes.d.ts +8 -5
  38. package/dist/dist-esm/calling-stateful-client/src/BetaToStableTypes.js.map +1 -1
  39. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.js +6 -6
  40. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.js.map +1 -1
  41. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.d.ts +1 -1
  42. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js.map +1 -1
  43. package/dist/dist-esm/calling-stateful-client/src/Converter.d.ts +1 -1
  44. package/dist/dist-esm/calling-stateful-client/src/Converter.js +2 -2
  45. package/dist/dist-esm/calling-stateful-client/src/Converter.js.map +1 -1
  46. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.js +6 -6
  47. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.js.map +1 -1
  48. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.d.ts +1 -1
  49. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js.map +1 -1
  50. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.d.ts +8 -8
  51. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.js +8 -8
  52. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.js.map +1 -1
  53. package/dist/dist-esm/calling-stateful-client/src/index-public.d.ts +8 -0
  54. package/dist/dist-esm/calling-stateful-client/src/index-public.js +4 -0
  55. package/dist/dist-esm/calling-stateful-client/src/index-public.js.map +1 -0
  56. package/dist/dist-esm/calling-stateful-client/src/index.d.ts +3 -7
  57. package/dist/dist-esm/calling-stateful-client/src/index.js +2 -1
  58. package/dist/dist-esm/calling-stateful-client/src/index.js.map +1 -1
  59. package/dist/dist-esm/communication-react/src/index.d.ts +4 -2
  60. package/dist/dist-esm/communication-react/src/index.js +3 -1
  61. package/dist/dist-esm/communication-react/src/index.js.map +1 -1
  62. package/dist/dist-esm/react-components/src/components/VideoTile.d.ts +4 -0
  63. package/dist/dist-esm/react-components/src/components/VideoTile.js +9 -2
  64. package/dist/dist-esm/react-components/src/components/VideoTile.js.map +1 -1
  65. package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.d.ts +4 -0
  66. package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.js +6 -0
  67. package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.js.map +1 -1
  68. package/dist/dist-esm/react-components/src/theming/icons.d.ts +1 -0
  69. package/dist/dist-esm/react-components/src/theming/icons.js +7 -3
  70. package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
  71. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js +2 -15
  72. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js.map +1 -1
  73. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.d.ts +14 -8
  74. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
  75. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.d.ts +1 -0
  76. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.js.map +1 -1
  77. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.d.ts +47 -0
  78. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js +170 -0
  79. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js.map +1 -0
  80. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js +37 -48
  81. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js.map +1 -1
  82. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.d.ts +1 -1
  83. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js +4 -4
  84. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js.map +1 -1
  85. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js.map +1 -1
  86. package/dist/dist-esm/react-composites/src/composites/common/icons.d.ts +1 -0
  87. package/package.json +8 -8
@@ -1 +1 @@
1
- {"version":3,"file":"CallAgentDeclarativeCommon.js","sourceRoot":"","sources":["../../../../../calling-stateful-client/src/CallAgentDeclarativeCommon.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { Call, CallAgent, CallEndReason, CollectionUpdatedEvent } from '@azure/communication-calling';\n/* @conditional-compile-remove(teams-identity-support) */\nimport { TeamsCallAgent } from '@azure/communication-calling';\nimport { CallContext } from './CallContext';\nimport { DeclarativeCall } from './CallDeclarative';\nimport { CallSubscriber } from './CallSubscriber';\nimport { convertSdkCallToDeclarativeCall, convertSdkIncomingCallToDeclarativeIncomingCall } from './Converter';\nimport { DeclarativeIncomingCall, incomingCallDeclaratify } from './IncomingCallDeclarative';\nimport { IncomingCallSubscriber } from './IncomingCallSubscriber';\nimport { InternalCallContext } from './InternalCallContext';\nimport { CallAgentCommon, CallCommon, IncomingCallCommon } from './BetaToStableTypes';\nimport { disposeAllViews, disposeAllViewsFromCall } from './StreamUtils';\n\n/**\n *\n * @private\n */\nexport type DeclarativeCallCommon = CallCommon & {\n /**\n * Stop any declarative specific subscriptions and remove declarative subscribers.\n */\n unsubscribe(): void;\n};\n\n/**\n * ProxyCallAgent proxies CallAgent and saves any returned state in the given context. It will subscribe to all state\n * updates in the CallAgent and in the contained Calls and RemoteParticipants. When dispose is called it will\n * unsubscribe from all state updates.\n */\nexport abstract class ProxyCallAgentCommon {\n private _context: CallContext;\n private _internalContext: InternalCallContext;\n private _callSubscribers: Map<CallCommon, CallSubscriber>;\n private _incomingCallSubscribers: Map<string, IncomingCallSubscriber>;\n private _declarativeIncomingCalls: Map<string, DeclarativeIncomingCall>;\n private _declarativeCalls: Map<CallCommon, DeclarativeCallCommon>;\n private _externalCallsUpdatedListeners: Set<CollectionUpdatedEvent<CallCommon>>;\n\n constructor(context: CallContext, internalContext: InternalCallContext) {\n this._context = context;\n this._internalContext = internalContext;\n this._callSubscribers = new Map<Call, CallSubscriber>();\n this._incomingCallSubscribers = new Map<string, IncomingCallSubscriber>();\n this._declarativeIncomingCalls = new Map<string, DeclarativeIncomingCall>();\n this._declarativeCalls = new Map<Call, DeclarativeCall>();\n this._externalCallsUpdatedListeners = new Set<CollectionUpdatedEvent<CallCommon>>();\n }\n\n // Unsubscribe is called when CallAgent is disposed. This should mean no more updating of existing call but we don't\n // remove any existing state.\n protected unregisterSubscriber = (): void => {\n for (const [_, callSubscriber] of this._callSubscribers.entries()) {\n callSubscriber.unsubscribe();\n }\n this._callSubscribers.clear();\n\n for (const [_, incomingCallSubscriber] of this._incomingCallSubscribers.entries()) {\n incomingCallSubscriber.unsubscribe();\n }\n this._incomingCallSubscribers.clear();\n this._declarativeIncomingCalls.clear();\n\n for (const [_, declarativeCall] of this._declarativeCalls.entries()) {\n declarativeCall.unsubscribe();\n }\n this._declarativeCalls.clear();\n };\n\n protected abstract unsubscribe(): void;\n\n protected abstract callDeclaratify(call: CallCommon, context: CallContext): DeclarativeCallCommon;\n\n protected callsUpdated = (event: { added: CallCommon[]; removed: CallCommon[] }): void => {\n const addedStatefulCall: DeclarativeCallCommon[] = [];\n for (const call of event.added) {\n const statefulCall = this.addCall(call);\n addedStatefulCall.push(statefulCall);\n }\n const removedStatefulCall: DeclarativeCallCommon[] = [];\n for (const call of event.removed) {\n disposeAllViewsFromCall(this._context, this._internalContext, call.id);\n const callSubscriber = this._callSubscribers.get(call);\n if (callSubscriber) {\n callSubscriber.unsubscribe();\n this._callSubscribers.delete(call);\n }\n this._context.setCallEnded(call.id, call.callEndReason);\n const declarativeCall = this._declarativeCalls.get(call);\n if (declarativeCall) {\n declarativeCall.unsubscribe();\n removedStatefulCall.push(declarativeCall);\n this._declarativeCalls.delete(call);\n } else {\n removedStatefulCall.push(this.callDeclaratify(call, this._context));\n }\n }\n\n for (const externalCallsUpdatedListener of this._externalCallsUpdatedListeners) {\n externalCallsUpdatedListener({ added: addedStatefulCall, removed: removedStatefulCall });\n }\n };\n\n private setIncomingCallEnded = (incomingCallId: string, callEndReason: CallEndReason): void => {\n const incomingCallSubscriber = this._incomingCallSubscribers.get(incomingCallId);\n if (incomingCallSubscriber) {\n incomingCallSubscriber.unsubscribe();\n this._incomingCallSubscribers.delete(incomingCallId);\n }\n this._declarativeIncomingCalls.delete(incomingCallId);\n this._context.setIncomingCallEnded(incomingCallId, callEndReason);\n };\n\n protected incomingCall = ({ incomingCall }: { incomingCall: IncomingCallCommon }): void => {\n // Make sure to not subscribe to the incoming call if we are already subscribed to it.\n if (!this._incomingCallSubscribers.has(incomingCall.id)) {\n this._incomingCallSubscribers.set(\n incomingCall.id,\n new IncomingCallSubscriber(incomingCall, this.setIncomingCallEnded)\n );\n }\n this._declarativeIncomingCalls.set(incomingCall.id, incomingCallDeclaratify(incomingCall, this._context));\n this._context.setIncomingCall(convertSdkIncomingCallToDeclarativeIncomingCall(incomingCall));\n };\n\n protected addCall = (call: CallCommon): DeclarativeCallCommon => {\n this._callSubscribers.get(call)?.unsubscribe();\n\n // For API extentions we need to have the call in the state when we are subscribing as we may want to update the\n // state during the subscription process in the subscriber so we add the call to state before subscribing.\n this._context.setCall(convertSdkCallToDeclarativeCall(call));\n this._callSubscribers.set(call, new CallSubscriber(call, this._context, this._internalContext));\n return this.getOrCreateDeclarativeCall(call);\n };\n\n private getOrCreateDeclarativeCall = (call: CallCommon): DeclarativeCallCommon => {\n const declarativeCall = this._declarativeCalls.get(call);\n if (declarativeCall) {\n return declarativeCall;\n }\n\n const newDeclarativeCall = this.callDeclaratify(call, this._context);\n this._declarativeCalls.set(call, newDeclarativeCall);\n return newDeclarativeCall;\n };\n\n // args could be either from teamsCall or Call, set it as unknown and cast it in child class later\n protected abstract startCall(agent: CallAgentCommon, args: unknown[]): CallCommon;\n protected abstract joinCall(agent: CallAgentCommon, args: unknown[]): CallCommon;\n protected abstract agentSubscribe(agent: CallAgentCommon, args: unknown[]): void;\n protected abstract agentUnsubscribe(agent: CallAgentCommon, args: unknown[]): void;\n\n // We can't directly override get function because it is proxied,\n // Add a getCommon function and call it in child class\n protected getCommon<\n AgentType extends CallAgent | /* @conditional-compile-remove(teams-identity-support) */ TeamsCallAgent,\n P extends keyof CallAgent\n >(target: AgentType, prop: P): any {\n switch (prop) {\n case 'startCall': {\n return this._context.withErrorTeedToState((...args: Parameters<AgentType['startCall']>): CallCommon => {\n const call = this.startCall(target, args);\n this.addCall(call);\n return this.getOrCreateDeclarativeCall(call);\n }, 'CallAgent.startCall');\n }\n case 'join': {\n return this._context.withErrorTeedToState((...args: Parameters<AgentType['join']>): CallCommon => {\n const call = this.joinCall(target, args);\n this.addCall(call);\n return this.getOrCreateDeclarativeCall(call);\n }, 'CallAgent.join');\n }\n case 'calls': {\n return Array.from(this._declarativeCalls.values());\n }\n case 'on': {\n return (...args: Parameters<AgentType['on']>): void => {\n const isCallsUpdated = args[0] === 'callsUpdated';\n if (isCallsUpdated) {\n const listener = args[1];\n this._externalCallsUpdatedListeners.add(listener as CollectionUpdatedEvent<CallCommon>);\n } else {\n this.agentSubscribe(target, args);\n }\n };\n }\n case 'off': {\n return (...args: Parameters<AgentType['off']>): void => {\n const isCallsUpdated = args[0] === 'callsUpdated';\n if (isCallsUpdated) {\n const listener = args[1];\n this._externalCallsUpdatedListeners.delete(listener as CollectionUpdatedEvent<CallCommon>);\n } else {\n this.agentUnsubscribe(target, args);\n }\n };\n }\n case 'dispose': {\n /* @conditional-compile-remove(calling-beta-sdk) */\n return (): void => {\n target.dispose();\n this.unsubscribe();\n };\n // Wrapping CallAgent.dispose in a callback type (): Promise<void> to accomodate the change of CallAgent.dispose\n // in calling beta version 1.8.0-beta.1 from callback type (): Promise<void> to (): void\n const callAgentDisposeAsyncCallbackWrapper = async (): Promise<void> => {\n await target.dispose();\n return Promise.resolve();\n };\n return (): Promise<void> => {\n return callAgentDisposeAsyncCallbackWrapper().then(() => {\n this.unsubscribe();\n });\n };\n }\n /**\n * This attribute is a special case and doesn't exist on the CallAgent interface.\n * We need this to be able to return a declarative incoming call object using the call agent.\n * In a standard headless SDK usage, the right way to get an incoming call is to use the `incomingCall` event.\n * However, using the declarative layer, the ideal usage would be to:\n * 1. subscribe to the `onStateChange` event\n * 2. Get the incoming call from the new state and it's ID\n * 3. Use `callAgent.incomingCalls` and filter an incoming call ID to get a declarative incoming call object\n */\n case 'incomingCalls': {\n return Array.from(this._declarativeIncomingCalls.values());\n }\n default:\n return Reflect.get(target, prop);\n }\n }\n}\n\n/**\n * @private\n */\nexport const clearCallRelatedState = (context: CallContext, internalContext: InternalCallContext): void => {\n // Make sure there are no existing call data if creating a new CallAgentDeclarative (if creating a new\n // CallAgentDeclarative after disposing of the hold one will mean context have old call state). TODO: should we stop\n // rendering when the previous callAgent is disposed?\n disposeAllViews(context, internalContext);\n\n context.clearCallRelatedState();\n internalContext.clearCallRelatedState();\n};\n"]}
1
+ {"version":3,"file":"CallAgentDeclarativeCommon.js","sourceRoot":"","sources":["../../../../../calling-stateful-client/src/CallAgentDeclarativeCommon.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { Call, CallAgent, CallEndReason, CollectionUpdatedEvent } from '@azure/communication-calling';\n\nimport { IncomingCallCommon, CallAgentCommon, CallCommon } from './BetaToStableTypes';\n\n/* @conditional-compile-remove(teams-identity-support) */\nimport { TeamsCallAgent } from '@azure/communication-calling';\nimport { CallContext } from './CallContext';\nimport { DeclarativeCall } from './CallDeclarative';\nimport { CallSubscriber } from './CallSubscriber';\nimport { convertSdkCallToDeclarativeCall, convertSdkIncomingCallToDeclarativeIncomingCall } from './Converter';\nimport { DeclarativeIncomingCall, incomingCallDeclaratify } from './IncomingCallDeclarative';\nimport { IncomingCallSubscriber } from './IncomingCallSubscriber';\nimport { InternalCallContext } from './InternalCallContext';\nimport { disposeAllViews, disposeAllViewsFromCall } from './StreamUtils';\n\n/**\n *\n * @private\n */\nexport type DeclarativeCallCommon = CallCommon & {\n /**\n * Stop any declarative specific subscriptions and remove declarative subscribers.\n */\n unsubscribe(): void;\n};\n\n/**\n * ProxyCallAgent proxies CallAgent and saves any returned state in the given context. It will subscribe to all state\n * updates in the CallAgent and in the contained Calls and RemoteParticipants. When dispose is called it will\n * unsubscribe from all state updates.\n */\nexport abstract class ProxyCallAgentCommon {\n private _context: CallContext;\n private _internalContext: InternalCallContext;\n private _callSubscribers: Map<CallCommon, CallSubscriber>;\n private _incomingCallSubscribers: Map<string, IncomingCallSubscriber>;\n private _declarativeIncomingCalls: Map<string, DeclarativeIncomingCall>;\n private _declarativeCalls: Map<CallCommon, DeclarativeCallCommon>;\n private _externalCallsUpdatedListeners: Set<CollectionUpdatedEvent<CallCommon>>;\n\n constructor(context: CallContext, internalContext: InternalCallContext) {\n this._context = context;\n this._internalContext = internalContext;\n this._callSubscribers = new Map<Call, CallSubscriber>();\n this._incomingCallSubscribers = new Map<string, IncomingCallSubscriber>();\n this._declarativeIncomingCalls = new Map<string, DeclarativeIncomingCall>();\n this._declarativeCalls = new Map<Call, DeclarativeCall>();\n this._externalCallsUpdatedListeners = new Set<CollectionUpdatedEvent<CallCommon>>();\n }\n\n // Unsubscribe is called when CallAgent is disposed. This should mean no more updating of existing call but we don't\n // remove any existing state.\n protected unregisterSubscriber = (): void => {\n for (const [_, callSubscriber] of this._callSubscribers.entries()) {\n callSubscriber.unsubscribe();\n }\n this._callSubscribers.clear();\n\n for (const [_, incomingCallSubscriber] of this._incomingCallSubscribers.entries()) {\n incomingCallSubscriber.unsubscribe();\n }\n this._incomingCallSubscribers.clear();\n this._declarativeIncomingCalls.clear();\n\n for (const [_, declarativeCall] of this._declarativeCalls.entries()) {\n declarativeCall.unsubscribe();\n }\n this._declarativeCalls.clear();\n };\n\n protected abstract unsubscribe(): void;\n\n protected abstract callDeclaratify(call: CallCommon, context: CallContext): DeclarativeCallCommon;\n\n protected callsUpdated = (event: { added: CallCommon[]; removed: CallCommon[] }): void => {\n const addedStatefulCall: DeclarativeCallCommon[] = [];\n for (const call of event.added) {\n const statefulCall = this.addCall(call);\n addedStatefulCall.push(statefulCall);\n }\n const removedStatefulCall: DeclarativeCallCommon[] = [];\n for (const call of event.removed) {\n disposeAllViewsFromCall(this._context, this._internalContext, call.id);\n const callSubscriber = this._callSubscribers.get(call);\n if (callSubscriber) {\n callSubscriber.unsubscribe();\n this._callSubscribers.delete(call);\n }\n this._context.setCallEnded(call.id, call.callEndReason);\n const declarativeCall = this._declarativeCalls.get(call);\n if (declarativeCall) {\n declarativeCall.unsubscribe();\n removedStatefulCall.push(declarativeCall);\n this._declarativeCalls.delete(call);\n } else {\n removedStatefulCall.push(this.callDeclaratify(call, this._context));\n }\n }\n\n for (const externalCallsUpdatedListener of this._externalCallsUpdatedListeners) {\n externalCallsUpdatedListener({ added: addedStatefulCall, removed: removedStatefulCall });\n }\n };\n\n private setIncomingCallEnded = (incomingCallId: string, callEndReason: CallEndReason): void => {\n const incomingCallSubscriber = this._incomingCallSubscribers.get(incomingCallId);\n if (incomingCallSubscriber) {\n incomingCallSubscriber.unsubscribe();\n this._incomingCallSubscribers.delete(incomingCallId);\n }\n this._declarativeIncomingCalls.delete(incomingCallId);\n this._context.setIncomingCallEnded(incomingCallId, callEndReason);\n };\n\n protected incomingCall = ({ incomingCall }: { incomingCall: IncomingCallCommon }): void => {\n // Make sure to not subscribe to the incoming call if we are already subscribed to it.\n if (!this._incomingCallSubscribers.has(incomingCall.id)) {\n this._incomingCallSubscribers.set(\n incomingCall.id,\n new IncomingCallSubscriber(incomingCall, this.setIncomingCallEnded)\n );\n }\n this._declarativeIncomingCalls.set(incomingCall.id, incomingCallDeclaratify(incomingCall, this._context));\n this._context.setIncomingCall(convertSdkIncomingCallToDeclarativeIncomingCall(incomingCall));\n };\n\n protected addCall = (call: CallCommon): DeclarativeCallCommon => {\n this._callSubscribers.get(call)?.unsubscribe();\n\n // For API extentions we need to have the call in the state when we are subscribing as we may want to update the\n // state during the subscription process in the subscriber so we add the call to state before subscribing.\n this._context.setCall(convertSdkCallToDeclarativeCall(call));\n this._callSubscribers.set(call, new CallSubscriber(call, this._context, this._internalContext));\n return this.getOrCreateDeclarativeCall(call);\n };\n\n private getOrCreateDeclarativeCall = (call: CallCommon): DeclarativeCallCommon => {\n const declarativeCall = this._declarativeCalls.get(call);\n if (declarativeCall) {\n return declarativeCall;\n }\n\n const newDeclarativeCall = this.callDeclaratify(call, this._context);\n this._declarativeCalls.set(call, newDeclarativeCall);\n return newDeclarativeCall;\n };\n\n // args could be either from teamsCall or Call, set it as unknown and cast it in child class later\n protected abstract startCall(agent: CallAgentCommon, args: unknown[]): CallCommon;\n protected abstract joinCall(agent: CallAgentCommon, args: unknown[]): CallCommon;\n protected abstract agentSubscribe(agent: CallAgentCommon, args: unknown[]): void;\n protected abstract agentUnsubscribe(agent: CallAgentCommon, args: unknown[]): void;\n\n // We can't directly override get function because it is proxied,\n // Add a getCommon function and call it in child class\n protected getCommon<\n AgentType extends CallAgent | /* @conditional-compile-remove(teams-identity-support) */ TeamsCallAgent,\n P extends keyof CallAgent\n >(target: AgentType, prop: P): any {\n switch (prop) {\n case 'startCall': {\n return this._context.withErrorTeedToState((...args: Parameters<AgentType['startCall']>): CallCommon => {\n const call = this.startCall(target, args);\n this.addCall(call);\n return this.getOrCreateDeclarativeCall(call);\n }, 'CallAgent.startCall');\n }\n case 'join': {\n return this._context.withErrorTeedToState((...args: Parameters<AgentType['join']>): CallCommon => {\n const call = this.joinCall(target, args);\n this.addCall(call);\n return this.getOrCreateDeclarativeCall(call);\n }, 'CallAgent.join');\n }\n case 'calls': {\n return Array.from(this._declarativeCalls.values());\n }\n case 'on': {\n return (...args: Parameters<AgentType['on']>): void => {\n const isCallsUpdated = args[0] === 'callsUpdated';\n if (isCallsUpdated) {\n const listener = args[1];\n this._externalCallsUpdatedListeners.add(listener as CollectionUpdatedEvent<CallCommon>);\n } else {\n this.agentSubscribe(target, args);\n }\n };\n }\n case 'off': {\n return (...args: Parameters<AgentType['off']>): void => {\n const isCallsUpdated = args[0] === 'callsUpdated';\n if (isCallsUpdated) {\n const listener = args[1];\n this._externalCallsUpdatedListeners.delete(listener as CollectionUpdatedEvent<CallCommon>);\n } else {\n this.agentUnsubscribe(target, args);\n }\n };\n }\n case 'dispose': {\n /* @conditional-compile-remove(calling-beta-sdk) */\n return (): void => {\n target.dispose();\n this.unsubscribe();\n };\n // Wrapping CallAgent.dispose in a callback type (): Promise<void> to accomodate the change of CallAgent.dispose\n // in calling beta version 1.8.0-beta.1 from callback type (): Promise<void> to (): void\n const callAgentDisposeAsyncCallbackWrapper = async (): Promise<void> => {\n await target.dispose();\n return Promise.resolve();\n };\n return (): Promise<void> => {\n return callAgentDisposeAsyncCallbackWrapper().then(() => {\n this.unsubscribe();\n });\n };\n }\n /**\n * This attribute is a special case and doesn't exist on the CallAgent interface.\n * We need this to be able to return a declarative incoming call object using the call agent.\n * In a standard headless SDK usage, the right way to get an incoming call is to use the `incomingCall` event.\n * However, using the declarative layer, the ideal usage would be to:\n * 1. subscribe to the `onStateChange` event\n * 2. Get the incoming call from the new state and it's ID\n * 3. Use `callAgent.incomingCalls` and filter an incoming call ID to get a declarative incoming call object\n */\n case 'incomingCalls': {\n return Array.from(this._declarativeIncomingCalls.values());\n }\n default:\n return Reflect.get(target, prop);\n }\n }\n}\n\n/**\n * @private\n */\nexport const clearCallRelatedState = (context: CallContext, internalContext: InternalCallContext): void => {\n // Make sure there are no existing call data if creating a new CallAgentDeclarative (if creating a new\n // CallAgentDeclarative after disposing of the hold one will mean context have old call state). TODO: should we stop\n // rendering when the previous callAgent is disposed?\n disposeAllViews(context, internalContext);\n\n context.clearCallRelatedState();\n internalContext.clearCallRelatedState();\n};\n"]}
@@ -1,6 +1,6 @@
1
1
  import { RemoteParticipant as SdkRemoteParticipant, RemoteVideoStream as SdkRemoteVideoStream, LocalVideoStream as SdkLocalVideoStream, VideoStreamRendererView } from '@azure/communication-calling';
2
- import { CallCommon, IncomingCallCommon } from './BetaToStableTypes';
3
2
  import { CallState, RemoteParticipantState as DeclarativeRemoteParticipant, RemoteVideoStreamState as DeclarativeRemoteVideoStream, LocalVideoStreamState as DeclarativeLocalVideoStream, IncomingCallState as DeclarativeIncomingCall, VideoStreamRendererViewState as DeclarativeVideoStreamRendererView } from './CallClientState';
3
+ import { CallCommon, IncomingCallCommon } from './BetaToStableTypes';
4
4
  /**
5
5
  * @private
6
6
  */
@@ -2,7 +2,7 @@
2
2
  // Licensed under the MIT license.
3
3
  import { toFlatCommunicationIdentifier } from "../../acs-ui-common/src";
4
4
  /* @conditional-compile-remove(teams-identity-support) */
5
- import { isACSCall } from './TypeGuards';
5
+ import { _isACSCall } from './TypeGuards';
6
6
  /**
7
7
  * @private
8
8
  */
@@ -58,7 +58,7 @@ export function convertSdkCallToDeclarativeCall(call) {
58
58
  return {
59
59
  id: call.id,
60
60
  /* @conditional-compile-remove(teams-identity-support) */
61
- type: isACSCall(call) ? 'ACS' : 'Teams',
61
+ type: _isACSCall(call) ? 'ACS' : 'Teams',
62
62
  callerInfo: call.callerInfo,
63
63
  state: call.state,
64
64
  callEndReason: call.callEndReason,
@@ -1 +1 @@
1
- {"version":3,"file":"Converter.js","sourceRoot":"","sources":["../../../../../calling-stateful-client/src/Converter.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport {\n RemoteParticipant as SdkRemoteParticipant,\n RemoteVideoStream as SdkRemoteVideoStream,\n LocalVideoStream as SdkLocalVideoStream,\n VideoStreamRendererView\n} from '@azure/communication-calling';\n\nimport { toFlatCommunicationIdentifier } from '@internal/acs-ui-common';\nimport { CallCommon, IncomingCallCommon } from './BetaToStableTypes';\nimport {\n CallState,\n RemoteParticipantState as DeclarativeRemoteParticipant,\n RemoteVideoStreamState as DeclarativeRemoteVideoStream,\n LocalVideoStreamState as DeclarativeLocalVideoStream,\n IncomingCallState as DeclarativeIncomingCall,\n VideoStreamRendererViewState as DeclarativeVideoStreamRendererView\n} from './CallClientState';\n/* @conditional-compile-remove(teams-identity-support) */\nimport { isACSCall } from './TypeGuards';\n\n/**\n * @private\n */\nexport function convertSdkLocalStreamToDeclarativeLocalStream(\n stream: SdkLocalVideoStream\n): DeclarativeLocalVideoStream {\n return {\n source: stream.source,\n mediaStreamType: stream.mediaStreamType,\n view: undefined\n };\n}\n\n/**\n * @private\n */\nexport function convertSdkRemoteStreamToDeclarativeRemoteStream(\n stream: SdkRemoteVideoStream\n): DeclarativeRemoteVideoStream {\n return {\n id: stream.id,\n mediaStreamType: stream.mediaStreamType,\n isAvailable: stream.isAvailable,\n /* @conditional-compile-remove(video-stream-is-receiving-flag) */\n isReceiving: stream.isReceiving,\n view: undefined\n };\n}\n\n/**\n * @private\n */\nexport function convertSdkParticipantToDeclarativeParticipant(\n participant: SdkRemoteParticipant\n): DeclarativeRemoteParticipant {\n const declarativeVideoStreams = {};\n for (const videoStream of participant.videoStreams) {\n declarativeVideoStreams[videoStream.id] = convertSdkRemoteStreamToDeclarativeRemoteStream(videoStream);\n }\n return {\n identifier: participant.identifier,\n displayName: participant.displayName,\n state: participant.state,\n callEndReason: participant.callEndReason,\n videoStreams: declarativeVideoStreams,\n isMuted: participant.isMuted,\n isSpeaking: participant.isSpeaking\n };\n}\n\n/**\n * @private\n *\n * Note at the time of writing only one LocalVideoStream is supported by the SDK.\n */\nexport function convertSdkCallToDeclarativeCall(call: CallCommon): CallState {\n const declarativeRemoteParticipants = {};\n call.remoteParticipants.forEach((participant: SdkRemoteParticipant) => {\n declarativeRemoteParticipants[toFlatCommunicationIdentifier(participant.identifier)] =\n convertSdkParticipantToDeclarativeParticipant(participant);\n });\n return {\n id: call.id,\n /* @conditional-compile-remove(teams-identity-support) */\n type: isACSCall(call) ? 'ACS' : 'Teams',\n callerInfo: call.callerInfo,\n state: call.state,\n callEndReason: call.callEndReason,\n diagnostics: {\n network: {\n latest: {}\n },\n media: {\n latest: {}\n }\n },\n direction: call.direction,\n isMuted: call.isMuted,\n isScreenSharingOn: call.isScreenSharingOn,\n localVideoStreams: call.localVideoStreams.map(convertSdkLocalStreamToDeclarativeLocalStream),\n remoteParticipants: declarativeRemoteParticipants,\n remoteParticipantsEnded: {},\n recording: { isRecordingActive: false },\n transcription: { isTranscriptionActive: false },\n screenShareRemoteParticipant: undefined,\n startTime: new Date(),\n endTime: undefined,\n /* @conditional-compile-remove(rooms) */\n role: call.role\n };\n}\n\n/**\n * @private\n */\nexport function convertSdkIncomingCallToDeclarativeIncomingCall(call: IncomingCallCommon): DeclarativeIncomingCall {\n return {\n id: call.id,\n callerInfo: call.callerInfo,\n startTime: new Date(),\n endTime: undefined\n };\n}\n\n/**\n * @private\n */\nexport function convertFromSDKToDeclarativeVideoStreamRendererView(\n view: VideoStreamRendererView\n): DeclarativeVideoStreamRendererView {\n return {\n scalingMode: view.scalingMode,\n isMirrored: view.isMirrored,\n target: view.target\n };\n}\n\"../../acs-ui-common/src\""]}
1
+ {"version":3,"file":"Converter.js","sourceRoot":"","sources":["../../../../../calling-stateful-client/src/Converter.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport {\n RemoteParticipant as SdkRemoteParticipant,\n RemoteVideoStream as SdkRemoteVideoStream,\n LocalVideoStream as SdkLocalVideoStream,\n VideoStreamRendererView\n} from '@azure/communication-calling';\n\nimport { toFlatCommunicationIdentifier } from '@internal/acs-ui-common';\nimport {\n CallState,\n RemoteParticipantState as DeclarativeRemoteParticipant,\n RemoteVideoStreamState as DeclarativeRemoteVideoStream,\n LocalVideoStreamState as DeclarativeLocalVideoStream,\n IncomingCallState as DeclarativeIncomingCall,\n VideoStreamRendererViewState as DeclarativeVideoStreamRendererView\n} from './CallClientState';\n/* @conditional-compile-remove(teams-identity-support) */\nimport { _isACSCall } from './TypeGuards';\nimport { CallCommon, IncomingCallCommon } from './BetaToStableTypes';\n\n/**\n * @private\n */\nexport function convertSdkLocalStreamToDeclarativeLocalStream(\n stream: SdkLocalVideoStream\n): DeclarativeLocalVideoStream {\n return {\n source: stream.source,\n mediaStreamType: stream.mediaStreamType,\n view: undefined\n };\n}\n\n/**\n * @private\n */\nexport function convertSdkRemoteStreamToDeclarativeRemoteStream(\n stream: SdkRemoteVideoStream\n): DeclarativeRemoteVideoStream {\n return {\n id: stream.id,\n mediaStreamType: stream.mediaStreamType,\n isAvailable: stream.isAvailable,\n /* @conditional-compile-remove(video-stream-is-receiving-flag) */\n isReceiving: stream.isReceiving,\n view: undefined\n };\n}\n\n/**\n * @private\n */\nexport function convertSdkParticipantToDeclarativeParticipant(\n participant: SdkRemoteParticipant\n): DeclarativeRemoteParticipant {\n const declarativeVideoStreams = {};\n for (const videoStream of participant.videoStreams) {\n declarativeVideoStreams[videoStream.id] = convertSdkRemoteStreamToDeclarativeRemoteStream(videoStream);\n }\n return {\n identifier: participant.identifier,\n displayName: participant.displayName,\n state: participant.state,\n callEndReason: participant.callEndReason,\n videoStreams: declarativeVideoStreams,\n isMuted: participant.isMuted,\n isSpeaking: participant.isSpeaking\n };\n}\n\n/**\n * @private\n *\n * Note at the time of writing only one LocalVideoStream is supported by the SDK.\n */\nexport function convertSdkCallToDeclarativeCall(call: CallCommon): CallState {\n const declarativeRemoteParticipants = {};\n call.remoteParticipants.forEach((participant: SdkRemoteParticipant) => {\n declarativeRemoteParticipants[toFlatCommunicationIdentifier(participant.identifier)] =\n convertSdkParticipantToDeclarativeParticipant(participant);\n });\n return {\n id: call.id,\n /* @conditional-compile-remove(teams-identity-support) */\n type: _isACSCall(call) ? 'ACS' : 'Teams',\n callerInfo: call.callerInfo,\n state: call.state,\n callEndReason: call.callEndReason,\n diagnostics: {\n network: {\n latest: {}\n },\n media: {\n latest: {}\n }\n },\n direction: call.direction,\n isMuted: call.isMuted,\n isScreenSharingOn: call.isScreenSharingOn,\n localVideoStreams: call.localVideoStreams.map(convertSdkLocalStreamToDeclarativeLocalStream),\n remoteParticipants: declarativeRemoteParticipants,\n remoteParticipantsEnded: {},\n recording: { isRecordingActive: false },\n transcription: { isTranscriptionActive: false },\n screenShareRemoteParticipant: undefined,\n startTime: new Date(),\n endTime: undefined,\n /* @conditional-compile-remove(rooms) */\n role: call.role\n };\n}\n\n/**\n * @private\n */\nexport function convertSdkIncomingCallToDeclarativeIncomingCall(call: IncomingCallCommon): DeclarativeIncomingCall {\n return {\n id: call.id,\n callerInfo: call.callerInfo,\n startTime: new Date(),\n endTime: undefined\n };\n}\n\n/**\n * @private\n */\nexport function convertFromSDKToDeclarativeVideoStreamRendererView(\n view: VideoStreamRendererView\n): DeclarativeVideoStreamRendererView {\n return {\n scalingMode: view.scalingMode,\n isMirrored: view.isMirrored,\n target: view.target\n };\n}\n\"../../acs-ui-common/src\""]}
@@ -1,6 +1,6 @@
1
1
  import { clearCallRelatedState, ProxyCallAgentCommon } from './CallAgentDeclarativeCommon';
2
2
  /* @conditional-compile-remove(teams-identity-support) */
3
- import { isTeamsCall, isTeamsCallAgent } from './TypeGuards';
3
+ import { _isTeamsCall, _isTeamsCallAgent } from './TypeGuards';
4
4
  /* @conditional-compile-remove(teams-identity-support) */
5
5
  import { teamsCallDeclaratify } from './TeamsCallDeclarative';
6
6
  /**
@@ -36,35 +36,35 @@ class ProxyTeamsCallAgent extends ProxyCallAgentCommon {
36
36
  }
37
37
  callDeclaratify(call, context) {
38
38
  /* @conditional-compile-remove(teams-identity-support) */
39
- if (isTeamsCall(call)) {
39
+ if (_isTeamsCall(call)) {
40
40
  return teamsCallDeclaratify(call, context);
41
41
  }
42
42
  throw new Error('Not reachable code, DeclarativeTeamsCallAgent.callDeclaratify must be called with an TeamsCall.');
43
43
  }
44
44
  startCall(agent, args) {
45
45
  /* @conditional-compile-remove(teams-identity-support) */
46
- if (isTeamsCallAgent(agent)) {
46
+ if (_isTeamsCallAgent(agent)) {
47
47
  return agent.startCall(...args);
48
48
  }
49
49
  throw new Error('Not reachable code, DeclarativeTeamsCallAgent.startCall must be called with an TeamsCallAgent.');
50
50
  }
51
51
  joinCall(agent, args) {
52
52
  /* @conditional-compile-remove(teams-identity-support) */
53
- if (isTeamsCallAgent(agent)) {
53
+ if (_isTeamsCallAgent(agent)) {
54
54
  return agent.join(...args);
55
55
  }
56
56
  throw new Error('Not reachable code, DeclarativeTeamsCallAgent.joinCall must be called with an TeamsCallAgent.');
57
57
  }
58
58
  agentSubscribe(agent, args) {
59
59
  /* @conditional-compile-remove(teams-identity-support) */
60
- if (isTeamsCallAgent(agent)) {
60
+ if (_isTeamsCallAgent(agent)) {
61
61
  agent.on(...args);
62
62
  }
63
63
  throw new Error('Not reachable code, DeclarativeTeamsCallAgent.agentSubscribe must be called with an TeamsCallAgent.');
64
64
  }
65
65
  agentUnsubscribe(agent, args) {
66
66
  /* @conditional-compile-remove(teams-identity-support) */
67
- if (isTeamsCallAgent(agent)) {
67
+ if (_isTeamsCallAgent(agent)) {
68
68
  agent.off(...args);
69
69
  }
70
70
  throw new Error('Not reachable code, DeclarativeTeamsCallAgent.agentUnsubscribe must be called with an TeamsCallAgent.');
@@ -1 +1 @@
1
- {"version":3,"file":"TeamsCallAgentDeclarative.js","sourceRoot":"","sources":["../../../../../calling-stateful-client/src/TeamsCallAgentDeclarative.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { CallAgentCommon, CallCommon, TeamsCallAgent } from './BetaToStableTypes';\n/* @conditional-compile-remove(one-to-n-calling) */\nimport { IncomingCallManagement } from './CallAgentDeclarative';\nimport { clearCallRelatedState, DeclarativeCallCommon, ProxyCallAgentCommon } from './CallAgentDeclarativeCommon';\nimport { CallContext } from './CallContext';\n/* @conditional-compile-remove(teams-identity-support) */\nimport { isTeamsCall, isTeamsCallAgent } from './TypeGuards';\nimport { InternalCallContext } from './InternalCallContext';\n/* @conditional-compile-remove(teams-identity-support) */\nimport { teamsCallDeclaratify } from './TeamsCallDeclarative';\n\n/**\n * @beta\n * `DeclarativeTeamsCallAgent` extends and proxies the {@link @azure/communication-calling#TeamsCallAgent}\n */\nexport type DeclarativeTeamsCallAgent = TeamsCallAgent &\n /* @conditional-compile-remove(one-to-n-calling) */ IncomingCallManagement;\n\n/**\n * ProxyTeamsCallAgent proxies TeamsCallAgent and saves any returned state in the given context. It will subscribe to all state\n * updates in the TeamsCallAgent and in the contained TeamsCalls and RemoteParticipants. When dispose is called it will\n * unsubscribe from all state updates.\n */\nclass ProxyTeamsCallAgent extends ProxyCallAgentCommon implements ProxyHandler<DeclarativeTeamsCallAgent> {\n /* @conditional-compile-remove(teams-identity-support) */\n private _callAgent: TeamsCallAgent;\n\n constructor(callAgent: TeamsCallAgent, context: CallContext, internalContext: InternalCallContext) {\n super(context, internalContext);\n /* @conditional-compile-remove(teams-identity-support) */\n this._callAgent = callAgent;\n this.subscribe();\n }\n\n private subscribe = (): void => {\n /* @conditional-compile-remove(teams-identity-support) */\n this._callAgent.on('callsUpdated', this.callsUpdated);\n /* @conditional-compile-remove(teams-identity-support) */\n this._callAgent.on('incomingCall', this.incomingCall);\n\n /* @conditional-compile-remove(teams-identity-support) */\n // There could be scenario that when ProxyTeamsCallAgent is created that the given CallAgent already has TeamsCalls. In this\n // case we need to make sure to subscribe to those already existing Calls.\n for (const call of this._callAgent.calls) {\n this.addCall(call);\n }\n };\n\n protected unsubscribe = (): void => {\n /* @conditional-compile-remove(teams-identity-support) */\n this._callAgent.off('callsUpdated', this.callsUpdated);\n /* @conditional-compile-remove(teams-identity-support) */\n this._callAgent.off('incomingCall', this.incomingCall);\n\n this.unregisterSubscriber();\n };\n\n protected callDeclaratify(call: CallCommon, context: CallContext): DeclarativeCallCommon {\n /* @conditional-compile-remove(teams-identity-support) */\n if (isTeamsCall(call)) {\n return teamsCallDeclaratify(call, context);\n }\n throw new Error('Not reachable code, DeclarativeTeamsCallAgent.callDeclaratify must be called with an TeamsCall.');\n }\n\n protected startCall(agent: CallAgentCommon, args: Parameters<TeamsCallAgent['startCall']>): CallCommon {\n /* @conditional-compile-remove(teams-identity-support) */\n if (isTeamsCallAgent(agent)) {\n return agent.startCall(...args);\n }\n throw new Error('Not reachable code, DeclarativeTeamsCallAgent.startCall must be called with an TeamsCallAgent.');\n }\n\n protected joinCall(agent: CallAgentCommon, args: Parameters<TeamsCallAgent['join']>): CallCommon {\n /* @conditional-compile-remove(teams-identity-support) */\n if (isTeamsCallAgent(agent)) {\n return agent.join(...args);\n }\n throw new Error('Not reachable code, DeclarativeTeamsCallAgent.joinCall must be called with an TeamsCallAgent.');\n }\n\n protected agentSubscribe(agent: CallAgentCommon, args: Parameters<TeamsCallAgent['on']>): void {\n /* @conditional-compile-remove(teams-identity-support) */\n if (isTeamsCallAgent(agent)) {\n agent.on(...args);\n }\n throw new Error(\n 'Not reachable code, DeclarativeTeamsCallAgent.agentSubscribe must be called with an TeamsCallAgent.'\n );\n }\n\n protected agentUnsubscribe(agent: CallAgentCommon, args: Parameters<TeamsCallAgent['off']>): void {\n /* @conditional-compile-remove(teams-identity-support) */\n if (isTeamsCallAgent(agent)) {\n agent.off(...args);\n }\n throw new Error(\n 'Not reachable code, DeclarativeTeamsCallAgent.agentUnsubscribe must be called with an TeamsCallAgent.'\n );\n }\n\n public get<P extends keyof TeamsCallAgent>(target: TeamsCallAgent, prop: P): any {\n /* @conditional-compile-remove(teams-identity-support) */\n return super.getCommon(target, prop);\n }\n}\n\n/**\n * Creates a declarative CallAgent by proxying TeamsCallAgent with ProxyTeamsCallAgent which will track state updates by updating\n * the given context.\n *\n * @param callAgent - TeamsCallAgent from SDK\n * @param context - CallContext from StatefulCallClient\n * @param internalContext- InternalCallContext from StatefulCallClient\n */\nexport const teamsCallAgentDeclaratify = (\n callAgent: TeamsCallAgent,\n context: CallContext,\n internalContext: InternalCallContext\n): DeclarativeTeamsCallAgent => {\n clearCallRelatedState(context, internalContext);\n return new Proxy(\n callAgent,\n new ProxyTeamsCallAgent(callAgent, context, internalContext)\n ) as DeclarativeTeamsCallAgent;\n};\n"]}
1
+ {"version":3,"file":"TeamsCallAgentDeclarative.js","sourceRoot":"","sources":["../../../../../calling-stateful-client/src/TeamsCallAgentDeclarative.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { CallAgentCommon, CallCommon, TeamsCallAgent } from './BetaToStableTypes';\n/* @conditional-compile-remove(one-to-n-calling) */\nimport { IncomingCallManagement } from './CallAgentDeclarative';\nimport { clearCallRelatedState, DeclarativeCallCommon, ProxyCallAgentCommon } from './CallAgentDeclarativeCommon';\nimport { CallContext } from './CallContext';\n/* @conditional-compile-remove(teams-identity-support) */\nimport { _isTeamsCall, _isTeamsCallAgent } from './TypeGuards';\nimport { InternalCallContext } from './InternalCallContext';\n/* @conditional-compile-remove(teams-identity-support) */\nimport { teamsCallDeclaratify } from './TeamsCallDeclarative';\n\n/**\n * @beta\n * `DeclarativeTeamsCallAgent` extends and proxies the {@link @azure/communication-calling#TeamsCallAgent}\n */\nexport type DeclarativeTeamsCallAgent = TeamsCallAgent &\n /* @conditional-compile-remove(one-to-n-calling) */ IncomingCallManagement;\n\n/**\n * ProxyTeamsCallAgent proxies TeamsCallAgent and saves any returned state in the given context. It will subscribe to all state\n * updates in the TeamsCallAgent and in the contained TeamsCalls and RemoteParticipants. When dispose is called it will\n * unsubscribe from all state updates.\n */\nclass ProxyTeamsCallAgent extends ProxyCallAgentCommon implements ProxyHandler<DeclarativeTeamsCallAgent> {\n /* @conditional-compile-remove(teams-identity-support) */\n private _callAgent: TeamsCallAgent;\n\n constructor(callAgent: TeamsCallAgent, context: CallContext, internalContext: InternalCallContext) {\n super(context, internalContext);\n /* @conditional-compile-remove(teams-identity-support) */\n this._callAgent = callAgent;\n this.subscribe();\n }\n\n private subscribe = (): void => {\n /* @conditional-compile-remove(teams-identity-support) */\n this._callAgent.on('callsUpdated', this.callsUpdated);\n /* @conditional-compile-remove(teams-identity-support) */\n this._callAgent.on('incomingCall', this.incomingCall);\n\n /* @conditional-compile-remove(teams-identity-support) */\n // There could be scenario that when ProxyTeamsCallAgent is created that the given CallAgent already has TeamsCalls. In this\n // case we need to make sure to subscribe to those already existing Calls.\n for (const call of this._callAgent.calls) {\n this.addCall(call);\n }\n };\n\n protected unsubscribe = (): void => {\n /* @conditional-compile-remove(teams-identity-support) */\n this._callAgent.off('callsUpdated', this.callsUpdated);\n /* @conditional-compile-remove(teams-identity-support) */\n this._callAgent.off('incomingCall', this.incomingCall);\n\n this.unregisterSubscriber();\n };\n\n protected callDeclaratify(call: CallCommon, context: CallContext): DeclarativeCallCommon {\n /* @conditional-compile-remove(teams-identity-support) */\n if (_isTeamsCall(call)) {\n return teamsCallDeclaratify(call, context);\n }\n throw new Error('Not reachable code, DeclarativeTeamsCallAgent.callDeclaratify must be called with an TeamsCall.');\n }\n\n protected startCall(agent: CallAgentCommon, args: Parameters<TeamsCallAgent['startCall']>): CallCommon {\n /* @conditional-compile-remove(teams-identity-support) */\n if (_isTeamsCallAgent(agent)) {\n return agent.startCall(...args);\n }\n throw new Error('Not reachable code, DeclarativeTeamsCallAgent.startCall must be called with an TeamsCallAgent.');\n }\n\n protected joinCall(agent: CallAgentCommon, args: Parameters<TeamsCallAgent['join']>): CallCommon {\n /* @conditional-compile-remove(teams-identity-support) */\n if (_isTeamsCallAgent(agent)) {\n return agent.join(...args);\n }\n throw new Error('Not reachable code, DeclarativeTeamsCallAgent.joinCall must be called with an TeamsCallAgent.');\n }\n\n protected agentSubscribe(agent: CallAgentCommon, args: Parameters<TeamsCallAgent['on']>): void {\n /* @conditional-compile-remove(teams-identity-support) */\n if (_isTeamsCallAgent(agent)) {\n agent.on(...args);\n }\n throw new Error(\n 'Not reachable code, DeclarativeTeamsCallAgent.agentSubscribe must be called with an TeamsCallAgent.'\n );\n }\n\n protected agentUnsubscribe(agent: CallAgentCommon, args: Parameters<TeamsCallAgent['off']>): void {\n /* @conditional-compile-remove(teams-identity-support) */\n if (_isTeamsCallAgent(agent)) {\n agent.off(...args);\n }\n throw new Error(\n 'Not reachable code, DeclarativeTeamsCallAgent.agentUnsubscribe must be called with an TeamsCallAgent.'\n );\n }\n\n public get<P extends keyof TeamsCallAgent>(target: TeamsCallAgent, prop: P): any {\n /* @conditional-compile-remove(teams-identity-support) */\n return super.getCommon(target, prop);\n }\n}\n\n/**\n * Creates a declarative CallAgent by proxying TeamsCallAgent with ProxyTeamsCallAgent which will track state updates by updating\n * the given context.\n *\n * @param callAgent - TeamsCallAgent from SDK\n * @param context - CallContext from StatefulCallClient\n * @param internalContext- InternalCallContext from StatefulCallClient\n */\nexport const teamsCallAgentDeclaratify = (\n callAgent: TeamsCallAgent,\n context: CallContext,\n internalContext: InternalCallContext\n): DeclarativeTeamsCallAgent => {\n clearCallRelatedState(context, internalContext);\n return new Proxy(\n callAgent,\n new ProxyTeamsCallAgent(callAgent, context, internalContext)\n ) as DeclarativeTeamsCallAgent;\n};\n"]}
@@ -1,5 +1,5 @@
1
- import { TeamsCall } from './BetaToStableTypes';
2
1
  import { CallContext } from './CallContext';
2
+ import { TeamsCall } from './BetaToStableTypes';
3
3
  /**
4
4
  *
5
5
  * @private
@@ -1 +1 @@
1
- {"version":3,"file":"TeamsCallDeclarative.js","sourceRoot":"","sources":["../../../../../calling-stateful-client/src/TeamsCallDeclarative.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;;;;;;;;;;AAGlC,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAc1D,MAAM,cAAe,SAAQ,eAAe;IACnC,GAAG,CAA4B,MAAiB,EAAE,IAAO;QAC9D,yDAAyD;QACzD,QAAQ,IAAI,EAAE;YACZ,KAAK,gBAAgB,CAAC,CAAC;gBACrB,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,yBAAyB,CAAC,UACjD,GAAG,IAA6C;;wBAEhD,OAAO,MAAM,MAAM,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,CAAC;oBAC9C,CAAC;iBAAA,EACD,0BAA0B,CAAC,CAAC;aAC7B;YACD;gBACE,OAAO,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,IAAW,CAAC,CAAC;SACzC;QACD,OAAO,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,IAAW,CAAC,CAAC;IACxC,CAAC;CACF;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,IAAe,EAAE,OAAoB,EAAwB,EAAE;IAClG,MAAM,SAAS,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC;IAC9C,SAAS,CAAC,WAAW,EAAE,CAAC;IACxB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,aAAa,EAAE;QACzC,YAAY,EAAE,KAAK;QACnB,KAAK,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE;KACrC,CAAC,CAAC;IAEH,OAAO,IAAI,KAAK,CAAC,IAAI,EAAE,SAAS,CAAyB,CAAC;AAC5D,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { TeamsCall } from './BetaToStableTypes';\nimport { ProxyCallCommon } from './CallDeclarativeCommon';\nimport { CallContext } from './CallContext';\n\n/**\n *\n * @private\n */\nexport type DeclarativeTeamsCall = TeamsCall & {\n /**\n * Stop any declarative specific subscriptions and remove declarative subscribers.\n */\n unsubscribe(): void;\n};\n\nclass ProxyTeamsCall extends ProxyCallCommon implements ProxyHandler<TeamsCall> {\n public get<P extends keyof TeamsCall>(target: TeamsCall, prop: P): any {\n /* @conditional-compile-remove(teams-identity-support) */\n switch (prop) {\n case 'addParticipant': {\n return this.getContext().withAsyncErrorTeedToState(async function (\n ...args: Parameters<TeamsCall['addParticipant']>\n ) {\n return await target.addParticipant(...args);\n },\n 'TeamsCall.addParticipant');\n }\n default:\n return super.get(target, prop as any);\n }\n return super.get(target, prop as any);\n }\n}\n\n/**\n * Creates a declarative Call by proxying Call with ProxyCall.\n * This should only be used with CallAgentDeclarative as CallAgentDeclarative will add that\n * call to the context properly (need to have the Call in context to update it - CallAgentDeclarative will add Call to\n * context)\n *\n * @param call - TeamsCall from SDK\n * @param context - CallContext from StatefulCallClient\n */\nexport const teamsCallDeclaratify = (call: TeamsCall, context: CallContext): DeclarativeTeamsCall => {\n const proxyCall = new ProxyTeamsCall(context);\n proxyCall.unsubscribe();\n Object.defineProperty(call, 'unsubscribe', {\n configurable: false,\n value: () => proxyCall.unsubscribe()\n });\n\n return new Proxy(call, proxyCall) as DeclarativeTeamsCall;\n};\n"]}
1
+ {"version":3,"file":"TeamsCallDeclarative.js","sourceRoot":"","sources":["../../../../../calling-stateful-client/src/TeamsCallDeclarative.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;;;;;;;;;;AAElC,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAe1D,MAAM,cAAe,SAAQ,eAAe;IACnC,GAAG,CAA4B,MAAiB,EAAE,IAAO;QAC9D,yDAAyD;QACzD,QAAQ,IAAI,EAAE;YACZ,KAAK,gBAAgB,CAAC,CAAC;gBACrB,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,yBAAyB,CAAC,UACjD,GAAG,IAA6C;;wBAEhD,OAAO,MAAM,MAAM,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,CAAC;oBAC9C,CAAC;iBAAA,EACD,0BAA0B,CAAC,CAAC;aAC7B;YACD;gBACE,OAAO,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,IAAW,CAAC,CAAC;SACzC;QACD,OAAO,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,IAAW,CAAC,CAAC;IACxC,CAAC;CACF;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,IAAe,EAAE,OAAoB,EAAwB,EAAE;IAClG,MAAM,SAAS,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC;IAC9C,SAAS,CAAC,WAAW,EAAE,CAAC;IACxB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,aAAa,EAAE;QACzC,YAAY,EAAE,KAAK;QACnB,KAAK,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE;KACrC,CAAC,CAAC;IAEH,OAAO,IAAI,KAAK,CAAC,IAAI,EAAE,SAAS,CAAyB,CAAC;AAC5D,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { ProxyCallCommon } from './CallDeclarativeCommon';\nimport { CallContext } from './CallContext';\nimport { TeamsCall } from './BetaToStableTypes';\n\n/**\n *\n * @private\n */\nexport type DeclarativeTeamsCall = TeamsCall & {\n /**\n * Stop any declarative specific subscriptions and remove declarative subscribers.\n */\n unsubscribe(): void;\n};\n\nclass ProxyTeamsCall extends ProxyCallCommon implements ProxyHandler<TeamsCall> {\n public get<P extends keyof TeamsCall>(target: TeamsCall, prop: P): any {\n /* @conditional-compile-remove(teams-identity-support) */\n switch (prop) {\n case 'addParticipant': {\n return this.getContext().withAsyncErrorTeedToState(async function (\n ...args: Parameters<TeamsCall['addParticipant']>\n ) {\n return await target.addParticipant(...args);\n },\n 'TeamsCall.addParticipant');\n }\n default:\n return super.get(target, prop as any);\n }\n return super.get(target, prop as any);\n }\n}\n\n/**\n * Creates a declarative Call by proxying Call with ProxyCall.\n * This should only be used with CallAgentDeclarative as CallAgentDeclarative will add that\n * call to the context properly (need to have the Call in context to update it - CallAgentDeclarative will add Call to\n * context)\n *\n * @param call - TeamsCall from SDK\n * @param context - CallContext from StatefulCallClient\n */\nexport const teamsCallDeclaratify = (call: TeamsCall, context: CallContext): DeclarativeTeamsCall => {\n const proxyCall = new ProxyTeamsCall(context);\n proxyCall.unsubscribe();\n Object.defineProperty(call, 'unsubscribe', {\n configurable: false,\n value: () => proxyCall.unsubscribe()\n });\n\n return new Proxy(call, proxyCall) as DeclarativeTeamsCall;\n};\n"]}
@@ -1,19 +1,19 @@
1
1
  import { Call, CallAgent } from '@azure/communication-calling';
2
2
  import { CallAgentCommon, CallCommon } from './BetaToStableTypes';
3
3
  /**
4
- * @private
4
+ * @internal
5
5
  */
6
- export declare const isACSCall: (call: CallCommon) => call is Call;
6
+ export declare const _isACSCall: (call: CallCommon) => call is Call;
7
7
  /**
8
- * @private
8
+ * @internal
9
9
  */
10
- export declare const isACSCallAgent: (callAgent: CallAgentCommon) => callAgent is CallAgent;
10
+ export declare const _isACSCallAgent: (callAgent: CallAgentCommon) => callAgent is CallAgent;
11
11
  /**
12
- * @private
12
+ * @internal
13
13
  */
14
- export declare const isTeamsCall: (call: CallCommon) => call is import("@azure/communication-calling").TeamsCall;
14
+ export declare const _isTeamsCall: (call: CallCommon) => call is import("@azure/communication-calling").TeamsCall;
15
15
  /**
16
- * @private
16
+ * @internal
17
17
  */
18
- export declare const isTeamsCallAgent: (callAgent: CallAgentCommon) => callAgent is import("@azure/communication-calling").TeamsCallAgent;
18
+ export declare const _isTeamsCallAgent: (callAgent: CallAgentCommon) => callAgent is import("@azure/communication-calling").TeamsCallAgent;
19
19
  //# sourceMappingURL=TypeGuards.d.ts.map
@@ -1,33 +1,33 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
2
  // Licensed under the MIT license.
3
3
  /**
4
- * @private
4
+ * @internal
5
5
  */
6
- export const isACSCall = (call) => {
6
+ export const _isACSCall = (call) => {
7
7
  /* @conditional-compile-remove(teams-identity-support) */
8
8
  return call.kind === 'Call';
9
9
  return true;
10
10
  };
11
11
  /**
12
- * @private
12
+ * @internal
13
13
  */
14
- export const isACSCallAgent = (callAgent) => {
14
+ export const _isACSCallAgent = (callAgent) => {
15
15
  /* @conditional-compile-remove(teams-identity-support) */
16
16
  return callAgent.kind === 'CallAgent';
17
17
  return true;
18
18
  };
19
19
  /**
20
- * @private
20
+ * @internal
21
21
  */
22
- export const isTeamsCall = (call) => {
22
+ export const _isTeamsCall = (call) => {
23
23
  /* @conditional-compile-remove(teams-identity-support) */
24
24
  return call.kind === 'TeamsCall';
25
25
  return false;
26
26
  };
27
27
  /**
28
- * @private
28
+ * @internal
29
29
  */
30
- export const isTeamsCallAgent = (callAgent) => {
30
+ export const _isTeamsCallAgent = (callAgent) => {
31
31
  /* @conditional-compile-remove(teams-identity-support) */
32
32
  return callAgent.kind === 'TeamsCallAgent';
33
33
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"TypeGuards.js","sourceRoot":"","sources":["../../../../../calling-stateful-client/src/TypeGuards.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAKlC;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,IAAgB,EAAgB,EAAE;IAC1D,yDAAyD;IACzD,OAAO,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC;IAC5B,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,SAA0B,EAA0B,EAAE;IACnF,yDAAyD;IACzD,OAAO,SAAS,CAAC,IAAI,KAAK,WAAW,CAAC;IACtC,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAgB,EAAqB,EAAE;IACjE,yDAAyD;IACzD,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,CAAC;IACjC,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,SAA0B,EAA+B,EAAE;IAC1F,yDAAyD;IACzD,OAAO,SAAS,CAAC,IAAI,KAAK,gBAAgB,CAAC;IAC3C,OAAO,KAAK,CAAC;AACf,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { Call, CallAgent } from '@azure/communication-calling';\nimport { CallAgentCommon, CallCommon, TeamsCall, TeamsCallAgent } from './BetaToStableTypes';\n\n/**\n * @private\n */\nexport const isACSCall = (call: CallCommon): call is Call => {\n /* @conditional-compile-remove(teams-identity-support) */\n return call.kind === 'Call';\n return true;\n};\n\n/**\n * @private\n */\nexport const isACSCallAgent = (callAgent: CallAgentCommon): callAgent is CallAgent => {\n /* @conditional-compile-remove(teams-identity-support) */\n return callAgent.kind === 'CallAgent';\n return true;\n};\n\n/**\n * @private\n */\nexport const isTeamsCall = (call: CallCommon): call is TeamsCall => {\n /* @conditional-compile-remove(teams-identity-support) */\n return call.kind === 'TeamsCall';\n return false;\n};\n\n/**\n * @private\n */\nexport const isTeamsCallAgent = (callAgent: CallAgentCommon): callAgent is TeamsCallAgent => {\n /* @conditional-compile-remove(teams-identity-support) */\n return callAgent.kind === 'TeamsCallAgent';\n return false;\n};\n"]}
1
+ {"version":3,"file":"TypeGuards.js","sourceRoot":"","sources":["../../../../../calling-stateful-client/src/TypeGuards.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAKlC;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAgB,EAAgB,EAAE;IAC3D,yDAAyD;IACzD,OAAO,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC;IAC5B,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,SAA0B,EAA0B,EAAE;IACpF,yDAAyD;IACzD,OAAO,SAAS,CAAC,IAAI,KAAK,WAAW,CAAC;IACtC,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAgB,EAAqB,EAAE;IAClE,yDAAyD;IACzD,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,CAAC;IACjC,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,SAA0B,EAA+B,EAAE;IAC3F,yDAAyD;IACzD,OAAO,SAAS,CAAC,IAAI,KAAK,gBAAgB,CAAC;IAC3C,OAAO,KAAK,CAAC;AACf,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { Call, CallAgent } from '@azure/communication-calling';\nimport { CallAgentCommon, CallCommon, TeamsCall, TeamsCallAgent } from './BetaToStableTypes';\n\n/**\n * @internal\n */\nexport const _isACSCall = (call: CallCommon): call is Call => {\n /* @conditional-compile-remove(teams-identity-support) */\n return call.kind === 'Call';\n return true;\n};\n\n/**\n * @internal\n */\nexport const _isACSCallAgent = (callAgent: CallAgentCommon): callAgent is CallAgent => {\n /* @conditional-compile-remove(teams-identity-support) */\n return callAgent.kind === 'CallAgent';\n return true;\n};\n\n/**\n * @internal\n */\nexport const _isTeamsCall = (call: CallCommon): call is TeamsCall => {\n /* @conditional-compile-remove(teams-identity-support) */\n return call.kind === 'TeamsCall';\n return false;\n};\n\n/**\n * @internal\n */\nexport const _isTeamsCallAgent = (callAgent: CallAgentCommon): callAgent is TeamsCallAgent => {\n /* @conditional-compile-remove(teams-identity-support) */\n return callAgent.kind === 'TeamsCallAgent';\n return false;\n};\n"]}
@@ -0,0 +1,8 @@
1
+ export { createStatefulCallClient } from './StatefulCallClient';
2
+ export type { StatefulCallClient, StatefulCallClientArgs, StatefulCallClientOptions } from './StatefulCallClient';
3
+ export type { StatefulDeviceManager } from './DeviceManagerDeclarative';
4
+ export type { CallAgentState, CallClientState, CallError, CallErrors, CallErrorTarget, CallState, DeviceManagerState, DiagnosticsCallFeatureState, IncomingCallState, LocalVideoStreamState, MediaDiagnosticsState, NetworkDiagnosticsState, RecordingCallFeatureState as RecordingCallFeature, RemoteParticipantState, RemoteVideoStreamState, TranscriptionCallFeatureState as TranscriptionCallFeature, VideoStreamRendererViewState } from './CallClientState';
5
+ export type { CreateViewResult } from './StreamUtils';
6
+ export type { DeclarativeCallAgent, IncomingCallManagement } from './CallAgentDeclarative';
7
+ export type { DeclarativeIncomingCall } from './IncomingCallDeclarative';
8
+ //# sourceMappingURL=index-public.d.ts.map
@@ -0,0 +1,4 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT license.
3
+ export { createStatefulCallClient } from './StatefulCallClient';
4
+ //# sourceMappingURL=index-public.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-public.js","sourceRoot":"","sources":["../../../../../calling-stateful-client/src/index-public.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nexport { createStatefulCallClient } from './StatefulCallClient';\nexport type { StatefulCallClient, StatefulCallClientArgs, StatefulCallClientOptions } from './StatefulCallClient';\nexport type { StatefulDeviceManager } from './DeviceManagerDeclarative';\nexport type {\n CallAgentState,\n CallClientState,\n CallError,\n CallErrors,\n CallErrorTarget,\n CallState,\n DeviceManagerState,\n DiagnosticsCallFeatureState,\n IncomingCallState,\n LocalVideoStreamState,\n MediaDiagnosticsState,\n NetworkDiagnosticsState,\n RecordingCallFeatureState as RecordingCallFeature,\n RemoteParticipantState,\n RemoteVideoStreamState,\n TranscriptionCallFeatureState as TranscriptionCallFeature,\n VideoStreamRendererViewState\n} from './CallClientState';\nexport type { CreateViewResult } from './StreamUtils';\n/* @conditional-compile-remove(one-to-n-calling) */\nexport type { DeclarativeCallAgent, IncomingCallManagement } from './CallAgentDeclarative';\n/* @conditional-compile-remove(one-to-n-calling) */\nexport type { DeclarativeIncomingCall } from './IncomingCallDeclarative';\n"]}
@@ -1,8 +1,4 @@
1
- export { createStatefulCallClient } from './StatefulCallClient';
2
- export type { StatefulCallClient, StatefulCallClientArgs, StatefulCallClientOptions } from './StatefulCallClient';
3
- export type { StatefulDeviceManager } from './DeviceManagerDeclarative';
4
- export type { CallAgentState, CallClientState, CallError, CallErrors, CallErrorTarget, CallState, DeviceManagerState, DiagnosticsCallFeatureState, IncomingCallState, LocalVideoStreamState, MediaDiagnosticsState, NetworkDiagnosticsState, RecordingCallFeatureState as RecordingCallFeature, RemoteParticipantState, RemoteVideoStreamState, TranscriptionCallFeatureState as TranscriptionCallFeature, VideoStreamRendererViewState } from './CallClientState';
5
- export type { CreateViewResult } from './StreamUtils';
6
- export type { DeclarativeCallAgent, IncomingCallManagement } from './CallAgentDeclarative';
7
- export type { DeclarativeIncomingCall } from './IncomingCallDeclarative';
1
+ export * from './index-public';
2
+ export { _isACSCall, _isACSCallAgent, _isTeamsCall, _isTeamsCallAgent } from './TypeGuards';
3
+ export type { CallAgentCommon, CallCommon, TeamsCall, TeamsCallAgent, IncomingCallCommon } from './BetaToStableTypes';
8
4
  //# sourceMappingURL=index.d.ts.map
@@ -1,4 +1,5 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
2
  // Licensed under the MIT license.
3
- export { createStatefulCallClient } from './StatefulCallClient';
3
+ export * from './index-public';
4
+ export { _isACSCall, _isACSCallAgent, _isTeamsCall, _isTeamsCallAgent } from './TypeGuards';
4
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../calling-stateful-client/src/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nexport { createStatefulCallClient } from './StatefulCallClient';\nexport type { StatefulCallClient, StatefulCallClientArgs, StatefulCallClientOptions } from './StatefulCallClient';\nexport type { StatefulDeviceManager } from './DeviceManagerDeclarative';\nexport type {\n CallAgentState,\n CallClientState,\n CallError,\n CallErrors,\n CallErrorTarget,\n CallState,\n DeviceManagerState,\n DiagnosticsCallFeatureState,\n IncomingCallState,\n LocalVideoStreamState,\n MediaDiagnosticsState,\n NetworkDiagnosticsState,\n RecordingCallFeatureState as RecordingCallFeature,\n RemoteParticipantState,\n RemoteVideoStreamState,\n TranscriptionCallFeatureState as TranscriptionCallFeature,\n VideoStreamRendererViewState\n} from './CallClientState';\nexport type { CreateViewResult } from './StreamUtils';\n/* @conditional-compile-remove(one-to-n-calling) */\nexport type { DeclarativeCallAgent, IncomingCallManagement } from './CallAgentDeclarative';\n/* @conditional-compile-remove(one-to-n-calling) */\nexport type { DeclarativeIncomingCall } from './IncomingCallDeclarative';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../calling-stateful-client/src/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,cAAc,gBAAgB,CAAC;AAE/B,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nexport * from './index-public';\n\nexport { _isACSCall, _isACSCallAgent, _isTeamsCall, _isTeamsCallAgent } from './TypeGuards';\n\nexport type { CallAgentCommon, CallCommon, TeamsCall, TeamsCallAgent, IncomingCallCommon } from './BetaToStableTypes';\n"]}
@@ -16,9 +16,11 @@
16
16
  */
17
17
  export { fromFlatCommunicationIdentifier, toFlatCommunicationIdentifier } from '../../acs-ui-common/src';
18
18
  export type { AreEqual, CommonProperties, MessageStatus, Common, AreTypeEqual, AreParamEqual } from '../../acs-ui-common/src';
19
- export type { CallClientProviderProps, CallAgentProviderProps, CallProviderProps, GetCallingSelector, CallingHandlers, CallingBaseSelectorProps } from '../../calling-component-bindings/src';
19
+ export type { CallClientProviderProps, CallAgentProviderProps, CallProviderProps, GetCallingSelector, CallingHandlers, CallingBaseSelectorProps, CommonCallingHandlers } from '../../calling-component-bindings/src';
20
20
  export type { ChatClientProviderProps, ChatThreadClientProviderProps, GetChatSelector, ChatHandlers, ChatBaseSelectorProps } from '../../chat-component-bindings/src';
21
21
  export { CallClientProvider, CallAgentProvider, CallProvider, useCallClient, useCallAgent, useCall, useDeviceManager, getCallingSelector, createDefaultCallingHandlers } from '../../calling-component-bindings/src';
22
+ export { useTeamsCallAgent, useTeamsCall, createDefaultTeamsCallingHandlers } from '../../calling-component-bindings/src';
23
+ export type { TeamsCallingHandlers } from '../../calling-component-bindings/src';
22
24
  export type { ScreenShareButtonSelector, CameraButtonSelector, VideoGallerySelector, DevicesButtonSelector, EmptySelector, ErrorBarSelector as CallErrorBarSelector, ParticipantListSelector, MicrophoneButtonSelector, ParticipantsButtonSelector } from '../../calling-component-bindings/src';
23
25
  export type { HoldButtonSelector } from '../../calling-component-bindings/src';
24
26
  export { ChatClientProvider, ChatThreadClientProvider, useChatClient, useChatThreadClient, getChatSelector, createDefaultChatHandlers } from '../../chat-component-bindings/src';
@@ -37,7 +39,7 @@ export type { BrowserPermissionDeniedStrings, BrowserPermissionDeniedProps } fro
37
39
  export type { BrowserPermissionDeniedIOSStrings, BrowserPermissionDeniedStyles, BrowserPermissionDeniedIOSProps } from '../../react-components/src';
38
40
  export * from '../../react-components/src/localization/locales';
39
41
  export * from '../../react-components/src/theming';
40
- export * from '../../calling-stateful-client/src';
42
+ export * from '../../calling-stateful-client/src/index-public';
41
43
  export type { DeclarativeCallAgent } from '../../calling-stateful-client/src';
42
44
  export { createStatefulChatClient } from '../../chat-stateful-client/src';
43
45
  export type { StatefulChatClient, StatefulChatClientArgs, StatefulChatClientOptions, ChatMessageWithStatus, ChatClientState, ChatError, ChatErrors, ChatThreadClientState, ChatThreadProperties, ChatErrorTarget } from '../../chat-stateful-client/src';
@@ -18,6 +18,8 @@
18
18
  */
19
19
  export { fromFlatCommunicationIdentifier, toFlatCommunicationIdentifier } from '../../acs-ui-common/src';
20
20
  export { CallClientProvider, CallAgentProvider, CallProvider, useCallClient, useCallAgent, useCall, useDeviceManager, getCallingSelector, createDefaultCallingHandlers } from '../../calling-component-bindings/src';
21
+ /* @conditional-compile-remove(teams-identity-support) */
22
+ export { useTeamsCallAgent, useTeamsCall, createDefaultTeamsCallingHandlers } from '../../calling-component-bindings/src';
21
23
  export { ChatClientProvider, ChatThreadClientProvider, useChatClient, useChatThreadClient, getChatSelector, createDefaultChatHandlers } from '../../chat-component-bindings/src';
22
24
  export { _IdentifierProvider, CameraButton, ControlBar, ControlBarButton, DevicesButton, EndCallButton, ErrorBar, GridLayout, LocalizationProvider, MessageStatusIndicator, MessageThread, MicrophoneButton, ParticipantItem, ParticipantList, ParticipantsButton, ScreenShareButton, SendBox, StreamMedia, TypingIndicator, VideoGallery, VideoTile } from '../../react-components/src';
23
25
  /* @conditional-compile-remove(PSTN-calls) */
@@ -28,7 +30,7 @@ export { Dialpad } from '../../react-components/src';
28
30
  export { CameraAndMicrophoneDomainPermissions, MicrophoneDomainPermissions, CameraDomainPermissions } from '../../react-components/src';
29
31
  export * from '../../react-components/src/localization/locales';
30
32
  export * from '../../react-components/src/theming';
31
- export * from '../../calling-stateful-client/src';
33
+ export * from '../../calling-stateful-client/src/index-public';
32
34
  export { createStatefulChatClient } from '../../chat-stateful-client/src';
33
35
  export * from '../../react-composites/src/index-public';
34
36
  export * from './mergedHooks';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,+BAA+B,EAAE,6BAA6B,EAAE,MAAM,yBAAyB,CAAC;AA2BzG,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,OAAO,EACP,gBAAgB,EAChB,kBAAkB,EAClB,4BAA4B,EAC7B,MAAM,sCAAsC,CAAC;AAgB9C,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,aAAa,EACb,mBAAmB,EACnB,eAAe,EACf,yBAAyB,EAC1B,MAAM,mCAAmC,CAAC;AAU3C,OAAO,EACL,mBAAmB,EACnB,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,QAAQ,EACR,UAAU,EACV,oBAAoB,EACpB,sBAAsB,EACtB,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,OAAO,EACP,WAAW,EACX,eAAe,EACf,YAAY,EACZ,SAAS,EACV,MAAM,4BAA4B,CAAC;AACpC,6CAA6C;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAExD,0CAA0C,CAAC,6CAA6C;AACxF,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAErD,iDAAiD;AACjD,OAAO,EACL,oCAAoC,EACpC,2BAA2B,EAC3B,uBAAuB,EACxB,MAAM,4BAA4B,CAAC;AAsIpC,cAAc,iDAAiD,CAAC;AAChE,cAAc,oCAAoC,CAAC;AACnD,cAAc,mCAAmC,CAAC;AAGlD,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAa1E,cAAc,yCAAyC,CAAC;AACxD,cAAc,eAAe,CAAC;AAE9B,sDAAsD;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAGhE,iDAAiD;AACjD,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\n/**\n * `@azure/communication-react` is an npm package that exports the functionality of the Azure Communication Services - UI Library.\n *\n * This package makes it easy for you to build modern communications user experiences using Azure Communication Services. It gives you a library of production-ready UI components that you can drop into your applications:\n * - Composites: These components are turn-key solutions that implement common communication scenarios. You can quickly add video calling or chat experiences to your applications. Composites are open-source higher order components built using UI components.\n * - UI Components - These components are open-source building blocks that let you build custom communications experience. Components are offered for both calling and chat capabilities that can be combined to build experiences.\n *\n * These UI client libraries all use Microsoft's Fluent design language and assets. Fluent UI provides a foundational layer for the UI Library and is actively used across Microsoft products.\n *\n * In conjunction with the UI components, the UI Library exposes a stateful client library for calling and chat. This client is agnostic to any specific state management framework and can be integrated with common state managers like Redux or React Context.\n * This stateful client library can be used with the UI Components to pass props and methods for the UI Components to render data. For more information, see Stateful Client Overview.\n *\n * For more information visit: https://aka.ms/acsstorybook\n *\n * @packageDocumentation\n */\n\nexport { fromFlatCommunicationIdentifier, toFlatCommunicationIdentifier } from '../../acs-ui-common/src';\nexport type {\n AreEqual,\n CommonProperties,\n MessageStatus,\n Common,\n AreTypeEqual,\n AreParamEqual\n} from '../../acs-ui-common/src';\n\n// Not to export chat/calling specific hook from binding package\nexport type {\n CallClientProviderProps,\n CallAgentProviderProps,\n CallProviderProps,\n GetCallingSelector,\n CallingHandlers,\n CallingBaseSelectorProps\n} from '../../calling-component-bindings/src';\nexport type {\n ChatClientProviderProps,\n ChatThreadClientProviderProps,\n GetChatSelector,\n ChatHandlers,\n ChatBaseSelectorProps\n} from '../../chat-component-bindings/src';\n\nexport {\n CallClientProvider,\n CallAgentProvider,\n CallProvider,\n useCallClient,\n useCallAgent,\n useCall,\n useDeviceManager,\n getCallingSelector,\n createDefaultCallingHandlers\n} from '../../calling-component-bindings/src';\n\nexport type {\n ScreenShareButtonSelector,\n CameraButtonSelector,\n VideoGallerySelector,\n DevicesButtonSelector,\n EmptySelector,\n ErrorBarSelector as CallErrorBarSelector,\n ParticipantListSelector,\n MicrophoneButtonSelector,\n ParticipantsButtonSelector\n} from '../../calling-component-bindings/src';\n/* @conditional-compile-remove(PSTN-calls) */\nexport type { HoldButtonSelector } from '../../calling-component-bindings/src';\n\nexport {\n ChatClientProvider,\n ChatThreadClientProvider,\n useChatClient,\n useChatThreadClient,\n getChatSelector,\n createDefaultChatHandlers\n} from '../../chat-component-bindings/src';\n\nexport type {\n MessageThreadSelector,\n TypingIndicatorSelector,\n ChatParticipantListSelector,\n SendBoxSelector,\n ErrorBarSelector as ChatErrorBarSelector\n} from '../../chat-component-bindings/src';\n\nexport {\n _IdentifierProvider,\n CameraButton,\n ControlBar,\n ControlBarButton,\n DevicesButton,\n EndCallButton,\n ErrorBar,\n GridLayout,\n LocalizationProvider,\n MessageStatusIndicator,\n MessageThread,\n MicrophoneButton,\n ParticipantItem,\n ParticipantList,\n ParticipantsButton,\n ScreenShareButton,\n SendBox,\n StreamMedia,\n TypingIndicator,\n VideoGallery,\n VideoTile\n} from '../../react-components/src';\n/* @conditional-compile-remove(PSTN-calls) */\nexport { HoldButton } from '../../react-components/src';\n\n/* @conditional-compile-remove(dialpad) */ /* @conditional-compile-remove(PSTN-calls) */\nexport { Dialpad } from '../../react-components/src';\n\n/* @conditional-compile-remove(call-readiness) */\nexport {\n CameraAndMicrophoneDomainPermissions,\n MicrophoneDomainPermissions,\n CameraDomainPermissions\n} from '../../react-components/src';\n/* @conditional-compile-remove(call-readiness) */\nexport type {\n CameraAndMicrophoneDomainPermissionsStrings,\n CameraAndMicrophoneDomainPermissionsProps,\n CameraDomainPermissionsStrings,\n CameraDomainPermissionsProps,\n CommonDomainPermissionsProps,\n DomainPermissionsStrings,\n DomainPermissionsStyles,\n MicrophoneDomainPermissionsStrings,\n MicrophoneDomainPermissionsProps\n} from '../../react-components/src';\n\nexport type {\n _IdentifierProviderProps,\n _Identifiers,\n ActiveErrorMessage,\n BaseCustomStyles,\n CallParticipantListParticipant,\n CameraButtonContextualMenuStyles,\n CameraButtonProps,\n CameraButtonStrings,\n CameraButtonStyles,\n ChatMessage,\n CommunicationParticipant,\n ComponentLocale,\n ComponentStrings,\n ContentSystemMessage,\n ControlBarButtonProps,\n ControlBarButtonStrings,\n ControlBarButtonStyles,\n ControlBarLayout,\n ControlBarProps,\n CreateVideoStreamViewResult,\n CustomAvatarOptions,\n CustomMessage,\n DevicesButtonContextualMenuStyles,\n DevicesButtonProps,\n DevicesButtonStrings,\n DevicesButtonStyles,\n EndCallButtonProps,\n EndCallButtonStrings,\n ErrorBarProps,\n ErrorBarStrings,\n ErrorType,\n GridLayoutProps,\n GridLayoutStyles,\n HorizontalGalleryStyles,\n JumpToNewMessageButtonProps,\n LocalizationProviderProps,\n LocalVideoCameraCycleButtonProps,\n LoadingState,\n Message,\n MessageAttachedStatus,\n MessageCommon,\n MessageContentType,\n MessageProps,\n MessageRenderer,\n MessageStatusIndicatorProps,\n MessageStatusIndicatorStrings,\n MessageThreadProps,\n MessageThreadStrings,\n MessageThreadStyles,\n MicrophoneButtonContextualMenuStyles,\n MicrophoneButtonProps,\n MicrophoneButtonStrings,\n MicrophoneButtonStyles,\n OnRenderAvatarCallback,\n OptionsDevice,\n ParticipantAddedSystemMessage,\n ParticipantItemProps,\n ParticipantItemStrings,\n ParticipantItemStyles,\n ParticipantListItemStyles,\n ParticipantListParticipant,\n ParticipantListProps,\n ParticipantListStyles,\n ParticipantMenuItemsCallback,\n ParticipantRemovedSystemMessage,\n ParticipantState,\n ParticipantsButtonContextualMenuStyles,\n ParticipantsButtonProps,\n ParticipantsButtonStrings,\n ParticipantsButtonStyles,\n ReadReceiptsBySenderId,\n ScreenShareButtonProps,\n ScreenShareButtonStrings,\n SendBoxProps,\n SendBoxStrings,\n SendBoxStylesProps,\n StreamMediaProps,\n SystemMessage,\n SystemMessageCommon,\n TopicUpdatedSystemMessage,\n TypingIndicatorProps,\n TypingIndicatorStrings,\n TypingIndicatorStylesProps,\n UpdateMessageCallback,\n VideoGalleryLayout,\n VideoGalleryLocalParticipant,\n VideoGalleryParticipant,\n VideoGalleryProps,\n VideoGalleryRemoteParticipant,\n VideoGalleryStream,\n VideoGalleryStrings,\n VideoGalleryStyles,\n VideoStreamOptions,\n VideoTileProps,\n VideoTileStylesProps,\n ViewScalingMode\n} from '../../react-components/src';\n/* @conditional-compile-remove(rooms) */\nexport type { Role } from '../../react-components/src';\n/* @conditional-compile-remove(dialpad) */ /* @conditional-compile-remove(PSTN-calls) */\nexport type { DialpadProps, DialpadStrings, DialpadStyles, DtmfTone } from '../../react-components/src';\n/* @conditional-compile-remove(file-sharing) */\nexport type {\n ActiveFileUpload,\n SendBoxErrorBarError,\n FileDownloadHandler,\n FileDownloadError,\n FileMetadata\n} from '../../react-components/src';\n/* @conditional-compile-remove(PSTN-calls) */\nexport type { HoldButtonProps, HoldButtonStrings, VideoTileStrings } from '../../react-components/src';\n/* @conditional-compile-remove(call-readiness) */\nexport type { BrowserPermissionDeniedStrings, BrowserPermissionDeniedProps } from '../../react-components/src';\n/* @conditional-compile-remove(call-readiness) */\nexport type {\n BrowserPermissionDeniedIOSStrings,\n BrowserPermissionDeniedStyles,\n BrowserPermissionDeniedIOSProps\n} from '../../react-components/src';\nexport * from '../../react-components/src/localization/locales';\nexport * from '../../react-components/src/theming';\nexport * from '../../calling-stateful-client/src';\n/* @conditional-compile-remove(one-to-n-calling) */\nexport type { DeclarativeCallAgent } from '../../calling-stateful-client/src';\nexport { createStatefulChatClient } from '../../chat-stateful-client/src';\nexport type {\n StatefulChatClient,\n StatefulChatClientArgs,\n StatefulChatClientOptions,\n ChatMessageWithStatus,\n ChatClientState,\n ChatError,\n ChatErrors,\n ChatThreadClientState,\n ChatThreadProperties,\n ChatErrorTarget\n} from '../../chat-stateful-client/src';\nexport * from '../../react-composites/src/index-public';\nexport * from './mergedHooks';\n\n/* @conditional-compile-remove(unsupported-browser) */\nexport { UnsupportedBrowser } from '../../react-components/src';\n/* @conditional-compile-remove(unsupported-browser) */\nexport type { UnsupportedBrowserStrings, UnsupportedBrowserProps } from '../../react-components/src';\n/* @conditional-compile-remove(call-readiness) */\nexport { _DevicePermissionDropdown } from '../../react-components/src';\n/* @conditional-compile-remove(call-readiness) */\nexport type {\n _DevicePermissionDropdownStrings,\n _DevicePermissionDropdownProps,\n _PermissionConstraints\n} from '../../react-components/src';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,+BAA+B,EAAE,6BAA6B,EAAE,MAAM,yBAAyB,CAAC;AA4BzG,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,OAAO,EACP,gBAAgB,EAChB,kBAAkB,EAClB,4BAA4B,EAC7B,MAAM,sCAAsC,CAAC;AAE9C,yDAAyD;AACzD,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,iCAAiC,EAClC,MAAM,sCAAsC,CAAC;AAmB9C,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,aAAa,EACb,mBAAmB,EACnB,eAAe,EACf,yBAAyB,EAC1B,MAAM,mCAAmC,CAAC;AAU3C,OAAO,EACL,mBAAmB,EACnB,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,QAAQ,EACR,UAAU,EACV,oBAAoB,EACpB,sBAAsB,EACtB,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,OAAO,EACP,WAAW,EACX,eAAe,EACf,YAAY,EACZ,SAAS,EACV,MAAM,4BAA4B,CAAC;AACpC,6CAA6C;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAExD,0CAA0C,CAAC,6CAA6C;AACxF,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAErD,iDAAiD;AACjD,OAAO,EACL,oCAAoC,EACpC,2BAA2B,EAC3B,uBAAuB,EACxB,MAAM,4BAA4B,CAAC;AAsIpC,cAAc,iDAAiD,CAAC;AAChE,cAAc,oCAAoC,CAAC;AACnD,cAAc,gDAAgD,CAAC;AAG/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAa1E,cAAc,yCAAyC,CAAC;AACxD,cAAc,eAAe,CAAC;AAE9B,sDAAsD;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAGhE,iDAAiD;AACjD,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\n/**\n * `@azure/communication-react` is an npm package that exports the functionality of the Azure Communication Services - UI Library.\n *\n * This package makes it easy for you to build modern communications user experiences using Azure Communication Services. It gives you a library of production-ready UI components that you can drop into your applications:\n * - Composites: These components are turn-key solutions that implement common communication scenarios. You can quickly add video calling or chat experiences to your applications. Composites are open-source higher order components built using UI components.\n * - UI Components - These components are open-source building blocks that let you build custom communications experience. Components are offered for both calling and chat capabilities that can be combined to build experiences.\n *\n * These UI client libraries all use Microsoft's Fluent design language and assets. Fluent UI provides a foundational layer for the UI Library and is actively used across Microsoft products.\n *\n * In conjunction with the UI components, the UI Library exposes a stateful client library for calling and chat. This client is agnostic to any specific state management framework and can be integrated with common state managers like Redux or React Context.\n * This stateful client library can be used with the UI Components to pass props and methods for the UI Components to render data. For more information, see Stateful Client Overview.\n *\n * For more information visit: https://aka.ms/acsstorybook\n *\n * @packageDocumentation\n */\n\nexport { fromFlatCommunicationIdentifier, toFlatCommunicationIdentifier } from '../../acs-ui-common/src';\nexport type {\n AreEqual,\n CommonProperties,\n MessageStatus,\n Common,\n AreTypeEqual,\n AreParamEqual\n} from '../../acs-ui-common/src';\n\n// Not to export chat/calling specific hook from binding package\nexport type {\n CallClientProviderProps,\n CallAgentProviderProps,\n CallProviderProps,\n GetCallingSelector,\n CallingHandlers,\n CallingBaseSelectorProps,\n CommonCallingHandlers\n} from '../../calling-component-bindings/src';\nexport type {\n ChatClientProviderProps,\n ChatThreadClientProviderProps,\n GetChatSelector,\n ChatHandlers,\n ChatBaseSelectorProps\n} from '../../chat-component-bindings/src';\n\nexport {\n CallClientProvider,\n CallAgentProvider,\n CallProvider,\n useCallClient,\n useCallAgent,\n useCall,\n useDeviceManager,\n getCallingSelector,\n createDefaultCallingHandlers\n} from '../../calling-component-bindings/src';\n\n/* @conditional-compile-remove(teams-identity-support) */\nexport {\n useTeamsCallAgent,\n useTeamsCall,\n createDefaultTeamsCallingHandlers\n} from '../../calling-component-bindings/src';\n\n/* @conditional-compile-remove(teams-identity-support) */\nexport type { TeamsCallingHandlers } from '../../calling-component-bindings/src';\n\nexport type {\n ScreenShareButtonSelector,\n CameraButtonSelector,\n VideoGallerySelector,\n DevicesButtonSelector,\n EmptySelector,\n ErrorBarSelector as CallErrorBarSelector,\n ParticipantListSelector,\n MicrophoneButtonSelector,\n ParticipantsButtonSelector\n} from '../../calling-component-bindings/src';\n/* @conditional-compile-remove(PSTN-calls) */\nexport type { HoldButtonSelector } from '../../calling-component-bindings/src';\n\nexport {\n ChatClientProvider,\n ChatThreadClientProvider,\n useChatClient,\n useChatThreadClient,\n getChatSelector,\n createDefaultChatHandlers\n} from '../../chat-component-bindings/src';\n\nexport type {\n MessageThreadSelector,\n TypingIndicatorSelector,\n ChatParticipantListSelector,\n SendBoxSelector,\n ErrorBarSelector as ChatErrorBarSelector\n} from '../../chat-component-bindings/src';\n\nexport {\n _IdentifierProvider,\n CameraButton,\n ControlBar,\n ControlBarButton,\n DevicesButton,\n EndCallButton,\n ErrorBar,\n GridLayout,\n LocalizationProvider,\n MessageStatusIndicator,\n MessageThread,\n MicrophoneButton,\n ParticipantItem,\n ParticipantList,\n ParticipantsButton,\n ScreenShareButton,\n SendBox,\n StreamMedia,\n TypingIndicator,\n VideoGallery,\n VideoTile\n} from '../../react-components/src';\n/* @conditional-compile-remove(PSTN-calls) */\nexport { HoldButton } from '../../react-components/src';\n\n/* @conditional-compile-remove(dialpad) */ /* @conditional-compile-remove(PSTN-calls) */\nexport { Dialpad } from '../../react-components/src';\n\n/* @conditional-compile-remove(call-readiness) */\nexport {\n CameraAndMicrophoneDomainPermissions,\n MicrophoneDomainPermissions,\n CameraDomainPermissions\n} from '../../react-components/src';\n/* @conditional-compile-remove(call-readiness) */\nexport type {\n CameraAndMicrophoneDomainPermissionsStrings,\n CameraAndMicrophoneDomainPermissionsProps,\n CameraDomainPermissionsStrings,\n CameraDomainPermissionsProps,\n CommonDomainPermissionsProps,\n DomainPermissionsStrings,\n DomainPermissionsStyles,\n MicrophoneDomainPermissionsStrings,\n MicrophoneDomainPermissionsProps\n} from '../../react-components/src';\n\nexport type {\n _IdentifierProviderProps,\n _Identifiers,\n ActiveErrorMessage,\n BaseCustomStyles,\n CallParticipantListParticipant,\n CameraButtonContextualMenuStyles,\n CameraButtonProps,\n CameraButtonStrings,\n CameraButtonStyles,\n ChatMessage,\n CommunicationParticipant,\n ComponentLocale,\n ComponentStrings,\n ContentSystemMessage,\n ControlBarButtonProps,\n ControlBarButtonStrings,\n ControlBarButtonStyles,\n ControlBarLayout,\n ControlBarProps,\n CreateVideoStreamViewResult,\n CustomAvatarOptions,\n CustomMessage,\n DevicesButtonContextualMenuStyles,\n DevicesButtonProps,\n DevicesButtonStrings,\n DevicesButtonStyles,\n EndCallButtonProps,\n EndCallButtonStrings,\n ErrorBarProps,\n ErrorBarStrings,\n ErrorType,\n GridLayoutProps,\n GridLayoutStyles,\n HorizontalGalleryStyles,\n JumpToNewMessageButtonProps,\n LocalizationProviderProps,\n LocalVideoCameraCycleButtonProps,\n LoadingState,\n Message,\n MessageAttachedStatus,\n MessageCommon,\n MessageContentType,\n MessageProps,\n MessageRenderer,\n MessageStatusIndicatorProps,\n MessageStatusIndicatorStrings,\n MessageThreadProps,\n MessageThreadStrings,\n MessageThreadStyles,\n MicrophoneButtonContextualMenuStyles,\n MicrophoneButtonProps,\n MicrophoneButtonStrings,\n MicrophoneButtonStyles,\n OnRenderAvatarCallback,\n OptionsDevice,\n ParticipantAddedSystemMessage,\n ParticipantItemProps,\n ParticipantItemStrings,\n ParticipantItemStyles,\n ParticipantListItemStyles,\n ParticipantListParticipant,\n ParticipantListProps,\n ParticipantListStyles,\n ParticipantMenuItemsCallback,\n ParticipantRemovedSystemMessage,\n ParticipantState,\n ParticipantsButtonContextualMenuStyles,\n ParticipantsButtonProps,\n ParticipantsButtonStrings,\n ParticipantsButtonStyles,\n ReadReceiptsBySenderId,\n ScreenShareButtonProps,\n ScreenShareButtonStrings,\n SendBoxProps,\n SendBoxStrings,\n SendBoxStylesProps,\n StreamMediaProps,\n SystemMessage,\n SystemMessageCommon,\n TopicUpdatedSystemMessage,\n TypingIndicatorProps,\n TypingIndicatorStrings,\n TypingIndicatorStylesProps,\n UpdateMessageCallback,\n VideoGalleryLayout,\n VideoGalleryLocalParticipant,\n VideoGalleryParticipant,\n VideoGalleryProps,\n VideoGalleryRemoteParticipant,\n VideoGalleryStream,\n VideoGalleryStrings,\n VideoGalleryStyles,\n VideoStreamOptions,\n VideoTileProps,\n VideoTileStylesProps,\n ViewScalingMode\n} from '../../react-components/src';\n/* @conditional-compile-remove(rooms) */\nexport type { Role } from '../../react-components/src';\n/* @conditional-compile-remove(dialpad) */ /* @conditional-compile-remove(PSTN-calls) */\nexport type { DialpadProps, DialpadStrings, DialpadStyles, DtmfTone } from '../../react-components/src';\n/* @conditional-compile-remove(file-sharing) */\nexport type {\n ActiveFileUpload,\n SendBoxErrorBarError,\n FileDownloadHandler,\n FileDownloadError,\n FileMetadata\n} from '../../react-components/src';\n/* @conditional-compile-remove(PSTN-calls) */\nexport type { HoldButtonProps, HoldButtonStrings, VideoTileStrings } from '../../react-components/src';\n/* @conditional-compile-remove(call-readiness) */\nexport type { BrowserPermissionDeniedStrings, BrowserPermissionDeniedProps } from '../../react-components/src';\n/* @conditional-compile-remove(call-readiness) */\nexport type {\n BrowserPermissionDeniedIOSStrings,\n BrowserPermissionDeniedStyles,\n BrowserPermissionDeniedIOSProps\n} from '../../react-components/src';\nexport * from '../../react-components/src/localization/locales';\nexport * from '../../react-components/src/theming';\nexport * from '../../calling-stateful-client/src/index-public';\n/* @conditional-compile-remove(one-to-n-calling) */\nexport type { DeclarativeCallAgent } from '../../calling-stateful-client/src';\nexport { createStatefulChatClient } from '../../chat-stateful-client/src';\nexport type {\n StatefulChatClient,\n StatefulChatClientArgs,\n StatefulChatClientOptions,\n ChatMessageWithStatus,\n ChatClientState,\n ChatError,\n ChatErrors,\n ChatThreadClientState,\n ChatThreadProperties,\n ChatErrorTarget\n} from '../../chat-stateful-client/src';\nexport * from '../../react-composites/src/index-public';\nexport * from './mergedHooks';\n\n/* @conditional-compile-remove(unsupported-browser) */\nexport { UnsupportedBrowser } from '../../react-components/src';\n/* @conditional-compile-remove(unsupported-browser) */\nexport type { UnsupportedBrowserStrings, UnsupportedBrowserProps } from '../../react-components/src';\n/* @conditional-compile-remove(call-readiness) */\nexport { _DevicePermissionDropdown } from '../../react-components/src';\n/* @conditional-compile-remove(call-readiness) */\nexport type {\n _DevicePermissionDropdownStrings,\n _DevicePermissionDropdownProps,\n _PermissionConstraints\n} from '../../react-components/src';\n"]}
@@ -62,6 +62,10 @@ export interface VideoTileProps {
62
62
  * Whether the video is muted or not.
63
63
  */
64
64
  isMuted?: boolean;
65
+ /**
66
+ * If true, the video tile will show the pin icon.
67
+ */
68
+ isPinned?: boolean;
65
69
  /**
66
70
  * Display Name of the Participant to be shown in the label.
67
71
  * @remarks `displayName` is used to generate avatar initials if `initialsName` is not provided.
@@ -7,6 +7,8 @@ import { useIdentifiers } from '../identifiers';
7
7
  import { useLocale } from '../localization';
8
8
  import { useTheme } from '../theming';
9
9
  import { disabledVideoHint, displayNameStyle, iconContainerStyle, overlayContainerStyles, rootStyles, videoContainerStyles, videoHint, tileInfoContainerStyle, participantStateStringStyles } from './styles/VideoTile.styles';
10
+ /* @conditional-compile-remove(pinned-participants) */
11
+ import { pinIconStyle } from './styles/VideoTile.styles';
10
12
  import { getVideoTileOverrideColor } from './utils/videoTileStylesUtils';
11
13
  // Coin max size is set to PersonaSize.size100
12
14
  const DEFAULT_PERSONA_MAX_SIZE_PX = 100;
@@ -27,7 +29,9 @@ const defaultPersonaStyles = { root: { margin: 'auto', maxHeight: '100%' } };
27
29
  * @public
28
30
  */
29
31
  export const VideoTile = (props) => {
30
- const { children, displayName, initialsName, isMirrored, isMuted, onRenderPlaceholder, renderElement, showLabel = true, showMuteIndicator = true, styles, userId, noVideoAvailableAriaLabel, isSpeaking, personaMinSize = DEFAULT_PERSONA_MIN_SIZE_PX, personaMaxSize = DEFAULT_PERSONA_MAX_SIZE_PX } = props;
32
+ const { children, displayName, initialsName, isMirrored, isMuted,
33
+ /* @conditional-compile-remove(pinned-participants) */
34
+ isPinned, onRenderPlaceholder, renderElement, showLabel = true, showMuteIndicator = true, styles, userId, noVideoAvailableAriaLabel, isSpeaking, personaMinSize = DEFAULT_PERSONA_MIN_SIZE_PX, personaMaxSize = DEFAULT_PERSONA_MAX_SIZE_PX } = props;
31
35
  const [personaSize, setPersonaSize] = useState(100);
32
36
  const videoTileRef = useRef(null);
33
37
  const locale = useLocale();
@@ -79,7 +83,10 @@ export const VideoTile = (props) => {
79
83
  canShowLabel && (React.createElement(Text, { className: mergeStyles(displayNameStyle), title: displayName, style: { color: participantStateString ? theme.palette.neutralSecondary : 'inherit' } }, displayName)),
80
84
  participantStateString && (React.createElement(Text, { className: mergeStyles(participantStateStringStyles(theme)) }, bracketedParticipantString(participantStateString, !!canShowLabel))),
81
85
  showMuteIndicator && isMuted && (React.createElement(Stack, { className: mergeStyles(iconContainerStyle) },
82
- React.createElement(Icon, { iconName: "VideoTileMicOff" })))))),
86
+ React.createElement(Icon, { iconName: "VideoTileMicOff" }))),
87
+ /* @conditional-compile-remove(pinned-participants) */
88
+ isPinned && (React.createElement(Stack, { className: mergeStyles(iconContainerStyle) },
89
+ React.createElement(Icon, { iconName: "VideoTilePinned", className: mergeStyles(pinIconStyle) })))))),
83
90
  children && (React.createElement(Stack, { className: mergeStyles(overlayContainerStyles, styles === null || styles === void 0 ? void 0 : styles.overlayContainer) }, children)))));
84
91
  };
85
92
  const participantStateStringTrampoline = (props, locale) => {