@webex/cc-components 1.28.0-next.32 → 1.28.0-next.33
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 +184 -184
- package/dist/types/components/task/CampaignErrorDialog/campaign-error-dialog.types.d.ts +1 -1
- package/dist/types/components/task/CampaignTask/CampaignTaskListItem/campaign-task-list-item.d.ts +10 -0
- package/dist/types/components/task/CampaignTask/CampaignTaskPopover/campaign-task-popover.d.ts +5 -0
- package/dist/types/components/task/CampaignTask/campaign-task.d.ts +3 -0
- package/dist/types/components/task/GlobalVariablesPanel/global-variables-panel.d.ts +14 -0
- package/dist/types/components/task/TaskList/task-list.utils.d.ts +35 -1
- package/dist/types/components/task/constants.d.ts +13 -0
- package/dist/types/components/task/task.types.d.ts +222 -2
- package/dist/types/index.d.ts +2 -1
- package/dist/wc.js +190 -190
- package/package.json +4 -4
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type CampaignErrorType = 'ACCEPT_FAILED' | 'SKIP_FAILED' | 'REMOVE_FAILED';
|
|
1
|
+
export type CampaignErrorType = 'ACCEPT_FAILED' | 'SKIP_FAILED' | 'REMOVE_FAILED' | 'CANCEL_FAILED';
|
|
2
2
|
export interface CampaignErrorDialogProps {
|
|
3
3
|
errorType: CampaignErrorType;
|
|
4
4
|
isOpen: boolean;
|
package/dist/types/components/task/CampaignTask/CampaignTaskListItem/campaign-task-list-item.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { CampaignTaskListItemProps } from '../../task.types';
|
|
3
|
+
/**
|
|
4
|
+
* CampaignTaskListItem renders the ListItem row shared between the
|
|
5
|
+
* CampaignTask inline card and the CampaignTaskPopover.
|
|
6
|
+
*
|
|
7
|
+
* Layout: Avatar | Title / Phone / Countdown | Accept + Skip/Remove buttons
|
|
8
|
+
*/
|
|
9
|
+
declare const CampaignTaskListItem: React.FC<CampaignTaskListItemProps>;
|
|
10
|
+
export default CampaignTaskListItem;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { GlobalVariablesPanelProps } from '../task.types';
|
|
3
|
+
import './global-variables-panel.style.scss';
|
|
4
|
+
/**
|
|
5
|
+
* GlobalVariablesPanel renders agent-viewable global variables in a scrollable
|
|
6
|
+
* glass overlay panel. Used by CampaignTask (inline card),
|
|
7
|
+
* CampaignTaskPopover (hover popover), and CallControlCAD.
|
|
8
|
+
*
|
|
9
|
+
* Supports two layout modes:
|
|
10
|
+
* - `single-column` (default) — one variable per row
|
|
11
|
+
* - `two-column` — two variables per row (matching the Figma popover design)
|
|
12
|
+
*/
|
|
13
|
+
declare const GlobalVariablesPanel: React.FC<GlobalVariablesPanelProps>;
|
|
14
|
+
export default GlobalVariablesPanel;
|
|
@@ -1,5 +1,39 @@
|
|
|
1
|
-
import { TaskListItemData } from '../task.types';
|
|
1
|
+
import { TaskListItemData, CampaignCallProcessingDetails } from '../task.types';
|
|
2
2
|
import { ILogger, ITask } from '@webex/cc-store';
|
|
3
|
+
/**
|
|
4
|
+
* Extract the agent's joinTimestamp from the task participants.
|
|
5
|
+
* Looks up the agent by `agentId` so that we always read the correct
|
|
6
|
+
* participant even when multiple participants have joined.
|
|
7
|
+
* Returns `undefined` when the agent hasn't joined yet.
|
|
8
|
+
*/
|
|
9
|
+
export declare const getAgentJoinTimestamp: (task: ITask, agentId?: string) => number | undefined;
|
|
10
|
+
/**
|
|
11
|
+
* Safely extracts campaign-specific call processing details from a task.
|
|
12
|
+
* Returns an empty object when `cpd` is undefined.
|
|
13
|
+
*/
|
|
14
|
+
export declare const getCampaignCpd: (cpd: Record<string, unknown> | undefined) => CampaignCallProcessingDetails;
|
|
15
|
+
/**
|
|
16
|
+
* Determines whether a task is a campaign preview interaction.
|
|
17
|
+
*
|
|
18
|
+
* Consistent with the agent desktop logic that checks both
|
|
19
|
+
* `interaction.outboundType` and `callProcessingDetails.campaignType`.
|
|
20
|
+
*/
|
|
21
|
+
export declare const isCampaignPreviewTask: (task: ITask) => boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Determines whether the agent has joined the interaction.
|
|
24
|
+
*
|
|
25
|
+
* Matches the agent desktop logic:
|
|
26
|
+
* `taskMap[id]?.interaction.participants[agentId]?.hasJoined`
|
|
27
|
+
*
|
|
28
|
+
* The SDK types `participants` as `any`; at runtime it is
|
|
29
|
+
* `Record<string, { hasJoined?: boolean; ... }>`.
|
|
30
|
+
*/
|
|
31
|
+
export declare const hasAgentJoinedTask: (task: ITask, agentId: string | undefined) => boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Returns the interactionId of the most recent active campaign preview task
|
|
34
|
+
* that the agent has joined. Only one campaign preview should be visible at a time.
|
|
35
|
+
*/
|
|
36
|
+
export declare const getActiveCampaignPreviewId: (tasks: ITask[], agentId: string | undefined) => string | null;
|
|
3
37
|
/**
|
|
4
38
|
* Extracts and processes data from a task for rendering in the task list
|
|
5
39
|
* @param task - The task object
|
|
@@ -34,3 +34,16 @@ export declare const PHONE_NUMBER = "Phone Number:";
|
|
|
34
34
|
export declare const CUSTOMER_NAME = "Customer Name";
|
|
35
35
|
export declare const RONA = "RONA:";
|
|
36
36
|
export declare const TIME_LEFT = "Time left:";
|
|
37
|
+
export declare const CAMPAIGN_ACCEPT = "Accept";
|
|
38
|
+
export declare const CAMPAIGN_CONNECTING = "Connecting...";
|
|
39
|
+
export declare const CAMPAIGN_SKIP = "Skip";
|
|
40
|
+
export declare const CAMPAIGN_SKIP_TOOLTIP = "Skip this contact";
|
|
41
|
+
export declare const CAMPAIGN_SKIP_DISABLED_TOOLTIP = "Can't skip this contact";
|
|
42
|
+
export declare const CAMPAIGN_REMOVE = "Remove";
|
|
43
|
+
export declare const CAMPAIGN_REMOVE_TOOLTIP = "Remove this contact";
|
|
44
|
+
export declare const CAMPAIGN_REMOVE_DISABLED_TOOLTIP = "Can't remove this contact";
|
|
45
|
+
export declare const CAMPAIGN_TASK_REGION_LABEL = "Campaign preview contact";
|
|
46
|
+
export declare const GLOBAL_VARIABLES_LABEL = "Contact details";
|
|
47
|
+
export declare const CAMPAIGN_ACTIONS_LABEL = "Campaign actions";
|
|
48
|
+
export declare const HANDLE_TIME = "Handle Time:";
|
|
49
|
+
export declare const CAMPAIGN_CALL = "Campaign call";
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ILogger, ITask, IContactCenter, IWrapupCode, BuddyDetails, DestinationType, ContactServiceQueue, AddressBookEntry, EntryPointRecord, FetchPaginatedList, Participant, AddressBookEntrySearchParams, AddressBookEntriesResponse } from '@webex/cc-store';
|
|
2
|
+
import { CampaignErrorType } from './CampaignErrorDialog/campaign-error-dialog.types';
|
|
2
3
|
type Enum<T extends Record<string, unknown>> = T[keyof T];
|
|
3
4
|
/**
|
|
4
5
|
* Represents a single Call Associated Data (CAD) variable on an interaction.
|
|
@@ -134,9 +135,22 @@ export interface TaskProps {
|
|
|
134
135
|
* Flag to enable decline button on incoming task component
|
|
135
136
|
*/
|
|
136
137
|
isDeclineButtonEnabled?: boolean;
|
|
138
|
+
/**
|
|
139
|
+
* Flag to enable campaign preview task rendering.
|
|
140
|
+
* When true and the task is a campaign preview interaction,
|
|
141
|
+
* the CampaignTask component is rendered instead of the normal Task.
|
|
142
|
+
* Defaults to true.
|
|
143
|
+
*/
|
|
144
|
+
hasCampaignPreviewEnabled?: boolean;
|
|
145
|
+
/**
|
|
146
|
+
* Set of interaction IDs for campaign previews that have been accepted.
|
|
147
|
+
* Managed by the store — survives component remounts caused by
|
|
148
|
+
* transient task-list updates during the accept transition.
|
|
149
|
+
*/
|
|
150
|
+
acceptedCampaignIds?: Set<string>;
|
|
137
151
|
}
|
|
138
152
|
export type IncomingTaskComponentProps = Pick<TaskProps, 'isBrowser' | 'accept' | 'reject' | 'logger'> & Partial<Pick<TaskProps, 'incomingTask' | 'isDeclineButtonEnabled'>>;
|
|
139
|
-
export type TaskListComponentProps = Pick<TaskProps, 'isBrowser' | 'acceptTask' | 'declineTask' | 'onTaskSelect' | 'logger' | 'agentId'> & Partial<Pick<TaskProps, 'currentTask' | 'taskList'>>;
|
|
153
|
+
export type TaskListComponentProps = Pick<TaskProps, 'isBrowser' | 'acceptTask' | 'declineTask' | 'onTaskSelect' | 'logger' | 'agentId' | 'cc'> & Partial<Pick<TaskProps, 'currentTask' | 'taskList' | 'hasCampaignPreviewEnabled' | 'acceptedCampaignIds'>>;
|
|
140
154
|
export interface RealTimeTranscriptEntry {
|
|
141
155
|
id: string;
|
|
142
156
|
speaker: string;
|
|
@@ -424,7 +438,14 @@ export interface ControlProps {
|
|
|
424
438
|
*/
|
|
425
439
|
agentId: string;
|
|
426
440
|
}
|
|
427
|
-
export type CallControlComponentProps = Pick<ControlProps, 'currentTask' | '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' | 'controlVisibility' | 'logger' | 'secondsUntilAutoWrapup' | 'cancelAutoWrapup' | 'conferenceParticipants' | 'getAddressBookEntries' | 'getEntryPoints' | 'getQueuesFetcher' | 'consultTransferOptions'
|
|
441
|
+
export type CallControlComponentProps = Pick<ControlProps, 'currentTask' | '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' | 'controlVisibility' | 'logger' | 'secondsUntilAutoWrapup' | 'cancelAutoWrapup' | 'conferenceParticipants' | 'getAddressBookEntries' | 'getEntryPoints' | 'getQueuesFetcher' | 'consultTransferOptions'> & {
|
|
442
|
+
/**
|
|
443
|
+
* Whether the current task is an accepted campaign preview call.
|
|
444
|
+
* When `true`, the header renders the campaign icon and
|
|
445
|
+
* "Campaign call" label instead of the standard media type.
|
|
446
|
+
*/
|
|
447
|
+
isCampaignCall?: boolean;
|
|
448
|
+
};
|
|
428
449
|
export type OutdialAniEntry = {
|
|
429
450
|
/** Unique identifier for the ANI entry */
|
|
430
451
|
id: string;
|
|
@@ -724,4 +745,203 @@ export interface ButtonConfig {
|
|
|
724
745
|
disabled?: boolean;
|
|
725
746
|
isVisible: boolean;
|
|
726
747
|
}
|
|
748
|
+
/**
|
|
749
|
+
* Properties for the GlobalVariablesPanel component.
|
|
750
|
+
*/
|
|
751
|
+
export interface GlobalVariablesPanelProps {
|
|
752
|
+
/**
|
|
753
|
+
* List of agent-viewable global variables to display.
|
|
754
|
+
*/
|
|
755
|
+
variables: CADVariable[];
|
|
756
|
+
/**
|
|
757
|
+
* Optional CSS class name for additional styling.
|
|
758
|
+
*/
|
|
759
|
+
className?: string;
|
|
760
|
+
/**
|
|
761
|
+
* Layout mode for the variables grid.
|
|
762
|
+
* - `single-column`: one variable per row (used in the inline card)
|
|
763
|
+
* - `two-column`: two variables per row (used in the popover)
|
|
764
|
+
* @default 'single-column'
|
|
765
|
+
*/
|
|
766
|
+
layout?: 'single-column' | 'two-column';
|
|
767
|
+
/**
|
|
768
|
+
* CSS background value for the panel container.
|
|
769
|
+
* @default 'var(--mds-color-theme-background-glass-normal)'
|
|
770
|
+
*/
|
|
771
|
+
panelBackground?: string;
|
|
772
|
+
}
|
|
773
|
+
/**
|
|
774
|
+
* Auto-action to perform when the campaign preview offer times out.
|
|
775
|
+
* Matches the values from callProcessingDetails.campaignPreviewAutoAction.
|
|
776
|
+
*/
|
|
777
|
+
export type CampaignAutoAction = 'ACCEPT' | 'SKIP' | 'REMOVE';
|
|
778
|
+
/**
|
|
779
|
+
* Maps a CampaignAutoAction to the corresponding CampaignErrorType
|
|
780
|
+
* used when the auto-action or manual action fails.
|
|
781
|
+
*/
|
|
782
|
+
export declare const CAMPAIGN_ACTION_ERROR_MAP: Record<CampaignAutoAction, CampaignErrorType>;
|
|
783
|
+
/**
|
|
784
|
+
* Keys of CAMPAIGN_ACTION_ERROR_MAP — used to type the error handler in CampaignTask.
|
|
785
|
+
*/
|
|
786
|
+
export type CampaignErrorActionType = keyof typeof CAMPAIGN_ACTION_ERROR_MAP;
|
|
787
|
+
/**
|
|
788
|
+
* Campaign-specific fields on `callProcessingDetails`.
|
|
789
|
+
*
|
|
790
|
+
* These fields are present at runtime on campaign preview reservation
|
|
791
|
+
* events but are not yet part of the installed SDK type definitions.
|
|
792
|
+
* This bridge type can be removed once the SDK package is updated.
|
|
793
|
+
*/
|
|
794
|
+
export interface CampaignCallProcessingDetails {
|
|
795
|
+
/** Campaign name (not UUID) */
|
|
796
|
+
campaignId?: string;
|
|
797
|
+
/** Campaign type (e.g. 'preview_standard', 'preview_direct') */
|
|
798
|
+
campaignType?: string;
|
|
799
|
+
/** Indicates if the skip action is disabled for campaign preview contacts */
|
|
800
|
+
campaignPreviewSkipDisabled?: string;
|
|
801
|
+
/** Indicates if the remove action is disabled for campaign preview contacts */
|
|
802
|
+
campaignPreviewRemoveDisabled?: string;
|
|
803
|
+
/** Auto-action to perform when campaign preview offer times out (ACCEPT, SKIP, REMOVE) */
|
|
804
|
+
campaignPreviewAutoAction?: string;
|
|
805
|
+
/** Timestamp (ms) when the campaign preview offer expires */
|
|
806
|
+
campaignPreviewOfferTimeout?: string;
|
|
807
|
+
}
|
|
808
|
+
/**
|
|
809
|
+
* Properties for the CampaignTask component.
|
|
810
|
+
*
|
|
811
|
+
* The component renders campaign preview contact details, action buttons
|
|
812
|
+
* (Accept / Skip / Remove), a countdown timer, and an error dialog.
|
|
813
|
+
* When the countdown expires the configured auto-action is triggered.
|
|
814
|
+
*
|
|
815
|
+
* Following the pattern used by the Task component, SDK operations are
|
|
816
|
+
* passed in as callback props rather than passing the cc instance directly.
|
|
817
|
+
*/
|
|
818
|
+
export interface CampaignTaskProps {
|
|
819
|
+
/**
|
|
820
|
+
* The campaign preview task (AgentOfferCampaignReservation).
|
|
821
|
+
* Campaign metadata is read from `task.data.interaction.callProcessingDetails`.
|
|
822
|
+
*/
|
|
823
|
+
task: ITask;
|
|
824
|
+
/**
|
|
825
|
+
* Accepts the campaign preview contact and initiates the outbound call.
|
|
826
|
+
* Wraps `cc.acceptPreviewContact({ interactionId, campaignId })`.
|
|
827
|
+
*/
|
|
828
|
+
acceptPreviewContact: () => Promise<void>;
|
|
829
|
+
/**
|
|
830
|
+
* Skips the campaign preview contact and moves to the next one.
|
|
831
|
+
* Wraps `cc.skipPreviewContact({ interactionId, campaignId })`.
|
|
832
|
+
*/
|
|
833
|
+
skipPreviewContact: () => Promise<void>;
|
|
834
|
+
/**
|
|
835
|
+
* Removes the campaign preview contact from the campaign list.
|
|
836
|
+
* Wraps `cc.removePreviewContact({ interactionId, campaignId })`.
|
|
837
|
+
*/
|
|
838
|
+
removePreviewContact: () => Promise<void>;
|
|
839
|
+
/**
|
|
840
|
+
* Cancels the campaign preview call by ending the task.
|
|
841
|
+
* Wraps `task.end()`.
|
|
842
|
+
*/
|
|
843
|
+
cancelPreviewContact: () => Promise<void>;
|
|
844
|
+
/**
|
|
845
|
+
* Whether the agent is logged in with a Browser (WebRTC) device.
|
|
846
|
+
* When true the Cancel button is rendered so the agent can end the
|
|
847
|
+
* WebRTC call. For AGENT_DN the phone handles hangup, so the Cancel
|
|
848
|
+
* button is hidden — consistent with Agent Desktop behaviour.
|
|
849
|
+
*/
|
|
850
|
+
isBrowser?: boolean;
|
|
851
|
+
/**
|
|
852
|
+
* Logger instance for logging purposes.
|
|
853
|
+
*/
|
|
854
|
+
logger?: ILogger;
|
|
855
|
+
/**
|
|
856
|
+
* Whether this campaign preview has been accepted.
|
|
857
|
+
* Driven by the store's `acceptedCampaignIds` set — survives component
|
|
858
|
+
* remounts caused by transient task-list updates during the accept
|
|
859
|
+
* transition. When `true`, action buttons and countdown are hidden
|
|
860
|
+
* and the handle-time timer is shown instead.
|
|
861
|
+
*/
|
|
862
|
+
isAccepted?: boolean;
|
|
863
|
+
/**
|
|
864
|
+
* The logged-in agent's ID. Used to look up the agent's participant
|
|
865
|
+
* entry when reading `joinTimestamp` for the handle-time timer.
|
|
866
|
+
*/
|
|
867
|
+
agentId?: string;
|
|
868
|
+
}
|
|
869
|
+
/**
|
|
870
|
+
* Properties for the CampaignTaskPopover component.
|
|
871
|
+
*
|
|
872
|
+
* Displays a hover popover over the campaign preview task with the
|
|
873
|
+
* ListItem row (avatar, title, phone, countdown, action buttons)
|
|
874
|
+
* and a two-column scrollable data panel of global variables.
|
|
875
|
+
*/
|
|
876
|
+
export interface CampaignTaskPopoverProps {
|
|
877
|
+
/** The campaign preview task. */
|
|
878
|
+
task: ITask;
|
|
879
|
+
/** Logger instance for logging purposes. */
|
|
880
|
+
logger?: ILogger;
|
|
881
|
+
/** ID of the trigger element that opens the popover on hover. */
|
|
882
|
+
triggerId: string;
|
|
883
|
+
/** Whether the Accept button has been clicked (shows "Connecting..." state). */
|
|
884
|
+
isAcceptClicked: boolean;
|
|
885
|
+
/** Whether the campaign preview has been accepted by the backend (call controls visible). */
|
|
886
|
+
isAccepted: boolean;
|
|
887
|
+
/** Whether the Accept button is disabled. */
|
|
888
|
+
isAcceptDisabled: boolean;
|
|
889
|
+
/** Whether the Skip button is disabled. */
|
|
890
|
+
isSkipDisabled: boolean;
|
|
891
|
+
/** Whether the Remove button is disabled. */
|
|
892
|
+
isRemoveDisabled: boolean;
|
|
893
|
+
/** Handler for Accept button click. */
|
|
894
|
+
onAccept: () => void;
|
|
895
|
+
/** Handler for Skip button click. */
|
|
896
|
+
onSkip: () => void;
|
|
897
|
+
/** Handler for Remove button click. */
|
|
898
|
+
onRemove: () => void;
|
|
899
|
+
/** Handler for countdown timeout. */
|
|
900
|
+
onTimeout: () => void;
|
|
901
|
+
/** Timestamp (ms) when the campaign call was accepted — used for the handle time timer. */
|
|
902
|
+
handleTimestamp?: number;
|
|
903
|
+
}
|
|
904
|
+
/**
|
|
905
|
+
* Properties for the CampaignTaskListItem component.
|
|
906
|
+
*
|
|
907
|
+
* Renders the ListItem row shared between the CampaignTask card
|
|
908
|
+
* and CampaignTaskPopover: avatar, title, phone, countdown, and
|
|
909
|
+
* Accept / Skip / Remove action buttons.
|
|
910
|
+
*/
|
|
911
|
+
export interface CampaignTaskListItemProps {
|
|
912
|
+
/** Display title (customer name or caller identifier). */
|
|
913
|
+
title: string;
|
|
914
|
+
/** Phone number to show as secondary label. */
|
|
915
|
+
phoneNumber?: string;
|
|
916
|
+
/** Customer name — used to decide whether to show phone as secondary label. */
|
|
917
|
+
customerName?: string;
|
|
918
|
+
/** Campaign preview offer timeout timestamp (ms string). */
|
|
919
|
+
timeoutTimestamp?: string;
|
|
920
|
+
/** Whether the Accept button has been clicked (shows "Connecting..." state). */
|
|
921
|
+
isAcceptClicked: boolean;
|
|
922
|
+
/** Whether the campaign preview has been accepted by the backend (call controls visible). */
|
|
923
|
+
isAccepted: boolean;
|
|
924
|
+
/** Whether the Accept button is disabled. */
|
|
925
|
+
isAcceptDisabled: boolean;
|
|
926
|
+
/** Whether the Skip button is disabled. */
|
|
927
|
+
isSkipDisabled: boolean;
|
|
928
|
+
/** Whether the Remove button is disabled. */
|
|
929
|
+
isRemoveDisabled: boolean;
|
|
930
|
+
/** Handler for Accept button click. */
|
|
931
|
+
onAccept: () => void;
|
|
932
|
+
/** Handler for Skip button click. */
|
|
933
|
+
onSkip: () => void;
|
|
934
|
+
/** Handler for Remove button click. */
|
|
935
|
+
onRemove: () => void;
|
|
936
|
+
/** Handler for countdown timeout. */
|
|
937
|
+
onTimeout: () => void;
|
|
938
|
+
/** Timestamp (ms) when the campaign call was accepted — used for the handle time timer. */
|
|
939
|
+
handleTimestamp?: number;
|
|
940
|
+
/** Logger instance. */
|
|
941
|
+
logger?: ILogger;
|
|
942
|
+
/** Optional CSS class name applied to the ListItem. */
|
|
943
|
+
className?: string;
|
|
944
|
+
/** Optional test ID prefix for data-testid attributes. */
|
|
945
|
+
testIdPrefix?: string;
|
|
946
|
+
}
|
|
727
947
|
export {};
|
package/dist/types/index.d.ts
CHANGED
|
@@ -7,8 +7,9 @@ import TaskListComponent from './components/task/TaskList/task-list';
|
|
|
7
7
|
import OutdialCallComponent from './components/task/OutdialCall/outdial-call';
|
|
8
8
|
import CampaignErrorDialogComponent from './components/task/CampaignErrorDialog/campaign-error-dialog';
|
|
9
9
|
import CampaignCountdownComponent from './components/task/CampaignCountdown/campaign-countdown';
|
|
10
|
+
import CampaignTaskComponent from './components/task/CampaignTask/campaign-task';
|
|
10
11
|
import RealTimeTranscriptComponent from './components/task/RealTimeTranscript/real-time-transcript';
|
|
11
|
-
export { UserStateComponent, StationLoginComponent, CallControlComponent, CallControlCADComponent, IncomingTaskComponent, TaskListComponent, OutdialCallComponent, CampaignErrorDialogComponent, CampaignCountdownComponent, RealTimeTranscriptComponent, };
|
|
12
|
+
export { UserStateComponent, StationLoginComponent, CallControlComponent, CallControlCADComponent, IncomingTaskComponent, TaskListComponent, OutdialCallComponent, CampaignErrorDialogComponent, CampaignCountdownComponent, CampaignTaskComponent, RealTimeTranscriptComponent, };
|
|
12
13
|
export * from './components/StationLogin/constants';
|
|
13
14
|
export * from './components/StationLogin/station-login.types';
|
|
14
15
|
export * from './components/UserState/user-state.types';
|