@webex/cc-components 1.28.0-next.44 → 1.28.0-next.46
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.
- package/dist/index.js +73 -73
- package/dist/types/components/task/CallControl/CallControlCustom/call-control-custom.utils.d.ts +2 -2
- package/dist/types/components/task/CallControl/call-control-dtmf-keypad.d.ts +13 -0
- package/dist/types/components/task/CallControl/call-control.utils.d.ts +6 -1
- package/dist/types/components/task/CallControlCAD/call-control-cad.types.d.ts +10 -0
- package/dist/types/components/task/OutdialCall/constants.d.ts +40 -1
- package/dist/types/components/task/Task/index.d.ts +2 -1
- package/dist/types/components/task/Task/task.utils.d.ts +1 -1
- package/dist/types/components/task/TelephonyActionToast/telephony-action-toast.d.ts +9 -0
- package/dist/types/components/task/WxAppOfferActionError/wxapp-offer-action-error.d.ts +8 -0
- package/dist/types/components/task/task.types.d.ts +57 -3
- package/dist/types/index.d.ts +4 -1
- package/dist/types/utils/index.d.ts +1 -0
- package/dist/types/utils/wxapp-telephony.utils.d.ts +12 -0
- package/dist/wc.js +82 -82
- package/package.json +3 -3
package/dist/types/components/task/CallControl/CallControlCustom/call-control-custom.utils.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BuddyDetails, ContactServiceQueue, ILogger, TaskUIControls } from '@webex/cc-store';
|
|
1
|
+
import { BuddyDetails, ContactServiceQueue, ILogger, ITask, TaskUIControls } from '@webex/cc-store';
|
|
2
2
|
import { ButtonConfig } from '../../task.types';
|
|
3
3
|
/**
|
|
4
4
|
* Interface for list item data
|
|
@@ -10,7 +10,7 @@ export interface ListItemData {
|
|
|
10
10
|
/**
|
|
11
11
|
* Creates the consult button configuration array
|
|
12
12
|
*/
|
|
13
|
-
export declare const createConsultButtons: (isMuted: boolean, controls: TaskUIControls, consultTransfer: () => void, toggleConsultMute: () => void, endConsultCall: () => void, consultConference: () => void, switchToMainCall: () => void, logger?: any, conferenceEnabled?: boolean) => ButtonConfig[];
|
|
13
|
+
export declare const createConsultButtons: (isMuted: boolean, controls: TaskUIControls, consultTransfer: () => void, toggleConsultMute: () => void, endConsultCall: () => void, consultConference: () => void, switchToMainCall: () => void, logger?: any, conferenceEnabled?: boolean, enableWxBetterTogether?: boolean, task?: ITask | null) => ButtonConfig[];
|
|
14
14
|
/**
|
|
15
15
|
* Filters buttons that should be visible
|
|
16
16
|
*/
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { ILogger } from '@webex/cc-store';
|
|
3
|
+
export type CallControlDtmfKeypadProps = {
|
|
4
|
+
onDigitPress: (digit: string) => void | Promise<void>;
|
|
5
|
+
logger?: ILogger;
|
|
6
|
+
disabled?: boolean;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* In-call DTMF keypad for wxApp telephony sessions (Extension login).
|
|
10
|
+
* Each key press sends a single tone via SDK task.transmitDtmf().
|
|
11
|
+
*/
|
|
12
|
+
declare const CallControlDtmfKeypad: React.FunctionComponent<CallControlDtmfKeypadProps>;
|
|
13
|
+
export default CallControlDtmfKeypad;
|
|
@@ -9,7 +9,7 @@ export declare const handleToggleHold: (isHeld: boolean, toggleHold: (hold: bool
|
|
|
9
9
|
/**
|
|
10
10
|
* Handles mute toggle functionality with disabled state management
|
|
11
11
|
*/
|
|
12
|
-
export declare const handleMuteToggle: (toggleMute: () => void
|
|
12
|
+
export declare const handleMuteToggle: (toggleMute: () => void | Promise<void>, setIsMuteButtonDisabled: (disabled: boolean) => void, logger: ILogger) => Promise<void>;
|
|
13
13
|
/**
|
|
14
14
|
* Handles wrapup call submission
|
|
15
15
|
*/
|
|
@@ -26,6 +26,11 @@ export declare const handleTargetSelect: (id: string, name: string, type: Destin
|
|
|
26
26
|
* Gets the media type information
|
|
27
27
|
*/
|
|
28
28
|
export declare const getMediaType: (mediaType: MediaChannelType, mediaChannel: MediaChannelType, logger?: any) => MediaTypeInfo;
|
|
29
|
+
/**
|
|
30
|
+
* Thin defense layer for thick-client flag ON: suppresses visible+disabled ghost controls.
|
|
31
|
+
* SDK owns isVisible/isEnabled for wxApp engaged calls; widgets pass through when SDK is correct.
|
|
32
|
+
*/
|
|
33
|
+
export declare const applyWxAppTelephonyControlVisibility: (buttons: CallControlButton[], task: ITask | null | undefined, controls: TaskUIControls | undefined, isTelephony: boolean, enableWxBetterTogether?: boolean, agentDeviceType?: string) => CallControlButton[];
|
|
29
34
|
/**
|
|
30
35
|
* Checks if the media type is telephony
|
|
31
36
|
*/
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ConferenceParticipantDropTarget } from '@webex/cc-store';
|
|
2
|
+
export type ParticipantRosterSectionProps = {
|
|
3
|
+
heading: 'Customer' | 'Participants';
|
|
4
|
+
headingId: string;
|
|
5
|
+
targets: ConferenceParticipantDropTarget[];
|
|
6
|
+
pendingParticipantDropId: string | null;
|
|
7
|
+
participantDropIsPending: boolean;
|
|
8
|
+
rosterDropDisabled: boolean;
|
|
9
|
+
onParticipantDropRequest: (target: ConferenceParticipantDropTarget) => void;
|
|
10
|
+
};
|
|
@@ -10,7 +10,46 @@ export declare const OutdialStrings: {
|
|
|
10
10
|
TAB_ADDRESS_BOOK: string;
|
|
11
11
|
TAB_DIALPAD: string;
|
|
12
12
|
};
|
|
13
|
-
export declare const
|
|
13
|
+
export declare const DTMF_KEYPAD_PLACEHOLDER = "Enter the number";
|
|
14
|
+
/** Dialpad key metadata — mirrors Agent Desktop DIALPAD_BUTTONS_ARRAY (visual labels only). */
|
|
15
|
+
export declare const DIALPAD_BUTTONS: readonly [{
|
|
16
|
+
readonly val: "1";
|
|
17
|
+
readonly label: "";
|
|
18
|
+
}, {
|
|
19
|
+
readonly val: "2";
|
|
20
|
+
readonly label: "ABC";
|
|
21
|
+
}, {
|
|
22
|
+
readonly val: "3";
|
|
23
|
+
readonly label: "DEF";
|
|
24
|
+
}, {
|
|
25
|
+
readonly val: "4";
|
|
26
|
+
readonly label: "GHI";
|
|
27
|
+
}, {
|
|
28
|
+
readonly val: "5";
|
|
29
|
+
readonly label: "JKL";
|
|
30
|
+
}, {
|
|
31
|
+
readonly val: "6";
|
|
32
|
+
readonly label: "MNO";
|
|
33
|
+
}, {
|
|
34
|
+
readonly val: "7";
|
|
35
|
+
readonly label: "PQRS";
|
|
36
|
+
}, {
|
|
37
|
+
readonly val: "8";
|
|
38
|
+
readonly label: "TUV";
|
|
39
|
+
}, {
|
|
40
|
+
readonly val: "9";
|
|
41
|
+
readonly label: "WXYZ";
|
|
42
|
+
}, {
|
|
43
|
+
readonly val: "*";
|
|
44
|
+
readonly label: "";
|
|
45
|
+
}, {
|
|
46
|
+
readonly val: "0";
|
|
47
|
+
readonly label: "+";
|
|
48
|
+
}, {
|
|
49
|
+
readonly val: "#";
|
|
50
|
+
readonly label: "";
|
|
51
|
+
}];
|
|
52
|
+
export declare const KEY_LIST: ("0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "*" | "#")[];
|
|
14
53
|
export declare const TABS: {
|
|
15
54
|
DIAL_PAD: string;
|
|
16
55
|
ADDRESS_BOOK: string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { PressEvent } from '@react-types/shared';
|
|
3
|
-
import type { MEDIA_CHANNEL as MediaChannelType } from '../task.types';
|
|
3
|
+
import type { MEDIA_CHANNEL as MediaChannelType, WxAppTelephonyErrorDisplay } from '../task.types';
|
|
4
4
|
import './styles.scss';
|
|
5
5
|
export interface TaskProps {
|
|
6
6
|
interactionId?: string;
|
|
@@ -21,6 +21,7 @@ export interface TaskProps {
|
|
|
21
21
|
styles?: string;
|
|
22
22
|
mediaType?: MediaChannelType;
|
|
23
23
|
mediaChannel?: MediaChannelType;
|
|
24
|
+
actionError?: WxAppTelephonyErrorDisplay | null;
|
|
24
25
|
}
|
|
25
26
|
declare const Task: React.FC<TaskProps>;
|
|
26
27
|
export default Task;
|
|
@@ -63,7 +63,7 @@ export declare const shouldShowTimeLeft: (isIncomingTask?: boolean, ronaTimeout?
|
|
|
63
63
|
* @param styles - Additional styles
|
|
64
64
|
* @returns The combined CSS class string
|
|
65
65
|
*/
|
|
66
|
-
export declare const getTaskListItemClasses: (selected?: boolean, styles?: string, logger?: any) => string;
|
|
66
|
+
export declare const getTaskListItemClasses: (selected?: boolean, styles?: string, logger?: any, hasActionError?: boolean) => string;
|
|
67
67
|
/**
|
|
68
68
|
* Extracts and processes all data needed for rendering the Task component
|
|
69
69
|
* @param props - The Task component props
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { WxAppTelephonyErrorDisplay } from '../task.types';
|
|
3
|
+
import './telephony-action-toast.style.scss';
|
|
4
|
+
export type TelephonyActionToastProps = {
|
|
5
|
+
error: WxAppTelephonyErrorDisplay;
|
|
6
|
+
onDismiss: () => void;
|
|
7
|
+
};
|
|
8
|
+
declare const TelephonyActionToast: React.FunctionComponent<TelephonyActionToastProps>;
|
|
9
|
+
export default TelephonyActionToast;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { WxAppTelephonyErrorDisplay } from '../task.types';
|
|
3
|
+
import './wxapp-offer-action-error.style.scss';
|
|
4
|
+
export type WxAppOfferActionErrorProps = {
|
|
5
|
+
error: WxAppTelephonyErrorDisplay;
|
|
6
|
+
};
|
|
7
|
+
declare const WxAppOfferActionError: React.FunctionComponent<WxAppOfferActionErrorProps>;
|
|
8
|
+
export default WxAppOfferActionError;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ILogger, ITask, IContactCenter, IWrapupCode, BuddyDetails, DestinationType, ContactServiceQueue, AddressBookEntry, EntryPointRecord, FetchPaginatedList, Participant, AddressBookEntrySearchParams, AddressBookEntriesResponse, TaskUIControls } from '@webex/cc-store';
|
|
1
|
+
import { ILogger, ITask, IContactCenter, IWrapupCode, BuddyDetails, DestinationType, ContactServiceQueue, AddressBookEntry, EntryPointRecord, FetchPaginatedList, Participant, ConferenceParticipantDropRoster, ConferenceParticipantDropTarget, AddressBookEntrySearchParams, AddressBookEntriesResponse, TaskUIControls } from '@webex/cc-store';
|
|
2
2
|
import { CampaignErrorType } from './CampaignErrorDialog/campaign-error-dialog.types';
|
|
3
3
|
type Enum<T extends Record<string, unknown>> = T[keyof T];
|
|
4
4
|
/**
|
|
@@ -32,6 +32,10 @@ export declare const TARGET_TYPE: {
|
|
|
32
32
|
readonly DIAL_NUMBER: "dialNumber";
|
|
33
33
|
};
|
|
34
34
|
export type TargetType = (typeof TARGET_TYPE)[keyof typeof TARGET_TYPE];
|
|
35
|
+
export type ParticipantDropAnnouncement = {
|
|
36
|
+
type: 'success' | 'error';
|
|
37
|
+
message: string;
|
|
38
|
+
};
|
|
35
39
|
/**
|
|
36
40
|
* Interface representing the TaskProps of a user.
|
|
37
41
|
*/
|
|
@@ -152,10 +156,20 @@ export type IncomingTaskComponentProps = Pick<TaskProps, 'accept' | 'reject' | '
|
|
|
152
156
|
};
|
|
153
157
|
isDeclineButtonEnabled?: boolean;
|
|
154
158
|
isBrowser?: boolean;
|
|
159
|
+
offerActionError?: WxAppTelephonyErrorDisplay | null;
|
|
160
|
+
clearOfferActionError?: () => void;
|
|
161
|
+
};
|
|
162
|
+
export type WxAppTelephonyErrorDisplay = {
|
|
163
|
+
message: string;
|
|
164
|
+
trackingId?: string;
|
|
165
|
+
status?: number | string;
|
|
166
|
+
isWxAppTelephonyError: boolean;
|
|
155
167
|
};
|
|
156
168
|
export type TaskListComponentProps = Pick<TaskProps, 'acceptTask' | 'declineTask' | 'onTaskSelect' | 'logger' | 'agentId' | 'cc'> & Partial<Pick<TaskProps, 'currentTask' | 'taskList' | 'hasCampaignPreviewEnabled' | 'acceptedCampaignIds'>> & {
|
|
157
169
|
isDeclineButtonEnabled?: boolean;
|
|
158
170
|
isBrowser?: boolean;
|
|
171
|
+
taskActionErrors?: Record<string, WxAppTelephonyErrorDisplay | null>;
|
|
172
|
+
clearTaskActionError?: (interactionId: string) => void;
|
|
159
173
|
};
|
|
160
174
|
export interface RealTimeTranscriptEntry {
|
|
161
175
|
id: string;
|
|
@@ -254,6 +268,10 @@ export interface ControlProps {
|
|
|
254
268
|
* Function to handle mute/unmute actions.
|
|
255
269
|
*/
|
|
256
270
|
toggleMute: () => void;
|
|
271
|
+
/**
|
|
272
|
+
* Sends a DTMF tone on wxApp engaged telephony calls.
|
|
273
|
+
*/
|
|
274
|
+
sendDtmf?: (digit: string) => void;
|
|
257
275
|
/**
|
|
258
276
|
* Function to handle ending the call.
|
|
259
277
|
*/
|
|
@@ -419,6 +437,22 @@ export interface ControlProps {
|
|
|
419
437
|
* List of participants in the conference excluding the agent themselves.
|
|
420
438
|
*/
|
|
421
439
|
conferenceParticipants: Participant[];
|
|
440
|
+
/** Owner-aware conference roster used by the CallControlCAD Drop menu. */
|
|
441
|
+
conferenceParticipantDropRoster: ConferenceParticipantDropRoster | null;
|
|
442
|
+
/** Drop target currently waiting for routing-event completion. */
|
|
443
|
+
pendingParticipantDropId: string | null;
|
|
444
|
+
/** Generic screen-reader and visible feedback for the most recent Drop request. */
|
|
445
|
+
participantDropAnnouncement: ParticipantDropAnnouncement | null;
|
|
446
|
+
/** Customer target currently awaiting explicit confirmation. */
|
|
447
|
+
participantDropConfirmationTarget: ConferenceParticipantDropTarget | null;
|
|
448
|
+
/** Whether the current Customer confirmation action is unavailable. */
|
|
449
|
+
participantDropConfirmationDisabled: boolean;
|
|
450
|
+
/** Validates a Drop target, opening confirmation for Customer or invoking Drop immediately. */
|
|
451
|
+
requestParticipantDrop: (target: ConferenceParticipantDropTarget) => Promise<void>;
|
|
452
|
+
/** Confirms and invokes the currently selected Customer Drop. */
|
|
453
|
+
confirmParticipantDrop: () => Promise<void>;
|
|
454
|
+
/** Cancels the currently selected Customer Drop. */
|
|
455
|
+
cancelParticipantDropConfirmation: () => void;
|
|
422
456
|
/** Fetch paginated address book entries for dial numbers */
|
|
423
457
|
getAddressBookEntries?: FetchPaginatedList<AddressBookEntry>;
|
|
424
458
|
/** Fetch paginated entry points */
|
|
@@ -433,14 +467,32 @@ export interface ControlProps {
|
|
|
433
467
|
* Agent ID of the logged-in user
|
|
434
468
|
*/
|
|
435
469
|
agentId: string;
|
|
470
|
+
/**
|
|
471
|
+
* Host init flag `enableWxBetterTogether` (`webexConfig.cc.enableWxBetterTogether`) for wxApp
|
|
472
|
+
* thick-client main-bar Mute/Keypad visibility gating and wxApp mute seed gate.
|
|
473
|
+
*/
|
|
474
|
+
enableWxBetterTogether?: boolean;
|
|
475
|
+
/**
|
|
476
|
+
* Logged-in agent device type (BROWSER, EXTENSION, AGENT_DN) for Extension-only ghost control suppression.
|
|
477
|
+
*/
|
|
478
|
+
agentDeviceType?: string;
|
|
436
479
|
}
|
|
437
|
-
export type CallControlComponentProps = Pick<ControlProps, 'currentTask' | 'isHeld' | 'wrapupCodes' | 'toggleHold' | 'toggleRecording' | 'toggleMute' | 'isMuted' | 'endCall' | 'wrapupCall' | 'isRecording' | 'setIsRecording' | 'buddyAgents' | 'loadingBuddyAgents' | 'loadBuddyAgents' | 'transferCall' | 'consultCall' | 'consultConference' | 'switchToMainCall' | 'switchToConsult' | 'exitConference' | 'endConsultCall' | 'consultTransfer' | 'callControlAudio' | 'consultAgentName' | 'setConsultAgentName' | 'holdTime' | 'callControlClassName' | 'callControlConsultClassName' | 'startTimestamp' | 'stateTimerLabel' | 'stateTimerTimestamp' | 'consultTimerLabel' | 'consultTimerTimestamp' | 'allowConsultToQueue' | 'lastTargetType' | 'setLastTargetType' | 'controls' | 'logger' | 'secondsUntilAutoWrapup' | 'cancelAutoWrapup' | 'conferenceParticipants' | 'getAddressBookEntries' | 'getEntryPoints' | 'getQueuesFetcher' | 'consultTransferOptions' | 'conferenceEnabled'> & {
|
|
480
|
+
export type CallControlComponentProps = Pick<ControlProps, 'currentTask' | 'isHeld' | 'wrapupCodes' | 'toggleHold' | 'toggleRecording' | 'toggleMute' | 'sendDtmf' | 'isMuted' | 'endCall' | 'wrapupCall' | 'isRecording' | 'setIsRecording' | 'buddyAgents' | 'loadingBuddyAgents' | 'loadBuddyAgents' | 'transferCall' | 'consultCall' | 'consultConference' | 'switchToMainCall' | 'switchToConsult' | 'exitConference' | 'endConsultCall' | 'consultTransfer' | 'callControlAudio' | 'consultAgentName' | 'setConsultAgentName' | 'holdTime' | 'callControlClassName' | 'callControlConsultClassName' | 'startTimestamp' | 'stateTimerLabel' | 'stateTimerTimestamp' | 'consultTimerLabel' | 'consultTimerTimestamp' | 'allowConsultToQueue' | 'lastTargetType' | 'setLastTargetType' | 'controls' | 'logger' | 'secondsUntilAutoWrapup' | 'cancelAutoWrapup' | 'conferenceParticipants' | 'getAddressBookEntries' | 'getEntryPoints' | 'getQueuesFetcher' | 'consultTransferOptions' | 'conferenceEnabled'> & Partial<Pick<ControlProps, 'conferenceParticipantDropRoster' | 'pendingParticipantDropId' | 'participantDropAnnouncement' | 'participantDropConfirmationTarget' | 'participantDropConfirmationDisabled' | 'requestParticipantDrop' | 'confirmParticipantDrop' | 'cancelParticipantDropConfirmation'>> & {
|
|
438
481
|
/**
|
|
439
482
|
* Whether the current task is an accepted campaign preview call.
|
|
440
483
|
* When `true`, the header renders the campaign icon and
|
|
441
484
|
* "Campaign call" label instead of the standard media type.
|
|
442
485
|
*/
|
|
443
486
|
isCampaignCall?: boolean;
|
|
487
|
+
/**
|
|
488
|
+
* Host init flag `enableWxBetterTogether` (`webexConfig.cc.enableWxBetterTogether`) for wxApp
|
|
489
|
+
* thick-client main-bar Mute/Keypad visibility gating and wxApp mute seed gate.
|
|
490
|
+
*/
|
|
491
|
+
enableWxBetterTogether?: boolean;
|
|
492
|
+
/**
|
|
493
|
+
* Logged-in agent device type for Extension-only ghost control suppression.
|
|
494
|
+
*/
|
|
495
|
+
agentDeviceType?: string;
|
|
444
496
|
};
|
|
445
497
|
export type OutdialAniEntry = {
|
|
446
498
|
/** Unique identifier for the ANI entry */
|
|
@@ -554,11 +606,13 @@ export interface CallControlConsultComponentsProps {
|
|
|
554
606
|
controls: TaskUIControls;
|
|
555
607
|
toggleConsultMute: () => void;
|
|
556
608
|
conferenceEnabled: boolean;
|
|
609
|
+
enableWxBetterTogether?: boolean;
|
|
610
|
+
currentTask?: ITask | null;
|
|
557
611
|
}
|
|
558
612
|
/**
|
|
559
613
|
* Type representing the possible menu types in call control.
|
|
560
614
|
*/
|
|
561
|
-
export type CallControlMenuType = 'Consult' | 'Transfer' | 'ExitConference';
|
|
615
|
+
export type CallControlMenuType = 'Consult' | 'Transfer' | 'ExitConference' | 'Keypad';
|
|
562
616
|
export declare const MEDIA_CHANNEL: {
|
|
563
617
|
readonly EMAIL: "email";
|
|
564
618
|
readonly CHAT: "chat";
|
package/dist/types/index.d.ts
CHANGED
|
@@ -11,7 +11,9 @@ import CampaignTaskComponent from './components/task/CampaignTask/campaign-task'
|
|
|
11
11
|
import RealTimeTranscriptComponent from './components/task/RealTimeTranscript/real-time-transcript';
|
|
12
12
|
import E911Modal from './components/StationLogin/E911Modal/e911-modal';
|
|
13
13
|
import AIAssistantComponent from './components/AIAssistant/ai-assistant';
|
|
14
|
-
|
|
14
|
+
import TelephonyActionToast from './components/task/TelephonyActionToast/telephony-action-toast';
|
|
15
|
+
import WxAppOfferActionError from './components/task/WxAppOfferActionError/wxapp-offer-action-error';
|
|
16
|
+
export { UserStateComponent, StationLoginComponent, CallControlComponent, CallControlCADComponent, IncomingTaskComponent, TaskListComponent, OutdialCallComponent, CampaignErrorDialogComponent, CampaignCountdownComponent, CampaignTaskComponent, RealTimeTranscriptComponent, E911Modal, AIAssistantComponent, TelephonyActionToast, WxAppOfferActionError, };
|
|
15
17
|
export * from './components/StationLogin/constants';
|
|
16
18
|
export * from './components/StationLogin/E911Modal/e911-modal.types';
|
|
17
19
|
export * from './components/StationLogin/station-login.types';
|
|
@@ -20,3 +22,4 @@ export * from './components/task/task.types';
|
|
|
20
22
|
export * from './components/task/CampaignErrorDialog/campaign-error-dialog.types';
|
|
21
23
|
export * from './components/task/CampaignCountdown/campaign-countdown.types';
|
|
22
24
|
export * from './components/AIAssistant/ai-assistant.types';
|
|
25
|
+
export { isWxAppEngagedCall, shouldShowWxAppTelephonyControls } from './utils/wxapp-telephony.utils';
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { MediaInfo } from '../components/task/task.types';
|
|
2
2
|
import type { MEDIA_CHANNEL as MediaChannelType } from '../components/task/task.types';
|
|
3
|
+
export { isWxAppEngagedCall, shouldShowWxAppTelephonyControls } from './wxapp-telephony.utils';
|
|
3
4
|
export declare const formatTime: (time: number) => string;
|
|
4
5
|
/**
|
|
5
6
|
* Returns media information (icon, class, label, and brand visual flag)
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ITask } from '@webex/cc-store';
|
|
2
|
+
/**
|
|
3
|
+
* Returns true when the task represents an active wxApp thick-client telephony session.
|
|
4
|
+
* Visibility gate only — does not route mute or DTMF SDK calls.
|
|
5
|
+
*/
|
|
6
|
+
export declare const isWxAppEngagedCall: (task: ITask | null | undefined) => boolean;
|
|
7
|
+
/**
|
|
8
|
+
* Thick-client main-bar Mute/Keypad visibility gate.
|
|
9
|
+
* Requires `enableWxBetterTogether` (host init flag at `webexConfig.cc.enableWxBetterTogether`)
|
|
10
|
+
* and an engaged wxApp call id on the task.
|
|
11
|
+
*/
|
|
12
|
+
export declare const shouldShowWxAppTelephonyControls: (enableWxBetterTogether: boolean, task: ITask | null | undefined) => boolean;
|